设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10005|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
6 ^5 r. ~% s9 r. x  q. T private boolean findPotentialPartner(){8 y% o4 l4 M  M0 r
  boolean value = false;! {3 ?5 [* o. g+ c/ V; u4 l
  
2 k8 r! \; K* S4 E- l: l  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();" ^# c: s, D5 h9 q; J
  Iterator iterator = grid.getIteratorAt(x, y);
, ?$ h5 v1 F4 K* d  SexAgent ag1 = null;  * J8 C6 V. F3 F4 x! o  t
  SexAgent [] potenAgent = new SexAgent[20];! \8 }- M. q$ [+ e( @% F. ?1 P
  int goodNumber = 0;* S; n( G- x( i& ^1 V
  while(iterator.hasNext()){0 a# B  ~: Y2 p
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
1 \7 _. D7 [* `   ag1 = (SexAgent)iterator.next();
4 z1 x; q' e8 a$ G/ T4 b# O2 L   if((ag1.sex == FEMALE) 7 Y( c) t. p' {7 Y
     &&(!ag1.isCoupled())){, S$ V% d' W9 v
    System.out.println("YYYYYYYYYYYYYYYYYYYY");5 Z9 R1 d, i9 f3 Y
    potenAgent[goodNumber] = ag1;0 ^7 _! A. ~1 `( R0 m
    goodNumber ++;) o3 n5 I/ [# W3 D& T! @
   }" h6 i! i3 ]. f' f# b4 O! g
  }! v4 y) ]  a5 P& G! Q' H4 E
  ( l3 D, [9 [$ r: A8 m1 V7 z
  if(goodNumber >0){7 A9 ]7 X; Q, _7 o  f; B& b+ q- W
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
4 a" h; u% a/ [+ H     Random rd1 = new Random();4 z" n& j* @) p& s
     int select = rd1.nextInt(goodNumber);
3 L6 }: ?+ \  w9 U     potentialParterner = potenAgent[select];
4 `3 F, }* d) o2 ~8 R     value = true;
! ^! \& ~3 S; S  }
% u5 p  @* O" U  G1 P0 `8 P    return value;5 h5 _% Y: f8 n7 x/ H
}9 ]' M5 t  B) Z. Y% l" r
始终只能打印出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-5-28 00:52 , Processed in 0.014804 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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