主要内容

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

查找系统

システム、ブロック、ライン、端子、注釈の検索

变体オプションは削除される予定です。代わりに匹配过滤器を使用してください。詳細については、互換性についての考慮事項を参照してください。

説明

物体=查找系统は、サブシステムを含む、読み込まれたシステムとそれらのブロックを返します。

物体=查找系统(系统)は、指定されたシステムとそのブロックを返します。

物体=查找系统(名称、值)は、読み込まれたシステムと、1.つ以上の名称、值のペアの引数で指定された基準を満たすそれらのシステム内のオブジェクトを返します。この構文を使用して検索条件を指定し、特定のパラメーター値を検索できます。検索条件はパラメーターと値のペアの前に指定します。

物体=查找系统(系统,名称、值)は、指定されたシステムの指定された基準を満たすオブジェクトを返します。

すべて折りたたむ

読み込まれたすべてのシステムとそのブロックの名前を返します。

加载系统(“vdp”)查找系统
ans=15x1电池{'vdp'}{'vdp/Constant'}{'vdp/More Info'}{'vdp/More Info/Model Info'}{'vdp/Mu'}{'vdp/Mux'}{'vdp/Product'}{'vdp/Scope'}{'vdp/Square'}{'vdp/Sum1'}{'vdp/x1'}{'vdp/x2'}{'vdp/Out1'}{'vdp/Out2'}

vdpを含む、読み込まれたシステムとライブラリを返します。

vdpシステムとそのブロックを返します。

加载系统({“vdp”,“ex_sldemo_离合器”})查找系统(“vdp”)
ans=15x1电池{'vdp'}{'vdp/Constant'}{'vdp/More Info'}{'vdp/More Info/Model Info'}{'vdp/Mu'}{'vdp/Mux'}{'vdp/Product'}{'vdp/Scope'}{'vdp/Square'}{'vdp/Sum1'}{'vdp/x1'}{'vdp/x2'}{'vdp/Out1'}{'vdp/Out2'}

読み込まれたモデル、サブシステム、およびライブラリの名前を返します。サブシステム名は、サブシステムを個別に読み込むことができる場合にのみ返されます。

加载系统(“vdp”);查找系统(“类型”,“方框图”)
ans=1x1单元阵列{'vdp'}

防爆离合器システム内の 解锁サブシステムの子であるすべての 后藤ブロックの名前を返します。

加载系统(“ex_sldemo_离合器”);查找系统(‘ex_sldemo_离合器/解锁’,“搜索深度”1.“块类型”,“转到”)
ans=2x1电池{'ex_sldemo_clutch/Unlocked/Goto'}{'ex_sldemo_clutch/Unlocked/Goto1'}

MathWorks,Inc.版权所有。

vdpシステムを検索し、获得値が1.に設定されているすべての 获得ブロックの名前を返します。

加载系统(“vdp”);查找系统(“vdp”,“块类型”,“收益”,“收益”,'1')
ans=1x1单元阵列{'vdp/Mu'}

vdpシステム内のすべてのラインと注釈のハンドルを取得します。“芬德尔”を使用すると、指定したシステムの検索方法に関係なく、ハンドルが返されます。

加载系统(“vdp”);L=查找系统(“vdp”,“芬德尔”,“开”,“类型”,“线路”)
L=19×134.0044 33.0044 32.0044 31.0044 30.0044 29.0044 28.0044 27.0044 26.0044 25.0044 ⋮
A=查找系统(“vdp”,“芬德尔”,“开”,“类型”,“注释”)
A=2×136.0044 35.0044

vdpシステムと防爆离合器システムで値が0のブロック ダイアログ ボックス パラメーターを検索します。

