В этом примере показано, как использовать проводник отчетов для создания файла настройки отчета и создания отчета, который выполняет следующие действия.
Открывает модель Simulink ® для уравнения ван дер Пол, называемого vdp модель.
Устанавливает для параметра усиления блока Mu пять различных значений.
Моделирование модели при каждом задании параметра усиления.
Собирает результаты. Результаты, попадающие в указанный диапазон, отображаются в таблице в созданном отчете.
Для создания и выполнения этого примера отчета не требуется знать программное обеспечение MATLAB ® или Simulink. Однако знание этих продуктов поможет понять код MATLAB и выполняемое моделирование модели.
Для создания этого отчета необходимо выполнить следующие основные задачи:
Этот пример включает отдельные разделы для различных видов задач создания и создания отчетов. Каждый раздел основан на предыдущих разделах. Однако если требуется просмотреть компоненты настройки отчета для более позднего раздела без выполнения предыдущих разделов, в MATLAB можно просмотреть завершенный файл настройки отчета, открыв Simulink Dynamic Report. Отчет предназначен для vdp модель.
Чтобы создать и настроить файл настройки отчета:
Запуск Simulink.
Откройте обозреватель отчетов на панели инструментов Simulink. На вкладке Приложения в разделе Графика моделирования и отчеты щелкните Генератор отчетов.
Выберите «Файл» > «Создать», чтобы создать файл настройки отчета.
Сохраните файл настройки отчета.
На панели «Свойства»:
Укажите место сохранения файла настройки отчета. Чтобы сохранить его в текущей рабочей папке, выберите Present Working Directory из списка выбора каталога.
Укажите формат отчета. В списке Выбор формата файла выберите Acrobat (PDF).
Совет
Если в отчетах требуется включить гиперссылки в системные снимки, используйте Direct PDF (from template) формат файла.
Введите описание отчета. В текстовом поле Описание отчета (Report description) замените существующее содержимое следующим текстом.
Совет
Скопируйте и вставьте этот код из HTML-документации в проводник отчетов.
Simulink Dynamic Report This report opens up a model, sets a block parameter several times, simulates the model, and collects the results. Results that fall within a specified range are displayed in a table after the test is complete. The report is configured to test the vdp model only. By selecting the Eval String component immediately below the Report component, you can modify * model * block * parameter * tested values
Щелкните Файл > Сохранить как, чтобы сохранить файл настройки отчета как simulink_tutorial.rpt.
На панели «Структура» слева отображается новое имя файла.

Сведения о создании содержимого отчета см. в разделе Добавление содержимого отчета с компонентами.
Компоненты отчета определяют, какую информацию следует включить в отчет. Компоненты представляют собой автономные модульные объекты MATLAB, которые управляют процессом создания отчета и вставляют в файл настройки отчета такие элементы, как таблицы, списки и фигуры. Используйте компоненты для настройки внешнего вида и вывода отчетов.
Дополнительные сведения см. в разделе Компоненты отчета.
На следующем рисунке показан пример страницы из отчета, созданного в этом примере, и компоненты, используемые для создания выходных данных.
Примечание
Не деактивируйте компоненты отчета, добавленные в файл настройки отчета.

Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Первым добавляемым компонентом является компонент «Вычислить выражение MATLAB», который вычисляет команды MATLAB в рабочей области. Код в этом компоненте присваивает начальные значения переменным, используемым в этом примере.
На панели «Структура» слева выберите simulink_tutorial.rpt.

На панели «Библиотека» в середине в категории MATLAB выберите «Вычислить выражение MATLAB».
На правой панели «Свойства» щелкните значок рядом с пунктом Добавить компонент в текущий отчет, чтобы вставить компонент в отчет.
Примечание
Невозможно изменить информацию о компоненте на панели «Свойства» справа, пока компонент не будет добавлен в отчет.
На панели Структура (Outline) слева компонент Вычислить выражение MATLAB (Evaluate MATLAB Expression) отображается под simulink_tutorial файл настройки отчета. Программа Simulink Report Generator™ сокращает имя компонента до Eval.

