设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8129|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
/ ^# ]% f# U: n" ?5 K private boolean findPotentialPartner(){  f' n" I( ^" [6 @
  boolean value = false;: G; `7 t3 x) P" U0 m
  
1 j& Q! E$ u# }" P# D2 O8 C! F1 g1 G  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();6 {  Y2 z: W0 a, w* u
  Iterator iterator = grid.getIteratorAt(x, y);
. \+ V: V+ Z  {  SexAgent ag1 = null;  
% n6 H, j/ i! \/ r& W/ C  SexAgent [] potenAgent = new SexAgent[20];  N, j# x. T: r: @
  int goodNumber = 0;
2 k' C# J. C  U% }  while(iterator.hasNext()){1 e) |& h4 J! T  {" o* U0 G  D
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");- H3 w- \( E9 p+ s9 R; T- [
   ag1 = (SexAgent)iterator.next();
+ A$ w9 |" h' M' I9 |; x   if((ag1.sex == FEMALE) 2 O$ C- V* O8 a; y% p
     &&(!ag1.isCoupled())){
' G) ]1 w5 z& c& u    System.out.println("YYYYYYYYYYYYYYYYYYYY");; a  U3 l4 }5 O3 i
    potenAgent[goodNumber] = ag1;
2 Z  B5 z$ u  `    goodNumber ++;, X8 @; u" Z; x5 |" g
   }& b4 f6 ~- y- W4 P% x2 ^% W
  }# k7 s" \' b. }  O
  7 n( L8 q5 v/ A0 J3 ]
  if(goodNumber >0){. \1 i$ q7 R# h) R
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
9 ^- I3 ^1 H# q9 V, Y9 K     Random rd1 = new Random();
& U( s& S; }( |8 n( @     int select = rd1.nextInt(goodNumber);+ r5 y% ]9 o, W
     potentialParterner = potenAgent[select];7 r' x, l1 m1 h! O' L* {: y4 g+ p
     value = true;
4 A2 J* B. c. P1 M# Z# e6 P  }9 ^2 Y9 x3 k1 O# ?. Q
    return value;
/ I" R- x5 o* b" X }' U9 [9 b/ i. p; s
始终只能打印出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-8-17 21:38 , Processed in 1.693461 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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