设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9160|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
0 ^, f: z7 W) `0 J private boolean findPotentialPartner(){
3 U. a0 @% J3 ]8 ~, v4 R  boolean value = false;
6 F2 G  H9 b9 }! l  / d: s. r7 K7 Z1 `7 v
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();  x% W. ~5 Z3 L. V- q3 P3 s5 `  j
  Iterator iterator = grid.getIteratorAt(x, y);
  e# D6 W$ f: ]+ ~  SexAgent ag1 = null;  ! x* u" i* Q2 `' P2 Y% m
  SexAgent [] potenAgent = new SexAgent[20];8 e/ F& p; x$ B7 k
  int goodNumber = 0;8 K' y' K: h( L% C
  while(iterator.hasNext()){4 |! Q$ e4 C8 \" d. |) e) |
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");- Y% g( O/ E$ d( x9 C/ Q
   ag1 = (SexAgent)iterator.next();
0 o, r/ a# x' o  c5 v- ]5 k   if((ag1.sex == FEMALE) $ O& u+ u6 N4 v
     &&(!ag1.isCoupled())){
4 h. T- l9 b* B/ z- z5 |+ ^    System.out.println("YYYYYYYYYYYYYYYYYYYY");: i  w0 U$ f) x( t
    potenAgent[goodNumber] = ag1;
5 S% A, [0 Y# y    goodNumber ++;* |7 f8 H/ D/ z4 }. A1 D, I; x
   }8 D6 Z+ k# K* l
  }" S) W" m+ o* c1 n7 m: y: v  S
  7 @! U( z# `/ f, j+ K" g
  if(goodNumber >0){6 Y" O- I2 U; J* s
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
! G. X2 n2 W7 g; e     Random rd1 = new Random();( b) J' |2 @5 n+ o; j$ s5 A$ o
     int select = rd1.nextInt(goodNumber);
  b. O7 a, K# E2 h     potentialParterner = potenAgent[select];
# Y5 x1 ^* Y$ ^2 m     value = true;
6 M4 ?" O0 @" l/ m& n  }
9 v- k* o: l* }    return value;* u8 v: x" |. i' ?. p
}
* i1 M, c& L: D9 K; s始终只能打印出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-1-12 17:22 , Processed in 0.019159 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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