设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10968|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。
! B# j, f2 x4 F3 q1 @0 O2 ` private boolean findPotentialPartner(){
, \- H+ M( B  ?/ v: a  w, V  boolean value = false;
% p: F; k: I6 t3 y) a: D! c  ) f4 g5 f: R4 m
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();: ~! T' W; Z/ g
  Iterator iterator = grid.getIteratorAt(x, y);( k0 N3 O$ |/ g% ~2 j5 v. ^/ }
  SexAgent ag1 = null;  5 V) z% A6 f2 t2 `
  SexAgent [] potenAgent = new SexAgent[20];# |. }2 X5 N& H: ^" z5 b
  int goodNumber = 0;+ n2 H7 F" E2 W
  while(iterator.hasNext()){% X* J9 t2 b" r# l
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");" Q& k# `4 g2 d
   ag1 = (SexAgent)iterator.next();
3 R" g  c7 r0 g   if((ag1.sex == FEMALE)
8 W1 N+ j" \; Z6 Z* x     &&(!ag1.isCoupled())){5 Y# H  R* B; F3 c! X6 k' n
    System.out.println("YYYYYYYYYYYYYYYYYYYY");
8 c+ a- Q, E* n% T( l    potenAgent[goodNumber] = ag1;
( H( h' C& W1 q' f    goodNumber ++;
3 E, L$ O) h6 X( \* ?1 j   }" L0 \) R+ O" o0 ]0 N/ N2 n
  }/ s' h( v, a6 o  k# v3 ?! ]  a; T
  
2 }! }; V) w' n  if(goodNumber >0){3 G9 @6 B% f3 N6 n! t$ W, r1 }
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); ) l, _# b) l6 H; K* [6 S" [
     Random rd1 = new Random();
# ]' K" O2 e6 o4 X2 j' I     int select = rd1.nextInt(goodNumber);
4 r0 Y* S% m) _) G. x     potentialParterner = potenAgent[select];, ~9 k" K' |( ?* {: [, o$ t5 j' N; r
     value = true;8 m# p, N6 K% f5 B4 O
  }
; M2 d+ D0 }' ~- `& X* j    return value;
' ?7 A& E8 V3 l9 A9 Z# Q }
9 [2 ^" }2 W* @( [" U; `5 i始终只能打印出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-9-5 08:16 , Processed in 0.014577 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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