设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6489|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
* u' W" O# c! A; { private boolean findPotentialPartner(){7 P3 K6 h( \1 n& O% b' l
  boolean value = false;
' v  F) I+ O* n( u% D/ Q  
- v: w, U5 x/ H( f7 q  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();7 H) r$ w9 ?# ]3 T/ n8 G) i
  Iterator iterator = grid.getIteratorAt(x, y);+ S6 a# |; c  j* Y
  SexAgent ag1 = null;  
5 \* y$ Y/ u% E  SexAgent [] potenAgent = new SexAgent[20];
2 e6 X7 \+ b( y; R, s  int goodNumber = 0;
1 d) Y, M0 W) }7 a2 C" V) ?  while(iterator.hasNext()){
: F$ G0 {; l7 z1 C   System.out.println("XXXXXXXXXXXXXXXXXXXXX");, t% W4 N' b3 O6 \
   ag1 = (SexAgent)iterator.next();
! z0 @; d9 w; j% B9 G( B  z   if((ag1.sex == FEMALE)
& K# i; \$ G- ?0 q) c$ f     &&(!ag1.isCoupled())){
8 n9 E7 M# ^1 M4 V6 y0 t5 H# p4 U& s    System.out.println("YYYYYYYYYYYYYYYYYYYY");
; _" d5 j5 Z4 S$ E7 o1 D    potenAgent[goodNumber] = ag1;; m/ P: @: g. c6 D1 z8 ]3 X( H
    goodNumber ++;
9 s% y4 w% n' Y9 `   }
* `6 B+ p8 }0 c  }
% {& `0 v* J, g" d% T  / Y0 A' b! _( C# V# H4 T2 {
  if(goodNumber >0){/ H5 g$ U5 H0 a2 @
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
& h" {, a; }9 k! x     Random rd1 = new Random();
# y' J+ v6 J& _) }* n     int select = rd1.nextInt(goodNumber);
# X$ R* g+ W6 I8 e0 V     potentialParterner = potenAgent[select];
# @' H9 k) U4 {) Z, ~/ C; O. z     value = true;; M2 @. i% `5 d
  }7 O* {. O) Y2 V. ?8 o8 ~8 A
    return value;
, w% v* o' M9 `# Q! |  g }6 H$ G; C3 S% k" S- w
始终只能打印出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-2-8 17:25 , Processed in 0.014656 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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