Integrator7の時間 1.2349999999999999 における状態 '1' の導関数が有限ではあ​りません。シミュレー​ションを停止します。​解に特異点が存在する​可能性があります。そ​うでない場合は、(固​定ステップ サイズを小さくする、​または許容誤差を厳し​くすることによって) ステップ サイズを減らしてみてください

13 views (last 30 days)
初めてMATLAB Answersで質問させていただきます.
私は大学でドローンの研究にMATLAB Simulink(R2023a)を利用していて,追実験という形でzipファイル内の'3M1-01.pdf'を参考にしながらチルトロータの制御系を組み,今後の別の形のドローンの制御系を組もうとしています.
そこで,pdfの中身を参考にしながら作成したものの,エラーが起こったため教えていただきたいです.
エラーメッセージを全て概要に含めることができなかったので,以下に示させていただきます.
シミュレーションの実行中にエラーが発生したため、シミュレーションを終了しました
原因:
  • ブロック 'x1012_graph_re/Subsystem5/Subsystem4/Integrator7' の時間 1.2349999999999999 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください
エラーメッセージに記載されていることは試しましたが同じエラーが起こりました.
そこで,同じような質問をされている方の回答を参考にブロック内部を見ていたら,x1012_graph_re/Subsystem5/Subusystem4/Integrator7の前で発散していることが原因とわかりました.
現状としては,Simulink内部を発散しないようする方法がわからないです.
私が作成したSimulinkが正しいのかもわからない状況なので,システム内部の間違い等があれば教えていただきたいです.
(参考にしている論文のpdfもzipファイルに添付させていただきました)
[zipファイルの中身に,x1012_graph_re.slx(全体)とchiruto_1017.slx(理想チルト角の計算)とmatlab.mat等があるのですが,初めはすべて統合してシミュレーションをしていたのですが,エラーが起こったため一部(理想チルト角の計算の部分)を分けてシミュレーションして,それぞれに使う値は.matファイルに格納して送受信することで全体をシミュレーションするようにしています.分かりにくくなっていて申し訳ございません.]

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 25 Oct 2023
可変ステップソルバー「ode23t」に設定すると、エラーなく動作しました。固定ステップソルバーでは、「ode1be」に設定すると、エラーなく動作しました。
おそらく、固定ステップのサンプリングタイムステップが荒すぎるために発散しているのではないかと思います。
  4 Comments
隆浩 鈴木
隆浩 鈴木 on 26 Oct 2023
Tosinobu Shintai様
ご返信ありがとうございます.
サンプリングタイムステップを0.01に設定しても同じようなエラーが起こりました.
Tosinobu Shintai様と同じR2023bの環境に合わせてもう一度シミュレーションしてみます.
隆浩 鈴木
隆浩 鈴木 on 26 Oct 2023
Tosinobu Shintai様  
先ほどご助言いただいた通り,R2023bの環境で実行したらエラーは起こりませんでした.
誠にありがとうございます.
しかし,シミュレーション終了時間を伸ばしたり,x1012_graph_re.slx内部のstepの最終値を変更すると再びエラーが起こりました.
エラーが起こったstepの最終値は,上から順に1, 0, 0, 5, 10, 30です.
このように終了時間やstepの最終値によってエラーが起こるときはどのように対処すればよろしいでしょうか.

Sign in to comment.

More Answers (0)

Categories

Find more on 一般分野への適用 in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!