设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10789|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。0 l& [; d6 l3 h2 u) E& G! I
private boolean findPotentialPartner(){, `' v: r; ~$ ^6 \8 K
  boolean value = false;6 p, z5 a: t% t# F0 A$ p
  
, H5 Q$ `0 U. w  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
2 e- o2 E# v$ f+ ?  Iterator iterator = grid.getIteratorAt(x, y);
( a/ h0 c) r0 Q3 N, A+ C1 f  SexAgent ag1 = null;  - p7 V; M# S) C- n: x
  SexAgent [] potenAgent = new SexAgent[20];
1 f7 O, n& G/ S" M) _! ~  int goodNumber = 0;$ R! u2 }- k% M! h
  while(iterator.hasNext()){
% d# y% N. \" }4 M   System.out.println("XXXXXXXXXXXXXXXXXXXXX");0 a4 C" G6 o0 T
   ag1 = (SexAgent)iterator.next();, S8 I' e0 t: R' Q: P7 w) T
   if((ag1.sex == FEMALE) & u' N& E" P. c+ A; v! j
     &&(!ag1.isCoupled())){
' R' U) p7 w1 L; T0 r* U; u$ \) e    System.out.println("YYYYYYYYYYYYYYYYYYYY");6 V+ M6 p% H4 X( T
    potenAgent[goodNumber] = ag1;" ?8 R$ Y, |. W
    goodNumber ++;8 s3 G$ P: x* T
   }* T3 i! j/ P: R# a2 ]! r
  }
2 Q+ Z1 ]7 V' ~1 M4 {, K& q  
( q+ y  T7 ]5 ?* t" E  if(goodNumber >0){
2 l+ C; ^) K& W' S     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
2 F' [5 o( j; A8 _1 g9 K     Random rd1 = new Random();3 G' M0 |9 }1 A6 y, L4 y% [# m
     int select = rd1.nextInt(goodNumber);# Z# C; n& E, ^& V3 ]
     potentialParterner = potenAgent[select];
4 e5 B8 |8 ]3 F8 [  t! e5 z     value = true;
. [3 O9 B1 z1 X8 A  }8 N/ l. j% T. L: j
    return value;
7 h# ]7 Y+ |# Q. I }( `0 ]$ _2 _& ]: A! {1 w+ Z7 D
始终只能打印出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-14 11:40 , Processed in 0.014211 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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