Значок в левом верхнем углу значка компонента Eval указывает на то, что этот компонент не может иметь дочерних компонентов. По умолчанию все компоненты, добавляемые при выборе компонента «Оценка», являются родственными элементами этого компонента.
Опции компонента Вычислить выражение MATLAB (Evaluate MATLAB Expression) отображаются на панели Свойства (Properties) справа.

Снимите флажки Вставить выражение MATLAB в отчет (Insert MATLAB expression in report) и Показать выходные данные окна команд в отчете (Display command window output in report), чтобы не включать код MATLAB или выходные данные в этот отчет.
Добавьте код MATLAB в текстовое поле Выражение (Expression), чтобы задать следующие значения.
Имя модели
Имя блока
Параметр блока
Значения параметров
Другие исходные значения, необходимые для обработки модели vdp
Замените существующий текст следующим кодом MATLAB.
%The name of the model %that will be changed expModel='vdp'; %The name of the block in the model %that will be changed expBlock='vdp/Mu'; %The name of the block parameter %that will be changed expParam='Gain'; %The values that will be set %during experimentation expValue=[-1 0 .5 1 2]; %expValue can be either a vector %or a cell array testMin=2.1; testMax=3; %---- do not change code below line --- try open_system(expModel); end expOkValues=cell(0,2);
Примечание
При изменении поля на панели «Свойства» справа фон поля изменяет цвет (по умолчанию - кремовый цвет), указывая на то, что к этому полю не применяются изменения. Как только выполняются операции с другим компонентом, программа Simulink Report Generator применяет изменения, и цвет фона снова становится белым.
Установите флажок Вычислить это выражение при наличии ошибки.
В поле под флажком замените существующий текст следующим текстом:
disp(['Error during eval: ', evalException.message])

Совет
Чтобы выполнить команды, указанные в выражении MATLAB, нажмите кнопку Eval Now. Эта кнопка расположена в правом верхнем углу проводника отчетов. Это простой способ убедиться, что команды верны и не вызывают проблем при создании отчетов.
Щелкните Файл > Сохранить, чтобы сохранить файл настройки отчета.
Сведения об обработке условий ошибок см. в разделе Обработка ошибок для кода MATLAB.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Создайте пользовательскую титульную страницу для отчета с помощью компонента «Титульная страница».
На панели «Контур» слева выберите компонент «Оценка».

В средней части панели «Библиотека» в категории «Форматирование» выберите «Титульная страница».

Щелкните значок рядом с пунктом Добавить компонент в текущий отчет.
Компонент Титульная страница появится на панели Структура.

Примечание
Для использования компонента «Титульная страница» в отчете должен быть компонент «Глава». Компонент «Глава» еще не добавлен, поэтому на панели «Свойства» отображается сообщение о том, что разделы необходимы для правильного отображения компонента «Страница заголовка». Поскольку позже в этом примере к этому отчету добавляются компоненты главы, это сообщение можно игнорировать.
На панели «Свойства» справа:
В текстовом поле «Заголовок» введите:
Dynamic Simulink Report
В текстовом поле «Подзаголовок» введите:
Using Simulink Report Generator to Document Changes
В разделе «Параметры» выберите Custom Author из списка выбора.
Введите свое имя в текстовом поле.
Установите флажок Включить дату создания отчета.
Выберите формат даты и времени по умолчанию из списка выбора. Панель «Свойства» справа выглядит следующим образом.

Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Следующая инструкция в компоненте Вычислить выражение MATLAB, созданном в окне Добавить код MATLAB, пытается открыть vdp модель:
try open_system(expModel); end
Совет
Выберите компонент «Оценка» на панели «Структура» слева для повторного просмотра этого кода.
Чтобы увидеть, если vdp модель была успешно открыта, проверьте результат open_system с использованием компонента Logical If.
На панели «Структура» слева выберите компонент «Титульная страница».
В средней части панели «Библиотека» в категории «Логическое управление» и «Управление потоком» выберите «Логическое если». Этот компонент проверяет, является ли данное условие истинным или ложным; в этом случае, если модель открылась успешно.

На правой панели «Свойства» щелкните значок рядом с пунктом Добавить компонент в текущий отчет. Компонент Логическое если (Logical If) отображается как будто на панели Структура (Outline).

