6
ハイブリッドモデリング(特に状態イベント)の背後にある一般的な考え方を数値的な観点から理解したいと思います(私は数学者ではありません:))。私はwhen
とreinit
の概念を理解Modelicaイベントとハイブリッドモデリング
model BouncingBall
constant Real g=9.81
Real h(start=1);
Real v(start=0);
equation
der(h)=v;
der(v)=-g;
algorithm
when h < 0 then
reinit(v,-pre(v));
end when;
end BouncingBall;
:以下Modelicaモデルを考えます。
when
ステートメントの式は、条件が真のときにのみ有効です。- ボールが正確に
2sec
に床に当たったとしましょう。私はマルチステップソルバーを使用しているので、ソルバーが「2秒を超えている」という意味で、h<0
(シミュレーションで仮定することができますtime = 2.5sec
、h = -0.7
)です。簡単な説明は(例)? - ソルバーは現在、小さなステップサイズを撮る?戻ってますか?
pre()
何 - あり、この平均「交差機能を使用して検索されたイベントのための時間?何そのコンテキストでの操作の平均?
noEvent()
: "式は交差関数を生成するのではなく文字通りに取られます。交差する関数がないので、式がイベントの限界を超えて評価できるという要件はありません」ということは、どういう意味ですか?ボールを弾いた同じ例を考えてみましょう:ソルバーは時刻2.5でh = 0.7を検出します。noEvent()
とない差
私はあなたがModelica Book: http://book.xogenyで読むことをお勧めします。2)交差関数とは、hがゼロを横切るとき、ソルバが信号の微係数を使用してより小さなステップサイズにするときの感情を得ることを意味しますが、ソルバに依存して)4)preは前のステップ5からの離散変数の値です。信号がゼロを超えたときにイベントが生成されないので、ソルバーは停止しません(事象なし)。ステップ境界でのみ –