Пакет: 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