设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9252|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
+ ^4 a( n0 I+ ^ private boolean findPotentialPartner(){
" c# i  J: D% f, w. c  boolean value = false;8 X- e' P7 l, A4 P: @- q
  ' S1 @& v1 A& O- p6 b
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();. w$ |* g" g* Y: e. j( N+ ?  O
  Iterator iterator = grid.getIteratorAt(x, y);
% L/ N* i' z2 }! g7 {  SexAgent ag1 = null;  5 K: _1 C* k8 w3 ]$ X/ |# B9 L0 r7 g
  SexAgent [] potenAgent = new SexAgent[20];
9 X, S6 Y! {# D7 i  ]  int goodNumber = 0;
7 x) }  t' I1 x7 O% l/ T  l  while(iterator.hasNext()){  I/ p- [+ v2 M
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");; a( L9 @  Z& i9 g! {) W& p
   ag1 = (SexAgent)iterator.next();
6 c6 T* a2 l$ S0 R' P% j   if((ag1.sex == FEMALE) # C$ R! t$ J# r! V" T
     &&(!ag1.isCoupled())){3 V/ q+ e* I. v% l; F9 X  J+ B" e
    System.out.println("YYYYYYYYYYYYYYYYYYYY");& G: y: k  q# \8 ~- U
    potenAgent[goodNumber] = ag1;
5 w( e+ k1 h! ]" `) Q5 I' [! b: p- y    goodNumber ++;4 p* |. m  Q+ b" c
   }
9 T2 Y% S# Q2 y; `4 b  }
" U% G) X5 C* a* k: g- n  
- y4 R3 E# `( ~% n4 @1 V5 |  if(goodNumber >0){3 [" ^7 {% N4 Z1 R
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); , y- R5 Q: E. k% A+ [
     Random rd1 = new Random();
! ?6 ]1 o3 d$ G+ c/ L* V     int select = rd1.nextInt(goodNumber);
. C) M. @: x7 D" S  O     potentialParterner = potenAgent[select];2 T. x. Z$ P3 c- A
     value = true;" x; y3 [) ~: H7 \
  }
+ y2 C( D5 h, ^: Z    return value;" Y' Q* u1 `7 u$ T) @+ U
}9 f4 b; ?# P2 A, f$ Z- l# ~
始终只能打印出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-1-28 16:15 , Processed in 0.015950 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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