设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10839|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。, U  t" M7 i* n; \+ t' p- m
private boolean findPotentialPartner(){# e) M  N/ o3 @
  boolean value = false;
% x* R; ^1 }  i1 b! v% J  
# K& w% I/ O! A  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
7 {. K4 b/ q) K' L$ B  Iterator iterator = grid.getIteratorAt(x, y);4 i( L1 g7 L* x  h
  SexAgent ag1 = null;  
) O& S) Z9 F3 l4 ]  SexAgent [] potenAgent = new SexAgent[20];5 Z4 o( O* a% Q( r2 ^+ }( q3 Q
  int goodNumber = 0;; R/ ^5 }/ A2 x% R* C7 I, V" u
  while(iterator.hasNext()){
, ^2 N" `* o, B/ [, Q. u3 W5 T   System.out.println("XXXXXXXXXXXXXXXXXXXXX");& O  d/ T- y3 L3 S7 P
   ag1 = (SexAgent)iterator.next();
' Q6 t( F1 C( g   if((ag1.sex == FEMALE) 8 i  ?0 ^' Q7 X
     &&(!ag1.isCoupled())){& y8 F0 w# P8 @, v
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
' y/ ~0 r9 k' Y0 r: I    potenAgent[goodNumber] = ag1;
0 c) ?6 k- a9 g: h# m, B2 s    goodNumber ++;
, {( F, L( N3 i  c1 S9 {   }
7 i7 a2 E: a, ]/ h% u5 Z  }) R: y5 \$ n7 f7 p; M  N2 ^
  7 X6 z) @5 x4 \  `
  if(goodNumber >0){$ L+ l4 }- F/ g7 r; J
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
; }. G) k' J1 d- t; Y3 Q! R; ?- \8 O     Random rd1 = new Random();& {  l$ x9 t; ]
     int select = rd1.nextInt(goodNumber);
  L- m7 ]; R2 k3 i9 K& J. S4 D     potentialParterner = potenAgent[select];
' b1 U' {4 S" \1 _  H     value = true;6 X  ^  F6 Z7 A' w% |9 U  A
  }
* s& _) x: ~' e    return value;( A, G1 R3 B- Q! U" e
}  w) |+ |. F6 U- _" a7 v
始终只能打印出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-8-21 00:17 , Processed in 0.016108 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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