mlreportgen.report.MATLABVariable class

Пакет: mlreportgen.report

Переменный MATLAB reporter

Описание

Создайте репортер, который сообщает о 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'). Для получения дополнительной информации о входе смотрите свойство Переменная.

Свойства

расширить все

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

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

  • Строка

  • Вектор камеры или массив ячеек

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

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

  • Таблица MATLAB

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

  • Simulink® объект

  • Stateflow® объект

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Таблица MATLAB

    • Объект Simulink

    • Объект Stateflow

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

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

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

    • Класс перечисления MATLAB, который задает свойства

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

    • Вектор камеры

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

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

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

    • Строка

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

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

    • Класс перечисления MATLAB, который не задает свойства

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

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

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

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

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

Объект Text formatter для форматирования текстовых значений переменного MATLAB в таблицах или абзацах, заданных как mlreportgen.dom.Text объект. Чтобы настроить внешний вид текста, измените Text DOM свойства объекта или замените объект настраиваемым 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. The ShowEmptyValues свойство применяется только к объекту MATLAB, объекту Simulink и переменным объекта Stateflow.

Отображать ли свойства, которые используют значение по умолчанию, заданное как true или false. The 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® Отчет о словах, TemplateSrc должен быть шаблоном репортера Word. Если на TemplateSrc свойство пусто, этот репортер использует шаблон reporter по умолчанию для типа выхода отчета.

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

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

Методы

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

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

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

Примеры

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

В этом примере показано, как сообщить о переменном 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