Modelica,什么是 der(x)
Modelica, what's der(x)
在 modelica 语言中,我找到了这个等式中使用的 x 的时间导数:
der(x) = 1 - x
一如既往,x 默认设置为 0,我不明白这个等式如何将 x 的值推向 1.0。
达到了 2 秒标记,它不是应该变成负数而不是稳定到 1.0 吗?
来源:https://mbe.modelica.university/behavior/equations/first_order/
谢谢
根据微积分,x 的时间导数(即 dx/dt (t0) )表示随着模拟在时间点 t0 进行,变量的增加或减少量。记住泰勒级数展开:
x(t0 + dt) = x(t0) + dx/dt(t0) . dt + O(dt^2)
因此,从这个基于微积分的观察中可以直接看出:
- 如果
der(x) > 0
,则 x
将随着模拟运行而增加,反之亦然。
x
会随着时间的增加而增加,但der(x)
会随着x的增加而减少。
- 随着
der(x)
趋近于0,那么x
的增长会变慢,x趋于1。
- 如果
x
的初始值等于2,那么在模拟开始时der(x) = -1
随着时间的增加趋近于0,同时x
趋近于1。
- 如果
x = 1
,那么der(x) = 0
和x
既不会增加也不会减少。 x = 1
的值是使 der(x) = 0
的给定 ODE 系统的稳态
在 modelica 语言中,我找到了这个等式中使用的 x 的时间导数:
der(x) = 1 - x
一如既往,x 默认设置为 0,我不明白这个等式如何将 x 的值推向 1.0。
达到了 2 秒标记,它不是应该变成负数而不是稳定到 1.0 吗?
来源:https://mbe.modelica.university/behavior/equations/first_order/
谢谢
根据微积分,x 的时间导数(即 dx/dt (t0) )表示随着模拟在时间点 t0 进行,变量的增加或减少量。记住泰勒级数展开:
x(t0 + dt) = x(t0) + dx/dt(t0) . dt + O(dt^2)
因此,从这个基于微积分的观察中可以直接看出:
- 如果
der(x) > 0
,则x
将随着模拟运行而增加,反之亦然。 x
会随着时间的增加而增加,但der(x)
会随着x的增加而减少。- 随着
der(x)
趋近于0,那么x
的增长会变慢,x趋于1。 - 如果
x
的初始值等于2,那么在模拟开始时der(x) = -1
随着时间的增加趋近于0,同时x
趋近于1。 - 如果
x = 1
,那么der(x) = 0
和x
既不会增加也不会减少。x = 1
的值是使der(x) = 0
的给定 ODE 系统的稳态