time_id
SISO 最小二乗同定
呼出し手順
[H [,err]]=time_id(n,u,y)
パラメータ
- n
伝達関数の次元
- u
以下のどれか
- u1
システムへの入力ベクトル
- "impuls"
y はインパルス応答
- "step"
yはステップ応答.
- y
応答ベクトル.
- H
y(1)==0 の場合は分母がn次,分子がn-1次の有理関数, y(1)<>0 の場合, 分母と分子が n次の有理関数.
- err
||y - impuls(H,npt)||^2
, ただし,impuls(H,npt)
はH
のインパルス応答の最初のnpt
個の係数です.
説明
離散時間応答の同定.
y
が厳密にプロパーの場合(y(1)=0
) ,
time_id
は線形方程式に関する以下の最小二乗解
を計算します: coeff(Den,n):=1
を拘束条件とする
Den*y-Num*u=0
.
y(1)~=0
の場合,
アルゴリズムはまず解のプロパーな部分を計算した後,y(1)を
解に追加します.
例
z=poly(0,'z'); h=(1-2*z)/(z^2-0.5*z+5) rep=[0;ldiv(h('num'),h('den'),20)]; //インパルス応答 H=time_id(2,'impuls',rep) // flts および uを用いる同じ例 u=zeros(1,20);u(1)=1; rep=flts(u,tf2ss(h)); //インパルス応答 H=time_id(2,u,rep) // step response u=ones(1,20); rep=flts(u,tf2ss(h)); //ステップ応答. H=time_id(2,'step',rep) H=time_id(3,u,rep) // uを入力として指定, 高次過ぎる系を指定
参照
Report an issue | ||
<< sorder | Identification | Linear Analysis >> |