设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10115|回复: 3

[求助] Repast建模时,怎么在一个网格里面放多个对象?

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
: g# e7 n& K, O' {: O2 i1 [ private boolean findPotentialPartner(){
2 y0 V% i* b7 T! e% c  boolean value = false;4 W9 S% ~1 H& T; M# e6 |* l
  
1 H0 k& t4 v2 l- c+ s5 ?* K1 f+ `: T  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
+ @+ ~- o, U7 t3 r5 a" A8 J  Iterator iterator = grid.getIteratorAt(x, y);% c3 t" ]* i* o9 G$ \# N/ K0 g2 S
  SexAgent ag1 = null;  
8 {; g$ R1 T. R3 R. R- s9 r7 g  SexAgent [] potenAgent = new SexAgent[20];, k0 t' P0 B" h- E" b- L  q1 C
  int goodNumber = 0;
: Z6 m- H0 ~" O& W7 J" o* s  while(iterator.hasNext()){
) ~. n& d' a4 f( n   System.out.println("XXXXXXXXXXXXXXXXXXXXX");! U& A8 e1 |, i' _) V
   ag1 = (SexAgent)iterator.next();
+ m: C6 {' {8 V& y# y   if((ag1.sex == FEMALE) " \; b% U$ v# N6 E% V
     &&(!ag1.isCoupled())){1 u% e! i: \7 L
    System.out.println("YYYYYYYYYYYYYYYYYYYY");% H% F2 i7 p1 `+ b! P
    potenAgent[goodNumber] = ag1;# O* W2 b; ?$ _, o) L& }* S. e# t
    goodNumber ++;1 Q% s( v4 g7 B$ X& g! L
   }
6 z, I) O$ A: [) L4 W- G  }1 [- z2 t! f+ P8 X3 Z/ F
  # ?; u' |, F) `0 ]/ U. f- ?2 _1 |- P( q" [
  if(goodNumber >0){
( b/ L# d  y4 A% N     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
) ]5 P3 I$ V0 B4 r$ _* F     Random rd1 = new Random();
1 |4 G+ x  E; L3 q$ S. R4 n     int select = rd1.nextInt(goodNumber);7 k! _' `" X" k% e
     potentialParterner = potenAgent[select];
* o9 q) k. [8 b- a     value = true;
" X8 ]' [% Y8 a* @7 n( T" h  }( q& i6 z7 N' Z; N5 N5 |
    return value;
0 R5 m( g* y+ O+ o0 Q+ _ }& T: N7 ^# }( |! A/ V7 }
始终只能打印出XXXXXXXXXXXXXXXXXXXX,请各位帮帮忙。

发表于 2008-11-28 17:44:57 | 显示全部楼层
我想问下你这个打印的XXXXXX打印了几遍,还有你是否已经把agent添加进去了
发表于 2010-7-8 18:15:38 | 显示全部楼层
囧。。。这么久都没人回
发表于 2012-4-14 14:56:01 | 显示全部楼层
08年提出的问题到现在都没有人解决啊,真是够可以的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-6-14 14:35 , Processed in 0.018475 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表