设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10887|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。. P1 \+ T4 a3 A  d4 t
private boolean findPotentialPartner(){5 \; @4 J9 J* G! r' l' f4 O
  boolean value = false;
1 m2 Z8 Y) z5 X' N" n+ {1 n  # U2 T0 m; d" f& m  D
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
6 d  t' k& L6 m1 G* N9 i  Iterator iterator = grid.getIteratorAt(x, y);
/ W' a6 f6 f0 T2 K- f1 }  SexAgent ag1 = null;  4 P  \: M% S" }% D
  SexAgent [] potenAgent = new SexAgent[20];5 j0 h2 [0 g" Y7 L/ Z* j
  int goodNumber = 0;" H2 Z  Y1 |5 j1 ^' j8 Q& q5 m
  while(iterator.hasNext()){
' G) r) a6 a# M7 J2 C   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
" N5 c: |  [9 N, h   ag1 = (SexAgent)iterator.next();; Y' d4 T4 e' O. E3 U
   if((ag1.sex == FEMALE) " H0 ^* l: |" m& b0 D
     &&(!ag1.isCoupled())){
" v6 z* s+ D7 \6 e9 M  d/ B    System.out.println("YYYYYYYYYYYYYYYYYYYY");
0 M* b" S' X7 |- B$ e' g  b2 f    potenAgent[goodNumber] = ag1;: |+ R4 n+ O; {6 _
    goodNumber ++;
6 H( T- a  M( w  w- z   }( u9 ]# J1 J. j: h5 ]3 i
  }% Y# H$ _. W: t# R  p
  
- t; d. w0 {: O# u, [5 ?* ?3 v  if(goodNumber >0){( D* B: Z) v! H" S( L3 e
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
& s: E3 {: [( i% n     Random rd1 = new Random();/ @& a$ U$ O; L
     int select = rd1.nextInt(goodNumber);
2 X6 R9 E: ^) Z8 {     potentialParterner = potenAgent[select];9 q. i0 r0 t7 J* E8 b
     value = true;
' P, Y: c, A! E. a5 G3 |  }' B- P- |9 l; Y% f6 U% i( c
    return value;
! \% Q  `# }' y }
7 j3 \5 N- Q) h7 u9 N- v始终只能打印出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-27 08:39 , Processed in 0.014899 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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