1

私は Modelica シミュレーション (Dymola を使用) で変数を選択していますが、うまく動作しています。ここで、番号が付けられた (インデックス付きの) これらの変数の特定の動作をプロットしたいと思います。変数を時間に対してプロットするのではなく、それらのインデックスに対してプロットしたいと考えています。この関数を使用する予定ですplotArrayが、この投稿で興味があるのはそれではありません。問題は、変数を呼び出すとすべての変数がゼロになることです。これは実際には初期値ですが、定常状態が設定されたときに変数の値を取得したいと考えていますtime = 5000。したがって、この特定の時点で変数を評価する必要があります。

シミュレーションの特定の時間、またはシミュレーションの最後に変数を評価するにはどうすればよいですか?

編集:広範囲にわたるグーグル検索の後、私は という関数val()にたどり着きました.

編集 2:必要に応じて変数を評価することができましたが、使用したアプローチは (私の意見では) 退屈ではありませんでした。シミュレーションから .mat ファイルを MATLAB に抽出し、最終的に目的の変数を特定して、目的の時間にプロットしました。しかし、私が本当に驚いたのは、.mat ファイル内の変数に関する明らかな混乱です。一見したところ、Modelica モデルでの変数の順序付けと .mat ファイルでの順序付けとの間にほとんど一致がなく、変数の名前付けがなかったため、それらの変数の比較のみに基づいて変数を検索するしかありませんでした。 Dymola シミュレーションによる値。ここで私は単に完全に間違っていますか、または .mat ファイルから変数を抽出する簡単な方法はありますか?

4

2 に答える 2

1

DymBrowse.m を使用して、結果ファイルから Matlab に変数を読み込むことができます。\Program Files\Dymola xx\Mfiles\dymtools で利用できるはずです。ディレクトリ \Mfiles... を matlab パスに追加します。

于 2013-08-19T08:12:38.920 に答える