exponenta event banner

mlreportgen.report.MATLABПеременный класс

Пакет: mlreportgen.report

Репортер переменных MATLAB

Описание

Создайте репортер для отчетов по переменной MATLAB ®.

Строительство

rptr = mlreportgen.report.MATLABVariable() создает репортер переменной MATLAB на основе шаблона по умолчанию. Прежде чем добавлять этот репортер в отчет, используйте его свойства, чтобы указать имя переменной для отчета.

rptr = mlreportgen.report.MATLABVariable(variable) создает репортер переменных MATLAB для указанного MATLAB variable. Чтобы задать локальную переменную, укажите ее имя, например: MATLABVariable(x). Чтобы задать переменную рабочей области MATLAB, укажите ее имя в виде строки или символьного массива, например: MATLABVariable('x'). Чтобы указать другие параметры отчета, используйте свойства этого репортера.

rptr = mlreportgen.report.MATLABVariable(Name,Value) создает репортер переменной MATLAB с опциями, заданными одним или несколькими Name,Value аргументы пары. Name является именем свойства и Value - соответствующее значение. Name должно появляться внутри одиночного ('') или двойной ("") цитаты. Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN.

Вместо указания переменной MATLAB с помощью ее Name, Value , можно указать его, используя только его значение, но он должен быть первым входным аргументом. Например, для глобальной переменной MATLAB с именем x, вы можете использовать либо mlreportgen.report.MATLABVariable(x,"Location","Global") или mlreportgen.report.MATLABVariable("Variable","x","Location","Global").

Входные аргументы

развернуть все

Имя переменной MATLAB, указанное как строковый скаляр, символьный вектор или имя локальной переменной. Чтобы задать локальную переменную, укажите ее имя, например: MATLABVariable(x). Чтобы задать переменную рабочей области MATLAB, укажите ее имя как строковый скалярный или символьный вектор, например: MATLABVariable('x'). Дополнительные сведения о входных данных см. в разделе Свойство Variable.

Свойства

развернуть все

Имя переменной MATLAB, указанное как строковый скалярный или символьный вектор. Указанная переменная может быть любого из следующих типов данных:

  • Символьный или символьный массив

  • Последовательность

  • Клеточный вектор или клеточный массив

  • Логический скаляр, логический вектор или логический массив

  • Числовой скаляр, числовой массив или числовой вектор

  • Таблица MATLAB

  • Вектор объекта MATLAB или массив объектов

  • Объект Simulink ®

  • Объект Stateflow ®

  • Графический объект

  • Структура MATLAB, структурный вектор или структурный массив

  • Перечисление

Расположение переменной, указанной как одна из следующих строк или как массивы символов:

  • "MATLAB" - Базовое рабочее пространство

  • "MAT-File" - MAT-файл, указанный в FileName свойство этого репортера

  • "Global" - Глобальное пространство имен

  • "Local" - локальное пространство имен, обычно пространство имен функции или рабочей области, в которой был создан этот репортер;

  • "Model" - Рабочее пространство модели Simulink Report Generator™, указанной в FileName свойство этого репортера

  • "User-Defined"setVariableValue метод устанавливает значение для отчета и устанавливает для этого свойства значение "User-Defined"

Имя MAT-файла или модели Simulink, содержащей переменную, заданную как строковый скаляр или как символьный вектор. Это свойство применяется только в том случае, если Location значение свойства - MAT-File или Model. Если Location является MAT-Fileимя файла - это имя MAT-файла, из которого следует получить переменную. Если Location является Model, FileName - имя файла модели Simulink, содержащего переменную.

Формат значений переменных, указанных как одна из следующих строк или векторов символов:

  • "Auto" - форматирует значения переменных как таблицу или абзац в зависимости от типа данных значения.

    Типы данных, отформатированные как таблица, включают:

    • Массив ячеек

    • Логический массив

    • Числовой массив

    • Таблица MATLAB

    • Объект Simulink

    • Объект потока состояний

    • Графический объект

    • Структура или массив структуры MATLAB

    • Объект или массив объектов MATLAB

    • Класс перечисления MATLAB, определяющий свойства

    Типы данных, отформатированные как абзац, включают:

    • Клеточный вектор

    • Логический скаляр или вектор

    • Числовой скаляр или вектор

    • Символьный или символьный массив

    • Последовательность

    • Вектор структуры MATLAB

    • Вектор объекта MATLAB

    • Класс перечисления MATLAB, не определяющий свойства

  • "Table" - форматирует значения переменных в таблице. Переменные, которые по умолчанию отображаются как абзацы, форматируются как записи таблицы. У переменных, которые иерархически структурированы объекты, такой как структуры MATLAB, объекты MATLAB, объекты Симулинка, объекты Стэтефлоу или графические объекты, могут быть свойства, которые являются самостоятельно объектами. В этом случае иерархия распрямляется, и значение свойства отображается как гиперссылка на таблицу свойств этого объекта. Таблица свойств объекта также имеет гиперссылку на исходную таблицу.

  • "Paragraph" - Форматирование значений переменной как абзаца. Переменные, которые по умолчанию форматируются как таблицы, распрямляются и форматируются как абзац.

  • "Inline Text" - форматирует переменную в соответствии с окружающим текстом.

