2011-08-05 3 views
5

Modelicaで明示的に時間依存の微分方程式をモデル化したいと思います。モデルの時間変数にアクセスするには

は、私がModelicaに

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

をモデル化したいと言います。時間変数tにアクセスする正しい方法は何ですか?

答えて

11

Modelicaの時間変数はtimeと呼ばれ、モデル、ブロック(パッケージ、レコード、コネクタ、関数ではありません)からアクセスできます。

また、start属性を使用する代わりに、初期方程式を使用することをお勧めします。だからあなたの完全なモデルは次のようになります。initial equationセクションで

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

方程式は状態の初期値を解くために適用されます。上記の式は簡単ですが、あなたのような面白いものを行うことができます。

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

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

関連する問題