exponenta event banner

Создание блок-схем с помощью мастера шаблонов

Мастер шаблонов - это утилита, которая генерирует общие шаблоны диаграмм для использования в графических функциях и диаграммах. Мастер шаблонов предоставляет несколько преимуществ по сравнению с ручным созданием блок-схем. Мастер шаблонов:

  • Генерирует общие логические и итеративные шаблоны циклов.

  • Способствует согласованности геометрии и компоновки по шаблонам.

  • Облегчает хранение и повторное использование шаблонов из центрального местоположения.

  • Позволяет вставлять шаблоны в существующую блок-схему.

Мастер создания шаблонов создает блок-схемы, геометрия и компоновка которых соответствуют рекомендациям Консультативного совета MathWorks (MAB). Можно настроить блок-схему, изменив условия и действия или вставив дополнительные логические шаблоны. Можно также сохранить блок-схему в качестве пользовательского шаблона в мастере шаблонов для последующего повторного использования.

Например, предположим, что для создания графической функции для итерации по верхнему треугольнику двумерной матрицы необходимо использовать мастер массива. Функция состоит из двух вложенных for циклы, в которых индекс строки i всегда меньше или равно индексу столбца j. С помощью мастера шаблонов можно выполнять следующие действия:

  1. Создать блок-схему для внешнего цикла, который итерирует по индексу строки i. См. раздел Создание повторно используемых блок-схем.

  2. Расширить блок-схему, вставив внутренний цикл, который итерируется над индексом столбца j. См. раздел Вставка логических шаблонов в существующие блок-схемы.

  3. Сохраните блок-схему как пользовательский шаблон в мастере шаблонов. См. раздел Сохранение шаблонов пользовательских диаграмм.

  4. Повторно используйте пользовательский шаблон в графической функции. См. раздел Повторное использование пользовательских шаблонов блок-схем.

Создание повторно используемых блок-схем

Чтобы создать блок-схему, на вкладке Моделирование (Modeling) выберите массив в галерее Массив (Pattern). Выбор шаблона:

  • If, If-Else, If-Elseif и другие вложенные шаблоны решений.

  • Массивы циклов For, While и DoWhile.

  • Переключение шаблонов до четырех вариантов.

  • Пользовательские шаблоны, сохраненные для последующего повторного использования.

  • Шаблоны, определенные в MATLAB ®.m файл.

В диалоговом окне Массив (Pattern) выводится запрос на условия и действия, специфичные для выбранного массива. Дополнительные сведения о шаблонах блок-схемы см. в разделе Шаблоны, совместимые с MAB, в мастере шаблонов.

Например, для создания внешнего for контур в итераторе верхнего треугольника:

  1. На вкладке Моделирование (Modeling) выберите Массив (Pattern) > Для контура (For Loop).

  2. В диалоговом окне Массив (Pattern) укажите инициализатор, тест цикла и выражения подсчета для итерации через первый размер матрицы:

  3. Нажмите кнопку OK. Мастер шаблонов создает эту блок-схему.

Чтобы завершить итерационный массив верхнего треугольника, вставьте второй for петлю по вертикальному переходу на этой блок-схеме.

Вставка логических шаблонов в существующие блок-схемы

Используйте мастер шаблонов, чтобы добавить расширения цикла или логики принятия решений в существующую блок-схему. Выберите подходящий вертикальный переход и выберите образец в галерее Шаблон (Pattern). Опции включают шаблоны принятия решений, цикла и переключения. В диалоговом окне Массив (Pattern) выводится запрос на условия и действия, специфичные для выбранного массива.

Например, чтобы добавить второй цикл в массив итератора верхнего треугольника:

  1. Во внешнем редакторе Stateflow ®for контур, выберите вертикальный переход с меткой {action1}.

  2. На вкладке Моделирование (Modeling) выберите Массив (Pattern) > Для контура (For Loop).

  3. В диалоговом окне «Массив» укажите инициализатор, тест цикла и выражения подсчета для итерации во втором измерении матрицы. Выражение инициализатора гарантирует, что значение i никогда не превышает j. Также введите действие, которое извлекает каждый элемент в верхнем треугольнике матрицы.

  4. Нажмите кнопку OK. Мастер шаблонов добавляет второй цикл в блок-схему.

  5. Сохраните модель, содержащую массив.

Рекомендации по вставке логических шаблонов

При создании логических расширений:

  • Одновременно можно выбрать только один переход. Выбранный переход должен быть точно вертикальным и иметь соединение назначения.

  • Можно расширить только блок-схемы, созданные мастером шаблонов.

  • Диаграмма Stateflow, содержащая блок-схему, может содержать только переходы и переходы. Диаграмма не может содержать другие объекты, такие как состояния, функции или таблицы истинности.

  • Невозможно удлинить образец, созданный или измененный пользователем.

  • В качестве расширения нельзя выбрать пользовательский шаблон.

Если выбранный объект не подходит для вставки, при выборе шаблона из галереи «Шаблон» вместо параметров шаблона отображается сообщение.

