Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

eqtflength

伝達関数の分子と分母の長さを均等化

説明

[b,a] = eqtflength(num,den) は、結果の出力ベクトル ba が同じ長さになるように、ベクトル num またはベクトル den を変更します。ba は、num および den と同じ離散時間伝達関数を表しますが、長さは同じです。

[b,a,n,m] = eqtflength(num,den) は、後置ゼロを含まない、分子の次数 n と分母の次数 m を返します。

すべて折りたたむ

次の離散時間 SISO 伝達関数モデルについて考えてみます。

H(z)=2z-24+3z-2-z-3.

分子と分母の多項式の長さを等しくします。多項式の次数を決定します。

num = [0 0 2];
den = [4 0 3 -1];

[b,a,n,m] = eqtflength(num,den)
b = 1×4

     0     0     2     0

a = 1×4

     4     0     3    -1

n = 2
m = 3

伝達関数の極と零点を可視化します。

zplane(b,a)

Figure contains an axes object. The axes object with title Pole-Zero Plot, xlabel Real Part, ylabel Imaginary Part contains 3 objects of type line. One or more of the lines displays its values using only markers

分子と分母が均等化された伝達関数を状態空間形式に変換します。離散時間伝達関数の状態空間表現を求めるには、ba の長さが等しくなければなりません。

[A,B,C,D] = tf2ss(b,a)
A = 3×3

         0   -0.7500    0.2500
    1.0000         0         0
         0    1.0000         0

B = 3×1

     1
     0
     0

C = 1×3

         0    0.5000         0

D = 0

入力引数

すべて折りたたむ

離散時間伝達関数の分子多項式係数。ベクトルとして指定します。

データ型: double
複素数のサポート: あり

離散時間伝達関数の分母多項式係数。ベクトルとして指定します。

データ型: double
複素数のサポート: あり

出力引数

すべて折りたたむ

離散時間伝達関数の分子多項式係数。行ベクトルとして返されます。b の長さは a と同じです。

離散時間伝達関数の分母多項式係数。行ベクトルとして返されます。a の長さは b と同じです。

分子次数。整数として返されます。b の後置ゼロは n を計算するときに除外されます。

分母次数。整数として返されます。a の後置ゼロは m を計算するときに除外されます。

ヒント

  • 関数 eqtflength は、tf2sstf2zp などの伝達関数変換関数を離散時間モデルに適用する前に、長さの等しい分子と分母を得るために使用します。

アルゴリズム

eqtflength(num,den) は、必要に応じて num または den のいずれかにゼロを追加します。eqtflength は、numden に共通する後置ゼロをすべて削除します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

|