设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10976|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。5 I. m' [6 r7 d, f! a" `% O
private boolean findPotentialPartner(){3 e* h. K9 ]' O4 L; {3 ~9 V
  boolean value = false;
1 `$ g" y& E& V% F  / ~2 Y  Y. n* @" Y! G
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();/ F0 P8 @, _& S, k+ o
  Iterator iterator = grid.getIteratorAt(x, y);, q  u  i$ C. U, A: i
  SexAgent ag1 = null;  
5 E0 H; _% i; C* @1 V2 Z  SexAgent [] potenAgent = new SexAgent[20];' m! n* z4 D6 @& P
  int goodNumber = 0;  e9 F# x, Q$ ^, |$ \, |# B! q) R
  while(iterator.hasNext()){
# Y, ^0 O, {1 ^1 a   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
0 u% N2 N- F2 N   ag1 = (SexAgent)iterator.next();- ^7 X( [* D8 P/ g& X3 |
   if((ag1.sex == FEMALE) ) B& h0 s$ N7 N8 C3 ^
     &&(!ag1.isCoupled())){
  t: w) B0 D1 r/ l; I    System.out.println("YYYYYYYYYYYYYYYYYYYY");( o2 z5 p- x$ p! D, R
    potenAgent[goodNumber] = ag1;
! j7 E$ L1 h+ b- i; [    goodNumber ++;
/ G0 i+ A7 b( K' c   }. ]1 _% z9 X& g1 ~
  }) [- l4 I& R7 X; E$ D3 \, b
  , G7 g5 T5 e; `5 Z# l
  if(goodNumber >0){5 ^  a5 Z9 q; a3 C, `0 i
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); - |2 P1 L! N; w1 l1 x) r
     Random rd1 = new Random();
+ I- L+ w! x: S; x: p     int select = rd1.nextInt(goodNumber);
, ]( m( O% r* @7 S, D     potentialParterner = potenAgent[select];
6 @# Y% {6 G* K     value = true;
' e7 W3 F2 O9 u1 B' t0 J! B: y  }
7 Q. Y' }. o3 S  [7 h$ Q, p" S    return value;& A( n" j* Y% ]$ T" H9 u, Z1 z
}9 n/ g" d6 Q/ F. W9 }4 f
始终只能打印出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-6 17:44 , Processed in 0.019895 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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