Pattern Wizard является утилитой, которая генерирует общие шаблоны блок-схемы для использования в графических функциях и графиках. Pattern Wizard предлагает нескольким преимуществам вручную создание блок-схем. Pattern Wizard:
Генерирует шаблоны итерационного цикла и общая логика.
Продвигает непротиворечивость в геометрии и размещении через шаблоны.
Упрощает хранение и многократное использование шаблонов от центрального расположения.
Позволяет вставлять шаблоны в существующую блок-схему.
Pattern Wizard генерирует блок-схемы, геометрия которых и размещение выполняют инструкции из MathWorks Advisory Board (MAB). Можно настроить блок-схему путем изменения условий и действий или путем вставки дополнительных логических шаблонов. Можно также сохранить блок-схему как пользовательский шаблон в Pattern Wizard для более позднего повторного использования.
Например, предположите, что вы хотите использовать Pattern Wizard, чтобы создать графическую функцию для итерации по верхнему треугольнику двумерной матрицы. Функция состоит из два, вложил for
циклы, в который индекс строки i
всегда меньше чем или равно индексу столбца j
. При помощи Pattern Wizard вы можете:
Создайте блок-схему для внешнего контура, который выполняет итерации по индексу строки i
. Смотрите создают допускающие повторное использование блок-схемы.
Расширьте блок-схему путем вставки внутреннего цикла, который выполняет итерации по индексу столбца j
. Смотрите вставляют логические шаблоны в существующие блок-схемы.
Сохраните блок-схему как пользовательский шаблон в Pattern Wizard. Смотрите Сохраняют Пользовательские Шаблоны Блок-схемы.
Снова используйте пользовательский шаблон в графической функции. Смотрите Повторное использование Пользовательские Шаблоны Блок-схемы.
Чтобы создать блок-схему, на вкладке Modeling, выбирают шаблон из галереи Pattern. Выборы шаблона включают:
If, If-Else, If-Elseif и другие вложенные шаблоны решения.
For, While и шаблоны цикла DoWhile.
Переключите шаблоны максимум с четырьмя случаями.
Пользовательские шаблоны, что вы сохраненный для более позднего повторного использования.
Шаблоны, которые вы задаете в MATLAB®
.m
файл.
Диалоговое окно Pattern предлагает вам условия и действия, характерные для шаблона, который вы выбираете. Для получения дополнительной информации о шаблонах блок-схемы смотрите MAB-совместимые Шаблоны от Pattern Wizard.
Например, чтобы создать внешний for
цикл в верхнем треугольном шаблоне итератора:
На вкладке Modeling выберите Pattern> For Loop.
В диалоговом окне Pattern задайте инициализатор, тест цикла и подсчет выражений для итерации через первую размерность матрицы:
Нажмите OK. Pattern Wizard генерирует эту блок-схему.
Чтобы завершить верхний треугольный шаблон итератора, вставьте второй for
цикл вдоль вертикального перехода в этой блок-схеме.
Используйте Pattern Wizard, чтобы добавить цикл или расширения логики решения существующей блок-схемы. Выберите имеющий право вертикальный переход и выберите шаблон из галереи Pattern. Опции включают решение, цикл и шаблоны переключателя. Диалоговое окно Pattern предлагает вам условия и действия, характерные для шаблона, который вы выбираете.
Например, чтобы добавить второй цикл в верхнем треугольном шаблоне итератора:
В Редакторе Stateflow®, от внешнего for
шаблон цикла, выбор вертикальный переход пометил {action1}
.
На вкладке Modeling выберите Pattern> For Loop.
В диалоговом окне Pattern задайте инициализатор, тест цикла и подсчет выражений для итерации через второе измерение матрицы. Выражение инициализатора гарантирует, что i никогда не превышает j. Также начните действия, которые получают каждый элемент в верхнем треугольнике матрицы.
Нажмите OK. Pattern Wizard добавляет второй цикл в блок-схему.
Сохраните модель, содержащую шаблон.
Когда вы создаете логические расширения:
Можно выбрать только один переход, чтобы расширить за один раз. Выбранный переход должен быть точно вертикальным и иметь целевое соединение.
Можно расширить только блок-схемы, созданные Pattern Wizard.
Диаграмма Stateflow, содержащая блок-схему, может содержать только соединения и переходы. График не может содержать другие объекты, такие как состояния, функции или таблицы истинности.
Вы не можете расширить шаблон, который был пользовательски создан или изменен.
Вы не можете выбрать пользовательский шаблон в качестве расширения.
Если ваш выбор не имеет право на вставку, когда вы выбираете шаблон из галереи Pattern, вы видите сообщение вместо опций шаблона.
Сообщение | Проблема |
---|---|
Выберите вертикальный переход | Вы не выбрали вертикальный переход. |
Выбранный переход должен быть точно вертикальным | Вы выбрали переход, но это не вертикально. |
Выберите только один вертикальный переход | Вы выбрали больше чем один переход. |
Редактор должен содержать только переходы и соединения | Существуют другие объекты, такие как состояния, функции или таблицы истинности, в графике. |
Используйте Pattern Wizard, чтобы сохранить шаблоны блок-схемы в центральной части, и затем легко получить их для повторного использования в графических функциях и графиках. Выберите блок-схему с шаблоном, что вы хотите сохранить и выбрать Pattern> Save As Pattern.
Например, предположите, что вы хотите сохранить верхний треугольный шаблон итератора для более позднего повторного использования:
Создайте папку для хранения ваших пользовательских шаблонов. См. Инструкции для Создания Пользовательской Папки Шаблона.
В редакторе Stateflow выберите верхнюю треугольную блок-схему итератора.
На вкладке Modeling выберите Pattern> Save As Pattern.
Если вы не определяли пользовательскую папку шаблона, Pattern Wizard предлагает вам выбирать папку. Выберите папку, которую вы создали, и нажмите Select Folder.
В подсказке назовите свой шаблон UpperTriangleIterator
и нажмите Save. Pattern Wizard сохраняет ваш шаблон как файл модели UpperTriangleIterator.slx
в пользовательской папке шаблона.
Примечание
Можно использовать Pattern Wizard для повторного использования только блок-схемы. К состояниям повторного использования и субдиаграммам, создайте атомарную субдиаграмму. Для получения дополнительной информации смотрите, Создают Допускающие повторное использование Субкомпоненты при помощи Атомарных Субдиаграмм.
Pattern Wizard использует одну, плоскую папку для сохранения и получения шаблонов блок-схемы.
Сохраните все блок-схемы в верхнем уровне пользовательской папки шаблона. Не создавайте подпапки.
Убедитесь, что все файлы блок-схемы имеют .mdl
или .slx
расширение.
Pattern Wizard помнит ваш выбор пользовательской папки шаблона для будущих сеансов. Чтобы выбрать различную папку, переименуйте свою существующую пользовательскую папку шаблона и выполните одно из следующих действий:
Сохраните новый пользовательский шаблон в Pattern Wizard.
Снова используйте существующий пользовательский шаблон от Pattern Wizard.
Pattern Wizard предлагает вам выбирать новую папку.
Pattern Wizard хранит ваши блок-схемы как файлы модели в пользовательской папке шаблона. Шаблоны, которые вы сохраняете в этой папке, появляются в выпадающем списке, когда вы выбираете Pattern> Custom. Можно добавить пользовательский шаблон непосредственно в график или в графическую функцию подотмеченную на диаграмме в графике.
Например, чтобы добавить верхний треугольный итератор пользовательский шаблон в графическую функцию:
Из объектной палитры добавьте, что графическая функция к вашему графику как описано в Задает Графическую функцию.
Введите эту функциональную подпись:
function y = ut_iterator(u, numrow, numcol)
Входной параметр | Описание |
---|---|
u | 2D матрица |
numrow | Количество строк в матрице |
numcol | Количество столбцов в матрице |
Щелкните правой кнопкой в функции и выберите Group & Subchart> Subchart. Функция появляется как непрозрачное поле.
Дважды кликните функцию подотмеченную на диаграмме, чтобы открыть его.
Удалите блок-схему по умолчанию из графической функции.
На вкладке Modeling выберите Pattern> Custom. Диалоговое окно открывается, перечисляя все шаблоны, которые вы имеете сохраненный в вашей пользовательской папке шаблона.
Выберите верхний треугольный шаблон итератора и нажмите OK. Pattern Wizard добавляет ваш пользовательский шаблон в графическую функцию.
В графической функции, вместо action1
, замените соответствующими мерами. Это действие повторяется однажды для каждой строки матрицы.
Pattern Wizard генерирует блок-схемы, геометрия которых и размещение выполняют инструкции из MathWorks Advisory Board (MAB).