设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10903|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
4 \! h& g  D# I# d7 F( w3 u private boolean findPotentialPartner(){; U+ Y8 ?2 a* I
  boolean value = false;
, ~+ ^0 Q- t5 @$ t' R! _  4 F  Y0 X9 C3 \6 V7 e9 [+ f* P5 P
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();( y. M* I5 P  I
  Iterator iterator = grid.getIteratorAt(x, y);4 c. B% T7 F) J  ]; l
  SexAgent ag1 = null;  
! ]" x1 E" E3 I* P  SexAgent [] potenAgent = new SexAgent[20];
: u# C/ p4 Q$ |' H  int goodNumber = 0;$ z7 u) ?9 a. g1 A9 L
  while(iterator.hasNext()){
8 f/ E; r  E( o6 j& S/ B0 g8 G7 P1 G   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
/ T" i3 H' R1 K: a0 F   ag1 = (SexAgent)iterator.next();' f# O+ A; `" C+ N" h  I4 t
   if((ag1.sex == FEMALE) $ `2 o8 v. M8 R, W  W. a
     &&(!ag1.isCoupled())){  @. @, U7 Y  v* }7 ?. }6 e
    System.out.println("YYYYYYYYYYYYYYYYYYYY");% z& I( X  J  r4 e6 P
    potenAgent[goodNumber] = ag1;
! S' ^  _+ `/ `  i6 ], K  R    goodNumber ++;
8 H- n9 D4 k& Q  |+ Q. j   }9 H! s/ x3 S, _% ?" }" _) F! u
  }
# ^3 X2 |/ c# I1 @  $ P: j& U" o2 L- D
  if(goodNumber >0){
% Q. O6 L. l% _$ \9 r8 k     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
! k- b  p( T0 C9 V* n9 u& {     Random rd1 = new Random();
+ y+ }8 q. v) _7 N! O2 y, L     int select = rd1.nextInt(goodNumber);
) N1 s% ?( L( M! L6 r     potentialParterner = potenAgent[select];% q) N2 p# L" R6 g
     value = true;
& F3 Z' `# c) h! U% V  }
! U4 ?! i" N5 x' U2 P    return value;
5 ^. i$ M4 }) g* i }
/ ^8 @+ P1 z6 I0 R始终只能打印出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-8-28 22:19 , Processed in 0.012463 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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