如何在modelica中访问时间变量

时间:2011-08-05 22:07:27

标签: differential-equations modelica

我想在Modelica中建立一个明确的时间相关微分方程。

说我想建模

Real x(start=1);
der(x) = t;
在Modelica中

。访问时间变量t的正确方法是什么?

1 个答案:

答案 0 :(得分:12)

Modelica中的时间变量称为time,可以在任何模型或块中访问(但不能访问包,记录,连接器或函数)。

此外,我建议使用初始方程,而不是使用start属性。所以你的完整模型看起来像这样:

model FirstOrder
  Real x;
initial equation
  x = 1;
equation
  der(x) = time;
end FirstOrder;

initial equation部分中的等式仅用于求解状态的初始值。上面显示的等式是微不足道的,但你可以做有趣的事情,如:

model FirstOrder_IC2
  Real x;
initial equation
  x*x*x = 3.0*time+7.0;
equation
  der(x) = time;
end FirstOrder_IC2;

这里的要点是你可以使用除了直接指定状态值的其他方程式。上面的初始方程不是“物理上”有趣的,但在数学上是因为它既是非线性的又是时变的(即对模拟的开始时间敏感)。