设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11006|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
1 f# g- A7 R1 z, h! _ private boolean findPotentialPartner(){
! H0 h6 R) w8 f* i  boolean value = false;
7 n( |2 }( e  A; g  
: x2 ~& r: O$ h  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
. M! b5 i2 ?# Y  Iterator iterator = grid.getIteratorAt(x, y);9 i" w7 q5 B# I" k$ x
  SexAgent ag1 = null;  1 i# |' ], Z2 k9 }* b  U+ R& {
  SexAgent [] potenAgent = new SexAgent[20];
# C# @; D/ s# r% g! R+ x; z  int goodNumber = 0;
0 W, u7 \& L5 ^  while(iterator.hasNext()){( w5 s) g# d! ]
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
" W3 s2 O$ y2 y0 f, d% C   ag1 = (SexAgent)iterator.next();
1 f; i6 Z& D% X6 z& R   if((ag1.sex == FEMALE)
5 j7 f1 A8 J, I0 ^9 Z     &&(!ag1.isCoupled())){
& p7 w# G% D3 E0 O3 z$ M    System.out.println("YYYYYYYYYYYYYYYYYYYY");* X) a, z7 ^( H; M) }: G; b! C
    potenAgent[goodNumber] = ag1;! l' b/ S5 u; r( {- k2 }
    goodNumber ++;2 u8 b. o3 b, @& j4 T4 A6 t7 u
   }
9 B. g" G6 `2 h1 w5 `( C  }
$ o) P: s: A5 K' C7 L6 t9 h- C% k2 p  & O. G3 e, S$ J; S; J
  if(goodNumber >0){' q' F- i8 H, ~
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); , b' w- L3 B4 p" U
     Random rd1 = new Random();
% L- z, P7 U; ^     int select = rd1.nextInt(goodNumber);
$ V. F- x/ n1 ]! s: W     potentialParterner = potenAgent[select];1 c1 t6 m3 h, Q& |! z
     value = true;
& H$ {. f  r7 g' T  }( }% B4 f8 @/ Y$ i0 i% c& p% G: G
    return value;
. Q" T; S& L. ^2 [/ n( i' m: b }
' R4 j  u1 b7 `; 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, 2026-9-10 11:59 , Processed in 0.015334 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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