我正在anylogic8.7中创建一个基于代理的模型。我创建了一个包含arraylist类和代理元素的集合,使用以下代码来分隔满足特定条件的一些代理: collection.addAll(findAll(population,p -> p.counter==variable); for (AgentyType p: collection ) { traceln(p.probability); }
上面的代码将存储 probability
控制台中分离代理的属性。有没有办法定义一个循环来检索打印的 probability
一个接一个地从控制台获取属性,并将它们存储在变量中对其进行操作?或者如果有一个更有效和优化的方式来做这件事,我会很高兴,如果你与我分享这个。谢谢大家。
2条答案
按热度按时间u3r8eeie1#
根据要执行的操作,可以使用以下方法:
https://help.anylogic.com/index.jsp?topic=%2fcom.anylogic.help%2fhtml%2fjavadoc%2fcom%2fanylogic%2fengine%2futilitiescollection.html&resultof=%22%75%74%69%6c%69%74%69%65%73%22%20%22%75%74%69%6c%22%20
你可以用这样的方法一个接一个地收集概率值。
myzjeezk2#
我不知道你为什么要采用这种方法。。。基于代理的建模已经“存储”了您正在寻找的参数,您不需要控制台作为中间层。我相信你要做的是:
我建议您阅读:
https://help.anylogic.com/topic/com.anylogic.help/html/code/for.html?resultof=%22%66%6f%72%22%20%22%6c%6f%6f%70%22%20
和
https://help.anylogic.com/topic/com.anylogic.help/html/agentbased/statistics.html?resultof=%22%73%74%61%74%69%73%74%69%63%73%22%20%22%73%74%61%74%69%73%74%22%20
后者将使您更好地了解如何根据某些标准收集代理统计信息。