设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10809|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
+ ^' S2 w& y( {2 t private boolean findPotentialPartner(){
, J* D9 t9 O# B% h$ ~  boolean value = false;
( i+ |7 [; [. Z  s" _& k, ~8 o  8 e( }. s1 k/ `3 \  ?
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();( L: |, m7 f, J% B* z/ w/ h
  Iterator iterator = grid.getIteratorAt(x, y);: b  @- r( P! m8 M) I! ~
  SexAgent ag1 = null;  
6 v1 H" a6 E$ \  SexAgent [] potenAgent = new SexAgent[20];
" l% m' {" ]2 Q. t% N; z  O  int goodNumber = 0;+ ?/ ?! t, y$ A# n5 ~" W0 Q; v: k
  while(iterator.hasNext()){
0 D4 T) }+ \, `2 y: ?   System.out.println("XXXXXXXXXXXXXXXXXXXXX");; p2 F. y) H8 i
   ag1 = (SexAgent)iterator.next();
: z8 P" w% y2 [( @9 [- {   if((ag1.sex == FEMALE) 9 H* j+ K0 g+ A$ A/ b/ E
     &&(!ag1.isCoupled())){* k# D) e! H' G9 W* T: n) c
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
$ i7 J! x- U4 F9 B/ w1 D    potenAgent[goodNumber] = ag1;0 N9 L7 q; E* t+ s% U
    goodNumber ++;7 l% T3 f' v2 Q" S) \
   }) a. x; S7 K' R7 ?
  }$ @# s. S& ?" l- m5 x9 x/ R- x
  & g3 T4 X# _6 R
  if(goodNumber >0){& V) v( h# r, Y2 ]- o- ^
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 6 Q2 v1 K/ X* P5 A& s) P
     Random rd1 = new Random();! S6 }8 A* B3 `% r1 i6 s. U7 A. a
     int select = rd1.nextInt(goodNumber);# q$ y" ^+ }  g! g! @
     potentialParterner = potenAgent[select];
' p+ `; y' F& }$ f# O     value = true;2 r  r. M! H& i. y# X
  }9 b( y) ^5 `9 H5 T( w" u  K
    return value;
  l; f+ p; x: r }; P$ w1 N1 y2 v
始终只能打印出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-16 13:42 , Processed in 0.019906 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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