设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10744|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。" N# b$ V6 ~/ f' l3 ^# ~+ a
private boolean findPotentialPartner(){
4 W' Y- W9 `2 T% n4 E/ a6 P1 x  boolean value = false;! R9 ?" [& v7 \! t
  
8 \& D2 ^. F; L7 `: c  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
6 j/ q4 L* `% ?0 G8 x  Iterator iterator = grid.getIteratorAt(x, y);% k/ x# Q8 z, ^3 I2 t, i9 a
  SexAgent ag1 = null;  & Q7 C/ [& S2 g
  SexAgent [] potenAgent = new SexAgent[20];
  [# D$ [  J- m9 t* {  int goodNumber = 0;
6 V# J( C4 ]% ~1 Q" C  while(iterator.hasNext()){& M/ U, v8 q% |* k$ ~9 K6 o
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");2 @/ W/ L2 l! K3 Q% ^
   ag1 = (SexAgent)iterator.next();2 y2 s% g9 |9 N: M- a& N3 Q
   if((ag1.sex == FEMALE) ! C) w+ m  g5 r
     &&(!ag1.isCoupled())){
: {+ S' F% Z8 o2 A, T    System.out.println("YYYYYYYYYYYYYYYYYYYY");+ X. T3 r5 x. M9 \( J
    potenAgent[goodNumber] = ag1;
, v/ e% w3 V, ?9 {( f    goodNumber ++;# A' h4 d' l; w  J0 V0 H9 l, l) j: ^
   }1 I, N: x  Z% I$ o/ m
  }
. S0 Z! ^  F$ b: Z  
( s2 C: K2 e7 ?; Z( z  if(goodNumber >0){  a0 q. o! v( ^( Z5 |0 u
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); 1 Q; d7 t; L( @6 t7 u! H
     Random rd1 = new Random();0 E6 Q- R( e0 a& P/ j1 c% T
     int select = rd1.nextInt(goodNumber);  e- f1 G" X9 H
     potentialParterner = potenAgent[select];  [' ?- j6 p- I9 v" `; |
     value = true;
* E# y4 A% y+ ^  }7 d: j3 z5 f+ Z* |- J) q
    return value;3 W/ y7 f" `* |* M* S7 @5 p
}" \* X( m0 \- D9 z5 x. @
始终只能打印出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-8 23:05 , Processed in 0.014450 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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