モデルの作成と取り扱い | ![]() ![]() |
LTIシステムのリサイズ
入力や出力を付加したり、削除したりして、システムをリサイズできます。最初の2つの入力を削除するには、単につぎのように入力します。
sys(:,1:2) = []
削除の場合、行/列のインデックスのどちらか一つは少なくともコロン(:
)演算子を使います。
入力/出力を拡大するには、連結や部分的な割り当てにより可能になります。1入力をもつシステムsys
を与え、つぎのコマンドを使って、2番目の入力を付加します。
sys = [sys,h];
sys(:,2) = h;
ここで、h
は1入力をもち、sys
と同じ出力数をもっています。上の2つのオプションには、重要な違いがあります。連結は優先順位に従い、部分的な割り当てはモデルタイプを変更しません。それで、sys
とh
がそれぞれTFとSSオブジェクトならば、最初のオプションは状態空間モデルを作成し、二番目のオプションは伝達関数を作成します。
状態空間モデルに対して、sys
とh
は共に独立な状態をもっているので、連結も部分的な割り当ても、結果は次数が大きくなります。それで、入力と状態または状態と出力の関係のみを更新して、同じ大きさの状態行列を維持したい場合、set
を使って、直接対応する状態空間データを変更してください。たとえば、
sys = ss(a,b1,c,d1) set(sys,'b',[b1 b2],'d',[d1 d2])
は、B とD行列を付加することで、状態空間モデルsys
に2番目の入力を加えます。set
コマンドを一度使って、同時に2つの行列を変更しなければなりません。実際には、
sys.b = [b1 b2]
set(sys,'b',[b1 b2])
は、BとD行列がお互いに矛盾する次元になるので、エラーになります。
![]() | 名前をベースにチャンネルの識別 | 代数演算 | ![]() |