设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10219|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
; k, }" O# o% A* x( A* c- C private boolean findPotentialPartner(){4 X& G2 C$ G' l( b, M5 J  f
  boolean value = false;
8 H# ~8 P: z) {  2 C& K1 A2 H' e: b  N" q
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();3 l+ x# s& I1 {: q  D' n6 g' N
  Iterator iterator = grid.getIteratorAt(x, y);
' i7 s1 {6 C. G6 B  SexAgent ag1 = null;  5 V. W( D" L; X! k- r
  SexAgent [] potenAgent = new SexAgent[20];, {  u2 k; _- {
  int goodNumber = 0;- {( @5 z$ r/ p/ a2 A: k
  while(iterator.hasNext()){
5 z" C6 _: _% z$ p4 |' ?   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
$ \) T8 ~' R2 R6 W   ag1 = (SexAgent)iterator.next();8 a6 Y% N0 j9 ]
   if((ag1.sex == FEMALE)
- X2 m% G2 B  k' r: J     &&(!ag1.isCoupled())){! O6 _- |0 p5 R( L$ l
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
( T8 ^7 U6 N" z( {6 C0 ~. M    potenAgent[goodNumber] = ag1;
/ S8 d/ E  {1 r. ~) T' C+ i    goodNumber ++;
/ l" l7 d& u) l7 G6 ?9 q& Z" h   }: J1 N9 @* W0 e
  }" K1 p$ e- n: B$ j
  
! H. k1 Q9 [; N8 q, r  if(goodNumber >0){! h4 ], N# o1 H/ ^, p' j1 P  K
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 1 a9 i$ B3 X* E) V
     Random rd1 = new Random();
6 o& c' r8 ~# k  [     int select = rd1.nextInt(goodNumber);- e! Z/ p' Z. @5 \, ~5 j0 n; Z: Y
     potentialParterner = potenAgent[select];5 Y! ]; |* S# w
     value = true;# j& r- F: E0 D% j# P" V, S/ a1 n
  }0 A9 H/ }( P7 f7 `
    return value;: B, d* O2 t% x; e) c( h
}
  i4 c3 l, K2 q9 L& z  x始终只能打印出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-7-2 07:40 , Processed in 0.015565 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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