设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10210|回复: 3

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

  [复制链接]
发表于 2008-11-28 09:26:19 | 显示全部楼层 |阅读模式
5仿真币
最近做流行病模型,需要在一个网格里面放多个Agent,我查了一下API,使用OrderedMultiGrid类来构造,里面提供了一些putObjectAt(int, int, index);之类的东西。似乎可以用。但是当我编程调试的时候发现在同一位置只能获取一个对象。这是很令人纳闷的事情。我想问一下Repast有提供什么好方法处理吗,不仅要能存进去,还要能方便的拿出来。2 N" Y+ J9 R+ H5 d  D' K/ F" N
private boolean findPotentialPartner(){
! b5 U# c) R/ C% D  boolean value = false;/ U4 _, t/ T5 [5 V4 f* z+ u
  - o, R3 R  {. h, E* s7 d* s
  OrderedMulti2DGrid grid = space.getCurrentAgentSpace();
+ d; J" c$ w1 E  Iterator iterator = grid.getIteratorAt(x, y);/ q# e" ~1 n) V( c4 R
  SexAgent ag1 = null;  . k8 G3 H4 l* x: [
  SexAgent [] potenAgent = new SexAgent[20];
6 _  N8 d$ b9 B& F4 ~4 i  int goodNumber = 0;2 A! |2 {( O7 a$ d& F( U
  while(iterator.hasNext()){" U7 h+ A9 m1 \1 C( O# U, |4 k
   System.out.println("XXXXXXXXXXXXXXXXXXXXX");
3 D) T8 Q, ^* `. e5 r2 ~4 m   ag1 = (SexAgent)iterator.next();
! p3 q5 @+ X( C   if((ag1.sex == FEMALE)
; ^& l! `& h( o5 ^3 Z2 e* _     &&(!ag1.isCoupled())){; Y0 j9 m1 ?8 D, ^  H
    System.out.println("YYYYYYYYYYYYYYYYYYYY");, E. s) ?2 R: G1 H4 L
    potenAgent[goodNumber] = ag1;
0 M% N& O8 d' J; k    goodNumber ++;1 K0 f/ @; i) M5 S/ @  I9 d/ Q
   }7 j6 s, @" y' G
  }( G: ]" ~! _4 w
  
$ u; j3 R; J0 K, \  if(goodNumber >0){, z6 \5 `+ t; ^8 D4 f: H1 j
     System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
7 T1 Y* r$ E/ `! J; |. |% ~% y0 Q     Random rd1 = new Random();8 c4 h, j% h+ i! R; X
     int select = rd1.nextInt(goodNumber);
0 T2 z2 {/ s5 w     potentialParterner = potenAgent[select];
  M) X# L' {2 L& e9 S) {     value = true;
6 |" H# D. W9 ^( o  }# N% w/ ?! M! Q
    return value;
7 D# x# g7 @4 K }
" h0 |: [$ Y9 a$ A' w. l  j始终只能打印出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-6-30 14:36 , Processed in 2.845638 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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