find

Заданные объекты в иерархии

Описание

пример

objArray = find(location,Name,Value) возвращает массив объектов в иерархии location которые соответствуют критериям, заданным одним или несколькими Name,Value аргументы в виде пар.

пример

objArray = find(location,'-not',Name,Value) возвращает объекты, которые не соответствуют критериям, заданным в последующих Name,Value аргумент в виде пары.

пример

objArray = find(location,'-regexp',Name,Value) указывает, что последующее Name,Value аргумент в виде пары содержит регулярное выражение. Для получения дополнительной информации см. раздел Регулярные выражения.

пример

objArray = find(location,___,logicalOp,___) объединяет критерии поиска с помощью одной из следующих логических операций:

  • '-and' - Результаты должны соответствовать обоим критериям поиска.

  • '-or' - Результаты должны соответствовать по крайней мере одному критерию.

  • '-xor' - Результаты должны соответствовать только одному критерию.

При использовании различных логических операторов -and имеет наивысший приоритет, в то время как -or и -xor являются правыми ассоциативными. Если логический оператор не задан, то -and принято.

Примеры

свернуть все

Найти все состояния на графике ch.

states = find(ch,'-isa','Stateflow.State')

Найти все состояния на графике ch чьи Name свойство 'A'.

statesNamedA = find(ch,'-isa','Stateflow.State','-and','Name','A')

Найти все объекты на графике ch чьи Name свойство начинается с буквы A.

startsWithA = find(ch,'-regexp','Name','^A')

Найти все объекты на графике ch которые не имеют вызываемой функции объекта fitToView.

nongraphical = find(ch,'-not','-method','fitToView')

Найти все графики в Simulink® модель называется myModel.

f = @(h) (strcmp(h.Machine.Name,'myModel'));                   % define function handle
ch = find(rt,'-isa','Stateflow.Chart','-and','-function',f);   % find charts for which f returns 'true'

Входные параметры

свернуть все

Расположение для поиска, заданное как Stateflow® Объект API одного из следующих типов:

Аргументы в виде пар имя-значение

Пример: find(ch,'Name','A') находит все объекты на графике ch чьи Name свойство 'A'.

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN. В дополнение к Name,Value аргументы, перечисленные здесь, можно использовать имя свойства Stateflow API и его соответствующее значение. Для получения дополнительной информации смотрите Список свойств Stateflow API.

Тип объекта, для которого необходимо выполнить поиск, заданный как разделенная разделенными запятой парами, состоящая из '-isa' и вектор символов или указатель на класс для объекта.

Пример: find(ch,'-isa','Stateflow.State') находит все состояния на графике ch.

Пример: find(ch,'-isa',classhandle(object)) находит все объекты, которые имеют тот же указатель на класс, что и object.

Глубина поиска в иерархии объектов, заданная как разделенная разделенными запятой парами, состоящая из '-depth' и скаляр неотрицательное целое число или inf.

Пример: find(ch,'-depth',2) находит все объекты на двух верхних уровнях иерархии графика ch.

Функция фильтрации, заданная как разделенная разделенными запятой парами, состоящая из '-function' и указатель на функцию. Функция оценивает каждый объект, посещенный в поиске, и возвращает логическое скалярное значение, которое указывает, соответствует ли объект.

Пример: find(ch,'-function',f) находит все объекты, для которых f является true.

Функция объекта, которая принадлежит объектам, в которых выполняется поиск, заданная как разделенная разделенными запятой парами, состоящая из '-method' и вектор символов.

Пример: find(ch,'-method','dialog') находит все объекты на графике ch которые имеют вызываемую функцию объекта dialog.

Свойство, которое принадлежит объектам, для которых выполняется поиск, заданное как разделенная разделенными запятой парами, состоящая из '-property' и вектор символов.

Пример: find(ch,'-property','HasOutputData') находит все объекты на графике ch которые имеют свойство, называемое HasOutputData.

Выходные аргументы

свернуть все

Результаты поиска, возвращенные как массив объектов Stateflow API.

Совет

  • Использование find функция на Simulink.Root или Stateflow.Machine объекты могут возвращать объекты Simulink, которые соответствуют заданным критериям поиска. Для примера эта команда может вернуть подсистему Simulink или блок с именем ABC:

    find(rt,'Name','ABC')

  • Открытие основной модели, которая ссылается на связанную диаграмму Stateflow, не гарантирует, что Stateflow API сможет найти связанный график. Чтобы получить доступ к объектам в связанном библиотечном графике, сначала загрузите модель библиотеки в рабочую область Simulink, выполнив одну из следующих задач:

    • Откройте модель библиотеки.

    • Просмотрите связанную подсистему или блок в основной модели.

    • Скомпилируйте или симулируйте модель.

Представлено до R2006a