设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10961|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
* o/ O) J7 ]; i, M" I0 v private boolean findPotentialPartner(){
7 e  J$ m- z% a  boolean value = false;
3 a4 K* t3 o4 }  _$ f# Y. y* F  3 U% X9 ?" W4 A# J  r
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
3 W0 O; P2 n6 Z9 `6 i, f6 B  Iterator iterator = grid.getIteratorAt(x, y);8 w( g; F) @6 v, g/ _7 \
  SexAgent ag1 = null;  
- }8 i% V" k0 A5 w. M% B  SexAgent [] potenAgent = new SexAgent[20];. _# V. c+ W- U2 O7 j
  int goodNumber = 0;
$ y$ k  y) I( Y- h8 r  while(iterator.hasNext()){7 F# m! G/ N' z& F/ [
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
3 m5 r; x% X; `   ag1 = (SexAgent)iterator.next();5 m$ Y& a. T) p( c1 Q( X+ t
   if((ag1.sex == FEMALE)
6 ~$ ]4 E6 t# T4 ~     &&(!ag1.isCoupled())){
" q: `8 X( D* E1 M; Z9 V8 Q    System.out.println("YYYYYYYYYYYYYYYYYYYY");
" O, Z. r  p. Y: z    potenAgent[goodNumber] = ag1;/ @7 p$ z% U$ P9 K
    goodNumber ++;' J) [4 I" @' j
   }
4 [0 Y$ x0 E8 R" g/ o& e6 H& b6 E& ?  }
: ?/ B+ l, h- o2 L+ p" \- [( T, s  0 o9 K6 Z0 s. b; K
  if(goodNumber >0){# S; b0 x" Y/ I9 b- P! y, m% `$ s
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
+ d! b" d* w1 M     Random rd1 = new Random();
+ j/ P! A+ f+ d$ a     int select = rd1.nextInt(goodNumber);. e: u$ K8 ~& g1 ]& E# T2 o- A
     potentialParterner = potenAgent[select];+ w& Y' \; Z+ }4 {
     value = true;2 k! u0 }9 q3 m1 _* w) H
  }
) O; t' m  x" i. _    return value;* Y9 A- z8 W( K0 X& }; x
}
8 H6 b$ F5 _5 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-9-4 00:11 , Processed in 0.016274 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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