Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

tfdata

伝達関数データにアクセスする

構文

[num,den] = tfdata(sys)
[num,den,Ts] = tfdata(sys)
[num,den,Ts,sdnum,sdden]=tfdata(sys)
[num,den,Ts,...]=tfdata(sys,J1,...,Jn)

説明

[num,den] = tfdata(sys) は、TF、SS、または ZPK モデル (あるいは TF、SS、または ZPK モデルの LTI 配列) sys に対して伝達関数の分子と分母を返します。単一 LTI モデルの場合、tfdata の出力 numden は、次の特性を備えた cell 配列です。

  • numden は出力と同じ数の行、入力と同じ数の列をもちます。

  • (i,j) エントリの num{i,j}den{i,j} は、行ベクトルであり、入力 j から出力 i への伝達関数の分子と分母の係数を指定します。これらの係数は、s または z の "降べき順" に並べられます。

LTI モデルの配列 sys の場合、numden は、サイズが sys と同じ多次元 cell 配列です。

sys が、状態空間モデルまたは零点-極-ゲイン モデルである場合、tf を使用して最初に伝達関数形式に変換されます。伝達関数モデルのデータ形式の詳細は、tf のリファレンス ページを参照してください。

SISO 伝達関数の場合、次の構文

[num,den] = tfdata(sys,'v')

は、tfdata が分子と分母を cell 配列ではなく行ベクトルとして直接返すように強制します (以下の例を参照)。

[num,den,Ts] = tfdata(sys) はサンプル時間 Ts も返します。

[num,den,Ts,sdnum,sdden]=tfdata(sys) は、同定されたシステム sys の分子と分母の係数の不確かさも返します。sdnum{i,j}(k) は値 num{i,j}(k) の 1 標準不確かさで、sdden{i,j}(k) は値 den{i,j}(k) の標準不確かさです。sys に不確かさに関する情報が含まれていない場合、sdnumsdden は空になります ([])。

[num,den,Ts,...]=tfdata(sys,J1,...,Jn) は、モデル配列 sys(J1,...,JN) エントリのデータを抽出します。

sys の残りの LTI プロパティには、get または直接参照でアクセスすることができます。たとえば、次のとおりです。

sys.Ts
sys.variable

例 1

次の SISO 伝達関数があるとします。

h = tf([1 1],[1 2 5])

次のように入力することで、分子と分母の係数を抽出することができます。

[num,den] = tfdata(h,'v')
num =
     0     1     1
 
den =
     1     2     5

この構文は、2 つの行ベクトルを返します。

次のように入力して h を MIMO 伝達関数に変換すると、

H = [h ; tf(1,[1 1])]

次のコマンド

[num,den] = tfdata(H)

は、各 SISO エントリに対して分子と分母のデータをもつ 2 つの cell 配列を返します。celldisp を使用して、このデータを視覚化します。次のように入力します。

celldisp(num)

次のコマンドは、H のエントリの分子ベクトルを返します。

num{1} =
     0     1     1
 
num{2} =
     0     1

同様に、分母の場合には次のように入力します。

celldisp(den)
den{1} =
     1     2     5
 
den{2} =
     1     1

例 2

2 入力、1 出力で同定された伝達関数の分子、分母、および標準偏差を抽出します。

load iddata7

伝達関数モデル

sys1 = tfest(z7, 2, 1, 'InputDelay',[1 0]);

等価なプロセス モデル

sys2 = procest(z7, {'P2UZ', 'P2UZ'}, 'InputDelay',[1 0]);

[num1, den1, ~, dnum1, dden1] = tfdata(sys1);
[num2, den2, ~, dnum2, dden2] = tfdata(sys2);

参考

| | |

R2006a より前に導入