我正在用Vensim做一个简单的模型。该模型由一个库存和一个流出变量组成:
stock:公式= INTEG (-"out-flow"),初始值: 2.5
out-flow:公式= IF THEN ELSE( stock>0,MIN(stock,1),0)
模拟运行5年(初始时间=0,结束时间= 5),时间单位为年。我每年需要做64次模拟,因此时间步长设置为“0.015625”。我用这个时间步长得到的结果不符合逻辑,也不是我所期望的,但通过设置“时间步长= 1”就可以得到想要的结果。
正如前面提到的,模拟每年需要运行64次,时间步长=1的模拟对我来说是没有用的。我该如何解决这个问题?提前谢谢。
发布于 2019-08-09 01:19:38
要做到这一点,您可以将年的单位转换为天,从而舍入TIME STEP的天数。
Units for Time = Year、INITIAL TIME = 0、FINAL TIME = 5、TIME STEP = 1
IF THEN ELSE( stock > 0, MIN(stock, 1), 0)

转换后的
Units for Time = Day、INITIAL TIME = 0、FINAL TIME = 1825、TIME STEP = 6
IF THEN ELSE( stock/365 > 0, MIN(stock/365, 1/365), 0)

https://stackoverflow.com/questions/56223312
复制相似问题