Найдите системы, блоки, линии, порты и аннотации
возвращает загруженные системы и объекты в тех системах, которые соответствуют критериям, заданным одним или несколькими Objects
= find_system(Name,Value
)Name,Value
парные аргументы. Можно использовать этот синтаксис, чтобы задать поисковые ограничения и искать определенные значения параметров. Задайте поисковые ограничения перед парами значения и параметром.
возвращает объекты в заданной системе, которые соответствуют заданным критериям.Objects
= find_system(System
,Name,Value
)
Возвратите имена всех загруженных систем и их блоков.
load_system('vdp')
find_system
ans = 15x1 cell
{'vdp' }
{'vdp/Constant' }
{'vdp/More Info' }
{'vdp/More Info/Model Info'}
{'vdp/Mu' }
{'vdp/Mux' }
{'vdp/Product' }
{'vdp/Scope' }
{'vdp/Square' }
{'vdp/Sum' }
{'vdp/Sum1' }
{'vdp/x1' }
{'vdp/x2' }
{'vdp/Out1' }
{'vdp/Out2' }
Возвращает загруженные системы и библиотеки, включая vdp
.
Возвратите vdp
система и ее блоки.
load_system({'vdp','fuelsys'}) find_system('vdp')
ans = 15x1 cell
{'vdp' }
{'vdp/Constant' }
{'vdp/More Info' }
{'vdp/More Info/Model Info'}
{'vdp/Mu' }
{'vdp/Mux' }
{'vdp/Product' }
{'vdp/Scope' }
{'vdp/Square' }
{'vdp/Sum' }
{'vdp/Sum1' }
{'vdp/x1' }
{'vdp/x2' }
{'vdp/Out1' }
{'vdp/Out2' }
Возвратите имена загруженных моделей, подсистем и библиотек. Имя подсистемы возвращено, только если подсистема может загрузиться независимо.
load_system('vdp'); find_system('type','block_diagram')
ans = 1x1 cell array
{'vdp'}
Возвратите имена всех блоков Goto, которые являются дочерними элементами Разблокированной подсистемы в sldemo_clutch
система.
load_system('sldemo_clutch'); find_system('sldemo_clutch/Unlocked','SearchDepth',1,'BlockType','Goto')
ans = 2x1 cell
{'sldemo_clutch/Unlocked/Goto' }
{'sldemo_clutch/Unlocked/Goto1'}
Поиск в vdp
система и возвращает имена всех блоков Усиления, значение Усиления которых установлено к 1
.
load_system('vdp'); find_system('vdp','BlockType','Gain','Gain','1')
ans = 1x1 cell array
{'vdp/Mu'}
Получите указатели всех линий и аннотаций в vdp
система. С 'FindAll'
, функция возвращает указатели независимо от того, как вы задаете систему, чтобы искать.
load_system('vdp'); L = find_system('vdp','FindAll','on','type','line')
L = 19×1
34.0052
33.0052
32.0052
31.0052
30.0052
29.0052
28.0052
27.0052
26.0052
25.0052
⋮
A = find_system('vdp','FindAll','on','type','annotation')
A = 2×1
36.0052
35.0052
Найдите любые параметры диалогового окна блока со значением 0
в vdp
и fuelsys
системы.
load_system({'vdp','fuelsys'}) find_system({'vdp','fuelsys'},'BlockDialogParams','0')
ans = 'vdp/x2' 'vdp/Out1' 'vdp/Out2' 'fuelsys/Constant2' 'fuelsys/Constant4' 'fuelsys/Constant5' 'fuelsys/engine …' 'fuelsys/engine …' 'fuelsys/engine …' 'fuelsys/engine …' . . .
Найдите все блоки в верхнем уровне в настоящее время загруженных систем с диалоговым значением параметров блока, которое запускается с 3
.
load_system({'fuelsys','vdp'}); find_system('SearchDepth','1','regexp','on','BlockDialogParams','^3')
ans = 4x1 cell
{'vdp/Scope' }
{'vdp/Scope' }
{'vdp/Square' }
{'fuelsys/Nominal...'}
Когда вы ищете регулярные выражения использования, можно задать часть вектора символов, с которым вы хотите совпадать, чтобы возвратить все объекты, которые содержат тот вектор символов. Найдите весь импорт и блоки выходного порта в sldemo_clutch
модель.
load_system('sldemo_clutch'); find_system('sldemo_clutch','regexp','on','blocktype','port')
ans = 39x1 cell
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction...' }
{'sldemo_clutch/Friction Mode Logic/Tin' }
{'sldemo_clutch/Friction Mode Logic/Tfmaxs' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Break Apart...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup...' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/lock' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/unlock' }
{'sldemo_clutch/Friction Mode Logic/Lockup FSM/locked' }
{'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tin'}
{'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tf' }
{'sldemo_clutch/Friction Mode Logic/locked' }
{'sldemo_clutch/Friction Mode Logic/lock' }
{'sldemo_clutch/Friction Mode Logic/unlock' }
{'sldemo_clutch/Friction Mode Logic/Tf' }
{'sldemo_clutch/Locked/Tin' }
{'sldemo_clutch/Locked/w' }
{'sldemo_clutch/Unlocked/Tfmaxk' }
{'sldemo_clutch/Unlocked/Tin' }
{'sldemo_clutch/Unlocked/we' }
⋮
В этом примере, myModel
содержит одну подсистему, которая является ссылкой библиотеки. После того, как модель была в последний раз открыта, блок Gain был добавлен к соответствующей подсистеме в библиотеке.
Откройте модель. Использование find_system
с 'FollowLinks'
установите на 'off'
. Команда не переходит по ссылкам библиотеки в подсистему и возвращает только подсистему в верхнем уровне.
open_system('myModel') find_system(bdroot,'LookUnderMasks','on','FollowLinks', 'off')
ans = 'myModel' 'myModel/Subsystem'
Использование find_system
с 'FollowLinks'
установите на 'on'
. find_system
обновляет ссылки библиотеки и возвращает блок в подсистеме.
find_system(bdroot,'LookUnderMasks','on','FollowLinks','on')
Updating Link: myModel/Subsystem/Gain Updating Link: myModel/Subsystem/Gain ans = 'myModel' 'myModel/Subsystem' 'myModel/Subsystem/Gain'
Предоставьте систему find_system
как указатель. Ищите параметры диалогового окна блока со значением 0
. Если вы выполняете множественные вызовы к get_param
для того же блока, затем с помощью указателя блока более эффективно, чем определение полного блока path как вектор символов.
load_system('vdp'); sys = get_param('vdp','Handle'); find_system(sys,'BlockDialogParams','0')
ans = 8×1
3.0055
4.0055
8.0055
13.0055
14.0055
14.0055
15.0055
15.0055
System
— Система, чтобы искатьСистема, чтобы искать в виде полного системного пути, массива ячеек системных путей, указателя или вектора из указателей.
Пример: 'MyModel/Subsystem1'
Пример: {'vdp','fuelsys'}
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'SearchDepth','0','LookUnderMasks','none','BlockType','Goto'
поисковые запросы в загруженных системах, исключая подсистемы маскированные, для блоков Goto.Когда вы используете find_system
функция, Name,Value
парные аргументы могут включать поисковые ограничения и пары значения и название параметра. Можно задать поисковые ограничения в любом порядке, но они должны предшествовать пары значения и название параметра.
Смотрите Специфичные для блока Параметры для списка параметров блоков.
'BlockDialogParams'
— Опция, чтобы искать параметры диалогового окна блока заданное значениеОпция, чтобы искать параметры диалогового окна блока заданное значение в виде разделенной запятой пары, состоящей из 'BlockDialogParams'
и вектор символов или строковый скаляр. Эта пара должна следовать за другими поисковыми ограничительными парами.
'CaseSensitive'
— Опция, чтобы рассмотреть случай при соответствии'on'
(значение по умолчанию) | 'off'
Опция, чтобы рассмотреть случай при соответствии в виде разделенной запятой пары, состоящей из 'CaseSensitive'
и 'on'
для чувствительного к регистру поиска или 'off'
.
'FindAll'
— Опция, чтобы включать линии, порты и аннотации в системах'off'
(значение по умолчанию) | 'on'
Опция, чтобы включать линии, порты и аннотации в системах в поиске в виде разделенной запятой пары, состоящей из 'FindAll'
и 'on'
или 'off'
.When эта опция установлен в 'on'
, find_system
возвращает вектор из указателей независимо от того, как вы задаете System
аргумент.
'FirstResultOnly'
— Опция, чтобы возвратить только первый результат'off'
(значение по умолчанию) | 'on'
Опция, чтобы возвратить только первый результат и затем остановить поиск в виде разделенной запятой пары, состоящей из 'FirstResultOnly'
и 'on'
или 'off'
.
'LookInsideSubsystemReference'
— Опция, чтобы посмотреть в подсистеме, на которую ссылаются,'on'
(значение по умолчанию) | 'off'
Опция, чтобы посмотреть в подсистеме, на которую ссылаются, в модели и перечислить дочерние блоки, заданные как разделенную запятой пару, состоящую из 'LookInsideSubsystemReference'
и 'on'
или 'off'
.
'FollowLinks'
— Опция, чтобы перейти по ссылкам в библиотечные блоки'off'
(значение по умолчанию) | 'on'
Опция, чтобы перейти по ссылкам в библиотечные блоки в виде разделенной запятой пары, состоящей из 'FollowLinks'
и 'on'
или 'off'
. Если вы не задаете систему, чтобы искать, find_system
включает загруженные библиотеки в результаты, устанавливаете ли вы 'FollowLinks'
к 'on'
или 'off'
. Можно использовать 'FollowLinks'
с 'LookUnderMasks'
обновить ссылки библиотеки в подсистемах. Смотрите Ссылки Библиотеки Обновления в Подсистеме.
'IncludeCommented'
— Опция, чтобы включать прокомментированные блоки'off'
(значение по умолчанию) | 'on'
Опция, чтобы включать прокомментированные блоки в поиск в виде разделенной запятой пары, состоящей из 'IncludeCommented'
и 'on'
или 'off'
.
'LoadFullyIfNeeded'
— Опция, чтобы загрузить любые частично загруженные модели'on'
(значение по умолчанию) | 'off'
Опция, чтобы загрузить любые частично загруженные модели в виде разделенной запятой пары 'LoadFullyIfNeeded'
и 'on'
загружать модели или 'off'
отключить загрузку. Используйте эту опцию, например, чтобы предотвратить предупреждения загрузки.
'LookUnderMasks'
— Опции для поиска под масками'graphical'
(значение по умолчанию) | 'none'
| 'functional'
| 'all'
| 'on'
| 'off'
Опции для поиска под масками в виде разделенной запятой пары, состоящей из 'LookUnderMasks'
и одна из этих опций:
'graphical'
— Поиск включает замаскированные подсистемы, которые не имеют никаких рабочих областей и никаких диалоговых окон.
'none'
— Поиск пропускает замаскированные подсистемы.
'functional'
— Поиск включает замаскированные подсистемы, которые не имеют диалоговых окон.
'all'
— Поиск включает все подсистемы маскированные.
'on'
— Поиск включает все подсистемы маскированные.
'off'
— Поиск пропускает замаскированную подсистему.
'RegExp'
— Опция, чтобы обработать поисковые выражения как регулярные выражения'off'
(значение по умолчанию) | 'on'
Опция, чтобы обработать поисковые выражения как регулярные выражения, заданные как разделенная запятой пара, состоящая из 'RegExp'
и 'on'
обрабатывать поисковые выражения как регулярные выражения или 'off'
. Чтобы узнать больше о регулярных выражениях MATLAB®, смотрите Регулярные выражения.
'SearchDepth'
— Опция, чтобы ограничить поисковую глубинуОпция, чтобы ограничить поисковую глубину заданным уровнем в виде разделенной запятой пары, состоящей из 'SearchDepth'
и положительный целочисленный вектор символов или строковый скаляр. Например, задайте '0'
искать загруженные системы только, '1'
для блоков и подсистем системы верхнего уровня, '2'
для системы верхнего уровня и ее дочерних элементов, и т.д. Значение по умолчанию должно искать все уровни.
'Variants'
— Опции для поиска вариантов'ActiveVariants'
(значение по умолчанию) | 'AllVariants'
| 'ActivePlusCodeVariants'
Опции для поиска вариантов в виде разделенной запятой пары, состоящей из 'Variants'
и одна из этих опций:
'ActiveVariants'
— Поиск только в активных различных подсистемах.
'AllVariants'
— Поиск во всех вариантах.
'ActivePlusCodeVariants'
— Ищите все варианты, если кто-либо генерирует условные выражения препроцессора. В противном случае ищите только активный вариант.
Примечание
Это поисковое ограничение применяется только к различным подсистемам. Чтобы работать над всеми другими различными блоками, используйте Варианты опция MatchFilter.
'MatchFilter'
— Указатель на функцию, чтобы совпадать с элементамиУказатель на функцию, чтобы совпадать с элементами в поиске, такими как блоки, система, линии, порты и аннотации. Используйте MatchFilter
определить, должны ли элементы быть выбраны или пропущены в поиске.
Пример: используйте MatchFilter
чтобы найти все не, Inport и Outport блокируются в модели с помощью собственной заданной функции filter, nonInOutBlocks
:
blks = find_system('ModelName', 'MatchFilter', @nonInOutBlocks)
function match = nonInOutBlocks(handle) match = true; if strcmp(get_param(handle, 'Type'), 'block') blockType = get_param(handle, 'BlockType'); if strcmp(blockType, 'Inport') || ... strcmp(blockType, 'Outport') match = false; end end end
В этом примере показано, как использовать MatchFilter
со вторым выходным аргументом prune
.
[match, prune] = fcn(element) where element - Handle of the block being processed. match - Logical. If false, skip the element. prune - Optional logical (default false). If true, do not look in subsystems.
Варианты: Simulink обеспечивает Simulink.match.activeVariants
и Simulink.match.codeCompileVariants
совпадайте с функциями filter для различных блоков, которые можно использовать, чтобы найти, что активные варианты или код компилируют различные блоки. Для этого скомпилируйте модель и примените соответствующий MatchFilter
опции:
Simulink.match.activeVariants
- Блоки соответствий, которые активны в симуляции после компиляции модели
Simulink.match.codeCompileVariants
- Блоки соответствий, которые являются частью сгенерированного кода после компиляции модели
Пример: используйте Simulink.match.activeVariants
опция, чтобы найти активные варианты в модели:
set_param(model, 'SimulationCommand', 'update'); activeBlks = find_system(model, 'MatchFilter', @Simulink.match.activeVariants);
Пример: используйте Simulink.match.codeCompileVariants
опция, чтобы найти варианты, которые являются частью сгенерированного кода C:
MODEL([],[],[],'compileForRTW') find_system(MODEL, 'MatchFilter', @Simulink.match.codeCompileVariants); MODEL([],[],[],'term')
Objects
— Соответствующие объектыНайденные соответствующие объекты, возвратились как:
Массив ячеек путей, если вы задали System
как путь или массив ячеек путей, или если вы не задавали систему
Вектор из указателей, если вы задали System
как указатель или вектор из указателей
find_mdlrefs
| get_param
| getSimulinkBlockHandle
| Model Explorer | set_param
| Редактор Simulink | Simulink.allBlockDiagrams
| Simulink.findBlocks
| Simulink.findBlocksOfType
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.