设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9469|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
0 p  L/ h; J9 j private boolean findPotentialPartner(){
: c0 n1 r+ r/ l( Z" u7 R$ @+ @  boolean value = false;' c# B  ?( r6 Y. e% u
  
3 ~+ |; }  Q9 ^4 O% l: `  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
# D/ w3 P& _4 a6 T7 D  Iterator iterator = grid.getIteratorAt(x, y);
6 y7 g* W) Z& p  SexAgent ag1 = null;  
0 ^: q/ v5 p% H" G3 F  SexAgent [] potenAgent = new SexAgent[20];" S" f# E8 W% q
  int goodNumber = 0;+ z. S& s8 z; g! R
  while(iterator.hasNext()){
+ N, Z3 H9 N) G) K   System.out.println("XXXXXXXXXXXXXXXXXXXXX");* Y! s! q1 _. A5 J: E
   ag1 = (SexAgent)iterator.next();
7 `) Y1 W$ o9 K/ C- c8 J" ?& ?   if((ag1.sex == FEMALE) 0 z( L+ x) I5 Q) l6 d% k+ m" d2 W
     &&(!ag1.isCoupled())){3 `% O/ a  J& Q$ i$ }! z
    System.out.println("YYYYYYYYYYYYYYYYYYYY");- S2 {% ]. `( n6 m) K# t
    potenAgent[goodNumber] = ag1;% o" u6 p& \! V- E
    goodNumber ++;8 Z4 q3 F3 C: m, E1 G( Q
   }' R9 z" N  e- f
  }
# Q. J% d0 O; s" B& o& b  
6 l; P, m5 ?, K3 Z. P7 G  if(goodNumber >0){2 X3 ^( N" `. g7 Z. p
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
5 K; L+ _2 J& O8 N" C     Random rd1 = new Random();
( @. D4 d4 D( @% A6 `     int select = rd1.nextInt(goodNumber);
! [; A% B  v! H' M1 [$ d6 s     potentialParterner = potenAgent[select];
, Q- e) z! E9 M     value = true;
* A! n2 p, T! o0 I  }
( l8 V$ f1 k# I" g    return value;
! M' m* p5 C- X. Q/ M4 ]% x. ^( } }
/ J% [+ `  }% V9 v8 M始终只能打印出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-3-2 20:53 , Processed in 0.020494 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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