设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9973|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
1 `& u+ h5 s  r& P4 _ private boolean findPotentialPartner(){# A4 K3 t! P! d& Q
  boolean value = false;* d8 D8 X* g9 ~; w5 j
  6 v8 h3 J, b; Y4 z5 E2 v1 C+ i, q5 Z
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();+ a. d. G" T' Y
  Iterator iterator = grid.getIteratorAt(x, y);
2 H6 L, y9 V: H! P" K( |  SexAgent ag1 = null;  
) }( J+ |; C! q3 f7 \  SexAgent [] potenAgent = new SexAgent[20];
( g; M0 J6 ]7 E" d" z  int goodNumber = 0;
; C, B: z4 O- d7 w9 s  ^2 e  while(iterator.hasNext()){
: I6 m7 g) x, A; ^; ~   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
% D1 ?/ b3 x- W) X) {   ag1 = (SexAgent)iterator.next();
6 ~. I' V0 x. S/ E9 x, R   if((ag1.sex == FEMALE)   k9 a8 u! Z7 j# A1 `3 g( W
     &&(!ag1.isCoupled())){
' s% y% \9 c! u. C; b% X    System.out.println("YYYYYYYYYYYYYYYYYYYY");
$ Y5 \# ~% J3 P$ F( x    potenAgent[goodNumber] = ag1;
: w4 q' @3 t* H    goodNumber ++;
! y4 U# ~7 A- W* w% I7 ?   }
4 T) `% U' U; j7 ]# T) t/ F  }5 a9 k8 c% J9 {9 ?
  ; l, I# U) p' a8 G1 x
  if(goodNumber >0){
) E2 m& l; |; z- G     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
) @8 Y; {5 q* v/ P2 D     Random rd1 = new Random();
% v1 S7 A  Z9 S. F' S4 @     int select = rd1.nextInt(goodNumber);; F  I$ Z! P5 z
     potentialParterner = potenAgent[select];
# l/ l3 E  E8 O( t, _) B) S* M     value = true;# {, a" {% ?! C- y5 k* ^
  }: r) g* V% E" U# @% b8 D
    return value;/ R& c' L2 \2 W- z: S5 Y
}
6 j, X7 J" @' a2 H* D始终只能打印出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-5-19 10:48 , Processed in 0.017248 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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