设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10208|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
) p# C/ }& ^% c' ^5 i# ^7 f private boolean findPotentialPartner(){
" W5 h% \* f. ~  boolean value = false;
+ F/ w3 w" t% M2 I# u. a& s  
6 |+ Y' M- t6 E1 h: ]# Y4 o  [8 E: T  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();. f: a5 F8 r! x, T7 X
  Iterator iterator = grid.getIteratorAt(x, y);
0 b+ a( f3 J& M' w  SexAgent ag1 = null;  % a: V! M7 L, R# d7 V0 E
  SexAgent [] potenAgent = new SexAgent[20];
# W3 t8 o4 J# B) z0 w+ b5 R  int goodNumber = 0;. E. W0 |- z* u. t
  while(iterator.hasNext()){- f+ v- ]: e1 ?
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
4 k# R, L9 O' |5 e; o! Z& X   ag1 = (SexAgent)iterator.next();( x; H0 w: I6 o1 D5 m- q5 Y
   if((ag1.sex == FEMALE)
; [9 P$ m/ L( w1 j0 x1 j" T- y     &&(!ag1.isCoupled())){
/ ]5 c! b5 ?$ M7 @' j: Q) U, p    System.out.println("YYYYYYYYYYYYYYYYYYYY");
1 o4 h8 i$ M% v    potenAgent[goodNumber] = ag1;! c3 W# h7 d: l
    goodNumber ++;; [0 g  d# S: C- x5 Q6 s  m
   }
8 m$ j  e* O( x  }) k6 U/ W/ n: K8 c' c  Z
  % |$ a/ m2 F' F/ G
  if(goodNumber >0){
; t: c& |7 X; W; S0 W     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 4 |* q6 w% I1 [+ _( I
     Random rd1 = new Random();
& r' o7 r& q4 d5 ]     int select = rd1.nextInt(goodNumber);6 V, H, q1 o* X" W
     potentialParterner = potenAgent[select];
0 H0 G) @9 l3 E; k     value = true;- q9 H4 f, b' C7 B
  }% }5 d4 \$ L% ^9 s( U! j
    return value;2 x0 q) G2 U8 D$ D
}
% z) g( B+ ~) k$ E0 n1 I/ ]; s始终只能打印出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-6-29 18:24 , Processed in 0.016613 second(s), 13 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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