Задайте опции для нахождения блоков в моделях и подсистемах
Simulink.FindOptions объекты позволяют вам ограничивать поиск с Simulink.findBlocks и Simulink.findBlocksOfType функции.
создает f = Simulink.FindOptionsFindOptions возразите, что использует параметры поиска по умолчанию.
CaseSensitive — Опция, чтобы совпадать со случаем при поискеtrue (значение по умолчанию) | falseОпция, чтобы совпадать со случаем при поиске в виде true для поиска с учетом регистра или false для поиска без учета регистра.
Типы данных: логический
FollowLinks — Опция для поиска, чтобы перейти по ссылкам библиотекиfalse (значение по умолчанию) | trueОпция для поиска, чтобы перейти по ссылкам библиотеки в виде true или false. Если true, поиск переходит по ссылкам в библиотечные блоки.
Типы данных: логический
IncludeCommented — Опция для поиска, чтобы включать прокомментированные блокиtrue (значение по умолчанию) | falseОпция для поиска, чтобы включать прокомментированные блоки в виде true или false.
Типы данных: логический
LookUnderMasks — Опции, чтобы искать маскированные блоки'all' (значение по умолчанию) | 'none' | 'functional' | 'graphical'Опции, чтобы искать маскированные блоки в виде:
'all' — Поиск во всех маскированных блоках.
'none' — Предотвратите поиск в системах маскированных.
'functional' — Включайте замаскированные подсистемы, которые не имеют диалоговых окон.
'graphical' — Включайте замаскированные подсистемы, которые не имеют рабочих областей или диалоговых окон.
Типы данных: char | string
Variants — Опции, чтобы искать различные подсистемы'AllVariants' (значение по умолчанию) | 'ActiveVariants' | 'ActivePlusCodeVariants'Опции, чтобы искать различные подсистемы в виде:
'AllVariants' — Ищите все варианты.
'ActiveVariants' — Ищите только активные варианты.
'ActivePlusCodeVariants' — Ищите все варианты с 'Generate preprocessor conditionals' активный. В противном случае ищите только активные варианты.
Примечание
Это поисковое ограничение применяется только к различным подсистемам. Чтобы работать над всеми другими различными блоками, используйте Варианты опция MatchFilter.
Типы данных: char | string
MatchFilter — Указатель на функцию, чтобы совпадать с элементамиУказатель на функцию, чтобы совпадать с элементами в поиске, такими как блоки, система, линии, порты и аннотации. Используйте MatchFilter определить, должны ли элементы быть выбраны или пропущены в поиске.
Пример: используйте MatchFilter найти весь Gain блокирует со значением усиления промежуточные 5 - 10.
blks = Simulink.FindOptions('ModelName', 'MatchFilter', @gainFiveToTen)
function match = gainFiveToTen(el) match = false; if strcmp(get_param(el,'Type'),'block') ... && strcmp(get_param(el,'BlockType'),'Gain') gainValue = str2double(get_param(el, 'Gain')); match = gainValue >= 5 && gainValue <= 10; 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 = simulink.FindOptions(model, 'MatchFilter', @Simulink.match.activeVariants);
Пример: используйте Simulink.match.codeCompileVariants опция, чтобы найти варианты, которые являются частью сгенерированного кода C:
MODEL([],[],[],'compileForRTW') F = Simulink.FindOptions('MatchFilter', @Simulink.match.codeCompileVariants); Simulink.findBlocks(SYSTEM, F); MODEL([],[],[],'term'))
RegExp — Опция, чтобы обработать искомый текст как регулярное выражениеfalse (значение по умолчанию) | trueОпция, чтобы обработать искомый текст как регулярное выражение в виде true или false. Чтобы узнать больше о регулярных выражениях MATLAB®, смотрите Регулярные выражения.
Типы данных: логический
SearchDepth — Уровни в модели, чтобы искать (значение по умолчанию) | положительное целое числоУровни в модели, чтобы искать в виде положительного целого числа. Значение по умолчанию (-1) должен искать все уровни. Задайте:
1 — Поиск в системе верхнего уровня.
2 — Ищите систему верхнего уровня и ее дочерние элементы, 3 искать дополнительный уровень, и так далее.
Типы данных: int32
Создайте Simulink.FindOptions объект, который задает поисковую глубину 1.
f = Simulink.FindOptions('SearchDepth',1);Используя FindOptions объект, ищите все блоки в подсистеме под названием Unlocked, но не в любом из его дочерних элементов.
load_system('sldemo_clutch'); bh = Simulink.findBlocks('sldemo_clutch/Unlocked',f);
Simulink.findBlocks функция возвращает указатели блока.
Чтобы получить блок path, используйте getfullname функция.
bp = getfullname(bh)
bp =
20×1 cell array
{'sldemo_clutch/Unlocked/Tfmaxk' }
{'sldemo_clutch/Unlocked/Tin' }
{'sldemo_clutch/Unlocked/Enable' }
{'sldemo_clutch/Unlocked/E_Sum' }
{'sldemo_clutch/Unlocked/Engine↵Damping' }
{'sldemo_clutch/Unlocked/Engine↵Inertia' }
{'sldemo_clutch/Unlocked/Engine↵Integrator' }
{'sldemo_clutch/Unlocked/Goto' }
{'sldemo_clutch/Unlocked/Goto1' }
{'sldemo_clutch/Unlocked/Max↵Dynamic↵Friction↵Torque'}
{'sldemo_clutch/Unlocked/V_Sum' }
{'sldemo_clutch/Unlocked/Vehicle↵Damping' }
{'sldemo_clutch/Unlocked/Vehicle↵Inertia' }
{'sldemo_clutch/Unlocked/Vehicle↵Integrator' }
{'sldemo_clutch/Unlocked/W_Slip' }
{'sldemo_clutch/Unlocked/slip direction' }
{'sldemo_clutch/Unlocked/w0' }
{'sldemo_clutch/Unlocked/w0 ' }
{'sldemo_clutch/Unlocked/we' }
{'sldemo_clutch/Unlocked/wv' }
Simulink.allBlockDiagrams | Simulink.findBlocks | Simulink.findBlocksOfType
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.