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
搜索特定的参数值
找到任何块对话框参数的值0
在vdp
和ex_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
- - - - - -选择搜索块对话框参数为指定的值
特征向量|字符串标量
选择搜索块对话框参数为指定的值,指定为逗号分隔组成的“BlockDialogParams”
和一个字符向量或字符串标量。这双必须遵守其他搜索约束对。
CaseSensitive
- - - - - -选择时要考虑情况匹配
“上”
(默认)|“关闭”
选择时考虑情况下匹配,指定为逗号分隔组成的“CaseSensitive”
和“上”
对大小写敏感搜索或“关闭”
。
FindAll
- - - - - -选项包括线路、端口和系统内注释
“关闭”
(默认)|“上”
选项包括线路、端口和注释在系统搜索,指定为逗号分隔组成的“FindAll”
和“上”
或“关闭”
当此选项设置“上”
,find_system
返回一个向量处理无论如何指定系统
论点。
FirstResultOnly
- - - - - -选择只返回第一个结果
“关闭”
(默认)|“上”
选择只返回第一个结果,然后停止搜索,指定为逗号分隔组成的“FirstResultOnly”
和“上”
或“关闭”
。
LookInsideSubsystemReference
- - - - - -选择引用内部子系统
“上”
(默认)|“关闭”
选项里面引用子系统模型和子块指定为逗号分隔列表组成的“LookInsideSubsystemReference”
和“上”
或“关闭”
。
FollowLinks
- - - - - -选择链接到库模块
“关闭”
(默认)|“上”
选择链接到库块,指定为逗号分隔组成的“FollowLinks”
和“上”
或“关闭”
。如果你不指定一个搜索系统,find_system
包括加载库的结果,你是否设置“FollowLinks”
来“上”
或“关闭”
。您可以使用“FollowLinks”
与“LookUnderMasks”
更新图书馆链接子系统。看到更新库链接在一个子系统。
IncludeCommented
- - - - - -选项包括注释块
“关闭”
(默认)|“上”
选项包括评论块的搜索,指定为逗号分隔组成的“IncludeCommented”
和“上”
或“关闭”
。
LoadFullyIfNeeded
- - - - - -选择加载任何部分加载模型
“上”
(默认)|“关闭”
选择加载任何部分加载模型,指定为逗号分隔条“LoadFullyIfNeeded”
和“上”
加载模型或“关闭”
禁用加载。使用这个选项,例如,防止负载警告。
LookUnderMasks
- - - - - -选择搜索下面具
“图形”
(默认)|“没有”
|“功能”
|“所有”
|“上”
|“关闭”
选择搜索在面具下,指定为逗号分隔组成的“LookUnderMasks”
这些选项之一:
“图形”
——搜索包括蒙面子系统没有工作区和对话框。“没有”
——搜索跳过蒙面子系统。“功能”
——搜索子系统包括蒙面,没有对话框。“所有”
——搜索包括所有蒙面子系统。“上”
——搜索包括所有蒙面子系统。“关闭”
——搜索跳过蒙面子系统。
正则表达式
- - - - - -选择治疗搜索表达式作为正则表达式
“关闭”
(默认)|“上”
选择治疗搜索表达式作为正则表达式指定为逗号分隔组成的“正则表达式”
和“上”
治疗搜索表达式作为正则表达式或“关闭”
。了解更多关于MATLAB®正则表达式,请参阅正则表达式。
SearchDepth
- - - - - -选项来限制搜索深度
矢量正整数字符或字符串标量
选项指定的搜索深度的限制级别,指定为逗号分隔组成的“SearchDepth”
向量和一个正整数字符或字符串标量。例如,指定' 0 '
搜索加载系统,' 1 '
模块和子系统的顶级系统,' 2 '
顶级系统及其孩子,等。默认是搜索所有的水平。
变体
- - - - - -选择搜索变体
“ActiveVariants”
(默认)|“AllVariants”
|“ActivePlusCodeVariants”
请注意
的变体
参数将被删除。使用MatchFilter
代替。有关更多信息,请参见兼容性的考虑。
选择搜索,指定为逗号分隔组成的“变异”
这些选项之一:
“ActiveVariants”
——搜索只有活跃的变体的选择不同的子系统。“AllVariants”
——搜索所有变体的选择不同的子系统。“ActivePlusCodeVariants”
——搜索所有变体的选择不同的子系统活跃在模拟和生成的代码的一部分。
这个搜索约束仅适用于不同的子系统块的变量控制方式设置为表达式
或标签
。使用find_system
函数与MatchFilter
选择要操作的所有类型的变体。
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);
输出参数
版本历史
之前介绍过的R2006aR2021a:变体
参数将被删除
警告从R2021a
的变体
选择将被删除find_system
在以后的版本。脚本使用变体
选择继续与一个警告。
找到变体模型块,活跃在模拟或代码生成、编译模型和使用find_system
函数与MatchFilter
选择。
R2021a:违约行为已经发生了改变find_system
与变体
和MatchFilter
选择与变体模型块
行为改变R2021a
变体
:使用find_system
函数没有的变体
选项包括只有活跃的变体选择默认搜索。考虑一个模型不同的子系统有两个不同的选择,
线性控制器
和非线性控制器
。这个命令只返回活跃添加在模型中。
add_blocks = find_system (“sldemo_variant_subsystems /控制器”,…“BlockType”,“和”)
add_blocks = 1×1单元阵列{sldemo_variant_subsystems /控制器/非线性控制器/添加的}
MatchFilter
:使用find_system
函数与MatchFilter
选择的过滤器适用于活跃的和不活跃的变体选择默认。考虑一个模型不同的子系统有两个不同的选择,
线性控制器
和非线性控制器
。滤波器的功能findAddBlocks
发现所有的添加在模型中。函数匹配= findAddBlocks(处理)=比较字符串(get_param(匹配处理,“类型”),“块”)& &…比较字符串(get_param(句柄,“BlockType”),“和”);结束
这个命令返回活跃的和不活跃的添加在模型中。
add_blocks = find_system (“sldemo_variant_subsystems”,“MatchFilter”,…@findAddBlocks)
add_blocks = 2×1单元阵列{sldemo_variant_subsystems /控制器/线性控制器/添加的}{sldemo_variant_subsystems /控制器/非线性控制器/添加的}
find_system
不支持使用吗金宝appMatchFilter
随着变体
选择。这个命令生成一个错误:
find_system (bdroot“MatchFilter”,@金宝appSimulink.match.activeVariants…“变异”,“ActiveVariants”);
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。