Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

getDelayModel

内部遅延の状態空間表現

構文

[H,tau] = getDelayModel(sys)
[A,B1,B2,C1,C2,D11,D12,D21,D22,E,tau] = getDelayModel(sys)

説明

[H,tau] = getDelayModel(sys) は、内部遅延をもつ状態空間モデル sys を遅延のない状態空間モデル、H と内部遅延のベクトル tau に分解します。sysH、および tau 間の関係を次のダイアグラムに示します。

[A,B1,B2,C1,C2,D11,D12,D21,D22,E,tau] = getDelayModel(sys) は、状態空間モデル sys を明示的に記述する、状態空間行列と内部遅延ベクトル tau のセットを返します。これらの状態空間行列は、次の状態空間方程式によって定義されます。

  • 連続時間 sys:

    Edx(t)dt=Ax(t)+B1u(t)+B2w(t)y(t)=C1x(t)+D11u(t)+D12w(t)z(t)=C2x(t)+D21u(t)+D22w(t)w(t)=z(tτ)

  • 連続時間 sys:

    Ex[k+1]=Ax[k]+B1u[k]+B2w[k]y[k]=C1x[k]+D11u[k]+D12w[k]z[k]=C2x[k]+D21u[k]+D22w[k]w[k]=z[kτ]

入力引数

sys

任意の状態空間 (ss) モデル。

出力引数

H

遅延のない状態空間モデル (ss)。H は、sys を遅延のない成分とすべての内部遅延を表す成分 exp(-tau*s) に分解することによって得られます。

sys に内部遅延がない場合、Hsys と等価になります。

tau

sys の内部遅延のベクトルを sys の時間単位で表したもの。ベクトル tau は、sys を遅延のない状態空間モデル H とすべての内部遅延を表す成分 exp(-tau*s) に分解することによって得られます。

sys に内部遅延がない場合、tau は空になります。

A,B1,B2,C1,C2,D11,D12,D21,D22,E

内部遅延ベクトル tau をもつ、状態空間モデル sys を明示的に記述する状態空間行列の集合。

明示的な状態空間モデル (E = I、または sys.e = []) の場合、出力は E = [] になります。

sys に内部遅延がない場合、出力 B2C2D12D21、および D22 はすべて空 ([]) になります。

すべて折りたたむ

内部遅延をもつ次の閉ループ システムを遅延のない成分と内部遅延を表す成分に分解します。

r から y への閉ループ モデル sys を作成します。

G = tf(1,[1 10],'InputDelay',2.1); 
C = pid(0.5,2.3);
sys = feedback(C*G,1);

sys は、入力遅延のあるプラントでフィードバック ループを閉じたことにより内部遅延が生じた状態空間 (ss) モデルです。

sys を遅延のない状態空間モデルと内部遅延の値に分解します。

[H,tau] = getDelayModel(sys);

内部遅延がプラントにおける元の入力遅延と一致することを確認します。

tau
tau = 2.1000

参考

トピック

R2006a で導入