设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10147|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。9 p- m# U1 S/ L  E2 c2 x5 V! u% b
private boolean findPotentialPartner(){
0 {) j- w/ O, k/ r8 W  boolean value = false;
  _3 v& G2 q7 E  v9 W  + ~1 B% D$ i1 [- Z7 `) d
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
  q6 z  u) Y9 ~  Iterator iterator = grid.getIteratorAt(x, y);% k+ x# G/ W" @. w7 z: _8 k
  SexAgent ag1 = null;  7 y4 v6 _* I0 g1 V: M, f/ d
  SexAgent [] potenAgent = new SexAgent[20];3 S3 W* P/ D4 Y
  int goodNumber = 0;
! z! I" g5 L5 p( N5 ~  while(iterator.hasNext()){
* [: Y( Y+ m% Q- i   System.out.println("XXXXXXXXXXXXXXXXXXXXX");- x8 V/ R7 b1 j; k3 q
   ag1 = (SexAgent)iterator.next();
8 N* t! B4 K) q2 K   if((ag1.sex == FEMALE)
+ N* t" A) _. F     &&(!ag1.isCoupled())){
' j. W4 R/ e( e% ]    System.out.println("YYYYYYYYYYYYYYYYYYYY");
, h2 v( w6 a2 U( @    potenAgent[goodNumber] = ag1;
& Z0 i9 r( {4 t% n' s( A    goodNumber ++;/ r4 s/ d9 e9 D# S+ ^( Y3 o" m  a
   }8 J+ d7 D  ?  k2 f2 k3 d4 k
  }7 c0 H& z# a# I/ O, I+ M
  $ M. Y6 e. G8 F+ H/ o3 p
  if(goodNumber >0){6 T+ v4 |' H) V( ~. L" a
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); & ~6 m3 v# S  w/ J
     Random rd1 = new Random();
: I# X, O5 X; H- u" g0 f; U     int select = rd1.nextInt(goodNumber);
! K6 |4 C) D- \) H" @     potentialParterner = potenAgent[select];% w; s5 d" t; V2 N" |
     value = true;
9 N6 B; _& `9 T. _1 V$ l+ V  }, V5 c- M! a+ y! w' p
    return value;
) Z" X& Y$ m* u/ C, Z }
1 B, J9 m4 Z3 e$ q始终只能打印出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-6-20 09:38 , Processed in 0.012707 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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