设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11032|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
* \& n. N3 V: H  \% D( |/ V8 E/ P private boolean findPotentialPartner(){1 ~$ H8 k. D& R* ]0 {
  boolean value = false;
7 Z3 D: Z) F0 ^: E. P2 ]2 B  & T9 r! B- r% l$ O, Q% w5 s
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();8 k6 b  d2 O2 s9 c, j8 k% [
  Iterator iterator = grid.getIteratorAt(x, y);) s' C( O) H1 {: m$ s
  SexAgent ag1 = null;  8 h" u$ S6 U9 F: v' ~0 N' r
  SexAgent [] potenAgent = new SexAgent[20];2 J* q# c6 a1 U" o
  int goodNumber = 0;
. j2 q! _& ]- k+ C0 |' H4 j5 ?  while(iterator.hasNext()){+ z3 M" x# K2 q5 ^- m- U$ r% k
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");3 {6 W& m- `  @8 \$ u
   ag1 = (SexAgent)iterator.next();- M1 ~# {2 _/ _: L$ B
   if((ag1.sex == FEMALE)
4 p  O/ ~  I& H+ ~: J7 C     &&(!ag1.isCoupled())){
0 M1 Q! O2 ^) ^, ^  P' d    System.out.println("YYYYYYYYYYYYYYYYYYYY");; R  M; {5 ]9 N9 L
    potenAgent[goodNumber] = ag1;
5 H: ]! x! q7 K5 \6 P0 U: |    goodNumber ++;. L" F6 @( P2 M
   }
; U6 j- w; W6 x& z/ a7 \& |8 q  }
: z" u: t- J* c3 A  
. K% N2 O' q1 A3 ^! ^5 {  if(goodNumber >0){
! h" I/ ?( P; g. r     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); $ a: i6 o: K+ W
     Random rd1 = new Random();
9 ]. c# \" K1 e/ ^% o+ |: m     int select = rd1.nextInt(goodNumber);% ~! |8 v7 g4 M  R1 G7 {
     potentialParterner = potenAgent[select];
5 G2 f: }+ i) F8 P8 r: g% q7 z     value = true;3 \* q: x. [- n$ ~  U
  }
, l7 |- C! j; {, W8 R& n! ~    return value;+ S2 Z/ J0 E0 o3 ]6 q5 H7 U! k
}3 O: W; Q- y; f: }# w( x1 e0 D
始终只能打印出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-9-13 04:00 , Processed in 0.013958 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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