设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6221|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
0 X& K+ u. O8 P! y! I7 Q private boolean findPotentialPartner(){$ G  B( ]# f0 @! B" e; r. ^, }
  boolean value = false;" r5 N. P1 v1 P* K" }$ V3 o
  ( T* v% K2 q) z$ ~/ }2 L0 F0 N' D) |* K0 k
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();; a( K( K0 n" ^- p5 E
  Iterator iterator = grid.getIteratorAt(x, y);
* K) U9 ]6 M# L" x0 u  W  SexAgent ag1 = null;  
% [. n: d' h1 J8 Q* k8 d3 H4 q  SexAgent [] potenAgent = new SexAgent[20];
# d  i( T7 I% D+ \! T  int goodNumber = 0;; a: K: }7 Q' S1 ]" A! |! ]
  while(iterator.hasNext()){
2 z/ {- m' M' c; P   System.out.println("XXXXXXXXXXXXXXXXXXXXX");' M& w# [( B; b/ e% {" K! Q
   ag1 = (SexAgent)iterator.next();
! R) E, G; C) M8 @# F0 X! f   if((ag1.sex == FEMALE)
6 E3 p& S) D  S8 {7 k$ O1 o+ G     &&(!ag1.isCoupled())){7 q& u( u- Y/ J- z) ?5 |
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
, q: ?& x7 h4 h8 U4 q    potenAgent[goodNumber] = ag1;" ?; d1 F% t; T) ~  T
    goodNumber ++;
5 s5 m1 j' C& Q. J- [   }9 j/ z* x; I2 S6 K' X6 E& V
  }
7 r9 I7 w) L. n: |+ U" b. i; Q0 O  
8 }, u" x* Z% x0 x: @8 z. a  if(goodNumber >0){
6 h7 W, U; i6 ]) e  ]5 r     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
; E4 I& C7 C0 V1 [# T) T* a0 y     Random rd1 = new Random();
  T9 Q3 N" `* |& B& C  j9 I2 R5 ]     int select = rd1.nextInt(goodNumber);
2 x' u, T! H3 o     potentialParterner = potenAgent[select];
, m" Y5 {" ]! M  ~+ I     value = true;- o; n& w# t2 W* v. h. P
  }2 c; r! a- F) v
    return value;
% `- a+ a2 F$ z; }1 m( c }
2 Y+ H& I1 F/ X7 \始终只能打印出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, 2024-12-1 13:06 , Processed in 0.016432 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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