サブシステムの抽出と変更 | ![]() ![]() |
サブシステムは、システムの入力と出力の部分的な繋がりを示すものです。サブシステムの伝達行列は、システムの伝達行列のサブ行列になります。たとえば、sys
が2入力、3出力、I/O関係
従って、行列のサブインデックスのようなものを使って、このサブシステムを抽出します。
SubSys = sys(3,1)
結果のサブシステムSubSys
は、sys
から継承するサンプル時間、むだ時間、I/O名とI/Oグループプロパティ値をもつ、sys
と同じタイプのLTIモデルです。
たとえば、sys
は、1、2、3のチャンネルからなるcontrols
と名付けられた入力グループをもっている場合、SubSys
は、最初のチャンネルをもつcontrols
と名付けた入力グループになります。
sys
が行列a
, b
, c
, d
をもつ状態空間モデルの場合、サブシステムsys(3,1)
は、データa
, b(:,1)
, c(3,:)
, d(3,1)
をもつ状態空間モデルです。
sys(3,1)
と言う表現において、最初のインデックスは、出力チャンネルで、2番目のインデックスは入力チャンネルを選択します。sminreal
を使って、サブシステム内の不必要な状態を削除してください。LTIモデルsysを変更するときも、上と同じ構文を使います。たとえば、
sys(3,1) = NewSubSys
は、NewSubSys
がSISO LTIモデルの場合、最初の入力と3番目の出力間のI/O関係を再定義します。
sys
は、NewSubSys
のモデルタイプに拘わらず、オリジナルモデルのタイプ(TF,ZPK,SS,FRDのいずれか)のままです。NewSubSys
がFRDモデルの場合、sys
もFRDモデルでなければいけません。さらに、周波数もお互い一致します。他の標準的な行列サブインデックスが、LTIオブジェクトに拡張されます。たとえば、
sys(3,1:2)
は、最初の2つの入力を3番目の出力に射影したサブシステムを抽出します。また、
sys(:,1)
sys([1 3],:)
は、すべての入力と最初と3番目の出力をもつサブシステムを抽出します。
このシステムから最初の入力から最初の出力までの伝達関数を抽出するには、つぎのように入力してください。
T(1,1)
Transfer function:
1
-------
s + 0.1
つぎに、を
に再度代入し、つぎのようにして、
T
の2番目の入力チャンネルを変更します。
T(1,1) = tf(1,[1 0.5]); T(:,2) = [ 1 ; tf(0.4,[1 0]) ] Transfer function from input 1 to output... 1 #1: ------- s + 0.5 s - 1 #2: ------------- s^2 + 2 s + 2 Transfer function from input 2 to output... #1: 1 0.4 #2: --- s
![]() | 優先順位とプロパティの継承 | 周波数をベースにしたFRDモデルの参照 | ![]() |