Main Content

getReferencedModelNames

クラス: coder.codedescriptor.CodeDescriptor
名前空間: coder.codedescriptor

参照モデルの名前を返す

構文

refModels = getReferencedModelNames(codeDescObj)

説明

refModels = getReferencedModelNames(codeDescObj) は、coder.codedescriptor.CodeDescriptor オブジェクトの参照モデルのリストを返します。既定では、このリストには、CodeDescriptor オブジェクトが直接参照する保護されていないモデルのみが含まれます。たとえば、model1model2 を参照し、model2model3 を参照している場合、model1 CodeDescriptor オブジェクトから getReferencedModelNames を実行すると model2 のみが返され、model3 は返されません。参照モデルのさまざまなリストを取得するには、オプションの [IncludeAllLevels] パラメーターおよび [IncludeProtectedModels] パラメーターを使用します。

入力引数

すべて展開する

生成されたコードに関する情報を取得する coder.codedescriptor.CodeDescriptor オブジェクト。

完全な参照モデルの階層構造を返すかどうか。true または false として指定します。このパラメーターを true に設定すると、メソッドは参照モデルを再帰的に検索し、完全な参照モデルの階層構造を返します。このパラメーターを false に設定するか、値を指定しなかった場合、メソッドは最上位モデルが直接参照するモデルのみを返します。

保護モデルを含めるかどうか。true または false として指定します。このパラメーターを true に設定すると、メソッドは参照モデルのリストに保護モデルを含めます。このパラメーターを false に設定するか、値を指定しなかった場合、メソッドは保護モデルをリストから除外します。

出力引数

すべて展開する

参照モデルのリスト。

すべて展開する

モデル AsynchronousEventsTop を開きます。

openExample('AsynchronousEventsTop');

モデルをビルドします。

slbuild('AsynchronousEventsTop');

モデルの coder.codedescriptor.CodeDescriptor オブジェクトを作成します。

codeDescObj = coder.getCodeDescriptor('AsynchronousEventsTop');

モデルに含まれる参照モデルのリストを取得します。

getReferencedModelNames(codeDescObj)
ans =

  1×1 cell array
    {'AsynchronousEventsRef'}

モデル myMiddleModel を参照するこのモデル myTopModel について考えます。

Model that contains a reference to a model, myMiddleModel.

myMiddleModel には、別のモデル myBottomModel への参照が含まれています。

Model that contains a reference to a model, myBottomModel.

myTopModel をビルドし、[IncludeAllLevels] パラメーターを指定せずに getReferencedModelNames を使用すると、出力には myMiddleModel のみが含まれます。

model = "myTopModel";
slbuild(model);
codeDescObj = coder.getCodeDescriptor(model);
getReferencedModelNames(codeDescObj)
ans =

  1x1 cell array

    {'myMiddleModel'}

[IncludeAllLevels] パラメーターを true に設定すると、出力には myBottomModel も含まれます。

getReferencedModelNames(codeDescObj, IncludeAllLevels = true)
ans =

  2x1 cell array

    {'myMiddleModel'}
    {'myBottomModel'}

保護モデル myProtectedModel を参照するこのモデル myTopModel について考えます。

Model that contains a model reference of a protected model, myProtectedModel.

モデルをビルドし、[IncludeProtectedModels] パラメーターを指定せずに getReferencedModelNames を使用すると、出力は空です。

model = "myTopModel";
slbuild(model);
codeDescObj = coder.getCodeDescriptor(model);
getReferencedModelNames(codeDescObj)
ans =

  0x1 empty cell array

[IncludeProtectedModels] パラメーターを true に設定すると、出力には myProtectedModel が含まれます。

getReferencedModelNames(codeDescObj, IncludeProtectedModels = true)
ans =

  1x1 cell array

    {'myProtectedModel'}

バージョン履歴

R2018a で導入