设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10158|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
  u1 {4 Z# v# a3 H, s: P" b: j2 W) Y private boolean findPotentialPartner(){
; `7 f- W) [1 }; t; T* h  boolean value = false;) [- z  A( K8 D/ |0 u% b# d4 U8 e' Q
  
9 O( s3 {6 Y2 d: ]: j  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
/ A0 {4 O* [: Q. L; t5 F; }3 G5 P' c  Iterator iterator = grid.getIteratorAt(x, y);
$ u( F& R% Z% ^" J3 x8 M) Q  SexAgent ag1 = null;  1 {) u  z) i/ k+ p
  SexAgent [] potenAgent = new SexAgent[20];
0 P, h2 E% N# g: Y# A- w  int goodNumber = 0;) v% O  B+ L$ A0 u- s: p) M) B) O
  while(iterator.hasNext()){
0 v7 b6 l4 i0 ]5 |, }) R# e2 V   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
  C  P8 w) i: V& j   ag1 = (SexAgent)iterator.next();
" ^7 ^6 l7 ~# A# U. ^& ?   if((ag1.sex == FEMALE) 7 q6 J9 h" u6 q* P
     &&(!ag1.isCoupled())){6 {8 ^5 J- @8 ?" L0 s& B
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
* o; y' G; c) S" b: v    potenAgent[goodNumber] = ag1;3 x6 G! Z9 e: d" p# x/ M3 V
    goodNumber ++;! b# O5 O6 s5 f$ _2 u- l
   }
1 B- g0 N5 k& H; R$ I7 ~2 b" D  }% Q( K3 M* k# u5 P4 f
  9 h& V' |8 Z: ]+ D8 r
  if(goodNumber >0){
/ U  r  P) x7 x! i# m# F6 C! \( j     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); " s3 }. s4 L, R" o6 h/ x  J
     Random rd1 = new Random();! v1 v9 u, j% S$ o
     int select = rd1.nextInt(goodNumber);
0 f' Z+ @* ], E) A+ }2 z7 t     potentialParterner = potenAgent[select];
: y8 X$ T4 o$ ]' n4 b- j. `' W2 w     value = true;
' d( M/ z3 ]; H/ G  Q! i  U) Y; R  }& {) D! V3 c  A, o' ~$ Z6 U' k2 A" ?
    return value;
/ t4 g- c8 }4 H }
  m+ T' h' h7 U- h+ Y始终只能打印出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-22 00:06 , Processed in 3.606858 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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