Эти компоненты являются дочерними компонентами отчета и родственными элементами друг друга. Компоненты могут иметь родительские, дочерние и родственные связи.
Этот компонент может иметь дочерние компоненты. Добавление компонентов Logical Then и Logical Else объясняет, как добавить два дочерних компонента в компонент if.
На панели «Свойства» справа в текстовом поле «Тестовое выражение» замените текст по умолчанию. true, со следующим текстом:
strcmp(bdroot(gcs),expModel)
strcmp функция сравнивает имя открытой модели Simulink и значение expModel, для которого было установлено значение 'vdp'. Он проверяет, успешно ли открыта модель vdp. strcmp прибыль 1 (true), если две строки совпадают, и 0 (false), если нет. Сохраните файл настройки отчета.
Имя компонента if на панели «Структура» изменяется и включает добавленное выражение.

Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
if strcmp(bdroot(gcs), expModel) компонент имеет два возможных результата. Добавьте два дочерних компонента в файл настройки отчета для обработки этих случаев.
На панели «Структура» слева выберите компонент if.

В средней части панели «Библиотека» в категории «Логическое управление и управление потоком» дважды щелкните Логическое управление.
На панели «Структура» слева снова выберите компонент if.
В средней части панели «Библиотека» в категории «Логическое управление и управление потоком» дважды щелкните «Логическое другое».
Оба элемента добавляются как дочерние компоненты к компоненту if, как показано на панели «Структура».

Чтобы переместить компонент else под тогдашним компонентом, выберите компонент else и щелкните стрелку вниз на панели инструментов один раз. Панель «Структура» слева выглядит следующим образом.

Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Если if strcmp(bdroot(gcs), expModel) сбой компонента ( vdp модель не может быть открыта), выполняется компонент else. Отображение сообщения об ошибке в отчете с помощью Chapter/Subsection компонент.
На панели «Структура» слева выберите другой компонент.

В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните раздел «Глава/подраздел», чтобы добавить его в качестве дочернего элемента компонента «else». Этот компонент отображает сообщение об ошибке при открытии vdp модель.

Примечание
При добавлении компонента в отчет он добавляется по умолчанию в качестве дочернего компонента, если только выбранный компонент не может иметь дочерние компоненты.
На панели «Свойства» справа выберите Custom из списка Выбор заголовка, а затем введите следующий текст в текстовое поле:
Load Model Failed.
Сохраните файл отчета.
Панель «Структура» выглядит следующим образом.

На панели «Структура» слева выберите компонент «Глава».
В средней части панели «Библиотека» в разделе «Форматирование» дважды щелкните на элементе «Абзац».
На правой панели «Свойства» введите следующий текст в текстовое поле «Текст абзаца» для отображения следующего сообщения об ошибке:
Error: Model %<expModel> could not be opened.
%<expModel> указывает, что значение переменной рабочей области expModel вставляется в текст, как в следующем примере.Error: Model vdp could not be opened.
На панели «Структура» слева выберите раздел.
Сохраните файл настройки отчета.
Панель «Структура» выглядит следующим образом.

Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Создание тела отчета включает в себя настройку компонентов и кода для динамического выполнения компонентов отчета. В этом примере выполняются следующие задачи:
Для каждого действия требуется отдельный компонент в тогдашнем компоненте. Сведения о тогдашнем компоненте в этом отчете см. в разделах Добавление логических, а затем и логических компонентов.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report.
Отчет изменяет параметр Gain для блока Mu в vdp модель несколько раз. Для выполнения этой задачи требуется компонент цикла модели.
На панели «Структура» слева выберите тогдашний компонент.
В средней части панели «Библиотека» выполните прокрутку вниз до категории «Simulink» и дважды щелкните «Model Loop». Он добавляется в качестве нижестоящего элемента then компонент.

Панель «Свойства» справа выглядит следующим образом.

На панели «Свойства» справа:
Установите флажок Активно (Active), чтобы обработать vdp модель.
В списке выбора модели теодолитного хода выберите Selected system(s) only для прохождения только vdp модель.
Выбрать Model root из списка выбора системы (систем) запуска.
В нижней части панели Свойства (Properties) слева установите флажок Создать сечение для каждого объекта в цикле (Create section for each object in loop), чтобы создать главу или сечение для каждой модели. Если этот флажок установлен, имя компонента на панели Структура (Outline) слева изменяется на Глава цикла модели (Model Loop Chapter).

