主要内容

find_system

找到系统、块、线、港口和注释

描述

例子

对象= find_system返回加载系统和他们的街区,包括子系统。

例子

对象= find_system (系统)返回指定的系统及其块。

例子

对象= find_system (名称,值)返回加载系统和对象的系统,满足一个或多个指定的标准名称,值对参数。你可以使用这个语法来指定搜索约束和搜索特定的参数值。指定搜索约束参数值对。

例子

对象= find_system (系统,名称,值)返回指定系统中的对象符合指定的标准。

例子

全部折叠

返回所有加载系统的名字和他们的街区。

load_system (“vdp”)find_system
ans =15 x1细胞{vdp的}{‘vdp /常数’}{' vdp /更多信息'}{vdp /信息/模型信息的}{的vdp /亩}{的vdp / Mux} {vdp /产品的}{vdp /范围的}{vdp /平方的}{vdp /总和的}{的vdp / Sum1} {vdp / x1的}{vdp / x2的}{vdp /着干活的}{' vdp / Out2 '}

返回加载系统和图书馆,包括vdp

返回vdp系统及其块。

load_system ({“vdp”,“ex_sldemo_clutch”})find_system (“vdp”)
ans =15 x1细胞{vdp的}{‘vdp /常数’}{' vdp /更多信息'}{vdp /信息/模型信息的}{的vdp /亩}{的vdp / Mux} {vdp /产品的}{vdp /范围的}{vdp /平方的}{vdp /总和的}{的vdp / Sum1} {vdp / x1的}{vdp / x2的}{vdp /着干活的}{' vdp / Out2 '}

返回的名称加载模型、子系统和库。返回一个子系统的名字只有在独立子系统可以加载。

load_system (“vdp”);find_system (“类型”,“block_diagram”)
ans =1 x1单元阵列{' vdp '}

返回所有转向块的名称中解锁子系统的孩子ex_sldemo_clutch系统。

load_system (“ex_sldemo_clutch”);find_system (“ex_sldemo_clutch /解锁”,“SearchDepth”,1“BlockType”,“转到”)
ans =2 x1细胞{“ex_sldemo_clutch /解锁/ Goto”} {' ex_sldemo_clutch /解锁/ Goto1 '}

版权2020年MathWorks公司。

搜索的vdp系统和返回的所有增益模块的名称获得值设置为1

load_system (“vdp”);find_system (“vdp”,“BlockType”,“获得”,“获得”,' 1 ')
ans =1 x1单元阵列{' vdp /μ'}

得到处理的所有行和注释vdp系统。与“FindAll”,函数返回处理无论如何指定搜索系统。

load_system (“vdp”);L = find_system (“vdp”,“FindAll”,“上”,“类型”,“行”)
L =19×1417.0028 416.0027 415.0027 414.0031 413.0032 412.0029 411.0032 31.0027 30.0029 29.0031⋮
一个= find_system (“vdp”,“FindAll”,“上”,“类型”,“注释”)
一个=2×1419.0024 - 418.0033

找到任何块对话框参数的值0vdpex_sldemo_clutch系统。

load_system ({“vdp”,“f14”find_system ({})“vdp”,“f14”},“BlockDialogParams”,' 0 ')
ans = 32×1单元阵列{' vdp /更多信息'}{vdp /信息/模型信息的}{vdp /范围的}{vdp / x2的}{vdp /着干活的}{vdp /着干活的}{的vdp / Out2}{的vdp / Out2} {f14 /飞机↵↵动态模型的}{' f14 /飞机↵动力学↵模型/垂直速度↵w(英国《金融时报》/ /秒)”}{' f14 /飞机↵动力学↵模型/垂直速度↵w(英国《金融时报》/ /秒)”}{' f14 /飞机↵动力学↵模型/俯仰速率↵q (rad / /秒)”}{' f14 /飞机↵动力学↵模型/俯仰速率↵q (rad / / sec)}。

找到所有块在当前加载系统的顶层开始的一块对话框参数值3

load_system ({“ex_sldemo_clutch”,“vdp”});find_system (“SearchDepth”,' 1 ',“正则表达式”,“上”,“BlockDialogParams”,' ^ 3 ')
ans =4 x1细胞{' vdp /范围'}{vdp /范围的}{vdp /平方的}{' ex_sldemo_clutch / w '}

使用正则表达式搜索时,您可以指定一个特征向量你想匹配的一部分返回包含特征向量的所有对象。找到所有的尺寸和外港块ex_sldemo_clutch模型。

