Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português -

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> CACSD > gtild

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)'の 状態空間表現を返します. すなわち, GtABCD 行列は, A',-C', B', D' となります. G がプロパーでない場合 (D= D(s)) , GtD 行列は 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)  //確認

参照

  • syslin — 線形システムを定義する
  • horner — 多項式/有理数の評価
  • factors — 実数因数分解
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Mar 03 11:00:53 CET 2011