设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8251|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
/ p$ R1 E& A' f% Z, k6 N1 s private boolean findPotentialPartner(){& Y- e$ G( m3 A$ K4 n
  boolean value = false;
0 n# d4 F# Q) z# v; f: w" \  + E: F# E- Q# d8 ?2 n  i
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();- o$ U6 m: e" L
  Iterator iterator = grid.getIteratorAt(x, y);" l7 N9 i3 {  F9 ]0 e' M
  SexAgent ag1 = null;  " v* ^& w' P6 ~" u% ]" L
  SexAgent [] potenAgent = new SexAgent[20];! [  x1 l; l, T
  int goodNumber = 0;
0 T" A1 \( u  c0 F# {' N# L  while(iterator.hasNext()){
+ F4 v) f5 y0 h  F   System.out.println("XXXXXXXXXXXXXXXXXXXXX");( J- X& m& b9 r
   ag1 = (SexAgent)iterator.next();6 i+ j( W7 M9 c9 T( ?1 z
   if((ag1.sex == FEMALE) 0 x9 \) Z1 K" o7 s& h" N0 j
     &&(!ag1.isCoupled())){% l+ u( `. p) ~$ K
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
# _8 G- V, s* U$ S- ?    potenAgent[goodNumber] = ag1;
# K, ^* H$ N9 t9 T' r4 o& Z5 C    goodNumber ++;
' ?0 M8 [% i- T! F: k   }5 V% s$ o, S& f" h9 }
  }
7 j4 v; t9 J- H( @  
) [$ o  f& K3 Z0 U5 g7 }3 ~  if(goodNumber >0){6 f8 z0 `5 a8 `- f" b
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); ! X, E- w9 j# _& m* o) y
     Random rd1 = new Random();
0 T: `9 b. r" p6 y     int select = rd1.nextInt(goodNumber);7 w+ z0 I8 t, T& u+ k
     potentialParterner = potenAgent[select];
  d) C; u- ^- P" _     value = true;9 i7 I8 S6 M9 b# l) s) \
  }0 _- h' t8 y9 e. @* ^
    return value;
' \$ f2 C, g6 a7 X& X }
% ^% C% D. z, L5 X, C& ~3 C始终只能打印出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-9-7 12:17 , Processed in 0.017534 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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