Пакет: slreportgen.report
Суперклассы:
Генератор отчетов блока интерполяционной таблицы
Создайте генератор отчетов блока интерполяционной таблицы Simulink®. Смотрите Свойство объекта для списка поддерживаемых блоков.
Чтобы использовать генератор отчетов LookupTable в отчете, необходимо создать отчет с помощью класса slreportgen.report.Report.
создает пустой генератор отчетов блока rptr = LookupTable()LookupTable на основе шаблона по умолчанию. Используйте его свойства задать блок интерполяционной таблицы, на котором можно сообщить и задать опции отчета.
создает генератор отчетов блока rptr = LookupTable(lutobj)LookupTable для блока интерполяционной таблицы, заданного lutobj. По умолчанию генератор отчетов генерирует таблицу и график выходных значений по сравнению с точками останова и таблицу типов данных.
наборы свойства генератора отчетов rptr = LookupTable(Name,Value)LookupTable с помощью пар "имя-значение". Можно задать несколько аргументов пары "имя-значение" в любом порядке. Заключите каждое имя свойства в одинарные или двойные кавычки.
| createTemplate | Создайте шаблон генератора отчетов блока интерполяционной таблицы Simulink |
| customizeReporter | Создайте пользовательский класс генератора отчетов LookupTable |
| getClassFolder | Расположение файла определения класса генератора отчетов Интерполяционной таблицы |
getImpl | Получите реализацию генератора отчетов |
Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Создайте генератор отчетов PDF, который сообщает относительно блока интерполяционной таблицы. Этот пример использует модель sf_car и отчеты относительно ее
Интерполяционной таблицы engine torque (n-D) блок. Этот блок является 2D интерполяционной таблицей. Блок engine torque находится в подсистеме Engine модели sf_car. Отчет, по умолчанию, включает в себя таблицу выходных значений по сравнению с точками останова, объемной поверхностной диаграммой, таблицей типов данных блока, и отмечает о возможных различиях между значениями, о которых сообщают, и значениями, полученными из симуляции.
import slreportgen.report.*
import mlreportgen.report.*
model_name = 'sf_car';
load_system(model_name)
lutable = 'sf_car/Engine/engine torque';
rpt = slreportgen.report.Report('output','pdf');
chapter = Chapter(lutable);
rptr = LookupTable(lutable);
add(chapter,rptr)
add(rpt,chapter)
close(rpt)
close_system(model_name)
rptview(rpt)

Создайте генератор отчетов PDF, который задает высоту графика и ширину, возвращенную генератором отчетов LookupTable. Этот пример использует модель sf_car и отчеты относительно ее
Интерполяционной таблицы Torque ratio (n-D) блок. Этот блок является 1D интерполяционной таблицей и находится в подсистеме transmission/Torque Converter модели sf_car. Чтобы установить высоту и ширину графика, используйте свойство PlotReporter.
import slreportgen.report.*
import mlreportgen.report.*
model_name = 'sf_car';
load_system(model_name);
lutable = 'sf_car/transmission/Torque Converter/Torque ratio';
rpt = slreportgen.report.Report('output','pdf');
chapter = Chapter(lutable);
rptr = LookupTable(lutable);
rptr.IncludeTable = false;
add(chapter,rptr)
rptr_resized = LookupTable(lutable);
rptr_resized.IncludeTable = false;
rptr_resized.PlotReporter.Snapshot.Width = '3in';
rptr_resized.PlotReporter.Snapshot.Height = '4in';
add(chapter,rptr_resized)
add(rpt,chapter)
close(rpt)
close_system(model_name)
rptview(rpt)График по умолчанию на первой странице использования отчета, предопределенного, измеряя, чтобы соответствовать графику к размеру страницы.

Измененный график на второй странице отчета использует заданный 3 дюйма шириной и 4 дюйма высотой.

