设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10878|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。* d5 p& g. k0 X7 |
private boolean findPotentialPartner(){
. s  [& [& M2 \: n9 f# m  boolean value = false;
& T7 j2 G4 F/ ?1 D& d! Q: m  " e3 k5 ?7 e; n' C  D6 F
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();: p/ m% _9 P7 L; A) G' f% j
  Iterator iterator = grid.getIteratorAt(x, y);
$ F- I: J; U4 X  SexAgent ag1 = null;  * A/ f" C3 u  u9 B& c" g
  SexAgent [] potenAgent = new SexAgent[20];
  i4 t, e6 ]* k& v+ ~  int goodNumber = 0;* T; \; M) N4 C, S
  while(iterator.hasNext()){
3 A9 a1 l* q* z5 y   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
- H* f3 x8 I( _2 Q   ag1 = (SexAgent)iterator.next();3 c0 b" d8 {- Z: ]7 I1 ~$ l
   if((ag1.sex == FEMALE) & D# K& u. B9 c7 S& b
     &&(!ag1.isCoupled())){9 Y3 m( T" v( ^4 [- ^) T9 T) W* j
    System.out.println("YYYYYYYYYYYYYYYYYYYY");: g8 N: z5 z/ h( D+ P: P, W
    potenAgent[goodNumber] = ag1;7 N5 K8 z7 @& `
    goodNumber ++;
6 W7 |3 ~6 m4 T: w   }" C$ R5 y. ~. G# k+ L# P
  }
1 Y$ j0 y, F, m3 L6 t$ Q  # E* S. }$ V3 Z3 q4 O9 T
  if(goodNumber >0){1 L: q6 u- G  Q2 P3 b
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); $ ?4 j! Y7 H5 H: P/ ]9 a! \( A
     Random rd1 = new Random();9 d) j# R( |# z; z) j, P
     int select = rd1.nextInt(goodNumber);% u0 w5 }! H- T9 o, A
     potentialParterner = potenAgent[select];
# b5 X2 V" j+ m- J5 p5 x     value = true;! i6 O( z) D+ S* l( @) a
  }- t0 c) @. T# B, i" ]0 u. c
    return value;
* y' e. B( U4 l6 ^1 A6 O }
- |- s& j$ Y( Y. T始终只能打印出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-25 18:58 , Processed in 0.013235 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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