设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11182|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
  \( N3 J! U: ~; P private boolean findPotentialPartner(){4 x+ ~# E3 C2 l8 G7 a& P. u6 k
  boolean value = false;
! B# J- x* L# @  * A- y% V. j8 h
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
. R- ^" w8 h$ C: ~) `  Iterator iterator = grid.getIteratorAt(x, y);
- ^' E3 j0 {3 s  SexAgent ag1 = null;  
0 s  p' \3 u$ |+ d* K8 a4 _' W  SexAgent [] potenAgent = new SexAgent[20];
2 O, z. l/ e; ?: p  int goodNumber = 0;4 Q- }9 d- `" l& q- \/ A  u% V
  while(iterator.hasNext()){
, y9 {3 r& }- N1 H9 f4 }   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
7 E: M/ R; e, @6 U8 f   ag1 = (SexAgent)iterator.next();
$ u9 T4 ]  L7 a; g4 D   if((ag1.sex == FEMALE) 1 j* E9 a) r  U7 z( j
     &&(!ag1.isCoupled())){
1 u  E+ r2 ~- \* b    System.out.println("YYYYYYYYYYYYYYYYYYYY");4 D( f, o  f" [, D9 z: z( w' N
    potenAgent[goodNumber] = ag1;) B0 W! o$ I2 w3 O
    goodNumber ++;8 C1 I% a5 n$ o/ H
   }
  Q* Q$ W5 E2 p  \+ |  }
8 s$ u. s) R9 B4 O; w1 A* B  0 U! G' J1 M2 _$ I. p
  if(goodNumber >0){! j4 R" O# T9 |& J) x
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 9 }" w1 _0 x- Y. I6 q$ w
     Random rd1 = new Random();
8 z& ?6 O( g4 y. i) a; @' o     int select = rd1.nextInt(goodNumber);
1 k/ h" Q0 Y$ E) W; K3 ^     potentialParterner = potenAgent[select];6 t6 Y+ ^% [/ s+ F2 n1 k
     value = true;% r! f1 u+ b& v1 f: y% e9 M+ @+ L
  }
) y/ G/ m, h) v! v    return value;0 _: U/ d4 l# m1 z1 Y; J5 g% J2 i
}. T* q9 t5 D+ }) M' 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-9-22 15:08 , Processed in 0.011917 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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