load_system (“ex_sldemo_clutch”);find_system (“ex_sldemo_clutch”,“正则表达式”,“上”,“blocktype”,“端口”)
ans =39 x1细胞{' ex_sldemo_clutch /摩擦……'}{“ex_sldemo_clutch /摩擦……'}{“ex_sldemo_clutch /摩擦……'}{ex_sldemo_clutch /摩擦模式逻辑/锡的}{' ex_sldemo_clutch /摩擦模式逻辑/ Tfmaxs '} {' ex_sldemo_clutch /摩擦模式逻辑/分开……“}{' ex_sldemo_clutch /摩擦模式逻辑/分开……“}{' ex_sldemo_clutch /摩擦模式逻辑/分开……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……“}{' ex_sldemo_clutch /摩擦模式逻辑/锁住……”}{' ex_sldemo_clutch /摩擦模式逻辑/禁售FSM /锁'}{' ex_sldemo_clutch /摩擦模式逻辑/ FSM锁定/解锁”}{' ex_sldemo_clutch /摩擦模式逻辑/禁售FSM /锁’}{' ex_sldemo_clutch /摩擦模式逻辑/必要的摩擦/锡'}{' ex_sldemo_clutch /摩擦模式逻辑/必要的摩擦/ Tf '} {ex_sldemo_clutch /摩擦模式逻辑锁的}{ex_sldemo_clutch /摩擦模式逻辑锁的}{ex_sldemo_clutch /摩擦模式逻辑/解锁的}{ex_sldemo_clutch /摩擦模式逻辑/ Tf的}{ex_sldemo_clutch /锁定/锡的}{ex_sldemo_clutch /锁定/ w的}{' ex_sldemo_clutch /解锁/ Tfmaxk '} {ex_sldemo_clutch /解锁/锡的}{ex_sldemo_clutch /解锁/我们的}⋮

在这个例子中,myModel包含一个子系统,它是一个库的链接。去年打开模型后,获得块添加到相应的子系统在图书馆。

打开模型。使用find_system“FollowLinks”设置为“关闭”。命令不遵循图书馆链接到子系统和只返回顶部的子系统。

open_system (“myModel”)find_system (bdroot“LookUnderMasks”,“上”,“FollowLinks”,“关闭”)
ans = ' myModel ' ' myModel /子系统的

使用find_system“FollowLinks”设置为“上”find_system更新图书馆链接并返回子系统的块。

find_system (bdroot“LookUnderMasks”,“上”,“FollowLinks”,“上”)
更新链接:myModel /子系统/获得更新链接:myModel /子系统/获得ans =“myModel”“myModel /子系统”“myModel /子系统/增益”

提供系统find_system作为一个句柄。搜索块对话框参数的值0。如果你让多个调用get_param同样的盾牌格挡,然后再使用块处理更有效率比指定完整的块路径作为特征向量。

load_system (“vdp”);sys = get_param (“vdp”,“处理”);find_system (sys,“BlockDialogParams”,' 0 ')
ans =8×13.0028 4.0028 10.0028 15.0028 16.0029 16.0029 17.0029 17.0029

输入参数

全部折叠

系统搜索,指定为完整的系统路径名称、单元阵列的系统路径名,处理或处理的向量。

例子:“MyModel / Subsystem1”

例子:{“vdp”、“ex_sldemo_clutch”}

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:‘SearchDepth’,‘0’,‘LookUnderMasks’,‘没有’,‘BlockType’,“转到”搜索在加载系统中,除蒙面子系统,Goto街区。

当你使用find_system函数,名称,值对参数可以包含搜索约束和参数名称和值对。您可以指定搜索以任意顺序约束,但他们必须先于参数名称和值对。

看到屏蔽一些参数块参数的列表。

选择搜索块对话框参数为指定的值,指定为逗号分隔组成的“BlockDialogParams”和一个字符向量或字符串标量。这双必须遵守其他搜索约束对。

选择时考虑情况下匹配,指定为逗号分隔组成的“CaseSensitive”“上”对大小写敏感搜索或“关闭”

选项包括线路、端口和注释在系统搜索,指定为逗号分隔组成的“FindAll”“上”“关闭”当此选项设置“上”,find_system返回一个向量处理无论如何指定系统论点。

选择只返回第一个结果,然后停止搜索,指定为逗号分隔组成的“FirstResultOnly”“上”“关闭”

选项里面引用子系统模型和子块指定为逗号分隔列表组成的“LookInsideSubsystemReference”“上”“关闭”

选择链接到库块,指定为逗号分隔组成的“FollowLinks”“上”“关闭”。如果你不指定一个搜索系统,find_system包括加载库的结果,你是否设置“FollowLinks”“上”“关闭”。您可以使用“FollowLinks”“LookUnderMasks”更新图书馆链接子系统。看到更新库链接在一个子系统

选项包括评论块的搜索,指定为逗号分隔组成的“IncludeCommented”“上”“关闭”

选择加载任何部分加载模型,指定为逗号分隔条“LoadFullyIfNeeded”“上”加载模型或“关闭”禁用加载。使用这个选项,例如,防止负载警告。

