コマンド ラインでのバッチ線形化の結果に対する応答プロットを使用した解析
以下の例では、コマンド ラインで取得したバッチ線形化の結果のステップ応答をプロットし、解析する方法を示します。"バッチ線形化の結果" という用語は、slLinearizer
インターフェイスまたは関数 linearize
によって返された ss
モデル配列を指します。この配列には、パラメーターが変化するモデルの単一の操作点でのバッチ線形化やslLinearizer インターフェイスを使用した操作点の変化と複数の伝達関数の取得に示されるように、変化させるパラメーター値、操作点、またはその両方に対する線形化が含まれています。この例で説明される手法を利用して、バッチ線形化の結果について周波数応答、安定性または感度を解析できます。
バッチ線形化の結果の取得
scd_batch_lin_results1.mat
に保存されているバッチ線形化の結果を読み込みます。
次のコードでは、4 つのシミュレーション スナップショット時間 t = [0 1 2 3]
での watertank
モデルの線形化を取得します。各スナップショット時間で、モデル パラメーター A
および b
は変化します。A
のサンプル値は [10 20 30]
で、b
のサンプル値は [4 6]
です。slLinearizer
インターフェイスには、基準信号とプラント出力の位置に解析ポイントが含まれています。
open_system('watertank') sllin = slLinearizer('watertank',{'watertank/Desired Water Level',... 'watertank/Water-Tank System'}) [A_grid,b_grid] = ndgrid([10,20,30],[4 6]); params(1).Name = 'A'; params(1).Value = A_grid; params(2).Name = 'b'; params(2).Value = b_grid; sllin.Parameters = params; sllin.OperatingPoints = [0,1,2,3]; linsys = getIOTransfer(sllin,'Desired Water Level','Water-Tank System');
linsys
は 4 x 3 x 2 の ss
モデル配列であり、基準入力からプラント出力までの線形化された watertank
モデルの閉ループ伝達関数を含んでいます。操作点は配列 linsys
の 1 番目の次元に沿って変化し、パラメーター A
および b
はそれぞれ 2 番目と 3 番目の次元に沿って変化します。
線形化されたモデルのステップ応答のプロット
stepplot(linsys)
ステップ プロットには配列の各モデルの応答が示されます。このプロットには、パラメーター グリッドとスナップショット時間がカバーする操作範囲で、システムのステップ応答の範囲が示されます。
応答のパラメーターとスナップショット時間の表示
特定の応答に関連するパラメーターを表示するには、プロットの応答をクリックします。
プロットにデータのヒントが表示され、選択された応答および関連するモデルに関する情報が示されます。データのヒントの最後の行には、この応答が得られたパラメーターの組み合わせとシミュレーション スナップショット時間が表示されます。たとえば、上記のプロットでは、選択された応答は A
を 30
に設定し b
を 4
に設定して得られたモデルに対応します。ソフトウェアは、3 の時間単位でモデルをシミュレートした後、モデルを線形化しています。
結果のサブセットのステップ応答の表示
特定のシミュレーション スナップショット時間 (2 の時間単位など) において線形化されたモデルの応答を表示するとします。プロットを右クリックして [配列セレクター] を選択します。[LTI 配列のモデル セレクター] ダイアログ ボックスが開きます。
[選択基準の設定] パネルには、3 つの列が含まれます。それぞれは、linsys
のモデル配列の各次元です。最初の列は、シミュレーション スナップショット時間に対応します。シミュレーション時間配列が [0,1,2,3]
であったため、この列の 3 番目のエントリは、2 の時間単位のシミュレーション スナップショット時間に対応します。最初の列ではこのエントリのみを選択します。
[OK] をクリックします。プロットには、2 の時間単位で線形化されたモデルのみの応答が表示されます。
特定のパラメーターの組み合わせとスナップショット時間に対するステップ応答のプロット
A = 10
および b = 4
において、t = 3
で watertank
モデルを線形化して得られたモデルのステップ応答のみを調べるとします。そのためには、linsys
の SamplingGrid
プロパティを使用できますが、これは構造体として指定されます。バッチ線形化を実行すると、SamplingGrid
には、モデルの取得に使用される変数値に関する情報が入力されます。変数値には、変化させるそれぞれのパラメーターと、モデルを線形化するときのシミュレーション スナップショット時間が含まれます。以下に例を示します。
linsys(:,:,1).SamplingGrid
ans = A: 10 b: 4 Time: 0
ここで、linsys(:,:,1)
は linsys
の最初のモデルを示します。このモデルは、A = 10
および b = 4
において、シミュレーション時間 t = 0
で取得されています。
配列のインデックスを使用して、A = 10
および b = 4
に対し t = 3
で watertank
モデルを線形化して取得されたモデルを linsys
から抽出します。
sg = linsys.SamplingGrid; sys = linsys(:,:,sg.A == 10 & sg.B == 4 & sg.Time == 3);
構造体 sg
には、linsys
内のすべてのモデルのサンプリング グリッドが含まれます。式 sg.A == 10 & sg.B == 4 & sg.Time == 3
は、logical 配列を返します。この配列の各エントリには、sg.A
、sg.B
および sg.Time
内の対応するエントリの式の論理評価が含まれます。モデル配列 sys
には、式を満たすすべての linsys
モデルが含まれます。
sys
のステップ応答を表示します。
stepplot(sys)