设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7872|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
4 d9 U, o' ^  O, N# N private boolean findPotentialPartner(){
6 A! G* x3 l4 g+ b- U  boolean value = false;
+ ?" ?4 W8 [% K  $ t$ ^6 G5 E4 n7 i7 s
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
7 ^! G( T0 }' C/ T  Iterator iterator = grid.getIteratorAt(x, y);2 l2 u0 w) Q+ [
  SexAgent ag1 = null;  
- M. Z/ @5 Z! N9 o* D% W: b  SexAgent [] potenAgent = new SexAgent[20];
5 W9 \# w- a, p6 X7 V( F) i3 B  int goodNumber = 0;1 e! k4 V/ y' \0 d* G3 O5 @
  while(iterator.hasNext()){
( G& N2 k4 x3 [4 l; e& i+ t   System.out.println("XXXXXXXXXXXXXXXXXXXXX");$ Q; ]0 Y' x1 z: Y+ h7 ~. V
   ag1 = (SexAgent)iterator.next();# g( w" a9 I7 Z; }4 U4 t1 b% H
   if((ag1.sex == FEMALE)
- @: V' P! s  B     &&(!ag1.isCoupled())){& c8 |6 l3 L% P+ S
    System.out.println("YYYYYYYYYYYYYYYYYYYY");# J& p- R& ]" K- Z1 v/ K' n
    potenAgent[goodNumber] = ag1;
* l, \0 |1 K7 |# N  S    goodNumber ++;
( o4 d- y8 h5 [+ y* I0 |4 Z   }
7 n1 q0 l' r; K  R% K7 p3 N' h  }
& M  F. y4 w  u* |4 g8 e) k  
2 e. e4 i' q) A$ Q0 i3 Z  if(goodNumber >0){
$ ^% [2 H$ z( B% B     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 6 m( \! \2 E% U6 p" d
     Random rd1 = new Random();
2 q/ v$ c2 M# r" T; L     int select = rd1.nextInt(goodNumber);
: b* ]2 |% X# Y; E     potentialParterner = potenAgent[select];$ {3 N6 ?: N9 I1 n
     value = true;
5 x/ r7 @7 R8 m5 j1 o  }
% _8 G6 a' J: [; z" ]    return value;9 E6 V9 G" A$ K: y! j* s
}; u4 c/ j4 m1 T8 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, 2025-7-4 16:46 , Processed in 0.015286 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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