选择搜索在面具下,指定为逗号分隔组成的“LookUnderMasks”这些选项之一:

  • “图形”——搜索包括蒙面子系统没有工作区和对话框。

  • “没有”——搜索跳过蒙面子系统。

  • “功能”——搜索子系统包括蒙面,没有对话框。

  • “所有”——搜索包括所有蒙面子系统。

  • “上”——搜索包括所有蒙面子系统。

  • “关闭”——搜索跳过蒙面子系统。

选择治疗搜索表达式作为正则表达式指定为逗号分隔组成的“正则表达式”“上”治疗搜索表达式作为正则表达式或“关闭”。了解更多关于MATLAB®正则表达式,请参阅正则表达式

选项指定的搜索深度的限制级别,指定为逗号分隔组成的“SearchDepth”向量和一个正整数字符或字符串标量。例如,指定' 0 '搜索加载系统,' 1 '模块和子系统的顶级系统,' 2 '顶级系统及其孩子,等。默认是搜索所有的水平。

请注意

变体参数将被删除。使用MatchFilter代替。有关更多信息,请参见兼容性的考虑

选择搜索,指定为逗号分隔组成的“变异”这些选项之一:

  • “ActiveVariants”——搜索只有活跃的变体的选择不同的子系统

  • “AllVariants”——搜索所有变体的选择不同的子系统

  • “ActivePlusCodeVariants”——搜索所有变体的选择不同的子系统活跃在模拟和生成的代码的一部分。

这个搜索约束仅适用于不同的子系统块的变量控制方式设置为表达式标签。使用find_system函数与MatchFilter选择要操作的所有类型的变体。

在搜索函数句柄匹配元素,如块,系统、线路、端口,和注释。使用MatchFilter确定元素应该包含或跳过搜索。

指定的函数必须定义在一个MATLAB程序文件。元素的函数以处理作为输入,并返回两个输出。

函数(匹配,修剪)= func(元素)
  • 输入元素的处理是块处理。

  • 第一个输出,匹配,是一个逻辑值。如果,搜索跳过元素。

  • 第二个输出,修剪,是一个可选的逻辑值,只适用于当元素是一个子系统。默认值是。如果这个值设置为真正的省略,整个子系统的搜索。

示例:使用MatchFilter找到所有非轮廓尺寸外港块模型使用过滤器定义自己的函数,nonInOutBlocks

函数匹配= nonInOutBlocks匹配= true(处理);如果比较字符串(get_param(句柄,“类型”),“块”)blockType = get_param(句柄,“BlockType”);如果比较字符串(blockType“尺寸”)| |比较字符串(blockType“输出港”)= false匹配;结束结束结束
load_system (“vdp”);黑色= find_system (“vdp”,“MatchFilter”@nonInOutBlocks)

变体:金宝app仿真软件提供了这些内置的匹配滤波器函数找到变体块活跃在模拟或生成的代码的一部分。

  • 金宝appSimulink.match.activeVariants——过滤函数找到块活动在仿真模型编译。

  • 金宝appSimulink.match.codeCompileVariants——过滤函数找到块模型编译后生成的代码的一部分。

  • 金宝appSimulink.match.allVariants——过滤函数找到所有块无论是否阻止活性或活性是由于变异。

请注意

为了得到正确的结果,你必须编译模型使用前金宝appSimulink.match.activeVariants金宝appSimulink.match.codeCompileVariants过滤器。如果模型没有编制,这些过滤器返回所有块的模型。

示例:使用金宝appSimulink.match.activeVariants过滤模型中找到积极的变异。

模型=“sldemo_variant_subsystems”;load_system(模型);assignin (“基地”,“VSS_MODE”2);set_param(模型,“SimulationCommand”,“更新”);activeBlks = find_system(模型,“MatchFilter”,@S金宝appimulink.match.activeVariants);

示例:使用金宝appSimulink.match.codeCompileVariants过滤器找到变体的选择是生成的C代码的一部分。

load_system (“sldemo_variant_subsystems”);assignin (“基地”,“VSS_MODE”2);sldemo_variant_subsystems ([]、[] [],“compileForCodegen”);activeBlks = find_system (“sldemo_variant_subsystems”,“MatchFilter”,@S金宝appimulink.match.codeCompileVariants);sldemo_variant_subsystems ([]、[] [],“术语”);

示例:使用金宝appSimulink.match.allVariants ()过滤模型中找到所有块。

find_system (“sldemo_variant_subsystems”,“MatchFilter”,@S金宝appimulink.match.allVariants);

输出参数

全部折叠

找到匹配的对象,返回:

  • 如果你指定一个细胞的路径名数组系统路径名数组或单元的路径名,或者如果你没有指定一个系统

  • 如果你指定一个向量的处理系统作为一个处理或处理的向量

版本历史

之前介绍过的R2006a

全部展开

警告从R2021a

行为改变R2021a