find

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

Описание

пример

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

пример

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

пример

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

пример

objArray = thisObject.find(___,logicalOp,___) критерии поиска объединений при помощи одной из этих логических операций:

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

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

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

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

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

развернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

развернуть все

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

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

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

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

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

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

Найдите все объекты в графике ch это не имеет метода под названием fitToView.

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

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

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

Советы

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

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

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

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

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

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

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