Main Content

getDelayModel

内部遅延の状態空間表現

    説明

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

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

    すべて折りたたむ

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

    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
    

    入力引数

    すべて折りたたむ

    状態空間モデル。以下のオブジェクトのいずれかとして指定します。

    • ss — 数値状態空間モデル

    • sparss — スパース 1 次状態空間モデル

    • mechss — スパース 2 次状態空間モデル

    出力引数

    すべて折りたたむ

    遅延のない状態空間モデル。sys と同じタイプの状態空間オブジェクトとして返されます。H は、sys を遅延のない成分とすべての内部遅延を表す成分 exp(-tau*s) に分解することによって得られます。

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

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

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

    内部遅延ベクトル tau とともに、以下の方程式に従って状態空間モデル sys を記述する状態空間行列。

    • 連続時間 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τ]

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

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

    バージョン履歴

    R2006a で導入

    参考

    トピック