における状態 '1' の導関数が有限ではありません

102 ビュー (過去 30 日間)
Ken Inoue
Ken Inoue 2017 年 11 月 7 日
コメント済み: Ken Inoue 2017 年 11 月 15 日
Simulink, Simiscapeの以下の回路でシミュレーションをしたところ,このようなのメッセージがでました.
「ブロック 'STM32F334DiscoveryBuckBoost_500kHz_cancle2_softstart/Transfer Fcn3' の時間 0.0069162267731414408 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください」
デフォルトが可変ステップだったため,固定ステップにして,行ってみたところ,同じメッセージがでました.メッセージにあるようにさらに固定ステップを小さくすると,(例えば,0.00000000000001)シミュレーションがかなり遅く,途中でシミュレーションを止めました.何か良い方法はないでしょうか?よろしくお願いします.
シミュレーション回路,シミュレーションに必要なmファイルを以下のURLからダウンロードできます.
https://www.dropbox.com/sh/u2xglv6hp1dy6kg/AACptB-655a7NtfEWHYRBQLda?dl=0

採用された回答

Hiroumi Mita
Hiroumi Mita 2017 年 11 月 9 日
問題箇所のステップ応答を確認したところ 数値が10^303のオーダーになることがわかりました。 このため、微分係数が計算可能な範囲を超え無限大になることで 該当のエラーが出ると考えられます。 この箇所は連続系のコントローラに相当すると考えられますが、 この正誤を再確認してください。 特に、以下の点を見てもらえればと思います。 (1)パラメータの工学単位等に間違いはありませんか? (2)式の係数に間違いはありませんか? (3)伝達関数*積分器で大丈夫ですか? 以上よろしくお願いいたします。
  2 件のコメント
Ken Inoue
Ken Inoue 2017 年 11 月 9 日
返信ありがとうございます.まさか実際に試して頂けるなんて,非常にありがたいです.確かに実験でも試してみましたが,動作しませんでした.パラメータを確認してみます(何回も確認しているのですが).
ちなみにこの回路はDC-DCコンバータです.補償器(Transfer Fcn2, PWM Gain)はコンバータの伝達関数の逆数としています.これによって,極零相殺により一巡伝達関数は(Transfer Fcn3)の特性を示すものとなります.
ありがとうございます.
Ken Inoue
Ken Inoue 2017 年 11 月 15 日
試行錯誤した結果,Transfer Fcn2の分母を因数分解したときに出てくる1/(1-s/omr)が原因だということが分かりました.これは右半平面の極です.ありがとうございました.

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

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeシミュレーション結果の表示と解析 についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!