设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10220|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
" o* c4 `4 z4 H) V! h private boolean findPotentialPartner(){7 u. X+ c0 Q* S. Z/ C1 r
  boolean value = false;9 e; G4 [3 e4 l
  2 J4 N$ I4 s/ `
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();- [, n4 m& ^( k- E; |
  Iterator iterator = grid.getIteratorAt(x, y);
: Z8 u/ \! c' s; k: _6 V$ k  SexAgent ag1 = null;  7 S) k" j3 O: @
  SexAgent [] potenAgent = new SexAgent[20];
% S, M( f5 k& @  int goodNumber = 0;. Y9 J( k. Z  D5 P) {2 u
  while(iterator.hasNext()){( g+ O# o$ |2 n% ]4 Q6 \
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");% b5 |1 E1 |; A' q0 `# i/ b1 @
   ag1 = (SexAgent)iterator.next();3 U! h2 V1 c0 J4 ^
   if((ag1.sex == FEMALE) 1 X' }* V+ [1 G1 U
     &&(!ag1.isCoupled())){
2 j- O; S9 D$ m! t    System.out.println("YYYYYYYYYYYYYYYYYYYY");6 [  e5 Y" Q4 P6 O
    potenAgent[goodNumber] = ag1;, w' n7 v& h+ ]7 `. w
    goodNumber ++;
: o0 S4 A# m/ f" O& s. i   }
& |* M1 K( o. {' v8 j& A$ O8 p  }
4 s* n* \8 g3 \% _1 S- X$ `  
, v; j9 p. G' S& r  if(goodNumber >0){
" K" g9 l& [6 {     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); : R# v! E! S/ F: i' C: J! Y3 f1 U
     Random rd1 = new Random();
6 ]. _) b' x: P- P" K     int select = rd1.nextInt(goodNumber);
. n* @# f2 m4 P     potentialParterner = potenAgent[select];
" ]5 s/ F9 [+ n     value = true;
! t7 I# J' E. K% X7 r  }6 E% b2 g3 Z0 v7 c
    return value;% F8 A* s/ y, g! A2 p% _# k2 w
}! @. O0 V1 Q/ U, Z- X
始终只能打印出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-2 09:20 , Processed in 0.012423 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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