Varying State Space
行列値が可変の状態空間モデル
ライブラリ:
Control System Toolbox /
Linear Parameter Varying
説明
このブロックを使用して、行列が可変の連続時間状態空間モデルを実装します。状態行列 A、入力行列 B、出力行列 C、およびフィードフォワード行列 D の瞬時値を、対応する入力端子に送ります。システム応答は次のように与えられます。
ここで u はシステム入力、y はシステム出力、x と dx はそれぞれ状態ベクトルと状態微分です。
このブロックでは、可変のオフセットを指定することもできます (R2024a 以降)。その場合、システム応答は次のように与えられます。
ここで、u0 は入力のオフセット、y0 は出力のオフセット、x0 と dx0 はそれぞれ状態のオフセットと状態微分のオフセットです。
このブロックおよび Linear Parameter Varying ライブラリの他のブロックを使用して、可変のパラメーターまたは係数をもつ共通の制御要素を実装します。詳細については、Simulink でのゲイン スケジュール制御システムのモデル化を参照してください。
注意
C および D 行列がシステム出力 y に依存することがないようにしてください。そのような依存関係がある場合には、結果の状態空間方程式 y = C(y)x + D(y)u により、代数ループが作成されます。これは、出力値 y を計算するために出力値がわかっている必要があるからです。この代数ループは不安定性や発散が発生しやすい傾向にあります。代わりに、時間 t、ブロック入力 u、および状態出力 x の観点で C および D を表してみてください。
同様の理由で、A および B が出力 dx に依存することがないようにしてください。なお、y が状態と入力の固定された組み合わせの場合 (つまり、y = Cx + Du の場合 (C および D は定数行列))、A および B が y に依存しても安全です。
端子
入力
u — システム入力
スカラー | ベクトル
システム入力信号。
A — 状態行列
行列
次元が Nx-by-Nx の状態行列。Nx はシステムの状態数です。
B — 入力行列
行列
次元が Nx-by-Nu の入力行列。Nu はシステムの入力数です。
C — 出力行列
行列
次元が Ny-by-Nx の出力行列。Ny はシステムの出力数です。
D — フィードフォワード行列
行列
次元が Ny-by-Nu のフィードフォワード行列。
ゼロ直達状態空間モデルでは、[直達を有効にする] チェックボックスをクリアします。このチェックボックスをクリアすると、D 入力端子が無効になります。 (R2023a 以降)
dx0 — 状態微分のオフセット
行列
R2024a 以降
次元が Nx-by-1 の状態微分のオフセット。Nx はシステムの状態数です。
依存関係
この端子を有効にするには、[状態微分のオフセット dx0 を有効にする] を選択します。
x0 — 状態のオフセット
行列
R2024a 以降
次元が Nx-by-1 の状態のオフセット。Nx はシステムの状態数です。
依存関係
この端子を有効にするには、[状態のオフセット x0 を有効にする] を選択します。
u0 — 入力のオフセット
行列
R2024a 以降
次元が Nu-by-1 の入力のオフセット。Nu はシステムの入力数です。
依存関係
この端子を有効にするには、[入力のオフセット u0 を有効にする] を選択します。
y0 — 出力のオフセット
行列
R2024a 以降
次元が Ny-by-1 の出力のオフセット。Ny はシステムの出力数です。
依存関係
この端子を有効にするには、[出力のオフセット y0 を有効にする] を選択します。
IC — 初期条件
ベクトル
R2024b 以降
シミュレーションの開始時にローカル モデルで使用する初期条件。モデルの状態の数と等しい長さのベクトルとして指定します。
依存関係
この端子を有効にするには、[初期条件のソース] を [外部]
に設定します。
出力
y — システム出力
スカラー | ベクトル
システム出力信号。
x — 現在の状態ベクトル
ベクトル
現在の状態値。
依存関係
この端子を有効にするには、[状態の出力] パラメーターを選択します。
dx — 状態の微分
ベクトル
[x] の対応する状態の現在の微分。
依存関係
この端子を有効にするには、[Output state derivatives] パラメーターを選択します。
パラメーター
[メイン] タブ
初期条件のソース — 外部信号を使用して初期条件を設定するオプション
内部
(既定値) | 外部
R2024b 以降
初期条件のソースを指定します。
内部
— [初期条件] パラメーターを使用して状態の初期条件を指定します。外部
— ブロックの IC 入力端子で状態の初期条件を指定します。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InitialConditionSource |
値: | internal (既定値) | external |
初期条件 — システム初期条件
0 (既定値) | スカラー | ベクトル
初期状態値。モデルの状態の数と等しい長さのベクトルとして指定します。
依存関係
このパラメーターを有効にするには、[初期条件のソース] を [内部]
に設定します。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InitialCondition |
値: | "0" (既定値) | initial state values in quotes |
例: set_param(gcb,"InitialCondition","[0 0.1]")
状態名 — システムの状態名
''
(既定値) | 文字ベクトル | cell 配列
システムの状態を特定するには、状態名を次のいずれかとして指定します。
1 状態のプラントの場合、文字ベクトル。
複数状態のプラントの場合、文字ベクトルの cell 配列。
状態の出力 — 状態出力の提供
on (既定値) | off
選択すると、状態値の出力端子 [x] が有効になります。
状態微分の出力 — 状態微分の提供
on (既定値) | off
選択すると、状態微分の出力端子 [dx] が有効になります。
直達を有効にする — 直達行列の入力端子を追加
オン (既定値) | オフ
R2023a 以降
直達をもつ状態空間モデルで D 入力端子を有効にします。ゼロ直達モデルの場合は、このチェックボックスをクリアします。ゼロ直達モデルでこの端子を無効にすると、ゼロ定数を端子に入力するよりも数値的に信頼できます。
[オフセット] タブ
状態のオフセット x0 を有効にする — 状態のオフセットの入力端子を追加
オフ (既定値) | オン
可変の状態のオフセットを指定するための x0 入力端子を有効にします。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InputX0 |
値: | "off" (既定値) | "on" |
状態微分のオフセット dx0 を有効にする — 状態微分のオフセットの入力端子を追加
オフ (既定値) | オン
可変の状態微分のオフセットを指定するための dx0 入力端子を有効にします。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InputDX0 |
値: | "off" (既定値) | "on" |
入力のオフセット u0 を有効にする — 入力のオフセットの入力端子を追加
オフ (既定値) | オン
可変の入力のオフセットを指定するための u0 入力端子を有効にします。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InputU0 |
値: | "off" (既定値) | "on" |
出力のオフセット y0 を有効にする — 出力のオフセットの入力端子を追加
オフ (既定値) | オン
可変の出力のオフセットを指定するための y0 入力端子を有効にします。
プログラムでの使用
ブロック パラメーター値をプログラムで設定するには、関数 set_param
(Simulink) を使用します。
パラメーター: | InputY0 |
値: | "off" (既定値) | "on" |
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2017b で導入R2024b: 初期条件をブロック入力として外部で指定
ブロックにおいて、ブロック入力端子 IC で初期状態値を指定できるようになりました。この端子を有効にするには、[初期条件のソース] パラメーターを [外部]
に設定します。
R2024b: 初期条件パラメーター x0
の名前を InitialCondition
に変更
プログラムで使用する初期状態パラメーター x0
の名前が InitialCondition
に変更されました。プログラムで set_param(blockPath,"x0","[0 0.1]")
などを使用して、このパラメーターをコードで設定している場合は、コードを set_param(blockPath,"InitialCondition","[0 0.1]")
に更新してください。
R2024a: オフセットの指定のサポート
可変のオフセットの瞬時値を指定するための入力端子を有効にするには、ブロック パラメーターの [オフセット] タブを使用します。
R2023a: [直達を有効にする] チェックボックスの追加
ゼロ直達状態空間モデルでは、[直達を有効にする] チェックボックスをクリアします。このチェックボックスをクリアすると、D 入力端子が無効になります。ゼロ直達モデルでこの端子を無効にすると、ゼロ定数を端子に入力するよりも数値的に信頼できます。
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)