simulink Integratorにおけるエラー
Mostrar comentarios más antiguos
添付のシミュレーションを書いて実行してみたのですが,以下のエラーが出ました.
エラー: Lag_main (line 19)
ブロック 'Lagrange/Integrator' の時間 0.0 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください
固定ステップサイズを小さくしてみたのですが,解決しませんでした.
エラーの解決方法を教えていただきたいです.
Respuestas (1)
Toshinobu Shintai
el 8 de Jul. de 2020
0 votos
「Trajectory」というMATLAB Functionブロックで除算(正確には"\"という行列の演算)が行われており、そこでゼロ割りが発生しています。
おそらくそれが原因で正しく積分計算が行えていません。修正してみてください。
4 comentarios
Yuriko
el 10 de Jul. de 2020
Toshinobu Shintai
el 11 de Jul. de 2020
「simout.time」ではなくて「out.simout.Time」が正しい表記となります。今の「Lagrange.slx」というモデルファイルの設定ではログを全て「out」という変数に格納するように設定されています。
Yuriko
el 12 de Jul. de 2020
Toshinobu Shintai
el 12 de Jul. de 2020
モデルを「sim」コマンドで実行する場合、以下のように返り値を指定しないと、ansという変数に自動的に格納されます。
out = sim(filename);
また、実行後のoutの中身をワークスペースからダブルクリックすると、構造を確認することができます。「out.simout.time」「out.simout.signals.values」に時間と値が格納されていることが分かると思います。
いろいろな場面で使えますので、是非覚えておいてください。

Categorías
Más información sobre Simulink 環境のカスタマイズ en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!