СообщениеПроблема
Выберите вертикальный переходПереход по вертикали не выбран.
Выбранный переход должен быть точно вертикальнымВыбран переход, но он не является вертикальным.
Выбрать только один вертикальный переходВыбрано несколько переходов.
Редактор должен содержать только переходы и соединенияНа диаграмме имеются другие объекты, такие как состояния, функции или таблицы истинности.

Сохранить пользовательские шаблоны блок-схемы

Используйте мастер шаблонов, чтобы сохранить шаблоны диаграмм в центральном расположении, а затем легко извлечь их для повторного использования в графических функциях и диаграммах. Выберите блок-схему с шаблоном, который требуется сохранить, и выберите «Шаблон» > «Сохранить как шаблон».

Например, предположим, что необходимо сохранить образец итератора верхнего треугольника для последующего повторного использования:

  1. Создайте папку для хранения пользовательских шаблонов. См. раздел Рекомендации по созданию пользовательской папки шаблона.

  2. В редакторе Stateflow выберите схему итератора верхнего треугольника.

  3. На вкладке «Моделирование» выберите «Массив» > «Сохранить как массив».

  4. Если пользовательская папка шаблона не назначена, мастер шаблонов предложит выбрать папку. Выберите созданную папку и нажмите кнопку «Выбрать папку». Можно также задать каталог по умолчанию, который Мастер шаблонов сохраняет с помощью sfpref функция с помощью 'PatternWizardCustomDir' в качестве первого аргумента. Дополнительные сведения см. в разделе sfpref.

  5. В ответ на запрос введите имя шаблона UpperTriangleIterator и нажмите кнопку «Сохранить». Мастер массива сохраняет массив в виде файла модели. UpperTriangleIterator.slx в папке пользовательского шаблона.

Примечание

Мастер шаблонов можно использовать для повторного использования только блок-схем. Для повторного использования состояний и вложенных диаграмм создайте атомарную вложенную диаграмму. Дополнительные сведения см. в разделе Создание повторно используемых подкомпонентов с помощью атомных субчарт.

Рекомендации по созданию пользовательской папки шаблона

Мастер шаблонов использует одну плоскую папку для сохранения и извлечения шаблонов диаграмм.

  • Сохраните все блок-схемы на верхнем уровне папки пользовательского шаблона. Не создавать подпапки.

  • Убедитесь, что все файлы блок-схемы имеют .mdl или .slx расширение.

Изменение пользовательской папки шаблона

Мастер шаблонов запоминает выбор пользовательской папки шаблонов для будущих сеансов. Чтобы выбрать другую папку, переименуйте существующую папку пользовательского шаблона и выполните одно из следующих действий.

  • Сохраните новый пользовательский шаблон в мастере шаблонов.

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

Мастер шаблонов предлагает выбрать новую папку.

Повторное использование пользовательских шаблонов блок-схемы

Мастер шаблонов сохраняет блок-схемы в виде файлов модели в папке пользовательских шаблонов. Шаблоны, сохраненные в этой папке, отображаются в раскрывающемся списке при выборе команды «Шаблон» > «Пользовательский». Пользовательский шаблон можно добавить непосредственно в диаграмму или в графическую функцию подшаблона в диаграмме.

Например, чтобы добавить пользовательский шаблон итератора верхнего треугольника в графическую функцию:

  1. В палитре объектов добавьте графическую функцию к диаграмме, как описано в разделе Определение графической функции.

  2. Введите подпись этой функции:

    function y = ut_iterator(u, numrow, numcol)
    Функция принимает три входа.

    ВходОписание
    u2-D матрица
    numrowКоличество строк в матрице
    numcolКоличество столбцов в матрице

  3. Щелкните правой кнопкой мыши внутри функции и выберите «Группа и подшаблон» > «Подшаг». Функция отображается как непрозрачное поле.

  4. Дважды щелкните по функции с вложенной диаграммой, чтобы открыть ее.

  5. Удалите блок-схему по умолчанию из графической функции.

  6. На вкладке «Моделирование» выберите «Массив» > «Пользовательский». Откроется диалоговое окно со списком всех шаблонов, сохраненных в папке пользовательских шаблонов.

  7. Выберите итератор верхнего треугольника и нажмите кнопку OK. Мастер шаблонов добавляет пользовательский шаблон в графическую функцию.

  8. В графической функции вместо action1, заменить соответствующее действие. Это действие повторяется один раз для каждой строки матрицы.

Шаблоны, совместимые с MAB, из мастера шаблонов

Мастер создания шаблонов создает блок-схемы, геометрия и компоновка которых соответствуют рекомендациям Консультативного совета MathWorks (MAB).

Схемы принятия решений

 Если

 Если-иначе

 Иф-Элсейф

 Иф-Элсейф-Эше

 Иф-Эльзейф-Эльсейф-Эше

 Вложено, если

Шаблоны контуров

 Для цикла

 Во время цикла

 Петля DoWhile

Шаблоны переключения

 Два случая

 Три случая

 Четыре случая

Связанные темы