Main Content

MATLAB Function ブロック プロパティの指定

プロパティ インスペクターまたはモデル エクスプローラーでブロック プロパティを設定し、MATLAB Function ブロックが Simulink® モデルと連動する方法を指定できます。

プロパティ インスペクターでプロパティを指定するには、プロパティ インスペクターを開きます。[モデル化] タブの [設計] セクションで、[プロパティ インスペクター] を選択します。ブロックをクリックすると、プロパティ インスペクターにプロパティが表示されます。

モデル エクスプローラーでプロパティを指定するには、[モデル化] タブをクリックします。[設計] セクションで、[モデル エクスプローラー] を選択します。[モデルの階層構造] ペインでモデル ツリー ビューを展開し、MATLAB Function ブロックを選択して、[MATLAB 関数] ペインでプロパティを編集します。

MATLAB Function ブロック プロパティ

以下のプロパティは、モデル エクスプローラー内、またはプロパティ インスペクターの [プロパティ] タブに移動して調整できます。

更新方法

MATLAB Function ブロックのアクティブ化に使用する方法を指定します。

更新方法説明

継承

(既定)

Simulink モデルからの入力により MATLAB Function ブロックがアクティブになります。

入力トリガーを定義すると、MATLAB Function ブロックはトリガー端子での Simulink 信号や関数呼び出しイベントに応じて実行されます。入力トリガーを定義しないでおくと、MATLAB Function ブロックはモデルから暗黙的にトリガーを継承します。これらの暗黙的なイベントは、ブロックに入力を渡す信号のサンプル時間 (離散または連続) です。

データ入力を定義すると、MATLAB Function ブロックは最も速いデータ入力のレートでサンプリングします。データ入力を定義しないでおくと、MATLAB Function ブロックは親サブシステムの実行動作で定義されたレートでサンプリングします。

離散MATLAB Function ブロックの [サンプル時間] プロパティで指定するレートを使用して MATLAB Function ブロックをサンプリングします。MATLAB Function ブロックは指定されたレートに対応する一定の時間間隔で暗黙的イベントを生成します。モデルの他のブロックは、異なるサンプル時間をもつ可能性があることに注意してください。
連続シミュレーションの各メジャー タイム ステップで、また Simulink ソルバーからの要求に応じて中間の時間点で MATLAB Function ブロックをサンプリングします。

整数オーバーフローで飽和

MATLAB Function ブロックが整数演算中に発生するオーバーフロー条件を処理する方法を指定します。

設定オーバーフロー発生時のアクション

有効

(既定)

整数をワード サイズが許容する最大の正または負の値に設定することにより飽和します。この設定は MATLAB® の動作と同じです。
無効シミュレーション モードでランタイム エラーが発生します。Simulink Coder™ コード生成での動作は、C 言語のコンパイラにより異なります。

メモ

[整数オーバーフローで飽和] オプションは整数の計算にしか影響しません。固定小数点や倍精度の計算には影響しません。

[整数オーバーフローで飽和] を有効にすると、MATLAB は整数のオーバーフローとアンダーフローを検出するためのチェックをシミュレーション中に追加します。したがって、整数のオーバーフローやアンダーフローが発生しないことが確実な MATLAB Function ブロックのコードでは、このオプションを無効にした方が無駄が省けます。

Simulink Coder で生成されたコードは整数のオーバーフローやアンダーフローをチェックしません。したがって、[整数オーバーフローで飽和] を無効にすると予期できない結果になる可能性があることに注意してください。このような場合、オーバーフローとアンダーフローをテストするためのモデルのシミュレーションを実行してからコードを生成します。

可変サイズの配列をサポート

MATLAB Function ブロックが、シミュレーション中に次元が変化する入力と出力のデータをサポートするかどうかを指定します。このプロパティを有効にすると、出力変数の [可変サイズ] プロパティを有効にすることにより、可変サイズの出力を有効にできます。詳細については、可変サイズの MATLAB Function ブロック変数の宣言および可変サイズを参照してください。

直達を許可

MATLAB Function ブロックが直達セマンティクスをサポートし、そのためブロックの出力が入力の値によって直接制御されるかどうかを指定します。[直達を許可] を無効にすると、非直達セマンティクスにより、出力がブロックの現在の状態に確実に依存するようになります。非直達を使用すると、フィードバック ループで MATLAB Function ブロックを使用し、代数ループを回避できます。詳細については、MATLAB Function ブロックでの非直達の使用を参照してください。

出力列ベクトルを 1 次元データとして解釈

R2021b 以降

列ベクトルの出力が 1 次元データとして評価されるかどうかを指定します。

  • プロパティを有効にすると、ブロックは N 行 1 列のサイズの出力列ベクトルを N と等しい信号サイズの 1 次元信号に変換します。

  • このプロパティを無効にすると、ブロックは N 行 1 列のサイズの列ベクトルを N 行 1 列と等しい信号サイズの信号として出力します。