Создайте генератор отчетов PDF, который находит все блоки в подсистеме Engine модели sf_car. Программа генератора отчетов затем циклично выполняется через блоки и тесты, является ли блок блоком интерполяционной таблицы. Для блоков интерполяционной таблицы это использует генератор отчетов LookupTable, чтобы сообщить информацию о блоке. Для других блоков сгенерированный отчет сообщает относительно свойств блока, которые являются результатами класса BlockFinder.
import slreportgen.report.*
import slreportgen.finder.*
model_name = 'sf_car';
load_system(model_name)
subsys_name = 'sf_car/Engine';
rpt = slreportgen.report.Report;
blkfinder = BlockFinder(subsys_name);
blks = find(blkfinder);
for i=1:length(blks)
if slreportgen.utils.isLookupTable(blks(i).Object)
rptr = LookupTable(blks(i).Object);
ch = Chapter(blks(i).Name);
add(ch,rptr)
add(rpt,ch)
else
ch = Chapter(blks(i).Name);
add(ch,blks(i))
add(rpt,ch)
end
end
close(rpt)
close_system(model_name)
rptview(rpt)Первая глава показывает свойства по умолчанию, о которых сообщают для блока Inport.

Пятая глава показывает вывод по умолчанию для генератора отчетов блока Lookup Table. Вывод по умолчанию является таблицей выходных значений по сравнению с таблицей точек останова, графиком и таблицей типов данных.


Этот пример показывает, как добавить фиксированное содержимое в индивидуально настраиваемый HTML шаблон генератора отчетов LookupTable. Можно также настроить отчет интерполяционной таблицы, выведенный, отредактировав программу генератора отчетов напрямую. Преимущество настройки шаблона состоит в том, что можно снова использовать ее как основание для настройки другой программы генератора отчетов.
Шаблон и таблицы стилей для генератора отчетов LookupTable расположены в папке matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@LookupTable\resources\templates. Вы не должны задавать этот путь, когда вы копируете шаблон по умолчанию.
Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохранен как заархивированный файл с именем CustomTemplate.htmtx в текущей рабочей папке.
import mlreportgen.report.*
import slreportgen.report.*
LookupTable.createTemplate('CustomTemplate','html');
Разархивируйте пакет шаблона.
unzipTemplate('CustomTemplate.htmtx');Разархивированный пакет шаблона является папкой документа, таблицы стилей и файлов изображений. В этом примере разархивированную папку файлов называют "CustomTemplate" и сохранена в текущей рабочей папке. Файл root.css, который находится в подпапке таблиц стилей, задает стили, которые управляют внешним видом и форматированием сгенерированного отчета. Файл docpart_templates.html задает дыры, которые содержат содержимое отчета, когда отчет сгенерирован.
От папки CustomTemplate откройте файл docpart_templates.html в текстовом редакторе за пределами MATLAB.
<html>
<head>
<meta charset="utf-8" />
<title>Document Part Templates</title>
<link rel="StyleSheet" href="./stylesheets/root.css" type="text/css" />
</head> <body>
<dplibrary>
<!-- NOTE: temporary in the template library until the -->
<! DOM supports a source without template name -->
<dptemplate name="LookupTable">
<hole id="Content">LUT_CONTENT</hole>
<hole id="LUTDataTypes">DATA_TYPE</hole>
<hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
</dptemplate>
<dptemplate name="LookupTableContent">
<hole id="TableContent">TABLECONTENT</hole>
<hole id="FigureContent">FIGURECONTENT</hole>
</dptemplate>
</dplibrary>
</body>
</html>Чтобы добавить фиксированный текст в шаблон, поместите его в желаемое местоположение и используйте стандартную маркировку HTML. Этот пример добавляет текст, который появляется выше таблицы типов данных в сгенерированном отчете. Только фрагмент <dptemplate name="LookupTable"> файла показывают.
<dptemplate name="LookupTable">
<hole id="Content">LUT_CONTENT</hole>
<p><scan>This lookup table block contains the following
data types:</scan></p>
<hole id="LUTDataTypes">DATA_TYPE</hole>
<hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
</dptemplate>
Сохраните файл.
В командной строке MATLAB архивируйте папку шаблона в пакет шаблона. В данном примере пакет шаблона заархивирован к файлу CustomTemplate.htmtx.
zipTemplate('CustomTemplate');Чтобы использовать сохраненный шаблон для вашего отчета, задайте источник шаблона в своей программе генератора отчетов.
lutable = LookupTable(); lutable.TemplateSrc = 'CustomTemplate';
mlreportgen.report.BaseTable | mlreportgen.report.Figure | slreportgen.finder.BlockFinder | slreportgen.finder.BlockResult | slreportgen.finder.DiagramElementFinder | slreportgen.finder.DiagramElementResult | slreportgen.utils.isLookupTable