设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7955|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。6 I0 w+ d0 N& J9 B; v% ?9 t! C
private boolean findPotentialPartner(){9 _8 U1 G% x0 h9 V. F; ]
  boolean value = false;
, R) l. }  G9 m8 ?% c" ^6 k  ( y9 M' a. z( C4 X  u/ ^7 F
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();5 X$ i5 d% d9 N. ~* m
  Iterator iterator = grid.getIteratorAt(x, y);
6 o- L$ F! i  u" K, S) K& b  SexAgent ag1 = null;  
/ H/ e# o6 M  D) b0 B  SexAgent [] potenAgent = new SexAgent[20];
4 @- P: C5 }# F* \  int goodNumber = 0;
$ C  b; q% Z, \0 x2 k  while(iterator.hasNext()){& u% Z4 h- |' ?  x
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");9 G6 v& ^8 s9 D
   ag1 = (SexAgent)iterator.next();9 `4 v7 E# K0 \+ B
   if((ag1.sex == FEMALE)
( `$ b6 f6 `3 P5 i% z     &&(!ag1.isCoupled())){% G+ b4 I- p3 C
    System.out.println("YYYYYYYYYYYYYYYYYYYY");% s$ d: i* |0 H, Z8 [. ~
    potenAgent[goodNumber] = ag1;1 H2 T4 m- d# y2 s& o# Y. X+ d
    goodNumber ++;% }' r3 e! @9 Q( M2 E
   }- }$ E$ O1 E  s  q  x. U/ `  c" b
  }
' P6 |. Y1 c% j  
1 E' {$ u( o- e8 X* Z  if(goodNumber >0){1 b. \' J6 f' _2 \
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
0 b, |* I7 @5 Q3 j  W" c; M/ N     Random rd1 = new Random();
3 ~2 o" i; H3 V8 H& [     int select = rd1.nextInt(goodNumber);
' Q0 Y3 U5 _* d, F! |. R     potentialParterner = potenAgent[select];
- J5 G7 y3 T! j0 b1 S4 N5 v     value = true;* o1 G7 y$ o# _& W+ A- A- E
  }
+ u+ k0 T% h, H) S7 R: ]    return value;: @0 y1 a" [9 g; d8 V/ S
}) b- V$ W/ X5 ~
始终只能打印出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, 2025-7-16 04:51 , Processed in 0.018699 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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