设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8352|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
7 l: y( R* \& ] private boolean findPotentialPartner(){# Y; Y' Y' a. @1 d/ y
  boolean value = false;  K3 p( r! S. y# j8 ]" W3 q* s
  # R9 a2 D& h/ L) O+ l& a: I+ j7 {0 N
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();4 J" k% K( [0 N3 C0 c0 q2 K! H# u$ e  k
  Iterator iterator = grid.getIteratorAt(x, y);" i) T9 Z  u# t! R- X
  SexAgent ag1 = null;  1 a, d$ d/ L+ T8 ^; ~, a3 \4 W
  SexAgent [] potenAgent = new SexAgent[20];
2 H+ W8 X1 T/ T* J% ]2 d  int goodNumber = 0;
! j7 }7 q+ a- O6 |  while(iterator.hasNext()){2 [5 p5 W8 z! E" c
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");6 D( q5 z" c8 o* X. s
   ag1 = (SexAgent)iterator.next();7 p2 ], q' e2 ]1 M5 W% }2 z5 a6 y
   if((ag1.sex == FEMALE) 6 Q  z7 ?6 m1 j1 ^, B
     &&(!ag1.isCoupled())){
: k% X6 o6 j$ ?8 G6 y/ ]0 L    System.out.println("YYYYYYYYYYYYYYYYYYYY");
* o8 W* @9 {9 R* u8 L    potenAgent[goodNumber] = ag1;5 J/ E% v: e) s: Z, u  l: A7 r
    goodNumber ++;  |: H7 Q' C* v5 R7 J8 Z- _
   }
, }9 b) A+ {* n' o7 k' @4 C# F  }" ~; C! k0 I% E5 a) D3 i
  3 R8 K& R7 Y: L" v' X: M1 q# w
  if(goodNumber >0){
+ c4 N0 w, ?5 [     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
' k/ c3 g4 l1 f# j: W3 j# I7 G     Random rd1 = new Random();
/ B6 q$ A; ]5 }) F& d" y* B% C     int select = rd1.nextInt(goodNumber);
- r# T, E' n. O7 T7 \     potentialParterner = potenAgent[select];
- `: N: J% o3 L# R) H     value = true;
4 z4 K4 Q3 P8 q& i  }, M) T& c; w8 p) _$ [# Y& t" a
    return value;
( D7 {3 p/ y2 p8 h) ?0 w }) W7 M8 j+ i* ~/ ]' M
始终只能打印出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-9-19 09:46 , Processed in 0.017544 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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