AnyLogic - 系统动力学:如何正确跟踪股票价值?

AnyLogic - System Dynamics : how to track stock values correctly?

screenshot of my model

在基本的一阶正反馈模型中:

(一个股票,一个流量,一个参数给出流量)。

有一个stock,初始值为100,一个parameter,值为0.1flow的公式为:

(flow = stock * paremeter)

模型时间单位是 "years",我们想要 运行 模拟 100 years

历年来stock的价值将是100110121133.1146.41 .. .

但是在模拟屏幕上(或者当我将其放入时间图或数据集中时)随着时间的推移 stock 的值是 110.517122.139134.984, 149.179.


这道题是典型的系统动力学误区。系统动力学遵循微分方程,一般采用欧拉法计算每个微分时间步后Stock的新值。您误以为该值每年更新 1 次,但事实并非如此。每0.001个时间单位更新1次(与默认值近似)。

我在这里对这个问题给出了更广泛的回答: