【问题标题】:Is there any built in function to get the list of nodes (point node) within a certain diameter range in anylogic?是否有任何内置函数可以在anylogic中获取一定直径范围内的节点(点节点)列表?
【发布时间】:2021-01-23 03:38:08
【问题描述】:

当一个人代理正在吸收一个节点时,我试图在一定范围内找到他周围其他节点(点节点)的列表/数组直径范围(比方说 10 英尺)。是否有任何内置功能可以对代理周围的这些节点进行排序?我正在尝试“agentInRange”、“getNearestAgent”,但这些实际上并不适合我的需要,因为这些函数返回范围内的人员代理列表而不是他周围的节点列表。如何获取代理周围的节点列表(点节点)?谢谢。

【问题讨论】:

    标签: anylogic agent-based-modeling


    【解决方案1】:

    我不知道。

    但是您可以轻松地将模型中的所有节点放入一个集合中,然后让您的代理遍历该集合进行检查。像这样的东西,需要根据您的需求和条件进行调整

    for (PointNode currentNode : col_AllNodes) {
        if (currentNode.getX() ...) { // check your condition
            return true;
        }
    }
    

    您可以通过将所有节点全部选中,右键单击然后选择“创建集合”来轻松地将所有节点放入一个集合中,如下所示:

    【讨论】:

    • 谢谢,本!这是我已经尝试过的一个好主意。理想情况下,它应该可以正常工作,但由于某些奇怪的原因,一些节点丢失了。我想我的代码中有一些小故障,我正试图找出它。不过,谢谢你的建议!
    • 好吧,确保所有节点都在该集合中。并放入一些 tracelns 以详细检查“缺少”什么 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2022-01-23
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多