ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Discrete State-Space

離散状態空間システムの実現

ライブラリ

Discrete

説明

空でない行列に対するブロックの動作

Discrete State-Space ブロックは、次のように記述されるシステムを実現します。

ここで、u は入力、x は状態、y は出力です。行列係数は、下の図に示すように、次のような特性をもっていなければなりません。

  • [A] は、n 行 n 列の行列でなければなりません。n は状態数です。

  • [B] は、n 行 m 列の行列でなければなりません。m は入力数です。

  • [C] は、r 行 n 列の行列でなければなりません。r は出力数です。

  • [D] は、r 行 m 列の行列でなければなりません。

ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。入力ベクトルの幅は [B] 行列と [D] 行列の列数です。出力ベクトルの幅は [C] 行列と [D] 行列の行数です。初期状態ベクトルを定義するには、[初期条件] パラメーターを使用します。

[A][B][C][D]、または [初期条件] にゼロのベクトルまたは行列を指定するには、関数 zeros を使用します。

空行列に対するブロックの動作

行列 [A][B]、および [C] が空である場合 (例: [])、ブロックの機能は y(n) = Du(n) になります。[初期条件] ベクトルも空である場合、ブロックはゼロの初期状態ベクトルを使用します。

サポートするデータ型

Discrete State Space ブロックは、single タイプまたは double タイプの実数信号を受け入れ、出力します。詳細は、Simulink® ドキュメンテーションの「 Simulink でサポートされているデータ型」を参照してください。

パラメーターとダイアログ ボックス

[Discrete State-Space ブロック] ダイアログ ボックスの [メイン] ペインは、次のように表示されます。

A, B, C, D

「説明」の節で定義されているように行列係数を指定します。

初期条件

初期状態ベクトルを指定します。既定値は 0 です。Simulink ではこのブロックの初期条件を inf または NaN に設定することはできません。

サンプル時間 (継承は –1)

サンプルの時間間隔を指定します。Simulink ドキュメンテーションの「 サンプル時間の指定」を参照してください。

[Discrete State-Space ブロック] ダイアログ ボックスの [状態属性] ペインは、次のように表示されます。

[状態名]

ブロックの状態に固有名を割り当てるにはこのパラメーターを使用します。既定の設定は、' ' です。このフィールドが空白のままの場合、名前は割り当てられません。このパラメーターを使用する場合、以下のことを考慮してください。

  • 有効な識別子は英字またはアンダースコア文字で始まり、英数字またはアンダースコア文字が続きます。

  • 状態名は選択されたブロックに対してのみ適用されます。

このパラメーターを設定し、[適用] ボタンをクリックすると、[状態名を Simulink の信号オブジェクトに関連付ける] が有効になります。

詳細は、Simulink Coder™ ドキュメンテーションの「状態」を参照してください。

状態名を Simulink の信号オブジェクトに関連付ける

状態名が Simulink 信号オブジェクトに関連付けられるようにするには、このチェック ボックスをオンにします。このチェック ボックスは、既定の設定ではオフになっています。

[状態名] によって、このパラメーターが有効になります。

このチェック ボックスをオンにすると、[コード生成ストレージ クラス] が無効になります。

パッケージ

適用するカスタム ストレージ クラスを定義するパッケージを選択します。自分自身のパッケージを定義している場合は、[更新] をクリックします。この操作によりパッケージ リストへの検索パスにすべてのユーザー定義パッケージを追加します。

コード生成ストレージ クラス

状態に対してカスタム ストレージ クラスを選択します。

既定の設定: 自動

自動

[Auto] は、外部コードのインターフェイスを必要としない状態に対して適切なストレージ クラスです。

SimulinkGlobal

model_P は、ワークスペース内の対応する値に状態を初期化します。

ExportedGlobal

状態はグローバル変数に格納されます。

ImportedExtern

model_private.h は、状態を外部変数として宣言します。

ImportedExternPointer

model_private.h は、状態を外部ポインターとして宣言します。

既定の設定

編集不可能なプレースホルダ ストレージ クラスが作成されています。

BitField

struct 宣言は Boolean データを組み込むように作成されています。

Volatile

Volatile 型修飾子は状態宣言に使用されます。

ExportToFile

グローバル変数宣言を含むヘッダー (.h) ファイルは、ユーザー指定の名前で生成されます。

ImportFromFile

グローバル変数宣言を含む事前定義されたヘッダー (.h) ファイルが含まれています。

FileScope

状態宣言の前に静的な修飾子が生成され、状態を現在のファイルだけに表示できるようにします。

Struct

struct 宣言は、パラメーターまたは信号オブジェクト データをカプセル化するために作成されます。

StructVolatile

Volatile 型修飾子は struct 宣言に使用されます。

GetSet

メモリの読み取りと書き込みを行う特殊な関数呼び出しをサポートします。

[状態名] によって、このパラメーターが有効になります。

有効なストレージ クラスのリストは [パッケージ] の選択によって異なります。

このパラメーターを [ExportedGlobal][ImportedExtern]、または [ImportedExternPointer] に設定すると、[コード生成ストレージ型修飾子] が有効になります。

コード生成ストレージ型修飾子

Simulink Coder ストレージ型修飾子を指定します。既定の設定は、' ' です。このフィールドが空白のままの場合、修飾子は割り当てられません。

Simulink Coder 製品はこの文字列のエラーをチェックしません。したがって、入力する値が変数宣言に自動的に表示されます。

[コード生成ストレージ クラス][ExportedGlobal][ImportedExtern]、または [ImportedExternPointer] に設定すると、このパラメーターが有効になります。

シミュレーション時、このブロックは次の値を使用します。

  • 状態名が関係付けられる信号オブジェクトの初期値

  • 信号オブジェクトの最大値と最小値

詳細は、Simulink Coder ドキュメンテーションの「状態」を参照してください。

特性

直接フィードスルー

D ≠ 0 のときのみ

サンプル時間

[サンプル時間] パラメーターで指定

スカラー拡張

あり、初期状態による

状態数

A のサイズに依存

離散化

あり

ゼロクロッシング検出

なし

この情報は役に立ちましたか?