Установите флажок Отображать тип объекта в заголовке сечения (Display the object type in the section title), чтобы включить тип объекта (в данном примере модель) в имя заголовка.
Снимите флажок Создать привязку связи для каждого объекта в цикле.
Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
В каждую главу цикла модели добавьте пояснение с помощью компонента Абзац.
На панели Контур (Outline) слева выберите компонент Глава цикла модели (Model Loop Chapter).
В средней части панели «Библиотека» выполните прокрутку до категории «Форматирование» и дважды щелкните «Абзац». Компонент Абзац добавляется как дочерний компонент компонента Глава цикла модели (Model Loop Chapter).

На панели «Свойства» справа в текстовом поле «Текст абзаца» введите следующий текст:
This report demonstrates Simulink Report Generator's ability to experiment with Simulink systems and auto-document the results. In this report, you load the model%<expModel>and simulate it%<length>times. This report modifies the%<expBlock>block's "%<expParam>" value, setting it to the values%<expValue>. Each iteration of the test includes a set of scope snapsnots in the report.
%и заключены в угловые скобки (<>), заменяются значениями этих переменных в рабочей области MATLAB.Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Внутри каждого компонента «Глава цикла модели» включите снимок текущей модели с помощью компонента «Системный снимок».
На панели Контур (Outline) слева выберите компонент Глава цикла модели (Model Loop Chapter).
В средней части панели «Библиотека» выполните прокрутку вниз до категории «Simulink» и дважды щелкните компонент «System Snapshot».
Этот компонент вставляет изображение текущей модели в отчет. Панель «Свойства» справа выглядит следующим образом.

На панели «Свойства» справа:
Выбрать Zoom из списка выбора Масштабирование (Scaling).
Войти 70 в качестве значения%.
На панели «Структура» слева выберите компонент «Системный снимок».
Щелкните стрелку вниз на панели инструментов один раз, чтобы переместить ее под компонентом Абзац.

Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Создание цикла для обработки модели %length время использования компонента For Loop.
На панели «Структура» слева выберите компонент «Системный снимок».
В средней части панели «Библиотека» в категории «Логическое управление и управление потоком» дважды щелкните «Для цикла». Компонент For Loop добавляется в качестве родственного компонента компонента System Snapshot.

На панели «Свойства» справа:
В поле «Конец текста» замените существующий текст следующим текстом:
length(expValue)
expValue массив значений параметра Gain, назначенных в компоненте Eval с помощью команды expValue=[-1 0 0.5 1 2];. Выражение length(expValue) вычисляется как 5 в этом примере.В текстовом поле Имя переменной замените существующий текст на имя for loop переменная. Введите следующий текст:
expIteration
Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Для каждой итерации получите значение из expValue для использования в качестве значения параметра Gain. Для выполнения этой задачи требуется компонент «Вычислить выражение MATLAB».
На панели «Структура» слева выберите для компонента.
В средней части панели «Библиотека» в категории MATLAB дважды щелкните «Вычислить выражение MATLAB». На панели «Структура» имя компонента сокращается до «Оценка».

На панели «Свойства» справа:
Снимите флажки Вставить выражение MATLAB в отчет (Insert MATLAB) и Показать выходные данные командного окна в отчете (Display command window output in report).
Введите следующий текст в текстовое поле «Выражение для вычисления» в базовом рабочем пространстве:
%Evaluate this string in the base workspace
if iscell(expValue)
Iteration_Value=expValue{expIteration};
else
Iteration_Value=...
num2str(expValue(expIteration));
endIteration_Value переменная представляет назначенный элемент массива.Снимите флажок Вычислить это выражение при наличии ошибки.
Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Создайте отдельный раздел для каждой итерации цикла, который включает данные, используя Chapter/Subsection компонент.
На панели Контур (Outline) слева в разделе для компонента выберите компонент Оценка (Eval).
В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните раздел «Глава/подраздел», чтобы добавить его в качестве родственного узла. Этот компонент автоматически добавлен как Раздел 1, потому что это в компоненте Главы (Образцовый компонент Главы Петли).

