Main Content

Discrete Varying State Space

行列値が可変の離散時間状態空間モデル

  • Discrete Varying State Space block

ライブラリ:
Control System Toolbox / Linear Parameter Varying

説明

このブロックを使用して、行列が可変の離散時間状態空間モデルを実装します。状態行列 A、入力行列 B、出力行列 C、およびフィードフォワード行列 D の瞬時値を、対応する入力端子に送ります。システム応答は次のように与えられます。

xk+1=Axk+Bukyk=Cxk+Duk,

ここで uk はシステム入力、yk はシステム出力、xk は現在のシステム状態、xk+1 は次のタイム ステップにおけるシステム状態です。

このブロックでは、可変のオフセットを指定することもできます (R2024a 以降)。その場合、システム応答は次のように与えられます。

xk+1=dx0k+A(xkx0k)+B(uku0k)yk=y0k+C(xkx0k)+D(uku0k),

ここで、u0k は入力のオフセット、y0k は出力のオフセット、x0k と dx0k はそれぞれ状態のオフセットと状態微分のオフセットです。

このブロックおよび Linear Parameter Varying ライブラリの他のブロックを使用して、可変のパラメーターまたは係数をもつ共通の制御要素を実装します。詳細については、Simulink でのゲイン スケジュール制御システムのモデル化を参照してください。

注意

C および D 行列がシステム出力 yk に依存することがないようにしてください。そのような依存関係がある場合には、結果の状態空間方程式 yk = C(yk)xk + D(yk)uk により、代数ループが作成されます。これは、出力値 yk を計算するために出力値がわかっている必要があるからです。この代数ループは不安定性や発散が発生しやすい傾向にあります。代わりに、時間 t、ブロック入力 uk、および状態出力 xk の観点で C および D を表してみてください。

同様の理由で、A および B が出力 xk+1 に依存することがないようにしてください。なお、yk が状態と入力の固定された組み合わせの場合 (つまり、yk = Cxk + Duk の場合 (C および D は定数行列))、A および Byk に依存しても安全です。

端子

入力

すべて展開する

システム入力信号。

次元が Nx-by-Nx の状態行列。Nx はシステムの状態数です。

次元が Nx-by-Nu の入力行列。Nu はシステムの入力数です。

次元が Ny-by-Nx の出力行列。Ny はシステムの出力数です。

次元が Ny-by-Nu. のフィードフォワード行列

ゼロ直達状態空間モデルでは、[直達を有効にする] チェックボックスをクリアします。このチェックボックスをクリアすると、D 入力端子が無効になります。 (R2023a 以降)

R2024a 以降

次元が Nx-by-1 の状態微分のオフセット。Nx はシステムの状態数です。

依存関係

この端子を有効にするには、[状態微分のオフセット dx0 を有効にする] を選択します。 (R2024a 以降)

R2024a 以降

次元が Nx-by-1 の状態のオフセット。Nx はシステムの状態数です。

依存関係

この端子を有効にするには、[状態のオフセット x0 を有効にする] を選択します。 (R2024a 以降)

R2024a 以降

次元が Nu-by-1 の入力のオフセット。Nu はシステムの入力数です。

依存関係

この端子を有効にするには、[入力のオフセット u0 を有効にする] を選択します。 (R2024a 以降)

R2024a 以降

次元が Ny-by-1 の出力のオフセット。Ny はシステムの出力数です。

依存関係

この端子を有効にするには、[出力のオフセット y0 を有効にする] を選択します。 (R2024a 以降)

出力

すべて展開する

システム出力信号。

現在の状態値。

依存関係

この端子を有効にするには、[状態の出力] パラメーターを選択します。

次のタイム ステップの状態値。

依存関係

この端子を有効にするには、[Output state updates] パラメーターを選択します。

パラメーター

すべて展開する

[メイン] タブ

初期状態値。システムの状態数と同じ長さのスカラーまたはベクトルとして指定します。

ブロックのサンプル時間。–1 (継承されたサンプル時間) または正のスカラー値として指定します。

選択すると、状態値の出力端子 [x] が有効になります。

選択すると、状態更新の出力端子 [xk+1] が有効になります。

R2023a 以降

直達をもつ状態空間モデルで D 入力端子を有効にします。ゼロ直達モデルの場合は、このチェックボックスをクリアします。ゼロ直達モデルでこの端子を無効にすると、ゼロ定数を端子に入力するよりも数値的に信頼できます。

[オフセット] タブ

可変の状態のオフセットを指定するための x0 入力端子を有効にします。

プログラムでの使用

ブロック パラメーター値をプログラムで設定するには、関数 set_param (Simulink) を使用します。

パラメーター: InputX0
値: "off" (既定値) | "on"

可変の状態微分のオフセットを指定するための dx0 入力端子を有効にします。

プログラムでの使用

ブロック パラメーター値をプログラムで設定するには、関数 set_param (Simulink) を使用します。

パラメーター: InputDX0
値: "off" (既定値) | "on"

可変の入力のオフセットを指定するための u0 入力端子を有効にします。

プログラムでの使用

ブロック パラメーター値をプログラムで設定するには、関数 set_param (Simulink) を使用します。

パラメーター: InputU0
値: "off" (既定値) | "on"

可変の出力のオフセットを指定するための y0 入力端子を有効にします。

プログラムでの使用

ブロック パラメーター値をプログラムで設定するには、関数 set_param (Simulink) を使用します。

パラメーター: InputY0
値: "off" (既定値) | "on"

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

バージョン履歴

R2017b で導入

すべて展開する