2016-10-22 6 views
0

背景充填及び空にするシミュレーション:MATLAB/Simulinkは:川の

を川は、非一定の断面を有しています。標準的な条件下では、水位はh_Stdになります(下図参照)。雨が降り始めると、それはh_Rainに等しくなるまで

enter image description here

、水位が上昇し、水位がに戻って減少雨停止後

enter image description here

(下図を参照)標準的な水位。

図からわかるように、水位と容積の関係は一定ではありません。しかし、この関数は数学的に表現することができ、私の特定の断面の河川で知られています。

問題の説明:

私は雨が降った場合の時間をかけて河川の水位をシミュレートします。雨が(下図の赤い曲線を参照)0(雨が降っていない)または1(雨)することができるいずれかの信号によって表される:

enter image description here

下図の暗青色の部分は非線形であります上の図からh_Stdとh_Rainの間のセクションを表します。完全に川を満たす時間は分かっています(t_フィル)。

一般的に言えば、外部信号によってトリガされたユーザ定義関数(私の場合は雨水量と河川水量の関係)を有効にしたい(私の場合は "雨 "信号)。

どのようにして(Simulinkブロックを含むMatlab-Codeを使用して)このような関数を得ることができますか?

+0

黄色信号と赤色信号の間には何が起こっていますか?その部分は黄色の信号ですか?そうでない場合は、黄色の信号がいつ終了するかをどのように知っていますか?それもトリガーですか?同様に赤の単一。その時間が終わったことをどのようにあなたは知っていますか? –

+0

より具体的に質問を更新しました(上の質問を参照) –

答えて

3

これはいくつかの方法で実行できます。そのうちの1つは、雨が降っていない段階を処理するために有効なサブシステムを使用することです。下の2つのサブシステムの内容を変更して、2つの領域に正確な高さプロファイルを反映させる必要があります。

enter image description here

+0

あなたの例では、ゲインブロックでt_Fill/t_Emtpyのように見えます。しかし、高さ信号の傾きはソルバの「最大ステップサイズ」に依存しているようです。どのようにしてこの問題を解決できますか?私は、サブシステム内でランプ機能を使用しようとしました(成功しませんでした)。モデルを自分の[Dropbox](https://www.dropbox.com/s/c99r87zn3pwl1jc/lake.slx?dl=0)にアップロードしたので、簡単にアクセス/編集できます。 –

関連する問題