На панели «Свойства» справа:
В списке Выбор заголовка выберите Custom.
В текстовом поле введите следующее название:
Processing the vdp model
Это означает, что заголовок раздела происходит от первого дочернего компонента. Не изменяйте другие свойства.
Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Вставьте Gain значение, используемое для каждого моделирования.
На панели «Контур» слева выберите компонент «Сечение 1».
В средней части панели «Библиотека» в категории MATLAB дважды щелкните «Вставить переменную».
На панели «Свойства» справа:
В текстовом поле Имя переменной введите Iteration_Value.
В списке Показать как выбор выберите Paragraph.
Панель «Свойства» справа выглядит следующим образом.

Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Для каждой итерации установите значение Gain к значению, извлеченному из expValue массив.
На панели «Структура» слева выберите компонент «Переменная».
В средней части панели «Библиотека» в категории MATLAB дважды щелкните «Вычислить выражение MATLAB». Этот компонент добавляется в качестве родственного компонента компонента Variable.

На правой панели «Свойства» снимите флажки Вставить выражение MATLAB в отчете и Показать выходные данные окна команды в отчете.
В текстовом поле Выражение для вычисления в основной рабочей области замените существующий текст следующим текстом.
set_param(expBlock,expParam,Iteration_Value); okSetValue=(1);
set_param устанавливает значение параметра Gain для блока Mu в vdp модель к значению Iteration_Value.При наличии ошибки выберите Вычислить это выражение. Введите в текстовое поле следующий текст:
okSetValue=logical(0);
set_param командные работы, okSetValue имеет значение 1. При возникновении ошибки okSetValue имеет значение 0. Следующий компонент затем сообщает об ошибке и завершает обработку.Сохраните файл настройки отчета.
Панель «Структура» слева выглядит следующим образом.

Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Проверьте значение okSetValue с использованием компонента Logical If. Если значение равно 0, моделирование не может быть продолжено, так как не удалось задать параметр Gain.
На панели «Структура» слева выберите компонент «Оценка» для set_param команда.
В средней части панели «Библиотека» в категории «Логическое управление и управление потоком» дважды щелкните «Логическое если». Компонент добавляется как одноклассник Eval.

На панели «Свойства» справа в текстовом поле «Тестовое выражение» замените true с okSetValue.
okSetValue может быть 1 (true) или 0 (false), поэтому вставьте два компонента - Logical Then и Logical Else - для обработки этих условий:
На панели «Структура» слева выберите компонент if (okSetValue).
Чтобы вставить логические тогда и логические Else в правильном порядке:
В средней части панели «Библиотека» дважды щелкните компонент «Логическое иначе».
Снова выберите компонент if (okSetValue).
Дважды щелкните по компоненту Logical Then. Панель «Структура» слева выглядит следующим образом.

На панели «Структура» справа выберите другой компонент.
В средней части панели «Библиотека» дважды щелкните «Абзац».
Если okSetValue = 0, значение параметра Gain не установлено, и в отчете отображается ошибка.
На панели «Свойства» справа:
Выбирать Custom title из списка выбора Опции заголовка (Title Options).
Войти Error в текстовом поле рядом со списком выбора.
Введите следующий текст в текстовое поле «Текст абзаца»:
Could not set %<expBlock> "%<expParam>" to value %<Iteration_Value>.
Сохраните отчет.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
Теперь, когда модель открыта и задан параметр Усиление (Gain), используйте компонент Моделирование модели (Model Simulation) для моделирования модели vdp.
На панели «Структура» слева выберите тогдашний компонент под компонентом if (okSetValue).
На панели «Библиотека» в категории «Симуляция» дважды щелкните на элементе «Моделирование модели». На панели «Контур» слева этот компонент переименовывается в модель Simulate.

На панели «Свойства» справа:
Снимите флажок Использовать имена переменных ввода-вывода рабочей области модели.
В текстовом поле «Время» введите dynamicT.
В текстовом поле Состояния введите dynamicX.
В текстовом поле «Вывод» введите dynamicY.
Панель «Свойства» справа выглядит следующим образом.

