设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10161|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
5 O0 v; P9 q" v" ] private boolean findPotentialPartner(){
( o& {& ]3 z; X9 z# b, J  boolean value = false;0 H1 A  O8 S' o" u
  8 C- c! r! Y9 l2 w/ _
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();! v. x; ?/ ^; \9 L
  Iterator iterator = grid.getIteratorAt(x, y);- Q1 X2 O4 O7 q1 Q& N) U
  SexAgent ag1 = null;  : J7 {4 Y& P$ `3 l% Y  S  _
  SexAgent [] potenAgent = new SexAgent[20];4 ^% F" V6 a2 i1 y1 o! Z9 E% {, [+ w
  int goodNumber = 0;0 s- [/ w0 |( o" a/ G) X& U+ V: u
  while(iterator.hasNext()){/ x* c. u) I' k8 x
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
* E' j2 U# ~- J0 Q) t   ag1 = (SexAgent)iterator.next();% D4 f& H7 M* I
   if((ag1.sex == FEMALE)
, c8 m6 s3 e% K7 k7 w2 l     &&(!ag1.isCoupled())){
2 V3 {8 V+ L# G0 ^    System.out.println("YYYYYYYYYYYYYYYYYYYY");
& J- t& P; h0 V/ X# H9 @    potenAgent[goodNumber] = ag1;
6 O5 H9 F: u0 d- i    goodNumber ++;" z& d/ Q$ M0 \& L. v8 \: L% ]
   }
5 U* _1 G5 d4 U  }- }* Y' p" K  s8 t. z
  
! r! G1 ^" G: E& n" c  if(goodNumber >0){
) m9 W( a; x. [/ E     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
& j% A: C' o. C     Random rd1 = new Random();
+ a! x' l- ]5 ~5 i# \& m) r     int select = rd1.nextInt(goodNumber);
2 F8 {2 B" \. |7 M     potentialParterner = potenAgent[select];
3 X, m3 J+ P/ V5 ?$ Z     value = true;
" a  a( t3 m1 R7 [  }5 ?5 O# ]8 S# d& ~
    return value;! b* {0 e1 ?4 P
}
; v7 V) H- l, x; u5 x始终只能打印出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 12:03 , Processed in 0.014741 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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