设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8866|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。( ^& S8 ^) H  S  B' P. i  d& z
private boolean findPotentialPartner(){
8 ^3 w) v- E" F* H' D1 a9 E  boolean value = false;
1 [' q  F) Z7 I5 @# q  3 y6 ]  l1 }* u8 v
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
3 p7 E/ e2 t7 I9 a7 g  Iterator iterator = grid.getIteratorAt(x, y);4 _/ x. D0 n" b: m5 |) K
  SexAgent ag1 = null;  
9 u2 ]6 _+ v' n6 R" @$ M  SexAgent [] potenAgent = new SexAgent[20];
1 [+ n; U  d/ D5 z& y8 i2 @, s  int goodNumber = 0;
: a+ Q; W/ g1 c1 J) v; @  while(iterator.hasNext()){) e, z" @1 T( D( I" N: Y. M" }
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");7 H; J9 C: j4 j  o
   ag1 = (SexAgent)iterator.next();' g6 v4 M. p6 \$ v3 s
   if((ag1.sex == FEMALE)
+ G: {2 a* ?' N! b7 L# m8 G9 O% y     &&(!ag1.isCoupled())){
) Q) T" R/ r' P9 M; f    System.out.println("YYYYYYYYYYYYYYYYYYYY");
! [. L1 e' w. C' d; z) K$ Y& n    potenAgent[goodNumber] = ag1;9 s; p2 L' Q+ F4 F5 I) T
    goodNumber ++;
4 b. i, ^! Z$ r   }; I! s+ f8 q  O. E) Y/ C
  }
( O0 ?6 `' N$ x/ |4 |  t  ; c. s  @. _. r- @- o! k# I& r  {
  if(goodNumber >0){/ w- L6 G) x' W% }) a- A1 b
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
; f. X* e& F8 R7 v0 Q" y     Random rd1 = new Random();
& |8 ?9 z& ]* v     int select = rd1.nextInt(goodNumber);
2 ?9 X' J+ w/ ?4 Q7 a* ]* F     potentialParterner = potenAgent[select];5 k5 ]. z* L, ]% O4 c  _8 V; G7 O- p, q
     value = true;' e- j! L' F1 x' w  N; K  u. R
  }
2 L1 O) }3 @( i* P/ s% O8 G, ~    return value;' r8 A: n, I+ x7 E" A4 @8 g, A1 x
}' a9 Z, I! V1 |3 @' I( E" {7 s. E7 V4 J
始终只能打印出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-11-20 23:04 , Processed in 0.019331 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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