设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9127|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
/ @4 U+ c. J# S. ~7 Y  H# a: O/ e" u7 t private boolean findPotentialPartner(){
, l, P* H7 b, q  boolean value = false;
% p4 p* s, k6 Y8 Q' R* p, D7 ^  
" Y2 E  B; h8 c( ^% G8 I  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
" k- H' c' O! E! y  V  Iterator iterator = grid.getIteratorAt(x, y);  @. l7 g3 }8 L/ R# N9 p
  SexAgent ag1 = null;  % }( Y  S$ ]/ A8 K+ A
  SexAgent [] potenAgent = new SexAgent[20];
# A' M0 U8 I5 P  int goodNumber = 0;3 ?& f9 c- r" l" `- ~% ?1 f: U
  while(iterator.hasNext()){
9 U* f  d: ^0 a0 S   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
+ U5 m$ |# G2 t$ F8 e: Q   ag1 = (SexAgent)iterator.next();2 T! L" q0 J" X% y. Y6 y& }3 _
   if((ag1.sex == FEMALE)
& D8 B! l; h/ j+ i7 C2 I     &&(!ag1.isCoupled())){
3 F2 f: r  h! o: J0 Q2 ?, C5 _4 x! Z    System.out.println("YYYYYYYYYYYYYYYYYYYY");/ m; o  r# j: K  U2 n5 C  M
    potenAgent[goodNumber] = ag1;
9 ~1 v4 P" C  k9 {8 M3 c    goodNumber ++;! K' g  r! n" [; Z# K
   }% E3 g1 O! c+ p
  }0 F- s3 z" `4 W( h% s9 I
  , h* c, E) m+ j7 p$ F, T/ W. x0 I. G
  if(goodNumber >0){
6 [" h1 m3 S7 i8 V     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); + X# V/ J9 K0 i3 W9 x
     Random rd1 = new Random();
$ t' z& K4 s. c/ Z" ?# m; A     int select = rd1.nextInt(goodNumber);" K2 s9 P+ L  \9 E2 L( U
     potentialParterner = potenAgent[select];$ Q/ d9 }2 j- s# y% }4 g9 K
     value = true;
4 s/ K0 S% R: k7 Z5 f0 U, w# o  }9 w0 G, X7 Y* W) {# }% b1 h6 j
    return value;6 q6 L) c# K1 W4 u8 c  \! s# _
}5 `3 ?) Z! E# s+ X  [$ n5 b0 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, 2026-1-5 16:56 , Processed in 0.024220 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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