Main Content

Descriptor State-Space

陰的な線形システムをモデル化

  • Descriptor State-Space block

ライブラリ:
Simulink / Continuous

説明

Descriptor State-Space ブロックを使用すると、Ex˙=Ax+Bu の形式で表現できる陰的な線形システムをモデル化できます。E はシステムの質量行列です。E が特異でないために可逆である場合は、陽的な x˙=E1Ax+E1Bu の形式でシステムを記述し、State-Space ブロックを使用してモデル化できます。

質量行列 E が特異となるのは、システムの従属変数の微分の 1 つ以上が方程式に存在しない場合です。それらの変数を代数変数と呼びます。そのような代数変数を含む微分方程式を微分代数方程式と呼びます。それらの状態空間表現の形式は次のようになります。

Ex˙=Ax+Buy=Cx+Du

変数の意味は次のとおりです。

  • x は状態ベクトル

  • u は入力ベクトル

  • y は出力ベクトル

端子

入力

すべて展開する

double 型の実数値入力信号。幅は行列 B および D の列数と同じです。

この端子は以下の場合に直達をもちます。

  • [直達] パラメーターを [真] に設定した。

  • [直達] パラメーターを [自動] に設定した場合に、ブロックが直達をもつと判別された。

データ型: double

出力

すべて展開する

double 型の実数値入力ベクトル。幅は C および D の行列の行数になります。

データ型: double

パラメーター

すべて展開する

質量行列 E を実数値の n 行 n 列の行列で指定します。n はシステムの状態数です。EA と同じサイズでなければなりません。E は特異でも非特異でもかまいません。

プログラムでの使用

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

行列係数 A を実数値の n 行 n 列の行列で指定します。n はシステムの状態数です。AE と同じサイズでなければなりません。

プログラムでの使用

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

行列係数 B を実数値の n 行 m 列の行列で指定します。n はシステムの状態数、m は入力数です。

プログラムでの使用

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

行列係数 C を実数値の r 行 n 列の行列で指定します。n はシステムの状態数、r は出力数です。

プログラムでの使用

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

行列係数 D を実数値の r 行 m 列の行列で指定します。r はシステムの出力数、m はシステムの入力数です。

プログラムでの使用

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

ブロックの状態の初期条件を指定します。最小値および最大値は、[出力の最小値] および [出力の最大値] ブロック パラメーターで制限されます。

ヒント

Simulink® ソフトウェアでは、このブロックの初期状態を、inf または NaN にすることはできません。

依存関係

このパラメーターを有効にするには、[初期条件のソース][内部] に設定します。

プログラムでの使用

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

ブロックが直達をもつかどうかを指定します。1 つ以上の出力信号の値が 1 つ以上の入力信号の値に直接依存している場合、ブロックは直達をもちます。

  • — 出力信号値は入力信号値に直接依存しています。

  • — 出力信号値は入力信号値に直接依存していません。

  • 自動 — 行列の特性に基づいて、出力信号値が入力信号値に直接依存しているかどうかが判別されます。

500 を超える連続状態をもつシステムをこのブロックで実装している場合、このパラメーターを [真] または [偽] と指定すると、シミュレーションが高速化することがあります。

プログラムでの使用

ブロック パラメーター: DirectFeedthrough
型: string | 文字ベクトル
値: 'True' | 'False''Auto'
既定の設定: 'True'

Simulink Control Design™ ワークフローについて、線形化中に Descriptor State-Space ブロックによって表されるシステムをスパース モデルに線形化します。

システムを非スパース明示的状態空間モデルに線形化するには、このパラメーターを無効にします。

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

[絶対許容誤差] コンフィギュレーション パラメーターから絶対許容誤差を継承するには、このパラメーターの値を 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

直達

いいえa

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

a このブロックの直達特性はブロック パラメーター値に依存します。

拡張機能

バージョン履歴

R2018b で導入