加载系统({“vdp”,“f14”})查找系统({“vdp”,“f14”},“BlockDialogParams”,'0')
ans=32×1单元阵列{'vdp/More Info'}{'vdp/More Info/Model Info'}{'vdp/Scope'}{'vdp/x2'}{'vdp/Out1'}{'vdp/Out1'}{'vdp/Out2'}{'vdp/Out2'}{'f14/飞机↵动力学↵'}{'f14型/飞机↵动力学↵模型/垂直速度↵w(英尺/秒)}{f14/飞机↵动力学↵模型/垂直速度↵w(英尺/秒)}{f14/飞机↵动力学↵模型/俯仰率↵q(rad//sec)}{f14/飞机↵动力学↵模型/俯仰率↵q(rad//sec)}。

3.で始まるブロック ダイアログ パラメーター値をもつ、現在読み込まれているシステムの最上位にあるすべてのブロックを検索します。

加载系统({“ex_sldemo_离合器”,“vdp”});查找系统(“搜索深度”,'1',“regexp”,“开”,“BlockDialogParams”,'^3')
ans=4x1电池{'vdp/Scope'}{'vdp/Scope'}{'vdp/Square'}{'ex_sldemo_clutch/w'}

正規表現を使用して検索する場合は、一致させる文字ベクトルの一部を指定して、その文字ベクトルが含まれるすべてのオブジェクトを返すことができます。防爆离合器モデルのすべての 输入ブロックと 外埠ブロックを検索します。

加载系统(“ex_sldemo_离合器”);查找系统(“ex_sldemo_离合器”,“regexp”,“开”,“块类型”,“港口”)
ans=39x1电池{'EXU SLDEMOU离合器/摩擦…'}{'EXU SLDEMOU离合器/摩擦…'}{'EXU SLDEMOU离合器/摩擦…'}{'EXU SLDEMOU离合器/摩擦模式逻辑/Tin'}{'EXU SLDEMOU离合器/摩擦模式逻辑/Tfmaxs'}{'EXU SLDEMOU离合器/摩擦模式逻辑/分离…'}{'EXU SLDEMOU离合器/摩擦模式逻辑/分离…}}{'EXU SLDEMOU离合器/摩擦模式逻辑/分离…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU SLDEMOU离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU SLDEMOU离合器/摩擦模式逻辑/锁定…}{'EXU SLDEMOU离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定…}{'EXU sldemo离合器/摩擦模式逻辑/锁定FSM/锁定}{'EXU sldemo离合器/摩擦模式逻辑/锁定FSM/解锁}{'EXU sldemo离合器/摩擦模式逻辑/锁定FSM/锁定}}{'{'EXU SLDEMOU离合器/摩擦模式逻辑/必要摩擦/Tin'}{'EXU SLDEMOU离合器/摩擦模式逻辑/必要摩擦/Tf'}{'EXU sldemo离合器/摩擦模式逻辑/锁定'}{'EXU SLDEMOU离合器/摩擦模式逻辑/锁定'}{'EXU SLDEMOU离合器/摩擦模式逻辑/解锁'{'EXU sldemo离合器/摩擦模式逻辑/Tf'}{'EXU sldemo离合器/锁定/Tin'}{'ex_sldemo_离合器/锁定/w'}{'ex_sldemo_离合器/解锁/Tfmaxk'}{'ex_sldemo_离合器/解锁/Tin'}{'ex_sldemo_离合器/解锁/we'}⋮

この例では、我的模型に、ライブラリ リンクである単一のサブシステムが含まれています。モデルが最後に開かれた後に、ライブラリ内の対応するサブシステムに获得ブロックが追加されています。

モデルを開きます。查找系统を、“关”に設定した“FollowLinks”と共に使用します。このコマンドは、サブシステムへのライブラリ リンクに従わず、最上位のサブシステムのみを返します。

开放式系统(“我的模型”)查找系统(bdroot,“隐形面具”,“开”,“FollowLinks”,“关”)
ans='myModel''myModel/子系统'

查找系统を、“开”に設定した“FollowLinks”と共に使用します。查找系统はライブラリ リンクを更新し、サブシステムのブロックを返します。

查找系统(bdroot,“隐形面具”,“开”,“FollowLinks”,“开”)
更新链接:myModel/Subsystem/Gain更新链接:myModel/Subsystem/Gain ans='myModel''myModel/Subsystem''myModel/Subsystem/Gain'

查找系统にシステムをハンドルとして指定します。0の値をもつブロック ダイアログ ボックス パラメーターを検索します。同じブロックに対する获取参数を複数回呼び出す場合、ブロック ハンドルを使用する方が、ブロックの絶対パスを文字ベクトルとして指定するよりも効率的です。

加载系统(“vdp”);sys=get_参数(“vdp”,“把手”);查找系统(系统、,“BlockDialogParams”,'0')
ans=8×13.0046 4.0046 8.0046 13.0046 14.0046 14.0046 15.0046 15.0046

入力引数

すべて折りたたむ

検索するシステム。システムの絶対パス名、システムのパス名の 单间牢房配列、ハンドル、ハンドルのベクトルとして指定します。

例:“我的模型/子系统1”

例:{'vdp','ex_sldemo_clutch'}

名前と値のペアの引数

オプションのコンマ区切りされた名称、值の引数ペアを指定します。ここで、名称は引数名、价值は対応する値です。名称は引用符で囲まなければなりません。名称1,值1,…,名称,值のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例:“SearchDepth”、“0”、“LookUnderMasks”、“none”、“BlockType”、“Goto”は、マスク サブシステムを除く、読み込まれたシステムで 后藤ブロックを検索します。

関数查找系统を使用する場合、名称、值のペアの引数には、検索条件およびパラメーター名と値のペアを含めることができます。検索条件は任意の順序で指定できますが、パラメーター名と値のペアの前に宣言しなければなりません。

ブロック パラメーターのリストの詳細については、ブロック固有のパラメーターを参照してください。

指定された値のブロック ダイアログ ボックス パラメーターを検索するオプション。“BlockDialogParams”と文字ベクトルまたは 一串スカラーで構成されるコンマ区切りのペアとして指定します。このペアは他の検索条件のペアに従わなければなりません。

比較時に大文字と小文字を区別するオプション。“区分大小写”と、大文字と小文字を区別して検索することを表す“开”または“关”で構成されるコンマ区切りのペアとして指定します。

システム内のライン、端子、注釈を検索に含めるオプション。“芬德尔”“开”または“关”で構成されるコンマ区切りのペアとして指定します。このオプションが“开”に設定されている場合、系统引数の指定にかかわらず、查找系统はハンドルのベクトルを返します。

最初の結果のみを返して検索を停止するオプション。“第一结果”“开”または“关”で構成されるコンマ区切りのペアとして指定します。

モデルで参照サブシステム内を確認し、“LookInsideSubsystemReference”“开”または“关”で構成されるコンマ区切りのペアとして指定された子ブロックをリストするオプションです。

ライブラリ ブロック内へリンクをたどるオプション。“FollowLinks”“开”または“关”で構成されるコンマ区切りのペアとして指定します。検索するシステムを指定しない場合、“FollowLinks”“开”または“关”のどちらに設定されても、查找系统の結果には読み込まれたライブラリが含まれます。“FollowLinks”“隐形面具”と共に使用すると、サブシステムでライブラリ リンクを更新できます。サブシステムのライブラリ リンクを更新するを参照してください。

コメント付きブロックを検索に含めるオプション。“包括取消提名”“开”または“关”で構成されるコンマ区切りのペアとして指定します。

部分的に読み込まれた任意のモデルを読み込むオプション。“LoadFullyIfNeeded”と、モデルを読み込む“开”または読み込みを無効にする“关”で構成されるコンマ区切りのペアとして指定します。たとえば、読み込み関連の警告が表示されるのを防ぐために、このオプションを使用します。

マスク内を検索するオプション。“隐形面具”と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。

  • “图形化”— ワークスペースやダイアログをもたないマスク サブシステムも検索します。

  • “没有”— マスク サブシステムを検索しません。

  • “功能性”— ダイアログをもたないマスク サブシステムも検索します。

  • “全部”— すべてのマスク サブシステムを検索します。

  • “开”— すべてのマスク サブシステムを検索します。

  • “关”— マスク サブシステムを検索しません。

検索式を正規表現として取り扱うオプション。“RegExp”と、検索式を正規表現として取り扱う“开”または“关”で構成されるコンマ区切りのペアとして指定します。MATLAB®正規表現の詳細については、正規表現を参照してください。

指定されたレベルに検索の深さを限定するオプション。“搜索深度”と正の整数の文字ベクトルまたは 一串スカラーで構成されるコンマ区切りのペアとして指定します。たとえば、読み込まれたシステムのみを検索する場合は'0'、最上位システムを構成するブロックとサブシステムを検索する場合は'1'、最上位システムとその子システムを検索する場合は'2'を指定します。既定では、すべてのレベルを検索します。

バリアントを検索するオプション。“变体”と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。

  • “主动变体”变型子系统内のアクティブなバリアントの選択のみを検索します。

  • “所有变体”变型子系统内のすべてのバリアントの選択を検索します。

  • “活跃的plusDevariants”— シミュレーション内でアクティブであり、生成されたコードの一部である变型子系统内のすべてのバリアントの選択肢を検索します。

メモ

この検索条件は、[バリアント制御モード]表示または标签に設定されている变型子系统ブロックにのみ適用されます。匹配过滤器オプションを指定して関数查找系统を使用すると、すべてのタイプのバリアント ブロックについて動作します。

ブロック、システム、ライン、端子、注釈など、検索内の要素に一致させる関数ハンドル。匹配过滤器を使用して、検索で要素を含めるべきか、スキップすべきかどうかを決定します。

名前付き関数は MATLABプログラム ファイル内で定義されていなければなりません。関数は要素のハンドルを入力として取り、2.つの出力を返します。

作用[match,prune]=func(元素)
  • 入力要素は処理されているブロックのハンドルです。

  • 1.つ目の出力火柴は 必然的値です。错误的の場合、検索で要素がスキップされます。

  • 2.つ目の出力修剪は、要素がサブシステムである場合にのみ適用される、オプションの 必然的値です。既定値は错误的です。この値が符合事实的に設定されている場合、サブシステム全体が検索対象から除外されます。

次に例を示します。匹配过滤器を使用して、独自のフィルター関数非输出块を使用してモデル内のすべての输入ブロックと外埠ブロック以外のブロックを検索します。

作用匹配=非输出块(句柄)匹配=真;如果strcmp(获取参数)(手柄,“类型”),“街区”)blockType=get_参数(句柄,“块类型”);如果strcmp(块状,“输入”) ||...strcmp(块状,“外埠”)匹配=假;终止终止终止
加载系统(“vdp”);blks=查找系统(“vdp”,“匹配过滤器”,@outblocks)

