Modelicaで明示的に時間依存の微分方程式をモデル化したいと思います。
モデル化したいと言ってください
Real x(start=1);
der(x) = t;
Modelicaで。時間変数tにアクセスする正しい方法は何ですか?
Modelicaで明示的に時間依存の微分方程式をモデル化したいと思います。
モデル化したいと言ってください
Real x(start=1);
der(x) = t;
Modelicaで。時間変数tにアクセスする正しい方法は何ですか?
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;
ここでのポイントは、状態の値を直接指定する方程式以外にも、他の方程式を使用できるということです。上記の初期方程式は「物理的に」興味深いものではありませんが、数学的には非線形であり、時間変化する(つまり、シミュレーションの開始時間に敏感である)ためです。