Main Content

Stateflow チャートのベクトルと行列

"ベクトル""行列" は、別々のスカラー データを組み合わせて単一の多次元データ オブジェクトにします。個々の要素を変更するか、ベクトルまたは行列全体について演算を実行することができます。詳細については、Stateflow でのベクトルおよび行列の演算を参照してください。

ベクトルと行列のデータの定義

  1. Stateflow データの追加の説明に従って、データ オブジェクトをチャートに追加します。

  2. データ オブジェクトの [サイズ] プロパティを、ベクトルまたは行列の次元に設定します。Stateflow データのサイズの指定を参照してください。以下に例を示します。

    • 4 行 1 列の列ベクトルを指定するには、「4」を入力します。

    • 1 行 4 列の行ベクトルを指定するには、「[1 4]」を入力します。

    • 3 行 3 列の行列を指定するには、「[3 3]」を入力します。

  3. データ オブジェクトの [初期値] プロパティを設定します。初期値を参照してください。

    • ベクトルまたは行列のすべての要素に値 0 を指定するには、[初期値] を空のままにします。初期値を指定しない場合、すべての要素が 0 に初期化されます。

    • ベクトルまたは行列のすべての要素に同じ値を指定するには、スカラー値を入力します。すべての要素が指定したスカラー値に初期化されます。

    • ベクトルまたは行列の各要素に異なる値を指定するには、実数値の配列を入力します。以下に例を示します。

      • 4 行 1 列の列ベクトルを初期化するには、[1; 2; 3; 4] と入力できます。

      • 1 行 4 列の行ベクトルを初期化するには、[1 2 3 4] と入力できます。

      • 3 行 3 列の行列を初期化するには、[1 2 3; 4 5 6; 7 8 9] と入力できます。

  4. データ プロパティの設定の説明に従って、データ オブジェクトの名前、スコープ、基本データ型、その他のプロパティを設定します。

ベクトルまたは行列のサイズと初期値を指定するために式を使用できます。式には数値、定数、パラメーター、変数、算術演算、および MATLAB® 関数の呼び出しの組み合わせを含めることができます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。

ベクトルと行列を使用できる場所

ベクトルと行列は、Stateflow® 階層の以下のレベルで定義できます。

  • チャート

  • サブチャート

  • ステート

  • 関数

ベクトルと行列は、以下を定義する目的で使用できます。

  • 入力データ

  • 出力データ

  • ローカル データ

  • 関数入力

  • 関数出力

ベクトルと行列は、以下の引数としても使用できます。

  • ステート アクション

  • 遷移アクション

  • MATLAB 関数

  • 真理値表関数

  • グラフィカル関数

  • Simulink® 関数

  • 変化検出演算子

Stateflow チャートでのベクトルと行列のルール

要素単位の演算には、次元の等しいオペランドを使用する

次元が一致しないベクトルまたは行列に対して要素単位の演算を実行すると、モデルのシミュレーションを行う際にチャートでサイズの不一致エラーが生成されます。詳細については、Stateflow でのベクトルおよび行列の演算を参照してください。

基本データ型 ml でベクトルや行列を定義しない

基本データ型 ml がサポートしているのはスカラー データのみです。基本データ型 ml を使ってベクトルまたは行列を定義すると、モデルのシミュレーションを行う際にチャートでエラーが生成されます。詳細については、ml データ型を参照してください。

ベクトルや行列の初期値を設定するために複素数を使用しない

複素数を使ってベクトルまたは行列の要素を初期化すると、モデルのシミュレーションを行う際にチャートでエラーが生成されます。初期化後、ベクトルと行列の値を複素数に設定することができます。詳細については、Stateflow チャートの複素数データを参照してください。

ベクトルや行列を時相論理演算子で使用しない

時間はスカラー量であるため、ベクトルや行列を時相論理演算子の引数として使用することはできません。詳細については、時相論理を使用したチャート実行の制御を参照してください。

関連するトピック