查找系统,块,行,端口和注释
变体
选项将被删除。用MatchFilter
反而。有关更多信息,请参阅兼容性的考虑.
返回所有加载的系统及其块的名称。
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 '}
类中解锁子系统的所有子Goto块的名称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 '}
The MathWorks, Inc.版权所有
搜索vdp
系统并返回所有增益块的名称获得值设置为1
.
load_system(“vdp”);find_system (“vdp”那“BlockType”那“获得”那“获得”那'1')
ans =.1 x1单元阵列{'vdp / mu'}
控件中的所有行和注释的句柄vdp
系统。与'找到所有'
,该函数返回句柄,而不管您如何指定系统搜索。
load_system(“vdp”);l = find_system(“vdp”那'找到所有'那'上'那'类型'那“行”)
l =19×134.0044 33.0044 32.0044 31.0044 30.0044 29.0044 28.0044 27.0044 26.0044 25.0044⋮
一个= find_system (“vdp”那'找到所有'那'上'那'类型'那“注释”)
A =2×136.0044 - 35.0044
查找值为的任何块对话框参数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//sec)'} {'f14/飞机↵Dynamics↵模型/俯仰速率↵q (rad//sec)'} . . .
查找当前加载系统顶层的所有块,并以块对话框参数值开头3.
.
load_system({“ex_sldemo_clutch”那“vdp”});find_system (“SearchDepth”那'1'那“正则表达式”那'上'那'blockdialogparams'那' ^ 3 ')
ans =.4x1细胞{' 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/Friction Mode Logic/Tin'} {'ex_sldemo_clutch/Friction Mode Logic/Tfmaxs'} {'ex_sldemo_clutch/Friction Mode Logic/Break Apart…'} {'ex_sldemo_clutch/Friction Mode Logic/Break Apart…'} {'ex_sldemo_clutch/Friction Mode Logic/Break Apart…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…ex_sldemo_clutch/Friction Mode Logic/ locking…”}{' 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.
包含一个子系统,它是一个库链接。模型最后一次打开后,a获得将块添加到库中相应的子系统中。
打开模型。用find_system.
和'跟随链接'
调成“关闭”
.该命令不遵循库链接到子系统中,并仅在顶级返回子系统。
open_system (“myModel”)find_system(bdroot,“LookUnderMasks”那'上'那'跟随链接'那“关闭”)
myModel/子系统
用find_system.
和'跟随链接'
调成'上'
.find_system.
更新库链接并返回子系统中的块。
find_system(bdroot,“LookUnderMasks”那'上'那'跟随链接'那'上')
更新Link: myModel/Subsystem/Gain ans = 'myModel' 'myModel/Subsystem' 'myModel/Subsystem/Gain'
提供系统给find_system.
作为一个句柄。搜索值为的块对话框参数0.
.如果你多次打电话给get_param
对于同一块,然后使用块句柄比指定作为字符向量的完整块路径更有效。
load_system(“vdp”);sys = get_param(“vdp”那“处理”);find_system(sys,'blockdialogparams'那'0')
ans =.8×13.0046 4.0046 8.0046 13.0046 14.0046 14.0046 15.0046 15.0046
系统
-系统搜索系统搜索,指定为完整的系统路径名、系统路径名的单元格数组、句柄或句柄向量。
例子:“MyModel / Subsystem1”
例子:{“vdp”、“ex_sldemo_clutch”}
指定可选的逗号分离对名称,价值
参数。的名字
是参数名称和价值
是对应的值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
‘SearchDepth’,‘0’,‘LookUnderMasks’,‘没有’,‘BlockType’,“转到”
在加载系统(不包括屏蔽子系统)中搜索Goto块。
当你使用的时候find_system.
功能,名称,价值
对参数可以包括搜索约束以及参数名称和值对。您可以以任何顺序指定搜索约束,但它们必须位于参数名和值对之前。
看屏蔽一些参数获取块参数列表。
'blockdialogparams'
-选项以搜索指定值的块对话框参数选项来搜索块对话框参数中的指定值,指定的值由逗号分隔的对组成'blockdialogparams'
和一个字符向量或字符串标量。这一对必须跟随其他搜索约束对。
'区分大小写'
-选项在匹配时考虑大小写'上'
(默认)|“关闭”
选项在匹配时考虑大小写,指定为逗号分隔的对,由'区分大小写'
和'上'
用于区分大小写的搜索或“关闭”
.
'找到所有'
-选项,以在系统中包括行、端口和注释“关闭”
(默认)|'上'
选项,在搜索中包含系统中的行、端口和注释,指定为逗号分隔的对,由'找到所有'
和'上'
或“关闭”
。此选项设置为'上'
那find_system.
对象返回句柄向量,而不管您如何指定系统
争论 。
“FirstResultOnly”
-选项只返回第一个结果“关闭”
(默认)|'上'
选项,只返回第一个结果,然后停止搜索,指定为逗号分隔的对,由“FirstResultOnly”
和'上'
或“关闭”
.
“LookInsideSubsystemReference”
-选项查看被引用的子系统内部'上'
(默认)|“关闭”
选项,用于查看模型中引用的子系统内部,并列出指定为逗号分隔对的子块“LookInsideSubsystemReference”
和'上'
或“关闭”
.
'跟随链接'
-选项,以跟踪链接到库块“关闭”
(默认)|'上'
遵循链接到库块的选项,指定为包含的逗号分隔对'跟随链接'
和'上'
或“关闭”
.如果没有指定要搜索的系统,find_system.
在结果中包括已加载的库,无论是否设置'跟随链接'
来'上'
或“关闭”
.您可以使用'跟随链接'
和“LookUnderMasks”
更新子系统中的库链接。看更新子系统中的库链接.
'包括'
-选项,以包括注释块“关闭”
(默认)|'上'
选项,在搜索中包含注释块,指定为逗号分隔的对,由'包括'
和'上'
或“关闭”
.
“LoadFullyIfNeeded”
-选项加载任何部分加载的模型'上'
(默认)|“关闭”
选项来加载任何部分加载的模型,指定为逗号分隔的对“LoadFullyIfNeeded”
和'上'
加载模型或“关闭”
禁用加载。例如,使用此选项以防止加载警告。
“LookUnderMasks”
-在遮罩下搜索的选项“图形”
(默认)|'没有任何'
|“功能”
|'全部'
|'上'
|“关闭”
掩码下搜索的选项,指定为逗号分隔的对,由“LookUnderMasks”
和其中一个选择:
“图形”
-搜索包括没有工作空间和对话框的屏蔽子系统。
'没有任何'
—搜索会跳过被屏蔽的子系统。
“功能”
- 搜索包括没有对话框的屏蔽子系统。
'全部'
—搜索包括所有屏蔽子系统。
'上'
—搜索包括所有屏蔽子系统。
“关闭”
- 搜索跳过蒙版子系统。
'regexp'
-选择将搜索表达式视为正则表达式的选项“关闭”
(默认)|'上'
选项,将搜索表达式视为正则表达式,指定为由组成的逗号分隔的对'regexp'
和'上'
将搜索表达式视为正则表达式或“关闭”
.了解更多关于MATLAB的知识®正则表达式,请参阅常用表达.
“SearchDepth”
-限制搜索深度的选项将搜索深度限制为指定级别的选项,指定为包含的逗号分隔对“SearchDepth”
和一个正整数字符向量或字符串标量。例如,指定'0'
只搜索加载的系统,'1'
对于顶级系统的块和子系统,'2'
顶层体系及其子代等。默认是搜索所有级别。
'变体'
-搜索变体的选项“ActiveVariants”
(默认)|“AllVariants”
|'ActivePlusCodevariants'
选项,指定为逗号分隔的对,由'变体'
和其中一个选择:
“ActiveVariants”
-搜索只活跃的变体选择在不同的子系统.
“AllVariants”
-搜索所有不同的选择在不同的子系统.
'ActivePlusCodevariants'
-搜索所有不同的选择在不同的子系统在模拟中是活跃的,并且是生成代码的一部分。
笔记
此搜索约束仅适用于不同的子系统那个障碍变量控制方式调成表达式
或标签
.使用find_system.
函数与MatchFilter
选项对所有类型的变体块进行操作。
“MatchFilter”
-函数句柄以匹配元素函数句柄以匹配搜索中的元素,例如块,系统,行,端口和注释。用MatchFilter
确定元素是否应包括或跳过搜索。
命名函数必须在MATLAB程序文件中定义。该函数接受元素的句柄作为输入,并返回两个输出。
函数[match, prune] = func(元素)
输入元素
是正在处理的块的手柄。
第一个输出,匹配
,是一个逻辑价值。如果错误的
,搜索将跳过该元素。
第二个输出,修剪
,是一个可选的逻辑值,仅适用于以下情况元素
是一个子系统。默认值是错误的
.如果此值设置为真正的
,整个子系统从搜索中省略。
示例:使用MatchFilter
找到所有的非轮廓尺寸和外港使用您自己定义的过滤器功能块在模型中,非禁止块
:
函数match = nonInOutBlocks(handle) match = true;如果比较字符串(get_param(句柄,“类型”),'堵塞')blocktype = get_param(句柄,“BlockType”);如果比较字符串(blockType'inport') | |...比较字符串(blockType'外港') match = false;结尾结尾结尾
load_system(“vdp”);黑色= find_system (“vdp”那“MatchFilter”@nonInOutBlocks)
变体:万博1manbetx仿真软件提供了万博1manbetxSimulink.match.activeVariants
和万博1manbetxSimulink.match.codeCompileVariants
匹配变体块的过滤器函数,您可以使用它来查找活动变体或代码编译变体块。为此,编译模型并应用适当的MatchFilter
选项:
万博1manbetxSimulink.match.activeVariants
-匹配模型编译后在模拟中活动的块
万博1manbetxSimulink.match.codeCompileVariants
-匹配模型编译后生成代码的一部分
示例:使用万博1manbetxSimulink.match.activeVariants
在模型中查找活动变量的选项:
AddPath(FullFile(Matlabroot,“例子”那“万博1manbetxsimulink_variants”那“主要”));模型=“sldemo_variant_subsystems”;load_system(型号);Assivein(“基地”那“VSS_MODE”2);set_param(模型,“SimulationCommand”那“更新”);activeBlks = find_system(模型,“MatchFilter”,@ 万博1manbetxsimulink.match.activevariants);
示例:使用万博1manbetxSimulink.match.codeCompileVariants
选项来查找生成的C代码中的变体选项:
AddPath(FullFile(Matlabroot,“例子”那“万博1manbetxsimulink_variants”那“主要”));load_system(“sldemo_variant_subsystems”);Assivein(“基地”那“VSS_MODE”2);sldemo_variant_subsystems ([], [], [],“compileForRTW”);activeBlks = find_system (“sldemo_variant_subsystems”那“MatchFilter”, @万博1manbetxSimulink.match.codeCompileVariants);sldemo_variant_subsystems ([], [], [],'学期');
变体
将被删除警告从R2021a开始
这变体
选项将被删除find_system.
在未来的释放中。使用的脚本变体
选项继续与警告一起工作。
要在模型中找到在模拟或代码生成期间活动的变体块,请编译模型并使用find_system.
函数与MatchFilter
选择。
find_system.
和变体
和MatchFilter
带有变量块的模型中的选项R2021a中行为改变
变体:使用find_system.
函数没有这变体
选项仅包括默认情况下在搜索中的主动变体选项。
考虑一个模型不同的子系统有两种不同的选择,线性控制器
和非线性控制器
.
这个命令只返回活动的添加模型中的块。
add_blocks = find_system (“sldemo_variant_subsystems /控制器”那...“BlockType”那“和”)
add_blocks = 1×1 cell array {' sldemo_variant_子系统/Controller/非线性控制器/Add'}
MatchFilter:使用find_system.
函数与MatchFilter
选项默认情况下对活动和非活动变体选择应用筛选器。
考虑一个模型不同的子系统有两种不同的选择,线性控制器
和非线性控制器
.滤波器的功能findAddBlocks
发现所有的添加模型中的块。
函数match = strcmp(get_param(handle, get_param))“类型”),'堵塞')&&...比较字符串(get_param(句柄,“BlockType”),“和”);结尾
此命令返回活动和非活动状态添加模型中的块。
add_blocks = find_system (“sldemo_variant_subsystems”那“MatchFilter”那...@findAddBlocks)
add_blocks = 2×1 cell array {' sldemo_variant_子系统/Controller/Linear Controller/Add'} {' sldemo_variant_子系统/Controller/非线性控制器/Add'}
find_system.
不支持使用万博1manbetxMatchFilter
随着变体
选择。
此命令产生错误:
find_system(bdroot,“MatchFilter”,@万博1manbetx simulink.match.activeVariants,...'变体'那“ActiveVariants”);
find_mdlrefs.
|get_param
|get万博1manbetxsimulinkblockhandle.
|模型探险家|set_param.
|万博1manbetxsimulink编辑器|万博1manbetxsimulink.allblockdiagrams.
|万博1manbetxsimulink.findblocks.
|万博1manbetxSimulink.findBlocksOfType
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。