在 assembly/delay 块中在 triangular() 和 value 作为 delayTime 之间切换

Switch between triangular() and value as delayTime in assembly/delay block

我确实在我的模拟开始中包含了两个单选按钮 window 我想让用户可以选择延迟时间。计划在 triangular() 函数或作为 delayTime 的简单值之间切换。

我已经尝试创建一个字符串变量,并在更改单选按钮时将 triangular() 函数写入其中。然后我将变量传递给延迟块的延迟时间字段,但这不起作用。如果我将变量类型设置为 double,它会从 triangular() 函数中生成一个值并传递给它。

有人知道怎么做吗?理想情况下,它应该适用于汇编程序和延迟块。

我不知道选项按钮是什么...AnyLogic 中不存在这样的东西,但我们假设您的选项按钮更改了一个名为 useTriangular 的变量,如果您想要一个简单的变量,该变量将等于零如果您想要三角函数,则值和等于 1...

有了这个假设,您可以在您的汇编器或延迟按钮中放入以下代码来延迟时间值:

useTriangular==0 ? 3 : triangular(1,2,3)

假设您的简单值等于 3...当然不是 3,如果您将简单值存储在变量中,则可以使用变量名。