设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10025|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
* c1 T% E" }5 V' n) U0 d, S private boolean findPotentialPartner(){
- f7 V7 D1 M2 _1 E# `% y  boolean value = false;% q& a( ~5 c1 A6 Y$ C2 k5 Z
  
5 Y) n. B2 N1 Y  k  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();( n' F6 y2 G2 L8 \9 X
  Iterator iterator = grid.getIteratorAt(x, y);
; y) o' i1 \$ I$ d: }5 ]  SexAgent ag1 = null;  
) r4 [6 d0 A3 C/ J7 c1 L  SexAgent [] potenAgent = new SexAgent[20];3 A* }7 h& F. _
  int goodNumber = 0;, m$ V# c6 H0 K1 s
  while(iterator.hasNext()){
/ h  a& ]9 S( \; X+ O( b6 M   System.out.println("XXXXXXXXXXXXXXXXXXXXX");! h: X6 ]# M) B7 e- f
   ag1 = (SexAgent)iterator.next();) }7 v5 i& R: S5 B) l  B! [- x
   if((ag1.sex == FEMALE)
# i8 v% N9 g  J0 N3 ^' q+ R     &&(!ag1.isCoupled())){
* S: S7 L3 r- r% \    System.out.println("YYYYYYYYYYYYYYYYYYYY");
3 \, H* V4 @9 `& Q    potenAgent[goodNumber] = ag1;! M5 \' w9 z  l5 @3 r6 R2 t
    goodNumber ++;
; R4 u+ f$ c9 T   }/ G( y+ S* e# `9 Y9 K  s4 v
  }3 @. q8 J$ G! a; y' a
  
+ s7 m( @; J0 n7 s  if(goodNumber >0){
/ ^, o2 Z: t* m3 W9 b! _     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
5 m) B& E$ @1 D9 C# z' S/ n     Random rd1 = new Random();& |2 ~# L+ U+ }9 T% L" ?( w
     int select = rd1.nextInt(goodNumber);
5 A7 l% Z" k9 P& U9 a6 d     potentialParterner = potenAgent[select];
+ J: u; A$ b6 f5 B; e2 I" h$ z     value = true;0 {' L( I  a1 L& \
  }
7 ]; v7 ]. ?1 a% l    return value;
5 ^0 G& ]7 V& ~% ^5 Y }3 A& C6 Q% j5 \( L& F* R
始终只能打印出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-6-1 20:17 , Processed in 0.013917 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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