Задайте опции для нахождения блоков в моделях и подсистемах
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'Примечание
Variants аргумент будет удален. Используйте MatchFilter вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
Опции, чтобы искать различные подсистемы в виде:
'AllVariants' — Ищите все варианты.
'ActiveVariants' — Ищите только активные варианты.
'ActivePlusCodeVariants' — Ищите все варианты в Variant Subsystem, которые активны в симуляции, и часть сгенерированного кода.
Это поисковое ограничение применяется только к блокам Variant Subsystem, которым установили Variant control mode на expression или label. Используйте Simulink.FindOptions объект с MatchFilter опция, чтобы работать со всеми типами различных блоков.
Типы данных: char | string
MatchFilter — Указатель на функцию, чтобы совпадать с элементамиУказатель на функцию, чтобы совпадать с элементами в поиске, такими как блоки, система, линии, порты и аннотации. Используйте MatchFilter определить, должны ли элементы быть включены или пропущены в поиске.
Именованная функция должна быть задана в MATLAB® программный файл. Функция берет указатель элемента, как введено и возвращает два выходных параметра.
function [match, prune] = func(element)
Вход element указатель обрабатываемого блока.
Первый выход, match, логическое значение. Если false, ищите пропускает элемент.
Второй выход, prune, дополнительное логическое значение, которое только применяется когда element подсистема. Значением по умолчанию является false. Если это значение установлено к true, целая подсистема не использована от поиска.
Пример: используйте MatchFilter найти весь Gain блокируется в модели vdp со значением усиления между 1 и 10.
function match = gainOneToTen(blk) match = false; if strcmp(get_param(blk,'Type'),'block') ... && strcmp(get_param(blk,'BlockType'),'Gain') gainValue = str2double(get_param(blk, 'Gain')); match = gainValue >= 1 && gainValue <= 10; end end
load_system('vdp'); findOptObj = Simulink.FindOptions('MatchFilter', @gainOneToTen); blks=getfullname((Simulink.findBlocks('vdp',findOptObj)));
Варианты: Simulink обеспечивает Simulink.match.activeVariants и Simulink.match.codeCompileVariants совпадайте с функциями filter для различных блоков, которые можно использовать, чтобы найти, что активные варианты или код компилируют различные блоки. Для этого скомпилируйте модель и примените соответствующий MatchFilter опции:
Simulink.match.activeVariants - Блоки соответствий, которые активны в симуляции после компиляции модели
Simulink.match.codeCompileVariants - Блоки соответствий, которые являются частью сгенерированного кода после компиляции модели
Пример: используйте Simulink.match.activeVariants опция, чтобы найти активные варианты в модели:
addpath(fullfile(matlabroot,'examples','simulink_variants','main')); model='sldemo_variant_subsystems'; load_system(model); assignin('base','VSS_MODE',2); set_param(model, 'SimulationCommand', 'update'); findOptObj= Simulink.FindOptions('MatchFilter', @Simulink.match.activeVariants); blks=getfullname((Simulink.findBlocks(model,findOptObj)))
Пример: используйте Simulink.match.codeCompileVariants опция, чтобы найти варианты, которые являются частью сгенерированного кода C:
addpath(fullfile(matlabroot,'examples','simulink_variants','main')); load_system('sldemo_variant_subsystems'); assignin('base','VSS_MODE',2); sldemo_variant_subsystems([], [], [], 'compileForCodegen'); findOptObj = Simulink.FindOptions('MatchFilter', @Simulink.match.codeCompileVariants); blks=getfullname((Simulink.findBlocks('sldemo_variant_subsystems',findOptObj))); sldemo_variant_subsystems([], [], [], 'term');
RegExp — Опция, чтобы обработать искомый текст как регулярное выражениеfalse (значение по умолчанию) | trueОпция, чтобы обработать искомый текст как регулярное выражение в виде true или false. Чтобы узнать больше о регулярных выражениях MATLAB, смотрите Регулярные выражения.
Типы данных: логический
SearchDepth — Уровни в модели, чтобы искать (значение по умолчанию) | положительное целое числоУровни в модели, чтобы искать в виде положительного целого числа. Значение по умолчанию (-1) должен искать все уровни. Задайте:
1 — Поиск в системе верхнего уровня.
2 — Ищите систему верхнего уровня и ее дочерние элементы, 3 искать дополнительный уровень, и так далее.
Типы данных: int32
Создайте Simulink.FindOptions объект, который задает поисковую глубину 1.
f = Simulink.FindOptions('SearchDepth',1);Используя FindOptions объект, ищите все блоки в подсистеме под названием Unlocked, но не в любом из его дочерних элементов.
openExample('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' }
Variants аргумент будет удаленПредупреждает запуск в R2021a
Variants опция будет удалена из Simulink.FindOptions в будущем релизе. Скрипты, которые используют Variants опция продолжает работать с предупреждением.
Найти вариант блокируется в модели, которые активны в процессе моделирования или генерация кода, можно скомпилировать модель и использовать Simulink.FindOptions объект с MatchFilter опция.
Simulink.FindOptions не поддерживает использование MatchFilter наряду с Variants опция.
Эта команда производит ошибку:
f = Simulink.FindOptions('MatchFilter',... @Simulink.match.activeVariants, 'Variants', 'ActiveVariants'); blocks=Simulink.findBlocks('sldemo_variant_subsystems',f)
Simulink.findBlocksOfType | Simulink.findBlocks | Simulink.allBlockDiagrams
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.