ハイブリッドモデルのシミュレーション
Tutorial Level: Intermediate 離散信号と連続線形システムを含む簡単なハイブリッドモデルをモデル化してシミュレーションを行う方法を学習します。
このチュートリアルのファイル
HybridSystem.scm
概要
このチュートリアルのモデルでは、連続時間線形システムの入力として与えられる矩形波信号を生成するためのDiscreteDelayブロックを含んでいます。この連続時間線形システムは、ContTransFuncブロックを用いて伝達関数として表現できます。Scopeブロックは、このシステムの出力をプロットします。



離散信号の構築
DiscreteDelayブロックを使用して離散信号を構築します。
-
リボンから
をクリックするか、メニューバーから をクリックします。
- モデルをHybridSystem_practice.scmという名前で保存します。
-
Paletteブラウザで、以下のブロックをダイアグラムにドラッグ&ドロップします:
- DiscreteDelayブロックを2つダイアグラムにドラッグします。 から、
- SampleClockブロックをダイアグラムにドラッグします。 から
-
ダイアグラムにあるブロックを次の図のように組み立てて接続します:
-
SampleClockブロックをダブルクリックします。ブロックダイアログでサンプル周期(Sample period)に1/20000と入力して、OKをクリックします。
-
DiscreteDelayブロックをダブルクリックします。ブロックダイアログで初期条件(Initial condition)に1と入力して、OKをクリックします。
離散信号が次の図のように構築されます。この信号は、10000Hzの周波数で0と1が切り替わる矩形波信号を生成します。
連続伝達関数の作成
ContTransFuncブロックを使用して連続線形システムを表現します。
- パレットブラウザで、ContTransFuncブロックをダイアグラムにドラッグします。 をダブルクリックして
-
ContTransFuncブロックをダブルクリックします。ブロックダイアログで、 分子多項式の係数(Coefficients of the numerator polynomial)に1を入力します。分母多項式の係数(Coefficients of the denominator polynomial)に[0.2 1]と入力して、OKをクリックします。
ContTransFuncブロックは、単純化された車両の動的挙動をモデル化する1次線形システムを表します。 -
ブロックを次の図のようにダイアグラムに接続します:
- パレットブラウザで、Scopeブロックをダイアグラムにドラッグします。 をダブルクリックして、
-
Scopeブロックをダブルクリックします。入力数(Number of inputs)に2と入力します。
2つの入力ポートがScopeブロックに表示されます。
-
Scopeブロックを次の図のようにダイアグラムに接続します:
ハイブリッドモデルのシミュレーション
シミュレーションパラメーターを設定して、シミュレーションを実行します。
-
リボンで設定ツールを選択します。
-
シミュレーションパラメータダイアログで最終時間(Final Time)に2を入力し、OKをクリックします。
-
リボンでRunをクリックします。
ダイアグラムのシミュレーションが開始されます。
シミュレーションデータの確認
Scopeブロックで生成されたプロットのデータを調べます。
-
Scopeブロックをダブルクリックします。
スコープウィンドウが表示されます。Scopeブロックは2つの入力で定義されているため、それぞれ矩形波信号とシステム応答に対応する2つのサブプロットが表示されます。矩形波の周波数は10,000Hzであるため、0秒と2秒の間の時間間隔内に非常に多くの周期が存在します。したがって、狭い範囲を拡大して確認する必要があります。
- 矩形波形の表示をさらに明瞭化するには、上部サブプロットのX軸を右クリックしてフローティングパネルを開きます。
-
上限値として、0.001と入力します。
-
上部サブプロットのY軸を右クリックします。フローティングパネルで、下限値として-2と入力し、上限値として2と入力します。
-
プロットのビューをウィンドウにフィットさせるには、下部サブプロットでマウスの中央ボタンをクリックします。
-
プロットの任意の領域にズームインするには、Ctrlキーを押しながらマウスの中央ボタンをクリックしてドラッグし、プロット上の任意のフレームを選択します。
フレームの領域が、次の図のように下部プロットに表示されます:
-
曲線上の特定のデータポイントを表示するには、Ctrlキーを押しながらカーソルを曲線に合わせます。
カーソルに最も近いデータポイントが表示されます。
- モデルを保存します。