设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10699|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。  F8 Q# {4 w+ K/ G; F, w
private boolean findPotentialPartner(){' d4 p$ ]$ O# M, V. ]
  boolean value = false;9 j: p' y: s8 N( f* [3 Y
  
% B) H" F* [/ @' S& p4 x  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
) v  K: u! }0 _# y% K4 q  Iterator iterator = grid.getIteratorAt(x, y);
' G  K( B! h1 j5 ?  SexAgent ag1 = null;  
' `  s' x' b9 u  SexAgent [] potenAgent = new SexAgent[20];
) z: l, n4 L. S6 `" l  int goodNumber = 0;
6 }% ]- J& H0 |9 x  while(iterator.hasNext()){$ d1 n; F" l' u/ o
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");2 |+ [0 _$ v+ U) `" d8 U
   ag1 = (SexAgent)iterator.next();
- p5 @2 s# ~. m( j3 Z( h/ T   if((ag1.sex == FEMALE) 9 E2 c; ^+ t5 P% i4 T8 x
     &&(!ag1.isCoupled())){: k: t* ^0 Y7 ~
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
1 D( T, d. L4 s' {# X) y! \$ W% Y    potenAgent[goodNumber] = ag1;, h% u3 F& V" \2 v
    goodNumber ++;
9 A, L2 _/ Y& q3 ^) h# k   }
* u+ K) f  G. H. C  }& k( `4 a' H! j$ d2 d  Y+ A' k
  5 X& a$ z1 `( i. X
  if(goodNumber >0){" u  N' V- |$ A$ Y
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");   ^8 F) k1 @, M4 o( u
     Random rd1 = new Random();
, [9 G2 o. Q9 |. s7 Q     int select = rd1.nextInt(goodNumber);) S2 c0 O5 |; @' H7 s& J+ `
     potentialParterner = potenAgent[select];
: d; \5 n4 p* C, o  ]     value = true;: R5 v7 H9 l6 n- w, t, x  o  i, T
  }
/ |% U* n0 ?1 j1 \4 ~# U4 l: L5 X    return value;. B- S& r: W, J+ {1 a
}
1 B4 `0 z. H( w; I; F4 u% `5 p* L始终只能打印出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-4 22:45 , Processed in 0.013961 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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