На панели Контур (Outline) слева выберите компонент Модель (Simulate).
На панели «Библиотека» в середине:
Выполните прокрутку вниз до категории «Блоки симулятора».
Дважды щелкните Снимок области (Scope Snapshot), чтобы добавить его в качестве родственного элемента компонента Simulink Model.
Этот компонент захватывает область для каждой итерации.

На панели «Свойства» справа:
В списке выбора ориентации бумаги выберите Portrait.
В поле «Размер изображения» введите [5 4].
В списке Выбор масштабирования выберите Zoom.
Войти 75 для значения%.
Сохраните файл настройки отчета.
Чтобы проверить, находятся ли данные сигнала в указанном диапазоне, добавьте другой компонент Logical If:
На панели «Структура» слева выберите компонент «Снимок области».
В средней части панели «Библиотека» выполните прокрутку до категории «Логическое управление и управление потоком».
Дважды щелкните компонент Logical If.
Для проверки сигнальных данных замените true в текстовом поле Тестовое выражение (Test expression) на панели Свойства (Properties) справа:
max(dynamicX(:,2))>testMin & max(dynamicX(:,2))<testMax
Сохраните отчет.
Панель «Структура» выглядит следующим образом:

Если это условие истинно, данные сигнала попадают в требуемый диапазон. Добавьте компонент Абзац для печати информации о сигналах в отчете.
На панели «Контур» слева выберите только что добавленный компонент if.
В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните «Абзац», чтобы он стал дочерним компонентом if.
![]()
На панели «Свойства» справа:
В списке выбора «Параметры заголовка» выберите Custom title.
Напечатать Success в текстовом поле.
Введите следующий текст в поле Текст абзаца.
The conditioned signal has a maximum value of %<max(dynamicX(:,2))>, which lies in the desired range of greater than %<testMin> and less than %<testMax>.
Чтобы сохранить значения успеха для вставки в таблицу в конце итераций, используйте компонент Вычислить выражение MATLAB.
На панели «Структура» слева выберите компонент «Абзац».
В средней части панели «Библиотека» в категории MATLAB дважды щелкните «Вычислить выражение MATLAB».
Возникает непреднамеренный результат: новый компонент является дочерним для компонента Paragraint.

Чтобы сделать новый компонент родственным элементом компонента Абзац, на панели Структура слева выберите компонент Оценка, а затем щелкните стрелку влево на панели инструментов. Компонент Eval становится родственным компонентом компонента Paragraint.

На панели «Свойства» справа для компонента «Оценка»:
Снимите флажки Вставить выражение MATLAB в отчет (Insert MATLAB) и Показать выходные данные командного окна в отчете (Display command window output in report).
В текстовом поле Выражение для вычисления в базовом рабочем пространстве введите следующее, чтобы сохранить требуемые значения сигнала в expOkValues массив:
expOkValues=[expOkValues;...
{Iteration_Value,max(dynamicX(:,2))}];При наличии ошибки выберите Вычислить это выражение. Вставьте следующий текст в текстовое поле:
disp(['Error during eval: ', evalException.message])
Сохраните файл настройки отчета.
Примечание
Этот раздел основан на предыдущих задачах, описанных в пошаговом примере, обобщенном в разделе Интерактивное создание отчета генератора отчетов Simulink.
Чтобы просмотреть завершенный файл настройки отчета, откройте Simulink Dynamic Report. Отчет предназначен для vdp модель.
После сбора всех требуемых значений создайте раздел посттестового анализа, создав таблицу и вставив ее в отчет в конце этой главы.
На панели Контур (Outline) слева выберите компонент Глава цикла модели (Model Loop Chapter).
В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните «Глава/подраздел».
Новый раздел появится в начале главы.

Трижды щелкните стрелку вниз, чтобы сечение 1 переместилось в конец компонента Глава цикла модели (Model Loop Chapter).

