设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11156|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。1 r+ I: G+ j$ n
private boolean findPotentialPartner(){) r' X! G/ J! W% V
  boolean value = false;) f  _# _3 b$ P+ G3 o- T, J4 P
  8 f1 v. `. @3 Q- [1 F
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
2 u! w9 o% H' F" A6 Z5 _  Iterator iterator = grid.getIteratorAt(x, y);
0 z  @  K* {- W. Z& r  SexAgent ag1 = null;  
; N+ n' N- `  R1 l4 A  SexAgent [] potenAgent = new SexAgent[20];  a* k1 `- X" e+ d8 ?& ^8 X
  int goodNumber = 0;
. _. x$ v: Q) ]2 H8 ?6 _  while(iterator.hasNext()){
5 U7 P* y. |* L' P3 ~  B   System.out.println("XXXXXXXXXXXXXXXXXXXXX");8 ~  I( s7 M1 S/ M# B
   ag1 = (SexAgent)iterator.next();
; A( A1 U: p3 z8 k6 S" Y   if((ag1.sex == FEMALE) : u9 E$ a5 h! s. y. o6 z
     &&(!ag1.isCoupled())){* G; {% Q- F! L2 i3 z0 t2 A7 h
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
' x; [1 `! e' Z% y    potenAgent[goodNumber] = ag1;
  D+ ^2 O' f6 k; M    goodNumber ++;
% ^; \6 q, n0 v4 \( f( B   }
7 T. F& P5 U1 {8 ~2 N/ E; Q  }
+ [# y0 _* s0 A' R  5 {0 e# B% X  b8 n$ N: x
  if(goodNumber >0){
, G2 d1 Z0 g: h     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
9 X! H# a, S) v( }0 o     Random rd1 = new Random();* x( n) F% Y4 ~- o: [
     int select = rd1.nextInt(goodNumber);
% [% u4 j. a! ?( T     potentialParterner = potenAgent[select];3 F; h+ r' p, B/ |( o0 P8 S
     value = true;' q% N. v6 p: N
  }
0 ]4 U9 G5 G( G) N" b7 s# X    return value;
8 ~2 ?$ z' k* j4 p }
8 i" u8 T" q; O+ F6 U+ ~; G始终只能打印出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-21 14:29 , Processed in 0.015035 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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