このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
find_mdlrefs
モデルの階層構造内の参照モデルと型号ブロックの検索
説明
例
モデルの階層構造内での参照モデルの検索
指定されたモデルによって参照されるすべてのモデルの参照モデルおよび模型ブロックを検索します。
load_system (“sldemo_mdlref_basic”);[myModels,myModelBlks] = find_mdlrefs(“sldemo_mdlref_basic”)
myModels =2 x1细胞{'sldemo_mdlref_counter'} {'sldemo_mdlref_basic'}
myModelBlks =3 x1细胞{'sldemo_mdlref_basic/CounterA'} {'sldemo_mdlref_basic/CounterB'} {'sldemo_mdlref_basic/CounterC'}
モデルの階層構造内のすべてのモデルの検索と読み込み
既定では,関数find_mdlrefs
はまだ読み込まれていないモデルを読み込んでから閉じます。読み込まれているモデルを特定するには,関数find_system
を使用します。
find_mdlrefs (“sldemo_mdlref_depgraph”);find_system (“类型”,“block_diagram”)
Ans = 0x1空单元格数组
モデルの階層構造内のすべてのモデルを検索して読み込むには,KeepModelsLoaded
を真正的
に設定します。
find_mdlrefs (“sldemo_mdlref_depgraph”,“KeepModelsLoaded”,真正的);find_system (“类型”,“block_diagram”)
ans =7 x1细胞{'sldemo_mdlref_thermostat'} {' sldemo_mdlref_加热器'}{'sldemo_mdlref_F2C'} {'sldemo_mdlref_outdoor_temp'} {'sldemo_mdlref_house'} {'sldemo_mdlref_heat2cost'} {'sldemo_mdlref_depgraph'}
最上位モデルとすべての参照モデルは読み込まれたままになります。sldemo_mdlref_depgraph
を開くと,参照モデルを開いて参照モデルが読み込まれるのを待たずにモデルの階層構造を移動できます。
入力引数
系统
- - - - - -システム名,ブロックパス,またはハンドル
文字ベクトル|字符串スカラ|数値スカラ
システム名,ブロックパス,またはハンドル。文字ベクトル、字符串スカラ,または数値スカラとして指定します。
システムはSLXファereplicationル,mdlファereplicationル,模型ブロック,または子系统ブロックでなければなりません。
ファereplicationル名を指定するときに,ファereplicationルの拡張子を含めないでください。
デタ型:双
|字符
|字符串
名前と値の引数
例:refModels = find_mdlrefs(topmodel,' keepmodelloaded ',true,'ReturnTopModelAsLastElement',false)
オプションのコンマ区切りされた名称,值
の引数ペアを指定します。ここで,的名字
は引数名,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を任意の順序で指定できます。
KeepModelsLoaded
- - - - - -モデルを読み込まれたままにするオプション
假
または0
(既定値) |真正的
または1
モデルを読み込まれたままにするオプション。“KeepModelsLoaded”
と数値または合乎逻辑1
(真正的
)または0
(假
で構成されるコンマ区切りのペアとして指定します。
既定では,関数はまだ読み込まれていないモデルを読み込んでから閉じます。モデルを読み込んだままにするには,この引数を真正的
に設定します。モデルを読み込んだままにすると,モデルの検索後にモデルを操作する予定がある場合に役立ます。
デタ型:逻辑
AllLevels
- - - - - -検索するレベル
真正的
または1
(既定値) |假
または0
検索するレベル。“AllLevels”
と数値または合乎逻辑1
(真正的
)または0
(假
で構成されるコンマ区切りのペアとして指定します。
真正的
-指定された系统
のモデルの階層構造内のすべての模型ブロックを検索します。假
-最上位レベルのシステムのみを検索します。
デタ型:逻辑
IncludeProtectedModels
- - - - - -保護モデルを含めるためのオプション
假
または0
(既定値) |真正的
または1
保護モデルを検索結果に含めるオプション。“IncludeProtectedModels”
と数値または合乎逻辑1
(真正的
)または0
(假
で構成されるコンマ区切りのペアとして指定します。
この設定は,返される参照モデルのリストにのみ影響します。返される模型ブロックのリストには影響しません。
デタ型:逻辑
IncludeCommented
- - - - - -コメント付きブロックを含めるオプション
假
または0
(既定値) |真正的
または1
コメント付きブロックを検索結果に含めるオプション。“IncludeCommented”
と数値または合乎逻辑1
(真正的
)または0
(假
で構成されるコンマ区切りのペアとして指定します。
デタ型:逻辑
CaseSensitive
- - - - - -検索時に大文字小文字を区別するオプション
真正的
(既定値) |假
検索時に大文字小文字を区別するオプション。大文字小文字を区別する検索の場合は真正的
,大文字小文字を区別しない検索の場合は假
として指定します。
デタ型:逻辑
FollowLinks
- - - - - -ラ邮箱ブラリリンクに従って検索するオプション
假
(既定値) |真正的
ラ邮箱ブラリリンクに従って検索するオプション。真正的
または假
として指定します。真正的
の場合、検索はラ以及ブラリブロックへリンクされたものを含みます。
デタ型:逻辑
LookUnderMasks
- - - - - -マスクされたブロックを検索するオプション
“所有”
(既定値) |“没有”
|“功能”
|“图形”
マスクされたブロックを検索するオプション。次として指定します。
“所有”
-マスクされたすべてのブロック内を検索します。“没有”
-マスクされたシステムでの検索を回避します。“功能”
—ダ邮箱アログをもたないマスクサブシステムも検索します。“图形”
—ワクスペアログをもたないマスクサブシステムも検索します。
デタ型:字符
|字符串
MatchFilter
- - - - - -検索で要素を含めるかスキップするかを決定する関数ハンドル
関数ハンドル
ブロック,システム,ラン,端子,注釈など,検索内の要素に一致させる関数ハンドル。MatchFilter
を使用して,検索で要素を含めるべきか,スキップすべきかどうかを決定します。
名前付き関数はmatlab®プログラムファ邮箱ル内で定義されていなければなりません。関数は要素のハンドルを入力として取り、2 つの出力を返します。
函数[匹配,修剪]= func(元素)
入力
元素
は処理されているブロックのハンドルです。1 ecomm目の出力
匹配
は逻辑値です。假
の場合,検索で要素がスキップされます。2 ecomm目の出力
修剪
は,元素
がサブシステムである場合にのみ適用される,オプションの逻辑値です。既定値は假
です。この値が真正的
に設定されている場合,サブシステム全体が検索対象から除外されます。
たとえば,MatchFilter
を使用して,フィルタ関数initFcnMdlBlocks
を使用してInitFcn
コルバックが定義されたモデル内のすべての模型ブロックを検索します。
函数match = initFcnMdlBlocks(句柄)match = ~isempty(get_param(句柄,“InitFcn”));结束
目录(fullfile (matlabroot,“例子”,“金宝appsimulink_variants”,“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);[models,blocks] = find_mdlrefs(model,“MatchFilter”@initFcnMdlBlocks)
バリアント:アクティブなバリアントやコードコンパイルのバリアントブロックを見つけるには,モデルをコンパイルして,仿真金宝app软件®が提供する適切なマッチフィルタ関数を適用します。
金宝appSimulink.match.activeVariants
—モデルのコンパ邮箱ル後にシミュレ邮箱ションでアクティブなブロックと一致します。金宝appSimulink.match.codeCompileVariants
—モデルのコンパ邮箱ル後に生成されたコ邮箱ドの一部であるブロックと一致します。
たとえば,金宝appSimulink.match.activeVariants
オプションを使用して,モデル内のアクティブなバリアントを検出します。
目录(fullfile (matlabroot,“例子”,“金宝appsimulink_variants”,“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);set_param(模型,“SimulationCommand”,“更新”);[models,blocks] = find_mdlrefs(model,“MatchFilter”, 金宝app@Simulink.match.activeVariants);
たとえば,金宝appSimulink.match.codeCompileVariants
オプションを使用して,生成されたcコドの一部であるバリアントの選択を検出します。
目录(fullfile (matlabroot,“例子”,“金宝appsimulink_variants”,“主要”));load_system (“slexVariantMdlRefCondProp”);assignin (“基地”,“VSS_MODE”2);slexVariantMdlRefCondProp ([],[],[],“compileForCodegen”);[models,blocks] = find_mdlrefs(“slexVariantMdlRefCondProp”,...“MatchFilter”, 金宝app@Simulink.match.codeCompileVariants);slexVariantMdlRefCondProp ([],[],[],“术语”);
变体
- - - - - -バリアントモデルを含めるオプション
“ActivePlusCodeVariants”
(既定値) |“ActiveVariants”
|“AllVariants”
メモ
变体
引数は削除される予定です。代わりにMatchFilter
を使用してください。詳細にいては,互換性にいての考慮事項を参照してください。
バリアントモデルを検索結果に含めるオプション。“变异”
と“ActivePlusCodeVariants”
、“ActiveVariants”
,または“AllVariants”
で構成されるコンマ区切りのペアとして指定します。
“ActivePlusCodeVariants”
—シミュレション内でアクティブであり,生成されたコドの一部である不同的子系统内のすべてのバリアントモデルを含めます。“ActiveVariants”
- - - - - -不同的子系统ブロック内のアクティブなバリアントモデルを含めます。“AllVariants”
- - - - - -不同的子系统ブロック内のすべてのバリアントモデルを含めます。
この検索条件は,[バリアント制御モド]が表达式
または标签
に設定されている不同的子系统ブロックにのみ適用されます。MatchFilter
オプションを指定して関数find_mdlrefs
を使用すると,すべてのタ。
デタ型:字符
|字符串
ReturnTopModelAsLastElement
- - - - - -指定されたシステムを含めるオプション
真正的
または1
(既定値) |假
または0
指定されたシステムを検索結果に含めるオプション。“ReturnTopModelAsLastElement”
と数値または合乎逻辑1
(真正的
)または0
(假
で構成されるコンマ区切りのペアとして指定します。
既定では,参照モデルの返されたリスト内の最後の要素は,系统
引数で指定したモデル,ラ,ブラリ,またはサブシステムファ,ルの名前です。ブロックを指定する場合、最後の要素はブロックを含むファ以及ルの名前です。
デタ型:逻辑
出力引数
バジョン履歴
R2006aより前に導入R2021a:变体
引数は削除予定
R2021a以降は警告
变体
オプションは将来のリリスでfind_mdlrefs
から削除されます。变体
オプションを使用するスクリプトは引き続き動作しますが,警告が出ます。
シミュレション中またはコド生成中にアクティブである模型ブロックを検索するには,モデルをコンパeルし,関数find_mdlrefs
をMatchFilter
オプションを指定して使用します。
R2021a:バリアントブロックをもモデル内の变体
オプションおよびMatchFilter
オプションをもfind_mdlrefs
の既定の動作を変更
R2021aでの動作変更
变体
:变体
オプションを指定“しないで”関数find_mdlrefs
を使用すると,既定で,シミュレ,ション中またはコ,ド生成中にアクティブである模型ブロックのみが検索に含まれます。2 ecommのバリアントの選択肢
Mdl_Linear_控制器
およびMdl_NonLinear_Controller
をもemf变体模型ブロックをも。このコマンドは,モデル内のアクティブな模型ブロックのみを返します。
[myModels,myModelBlks] = find_mdlrefs ....(“sldemo_variant_subsystems_modelblocks”)
myModels = 2×1 cell array {' mdlref_非线性_controller'} {'sldemo_variant_subsystems_modelblocks'} myModelBlks = 1×1 cell array {'sldemo_variant_subsystems_modelblocks/Controller/ mdl_非线性_controller'}
MatchFilter
:MatchFilter
オプションを指定した関数find_mdlrefs
を使用すると,既定で,アクティブおよび非アクティブなバリアントの選択肢に対するフィルターを適用します。2 ecommのバリアントの選択肢
Mdl_Linear_控制器
およびMdl_NonLinear_Controller
をもemf变体模型ブロックをも。フィルタ関数initFcnMdlBlocks
は,InitFcn
コルバックが設定されている模型ブロックをすべて検索します。函数match = initFcnMdlBlocks(句柄)match = ~isempty(get_param(句柄,“InitFcn”));结束
このコマンドは,モデル内のアクティブおよび非アクティブな模型ブロックの両方を返します。
[myModels,myModelBlks] = find_mdlrefs(“sldemo_variant_subsystems_modelblocks”,...“MatchFilter”@initFcnMdlBlocks)
myModels = 3×1 cell array {'mdlref_linear_controller'} {' mdlref_非线性_controller'} {'sldemo_variant_subsystems_modelblocks'} myModelBlks = 2×1 cell array {'sldemo_variant_subsystems_modelblocks/Controller/Mdl_Linear_Controller'} {'sldemo_variant_subsystems_modelblocks/Controller/ mdl_非线性_controller'}
find_mdlrefs
では,变体
オプションと共にMatchFilter
を使用することはサポトされません。このコマンドではエラが発生します。
find_mdlrefs (bdroot“MatchFilter”, 金宝app@Simulink.match.activeVariants...“变异”,“ActiveVariants”);
R2020b:逻辑値をfind_mdlrefs
の2番目の引数として指定することは推奨されない
R2020b以降は非推奨
関数find_mdlrefs
では,モデルの階層構造のすべてのレベルを検索するかどうかを指定する方法が2あります。どちらの方法でも同じ結果になりますが,追加のオプションを指定できるのは名前と値のペアの手法のみです。
モデルの階層構造のすべてのレベルを検索するかどうかを指定せずに,逻辑を2番目の引数として使用して名前と値のペアAllLevels
を使用します。
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。WebブラウザはMATLABコマンドをサポトしていません。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。