このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
State-Space
線形状態空間システムを実現

ライブラリ:
Simulink /
Continuous
説明
State-Space ブロックは、以下によって動作が定義されるシステムを実現します。
ここで 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 つのソース ブロックとして動作し、次のシステムが実装されます。
Simulink® は、ゼロを含む行列をスパース行列に変換して、乗算の効率を高めます。
端子
入力
出力
パラメーター
A — 行列係数、A
1
(既定値) | スカラー | ベクトル | 行列 | スパース行列
行列係数 A
を実数の n 行 n 列の行列で指定します。n は状態数です。行列係数の詳細については、説明を参照してください。
プログラムでの使用
ブロック パラメーター: A |
型: 文字ベクトル、string |
値: スカラー | ベクトル | 行列 | スパース行列 |
既定の設定: '1' |
B — 行列係数、B
1
(既定値) | スカラー | ベクトル | 行列 | スパース行列
行列係数 B
を実数値の n 行 m 列の行列で指定します。n は状態数、m は入力数です。行列係数の詳細については、説明を参照してください。
プログラムでの使用
ブロック パラメーター: B |
型: 文字ベクトル、string |
値: スカラー | ベクトル | 行列 | スパース行列 |
既定の設定: '1' |
C — 行列係数、C
1
(既定値) | スカラー | ベクトル | 行列 | スパース行列
行列係数 C を実数値の r 行 n 列の行列で指定します。r は出力数、n は状態数です。行列係数の詳細については、説明を参照してください。
プログラムでの使用
ブロック パラメーター: C |
型: 文字ベクトル、string |
値: スカラー | ベクトル | 行列 | スパース行列 |
既定の設定: '1' |
D — 行列係数、D
1
(既定値) | スカラー | ベクトル | 行列 | スパース行列
行列係数 D を実数値の r 行 m 列の行列で指定します。r は出力数、m は入力数です。行列係数の詳細については、説明を参照してください。
プログラムでの使用
ブロック パラメーター: D |
型: 文字ベクトル、string |
値: スカラー | ベクトル | 行列 | スパース行列 |
既定の設定: '1' |
初期条件 — 初期状態ベクトル
0
(既定値) | スカラー | ベクトル
初期状態ベクトルを指定します。
制限
このブロックの初期条件に inf
または NaN
を使用することはできません。
プログラムでの使用
ブロック パラメーター: X0
|
型: 文字ベクトル、string |
値: スカラー | ベクトル |
既定の設定: '0' |
パラメーターの調整可能性 — ブロック パラメーターの調整可能な表現の選択
Auto
(既定値) | Optimized
| Unconstrained
アクセラレータ シミュレーション モードおよび Simulink Compiler™ を使用して配布されたシミュレーションの状態空間行列 (A、B、C および D) の調整可能性レベル。[自動]
に設定すると、Simulink で適切なパラメーター調整可能性レベルが選択されます。
スパース行列係数の場合、パラメーターを [最適化済み]
に設定すると、非ゼロ要素のパターンと数を一定に維持したまま、非ゼロ要素の調整可能性が許可されます。このパラメーターを [制約なし]
に設定すると、非ゼロ要素の数が一定である限り、すべての要素が調整可能になり、スパース行列のパターンは変更できます。
密行列係数の場合は、[最適化済み]
を選択すると、初期状態で行列に指定された非ゼロ要素の数が一定であれば、すべての行列要素の調整可能性が許可されます。このパラメーターを [制約なし]
に設定すると、すべての行列要素の完全な調整可能性が許可されます。
メモ
D = 0 の場合にブロックの D 行列を調整するには、[初期状態で 0 に指定されている D 行列で非ゼロの値を許可] パラメーターを選択しなければなりません。
プログラムでの使用
ブロック パラメーター: ParameterTunability
|
型: 文字ベクトル | string |
値: 'Auto' | 'Optimized' | 'Unconstrained' |
既定の設定: 'Auto' |
初期状態で 0 に指定されている D 行列で非ゼロの値を許可 — D = 0 の場合に D 行列の調整可能性を許可
off
(既定値) | on
このパラメーターを有効にすると、D = 0 の場合でも D の調整可能性がサポートされます。
メモ
このパラメーターを有効にすると、State-Space ブロックで直達が有効になります。
プログラムでの使用
ブロック パラメーター: AllowTunableDMatrix
|
型: 文字ベクトル | string |
値: 'off' | 'on' |
既定の設定: 'off' |
絶対許容誤差 — ブロックの状態を計算するための絶対許容誤差
auto
(既定値) | スカラー | ベクトル
ブロックの状態を計算するための絶対許容誤差。正の実数値のスカラーまたはベクトルとして指定します。コンフィギュレーション パラメーターから絶対許容誤差を継承するには、auto
または -1
を指定します。
実数のスカラーを入力した場合、ブロックの状態計算における [コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、この値でオーバーライドされます。
実数のベクトルを入力した場合、ベクトルの次元はブロックの連続状態の次元と一致していなければなりません。[コンフィギュレーション パラメーター] ダイアログ ボックスの絶対許容誤差は、これらの値でオーバーライドされます。
auto
または –1 を入力した場合、Simulink は [コンフィギュレーション パラメーター] ダイアログ ボックス ([ソルバー] ペインを参照) の絶対許容誤差の値を使用してブロックの状態を計算します。
プログラムでの使用
ブロック パラメーター: AbsoluteTolerance |
型: 文字ベクトル、string |
値: 'auto' | '-1' | 任意の正の実数値のスカラーまたはベクトル |
既定の設定: 'auto' |
[状態名] (例: 'position') — 各状態に固有名を割り当て
' '
(既定値) | 'position'
| {'a', 'b', 'c'}
| a
| ...
各状態に固有名を割り当てます。このフィールドが空白 (' '
) の場合は、名前の割り当ては行われません。
単一の状態に名前を割り当てる場合は、
'position'
のように一重引用符で囲んで名前を入力します。複数の状態に名前を割り当てる場合は、中かっこ内にコンマで区切って入力します。たとえば、
{'a', 'b', 'c'}
のようにします。各名前は固有でなければなりません。MATLAB® ワークスペース内の変数を状態名に割り当てる場合は、引用符なしで変数を入力します。変数には文字ベクトル、string、cell 配列、構造体が使用できます。
制限
状態名は選択されたブロックに対してのみ適用されます。
状態の数は状態名の数で割り切れなければなりません。
指定する名前の数は状態の数より少なくできますが、その逆はできません。
たとえば、4 つの状態を含むシステムで 2 つの名前を指定することは可能です。最初の名前は最初の 2 つの状態に適用され、2 番目の名前は最後の 2 つの状態に適用されます。
プログラムでの使用
ブロック パラメーター: ContinuousStateAttributes |
型: 文字ベクトル、string |
値: ' ' | ユーザー定義 |
既定の設定: ' ' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
量産品質のコードには推奨しません。組み込みシステムでよく見られる速度とメモリに関するリソースの制限と制約に関連します。生成されたコードには動的な割り当て、メモリの解放、再帰、追加のメモリのオーバーヘッド、および広範囲で変化する実行時間が含まれることがあります。リソースが十分な環境ではコードが機能的に有効で全般的に許容できても、小規模な組み込みターゲットではそのコードをサポートできないことはよくあります。
通常、量産コード生成をサポートする等価な離散ブロックに連続ブロックをマッピングするには、Simulink モデルの離散化の使用を検討してください。モデルの離散化を開始するには、Simulink エディターの [アプリ] タブにある [アプリ] で、[制御システム] の [モデルの離散化] をクリックします。1 つの例外は Second-Order Integrator ブロックで、モデルの離散化はこのブロックに対しては近似的な離散化を行います。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)