我如何在 anylogic 中评估下一个时间步长的条件?

How I can evaluate a condition on next time-step in anylogic?

我正在尝试为一种状态到另一种状态的转换编写代码,系统将首先存储初始模型时间,然后检查条件(使用 while 循环)。它将继续 运行 循环,直到条件为假,当条件为假时,它将记录最终模型时间。所以,我的主要objective是获取while循环条件为真的总时间。问题是,我不知道如何每 1 个时间步检查一次 while 循环,例如,我尝试用 "wait (1);" 代替“???”以下代码部分不正确。谁能建议我该怎么做?

我的转换代码如下: ... ...

initialTime=time();

    while ((thisPed.inState(walking) && thisPed.fieldOfVision.contains(pedX, pedY)); 
    {
    ???
    }
    finalTime= time();
    exposureTime = finalTime - initialTime;

... ...

您不能将 while 语句放入模型中,同时 运行 具有时间步长...要做到这一点,您有许多其他方法..

例如,您可以生成从该状态到相同状态(内部)的转换,并在每个时间步都在那里生成代码。

另一种选择是以同样的方式使用条件转换

但不是 while 循环