设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5606|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
1 T) |: T) O  h' ]. K9 p$ B private boolean findPotentialPartner(){
/ C; a; w0 @  t' o/ O  boolean value = false;3 D  Q* X5 a: y* i; Q
  
( {; R- M. d3 {3 r/ _  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();6 S3 ~% M' |5 R" i
  Iterator iterator = grid.getIteratorAt(x, y);
- p6 O% P! s) U% U1 i  SexAgent ag1 = null;  
: [0 K; u% |& e( e& ?7 l  SexAgent [] potenAgent = new SexAgent[20];
$ S* R# X- @! V: u+ G; V  int goodNumber = 0;9 ]5 r- f- r! P3 d/ k4 X
  while(iterator.hasNext()){
) l& s$ \+ F/ ?9 x% o4 {   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
$ v7 N- K. Z6 n+ P, D+ g* n   ag1 = (SexAgent)iterator.next();
- R. U2 j) Z7 S& d   if((ag1.sex == FEMALE) , D9 V" F& _1 ?- D; Y! k" R( p
     &&(!ag1.isCoupled())){9 t( Y9 M$ {( x# S1 Q
    System.out.println("YYYYYYYYYYYYYYYYYYYY");. s6 C) }0 x# C$ L
    potenAgent[goodNumber] = ag1;
6 Q* v* Q8 l! g7 F5 C    goodNumber ++;
+ H  t3 v2 [! p6 g. Z   }
# S/ [9 X/ X7 T$ A: P  }( T" x1 x& {# m/ ~
  4 H) `. H9 s' L# `7 ?
  if(goodNumber >0){6 m/ M) \2 a0 H( ~1 ]* P; q
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
2 `# [- f6 H9 N     Random rd1 = new Random();
. \6 n$ a4 X) c4 L3 D     int select = rd1.nextInt(goodNumber);0 M0 g# b3 h6 m
     potentialParterner = potenAgent[select];
) U1 {& Y2 p3 N7 C+ }     value = true;- G$ {5 J: E) \8 u
  }
7 z. G( {# c% W0 @1 e+ C" v: T    return value;
% P  q( z+ A6 |0 r& c }
4 X6 T/ p# t) |+ D- _7 @始终只能打印出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, 2024-6-2 04:42 , Processed in 0.012044 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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