Пакет: slreportgen.finder
Суперклассы:
Создайте средство поиска блок-схемы
Создайте средство поиска блок-схемы Simulink®.
создает средство поиска, которое находит по умолчанию все непрокомментированные Диаграммы Simulink в заданном контейнере, который может быть моделью Simulink или подсистемой. Чтобы ограничить поиск к определенным типам моделей или подсистем, используйте свойства средства поиска. finder
= SystemDiagramFinder(container
)
Это средство поиска может действовать или в найти или в режим итератора. В режиме находки используйте его метод find
, чтобы возвратить результаты поиска как массив результатов. В режиме итератора используйте его hasNext
и методы next
, чтобы возвратить результаты поиска один за другим. При поиске в моделях, которые имеют много моделей - ссылок, используйте режим итератора. Режим Iterator закрывает модель после компиляции и поиска его, тогда как находят, что режим сохраняет все модели, которые это ищет открытый. Наличие многих открытых моделей может использовать всю системную память и замедлить генерацию отчета. Режим Iterator медленнее, чем находят режим, таким образом, использование находит, что режим ищет модели что ссылка немногие или никакие другие модели.
свойства наборов с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные кавычки.finder
= SystemDiagramFinder(Name,Value
)
results = find(finder)
находит блок-схемы в container
заданными средством поиска. finder
является объектом slreportgen.finder.SystemDiagramFinder
. results
является массивом объектов slreportgen.finder.DiagramResult
, каждый из которых содержит блок-схему, найденную этим методом. Добавление массива к отчету или генератору отчетов добавляет изображения всех блок-схем, которые это содержит. Отчеты, в которые можно добавить results
этого метода, являются отчетами типа slreportgen.report.Report
или другой объект генератора отчетов, такими как генератор отчетов slreportgen.report.Chapter
.
tf = hasNext(finder)
определяет, если контейнер, что поисковые запросы средства поиска содержат по крайней мере одну схему. Если контейнер имеет по крайней мере одну схему, очереди метода hasNext
, которые схематически изображают как следующая схема, которую возвратит метод next
. Метод hasNext
затем возвращает true
. Используйте метод next
, чтобы получить ту схему. На последующих вызовах метод hasNext
определяет, имеет ли контейнер схему, которую еще не получил next
. Это ставит схему в очередь для метода next
, чтобы получить и возвращает true
. Если больше нет схем, которые будут получены, этот метод возвращает false
. Чтобы прогрессивно искать контейнер схемы, используйте метод hasNext
с методом next
в некоторое время цикле.
Если текущим результатом является последний результат в поисковой очереди для текущей модели, и свойством AutoCloseModel
является true
, этот метод закрывает текущую модель, прежде чем это откроет следующую модель. Несмотря на то, что это увеличивает время поиска, оно уменьшает потребление памяти при поиске топ-модели что ссылки много других моделей. Если ваша модель не ссылается на многие другие модели, чтобы ускорить поиск, установите свойство AutoCloseModel
на false
или используйте метод find
.
result = next(finder)
возвращает следующий поисковый result
в очереди результата, которую создал метод hasNext
. Результат поиска содержит получившуюся схему. Добавление этого объекта result
к отчету или генератору отчетов добавляет генератор отчетов Схемы для схемы.
Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Создайте отчет, который находит блок-схемы в модели sf_car
.
import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* model_name = 'sf_car'; load_system(model_name); rpt = slreportgen.report.Report('output','pdf'); add(rpt, TitlePage('Title', sprintf('%s Systems',... model_name))); add(rpt,TableOfContents); finder = SystemDiagramFinder(model_name); results = find(finder); for result = results chapter = Chapter('Title',result.Name); add(chapter,result); add(rpt,chapter); end close(rpt); close_system(model_name); rptview(rpt);
slreportgen.finder.DiagramElementFinder
| slreportgen.finder.DiagramFinder
| slreportgen.finder.DiagramResult
| slreportgen.report.Diagram
| slreportgen.report.Report
| slreportgen.report.SimulinkObjectProperties