mlreportgen.report.MATLABVariable 类
命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter
MATLAB 变量报告器
创建对象
描述
根据默认模板创建 MATLAB 变量报告器。在将此报告器添加到报告之前,请使用其属性指定要报告的变量名称。rptr
= mlreportgen.report.MATLABVariable
rptr = mlreportgen.report.MATLABVariable(variable)
为指定的 MATLAB variable
创建 MATLAB 变量报告器。要指定局部变量,请指定其名称,例如 MATLABVariable(x)
。要指定 MATLAB 工作区变量,请将其名称指定为字符向量或字符串标量,例如 MATLABVariable('x')
。要指定其他报告选项,请使用此报告器的属性。
创建一个 MATLAB 变量报告器,其选项由一个或多个 rptr
= mlreportgen.report.MATLABVariable(Name=Value
)Name=Value
对参量指定。Name
是属性名称,Value
是相应的值。您可采用任意顺序指定多个名称-值对组参量,例如 Name1=Value1,...,NameN=ValueN
。
属性
Variable
— MATLAB 变量名称
字符向量 | 字符串标量
MATLAB 变量名称,指定为字符向量或字符串标量。指定的变量可以是以下任意数据类型:
字符向量
字符串标量
元胞向量或元胞数组
逻辑标量、逻辑向量或逻辑数组
数值标量、数值数组或数值向量
MATLAB 表
MATLAB 对象向量或对象数组
Simulink® 对象
Stateflow® 对象
图形对象
MATLAB 结 构体、结构体向量或结构体数组
枚举
Location
— 变量的位置
"MATLAB"
(默认) | "MAT-File"
| "Global"
| "Local"
| "Model"
| "User-Defined"
变量的位置,指定为以下字符串之一或字符向量:
"MATLAB"
- 基础工作区"MAT-File"
- 此报告器的FileName
属性中指定的 MAT 文件"Global"
- 全局命名空间"Local"
- 本地命名空间,通常是创建此报告器的函数或工作区的命名空间"Model"
- 此报告器的FileName
属性中指定的 Simulink Report Generator™ 模型的工作区"User-Defined"
-setVariableValue
方法设置要报告的值,并将此属性设置为"User-Defined"
FileName
— 包含变量的文件或模型的名称
字符向量 | 字符串标量
包含变量的 MAT 文件或 Simulink 模
型的名称,指定为字符串标量或字符向量。仅当 Location
属性值为 MAT-File
或 Model
时,此属性才适用。如果 Location
是 MAT-File
,则文件名就是从中获取变量的 MAT 文件的名称。如果 Location
是 Model
,那么 FileName
就是包含该变量的 Simulink 模
型文件的名称。
FormatPolicy
— 变量值的格式
"Auto"
(默认) | "Table"
| "Paragraph"
| "Inline Text"
变量值的格式,指定为以下字符串或字符向量之一:
"Auto"
- 根据值的数据类型将变量值格式化为表格或段落。格式化为表格的数据类型包括:
元胞数组
逻辑数组
数值数组
MATLAB 表
Simulink 对象
Stateflow 对象
图形对象
MATLAB 结构体或结构体数组
MATLAB 对象或对象数组
定义属性的 MATLAB 枚举类
格式化为段落的数据类型包括:
元胞向量
逻辑标量或向量
数值标量或矢量
字符或字符向量
字符串
MATLAB 结构体向量
MATLAB 对象向量
MATLAB 未定义属性的枚举类
"Table"
- 以表格形式格式化变量值。默认以段落形式出现的变量被格式化为表格条目。作为层次结构对象的变量(例如 MATLAB 结构、MATLAB 对象、Simulink 对象、Stateflow 对象或图形对象)可以具有本身就是对象的属性。在这种情况下,层次结构变得扁平,并且属性值显示为指向该对象属性表的超链接。对象属性表还具有指向原始表的超链接。"Paragraph"
- 将变量值格式化为段落。默认情况下格式化为表格的变量将被展平并格式化为段落。"Inline Text"
- 将变量格式化为与周围文本一致。
TableReporter
— 变量值的表格报告器
mlreportgen.report.BaseTable
此 MATLABVariable
报告器使用的表报告器来格式化变量值,指定为 mlreportgen.report.BaseTable
对象。要自定义表格的外观,请修改默认的 BaseTable
报告器属性或将其替换为自定义的 BaseTable
报告器。如果您向默认或自定义报告器的 Title
属性添加内容,则该内容将出现在生成的报告中的表标题前面。
ParagraphFormatter
— MATLAB 变量的段落格式化程序
mlreportgen.dom.Paragraph
对象
段落格式化程序对象用于格式化 MATLAB 变量的值,指定为 mlreportgen.dom.Paragraph
对象。要自定义段落的外观,请修改 DOM Paragraph
对象属性或将该对象替换为自定义的 Paragraph
对象。如果您向默认或替换段落对象添加内容,则该内容会出现在生成的报告中的变量内容前面。
TextFormatter
— MATLAB 变量的文本格式化程序
mlreportgen.dom.Text
对象
文本格式化程序对象,用于格式化表格或段落中的 MATLAB 变量文本值,指定为 mlreportgen.dom.Text
对象。要自定义文本的外观,请修改 DOM Text
对象属性或用自定义的 Text
对象替换该对象。如果向默认或替换文本对象添加内容,则该内容会出现在生成的报告中的变量内容前面。
MaxCols
— 表格显示的最大列数
32 (默认) | 正整数
要显示的最大表列数,指定为正整数。对于使用表报告的数组变量,如果列数大于 MaxCols
属性的值,则对表进行垂直切片。切片将表分成多个表。
DepthLimit
— 报告的最大嵌套层数
10 (默认) | 非负整数
对于结构化对象或结构化对象数组的变量,要报告的最大级别数,指定为非负整数。小于或等于 DepthLimit
值的级别将被展平为一系列相互链接的表(请参阅 FormatPolicy
属性)。不会报告超过深度限制的水平。如果将 DepthLimit
属性设置为 0,则结构化对象不会扩展。
ObjectLimit
— 要报告的最大嵌套对象数
200 (默认) | 正整数
要报告的对象层次结构中的最大对象数,指定为正整数。
IncludeTitle
— 是否包含标题
true
(默认) | false
是否包含标题,指定为 true
或 false
。标题包含变量名称和可选的数据类型。如果 IncludeTitle
是 true
,则包含标题。默认情况下,标题仅包含变量的名称。要包含变量的数据类型,请将 ShowDataType
属性设置为 true
。
Title
— 报告变量的标题
[]
(默认) | 字符向量 | 字符串标量 | mlreportgen.dom.Text
对象 | mlreportgen.dom.InternalLink
对象 | mlreportgen.dom.ExternalLink
对象
要报告的变量的标题,指定为字符向量、字符串标量、mlreportgen.dom.Text
对象、mlreportgen.dom.InternalLink
对象或 mlreportgen.dom.ExternalLink
对象。
如果将 FormatPolicy
属性设置为 "Inline Text"
并且将 Title
属性设置为:
DOM 对象,DOM 对象指定的格式被忽略
mlreportgen.dom.InternalLink
或mlreportgen.dom.ExternalLink
对象,链接文本用于标题,但标题不是链接
在这两种情况下,要格式化标题,请使用此 MATLABVariable
报告器的 TextFormatter
属性。
如果不指定 Title
属性,则标题就是变量名称。
ShowDataType
— 是否在标题中显示变量的数据类型
false
(默认) | true
是否在标题中显示变量的数据类型,指定为 true
或 false
。
ShowEmptyValues
— 是否显示具有空值的属性
true
(默认) | false
是否显示具有空值的属性,指定为 true
或 false
。ShowEmptyValues
属性仅适用于 MATLAB 对象、Simulink 对象和 Stateflow 对象变量。
ShowDefaultValues
— 是否显示使用默认值的属性
true
(默认) | 0
是否显示使用默认值的属性,指定为 true
或 false
。ShowDefaultValues
属性仅适用于 MATLAB 对象、Simulink 对象和 Stateflow 对象变量。
PropertyFilterFcn
— 用于过滤报告变量的属性的函数或表达式
[]
(默认) | 函数句柄 | 字符向量 | 字符串标量
用于从报告中过滤变量属性的函数或表达式。指定一个函数作为函数句柄。将表达式指定为字符向量或字符串标量。此属性仅适用于包含对象的变量。如果不提供 PropertyFilterFcn
,则变量的所有属性都将包含在报告中。
如果提供函数句柄,则关联函数必须:
请考虑以下参量:
variableName
- 正在报告的变量的名称variableObject
- 被报告的变量propertyName
- 正在报告的变量的属性名称
返回
true
以从报告中过滤指定属性,或返回false
以将该属性包含在报告中。
例如,此代码阻止显示 polyshape
对象的 NumRegions
和 NumHoles
属性。
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
才能将属性包含在报告中
例如,此代码从报告中过滤掉 polyshape
对象的 NumHoles
属性。
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);
NumericFormat
— 用于显示非整数数值的格式或精度
[]
(默认) | 字符向量 | 字符串标量 | 正整数
用于显示非整数数值的格式或精度。
将格式指定为字符串标量或字符向量。请参阅 sprintf
参考页面上的 formatSpec
参量。
将精度指定为正整数。请参阅 num2str
参考页面上的 precision
参量。
示例: "%.2f"
显示小数点右边有两位数字的双精度值。
示例: 2
显示最多两位有效数字。
TemplateSrc
— 本报告器模板来源
[]
(默认) | 字符向量 | 字符串标量 | 报告器或报告 | DOM 文档或文档部件
此报告器的模板来源,指定为以下选项之一:
字符向量或字符串标量,指定包含此报告器模板的文件的路径
报告器或报告,其模板用于此报告器,或其模板库包含此报告器的模板
DOM 文档或文档部件,其模板用于此报告器,或其模板库包含此报告器的模板
指定的模板必须与此报告器所追加到的报告属于同一类型。例如,对于 Microsoft® Word 报
告,TemplateSrc
必须是 Word 报告模板。如果 TemplateSrc
属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
TemplateName
— 此报告器的模板名称
字符向量 | 字符串标量
此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的模板源 (TemplateSrc
) 的模板库中。
LinkTarget
— 此报告器的超链接目标
[]
(默认) | 字符向量 | 字符串标量 | mlreportgen.dom.LinkTarget
对象
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或指定为 mlreportgen.dom.LinkTarget
对象。字符向量或字符串标量值被转换为 LinkTarget
对象。链接目标在输出报告中紧接着此报告器的内容。
方法
公共方法
mlreportgen.report.MATLABVariable.createTemplate | 创建 MATLAB 变量模板 |
mlreportgen.report.MATLABVariable.customizeReporter | 创建自定义 MATLAB 变量报告器类 |
mlreportgen.report.MATLABVariable.getClassFolder | MATLAB 变量类定义文件位置 |
getVariableValue | 获取 MATLAB 变量值 |
setVariableValue | 设置要报告的变量的值 |
copy | 创建报告对象的副本并对某些属性值进行深度复制 |
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 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)