查找系统、块、行、端口和注释
返回所有加载的系统及其块的名称。
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 '}
属性中的unlock子系统的所有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 /μ'}
中的所有行和注释的句柄vdp
系统。与“FindAll”
,函数将返回句柄,无论您如何指定要搜索的系统。
load_system (“vdp”);L = find_system (“vdp”,“FindAll”,“上”,“类型”,“行”)
L =19×134.0043 33.0043 32.0043 31.0043 30.0043 29.0043 28.0043 27.0043 26.0043 25.0043⋮
一个= find_system (“vdp”,“FindAll”,“上”,“类型”,“注释”)
一个=2×136.0043 - 35.0043
查找值为的任何块对话框参数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/Aircraft↵Dynamics↵Model/Pitch Rate↵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/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/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…} {'ex_sldemo_clutch/Friction Mode Logic/Lockup…”}{' 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
与“FollowLinks”
设置为“关闭”
.该命令不跟随库链接进入子系统,只返回顶层的子系统。
open_system (“myModel”) find_system (bdroot“LookUnderMasks”,“上”,“FollowLinks”,“关闭”)
ans = 'myModel' 'myModel/子系统'
使用find_system
与“FollowLinks”
设置为“上”
.find_system
更新库链接并返回子系统中的块。
find_system (bdroot“LookUnderMasks”,“上”,“FollowLinks”,“上”)
更新链接: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.0045 4.0045 8.0045 13.0045 14.0045 14.0045 15.0045
系统
- - - - - -系统搜索要搜索的系统,指定为完整的系统路径名、系统路径名的单元数组、句柄或句柄向量。
例子:“MyModel / Subsystem1”
例子:{“vdp”、“ex_sldemo_clutch”}
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
‘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程序文件中定义。该函数将元素的句柄作为输入,并返回两个输出。
函数[match, prune] = func(元素)
输入元素
正在处理的块的句柄。
第一个输出,匹配
,是一个逻辑值。如果假
,搜索跳过元素。
第二个输出,修剪
,是一个可选的逻辑值,仅适用于元素
是一个子系统。默认值为假
.如果该值设置为真正的
,整个子系统将从搜索中省略。
示例:使用MatchFilter
找到所有非轮廓尺寸和外港使用您自己定义的过滤函数,nonInOutBlocks
.
函数match = nonInOutBlocks(handle) match = true;如果比较字符串(get_param(句柄,“类型”),“块”) blockType = get_param(句柄,“BlockType”);如果比较字符串(blockType“尺寸”) | |...比较字符串(blockType“输出港”) match = false;结束结束结束
load_system (“vdp”);黑色= find_system (“vdp”,“MatchFilter”@nonInOutBlocks)
变体:金宝appSimulink提供了这些内置的匹配过滤函数来查找在模拟中活跃的变体块或生成代码的一部分。
金宝appSimulink.match.activeVariants
- Filter函数,在模型编译后查找仿真中活跃的块。
金宝appSimulink.match.codeCompileVariants
- Filter函数,查找模型编译后生成的代码的一部分。
示例:使用金宝appSimulink.match.activeVariants
筛选以查找模型中的活动变体。
模型=“sldemo_variant_subsystems”;load_system(模型);assignin (“基地”,“VSS_MODE”2);set_param(模型,“SimulationCommand”,“更新”);activeBlks = find_system(模型,“MatchFilter”, @金宝appSimulink.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”, @金宝appSimulink.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(句柄,“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
不支持的使用金宝appMatchFilter
随着变体
选择。
这个命令会产生一个错误:
find_system (bdroot“MatchFilter”, 金宝app@Simulink.match.activeVariants...“变异”,“ActiveVariants”);
金宝appSimulink.findBlocksOfType
|金宝appSimulink.findBlocks
|金宝appSimulink.allBlockDiagrams
|find_mdlrefs
|get_param
|get金宝appSimulinkBlockHandle
|set_param
|模型浏览器|金宝app模型编辑器
Hai fatto clic su un collegamento che corto comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB。我浏览器web非supportano金宝app I命令MATLAB。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。