主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

MATLAB编码器アプリでの入力としてのオブジェクトの指定

MATLAB®编码器™アプリで,値クラスオブジェクトである入力の型を指定するには,次を行います。

  1. 値クラスを定義します。たとえば,クラスmyRectangleを定義します。

    classdefmyRectangle属性长度;宽度;结束方法函数obj = myRectangle (l, w)如果Nargin > 0 obj。长度= l;obj。宽度= w;结束结束函数Area = calcalarea (obj)长度* obj.width;结束结束结束

  2. 値クラスのオブジェクトを入力として取得する関数を定義します。次に例を示します。

    函数z = getarea(右)% # codegenz =钙质海绵纲(r);结束

  3. アプリで,getareaに対するプロジェクトを作成します。(入力の型を定義]ページで,次のいずれかの方法でオブジェクトの型を指定します。

オブジェクトの入力の型の自動定義

  • myRectangleクラスのオブジェクトを作成し,それをgetareaに渡すテストファイルgetarea_testを作成します。次に例を示します。

    rect_obj = myRectangle(4、5);rect_area = getarea (rect_obj);disp (rect_area);

  • アプリの(入力の型を定義]ページで,テストファイルgetarea_testを指定します。

  • (入力の型の自動定義]をクリックします。

例の提供

値クラスのオブジェクトを指定すると,アプリでは,そのオブジェクト例のプロパティのサイズと型が使用されます。

  1. MATLABで,値クラスmyRectangleのオブジェクトを定義します。

    rect_obj = myRectangle(4、5)

  2. アプリの(入力の型を定義]ページで(入力またはグローバルの型を直接入力します]をクリックします。

  3. 入力パラメーターrの右にあるフィールドをクリックします。

  4. [例で定義]を選択します。

  5. rect_objを入力するか,ワークスペース変数のリストから選択します。

    アプリは,オブジェクト例からプロパティおよびそのサイズと型を判断します。

または,値クラスmyRectangleの名前,またはそのクラスの编码器。ClassTypeオブジェクトを指定できます。编码器。ClassTypeオブジェクトを定義するには,coder.typeofを使用します。次に例を示します。

  1. MATLABで,rect_objと同じプロパティがある编码器。ClassTypeオブジェクトを定義します。

    t = coder.typeof (rect_obj)

  2. アプリで,tを例として指定します。

プロパティのサイズまたは型を変更するには,プロパティの右側のフィールドをクリックします。

型定義とクラス定義ファイルにおける整合性

コードを生成する場合,アプリで定義するプロパティは,クラス定義ファイルのプロパティと一致しなければなりません。クラス定義ファイルにコードで使用しないプロパティがある場合,アプリの型定義にそれらのプロパティを含める必要はありません。コードジェネレーターは,コードで使用しないプロパティを削除します。

オブジェクトをエントリポイント関数の入力として使用する場合の制限事項

オブジェクトであるエントリポイント関数の入力には次のような制限事項があります。

  • エントリポイント関数の入力であるオブジェクトは,値クラスのオブジェクトでなければなりません。ハンドルクラスのオブジェクトをエントリポイント関数の入力にすることはできません。そのため,ハンドルクラスを含む値クラスをエントリポイント関数の入力にすることはできません。

  • オブジェクトをグローバル変数にすることはできません。

  • オブジェクトに重複するプロパティ名がある場合は,そのオブジェクトを编码器。常数で使用できません。次の場合,サブクラスのオブジェクトでプロパティ名が重複します。

    • サブクラスに,スーパークラスのプロパティと同じ名前のプロパティがある。

    • サブクラスが,プロパティに同じ名前を使用する複数のスーパークラスから派生している。

    MATLABで重複するプロパティ名が許可される場合の詳細については,複数のクラスからのサブクラスの作成を参照してください。

参考

関連するトピック