设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8627|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
* j( u' Y# T( B; z private boolean findPotentialPartner(){4 n4 R) x* l0 J( m" l5 V
  boolean value = false;2 b0 B1 W3 R0 B$ {
  + {! m1 l! A1 y( l, u  j; q
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
' |2 P- \& _* g  e  Iterator iterator = grid.getIteratorAt(x, y);( H' o7 F# d  W
  SexAgent ag1 = null;  
. h& x  q( Q: _  SexAgent [] potenAgent = new SexAgent[20];5 v4 P' F9 x8 L9 `, x; A
  int goodNumber = 0;
1 ?! P8 a' r; y' \  while(iterator.hasNext()){
) z* F. N: D4 i1 N5 L! `  P   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
( I7 [) Y9 ]+ t8 E' w- e/ F   ag1 = (SexAgent)iterator.next();! w7 R, [; R1 Z
   if((ag1.sex == FEMALE)   Z" j  T, h3 P4 V3 F8 `
     &&(!ag1.isCoupled())){/ X- ?$ L; e* h% B
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
5 F  s' F' m! [1 Q" R    potenAgent[goodNumber] = ag1;
/ a5 g- ^" t8 p  U, R    goodNumber ++;* J& ?* {1 l  C' ?
   }
) _9 z+ d  `* k  ^3 M  }
% \/ g: _0 }3 D. A/ j- x  
! E& v+ v& M4 P# _0 {  if(goodNumber >0){! ~5 R& [1 K" n+ n9 D
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
* F2 x0 x' Q. k( ~- @     Random rd1 = new Random();
  K4 F& J# b* K. _. D     int select = rd1.nextInt(goodNumber);
3 B# }- \2 ~* S7 {     potentialParterner = potenAgent[select];
; W1 Y8 e6 M5 @6 X. h     value = true;: e6 J- l  D7 @; r6 C
  }; }: v7 F3 o1 r$ t
    return value;
( j# e' K/ A" u( D( U }
* O1 L: d: z5 U! t$ r1 V% M始终只能打印出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, 2025-10-23 04:57 , Processed in 0.013279 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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