simulink Integratorにおけるエラー

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

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simulink 環境のカスタマイズ 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!