设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10091|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。  ?# g) K$ I( U2 H
private boolean findPotentialPartner(){& _9 y1 z1 K1 C9 K2 M& F% |
  boolean value = false;
$ A2 t0 |5 f  n5 p  + w# Q' A" C. u. |
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
3 F& F! i8 G, \$ u% F5 h  F  Iterator iterator = grid.getIteratorAt(x, y);4 _. n, ]: ^9 m! L+ f1 X
  SexAgent ag1 = null;  
# ~' J" S# A7 Z1 X  SexAgent [] potenAgent = new SexAgent[20];* U3 ?9 }$ g, e+ O
  int goodNumber = 0;
/ M) f2 a9 W5 k; i2 h; s1 g4 s  while(iterator.hasNext()){1 f2 _5 S2 A5 l- m2 C
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");) }$ z2 l, T7 P
   ag1 = (SexAgent)iterator.next();
7 N& g) U% V) P3 Y2 b   if((ag1.sex == FEMALE) 0 C7 C( k. r+ k8 H4 ?0 k) T
     &&(!ag1.isCoupled())){
! S. j: W6 @3 x7 ^    System.out.println("YYYYYYYYYYYYYYYYYYYY");
) S* B( H6 y  r. @& l7 M    potenAgent[goodNumber] = ag1;9 S! e( J. q5 D6 t
    goodNumber ++;
1 Q) I5 y- U- N& J( A* j   }
' ^; N! K3 o+ f  }
) C( W) _1 d' [+ R) A  
9 O% p9 v9 O( z( P7 S  if(goodNumber >0){
1 e3 j* r, n5 l9 m" B+ k3 a) ^. e     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
3 O. T) e! ^4 \     Random rd1 = new Random();
: V; u2 y! A  E( v' T6 z8 T     int select = rd1.nextInt(goodNumber);2 C9 L$ d! M9 A+ C( J) O0 i4 ?# W6 N
     potentialParterner = potenAgent[select];
5 {; [: G) ^9 n" f4 W     value = true;+ z" n- d6 x1 p  `3 U* A
  }
$ ~5 `' f# f( x1 Z* o$ I- D: b    return value;
4 Y/ Z9 @- P" S" Y% N }. m# G& x* s0 R3 x7 p& g; ?+ 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-6-9 17:37 , Processed in 0.016778 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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