システム、ブロック、ライン、端子、注釈の検索
は、読み込まれたシステムと、1 つ以上の Objects
= find_system(Name,Value
)Name,Value
のペアの引数で指定された基準を満たすそれらのシステム内のオブジェクトを返します。この構文を使用して検索条件を指定し、特定のパラメーター値を検索できます。検索条件はパラメーターと値のペアの前に指定します。
は、指定されたシステムの指定された基準を満たすオブジェクトを返します。Objects
= find_system(System
,Name,Value
)
読み込まれたすべてのシステムとそのブロックの名前を返します。
load_system('vdp')
find_system
ans = 15x1 cell
{'vdp' }
{'vdp/Constant' }
{'vdp/More Info' }
{'vdp/More Info/Model Info'}
{'vdp/Mu' }
{'vdp/Mux' }
{'vdp/Product' }
{'vdp/Scope' }
{'vdp/Square' }
{'vdp/Sum' }
{'vdp/Sum1' }
{'vdp/x1' }
{'vdp/x2' }
{'vdp/Out1' }
{'vdp/Out2' }
vdp
を含む、読み込まれたシステムとライブラリを返します。
vdp
システムとそのブロックを返します。
load_system({'vdp','fuelsys'}) find_system('vdp')
ans = 15x1 cell
{'vdp' }
{'vdp/Constant' }
{'vdp/More Info' }
{'vdp/More Info/Model Info'}
{'vdp/Mu' }
{'vdp/Mux' }
{'vdp/Product' }
{'vdp/Scope' }
{'vdp/Square' }
{'vdp/Sum' }
{'vdp/Sum1' }
{'vdp/x1' }
{'vdp/x2' }
{'vdp/Out1' }
{'vdp/Out2' }
読み込まれたモデル、サブシステム、およびライブラリの名前を返します。サブシステム名は、サブシステムを個別に読み込むことができる場合にのみ返されます。
load_system('vdp'); find_system('type','block_diagram')
ans = 1x1 cell array
{'vdp'}
sldemo_clutch
システム内の Unlocked サブシステムの子であるすべての Goto ブロックの名前を返します。
load_system('sldemo_clutch'); find_system('sldemo_clutch/Unlocked','SearchDepth',1,'BlockType','Goto')
ans = 2x1 cell
{'sldemo_clutch/Unlocked/Goto' }
{'sldemo_clutch/Unlocked/Goto1'}
vdp
システムを検索し、Gain 値が 1
に設定されているすべての Gain ブロックの名前を返します。
load_system('vdp'); find_system('vdp','BlockType','Gain','Gain','1')
ans = 1x1 cell array
{'vdp/Mu'}
vdp
システム内のすべてのラインと注釈のハンドルを取得します。'FindAll'
を使用すると、指定したシステムの検索方法に関係なく、ハンドルが返されます。
load_system('vdp'); L = find_system('vdp','FindAll','on','type','line')
L = 19×1
34.0052
33.0052
32.0052
31.0052
30.0052
29.0052
28.0052
27.0052
26.0052
25.0052
⋮
A = find_system('vdp','FindAll','on','type','annotation')
A = 2×1
36.0052
35.0052
vdp
システムと fuelsys
システムで値が 0
のブロック ダイアログ ボックス パラメーターを検索します。
load_system({'vdp','fuelsys'}) find_system({'vdp','fuelsys'},'BlockDialogParams','0')
ans = 'vdp/x2' 'vdp/Out1' 'vdp/Out2' 'fuelsys/Constant2' 'fuelsys/Constant4' 'fuelsys/Constant5' 'fuelsys/engine …' 'fuelsys/engine …' 'fuelsys/engine …' 'fuelsys/engine …' . . .
3
で始まるブロック ダイアログ パラメーター値をもつ、現在読み込まれているシステムの最上位にあるすべてのブロックを検索します。
load_system({'fuelsys','vdp'}); find_system('SearchDepth','1','regexp','on','BlockDialogParams','^3')
ans = 4x1 cell
{'vdp/Scope' }
{'vdp/Scope' }
{'vdp/Square' }
{'fuelsys/Nominal...'}
正規表現を使用して検索する場合は、一致させる文字ベクトルの一部を指定して、その文字ベクトルが含まれるすべてのオブジェクトを返すことができます。sldemo_clutch
モデルのすべての Inport ブロックと Outport ブロックを検索します。
load_system('sldemo_clutch'); find_system('sldemo_clutch','regexp','on','blocktype','port')
ans = 39x1 cell
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction Mode Logic/Tin' }
{'sldemo_clutch/Friction Mode Logic/Tfmaxs' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/lock' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/unlock' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/locked' }
{'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tin'}
{'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tf' }
{'sldemo_clutch/Friction Mode Logic/locked' }
{'sldemo_clutch/Friction Mode Logic/lock' }
{'sldemo_clutch/Friction Mode Logic/unlock' }
{'sldemo_clutch/Friction Mode Logic/Tf' }
{'sldemo_clutch/Locked/Tin' }
{'sldemo_clutch/Locked/w' }
{'sldemo_clutch/Unlocked/Tfmaxk' }
{'sldemo_clutch/Unlocked/Tin' }
{'sldemo_clutch/Unlocked/we' }
⋮
この例では、myModel
に、ライブラリ リンクである単一のサブシステムが含まれています。モデルが最後に開かれた後に、ライブラリ内の対応するサブシステムに Gain ブロックが追加されています。
モデルを開きます。find_system
を、'off'
に設定した 'FollowLinks'
と共に使用します。このコマンドは、サブシステムへのライブラリ リンクに従わず、最上位のサブシステムのみを返します。
open_system('myModel') find_system(bdroot,'LookUnderMasks','on','FollowLinks', 'off')
ans = 'myModel' 'myModel/Subsystem'
find_system
を、'on'
に設定した 'FollowLinks'
と共に使用します。find_system
はライブラリ リンクを更新し、サブシステムのブロックを返します。
find_system(bdroot,'LookUnderMasks','on','FollowLinks','on')
Updating Link: myModel/Subsystem/Gain Updating Link: myModel/Subsystem/Gain ans = 'myModel' 'myModel/Subsystem' 'myModel/Subsystem/Gain'
find_system
にシステムをハンドルとして指定します。0
の値をもつブロック ダイアログ ボックス パラメーターを検索します。同じブロックに対する get_param
を複数回呼び出す場合、ブロック ハンドルを使用する方が、ブロックの絶対パスを文字ベクトルとして指定するよりも効率的です。
load_system('vdp'); sys = get_param('vdp','Handle'); find_system(sys,'BlockDialogParams','0')
ans = 8×1
3.0055
4.0055
8.0055
13.0055
14.0055
14.0055
15.0055
15.0055
System
— 検索するシステム検索するシステム。システムの絶対パス名、システムのパス名の cell 配列、ハンドル、ハンドルのベクトルとして指定します。
例: 'MyModel/Subsystem1'
例: {'vdp','fuelsys'}
オプションのコンマ区切りされた Name,Value
の引数ペアを指定します。ここで、Name
は引数名、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を任意の順序で指定できます。
'SearchDepth','0','LookUnderMasks','none','BlockType','Goto'
は、マスク サブシステムを除く、読み込まれたシステムで Goto ブロックを検索します。関数 find_system
を使用する場合、Name,Value
のペアの引数には、検索条件およびパラメーター名と値のペアを含めることができます。検索条件は任意の順序で指定できますが、パラメーター名と値のペアの前に宣言しなければなりません。
ブロック パラメーターのリストの詳細については、ブロック固有のパラメーターを参照してください。
'BlockDialogParams'
— 指定された値のブロック ダイアログ ボックス パラメーターを検索するオプション指定された値のブロック ダイアログ ボックス パラメーターを検索するオプション。'BlockDialogParams'
と文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。このペアは他の検索条件のペアに従わなければなりません。
'CaseSensitive'
— 比較時に大文字と小文字を区別するオプション'on'
(既定値) | 'off'
比較時に大文字と小文字を区別するオプション。'CaseSensitive'
と、大文字と小文字を区別して検索することを表す 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。
'FindAll'
— システム内のライン、端子、注釈を含めるオプション'off'
(既定値) | 'on'
システム内のライン、端子、注釈を検索に含めるオプション。'FindAll'
と 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。このオプションが 'on'
に設定されている場合、System
引数の指定にかかわらず、find_system
はハンドルのベクトルを返します。
'FirstResultOnly'
— 最初の結果のみを返すオプション'off'
(既定値) | 'on'
最初の結果のみを返して検索を停止するオプション。'FirstResultOnly'
と 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。
'LookInsideSubsystemReference'
— 参照サブシステム内を確認するオプション'on'
(既定値) | 'off'
モデルで参照サブシステム内を確認し、'LookInsideSubsystemReference'
と 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定された子ブロックをリストするオプションです。
'FollowLinks'
— ライブラリ ブロック内へリンクをたどるオプション'off'
(既定値) | 'on'
ライブラリ ブロック内へリンクをたどるオプション。'FollowLinks'
と 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。検索するシステムを指定しない場合、'FollowLinks'
が 'on'
または 'off'
のどちらに設定されても、find_system
の結果には読み込まれたライブラリが含まれます。'FollowLinks'
を 'LookUnderMasks'
と共に使用すると、サブシステムでライブラリ リンクを更新できます。サブシステムのライブラリ リンクを更新するを参照してください。
'IncludeCommented'
— コメント付きブロックを含めるオプション'off'
(既定値) | 'on'
コメント付きブロックを検索に含めるオプション。'IncludeCommented'
と 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。
'LoadFullyIfNeeded'
— 部分的に読み込まれた任意のモデルを読み込むオプション'on'
(既定値) | 'off'
部分的に読み込まれた任意のモデルを読み込むオプション。'LoadFullyIfNeeded'
と、モデルを読み込む 'on'
または読み込みを無効にする 'off'
で構成されるコンマ区切りのペアとして指定します。たとえば、読み込み関連の警告が表示されるのを防ぐために、このオプションを使用します。
'LookUnderMasks'
— マスク内を検索するオプション'graphical'
(既定値) | 'none'
| 'functional'
| 'all'
| 'on'
| 'off'
マスク内を検索するオプション。'LookUnderMasks'
と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。
'graphical'
— ワークスペースやダイアログをもたないマスク サブシステムも検索します。
'none'
— マスク サブシステムを検索しません。
'functional'
— ダイアログをもたないマスク サブシステムも検索します。
'all'
— すべてのマスク サブシステムを検索します。
'on'
— すべてのマスク サブシステムを検索します。
'off'
— マスク サブシステムを検索しません。
'RegExp'
— 検索式を正規表現として取り扱うオプション'off'
(既定値) | 'on'
検索式を正規表現として取り扱うオプション。'RegExp'
と、検索式を正規表現として取り扱う 'on'
または 'off'
で構成されるコンマ区切りのペアとして指定します。MATLAB® 正規表現の詳細については、正規表現を参照してください。
'SearchDepth'
— 検索の深さを限定するオプション指定されたレベルに検索の深さを限定するオプション。'SearchDepth'
と正の整数の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。たとえば、読み込まれたシステムのみを検索する場合は '0'
、最上位システムを構成するブロックとサブシステムを検索する場合は '1'
、最上位システムとその子システムを検索する場合は '2'
を指定します。既定では、すべてのレベルを検索します。
'Variants'
— バリアントを検索するオプション'ActiveVariants'
(既定値) | 'AllVariants'
| 'ActivePlusCodeVariants'
バリアントを検索するオプション。'Variants'
と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。
'ActiveVariants'
— アクティブな Variant Subsystem のみを検索します。
'AllVariants'
— すべてのバリアントを検索します。
'ActivePlusCodeVariants'
— プリプロセッサの条件が生成される場合、すべてのバリアントを検索します。そうでない場合は、アクティブなバリアントのみを検索します。
メモ
この検索条件は、Variant Subsystem にのみ適用されます。その他すべてのバリアント ブロックに対して実行するには、Variants MatchFilter オプションを使用します。
'MatchFilter'
— 要素に一致させる関数ハンドルブロック、システム、ライン、端子、注釈など、検索内の要素に一致させる関数ハンドル。MatchFilter
を使用して、検索で要素を選択すべきか、スキップすべきかどうかを決定します。
例: MatchFilter
を使用して、独自のフィルター関数 nonInOutBlocks
を使用してモデル内のすべての Inport ブロックと Outport ブロック以外のブロックを検索します。
blks = find_system('ModelName', 'MatchFilter', @nonInOutBlocks)
function match = nonInOutBlocks(handle) match = true; if strcmp(get_param(handle, 'Type'), 'block') blockType = get_param(handle, 'BlockType'); if strcmp(blockType, 'Inport') || ... strcmp(blockType, 'Outport') match = false; end end end
以下の例では、2 番目の出力引数 prune
を指定して MatchFilter
を使用する方法を示します。
[match, prune] = fcn(element) where element - Handle of the block being processed. match - Logical. If false, skip the element. prune - Optional logical (default false). If true, do not look in subsystems.
バリアント: Simulink は、バリアント ブロックに対してマッチ フィルター関数 Simulink.match.activeVariants
と Simulink.match.codeCompileVariants
を提供します。これらの関数を使用して、アクティブなバリアントやコード コンパイルのバリアント ブロックを見つけることができます。これを行うには、モデルをコンパイルして、適切な MatchFilter
オプションを適用します。
Simulink.match.activeVariants
- モデルのコンパイル後にシミュレーションでアクティブなブロックと一致
Simulink.match.codeCompileVariants
- モデルのコンパイル後に生成されたコードの一部であるブロックと一致
例: Simulink.match.activeVariants
オプションを使用して、モデルでアクティブなバリアントを検索します。
set_param(model, 'SimulationCommand', 'update'); activeBlks = find_system(model, 'MatchFilter', @Simulink.match.activeVariants);
例: Simulink.match.codeCompileVariants
オプションを使用して、生成された C コードの一部であるバリアントの選択を検出します。
MODEL([],[],[],'compileForRTW') find_system(MODEL, 'MatchFilter', @Simulink.match.codeCompileVariants); MODEL([],[],[],'term')
find_mdlrefs
| get_param
| getSimulinkBlockHandle
| set_param
| Simulink エディター | Simulink.allBlockDiagrams
| Simulink.findBlocks
| Simulink.findBlocksOfType
| モデル エクスプローラー
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.