Табличный репортер, используемый этим MATLABVariable reporter для форматирования значений переменных, указанных как mlreportgen.report.BaseTable объект. Чтобы настроить внешний вид таблицы, измените значение по умолчанию BaseTable свойства репортера или заменить его настраиваемым BaseTable репортер. При добавлении содержимого в Title свойства по умолчанию или настраиваемого репортера, содержимое которого отображается перед заголовком таблицы в созданном отчете.

Объект форматирования абзацев для форматирования значения переменной MATLAB, указанной как mlreportgen.dom.Paragraph объект. Чтобы настроить внешний вид абзаца, измените DOM Paragraph свойства объекта или замена объекта настраиваемым Paragraph объект. Если добавить содержимое к объекту абзаца по умолчанию или заменить его, это содержимое появится перед содержимым переменной в созданном отчете.

Объект форматирования текста для форматирования текстовых значений переменной MATLAB в таблицах или абзацах, указанный как mlreportgen.dom.Text объект. Чтобы настроить внешний вид текста, измените DOM Text свойства объекта или замена объекта настраиваемым Text объект. При добавлении содержимого в текстовый объект по умолчанию или замены это содержимое появляется перед переменным содержимым в созданном отчете.

Максимальное количество отображаемых столбцов таблицы, указанное как положительное целое число. Для переменных массива, сообщаемых с помощью таблицы, если количество столбцов больше значения MaxCols , таблица разделяется по вертикали. При разрезании таблица разделяется на несколько таблиц.

Максимальное количество уровней для отчета переменной, являющейся структурированным объектом или массивом структурированных объектов, указанных как неотрицательное целое число. Уровни, меньшие или равные значению DepthLimit сплющены в последовательность взаимосвязанных таблиц (см. FormatPolicy свойство). Уровни, превышающие предел глубины, не сообщаются. Если установить DepthLimit до 0, структурированные объекты не разворачиваются.

Максимальное количество объектов в иерархии объектов для отчета, указанное как положительное целое число.

Включать ли заголовок, указанный как true или false. Заголовок содержит имя переменной и, при необходимости, тип данных. Если IncludeTitle является true, заголовок включен. По умолчанию заголовок включает только имя переменной. Чтобы включить тип данных переменной, установите значение ShowDataType свойство для true.

Заголовок переменной для отчета, указанный как символьный вектор, строковый скаляр, mlreportgen.dom.Text объект, mlreportgen.dom.InternalLink объект, или mlreportgen.dom.ExternalLink объект.

Если FormatPolicy свойство имеет значение "Inline Text" и Title свойство имеет значение:

  • Объект DOM, форматирование, указанное объектом DOM, игнорируется

  • Один mlreportgen.dom.InternalLink или mlreportgen.dom.ExternalLink объект, текст ссылки используется для заголовка, но заголовок не является ссылкой

В обоих случаях для форматирования заголовка используйте TextFormatter свойство этого MATLABVariable репортер.

Если не указать Title свойство, заголовок - имя переменной.

Показывать ли тип данных переменной в заголовке, указанный как true или false.

Показывать ли свойства с пустыми значениями, указанными как true или false. ShowEmptyValues свойство применяется только к переменным объектов MATLAB, Simulink и Stateflow.

Показывать ли свойства, использующие значение по умолчанию, указанное как true или false. ShowDefaultValues свойство применяется только к переменным объектов MATLAB, Simulink и Stateflow.

Функция или выражение для фильтрации свойств переменной из отчета. Укажите функцию как дескриптор функции. Укажите выражение как строковый скалярный или символьный вектор. Это свойство применяется только к переменным, содержащим объекты. Если вы не предоставите PropertyFilterFcnвсе свойства переменной включаются в отчет.

Если предоставляется дескриптор функции, связанная функция должна:

  • Возьмем следующие аргументы:

    • variableName - имя сообщаемой переменной;

    • variableObject - Представляемая переменная

    • propertyName - имя свойства сообщаемой переменной;

  • Вернуть true для фильтрации указанного свойства из отчета или false для включения свойства в отчет.

Например, этот код предотвращает отображение NumRegions и NumHolesсвойства polyshape объект.

import mlreportgen.report.*

rpt = mlreportgen.report.Report('variablerpt','pdf');
open(rpt);

