设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7835|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。# b, q5 ?* R- N: g3 x4 V6 M
private boolean findPotentialPartner(){
' E+ m6 O; z0 G) B0 o7 t  boolean value = false;# f+ ]" I# a2 d- r, w
  1 T8 N7 J: Y% ?9 f$ c: l
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();: u# p; R: [' x' D
  Iterator iterator = grid.getIteratorAt(x, y);
" m$ s# O; @+ c0 r  SexAgent ag1 = null;  * ~* G0 K# ~  B  b  G% c
  SexAgent [] potenAgent = new SexAgent[20];# p3 y3 O# j* C' G6 R" O
  int goodNumber = 0;: E2 V& q1 h+ Q! b
  while(iterator.hasNext()){$ `" P( i1 |5 ^( i) o& ]
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");0 x3 z9 z0 w: c+ q7 f
   ag1 = (SexAgent)iterator.next();& i8 D" K0 H# x5 z: n# y
   if((ag1.sex == FEMALE)
6 S/ _. Q) A; f. `; l     &&(!ag1.isCoupled())){
9 d5 k5 ]$ w& A% }3 |$ n    System.out.println("YYYYYYYYYYYYYYYYYYYY");- @9 l; w; X3 ?! Q2 F
    potenAgent[goodNumber] = ag1;
6 v" ], k6 s- ]+ j  m    goodNumber ++;: F: ?, P  z) F( [6 t
   }
4 Z: A3 @; x0 D  }1 j  [6 s/ T0 \" ?# R% y% t( d
  $ A2 A6 L% v1 r2 h
  if(goodNumber >0){, E% h% m. e, O
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
: v+ s% @' f5 }     Random rd1 = new Random();* C, Q- r) S* ~: `$ Q
     int select = rd1.nextInt(goodNumber);* P) i7 d6 m( i& `. f5 i
     potentialParterner = potenAgent[select];# }: S4 L6 x$ |$ m) h" X
     value = true;; }6 _/ w7 U5 q0 ]/ i
  }
5 G8 M8 W( c5 }    return value;
9 {$ I7 A; B! _( u2 D  P7 A1 h }
& J  a4 B* a  Z, {* z# R始终只能打印出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-6-26 06:02 , Processed in 0.018062 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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