Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
trzeros
伝送ゼロおよび通常ランク
呼出し手順
[tr]=trzeros(Sl) [nt,dt,rk]=trzeros(Sl)
パラメータ
- Sl
線形システム (
syslin
リスト)- nt
複素数ベクトル
- dt
実数ベクトル
- rk
整数 (Slの通常ランク)
説明
出力引数の数を1としてコールされた場合,trzeros(Sl)
は
線形システムSl
の伝送ゼロを返します.
Sl
は多項式(しかし正方の)行列D
を有することがあります.
出力引数の数を2としてコールされた場合,trzeros
は
tr=nt./dt
の時の
線形システムSl
の伝送ゼロを返します;
(dt
のいくつかの要素がゼロとなる可能性があることに注意してください)
出力引数の数を3としてコールされた場合, rk
は
Sl
の通常ランクとなります.
伝達関数行列は状態空間表現に変換されます.
Sl
が (正方) 多項式行列の場合, trzeros
はその行列式の根を返します.
通常の状態空間システムの場合, trzeros
は
Emami-Naeni および Van Doorenの状態空間アルゴリズムを使用します.
D
が可逆の場合,
伝送ゼロは逆システムA - B*inv(D)*C
の
"A
行列"の固有値となります;
C*B
が可逆の場合,伝送ゼロは
N*A*M
の固有値となります.
ただし,M*N
は
eye(A)-B*inv(C*B)*C
のフルランク分解です;
多項式行列D
を有するシステムの場合,
ゼロはシステム行列の行列式の根として計算されます.
注意: 計算されるゼロが常に信頼できるとは限りません. 特にゼロが重根の場合は注意を要します.
例
W1 = ssrand(2,2,5); trzeros(W1) //call trzeros roots(det(systmat(W1))) //roots of det(system matrix) s = poly(0,'s'); W = [1/(s+1);1/(s-2)]; W2= (s-3)*W*W'; [nt,dt,rk] = trzeros(W2); St = systmat(tf2ss(W2)); [Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(St); St1 = Q*St*Z; rowf = (Qd(1)+Qd(2)+1):(Qd(1)+Qd(2)+Qd(3)); colf = (Zd(1)+Zd(2)+1):(Zd(1)+Zd(2)+Zd(3)); roots(St1(rowf,colf)), nt./dt //By Kronecker form
Report an issue | ||
<< svplot | Frequency Domain | Stability >> |