设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11014|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
9 f/ q8 u( D. m1 q0 B. [* `2 F private boolean findPotentialPartner(){: i7 i0 _( [' M0 M' B' ]
  boolean value = false;
; L3 o& b8 ^! l8 G$ M" z  
, G% i  \3 ]6 j( v" x  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
8 Z3 j! A" s: X4 m( k  Iterator iterator = grid.getIteratorAt(x, y);. [4 k+ ^/ H& E. ^/ O* O
  SexAgent ag1 = null;  
4 b6 T% P% K+ {2 D  o  SexAgent [] potenAgent = new SexAgent[20];3 u) ]: v: S6 ?5 Y* n: b
  int goodNumber = 0;
+ q, ], f! }3 E, ^' j$ q- u5 W5 X5 q  while(iterator.hasNext()){
# i2 U* T$ M( [9 W' n5 M2 K7 K: a   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
' T( w  r% n1 G; Q* }   ag1 = (SexAgent)iterator.next();* Z9 V1 Z* P5 H* b6 T. c! g
   if((ag1.sex == FEMALE)
3 ?1 s8 b0 `* w4 V6 v" W1 O     &&(!ag1.isCoupled())){
: D" t- M0 p+ |4 Y0 i$ f    System.out.println("YYYYYYYYYYYYYYYYYYYY");' C* G5 {& c8 v6 E) U
    potenAgent[goodNumber] = ag1;; W9 m+ [8 ]: a; d' w: \
    goodNumber ++;6 T+ p7 q! M! D( Z
   }
2 u5 C7 ~/ |2 }- o  }/ E; d' r9 G; u' V0 B
  
! i3 N6 r' E  B# A4 d: W& a  B  if(goodNumber >0){: M8 N: F; m/ m$ R% V
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
% ], I5 w0 g& ]9 c     Random rd1 = new Random();# K4 R% C( m, t) a0 \' X% _
     int select = rd1.nextInt(goodNumber);
8 \+ }! P* Q9 j, h7 i+ x( G) i* B8 v     potentialParterner = potenAgent[select];7 \* `: V# k* |3 D- g- l6 J
     value = true;
4 ^/ C/ V! q" O+ ~2 v' p8 V  }
% E1 z9 w! _7 b, P$ n/ m5 I* U. W  ]    return value;  X- z' L6 ^, ^8 ?2 d8 N
}; ]3 q: R+ X& V) ^$ I
始终只能打印出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-11 07:14 , Processed in 0.017266 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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