设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9648|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
( e3 I' F, |+ t* g: x  v. q" d private boolean findPotentialPartner(){" n- _, h+ p. r
  boolean value = false;$ I5 t( \! U2 \% H$ G
  + G( t+ Y; e# C  K
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();( @* x8 L) q- |9 O# ?
  Iterator iterator = grid.getIteratorAt(x, y);- Z" r. H/ O; }- c$ K
  SexAgent ag1 = null;  6 i. x0 E) Z- w0 @
  SexAgent [] potenAgent = new SexAgent[20];
* |1 g- d  E5 ?6 x) h  int goodNumber = 0;2 }5 x8 v. k2 Y' u1 U& Z! l8 G
  while(iterator.hasNext()){
7 ^9 t9 ]  h( v   System.out.println("XXXXXXXXXXXXXXXXXXXXX");1 l# ?. W9 }  z& u0 Q
   ag1 = (SexAgent)iterator.next();
8 [! c/ {% {1 Z0 x5 @; [! q   if((ag1.sex == FEMALE)
: [9 f2 L% A) q8 g     &&(!ag1.isCoupled())){
& a* W1 @9 ?* I    System.out.println("YYYYYYYYYYYYYYYYYYYY");
; A: [. V4 Q; K4 v( N    potenAgent[goodNumber] = ag1;4 T" `, `2 B! E  g2 X
    goodNumber ++;
% ]) }3 S" r$ r! F" ]   }
# [* T% X3 M1 E% f0 D' y+ l  }
) E+ x! t, l  Y4 W( `  & i, Q5 c; t, O- v
  if(goodNumber >0){6 I& d9 A3 M; H" L( w# ]7 p. f
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
2 v* q2 G7 ^+ W+ B( U     Random rd1 = new Random();
2 I- g4 z9 X3 s8 N5 R7 N     int select = rd1.nextInt(goodNumber);
1 u1 t4 w! ~! d( S$ U+ P     potentialParterner = potenAgent[select];
$ g' u; Z- R3 j5 o     value = true;' p3 X2 J: @( a  v/ d2 {) D0 B5 h
  }
' u: e8 p$ o  t  C4 [    return value;
9 P6 `; p& C6 w, @ }
2 x$ T0 j( ^2 G! F! C/ t" a( ]  T始终只能打印出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-4-2 00:47 , Processed in 0.017060 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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