ドキュメンテーション

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

Discrete State-Space

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

ライブラリ

Discrete

説明

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

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

x(n+1)=Ax(n)+Bu(n)y(n)=Cx(n)+Du(n),

ここで、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 でサポートされているデータ型」を参照してください。

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

A, B, C, D

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

初期条件

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

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

サンプルの時間間隔を指定します。「サンプル時間の指定」を参照してください。

状態名

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

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

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

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

詳細は、Simulink Coder™ ドキュメンテーションの「生成コードでの離散ブロック状態の名前付け」を参照してください。

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

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

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

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

信号オブジェクト クラス

ターゲット パッケージが定義する信号オブジェクト クラスを選択してカスタム ストレージ クラスのパッケージを選択します。たとえば、組み込みパッケージ mpt からカスタム ストレージ クラスを適用するには [mpt.Signal] を選択します。Embedded Coder® ソフトウェアで ERT ベースのコード生成ターゲットを使用している場合を除き、カスタム ストレージ クラスは生成されたコードに影響しません。

目的のクラスがリストに表示されない場合は、[クラス リストのカスタマイズ] を選択します。詳細については、「Apply Custom Storage Classes Directly to Signal Lines, Block States, and Outport Blocks」を参照してください。

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

コード生成の状態ストレージ クラスを選択します。

既定の設定: Auto

Auto

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

StorageClass

リストから選択したストレージ クラスまたはカスタム ストレージ クラスを適用します。ストレージ クラスの詳細については、「ストレージ クラスの適用による、コード内での信号と状態の制御」を参照してください。カスタム ストレージ クラスの詳細については、「Control Data Representation by Applying Custom Storage Classes」を参照してください。

[信号オブジェクト クラス] を使用して、Simulink 以外のパッケージからカスタム ストレージ クラスを選択します。

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

TypeQualifier

    メモ:   TypeQualifier は将来のリリースで削除されます。ストレージ型修飾子をデータに適用するには、カスタム ストレージ クラスとメモリ セクションを使用します。Embedded Coder ソフトウェアで ERT ベースのコード生成ターゲットを使用している場合を除き、カスタム ストレージ クラスとメモリ セクションは生成されたコードに影響しません。

const または volatile などのストレージ型修飾子を指定します。

[コード生成ストレージ クラス][ExportedGlobal][ImportedExtern][ImportedExternPointer] または [SimulinkGlobal] に設定すると、このパラメーターが有効になります。このパラメーターは以前にこの値を設定している場合を除き、非表示です。

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

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

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

詳細は、Simulink Coder ドキュメンテーションの「生成コードでの離散ブロック状態の名前付け」を参照してください。

特性

データ型

double | single

サンプル時間

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

直接フィードスルー

D ≠ 0 のときのみ

多次元信号

なし

可変サイズの信号

なし

ゼロクロッシング検出

なし

コード生成

あり

R2006a より前に導入

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