设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10189|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
( W9 u& O; ^$ e private boolean findPotentialPartner(){( b* i4 K% h. \8 j
  boolean value = false;! [/ [& m; J  e4 G7 F0 w
  
1 p: @& J& Y# m  z4 W3 i  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();3 ~" X" k' l2 Y; F6 G2 g9 L( @
  Iterator iterator = grid.getIteratorAt(x, y);  R* l- @  G: j6 O( x
  SexAgent ag1 = null;  
  s( N8 U2 s# @7 y/ ~. I0 m  ]  SexAgent [] potenAgent = new SexAgent[20];0 _5 d( t1 G. X) v
  int goodNumber = 0;
$ l1 c8 D0 o9 D1 `8 [  while(iterator.hasNext()){
4 i3 j6 e$ B8 n   System.out.println("XXXXXXXXXXXXXXXXXXXXX");* u6 a& F* t' e( U) r
   ag1 = (SexAgent)iterator.next();
: I1 D( q7 W* |2 |, L- Q+ o   if((ag1.sex == FEMALE) * P5 G  |1 w) b$ m) S" b
     &&(!ag1.isCoupled())){
- y% }' s' u6 _, }    System.out.println("YYYYYYYYYYYYYYYYYYYY");) I0 y$ R: x  b% P. {5 m
    potenAgent[goodNumber] = ag1;7 v$ z9 i: x2 {' F( y# ~
    goodNumber ++;5 n) n! w; a& F& h5 \! c) J
   }; ^  x0 ]* k7 K/ y5 l* q! z
  }! K  S: T% L  n+ ?8 U
  3 c. q; G' s3 E2 _% W
  if(goodNumber >0){
6 W7 o/ i, K5 V  u     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 6 `* z: x1 I* W$ \
     Random rd1 = new Random();
6 C5 s/ p6 d6 e: a     int select = rd1.nextInt(goodNumber);
/ h9 U. F9 }" e" n  ^$ M     potentialParterner = potenAgent[select];
2 l# {5 p" b: p' U& o. z+ j     value = true;
6 O; X' J2 o! I/ A) R6 I  }
6 |- a/ s! ]6 }. Q    return value;) y& {$ r3 Q7 T& D
}
. E6 D! j' d/ ~2 g- Q9 P始终只能打印出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-26 20:01 , Processed in 0.021669 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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