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 を指定します。

  • 実数のスカラーを入力した場合、ブロックの状態計算における [コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、この値でオーバーライドされます。

  • 実数のベクトルを入力した場合、ベクトルの次元はブロックの連続状態の次元と一致していなければなりません。[コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、これらの値でオーバーライドされます。

  • auto または –1 を入力した場合、Simulink は [コンフィギュレーション パラメーター] ダイアログ ボックス ([ソルバー] ペインを参照) の絶対許容誤差の値を使用してブロックの状態を計算します。

プログラムでの使用

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

各状態に固有名を割り当てます。このフィールドが空白 (' ') の場合は、名前の割り当ては行われません。

  • 単一の状態に名前を割り当てる場合は、'position' のように一重引用符で囲んで名前を入力します。

  • 複数の状態に名前を割り当てる場合は、中かっこ内にコンマで区切って入力します。たとえば、{'a', 'b', 'c'} のようにします。各名前は固有でなければなりません。

  • MATLAB® ワークスペース内の変数を状態名に割り当てる場合は、引用符なしで変数を入力します。変数には文字ベクトル、string、cell 配列、構造体が使用できます。

制限

  • 状態名は選択されたブロックに対してのみ適用されます。

  • 状態の数は状態名の数で割り切れなければなりません。

  • 指定する名前の数は状態の数より少なくできますが、その逆はできません。

    たとえば、4 つの状態を含むシステムで 2 つの名前を指定することは可能です。最初の名前は最初の 2 つの状態に適用され、2 番目の名前は最後の 2 つの状態に適用されます。

プログラムでの使用

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

ブロックの特性

データ型

double

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

バージョン履歴

R2006a より前に導入