设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8953|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
7 P" y9 ]" E' i; e4 e private boolean findPotentialPartner(){* F$ _: j' q' o' e( S% l; b
  boolean value = false;
6 x4 E, D' }  E. I3 T8 v  9 s/ b' H  ]. v4 ~# d
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();3 H* c- u! a0 n0 R
  Iterator iterator = grid.getIteratorAt(x, y);) b# X/ ?+ ~. E1 }
  SexAgent ag1 = null;  
: R5 C$ n$ q/ n' v1 M, A  SexAgent [] potenAgent = new SexAgent[20];
0 m& W% q$ `- i+ e: |% I4 l  int goodNumber = 0;0 L6 \. r& V6 N
  while(iterator.hasNext()){
" z, N6 m2 V1 |9 B3 j( l   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
4 B3 C6 [0 Q3 [2 K; e/ h- Z   ag1 = (SexAgent)iterator.next();; Y- Q% ?$ I' d- W
   if((ag1.sex == FEMALE) $ i& A8 [/ O, u" h7 f
     &&(!ag1.isCoupled())){5 `( F9 M2 u# n" \5 j- B
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
" _) w% w% r' J  s    potenAgent[goodNumber] = ag1;' s% B* ~- s) h' `+ _
    goodNumber ++;
+ _& C( s. r: t9 Z( \% T$ n3 Y5 g   }1 ^. O; c' g+ N% \7 R8 J3 ]0 @! e
  }- ?/ l' r# a: z! ]4 K4 z: f' Z
  
! c7 D! R. h4 N# ]  if(goodNumber >0){
6 i3 R' O, v' ]+ L     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
! b3 H  X" |0 f2 Z     Random rd1 = new Random();
# m, d7 k* V) Y& d; l; p     int select = rd1.nextInt(goodNumber);2 y2 \! @1 m7 z, S
     potentialParterner = potenAgent[select];* A% d* R' x0 n( N  O9 [) h
     value = true;: r5 ?7 Z2 ^, v& K/ U: h
  }
9 b6 t8 D3 ~4 m" s    return value;0 ^. F& y7 K' A9 ?
}" Z2 X, \" O3 F
始终只能打印出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-12-10 10:08 , Processed in 0.015455 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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