シミュレーションの実行中にエラー

22 ビュー (過去 30 日間)
saitoa
saitoa 2017 年 12 月 6 日
コメント済み: saitoa 2017 年 12 月 7 日
Simulinkを使い、あるモデルのシミュレーションを行ったのですが、シミュレーションの実行中にエラーが発生したため、シミュレーションを終了しました 原因が「ブロック 'untitled3/Integrator1' の時間 0.4 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください」が出ました。可変ステップだったので、固有ステップに変えてのステップサイズを小さくしましたが、同様のエラーやシミュレーションがかなり遅く止めました。 何かいい方法はないでしょうか? よろしくお願いします。<img src = "">

採用された回答

Yoko
Yoko 2017 年 12 月 7 日
該当エラーは、モデルが意図と異なる組み方になっている場合に発生することがあります。
モデルをダウンロードしてシミュレーションを実行したところ、エラー以外に下記のような警告が発生しました。
'untitled7/Sqrt14' に負の数の平方根があります。[出力信号タイプ] の設定を複素数にすることを検討してください。
コンポーネント:Simulink | カテゴリ:Block 警告
'untitled7/Sqrt2' に負の数の平方根があります。[出力信号タイプ] の設定を複素数にすることを検討してください。
コンポーネント:Simulink | カテゴリ:Block 警告
Sqrt14 や Sqrt2 で 負の入力値に対して平方根を求めようとして、発生しています。 Sqrt ブロックに入る数が正であるはずならば、なぜ負になっているかモデルを見直すことで、エラーが解決されるかと思います。 負の場合も正として処理するならば、Sqrt ブロックの前段に ABS ブロックを配置することで、負の入力を回避できます。
  1 件のコメント
saitoa
saitoa 2017 年 12 月 7 日
回答ありがとうございます。 実際にやっていただきありがとうございます。 Sqrtブロックの前にABSのブロックを配置することで解決できました。 本当に助かりました。ありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeモデル化 についてさらに検索

Community Treasure Hunt

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

Start Hunting!