find_system

Найдите системы, блоки, строки, порты и аннотации

Синтаксис

Objects = find_system
Objects = find_system(System)
Objects = find_system(Name,Value)
Objects = find_system(System,Name,Value)

Описание

пример

Objects = find_system возвращает загруженные системы и их блоки, включая подсистемы.

пример

Objects = find_system(System) возвращает заданную систему и ее блоки.

пример

Objects = find_system(Name,Value) возвращает загруженные системы и объекты в тех системах, которые соответствуют критериям, заданным одним или несколькими аргументами пары Name,Value. Можно использовать этот синтаксис, чтобы задать поисковые ограничения и искать определенные значения параметров. Задайте поисковые ограничения перед парами значения и параметром.

пример

Objects = find_system(System,Name,Value) возвращает объекты в заданной системе, которые соответствуют заданным критериям.

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

свернуть все

Система, чтобы искать, заданный как полный системный путь, массив ячеек системных путей, указателя или вектора указателей.

Пример: 'MyModel/Subsystem1'

Пример: {'vdp', 'fuelsys'}

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'SearchDepth', '0', 'LookUnderMasks', 'ни один', 'Тип блока', 'Goto' ищет в загруженных системах, исключая подсистемы маскированные, для блоков Goto.

Когда вы используете функцию find_system, аргументы пары Name,Value могут включать поисковые ограничения и пары значения и название параметра. Можно задать поисковые ограничения в любом порядке, но они должны предшествовать пары значения и название параметра.

Смотрите Параметры модели и Специфичные для блока Параметры для списков блочные параметры и модели.

Таблица приводит возможные поисковые ограничительные пары. Фигурные скобки указывают на значения по умолчанию.

Имя

Тип значения

Описание

'BlockDialogParams'

символьный вектор

Поисковые блочные параметры диалогового окна для заданного значения. Эта пара, как параметр и пары значения, должна следовать за другими поисковыми ограничительными парами.

CaseSensitive

{'on'} | 'off'

Если 'on', поиск рассматривает случай при соответствии.

findall

'on' | {'off'}

Если 'on', поиск включает строки, порты и аннотации в системах. find_system возвращает вектор указателей, когда эта опция установлена в 'on', независимо от того, как вы задаете System.

'FirstResultOnly'

'on' | {'off'}

Возвратите только первый найденный результат и остановите поиск.

'FollowLinks'

'on' | {'off'}

Если 'on', поиск переходит по ссылкам в блоки библиотеки. Если вы не задаете систему, чтобы искать, find_system включает загруженные библиотеки в результаты, устанавливаете ли вы 'FollowLinks' на 'on' или 'off'. Можно использовать 'FollowLinks' с 'LookUnderMasks', чтобы обновить ссылки библиотеки в подсистемах. Смотрите Ссылки Библиотеки Обновления в Подсистеме.

'IncludeCommented'

'on' | {'off'}

Задайте, включать ли прокомментированные блоки в поиск.

'LoadFullyIfNeeded'

{'on'} | 'off'

Если 'on', попытки загрузить любые частично загруженные модели. Если 'off', отключает образцовую загрузку. Используйте эту пару, например, чтобы предотвратить предупреждения загрузки.

'LookUnderMasks'

{'graphical'}

Поиск включает замаскированные подсистемы, которые не имеют никаких рабочих областей и никаких диалоговых окон.

'none'

Поиск пропускает замаскированные подсистемы.

'functional'

Поиск включает замаскированные подсистемы, которые не имеют диалоговых окон.

все

Поиск включает все подсистемы маскированные.

'on' | 'off'

Если 'on', поиск включает все подсистемы маскированные. Если 'off', поиск пропускает замаскированную подсистему.

regexp

'on' | {'off'}

Если 'on', поиск обрабатывает поисковые выражения как регулярные выражения. Чтобы узнать больше о регулярных выражениях MATLAB®, смотрите Регулярные выражения (MATLAB).

'SearchDepth'

положительный целочисленный вектор символа

Ограничивает поисковую глубину заданным уровнем ('0' для загруженных систем только, '1' для блоков и подсистем системы верхнего уровня, '2' для системы верхнего уровня и ее дочерних элементов, и т.д.). Значением по умолчанию являются все уровни.

'Variants'

Это поисковое ограничение применяется только к различным подсистемам и образцовым вариантам.

{'ActiveVariants'}

Поиск в только активных различных подсистемах.

'AllVariants'

Поиск во всех вариантах.

'ActivePlusCodeVariants'

Ищите все варианты, если кто-либо генерирует условные выражения препроцессора. В противном случае ищите только активный вариант.

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

свернуть все

Найденные соответствующие объекты, возвратились как:

  • Массив ячеек путей, если вы задали System как путь или массив ячеек путей, или если вы не задавали систему

  • Вектор указателей, если вы задали System как указатель или вектор указателей

Примеры

свернуть все

Возвратите имена всех загруженных систем и их блоков.

load_system('vdp')
find_system
ans = 13x1 cell array
    {'vdp'                     }
    {'vdp/Fcn'                 }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Sum'                 }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Возвращает загруженные системы и библиотеки, включая vdp.

Возвратите систему vdp и ее блоки.

load_system({'vdp','fuelsys'})
find_system('vdp')
ans = 13x1 cell array
    {'vdp'                     }
    {'vdp/Fcn'                 }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Sum'                 }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Возвратите имена только загруженных моделей, i. e., блок-схемы. Эта команда возвращает имена библиотеки также, потому что библиотеки обработаны как модели.

load_system('vdp');
open_bd = find_system('type','block_diagram')
open_bd = 1x1 cell array
    {'vdp'}

Возвратите имена всех блоков Goto, которые являются дочерними элементами Разблокированной подсистемы в системе sldemo_clutch.

load_system('sldemo_clutch');
find_system('sldemo_clutch/Unlocked','SearchDepth',1,'BlockType','Goto')
ans = 2x1 cell array
    {'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 = 17×1

   32.0020
   31.0020
   30.0020
   29.0020
   28.0020
   27.0020
   26.0020
   25.0020
   24.0020
   23.0020
      ⋮

A = find_system('vdp','FindAll','on','type','annotation')
A = 2×1

   34.0020
   33.0020

Найдите любые блочные параметры диалогового окна со значением 0 в системах fuelsys и vdp.

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 = 3x1 cell array
    {'vdp/Scope'         }
    {'vdp/Scope'         }
    {'fuelsys/Nominal...'}

Когда вы ищете регулярные выражения использования, можно задать часть вектора символа, с которым вы хотите совпадать, чтобы возвратить все объекты, которые содержат тот вектор символа. Найдите весь импорт и блоки выходного порта в модели sldemo_clutch.

load_system('sldemo_clutch');
find_system('sldemo_clutch','regexp','on','blocktype','port')
ans = 39x1 cell array
    {'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'                               }
    {'sldemo_clutch/Unlocked/wv'                               }
    {'sldemo_clutch/we'                                        }
    {'sldemo_clutch/wv'                                        }
    {'sldemo_clutch/w'                                         }
    {'sldemo_clutch/Locked Flag'                               }
    {'sldemo_clutch/Lockup Flag'                               }
    {'sldemo_clutch/Break-Apart Flag'                          }
    {'sldemo_clutch/FrictionTorque...'                         }
    {'sldemo_clutch/Max Static...'                             }

В этом примере 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 = 6×1

   10.0001
   13.0001
   14.0001
   14.0001
   15.0001
   15.0001

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

Была ли эта тема полезной?