メモ

R2021b より前は、MATLAB Function ブロックは出力列ベクトルを常に 1 次元信号に変換していました。

長さ 1 の次元を固定サイズとして扱う

R2023a 以降

少なくとも 1 つの次元の長さが 1 である変数が固定サイズかどうかを指定します。このプロパティが有効な場合、ブロックは次元 1 の可変サイズの変数を固定サイズに設定します。このプロパティが無効な場合、[可変サイズ] プロパティが有効になっているブロック内の変数は常に可変サイズです。R2023a より前では、ブロックは少なくとも 1 つの次元の長さが 1 である変数を固定サイズとして扱います。

このプロパティは、[可変サイズ] プロパティが有効になっている出力変数にのみ影響します。可変サイズを参照してください。

固定小数点プロパティ

MATLAB Function ブロックの固定小数点プロパティは、モデル エクスプローラー内、またはプロパティ インスペクターの [プロパティ] タブで [固定小数点プロパティ] セクションに移動して調整できます。

これらの継承される Simulink 信号タイプを fi オブジェクトとして扱う

継承される固定小数点と整数の信号を Fixed-Point Designer™fi (Fixed-Point Designer) オブジェクトとして扱うかどうかを指定します。詳細については、fi オブジェクトの作成方法 (Fixed-Point Designer)を参照してください。

  • [固定小数点] を選択すると、MATLAB Function ブロックはすべての固定小数点入力を Fixed-Point Designer の fi オブジェクトとして扱います。

  • [固定小数点と整数] を選択すると、MATLAB Function ブロックはすべての固定小数点と整数入力を Fixed-Point Designer の fi オブジェクトとして扱います。

MATLAB 関数 fimath

MATLAB Function ブロックに fimath プロパティを指定します。MATLAB Function ブロックの fimath は、MATLAB Function ブロックの内容に対するglobalfimath (Fixed-Point Designer)として動作します。ブロックは [MATLAB 関数 fimath]fimath プロパティを、fi オブジェクトとして取り扱うように選択した MATLAB Function ブロックに対するすべての固定小数点と整数の入力信号に関連付けます。MATLAB Function ブロックで fi オブジェクトを作成すると、その他の考慮事項が発生します。

  • fi オブジェクトの作成時に fimath がオブジェクトに関連付けられない場合、[MATLAB 関数 fimath] のプロパティに関係なく、fi コンストラクターは既定の fimath 設定を使用します。ただし、fi オブジェクトの作成後にオブジェクトで追加操作を実行する場合、オブジェクトは [MATLAB 関数 fimath] のプロパティを採用します。

  • fi コンストラクターで fimath を指定する場合、fi コンストラクターで値を量子化するときにその fimath は維持されます。fi コンストラクターで指定されない fimath 設定では、いずれも [MATLAB 関数 fimath] で指定されたプロパティが使用されます。

次のいずれかのオプションを選択できます。

設定説明
MATLAB と同じ

ブロックは現在の既定の fimath と同じ fimath プロパティを使用します。エディット ボックスが薄色表示され、現在のグローバル fimath が読み取り専用形式で表示されます。

それ以外を指定

エディット ボックス内で独自の fimath (Fixed-Point Designer) オブジェクトを指定できます。それには次の 2 つの方法があります。

  • fimath オブジェクトをエディット ボックス内で作成する。

  • fimath オブジェクトを MATLAB またはモデル ワークスペース内で作成して、その変数名をエディット ボックスに入力する。このオプションを使用し、モデルを他のユーザーと共有する場合は、変数をモデル ワークスペースで定義します。

詳細については、fimath オブジェクトの作成 (Fixed-Point Designer)および固定小数点データ型と MATLAB Function ブロック (Fixed-Point Designer)を参照してください。

説明プロパティとドキュメント リンク プロパティ

MATLAB Function ブロックの説明プロパティとドキュメント リンク プロパティは、モデル エクスプローラー内、またはプロパティ インスペクターの [情報] タブに移動して設定できます。

説明

MATLAB Function ブロックの説明を指定します。簡単な説明とコメントを入力できます。

ドキュメント リンク

そのデータ引数のドキュメンテーションへのリンクを指定します。URL アドレスを入力するか、HTML ファイルやテキストなど、ドキュメンテーションを MATLAB コマンド ウィンドウに表示する MATLAB コマンドを入力できます。[ドキュメント リンク] のリンクをクリックすると、MATLAB Function ブロックは、そのリンクを評価してドキュメンテーションを表示します。

ブロック プロパティのプログラムによる指定

MATLAB Function ブロック プロパティをプログラムで指定するには、ブロックの MATLABFunctionConfiguration オブジェクトまたは Stateflow.EMChart オブジェクトを取得します。詳細については、プログラムによる MATLAB Function ブロックの設定を参照してください。

参考

関連するトピック