设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10206|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。5 }! i. ?# V+ R* ]2 Z) d
private boolean findPotentialPartner(){7 l% W/ A( d  e: Y: k% J
  boolean value = false;
3 p% z5 c' {/ N! `8 C  
$ [; t3 ~* E# s6 P  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();. H( B0 S5 l! }* D) j
  Iterator iterator = grid.getIteratorAt(x, y);9 L7 K* k) e! R- S9 [
  SexAgent ag1 = null;  ! M) {0 [. a; `! Y( C
  SexAgent [] potenAgent = new SexAgent[20];
; S& {  A- @' j: w' d  int goodNumber = 0;
5 A* |( ~; T% [) i  while(iterator.hasNext()){$ z% y, u# B) K% c
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");. q- b. N- n. \- n+ r
   ag1 = (SexAgent)iterator.next();4 G$ w/ X/ i* r  \) s. \
   if((ag1.sex == FEMALE) ( |) @* I$ y) @7 ?
     &&(!ag1.isCoupled())){
( i* |" k3 X- e1 }    System.out.println("YYYYYYYYYYYYYYYYYYYY");' ^( r' R$ g0 S0 w4 v
    potenAgent[goodNumber] = ag1;
; [; `: D! U2 S, o( {    goodNumber ++;7 ?6 v( }) _$ B# j4 F1 l
   }% B5 i( {4 A, G- x
  }  C7 q( a% f0 g; e0 w9 \0 m
  
# l: L# i- H* W) J. A" Y  if(goodNumber >0){, s" {* C" P  o4 y
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); & }9 P8 m5 U  s3 Y" x) b
     Random rd1 = new Random();
; t- H0 U) i; Y1 w$ n     int select = rd1.nextInt(goodNumber);1 L! W5 a8 a4 Z' D4 [) O4 V- i
     potentialParterner = potenAgent[select];
9 _: X- Y4 e. G; _4 r     value = true;( M; _2 p; l2 T& i6 W- A) ?- ]
  }5 u3 f/ k1 ^* ?. g$ S' G
    return value;
" [4 d/ q3 \& W% y1 [ }
$ n5 ~$ j5 D& e始终只能打印出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-6-29 04:46 , Processed in 0.020627 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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