Main Content

dssdata

記述子状態空間データを抽出する

構文

[A,B,C,D,E] = dssdata(sys)
[A,B,C,D,E,Ts] = dssdata(sys)

説明

[A,B,C,D,E] = dssdata(sys) は、記述子状態空間モデル sys (dss を参照)の行列 A、B、C、D、および E の値を返します。通常の状態空間モデル (つまり、E=I の場合) に関しては、dssdata は、ssdata と等価です。

sys に内部遅延がある場合、最初に内部遅延をすべてゼロに設定すること (0 次のパデ近似の作成) によって、ABCD が得られます。システムによっては、遅延をゼロに設定すると、特異値の代数ループが作成されることがあります。そのため、ゼロ遅延の近似が正しく行われないか、間違って定義されることになります。このようなシステムでは、dssdata で行列を表示することはできず、エラーが返されます。このエラーが表示されても、モデル sys 自体に問題があることにはなりません。

[A,B,C,D,E,Ts] = dssdata(sys) はサンプル時間 Ts も返します。

sys のその他のプロパティへは、関数 get を使用するか、直接的に構造体のような参照 (たとえば、sys.Ts) でアクセスすることができます。

次数が可変である SS モデルの配列では、次の構文を使用します。

[A,B,C,D,E] = dssdata(sys,'cell')

すると、各モデルの状態空間行列を cell 配列 A、B、C、D、および E に別々のセルとして抽出できます。

バージョン履歴

R2006a より前に導入