1
2
之所以会发生这种情况,是因为每个软件处理微分方程的方式不同。 在vensim中获取斐波那契序列的原因是,您正在使用Euler方法和时间步长1(检入模型设置) 如果在Vensim中将积分类型更改为RK45,或者使用euler方法减少时间步长,则可能会得到与AnyLogic相同的结果。。。Runge-Kutta方法虽然从固定步长1开始,但随后会根据模型动力学的要求更改时间步长。 现在,让我们了解一下,在系统动力学模型中使用1的时间步长,模型会以较低的时间步长给出错误的结果,这意味着您的模型不是很健壮。。。但这就是为什么你在vensim中得到确切的值。。。因为这些精确的数值对于模型的真实情况来说是非常不准确的。我甚至会说,你链接上的模型是一个糟糕的模型,不应该向公众展示。 幸运的是(或不幸的是),AnyLogic不允许您这样做。您可以在模型属性中设置时间步为1,但anylogic会在不通知的情况下将时间步更改为其他时间步(除非您在虚拟模式下运行,并且满足其他条件)。。。AnyLogic仅允许在“混合方程”选项中使用Euler+Newton,但不允许仅使用Euler。 我认为这是AnyLogic中存在多年的一个bug,我已经通知了他们,我认为他们永远都不会解决它,除非AnyLogic 9(如果我们幸运的话)。 |
Ash King · 获取最新凭证号DynamicsGPClient 6 年前 |
vidhi · 从查找字段检索值时出现无效的参数错误 6 年前 |
Alex Gordon · 如何定义早期绑定实体? 7 年前 |