设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10252|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。, p5 ~! m2 M: ]5 S: t
private boolean findPotentialPartner(){
! Q4 o5 X9 g2 R& t  z% ]  boolean value = false;( Z1 I+ ]$ Z% Q+ [' q, P) B8 q
  ! Y" ^8 i) i, ?) \' o  i
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
; t7 I: A0 k# Q  Iterator iterator = grid.getIteratorAt(x, y);& q4 a/ W6 n9 Z4 S
  SexAgent ag1 = null;  
% R# `4 L! [! y: x, x0 i* u' g5 _  SexAgent [] potenAgent = new SexAgent[20];
' |, H( k7 R: M. T' _( z  int goodNumber = 0;
# C9 t  B# S$ x) z  while(iterator.hasNext()){3 W! ?# J. q; D/ p
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
& q  S2 r8 P8 T, v   ag1 = (SexAgent)iterator.next();$ [) r$ x/ J; s+ I
   if((ag1.sex == FEMALE)
( G- X* K" p1 r& q$ U     &&(!ag1.isCoupled())){
- s; `! h+ R/ {, k: E. G8 n    System.out.println("YYYYYYYYYYYYYYYYYYYY");
; d: q/ y5 m9 s5 g    potenAgent[goodNumber] = ag1;/ r5 k2 F& r* s0 y) s* ?
    goodNumber ++;
7 G; r) O- D2 O  Q& \- v   }3 v! `* y1 S* p, H/ |
  }
7 V8 U( P% E0 h8 |: {. P( k3 h  ! ?+ R/ r; U7 w4 R9 v8 h
  if(goodNumber >0){
4 f. u8 N0 Y8 \     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); , W6 ?9 B9 k' r9 G: J% z
     Random rd1 = new Random();
! t- P4 ~0 t; b7 }     int select = rd1.nextInt(goodNumber);
5 Z& O$ ^; G5 l/ L. _     potentialParterner = potenAgent[select];8 M$ m+ [5 W% M6 x! q' g( v
     value = true;7 L8 j7 ^. F. d: G# s1 c! y
  }2 M$ L: i# v0 Q: t( A/ W
    return value;
9 I- ?+ \. J$ T4 j, L' p3 i }
+ c- t! T7 j& [/ g8 Y$ y始终只能打印出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-7-8 14:53 , Processed in 0.013256 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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