MATLAB のクラス
値クラス、ハンドル クラス、および System object を使用する MATLAB 関数のコードを生成できます。MATLAB の値クラスとハンドル クラスの詳細については、ハンドル クラスと値クラスの比較を参照してください。System object の詳細については、System object とはを参照してください。
コード生成用の MATLAB コードでは、以下を行うことができます。
MATLAB コードで MATLAB 値クラスまたはハンドル クラスを使用する。
MATLAB 値クラスを MATLAB エントリ ポイントの入力引数として使用する。
C コードを生成した場合、MATLAB クラスは構造体として表されます。C++ コードを生成する場合、コード ジェネレーターの既定の動作では、MATLAB クラスに対応する C++ クラスが生成されます。コード生成用の MATLAB コードでクラスを使用するときは、使用に関する特定のメモと制限に留意しなければなりません。
クラス
coder.ClassType | 入力仕様に対して許容される MATLAB クラスのセットを表す |
オブジェクト
coder.ClassSignature | Entry-point class for code generation (Tech Preview) (R2026a 以降) |
coder.FunctionSignature | Entry-point function or method for code generation (Tech Preview) (R2026a 以降) |
関数
addMethod | Add method specification to coder.ClassSignature object (Tech
Preview) (R2026a 以降) |
トピック
コード生成の基礎
- コード生成のための MATLAB クラスの定義
コード生成用に MATLAB コードでクラスを使用します。 - コード生成のためのクラス プロパティの定義
- MATLAB コード生成における System object
MATLAB から生成されたコードで System object を使用する際の特別な考慮事項。 - ハンドル クラス デストラクターのコード生成
コード生成用の MATLAB コードでのハンドル クラス デストラクターの使用 - MATLAB クラスに対応する C++ クラスの生成
MATLAB コード内の値クラス、ハンドル クラスまたは System object™ に対応する C++ クラスを生成する。 - クラス インターフェイスをもつ C++ コードの生成
クラスにパッケージ化される C++ コードを生成します。
エントリ ポイントとしての MATLAB クラスの使用 (テクノロジー プレビュー)
- Generate Standalone Code for Entry-Point Class (Tech Preview)
Use a MATLAB class as an entry-point for code generation. (R2026a 以降) - Generate C++ Executable for Entry-Point System Object in a Namespace (Tech Preview)
Use a System object in a namespace as an entry point for code generation. (R2026a 以降) - Generate and Use C++ Classes from Entry-Point Classes That Model a Physical System (Tech Preview)
Use generated entry-point C++ classes in a main function. (R2026a 以降)
MATLAB 関数での MATLAB クラスの使用
- MATLAB の値クラスのコード生成
コード生成用に MATLAB コードで値クラスを使用します。 - Generate Code for MATLAB Functions That Use Handle Classes
Use a handle class in MATLAB code intended for code generation. - Generate Code for MATLAB Functions That Use System Objects
Use a System object in MATLAB code for code generation. - Generate Code for MATLAB Functions That Use Singleton Classes
Use a singleton handle class in MATLAB code for code generation.
エントリポイントの入力引数としての MATLAB クラスの受け渡し
- 値クラス オブジェクトを入力として指定
値クラスのオブジェクトをエントリポイントの入力として指定する。
トラブルシューティング
Resolve Error: Handle Object Referenced by Persistent Variable
Troubleshoot error when using a persistent handle object.
Resolve Error: Nontunable Property Cannot Be Defined by Subscripted Assignment
Troubleshoot code generation failure when a System object uses a structure.
Resolve Error: Class Properties Must Be Fully Defined Before Use
Troubleshoot code generation error when class properties are not defined before use.
Resolve Error: Cannot Reference Handle Object Outside of Loop
Troubleshoot error when creating or allocating a handle object inside a
for-loop.
ハンドル クラスのプロパティの代入に関する問題をトラブルシューティングします。
coder.ref、coder.rref、または coder.wref で使用できないプロパティがあります。
エラーの解決: コード ジェネレーターは、MATLAB クラスの C++ デストラクターを生成できませんでした
MATLAB クラスの C++ デストラクターに対するスタンドアロン コードの生成をトラブルシューティングする。
言語制約の回避: コード生成はオブジェクト配列をサポートしていません
MATLAB コードに含まれるオブジェクトの配列に対するコード生成エラーのトラブルシューティング。
Resolve Error: coder.varsize Not Supported for Class Properties
Troubleshoot code generation error when using coder.varsize
with properties of a MATLAB class.
