设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7874|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
( g$ s7 {/ B- k- S6 b' C private boolean findPotentialPartner(){# Q% V+ t: z8 F2 N) b
  boolean value = false;
  z% F/ j- `0 U3 l+ ^. U4 h  
5 ?/ V( h, g3 l6 N1 D- |  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
4 K6 \& k  e" N0 G8 v2 Q  Iterator iterator = grid.getIteratorAt(x, y);
" ~9 h" s  N, I  SexAgent ag1 = null;  2 g( W0 f$ ]0 F! p/ ]4 q" M- O9 ]8 s
  SexAgent [] potenAgent = new SexAgent[20];" `- |: v- }; Y0 ?/ j  L1 U
  int goodNumber = 0;
5 T) D0 E/ [0 Y  while(iterator.hasNext()){
7 x7 g5 u$ \3 q/ J   System.out.println("XXXXXXXXXXXXXXXXXXXXX");* d: l- R( B( s! }' \: p1 J
   ag1 = (SexAgent)iterator.next();) N3 E$ ?2 h: w/ O! ]
   if((ag1.sex == FEMALE)
% S0 m0 W4 L$ H& \     &&(!ag1.isCoupled())){8 y1 ]) ]$ q" `# w
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
- d5 S. _  g- ]* F" B& l+ ^    potenAgent[goodNumber] = ag1;
. s# u" f9 P/ ^: p/ }% g: l4 b    goodNumber ++;0 {% z" P) u. W* a. m
   }/ j: j2 L+ d& R
  }! G: R/ S! z/ C! v5 y7 E/ i6 m
  
- Z4 Q# T: S" j6 k- H  if(goodNumber >0){9 i+ a. `, Y) Q
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); ' k) x2 H( O7 x1 G/ E
     Random rd1 = new Random();. ]9 c1 y, w5 x' s8 k9 f
     int select = rd1.nextInt(goodNumber);
: q' `, B' ]9 D7 S' w     potentialParterner = potenAgent[select];
9 e5 Y. k: ^  {' s     value = true;
. t" C, \6 N# P- w! B  }0 J2 e; R  l. M/ s) o8 X# G) Q; F( |
    return value;1 b4 f8 Z3 f3 k
}
/ o* [" z4 K' j3 @始终只能打印出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-7-4 18:00 , Processed in 0.013341 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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