8

Modelicaで明示的に時間依存の微分方程式をモデル化したいと思います。

モデル化したいと言ってください

Real x(start=1);
der(x) = t;

Modelicaで。時間変数tにアクセスする正しい方法は何ですか?

4

1 に答える 1

14

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;

ここでのポイントは、状態の値を直接指定する方程式以外にも、他の方程式を使用できるということです。上記の初期方程式は「物理的に」興味深いものではありませんが、数学的には非線形であり、時間変化する(つまり、シミュレーションの開始時間に敏感である)ためです。

于 2011-08-07T16:50:13.240 に答える