设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10545|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。- L) H9 H* C/ P0 h3 p
private boolean findPotentialPartner(){
. ]! B. G. @1 q( i  boolean value = false;
5 r7 y+ y4 ]; E  
. X& p. N% b7 _; w: p, z. N  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
( K( g, q6 \* R  Iterator iterator = grid.getIteratorAt(x, y);/ G) m5 A" r3 F/ G2 `! a  I- [
  SexAgent ag1 = null;  9 o  W5 I4 l5 v7 h1 e
  SexAgent [] potenAgent = new SexAgent[20];
5 x8 ?4 h! l& |  int goodNumber = 0;
5 k1 M% e& |. v0 z  while(iterator.hasNext()){
7 T9 W& v1 T, T5 g) R, S/ v   System.out.println("XXXXXXXXXXXXXXXXXXXXX");4 [( Y) o, O& ~
   ag1 = (SexAgent)iterator.next();
7 E# p: E/ S+ c, t   if((ag1.sex == FEMALE) 1 K/ R- Z4 z9 y3 V
     &&(!ag1.isCoupled())){; e  b# t: m0 s6 U$ G
    System.out.println("YYYYYYYYYYYYYYYYYYYY");1 n9 E/ f6 l' K8 |; d. t1 \
    potenAgent[goodNumber] = ag1;
: V5 H. q* w" x( y- N" t    goodNumber ++;- |# G( a0 }. R6 z3 D$ \* d
   }! F+ ^$ M2 w  Q0 W
  }; Q. Z7 z7 b. I# D% z, u: I1 X0 H
  
# I2 ^, K0 p0 B  if(goodNumber >0){
5 K; ?7 P5 f( F* v     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 3 u; F- A8 X) M( \3 F
     Random rd1 = new Random();8 Z' u( M1 d, s* m
     int select = rd1.nextInt(goodNumber);, T+ F0 s* p) k5 o) `$ @
     potentialParterner = potenAgent[select];: D+ h: [8 z9 o5 y  R# x' Q
     value = true;
( E1 B% h$ |+ Y8 N9 l  }
- p% ]( I6 l7 y9 y3 `6 a) Q) i. b/ a    return value;
; u8 K; m  S7 o) R }
; ]  _1 ]1 E0 z% p- D始终只能打印出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-7-27 11:00 , Processed in 0.013003 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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