simulink Integratorにおけるエラー

20 visualizaciones (últimos 30 días)
Yuriko
Yuriko el 7 de Jul. de 2020
Comentada: Toshinobu Shintai el 12 de Jul. de 2020
添付のシミュレーションを書いて実行してみたのですが,以下のエラーが出ました.
エラー: Lag_main (line 19)
ブロック 'Lagrange/Integrator' の時間 0.0 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください
固定ステップサイズを小さくしてみたのですが,解決しませんでした.
エラーの解決方法を教えていただきたいです.

Respuestas (1)

Toshinobu Shintai
Toshinobu Shintai el 8 de Jul. de 2020
「Trajectory」というMATLAB Functionブロックで除算(正確には"\"という行列の演算)が行われており、そこでゼロ割りが発生しています。
おそらくそれが原因で正しく積分計算が行えていません。修正してみてください。
  4 comentarios
Yuriko
Yuriko el 12 de Jul. de 2020
ご回答いただきありがとうございます.
修正してみたのですが,依然,以下のエラーが出てしまします.
名前 out.simout.Time を解決できません。
エラー: drawLag (line 18)
for i=1:length(out.simout.Time)
エラー: Lag_main (line 21)
drawLag
修正したものを添付いたします.
上記のエラーの解決方法を教えていただきたいです.
よろしくお願いいたします.
Toshinobu Shintai
Toshinobu Shintai el 12 de Jul. de 2020
モデルを「sim」コマンドで実行する場合、以下のように返り値を指定しないと、ansという変数に自動的に格納されます。
out = sim(filename);
また、実行後のoutの中身をワークスペースからダブルクリックすると、構造を確認することができます。「out.simout.time」「out.simout.signals.values」に時間と値が格納されていることが分かると思います。
いろいろな場面で使えますので、是非覚えておいてください。

Iniciar sesión para comentar.

Categorías

Más información sobre Simulink 環境のカスタマイズ en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!