设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10748|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
% E2 P" g& _; a6 E# V6 P# y# h0 r private boolean findPotentialPartner(){
' U+ _  o, z5 U1 u' T# V- j) }  boolean value = false;! k. T  b8 Z1 }) a! w
  
9 T9 @1 c  `( f7 A& F  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
9 @5 y; h: Y0 r+ g  Iterator iterator = grid.getIteratorAt(x, y);3 k6 n6 N( V( `- A
  SexAgent ag1 = null;  * P5 Z4 ?% c  a% t' A4 [/ \
  SexAgent [] potenAgent = new SexAgent[20];
5 x9 k# ~/ I+ m. B1 O  int goodNumber = 0;+ r8 i# W- p( g, p, ]/ O
  while(iterator.hasNext()){
4 H3 L, q, i9 E   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
% u2 C( h+ u! `9 B   ag1 = (SexAgent)iterator.next();' x- [) D2 Y) _8 F
   if((ag1.sex == FEMALE) 6 x; b, T; D, {4 R' g- U
     &&(!ag1.isCoupled())){
+ O- S6 ?. B, c7 C& l    System.out.println("YYYYYYYYYYYYYYYYYYYY");
1 @5 H) B% b. i9 p    potenAgent[goodNumber] = ag1;
& w3 n2 S( L+ X. I/ j    goodNumber ++;! }: W  i& Q* d
   }
$ K: e! _) [, T& p$ ?: q$ y# n  }2 k; u5 S% d  [2 L3 T, g  o
    t) k. g9 H% X. {
  if(goodNumber >0){1 U9 @$ E" A8 x% d2 Q* I0 M
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
: t5 W" M; B* \+ r/ w6 R     Random rd1 = new Random();2 u+ H9 K7 c+ o# A% n
     int select = rd1.nextInt(goodNumber);
! i& P+ t/ A( R3 G* w' i+ Y) x     potentialParterner = potenAgent[select];
+ P- D' s% u& Q; s! v& u     value = true;- P0 J! L+ s6 p
  }# x' i& L5 ?# J& |
    return value;4 r4 t( _2 ^0 a# f0 ^( l# w' D
}
# S$ F  D9 E' s; t8 A% l% v$ d6 _始终只能打印出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-9 16:48 , Processed in 0.017804 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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