В этом примере показано, как основной отчет был создан с помощью Report Explorer. Этот отчет объясняет и иллюстрирует магические квадраты – матрицы, столбцы которых, строки и диагонали каждый составляет в целом тот же номер (см. magic
ссылка на функцию в MATLAB® документация.
Чтобы создать этот отчет, вы выполняете эти основные задачи:
Примечание
Вы не должны знать, что программное обеспечение MATLAB использует этот пример. Однако знание MATLAB полезно для понимания кода MATLAB, который выполняется во время генерации отчета.
Этот пример включает отдельные участки для различных видов задач создания и генерации отчета. Каждый раздел основывается на предыдущих разделах. Однако, если вы хотите работать через более поздний раздел не сделав предыдущие разделы, можно просмотреть завершенный файл настройки отчета: Magic Squares Report
.
Чтобы настроить отчет магических квадратов, сначала создайте файл настройки, чтобы сохранить настройку. Затем добавьте объекты MATLAB, названные компонентами, к настройке, чтобы задать содержимое отчета.
Создать файл настройки отчета:
Запустите сеанс программного обеспечения MATLAB.
Откройте Report Explorer. От Панели инструментов MATLAB, во вкладке Apps, в разделе Database Connectivity and Reporting, нажимают Report Generator.
Выберите File> New, чтобы создать файл настройки отчета. Новая настройка отчета имеет имя по умолчанию Unnamed.rpt
.
В Свойствах разделяют на области справа:
Чтобы сохранить отчет в текущей рабочей папке, выберите Present working directory
из списка Directory.
Установите File format на HTML (from template)
сгенерировать отчет выход как HTML. Используя (from template)
опция создает оглавление отчета в формате, который можно расширить и свернуть.
В текстовом поле Report description замените существующий текст на следующий текст.
This report creates a series of magic squares and displays them as images. A magic square is a matrix in which the columns, rows, and diagonal all add up to the same number.
Примечание
Когда вы изменяетесь, Свойства разделяют на области поле, его изменения цвета фона. Это указывает, что существуют остающиеся без применения изменения в том поле. Как только вы выполняете любое действие с другим компонентом, MATLAB Report Generator™ применяет изменения, и цвет фона становится белым снова.
Сохраните свой отчет. Выберите File> Save As и назовите свой файл настройки отчета magic_squares.rpt
.
Новое имя файла появляется в панели Схемы.
Чтобы создать содержимое для отчета, смотрите, Добавляет Содержимое Отчета Используя Компоненты.
Сообщите, что компоненты указывают информацию, чтобы включать в отчет. Следующий рисунок показывает демонстрационную страницу из отчета, что вы создаете в этом примере, подсвечивая компоненты, которые вы используете, чтобы представить отчет.
Отчет магических квадратов использует переменные, заданные в рабочем пространстве MATLAB, чтобы задать номер и размеры квадратов, чтобы отобразиться и отобразить ли переменные как таблицы чисел или изображения квадратов, на которые наносят цветную маркировку:
Переменная magicSizeVector задает массив размеров магического квадрата
Переменная largestDisplayedArray задает размер самого большого магического квадрата, который будет отображен как массив чисел
Вы могли потребовать, чтобы пользователь создал эти переменные в рабочем пространстве MATLAB прежде, чем запустить отчет. Однако лучшее решение состоит в том, чтобы позволить отчету создать переменные, с помощью Evaluate MATLAB Expression
компонент.
Использовать компонент Evaluate MATLAB Expression, чтобы задать переменные отчета:
В панели Схемы слева, выберите корневой компонент настройки отчета.
В панели Библиотеки в середине, под MATLAB, выбирают Evaluate MATLAB Expression.
В панели Свойств справа, кликните по значку рядом с Add component to current report, чтобы вставить компонент Evaluate MATLAB Expression в отчет.
Можно отредактировать информацию компонента в панели Свойств только после того, как вы добавите компонент в отчет.
В панели Схемы, Eval
компонент появляется под magic_squares
отчет.
Значок в левом верхнем углу Eval
компонент указывает, что этот компонент не может иметь дочерних компонентов. По умолчанию любые компоненты вы добавляете с Eval
выбранный компонент является одноуровневыми элементами к этому компоненту.
Опции для компонента Evaluate MATLAB Expression появляются в панели Свойств.
Чтобы исключить детали кода MATLAB и его выход в этом отчете, снимите флажки Insert MATLAB expression in report и Display command window output in report.
В текстовом поле Expression to evaluate in the base workspace замените существующий текст на следующий код MATLAB.
Совет
Скопируйте и вставьте этот текст из документации HTML в Report Explorer.
%This MATLAB code sets up two variables %that define how the report runs. %magicSizeVector is a list of MxM %Magic Square sizes to insert into %the report. Note that magic %squares cannot be 2x2. magicSizeVector=[4 8 16 32]; %largestDisplayedArray sets the %limit of array size that will be %inserted into the report with the %Insert Variable component. largestDisplayedArray=15;
В текстовом поле Evaluate this expression if there is an error замените существующий текст на следующий текст.
disp(['Error during eval: ', evalException.message])
Это вызывает ошибку отобразиться, если код MATLAB перестал работать.
Совет
Чтобы сразу выполнить эти команды, в правом верхнем углу Report Explorer, нажимают кнопку Eval Now. Это подтверждает, что ваши команды правильны, чтобы уменьшать возможности сообщают о проблемах генерации.
Сохраните отчет..
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Чтобы создать титульный лист для отчета, используйте компонент Title Page.
В панели Схемы слева, выберите Eval
компонент.
В панели Options в середине, под Formatting, добавляет компонент Title Page к отчету.
Поскольку Eval
значок компонента указывает, что этот компонент не может иметь дочерних элементов, компонент Title Page является одноуровневым элементом Eval
компонент. Аналогично, компонент Title Page не может иметь дочерних компонентов.
Примечание
Чтобы использовать компонент Title Page, для вашего отчета нужен компонент Chapter. Вы еще не добавили компонент Chapter, таким образом, панель Свойств отображает сообщение, указывающее, что глава требуется для компонента Title Page появиться правильно. Поскольку позже в этом примере вы добавляете компоненты Chapter в этот отчет, можно проигнорировать то сообщение.
В панели Свойств справа, используйте вкладку Main, чтобы ввести информацию о титульном листе.
В текстовом поле Title введите Magic Squares
.
В текстовом поле Subtitle введите Columns, Rows, Diagonals: Everyone is Equal
.
Под Options выберите Custom author
из списка.
В поле справа от поля Custom author введите Albrecht Durer
.
Альбрехт Дюрер создал травление, которое содержит магический квадрат. Ваш итоговый отчет включает в себя изображение того травления.
Установите флажок Include copyright holder and year.
В следующем текстовом поле введите The MathWorks
.
Во втором текстовом поле введите 1988
.
В панели Свойств, во вкладке Abstract, введите:
An introduction to Magic Squares and their meaning.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Добавьте главу в отчет при помощи компонента Chapter/Subsection.
В панели Схемы слева, выберите компонент Title Page.
В панели Библиотеки в середине, под Formatting, добавляет компонент Chapter/Subsection.
Eval
, Title Page и компоненты Chapter являются всеми дочерними компонентами верхнего уровня отчета и являются одноуровневыми элементами друг друга.
Для пользовательского заголовка главы, в панели Свойств справа, вводят Magic Squares Explained
.
Панель Схемы отображает заголовок главы.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Включайте вводный текст в первую главу путем добавления компонентов Text и Paragraph.
В панели Схемы слева, выберите компонент Chapter.
В панели Библиотеки в середине, под Formatting, добавляет компонент Paragraph.
В панели Схемы новый компонент появляется как дочерний элемент компонента Chapter.
По умолчанию компонент Paragraph наследовал свой текст от его дочерних компонентов. Добавьте два компонента Text.
Примечание
Компонент Text должен иметь компонент Paragraph как свой родительский элемент.
В панели Библиотеки, под категорией Formatting, добавляют два компонента Text к схеме.
В панели Схемы выберите первый Text
компонент.
В текстовом поле Text to include in report введите %<help('magic')>
.
%
знак и угловые скобки <>
укажите к программному обеспечению MATLAB Report Generator, что это - код MATLAB, чтобы оценить. Команда help('magic')
информация об отображениях о MATLAB magic
функция.
В панели Схемы выберите второй Text
компонент.
В текстовом поле Text to include in report введите этот текст.
The German artist Albrecht Durer (1471-1528) created many woodcuts and prints with religious and scientific symbolism. One of his most famous works, Melancholia I, explores the depressed state of mind that opposes inspiration and expression. Renaissance astrologers believed that the Jupiter magic square (shown in the upper right portion of the image) could aid in the cure of melancholy. The engraving's date (1514) can be found in the lower row of numbers in the square.
Сохраните отчет.
Содержимое первой главы теперь завершено.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Создайте изображение Альбрехта Дюрера и включайте его в отчет.
В панели Схемы слева, выберите компонент Chapter.
В панели Библиотеки в середине, под MATLAB, добавляет компонент Evaluate MATLAB Expression.
Переместите компонент Eval под компонентом Paragraph так, чтобы изображение следовало вводному тексту. Чтобы переместиться это, на панели инструментов, кликает по стреле down.
С Eval
выбранный компонент, установил эти свойства:
Снимите флажки Insert MATLAB expression in report и Display command window output in report. Вы не хотите включать код или его выход в отчете.
В текстовом поле Expression to evaluate in the base workspace замените существующий текст на этот код MATLAB.
%This loads a self-portrait of Albrecht %Durer, a German artist. There is a %magic square in the upper right corner %of the image. durerData=load('durer.mat','-mat'); figure('Units','Pixels',... 'Position',[200 200 size(durerData.X,2)*.5 size(durerData.X,1)*.5 ]); image(durerData.X); colormap(durerData.map); axis('image'); set(gca,... 'Xtick',[],... 'Ytick',[],... 'Units','normal',... 'Position',[0 0 1 1]); clear durerData
Этот код MATLAB отображает Дюрера, вытравливающегося в графическом окне MATLAB.
В текстовом поле Evaluate this expression if there is an error замените существующий текст на следующий текст:
disp(['Error during eval: ', evalException.message])
Этот код выполняется, если ошибка происходит при загрузке Дюрера, вытравливающегося.
В панели Схемы слева, выберите Eval
компонент.
В панели Библиотеки в середине, под Handle Graphics, добавляет компонент Figure Snapshot к отчету.
Чтобы встроить компонент изображения (такой как Image или Figure Snapshot), включайте его в компонент Paragraph.
В панели Свойств:
В списке ориентаций Paper выберите Portrait
.
В списке Invert hardcopy выберите Don't invert
.
Выбирание этой опции задает, чтобы не изменить экранные цвета изображения для печати.
Следующие три шага настраивают отчет удалить изображение из рабочего пространства MATLAB после того, как изображение было добавлено к отчету.
В панели Схемы выберите компонент Figure Snapshot.
В панели Библиотеки, под MATLAB, добавляет компонент Evaluate MATLAB Expression к отчету.
В панели Свойств:
Снимите флажки Insert MATLAB expression in report и Display command window output in report. Вы не хотите включать код или его выход в отчете.
В текстовом поле Expression to evaluate in the base workspace замените существующий текст на:
%This command deletes the Durer image delete(gcf);
delete(gcf)
команда удаляет текущее изображение в рабочем пространстве MATLAB, в этом случае, Дюрер, вытравливающийся.
В текстовом поле Evaluate this expression if there is an error замените существующий текст на следующий текст:
disp(['Error during eval: ', evalException.message])
Этот код выполняется, если ошибка происходит при удалении Дюрера, вытравливающегося.
Сохраните отчет.
Добавьте главу в отчет для каждого магического квадрата, заданного переменной отчета magicSizeVector. Вы используете For Loop
компонент, чтобы выполнить эту повторяющуюся задачу. Чтобы создать магические квадраты и их изображения, вы выполняете эти задачи:
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
В панели Схемы слева, выберите компонент Chapter.
В панели Библиотеки в середине, под Logical and Flow Control, добавляет компонент For Loop к отчету.
Этот компонент For Loop появляется в компоненте Chapter. Однако магические квадраты должны быть обработаны после первой главы, поэтому сделайте for
компонент одноуровневый элемент компонента Chapter, не дочерний элемент.
В панели Схемы выберите for
компонент.
Кликните по стреле left, чтобы сделать for
компонент одноуровневый элемент компонента Chapter.
В Свойствах разделяют на области справа:
В текстовом поле End замените существующий текст на этот текст:
length(magicSizeVector)
Это - длина вектора, который содержит различные размеры для матриц магического квадрата.
В текстовом поле Variable name замените существующий текст на следующий текст:
MAGIC_SQUARE_INDEX
Эта переменная действует как индекс цикла.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Создайте главу для каждого квадрата путем добавления компонента Chapter в отчет как дочерний элемент компонента For Loop. Это заставляет Report Generator создавать главу по каждой итерации цикла for во время генерации отчета.
В панели Схемы слева, выберите for
компонент.
В панели Библиотеки в середине, под Formatting, добавляет компонент Chapter/Subsection к настройке отчета.
Это становится дочерним элементом for
компонент.
В панели Свойств справа, выберите Custom
от Title перечисляют и вводят это для заголовка главы:
Magic Square # %<MAGIC_SQUARE_INDEX>
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Извлеките размер каждой матрицы магического квадрата от magicSizeVector
использование компонента Evaluate MATLAB Expression.
В панели Схемы слева, выберите нижнюю часть компонент Chapter.
В панели Библиотеки в середине, под категорией MATLAB, добавляет компонент Evaluate MATLAB Expression к настройке отчета.
В панели Свойств:
Снимите флажки Insert MATLAB expression in report и Display command window output in report.
В текстовом поле Expression to evaluate in the base workspace замените существующий текст на:
magic_Square_Size=magicSizeVector(MAGIC_SQUARE_INDEX);
Эта команда извлекает следующий размер для магического квадрата от вектора из размеров, инициализированных в первом Eval
компонент отчета. Переменная magic_Square_Size
представляет размер текущего обрабатываемого магического квадрата.
В текстовом поле Evaluate this expression if there is an error замените существующий текст на этот текст:
disp(['Error during eval: ', evalException.message])
Этот код выполняется, если ошибка происходит при попытке извлечь значение из magicSizeVector
.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Вставьте размер магического квадрата в отчет с помощью компонентов Insert Variable и Paragraph.
В панели Схемы слева, выберите нижнюю часть компонент Eval.
В панели Библиотеки в середине, под Formatting, добавляет компонент Paragraph к настройке отчета.
Не изменяйте свойства. Переменная, которая содержит размер магического квадрата, входит в этот абзац.
В панели Схемы выберите компонент Paragraph (ниже for
компонент).
В панели Библиотеки, под MATLAB, добавляет компонент Insert Variable в настройку отчета.
В Свойствах разделяют на области справа:
В текстовом поле Variable name введите magic_Square_Size
.
Из списка Display as выберите Inline text
.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Чтобы создать магический квадрат и отобразить связанную матрицу или изображение, используйте компонент Evaluate MATLAB Expression.
В панели Схемы слева, выберите нижнюю часть компонент Paragraph.
В панели Библиотеки в середине, под MATLAB, добавляет компонент Evaluate MATLAB Expression к настройке отчета.
Сделайте этот компонент Evaluate MATLAB Expression одноуровневым элементом компонента Paragraph. В панели Схемы выберите компонент Eval. Кликните по стрелке влево на панели инструментов.
В Свойствах разделяют на области справа:
Снимите флажки Insert MATLAB expression in report и Display command window output in report.
В текстовом поле Expression to evaluate in the base workspace замените существующий текст на этот код MATLAB.
% This MATLAB script produces a magic % square of size magic_Square_Size % and creates an image of that square. mySquare=magic(magic_Square_Size); clf imagesc(mySquare); title(sprintf('Magic Square N=%i',magic_Square_Size)) set(gca,'Ydir','normal'); axis equal; axis tight;
Этот код создает матрицу магического квадрата mySquare
из размера magic_Square_Size
, и открывает изображение той матрицы в графическом окне MATLAB.
В текстовом поле Evaluate this expression if there is an error замените существующий текст на этот текст:
disp(['Error during eval: ', evalException.message])
Этот код выполняется, если ошибка происходит при создании и отображении магического квадрата.
Сохраните отчет.
Примечание
Этот раздел основывается на предыдущих задачах, описанных в постепенном примере, полученном в итоге в, Обеспечивают Интерактивный Отчет MATLAB.
Если вы не завершили предыдущие разделы этого примера, откройте завершенный файл настройки отчета: Magic Squares Report
.
Используйте Logical If
, Logical Then
, и Logical Else
компоненты, чтобы определить, отобразить ли магический квадрат как массив чисел или как изображение.
В панели Схемы слева, выберите Eval
компонент.
На панели Библиотеки в середине, под Logical and Flow Control, дважды кликают Logical If.
На панели Свойств справа, в текстовом поле Test Expression, заменяют существующий текст на этот текст:
magic_Square_Size<=largestDisplayedArray
Эта команда тестирует ли текущий матричный размер (magic_Square_Size
) меньше чем или равно значению, присвоенному в первом Eval
компонент отчета (largestDisplayedArray=15
).
Чтобы обработать результат этого компонента Logical If, создайте два дочерних компонента — Logical Then и Logical Else. Если magic_Square_Size
меньше чем или равно 15, матричная переменная появляется в отчете. Если magic_Square_Size
больше 15, матричное изображение появляется в отчете.
На панели Схемы выберите if
компонент.
На панели Библиотеки, под Logical and Flow Control, дважды кликают Logical Else.
На панели Схемы выберите if
компонент снова.
На панели Библиотеки, под Logical and Flow Control, дважды кликают Logical Then.
then
компонент появляется выше else
компонент.
Сохраните отчет.
Примечание
Этот раздел основывается на постепенном примере, представленном в, Обеспечивают Интерактивный Отчет MATLAB.
Чтобы видеть завершенный файл настройки отчета, откройте Magic Squares Report
.
В панели Схемы слева, выберите then
компонент.
В панели Библиотеки в середине, под MATLAB, дважды кликают Insert Variable.
В Свойствах разделяют на области справа:
В текстовом поле Variable name введите mySquare
, который является переменной, которая содержит магический квадрат заданного размера.
Из списка Title выберите None
.
В текстовом поле Array size limit введите 0
.
Этот Variable
компонент отображает матрицу магического квадрата, сохраненную в mySquare
переменная.
В панели Схемы выберите else
компонент.
В панели Библиотеки, под Handle Graphics, дважды кликают Figure Loop.
Не изменяйте его свойства.
В панели Схемы выберите Figure Loop
компонент.
В панели Библиотеки, под Handle Graphics, дважды кликают Figure Snapshot.
В панели Свойств:
В списке Paper orientation выберите Portrait
.
В списке Image size выберите Custom
.
Под списком Image size введите [5 4]
для размера пользовательского изображения.
В списке Invert hardcopy выберите Invert
.
Эта опция изменяет темные цвета осей в легкие цвета осей, и наоборот.
Панель Схемы выглядит так.
Сохраните отчет.
Можно добавить код MATLAB в отчет, при помощи компонента Evaluate MATLAB Expression (также названный Eval
компонент).
Диалоговое окно компонента Evaluate MATLAB Expression включает флажок Evaluate this expression if there is an error. Диалоговое окно включает код обработки ошибок по умолчанию, который можно использовать, или можно создать собственный код обработки ошибок.
Если вы не изменяете код обработки ошибок по умолчанию, то, когда вы генерируете отчет, и существует ошибка в коде MATLAB, который вы добавили:
Если вы снимаете флажок Evaluate this expression if there is an error, то полный отчет сгенерирован, не отображая сообщение об ошибке в командной строке MATLAB.
Если вы устанавливаете флажок Evaluate this expression if there is an error, то полный отчет сгенерирован, и сообщение об ошибке появляется в командной строке MATLAB.
Чтобы остановить генерацию отчета, когда ошибка происходит в коде MATLAB, который вы добавили, измените вторые и третьи линии следующего кода обработки ошибок по умолчанию, аналогичного описанному ниже:
warningMessageLevel = 2; displayWarningMessage = true; failGenerationWithException = false; failGenerationWithoutException = false;
Чтобы остановить генерацию отчета и отобразить исключение, измените код по умолчанию в:
displayWarningMessage = false; failGenerationWithException = true;
Чтобы остановить генерацию отчета, не отображая исключение, измените код по умолчанию в:
displayWarningMessage = false; failGenerationWithoutException = true;
Если вы хотите заменить код обработки ошибок по умолчанию, используйте evalException.message
переменная в вашем коде, чтобы возвратить информацию для исключения.
Примечание
Этот раздел основывается на постепенном примере, представленном в, Обеспечивают Интерактивный Отчет MATLAB.
Чтобы видеть завершенный файл настройки отчета, откройте Magic Squares Report
.
В начале этого примера вы задали HTML (from template)
как выходной формат отчета. Если вы не сделали, или если вы открыли завершенный файл настройки отчета позже в примере, установите его тот путь теперь.
На панели инструментов нажмите кнопку Report, чтобы сгенерировать отчет.
В то время как отчет генерирует в окне List сообщения, задайте уровень детализации, который вы хотите, чтобы окно List сообщения отобразило.
В панели Схемы Report Explorer каждый компонент файла настройки отчета подсвечивает, как это выполняется.
При обработке концов веб-браузер MATLAB открывает и отображает файл HTML.
Когда вы выбираете HTML (from template)
как выходной тип, оглавление кажется свернутым в отчете. Расширьте или сверните каждый узел путем нажатия плюс или знак "минус" на узле. Нажмите Ctrl +click, чтобы расширить или свернуть целую структуру (CMD +click на платформах Macintosh).