设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9328|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。/ E; x  @" C( a6 X0 H2 }. X0 z
private boolean findPotentialPartner(){
. q$ q$ w) T: x5 T4 _  boolean value = false;) @2 Z( T5 `+ ]7 {2 {9 F" o4 S, Y
  
" F* F$ ~" D5 o  m: \. h  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();5 e! M' l; d$ h3 v
  Iterator iterator = grid.getIteratorAt(x, y);
- h) c' j9 h- D: \: W3 z. X  SexAgent ag1 = null;  
, v4 B8 Y4 c4 W" d2 Q9 Q  SexAgent [] potenAgent = new SexAgent[20];
! ~  H  v2 o) F" e0 V  ]  int goodNumber = 0;8 A/ a. I0 z+ W9 `# u
  while(iterator.hasNext()){* T5 Y0 G% H/ z' `, d
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");) a! n( {! G5 I: V: j; z) u; j+ j
   ag1 = (SexAgent)iterator.next();
/ L( f  t% j. I" j2 f; y0 N9 U   if((ag1.sex == FEMALE)
% @4 Z7 a& r) x. U! `     &&(!ag1.isCoupled())){
9 M3 J) t1 }; o8 N  g( y+ a    System.out.println("YYYYYYYYYYYYYYYYYYYY");
- P. p0 d( c  b  b    potenAgent[goodNumber] = ag1;
# S4 P2 k* W% n0 o5 l. Q3 M6 u    goodNumber ++;0 g& a4 B3 f: I. D* R& Y' g
   }
! [% \' N% Z* R7 q7 A1 Q  }
; E% Z; f/ d* L) J  ?' L  
) d* y8 ^8 F8 B( F$ [1 ~  if(goodNumber >0){
, ^( L  A1 j) G5 y     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");   Z* V% `0 ?3 T* S3 x7 l/ d. c
     Random rd1 = new Random();
( H) ?9 g! e( h/ U0 }) E     int select = rd1.nextInt(goodNumber);
# m! W+ O6 E& Y' {) p6 O     potentialParterner = potenAgent[select];
* z3 x$ ?: M# \3 S5 c" g5 b' e7 {2 i     value = true;
8 [6 A$ t) v- c2 Y8 Y+ a4 {  }* K; I" }$ O9 N- O, G
    return value;: z" R' e. L$ _8 Z4 v
}: t. J, b' ^; O' y5 X) I
始终只能打印出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-2-9 15:10 , Processed in 0.016319 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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