モデルの作成と取り扱い | ![]() ![]() |
データ抽出
関数tf
, zpk
, ss
, frd
は、モデルデータとサンプル時間を単一のLTIオブジェクトにまとめます。逆に、つぎのコマンド群は、TF、SS、ZPKモデルsys
またはFRDモデルsysfr
に対して、データの抽出が可能になります。
[num,den,Ts] = tfdata(sys) % Ts = サンプル時間 [z,p,k,Ts] = zpkdata(sys) [a,b,c,d,Ts] = ssdata(sys) [a,b,c,d,e,Ts] = dssdata(sys) [response,frequency,Ts] = frdata(sysfr)
sys
は、FRDモデル以外の任意のLTIオブジェクトです。sysfr
は、frdata
への入力引数で、FRDモデルです。ユーザは、これらの関数のいずれのものの出力引数内に必要ないくつかの変数名を使うことができます。ここでリストしているものは、表2-2から2-5までに記述されているモデルプロパティ名に対応します。
tfdata
の出力引数num
、den
およびzpkdata
のz
、p
は、SISOの場合でも常にセル配列です。これらのセル配列は、出力と同数の行、入力と同数の列をもっており、そのij成分がj番目の入力からi番目までの出力までの伝達関数を設定します。たとえば、
H = [tf([1 -1],[1 2 10]) , tf(1,[1 0])]
[num,den] = tfdata(H); num{1,1}, den{1,1}
ans = 0 1 -1 ans = 1 2 10
H.num{1,1}, H.den{1,1}
この構文について、"直接プロパティを参照"を参照してください。
SISOシステムの分子と分母を行ベクトルとして直接得るためには、つぎの構文を使用します。
[num,den,Ts] = tfdata(sys,'v'
)
sys = tf([1 3],[1 2 5]);
[num,den] = tfdata(sys,'v'
)
num = 0 1 3 den = 1 2 5
[z,p,k,Ts] = zpkdata(sys,'v'
)
は、零点z
および極p
pをSISOシステムに対するベクトルとして出力します。
![]() | 離散時間モデル | LTIプロパティ | ![]() |