ドキュメンテーション

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

MATLAB Function

組み込み C コードを生成する MATLAB コードをモデルに含めます。

ライブラリ

User-Defined Functions

説明

MATLAB Function ブロックを使用すると、使用する MATLAB® 関数を Simulink® モデルで作成できます。作成した MATLAB 関数は、シミュレーションのために実行されて、Simulink Coder™ ターゲット用のコードを生成します。Simulink および MATLAB 製品をはじめて使用する場合は、「MATLAB Function ブロックを使用するモデルの作成」および「MATLAB Function ブロックとは」の概要を参照してください。

この例のように MATLAB Function ブロックをダブルクリックしてエディターを開き、MATLAB 関数ブロックを書き込みます。

このエディターの詳細は、「MATLAB Function ブロック エディター」を参照してください。

MATLAB Function ブロックへの入力および出力データは、関数ヘッダーで引数および戻り値として指定します。前のサンプル関数の引数と戻り値は、モデルモデルのブロックの入力および出力に相当します。

[データの編集] を選択して MATLAB Function ブロック エディターにアクセスすることで、[端子とデータの管理] からデータ、入力トリガー、関数呼び出しの出力を定義できます。「端子とデータの管理」を参照してください。

MATLAB Function ブロックは、各変数のサイズ、クラスおよび実数/複素数を決定する解析に基づいて、効率の良い組み込み可能なコードを生成します。この分析によって次の制限が適用されます。

言語の制約に加えて、MATLAB Function ブロックは、MATLAB で使用可能な関数の一部をサポートしています。サポートされている関数の一覧は、「C および C++ コード生成でサポートされている関数およびオブジェクト — アルファベット順」を参照してください。これらの関数には、次のような一般的カテゴリの関数が含まれます。

すべての関数カテゴリの一覧は、「C および C++ コード生成でサポートされている関数およびオブジェクト — カテゴリ順」を参照してください。

    メモ:    このブロックのコードは MATLAB とまったく同じ結果になるように試みますが、丸め誤差のために、結果が異なる場合があります。このような数値の差は、当初はわずかな関数 eps でも、演算を繰り返すことによって拡大することがあります。nan の動作に依存することはお勧めできません。同じ計算でも、異なる C コンパイラを使用すると、異なる結果になることがあります。

データの可視化をサポートするために、MATLAB Function ブロックは、シミュレーションについてのみ、MATLAB 関数の呼び出しをサポートします。この機能の制約と、このブロックにコード解析とこの機能を組み込む方法については、「MATLAB 関数の呼び出し」を参照してください。これらの関数呼び出しは、Simulink の入力または出力に直接影響しない場合、Simulink Coder 生成コードには表示されません。

[端子とデータの管理] で、ブロック入力を端子ではなく Simulink パラメーターとして宣言することができます。MATLAB Function ブロックは、入力、出力、およびパラメーターについて、タイプとサイズの継承もサポートします。これらのプロパティを明示的に指定することもできます。MATLAB Function ブロックで使用する変数の詳細は、「関数引数の型指定」「関数引数のサイズ指定」および「パラメーター引数の追加」を参照してください。

MATLAB Function では、再帰呼び出しはできません。

サポートするデータ型

MATLAB Function ブロックは、固定小数点および列挙型も含め、Simulink がサポートするあらゆるタイプの入力を受け入れます。詳細は、「 Simulink でサポートされているデータ型」を参照してください。

MATLAB でサポートされていても、Simulink でサポートされないデータ型については、Simulink モデルと MATLAB Function ブロック内の関数との間で受け渡しされない可能性があります。これらの型は MATLAB Function ブロック内で使用される場合があります。

このブロックの固定小数点サポートの詳細は、「固定小数点データ型と MATLAB Function ブロック」および「MATLAB Function ブロックでのデータ型オーバーライドの使用」を参照してください。

MATLAB Function ブロックは、Simulink フレームをサポートします。詳細は、「Sample- and Frame-Based Concepts」を参照してください。

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

MATLAB Function ブロックのブロック ダイアログ ボックスは、Subsystem ブロックのダイアログ ボックスと同じです。各ブロック パラメーターの詳細は、「Subsystem, Atomic Subsystem, Nonvirtual Subsystem, CodeReuse Subsystem」ブロックのリファレンス ページを参照してください。

次のモデルは、MATLAB Function ブロックの使用方法を示します。

  • sldemo_radar_eml

  • sldemo_eml_galaxy

特性

直接フィードスルー

あり

サンプル時間

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

スカラー拡張

あり

離散化

あり

多次元化

あり

ゼロクロッシング検出

なし

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