设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9657|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
5 Q' ?( @( j0 _- o private boolean findPotentialPartner(){
* W! P& L4 ?$ A' _9 l& y  boolean value = false;2 F  f! M  Q" h2 f9 ^( G) Z9 z9 m/ I
  ' A- V( O  L+ u' ]% G
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
0 l. o! }$ c9 @9 C  `( P6 K  Iterator iterator = grid.getIteratorAt(x, y);4 b8 O& }7 [" ]' m
  SexAgent ag1 = null;  % Q: x' Q) N5 d) B, M# t8 K( p3 @
  SexAgent [] potenAgent = new SexAgent[20];
, |, Y1 p; t2 g" s# V' k  int goodNumber = 0;- ^2 y! h/ x* }2 ]$ O, A5 x9 u
  while(iterator.hasNext()){" \5 d# ~3 i0 }4 c
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
4 i3 z/ Q! D7 f1 z+ X. b   ag1 = (SexAgent)iterator.next();
& T0 D2 _& X! \4 x8 F1 D  m$ y   if((ag1.sex == FEMALE) 8 J* x/ A( R8 G' y5 Z# R7 K% e
     &&(!ag1.isCoupled())){' D8 C( @$ Z2 T0 m+ f" ~
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
8 `/ Y/ l* j9 Q" m  y: l5 `) l2 |    potenAgent[goodNumber] = ag1;) d4 x* B+ Q" |4 k+ G
    goodNumber ++;
' k, m$ t5 W" i5 J8 R  w# ~   }$ I. d9 V7 k: L, c9 b# T
  }
: r" E# i1 w) l& Y: ^  : f9 J" ^6 [. a# {1 R
  if(goodNumber >0){) G5 S; `& M  a6 f5 \0 r
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
8 @" S: ], Y& \6 @) l- f- t: y     Random rd1 = new Random();9 c' b* H% {- j& S9 j
     int select = rd1.nextInt(goodNumber);
3 B" H9 m; O& {1 l2 ?' O* b     potentialParterner = potenAgent[select];
% `$ d9 [6 ?' v* N2 |1 T4 |     value = true;) @; R% q3 L- Z3 R
  }
0 O# Y/ M: \% ^( H% p+ y$ h    return value;
& n8 U2 g( Z$ ? }3 i0 m6 c: A  b+ g9 O: y" H7 W3 b
始终只能打印出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-4-3 04:15 , Processed in 0.015228 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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