MATLAB Answers

saitoa
0

similinkにお​いて、シミュレーショ​ンでsourceが思​う通り動かない

Asked by saitoa
on 8 Dec 2017
Latest activity Answered by saitoa
on 12 Dec 2017
Simulinkにおいて、あるモデルのシミュレーションを行ったのですが、エラーがでてしまいその原因が「ブロック 'untitled7/Integrator' の時間 16.6 における状態 '1' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください」と出ました。 なので、固定ステップサイズを0.000001にしたら、時間がかかりましたが出来ました。しかし、rampブロックをscopeで見てみたら、rampブロックが機能しませんでした。rampが機能しなかったのは、固定ステップサイズを小さくしたからでしょうか。

  0 Comments

Sign in to comment.

3 Answers

Answer by Hiroumi Mita on 11 Dec 2017
 Accepted Answer

見た限りでは、このモデルは圧力と流量に関連するものと思われますが、もしそうなら、問題点は 流量から圧力に変換する積分にあると考えられます。 そこで、次を確認してみてください。 (1)流量から圧力に変換する式は正しいか?それは積分でいいのか?他の微分方程式が適用できないか?アキュムレータ、配管、シリンダ等 理由は、単なる積分は発散しやすく、場合によっては発散の原因になるからです。
(2) 単位系はちゃんと統一されているか? そのあたりを改善すれば、通常の可変ソルバーで動かすことは可能と思われます。

  0 Comments

Sign in to comment.


Yoko
Answer by Yoko
on 11 Dec 2017

添付のモデルを 可変ステップソルバーでシミュレーションしたところ、Integrator へ入力する信号(Divide4 の掛け算側の信号)が1e304 のオーダーになっていました。この信号は、これほど大きい値が出る信号でしょうか?そうでなければ、なぜそのような信号が出ているのか、モデルを見直しする必要があるかと思います。 Ramp ブロックに関して、ステップサイズを指定の通りにし、Ramp ブロックのみ配置して固定ステップソルバで確認する限り、(0.01sec までのシミュレーションでは)時間と共に線形で信号が増えていること確認でき、機能しないという事象までは確認できませんでした。 意図通りの結果を得るには、想定しているモデルができているか、検証することが大事かと思います。ブロックの名前など、変更変更できますので、理解しやすいよう書き換えたり、ある計算のまとまりはサブシステム化して見やすくするよう、工夫すると良いかと思います。

  0 Comments

Sign in to comment.


saitoa
Answer by saitoa
on 12 Dec 2017

お二方ありがとうございます。 改めてモデルの見直しをやってみます。 アドバイスありがとうございました。

  0 Comments

Sign in to comment.