Main Content

State-Space

線形状態空間システムを実現

  • State-Space block

ライブラリ:
Simulink / Continuous

説明

State-Space ブロックは、以下によって動作が定義されるシステムを実現します。

x˙=Ax+Buy=Cx+Dux|t=t0=x0,

ここで x は状態ベクトル、u は入力ベクトル、y は出力ベクトル、x0 は状態ベクトルの初期状態です。A、B、C、および D 行列は、スパース行列または密行列として指定できます。行列係数には以下の特性が必要です。

  • A は、n 行 n 列の行列でなければなりません。n は状態数です。

  • B は、n 行 m 列の行列でなければなりません。m は入力数です。

  • C は、r 行 n 列の行列でなければなりません。r は出力数です。

  • D は、r 行 m 列の行列でなければなりません。

一般的にこのブロックには、1 つの入力端子と 1 つの出力端子があります。行列 C または D の行数は出力端子の幅と同じです。行列 B または D の列数は入力端子の幅と同じです。入力がない自律線形システムをモデル化する場合は、行列 B および D を空に設定します。この場合、このブロックは入力端子がなく出力端子が 1 つのソース ブロックとして動作し、次のシステムが実装されます。

x˙=Axy=Cxx|t=t0=x0.

Simulink® は、ゼロを含む行列をスパース行列に変換して、乗算の効率を高めます。

端子

入力

すべて展開する

double 型の実数値入力ベクトル。幅は B および D 行列の列数と等しくなります。詳細については、説明を参照してください。

データ型: double

出力

すべて展開する

double データ型の実数値出力ベクトル。幅は C および D 行列の列数と等しくなります。詳細については、説明を参照してください。

データ型: double

パラメーター

すべて展開する

行列係数 A を実数の n 行 n 列の行列で指定します。n は状態数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

ブロック パラメーター: A
型: 文字ベクトル、string
値: スカラー | ベクトル | 行列 | スパース行列
既定の設定: '1'

行列係数 B を実数値の n 行 m 列の行列で指定します。n は状態数、m は入力数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

ブロック パラメーター: B
型: 文字ベクトル、string
値: スカラー | ベクトル | 行列 | スパース行列
既定の設定: '1'

行列係数 C を実数値の r 行 n 列の行列で指定します。r は出力数、n は状態数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

ブロック パラメーター: C
型: 文字ベクトル、string
値: スカラー | ベクトル | 行列 | スパース行列
既定の設定: '1'

行列係数 D を実数値の r 行 m 列の行列で指定します。r は出力数、m は入力数です。行列係数の詳細については、説明を参照してください。

プログラムでの使用

ブロック パラメーター: D
型: 文字ベクトル、string
値: スカラー | ベクトル | 行列 | スパース行列
既定の設定: '1'

初期状態ベクトルを指定します。

制限

このブロックの初期条件に inf または NaN を使用することはできません。

プログラムでの使用

ブロック パラメーター: X0
型: 文字ベクトル、string
値: スカラー | ベクトル
既定の設定: '0'

アクセラレータ シミュレーション モードおよび Simulink Compiler™ を使用して展開されたシミュレーションの状態空間行列 (A、B、C および D) の調整可能性レベル。[自動] に設定すると、Simulink で適切なパラメーター調整可能性レベルが選択されます。

スパース行列係数の場合、パラメーターを [最適化済み] に設定すると、非ゼロ要素のパターンと数を一定に維持したまま、非ゼロ要素の調整可能性が許可されます。このパラメーターを [制約なし] に設定すると、非ゼロ要素の数が一定である限り、すべての要素が調整可能になり、スパース行列のパターンは変更できます。

密行列係数の場合は、[最適化済み] を選択すると、初期状態で行列に指定された非ゼロ要素の数が一定であれば、すべての行列要素の調整可能性が許可されます。このパラメーターを [制約なし] に設定すると、すべての行列要素の完全な調整可能性が許可されます。

メモ

D = 0 の場合にブロックの D 行列を調整するには、[初期状態で 0 に指定されている D 行列で非ゼロの値を許可] パラメーターを選択しなければなりません。

プログラムでの使用

ブロック パラメーター: ParameterTunability
: 文字ベクトル | string
: 'Auto' | 'Optimized' | 'Unconstrained'
既定の設定: 'Auto'

このパラメーターを有効にすると、D = 0 の場合でも D の調整可能性がサポートされます。

メモ

このパラメーターを有効にすると、State-Space ブロックで直達が有効になります。

プログラムでの使用

ブロック パラメーター: AllowTunableDMatrix
: 文字ベクトル | string
値: 'off' | 'on'
既定の設定: 'off'

可変ステップ ソルバーは、ステップ サイズの選択時に絶対許容誤差および相対許容誤差を使用して、状態計算の誤差が許容されるかどうかを判別します。

[絶対許容誤差] コンフィギュレーション パラメーターから絶対許容誤差を継承するには、このパラメーターの値を auto または -1 に指定します。

[絶対許容誤差] コンフィギュレーション パラメーターに指定されている値をオーバーライドするこのブロックの絶対許容誤差を指定するには、以下のようにします。

  • すべてのブロックの状態を計算するために使用する正の実数のスカラー値を入力します。

  • ブロックの連続状態の次元と一致している次元をもつ実数ベクトルを入力します。

プログラムでの使用

ブロック パラメーター: AbsoluteTolerance
型: string | 文字ベクトル
値: 'auto' | '-1' | 正の実数スカラー | 正の実数スカラーのベクトル
既定の設定: 'auto'

オプションとしてこのブロックの状態に名前を割り当てるには、このパラメーターを使用します。割り当てる名前は、このブロックの状態にのみ適用されます。

  • 既定の状態名を使用するには、このフィールドを空 ('') のままにします。

  • 単一の名前を単一の状態に割り当てるには、引用符で囲んで名前を入力します。たとえば、単一の状態 position に名前を付けるには、「"position"」と入力します。

  • 名前を複数の状態に割り当てるには、このパラメーターの値を文字ベクトルの cell 配列として指定します。cell 配列内のそれぞれの名前は一意でなければなりません。たとえば、名前 ab、および c を割り当てるには、「{'a','b','c'}」と入力します。

  • MATLAB 変数を使用して名前を指定するには、引用符なしで変数の名前を入力します。たとえば、変数 names を使用して状態名を指定するには、「names」と入力します。

ブロックの状態の数より少ない数の名前を指定できます。この場合、状態名は複数の状態で使用され、状態の数は状態名の数に割り切れなければなりません。たとえば、4 つの状態をもつブロックで 2 つの名前を指定した場合、最初の名前は最初の 2 つの状態に使用され、2 番目の名前は最後の 2 つの状態に使用されます。

プログラムでの使用

ブロック パラメーター: ContinuousStateAttributes
型: string | 文字ベクトル
値: ' ' | ユーザー定義
既定の設定: ' '

ブロックの特性

データ型

double

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

バージョン履歴

R2006a より前に導入