设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10589|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
8 J" B, V! U$ D" _1 M7 X5 ~ private boolean findPotentialPartner(){5 C) D0 T- D' R" }: `' ~7 y
  boolean value = false;
, ?4 D9 {% Q! L! p8 T/ x( o  
' O# y: l" Q. _. l  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();. _$ ^$ X  P9 G0 B- e; r2 `
  Iterator iterator = grid.getIteratorAt(x, y);$ P4 Z" G% _( }5 ?
  SexAgent ag1 = null;  
! _% ]. t6 u. P  SexAgent [] potenAgent = new SexAgent[20];
# I4 l# f  E; `" z( t  int goodNumber = 0;& l$ Z7 _5 |' N7 h$ u. ]" F
  while(iterator.hasNext()){$ z& P" c, P- Z0 s. s& \
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");) }7 k8 M/ [+ |* j  v0 M( q  k
   ag1 = (SexAgent)iterator.next();) a* f* z9 o. x; V3 C
   if((ag1.sex == FEMALE) ) R. _  N6 d3 N# U8 |; o) M0 D
     &&(!ag1.isCoupled())){% f' c% e$ d% n3 H' Z9 q
    System.out.println("YYYYYYYYYYYYYYYYYYYY");% y  \, ~$ Y' y5 F5 T$ \/ B
    potenAgent[goodNumber] = ag1;
- G7 U% O+ b6 k9 A    goodNumber ++;
: q; a% {) U& A9 S   }
" ], b3 S1 ]. \/ k  }4 k/ _: V- h7 A2 H: N
  1 c1 `# e/ ~% G' B4 ~' Z
  if(goodNumber >0){
/ T9 G6 p' [' G2 A     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 9 @  U( ~8 O2 T
     Random rd1 = new Random();
; q7 \0 {* n, S- \7 ]6 \     int select = rd1.nextInt(goodNumber);+ f: d0 C- ^  i
     potentialParterner = potenAgent[select];
9 \. X( a$ _" f1 L" R: ^     value = true;
6 e. m$ |: H7 |  }
" S; m/ J1 [& z8 ?6 V4 ]7 o    return value;
" X* S7 U& d' L7 v7 D0 x }
5 r4 q3 }6 R. J- q始终只能打印出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-7-29 07:48 , Processed in 0.014466 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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