На панели «Свойства» справа:
Выбрать Custom в списке выбора заголовка.
Войти Post-Test Analysis в текстовом поле.
На панели «Контур» слева выберите новый компонент «Сечение 1».
В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните «Абзац». Не изменяйте его свойства.
Чтобы проверить, находятся ли какие-либо значения сигнала в нужном диапазоне, проверьте массив expOkValues с компонентом Logical If. Если expOkValues пуст, в требуемом диапазоне нет значений сигнала. Сообщите о результатах этой проверки.
На панели «Структура» слева выберите Paragraph и добавьте дочерний компонент Logical If.
В правой панели «Свойства» введите выражение для вычисления в текстовое поле «Тестовое выражение»:
~isempty(expOkValues)
0 (false), если expOkValues пуст; в противном случае вычисляется как 1 (true).На панели «Структура» слева выберите компонент if (~ isempty (expOkValue)) и добавьте компонент Logical Else в качестве дочернего элемента.
Снова выберите компонент if (~ isempty (expOkValue)) и добавьте компонент Logical Then в качестве дочернего.
Эти два компонента являются родственными узлами на панели «Структура» слева.

Сохраните файл настройки отчета.
Теперь вставьте компоненты отчета для обработки случая, где expOkValues пуст; то есть, где никакие значения сигнала не попадают в указанный диапазон.
На панели «Структура» слева выберите другой компонент.
На панели «Библиотека» в середине дважды щелкните компонент «Текст», чтобы добавить его в качестве дочернего компонента.
На панели «Свойства» справа в поле Текст для включения в отчет введите следующее:
None of the selected iteration values had a maximum signal value between %<testMin> and %<testMax>.
Теперь обработайте случай, где expOkValues не пуст и требуется вставить таблицу допустимых значений сигнала.
На панели «Структура» слева выберите тогдашний компонент.
Добавьте текстовый компонент в качестве дочернего к тогдашнему компоненту.
На панели «Свойства» справа в поле Текст для включения в отчет введите следующий текст.
%<size(expOkValues, 1)> values for %<expBlock> were found that resulted in a maximum signal value greater than %<testMin> but less than %<testMax>. The following table shows those values and their resulting signal maximum.
На панели «Структура» слева выберите текстовый компонент под тогдашним компонентом компонента if (~ isempty (expOkValues)).
Чтобы создать массив для использования при форматировании таблицы, используйте компонент «Вычислить выражение MATLAB».
На панели «Библиотека» в середине дважды щелкните «Вычислить выражение MATLAB».
На панели «Свойства» справа:
Снимите флажки Вставить выражение MATLAB в отчет (Insert MATLAB) и Показать выходные данные командного окна в отчете (Display command window output in report).
Следующий компонент отчета использует строки Mu Value и Signal Maximum в качестве значений заголовка таблицы. Добавьте строки в переднюю часть окна expOkValues путем ввода следующего текста в текстовое поле «Выражение для вычисления» в основной рабочей области:
expOkValues=[{'Mu Value','Signal Maximum'} expOkValues];Убедитесь, что установлен флажок Вычислить это выражение при наличии ошибки. Введите в текстовое поле следующий текст:
disp(['Error during eval: ', evalExpression.message])
На панели «Контур» слева выберите компонент «Оценка».
В средней части панели «Библиотека» в категории «Форматирование» дважды щелкните компонент «Таблица на основе массива», чтобы он стал родственным элементом компонентов «Текст» и «Оценка».
На панели «Свойства» справа:
В текстовом поле Имя переменной рабочего пространства введите expOkValues. Программа Simulink Report Generator использует содержимое expOkValues для построения таблицы.
В текстовом поле Заголовок таблицы введите Valid Iteration Values.
Сохраните файл настройки отчета.
Панель «Структура» слева выглядит следующим образом.

Чтобы создать отчет, щелкните значок Отчет на панели инструментов. Происходит следующее:
Появится окно Список сообщений, в котором отображаются информационные сообщения и сообщения об ошибках при обработке отчета. Укажите уровень детализации, который должен отображаться в окне Список сообщений во время создания отчета. Диапазон опций: 0 (наименьшая детализация) к 6 (подробнее). Для выбора опции щелкните по списку выбора, расположенному под заголовком окна «Message List».
Message level 3 (Important messages) используется в оставшейся части этого примера.

vdp появится модель. Вы можете видеть каждый раз, когда он моделируется.
Появится окно области. График области изменяется при каждом изменении значения параметра.
Каждый компонент отчета выделяется по мере его выполнения на панели Структура (Outline) слева в окне Обозреватель отчетов (Report Explorer).
По завершении создания отчета открывается отчет.
