1

Modelicaでのシミュレーション中に前の時間ステップから値を決定するにはどうすればよいですか? 私はそれから値をQ=m*c*(Ts2-Ts1-Tr)抽出する必要がある方程式を持っています。 Ts2Ts1

  • Ts2- は時間ステップ 2 からの値です
  • Ts1- 前の時間ステップからの値です
  • Tsは入力信号であり、時間内に変動があります。各ステップには異なる値があります。私の場合、タイム ステップは 1 秒です。その他の値は固定です。

式変数に設定できますtimeか? 例えば:

Ts2 (start=time);
Ts (start=time-1);

それとも、このモデル内に入力する必要がありますか?

よろしくティモフィー

4

1 に答える 1

4

これは、すでに同様の質問で対処されています。

重要な点は、物理的挙動を記述する方程式は時間ステップを参照できないということです。これは、自然界や物理法則に「タイムステップ」がなく、システムの応答がそれに依存できないためです。

なぜ自分がしていることをする必要があるのか​​ を本当に説明していません。シミュレーション結果を抽出しようとしていますか? 実験データと相関させようとしていますか? それとも、微分方程式を解こうとしているだけですか?

あなたが何をしたいのかは明らかではありません。詳しく教えてください。Modelica での進め方について、いくつかのガイダンスを提供できると思います。

アップデート

「前の間隔」の値を使用しても問題ありません。たとえば、一定の間隔でソリューションをサンプリングしたり、「z 変換」を表現したり、Modelica でカルマン フィルターを実装したりする場合、これらのそれぞれを非常に簡単に行うことができます (たとえば、ここで「sample」キーワードを参照してください)。つまり、以前の値を好きなだけ保存することができます。

できないことは、システムの動作を表現する際に連続ソルバーのタイムステップを使用することです。参照する間隔は、ソルバーが使用している間隔から独立している必要があります。

于 2013-05-15T14:24:37.783 に答える