Integrator7の時間 1.2349999999999999 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください
12 views (last 30 days)
Show older comments
初めて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ファイルに格納して送受信することで全体をシミュレーションするようにしています.分かりにくくなっていて申し訳ございません.]
0 Comments
Accepted Answer
Toshinobu Shintai
on 25 Oct 2023
可変ステップソルバー「ode23t」に設定すると、エラーなく動作しました。固定ステップソルバーでは、「ode1be」に設定すると、エラーなく動作しました。
おそらく、固定ステップのサンプリングタイムステップが荒すぎるために発散しているのではないかと思います。
4 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!