我有一个只有一个代理的系统动力学模型。我可以设置模拟的持续时间,一个示例值将是120个月。如果我想尝试不同的时间,比如24或240个月,我该怎么办?在实验的“模型时间”属性中更改它似乎很麻烦,因为每次都必须停止实验。
对于其他模型输入,我在开始屏幕上创建了滑块,并将它们绑定到变量上的模型参数。这样我就可以移动滑块,用play按钮运行模拟,然后用stop按钮返回开始屏幕,并调整值。在结束的时候也可以这样做吗?
模型是从Vensim转换而来的,其中有一个名为FINAL_TIME的变量,您可以在SyntheSim模式下通过滑块交互地更改该变量。这就是我想要的,除了SyntheSim功能在任何逻辑中都是不可用的。
发布于 2020-07-14 10:24:07
两种方式..。
您可以在模型初始化时使用函数getEngine().setStopTime(tstop);,其中stop是您停止仿真的时间参数。
或者您可以使用事件并设置事件以在灵活的时间内触发并在操作中使用finishSimulation()。这样,您甚至可以随时更改运行时的模拟时间。
https://stackoverflow.com/questions/62892059
复制相似问题