Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

tzero

線形システムの不変零点

構文

z = tzero(sys)
z = tzero(A,B,C,D,E)
z = tzero(___,tol)
[z,nrank] = tzero(___)

説明

z = tzero(sys) は、多入力多出力 (MIMO) 動的システム、sys不変零点を返します。sys が最小実現の場合、不変零点sys の伝達零点と一致します。

z = tzero(A,B,C,D,E) は状態空間モデルの不変零点を返します。

Edxdt=Ax+Buy=Cx+Du.

明示的な状態空間モデル (E = I) では E を省略します。

z = tzero(___,tol) は、相対許容誤差 tol を指定して、ランク決定を制御します。

[z,nrank] = tzero(___) はまた、sys の伝達関数または伝達関数 H(s) = D + C(sE – A)–1B の通常のランクも返します。

入力引数

sys

MIMO 動的システム モデルsys が状態空間モデルでない場合、tzerotzero(ss(sys)) を計算します。

A,B,C,D,E

線形システムについて記述した状態空間行列

Edxdt=Ax+Buy=Cx+Du.

構文 z = tzero(A,B,C,D,E) を使用した場合、tzero は状態空間行列をスケーリングしません。tzero を使用する前に行列をスケーリングする場合は、prescale を使用します。

E = I を使用する場合は、E を省略します。

tol

ランク決定を制御する相対許容誤差。許容誤差を増やすと、非最小状態モードが検出され、多くのゼロ (無限に近づく) が排除されます。ただし、許容誤差を増やすと、伝達零点の数が人為的に引き上げられる可能性があります。

既定値: eps^(3/4)

出力引数

z

sys不変零点または A,B,C,D,E で記述された状態空間モデルが含まれる列ベクトル。

nrank

sys の伝達関数または伝達関数 H(s) = D + C(sE – A)–1B の通常のランク。通常のランクは、伝達零点ではなく、s の値のランクです。

nrank の有意な結果を得るには、行列 s*E-A は正 (s のほとんどの値では可逆) でなければなりません。言い換えれば、sys または A,B,C,D,E で記述されるシステムの極数は有限でなければなりません。

すべて折りたたむ

MIMO 伝達関数を作成し、その不変零点を見つけます。

s = tf('s'); 
H = [1/(s+1) 1/(s+2);1/(s+3) 2/(s+4)];
z = tzero(H)
z = 2×1 complex

  -2.5000 + 1.3229i
  -2.5000 - 1.3229i

出力は、H の不変零点の場所を一覧表示する列ベクトルになります。この出力では、H に不変零点の複素数のペアがあることが示されています。不変零点が伝達零点と一致することを確認します。

最初の不変零点が H の伝達零点かどうかを確認します。

z(1) が H の伝達零点であれば、Hs = z(1) でランクを下げます。

H1 = evalfr(H,z(1));
svd(H1)
ans = 2×1

    1.5000
    0.0000

H1 は、s = z(1) で評価された伝達関数 H です。H1 の特異値はゼロなので、Hs のこの値でランクを下げます。したがって、z(1)H の伝達零点です。

同様の解析では、z(2) も伝達零点であることが示されます。

MIMO モデルを取得します。

load ltiexamples gasf
size(gasf)
State-space model with 4 outputs, 6 inputs, and 25 states.

gasf は、非可制御状態や不可観測状態が含まれている可能性のある MIMO モデルです。

gasf の不可観測モードと非可制御モードを特定するには、モデルの状態空間行列 ABC、および D が必要です。tzero は状態空間行列をスケーリングしません。したがって、prescalessdata で使用して、gasf の状態空間行列をスケーリングします。

[A,B,C,D] = ssdata(prescale(gasf));

gasf の非可制御状態を特定します。

 uncon = tzero(A,B,[],[])
uncon = 6×1

   -0.0568
   -0.0568
   -0.0568
   -0.0568
   -0.0568
   -0.0568

tzero に行列 A と行列 B を提供し、行列 C と行列 D は指定しないと、gasf の非可制御モードの固有値が返されます。出力から、6 つの退化した非可制御モードがあることがわかります。

gasf の不可観測状態を特定します。

unobs = tzero(A,[],C,[])
unobs =

  0x1 empty double column vector

行列 A と行列 C を提供し、行列 B と行列 D は指定しないと、不可観測モードの固有値が返されます。空の結果は、gasf に不可観測状態がないことを示します。

詳細

すべて折りたたむ

不変零点

MIMO 状態空間モデルに対して

Edxdt=Ax+Buy=Cx+Du,

不変零点は、s の複素数値で、次のシステム行列

[AsEBCD]

のランクが通常の値から下がります。(明示的な状態空間モデルの場合は、E = I)。

伝達零点

MIMO 状態空間モデルに対して

Edxdt=Ax+Buy=Cx+Du,

"伝達零点" は s の複素数値で、等価の伝達関数 H(s) = D + C(sE – A)–1B のランクが通常の値から下がります (明示的な状態空間モデルの場合は、E = I)。

伝達零点は、不変零点のサブセットです。最小実現の場合、伝達零点と不変零点は同じです。

ヒント

  • 構文 z = tzero(A,B,C,D,E) を使用して、状態空間モデルの非可制御または不可観測モードを見つけます。C および D が空または零点の場合、tzero(A-sE,B) の非可制御を返します。同様に、B および D が空または零点の場合、tzero(C,A-sE) の不可観測モードを返します。その例は、MIMO モデルの不可観測モードと非可制御モードの特定 を参照してください。

アルゴリズム

tzero は SLICOT ルーチン AB08ND、AB08NZ、AG08BD および AG08BZ に基づいています。tzero[1]および[2]に記述されているアルゴリズムを実装します。

代替法

単入力単出力 (SISO) システムの零点とゲインを計算するには、zero を使用します。

参考文献

[1] Emami-Naeini, A. and P. Van Dooren, "Computation of Zeros of Linear Multivariable Systems," Automatica, 18 (1982), pp. 415–430.

[2] Misra, P, P. Van Dooren, and A. Varga, “Computation of Structural Invariants of Generalized State-Space Systems,” Automatica, 30 (1994), pp. 1921-1936.

参考

| |

R2012a で導入