gtild
チルダ処理
呼び出し手順
Gt=gtild(G) Gt=gtild(G,flag)
パラメータ
- G
多項式または線形システムのどちらか (
syslin
リスト) または有理行列- Gt
Gと同じ
- flag
文字列:
'c'
または'd'
のどちらか (オプションのパラメータ).
説明
G
は多項式行列 (または多項式), Gt=gtild(G,'c')
は多項式行列 Gt(s)=G(-s)'
を返します.
G
が多項式行列 (または多項式)の場合,
Gt=gtild(G,'d')
は多項式行列
Gt=G(1/z)*z^n
を返します.
ただし, n は G
の最大次数です.
syslin
リストにより状態空間で表される
連続時間システムの場合,
Gt = gtild(G,'c')
はG(-s)'
の
状態空間表現を返します.
すなわち, Gt
の ABCD
行列は,
A',-C', B', D'
となります.
G
がプロパーでない場合
(D= D(s)
) ,
Gt
の D
行列は
D(-s)'
となります.
syslin
リストにより状態空間で表される
離散時間システムの場合,
Gt = gtild(G,'d')
はG(-1/z)'
の状態空間表現,
すなわち, (プロパーでない場合もある)
-z*C*inv(z*A-B)*C + D(1/z)
の状態空間表現,
を返します.
有理行列の場合, Gt = gtild(G,'c')
は
誘致行列 Gt(s)=G(-s)
を返し,
Gt = gtild(G,'d')
は有理行列
Gt(z)= G(1/z)'
を返します.
パラメータ flag
は,
多項式引数を指定してgtild
がコール
される場合に必要です.
例
// 連続時間 s=poly(0,'s');G=[s,s^3;2+s^3,s^2-5] Gt=gtild(G,'c') Gt-horner(G,-s)' //連続時間解釈 Gt=gtild(G,'d'); Gt-horner(G,1/s)'*s^3 //離散時間解釈 G=ssrand(2,2,3);Gt=gtild(G); //状態空間 (G はデフォルトで連続時間系) clean((horner(ss2tf(G),-s))'-ss2tf(Gt)) //確認 // 離散時間 z=poly(0,'z'); Gss=ssrand(2,2,3);Gss('dt')='d'; //離散時間 Gss(5)=[1,2;0,1]; //定数D行列を指定 G=ss2tf(Gss);Gt1=horner(G,1/z)'; Gt=gtild(Gss); Gt2=clean(ss2tf(Gt)); clean(Gt1-Gt2) //確認 // プロパーでないシステム z=poly(0,'z'); Gss=ssrand(2,2,3);Gss(7)='d'; //離散時間 Gss(5)=[z,z^2;1+z,3]; //D(z) は多項式 G=ss2tf(Gss);Gt1=horner(G,1/z)'; //伝達形式で計算 Gt=gtild(Gss); //状態空間形式で計算 Gt2=clean(ss2tf(Gt));clean(Gt1-Gt2) //確認
Report an issue | ||
<< fstabst | Linear System Factorization | lcf >> |