设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9508|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
8 G# {) r( _4 }& \! a+ |) S private boolean findPotentialPartner(){
+ b) M% f) ?7 Y" o+ ^. f, A  boolean value = false;; a' Y9 l" x- t; ^# A5 F7 t( @2 \
  9 k5 X9 _# A+ h; g; {9 U: O4 d! g
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();: o1 b8 f* x# \1 z) l
  Iterator iterator = grid.getIteratorAt(x, y);
+ w; A, ]  h6 ^5 w/ M  SexAgent ag1 = null;  
( g1 x/ n/ A# Q$ c* w& j$ q5 o$ e  SexAgent [] potenAgent = new SexAgent[20];% g& ~- m6 k' |' S
  int goodNumber = 0;
4 k% \; d$ r* _9 j  R4 |/ P0 ?  while(iterator.hasNext()){  Z3 |3 P! g1 L1 ^' L% E8 d
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
# G/ f" h# P7 h, v" ]3 @   ag1 = (SexAgent)iterator.next();* E7 Y5 {4 z$ ~* i
   if((ag1.sex == FEMALE) ' w0 `! `0 {6 u0 H1 V* A
     &&(!ag1.isCoupled())){
* Q% k+ K* W5 g! C- ^: ]    System.out.println("YYYYYYYYYYYYYYYYYYYY");
) Y. i* u& \' @- W# J  }    potenAgent[goodNumber] = ag1;
! G6 l+ P( Z, u. v    goodNumber ++;
$ P4 N; {8 M4 M   }6 C' M3 D8 b0 g; X( U* X2 M8 d" A- G
  }2 P; @* P+ M( K, X
  ! H) p  t3 e+ R. S, U# ]
  if(goodNumber >0){6 A& D' E- e8 n$ X( n7 L! n1 K" a
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); ) d0 q/ u! C- g$ l' a  g9 y* q6 D
     Random rd1 = new Random();5 h9 a4 ~, I( O& |4 j5 m8 \
     int select = rd1.nextInt(goodNumber);
5 t$ U1 Z7 X' Z2 h6 D     potentialParterner = potenAgent[select];2 L7 G* d/ P/ D) ?5 N. w
     value = true;
) e$ i4 }7 y+ e) Y2 E# b9 B$ r  }
7 m/ y' |0 r* p7 ^0 m2 a, ?2 A    return value;
9 g  t. N8 D% Q: ]; P) y, Q }
3 b! z/ W; h1 M, [" e: _4 W* I5 k1 I始终只能打印出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-3-10 16:02 , Processed in 0.026381 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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