pgon = polyshape([0 0 2 2],[2 0 0 2]);
mlVar = mlreportgen.report.MATLABVariable(pgon);
mlVar.PropertyFilterFcn = @varPropertyFilter;
add(rpt,mlVar);

close(rpt);
rptview(rpt);

function tf = varPropertyFilter(~,variableObject,propertyName)
if isa(variableObject, "polyshape")
    tf = (propertyName == "NumRegions") ||  ...
        (propertyName == "NumHoles");
    
end
end

Если предоставляется строковый скаляр или символьный вектор, он должен содержать выражение. Выражение:

  • Может использовать переменные variableName, variableObject, и propertyName

  • Необходимо задать переменную isFiltered кому true для фильтрации указанного свойства из отчета или false включение свойства в отчет

Например, этот код фильтрует NumHoles имущество polyshape объект из отчета.

import mlreportgen.report.*

rpt = mlreportgen.report.Report('variablerpt','pdf');
open(rpt);


pgon = polyshape([0 0 2 2],[2 0 0 2]);
mlVar = mlreportgen.report.MATLABVariable(pgon);
mlVar.PropertyFilterFcn = "isFiltered = " + ...
            "isa(variableObject, 'polyshape') && " + ...
            "propertyName == 'NumHoles';";
add(rpt,mlVar);

close(rpt);
rptview(rpt);

Формат или точность отображения неинтегрированных числовых значений.

Укажите формат в виде строкового скаляра или символьного вектора. См. раздел formatSpec аргумент на sprintf справочная страница.

Укажите точность как положительное целое число. См. раздел precision аргумент на num2str справочная страница.

Пример: "%.2f" отображает двойные значения с двумя цифрами справа от десятичного знака.

Пример: 2 отображает максимальное количество двух значащих цифр.

Источник шаблона для этого репортера, указанный одним из следующих способов:

  • Вектор символов или строковый скаляр, указывающий путь к файлу, содержащему шаблон для этого репортера

  • Репортер или отчет, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера

  • Документ DOM или деталь документа, шаблон которого используется для этого репортера или библиотека шаблонов которого содержит шаблон для этого репортера

Указанный шаблон должен быть того же типа, что и отчет, к которому добавлен этот репортер. Например, для отчета Microsoft ® Word :TemplateSrc должен быть шаблоном репортера Word. Если TemplateSrc пустое свойство, этот репортер использует шаблон репортера по умолчанию для типа вывода отчета.

Имя шаблона для этого репортера, указанного как вектор символов или скаляр строки. Шаблон для этого репортера должен находиться в библиотеке шаблонов источника шаблона (TemplateSrc) для этого репортера.

Цель гиперссылки для этого репортера, указанная как вектор символов или скаляр строки, указывающий идентификатор цели связи, или mlreportgen.dom.LinkTarget объект. Вектор символов или строковое скалярное значение преобразуется в LinkTarget объект. Цель ссылки непосредственно предшествует содержимому этого репортера в выходном отчете.

Методы

createTemplateСоздание шаблона переменной MATLAB
customizeReporter Создание пользовательского класса отчетов переменной MATLAB
getClassFolder Расположение файла определения класса переменных MATLAB
getVariableValue Получение значения переменной MATLAB
setVariableValueЗадание значения для отчета по переменной

Унаследованные методы

копия Создание копии объекта reporter и создание глубоких копий определенных значений свойств
getImpl Получить реализацию репортера

Примеры

Переменные отчета с использованием прямых имен или строк

В этом примере показано, как создавать отчеты по переменным MATLAB. Локальная переменная использует только свое имя в качестве входных данных для MATLABVariable и переменная рабочей области использует строку. В первой части примера используются настройки свойств по умолчанию, а во второй части отображается таблица.

Примечание

Перед выполнением этого примера создайте эту переменную в базовой рабочей области MATLAB:

workspace_var = ['Workspace variable input ',...
   'specified as a string'];

rpt = mlreportgen.report.Report("MyReport","pdf");

local_var = ['Local variable input specified ',...
   'using its variable name'];

chapter = mlreportgen.report.Chapter();
chapter.Title = "MATLAB Variable Reporter Example";

% Format using default paragraphs
rptr_local1 = mlreportgen.report.MATLABVariable...
   (local_var);
rptr_workspace1 = mlreportgen.report.MATLABVariable...
   ("workspace_var");

add(chapter,rptr_local1)
add(chapter,rptr_workspace1)

% Format as a table
rptr_local2 = mlreportgen.report.MATLABVariable...
   (local_var);
rptr_workspace2 = mlreportgen.report.MATLABVariable...
   ("workspace_var");
rptr_local2.FormatPolicy = 'Table';
rptr_workspace2.FormatPolicy = 'Table';

add(chapter,rptr_local2)
add(chapter,rptr_workspace2)
add(rpt,chapter)
 
close(rpt)
rptview(rpt)

Представлен в R2018b