设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10917|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
- @- B( z/ v: y% S1 U; J private boolean findPotentialPartner(){6 W4 r% \6 U3 h9 L9 b
  boolean value = false;( g* r( u$ l8 _3 I; X
  
+ u3 d( ?3 E, P8 E1 d: w  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();  N8 e! G3 V: V1 u
  Iterator iterator = grid.getIteratorAt(x, y);
$ t) R% W& w* h, L% J  m0 R4 J  SexAgent ag1 = null;  , u" f1 c4 T+ z% s' s% U
  SexAgent [] potenAgent = new SexAgent[20];
# i* K" B9 ]( J+ [$ B  int goodNumber = 0;0 l- _* l; r9 ?
  while(iterator.hasNext()){4 T) v$ P, D, |; Z( L
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
/ ?9 J; ]0 O/ u' A* q) c: I+ P4 H: J   ag1 = (SexAgent)iterator.next();# Q! `" M# n: j
   if((ag1.sex == FEMALE)
( m" @% g1 q6 I, n- v( g5 F# R0 O6 V$ k     &&(!ag1.isCoupled())){: J* Y& u) U. h& t+ ?
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
4 b+ ~  H8 _# B9 C    potenAgent[goodNumber] = ag1;
! x# s% d# Z! O, U    goodNumber ++;
( B9 B  d2 k6 z   }
7 x9 A) V6 B: A5 W  }1 |8 k5 D8 u3 P( d
  ' g" e( C, f+ y9 a
  if(goodNumber >0){* l2 D4 t/ c/ l$ x% F
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
) I6 X; h& Q5 w- C+ S: ^4 G' Q     Random rd1 = new Random();
2 u2 L7 m, p9 Y, o; V% ^     int select = rd1.nextInt(goodNumber);
8 l- N! j: u* k7 n* d     potentialParterner = potenAgent[select];
: X# b1 Q. u/ L, O! c( _/ p     value = true;& T) B' o  W* q+ p) I& a
  }
" o8 u. x/ S! i( Z1 k    return value;5 ?1 b/ e& Z# @9 u' B7 O4 V+ ?* ^
}
6 B; h* q% x2 u* |: G% j* 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, 2026-8-30 00:24 , Processed in 0.020934 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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