Descriptor State-Space
陰的な線形システムをモデル化

ライブラリ:
Simulink /
Continuous
説明
Descriptor State-Space ブロックを使用すると、陰的な の形式で記述される陰的な線形システムをモデル化できます。E はシステムの質量行列です。E が特異でないために可逆である場合は、陽的な の形式でシステムを記述し、State-Space ブロックを使用してシステムをモデル化できます。
質量行列 E が特異となるのは、システムの 1 つ以上の従属変数の微分が方程式に含まれない場合です。システムの従属変数は "代数変数" とも呼ばれ、代数変数を含む微分方程式は "微分代数方程式" と呼ばれます。微分代数方程式で記述されるシステムの状態空間表現の形式は次のとおりです。
ここで、
x は状態ベクトルです。
u は入力ベクトルです。
y は出力ベクトルです。
例
端子
入力
陰的なシステムの実数値のスカラーまたはベクトルの入力信号。入力信号のデータ型は double でなければなりません。ベクトル入力信号では、信号の幅がシステムの B 行列および D 行列の列数に一致している必要があります。
この端子は以下の場合に直達をもちます。
[直達] パラメーターを
[真]に設定した。[直達] パラメーターを
[自動]に設定した場合に、ブロックが直達をもつと判別された。
データ型: double
出力
陰的なシステムの出力信号。
データ型: double
パラメーター
質量行列 E を実数値の n 行 n 列の行列で指定します。n はシステムの状態数です。質量行列は特異でも非特異でもかまいませんが、A 行列と同じ次元でなければなりません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | E |
| 値: | '1' (既定値) | scalar | matrix |
| データ型: | char | string |
例: set_param("MyModel/Descriptor State-Space",E="[1 2;3 4]")
陰的なシステムの状態の初期値を指定します。状態の値を Inf または NaN にすることはできません。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | InitialCondition |
| 値: | '0' (既定値) | scalar | vector | matrix |
| データ型: | char | string |
例: set_param("MyModel/Descriptor State-Space",InitialCondition="[2 3]")
陰的なシステムが直達をもつかどうかを指定します。1 つ以上の出力信号の値が 1 つ以上の入力信号の値に直接依存している場合、ブロックは直達をもちます。
真— 出力信号値は入力信号値に直接依存しています。偽— 出力信号値は入力信号値に直接依存していません。自動— 指定した行列の特性に基づいて、出力信号値が入力信号値に直接依存しているかどうかが判別されます。
500 を超える連続状態をもつシステムをこのブロックで実装している場合、このパラメーターを [真] または [偽] と指定すると、シミュレーションを高速化できます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | DirectFeedthrough |
| 値: | 'True' (既定値) | 'False' | 'Auto' |
| データ型: | char | string |
例: set_param("MyModel/Descriptor State-Space",DirectFeedthrough="False")
Simulink® Control Design™ ワークフローについて、線形化中に Descriptor State-Space ブロックによって表されるシステムをスパース モデルに線形化します。
システムを非スパース明示的状態空間モデルに線形化するには、このパラメーターを無効にします。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | LinearizeToSparse |
| 値: | 'off' (既定値) | 'on' |
| データ型: | char | string |
例: set_param("MyModel/Descriptor State-Space",LinearizeToSparse="on")
可変ステップ ソルバーは、ステップ サイズの選択時に絶対許容誤差および相対許容誤差を使用して、状態計算の誤差が許容されるかどうかを判別します。
[絶対許容誤差] コンフィギュレーション パラメーターから絶対許容誤差を継承するには、このパラメーターの値を auto または -1 に指定します。
[絶対許容誤差] コンフィギュレーション パラメーターに指定されている値をオーバーライドするこのブロックの絶対許容誤差を指定するには、以下のようにします。
すべてのブロックの状態を計算するために使用する正の実数のスカラー値を入力します。
ブロックの連続状態の次元と一致している次元をもつ実数ベクトルを入力します。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | AbsoluteTolerance |
| 値: | 'auto' (既定値) | '-1' | positive real scalar number | vector of positive real scalar numbers |
| データ型: | char | string |
例: set_param("MyModel/Descriptor State-Space",AbsoluteTolerance="-1")
オプションとしてこのブロックの状態に名前を割り当てるには、このパラメーターを使用します。割り当てる名前は、このブロックの状態にのみ適用されます。
既定の状態名を使用するには、このフィールドを空 (
'') のままにします。単一の名前を単一の状態に割り当てるには、引用符で囲んで名前を入力します。たとえば、単一の状態に
positionという名前を付けるには、「'position'」と入力します。名前を複数の状態に割り当てるには、このパラメーターの値を文字ベクトルの cell 配列として指定します。cell 配列内のそれぞれの名前は一意でなければなりません。たとえば、名前
a、b、およびcを割り当てるには、「{'a','b','c'}」と入力します。MATLAB 変数を使用して名前を指定するには、引用符なしで変数の名前を入力します。たとえば、変数
namesを使用して状態名を指定するには、「names」と入力します。
ブロックの状態の数より少ない数の名前を指定できます。この場合、状態名は複数の状態で使用され、状態の数は状態名の数に割り切れなければなりません。たとえば、4 つの状態をもつブロックで 2 つの名前を指定した場合、最初の名前は最初の 2 つの状態に使用され、2 番目の名前は最後の 2 つの状態に使用されます。
プログラムでの使用
ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。
ブロック パラメーターの値をプログラムで取得するには、関数 get_param を使用します。
| パラメーター: | ContinuousStateAttributes |
| 値: | '' (既定値) | valid MATLAB variable name |
| データ型: | char | string | cell |
例: set_param("MyModel/Descriptor State-Space",ContinuousStateAttributes={'position','velocity'})
拡張機能
量産コードには推奨されません。
R2024b より前: Descriptor State-Space ブロックは C コードの生成のみをサポートし、C++ コードの生成はサポートしていません。
モデルの離散化を使用して、Descriptor State-Space ブロックなどの連続ブロックを、コード生成をサポートする同等の離散ブロックにマッピングすることを検討してください。モデルの離散化を開くには、[アプリ] タブの [制御システム] で [モデルの離散化] をクリックします。
バージョン履歴
R2018b で導入参考
ブロック
関数
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)
