Anylogic的条件触发转换

问题描述 投票:0回答:1

我有一个模型,其中有一个= n代理,我们希望根据条件更改状态。我的条件是,状态更改之前,代理与另一个代理之间的距离必须小于等于411。我在我的条件字段中尝试了以下代码:

if (double distanceTo(getNearestAgent(main.Agent))<=411)
{
return true; 
}

我得到语法错误:misplaced construct(s)( expected

我在做什么错?请协助

if-statement transition distance anylogic
1个回答
0
投票
之前,代理与另一个代理之间的距离必须<= 411

由于您已澄清“代理”是Main上总体的名称,因此您的代码语法错误。请尝试以下方法:

if (distanceTo(getNearestAgent(main.Agent))<=411) {
    return true; 
}

btw:对于基于条件的转换要格外小心,当条件真正满足时,它们可能不会触发。阅读帮助和网络上的内容,以确保您安装正确。或更好:根本不使用它们,它们也不必要地影响性能

© www.soinside.com 2019 - 2024. All rights reserved.