バリアント:金宝app模拟は、バリアント ブロックに対してマッチ フィルター関数金宝appSimulink.match.activeVariants金宝appSimulink.match.codeCompileVariantsを提供します。これらの関数を使用して、アクティブなバリアントやコード コンパイルのバリアント ブロックを見つけることができます。これを行うには、モデルをコンパイルして、適切な匹配过滤器オプションを適用します。

  • 金宝appSimulink.match.activeVariants- モデルのコンパイル後にシミュレーションでアクティブなブロックと一致

  • 金宝appSimulink.match.codeCompileVariants- モデルのコンパイル後に生成されたコードの一部であるブロックと一致

例:金宝appSimulink.match.activeVariantsオプションを使用して、モデルでアクティブなバリアントを検索します。

addpath(完整文件(matlabroot、,“例子”,“金宝appsimulink_变体”,“主要的”));模型=“sldemo_变体_子系统”;负荷系统(模型);分配(“基地”,“VSS_模式”,2);设置参数(模型,“模拟命令”,“更新”);activeBlks=查找系统(型号,“匹配过滤器”,@S金宝appimulink.match.activeVariants);

例:金宝appSimulink.match.codeCompileVariantsオプションを使用して、生成された Cコードの一部であるバリアントの選択を検出します。

addpath(完整文件(matlabroot、,“例子”,“金宝appsimulink_变体”,“主要的”)); 加载系统(“sldemo_变体_子系统”)转让(“基地”,“VSS_模式”,2);sldemo_变体_子系统([],[],[],“compilefortw”);activeBlks=查找系统(“sldemo_变体_子系统”,“匹配过滤器”,@S金宝appimulink.match.codeCompileVariants);sldemo_variant_子系统([],[],[],[],“期限”);

出力引数

すべて折りたたむ

検出された一致するオブジェクト。以下として返されます。

  • 系统をパス名またはパス名の 单间牢房配列として指定した場合、またはシステムを指定しなかった場合は、パス名の 单间牢房配列

  • 系统をハンドルまたはハンドルのベクトルとして指定した場合は、ハンドルのベクトル

互換性についての考慮事項

すべて展開する

R2021a以降は警告

R2021aでの動作変更

R2006aより前に導入