replaceBlock
一般化 LTI モデルの制御設計ブロックの置換または更新
構文
Mnew = replaceBlock(M,Block1,Value1,...,BlockN,ValueN)
Mnew = replaceBlock(M,blockvalues)
Mnew = replaceBlock(...,mode)
説明
は、指定された値 Mnew
= replaceBlock(M
,Block1,Value1,...,BlockN,ValueN)Value1,...,ValueN
で M
の制御設計ブロック Block1,...,BlockN
を置き換えます。M
は一般化 LTI モデルまたは一般化行列です。
は、構造体 Mnew
= replaceBlock(M
,blockvalues
)blockvalues
のフィールド名と値としてブロック名と置換値を指定します。
は、Mnew
= replaceBlock(...,mode
)mode
で指定された代入モードを使ってモデルの配列 M
に対してブロックの置き換えを実行します。
入力引数
|
一般化 LTI モデル、一般化行列、またはそのようなモデルの配列。 |
|
指定された |
|
対応するブロック ブロックの置換値は、異なる制御設計ブロック、数値行列、LTI モデルなど、ブロックのサイズと互換性のある任意の値にすることができます。いずれかの値が |
|
置き換えのために
|
|
一般化行列または LTI モデルの入力配列
入力 既定値: |
出力引数
|
指定されたブロックが指定された置換値によって置き換えられる行列、線形モデル、または行列。
|
例
数値による制御設計ブロックの置き換え
この例は、ゲインのみ、数値 PI コントローラーまたは調整可能なコントローラーの現在の値によって一般化 LTI モデルで調整可能な PID コントローラー (tunablePID
) を置き換える方法を示します。
次のシステムの一般化 LTI モデルを作成します。
ここで、プラントは 、C は調整可能な PID コントローラーです。
G = zpk(1,[-1,-1,-1],1); C = tunablePID('C','pid'); Try = feedback(G*C,1)
C
をゲインのみの 5 で置き換えます。T1 = replaceBlock(Try,'C',5);
T1
はfeedback(G*5,1)
と等価のss
モデルです。5 の比例ゲインおよび 0.1 の積分ゲインのある PI コントローラーによって
C
を置き換えます。C2 = pid(5,0.1); T2 = replaceBlock(Try,'C',C2);
T2
はfeedback(G*C2,1)
と等価のss
モデルです。現在の (ノミナル) 値によって
C
を置き換えます。T3 = replaceBlock(Try,'C',[]);
T3
は、C
がgetValue(C)
によって置き換えられているss
モデルです。
値のグリッド上の調整可能なモデルのサンプリング
以下で表される 2 次フィルターについて考えます。
減衰定数 および固有振動数 の値を変化させてこのフィルターをサンプリングします。 と の調整可能な要素を使用してフィルターの調整可能なモデルを作成します。
wn = realp('wn',3); zeta = realp('zeta',0.8); F = tf(wn^2,[1 2*zeta*wn wn^2])
Generalized continuous-time state-space model with 1 outputs, 1 inputs, 2 states, and the following blocks: wn: Scalar parameter, 5 occurrences. zeta: Scalar parameter, 1 occurrences. Model Properties Type "ss(F)" to see the current value and "F.Blocks" to interact with the blocks.
サンプル値のグリッドを作成します。
wnvals = [3;5]; zetavals = [0.6 0.8 1.0]; [wngrid,zetagrid] = ndgrid(wnvals,zetavals); Fsample = replaceBlock(F,'wn',wngrid,'zeta',zetagrid); size(Fsample)
2x3 array of state-space models. Each model has 1 outputs, 1 inputs, and 2 states.
ndgrid コマンドは、パラメーターの組み合わせから成る 2 行 3 列のフル グリッドを作成します。したがって、Fsample
は状態空間モデルの 2 行 3 列の配列です。配列の各要素は、対応する (wn
, zeta
) ペアで評価された F
を表す状態空間モデルです。たとえば、Fsample(:,:,2,3)
には wn
= 5 と zeta
= 1.0 があります。
damp(Fsample(:,:,2,3))
Pole Damping Frequency Time Constant (rad/seconds) (seconds) -5.00e+00 1.00e+00 5.00e+00 2.00e-01 -5.00e+00 1.00e+00 5.00e+00 2.00e-01
ヒント
replaceBlock
を使用して、一般化 LTI モデルをパラメーターのグリッドにわたってサンプリングすることでパラメーターの調査を実行したり、調整可能なブロックの具体的な値に対して調整可能なモデルを評価したりすることができます。例を参照してください。同時サンプリングなどの制御設計ブロックをサンプリングする追加オプションには、
sampleBlock
を使用します。制御設計ブロックのサンプルをランダムに取得するには、
rsampleBlock
を参照してください。
バージョン履歴
R2011a で導入