シミュレーション時の Simulink モデルのボード応答の可視化
この例では、モデルの操作点 (シミュレーションのスナップショット時間が 0) で計算された非線形 Simulink® モデルの線形システム特性をシミュレーション中に可視化する方法を説明します。
Simulink モデルを開きます。
以下に例を示します。
open_system('watertank')
Simulink ライブラリ ブラウザーを開きます。Simulink エディターの [シミュレーション] タブで [ライブラリ ブラウザー] をクリックします。
Simulink モデルにプロット ブロックを追加します。
[Simulink Control Design] ライブラリで [Linear Analysis Plots] を選択します。
Bode Plot ブロックなどのブロックをモデル ウィンドウ内にドラッグ アンド ドロップします。
モデルは次の図のようになります。
ブロックをダブルクリックして [ブロック パラメーター] ダイアログ ボックスを開きます。
ブロック パラメーターの詳細は、ブロックのリファレンス ページを参照してください。
線形化の I/O ポイントを指定します。
Water-Tank System の線形システムが計算されます。
ヒント
モデルに既に I/O ポイントが含まれる場合、ブロックによりこれらのポイントが自動的に検出されて表示されます。任意の時点で
をクリックすると、モデルからの I/O で [線形化の入力/出力] テーブルを更新できます。
入力を指定するには、次の手順に従います。
[線形化の入力/出力] テーブルの隣にある
をクリックします。
[ブロック パラメーター] ダイアログが拡張され、[モデル内の信号をクリックして、選択します] 領域が表示されます。
ヒント
Simulink モデルで複数の信号を一度に選択できます。選択した信号はすべて [モデル内の信号をクリックして、選択します] 領域に表示されます。
Simulink モデルで、
PID Controller
ブロックの出力信号をクリックして選択します。[モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。
をクリックして [線形化の入力/出力] テーブルに信号を追加します。
出力を指定するには、次の手順に従います。
Simulink モデルで、
Water-Tank System
ブロックの出力信号をクリックして選択します。[モデル内の信号をクリックして、選択します] 領域が更新されて、選択した信号が表示されます。
をクリックして [線形化の入力/出力] テーブルに信号を追加します。
[線形化の入力/出力] テーブルの [構成] ドロップダウン リストで、次に対して
[開ループの出力]
を選択します。[watertank/Water-Tank System : 1]。
[線形化の入力/出力] テーブルは次の図のようになります。
をクリックして [モデル内の信号をクリックして、選択します] 領域を折りたたみます。
ヒント
あるいは、Linear Analysis Plots ブロックを追加する前に、Simulink モデルの信号を右クリックして [線形解析ポイント] 、 [入力の摂動][線形解析ポイント] 、 [開ループの出力] を選択します。線形化 I/O の注釈がモデルに表示され、選択した信号が [線形化の入力/出力] テーブルに表示されます。
線形システムを保存します。
[ログ] タブを選択します。
[データをワークスペースに保存] オプションを選択し、[変数名] フィールドで変数名を指定します。
[ログ] タブは次の図のようになります。
[プロットの表示] をクリックして空のプロットを開きます。
プロット ウィンドウで
をクリックして、線形システムの特性をプロットします。
または、モデル ウィンドウからモデルをシミュレーションできます。
線形化の入力と出力で指定されたモデルの部分が、[ブロック パラメーター] ダイアログ ボックスの [スナップショット時間] パラメーターに指定された既定のシミュレーション時間 0 で線形化され、ボードの振幅と位相がプロットされます。
シミュレーションが完了したら、プロット ウィンドウは次の図のようになります。
計算された線形システムは、sys
として MATLAB® ワークスペースに保存されます。sys
は time
フィールドと values
フィールドをもつ構造体です。構造体を表示するには、以下のように入力します。
sys
このコマンドを実行すると、次の結果が返されます。
sys = time: 0 values: [1x1 ss] blockName: 'watertank/Bode Plot'
time
フィールドには、線形システムが計算される既定のシミュレーション時間が保持されます。values
フィールドは、シミュレーション時間 0 で計算された線形システムを格納する状態空間オブジェクトです。状態空間オブジェクトのプロパティの詳細については、ss
を参照してください。
(Simulink モデルがシミュレーション出力を単一のオブジェクトとして保存するように構成されている場合、データ構造体 sys
は、シミュレーション データのログを含む Simulink.SimulationOutput
オブジェクトのフィールドです。Simulink でのデータ ログの詳細については、シミュレーション データのエクスポートおよび Simulink.SimulationOutput
のリファレンス ページを参照してください。