主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreportgen.report.ModelConfiguration 类

命名空间: slreportgen.report
超类: slreportgen.report.Reporter

模型配置设置报告器

描述

使用 slreportgen.report.ModelConfiguration 类的对象来报告模型的活动配置集。

注意

要在报告中使用 slreportgen.report.ModelConfiguration 报告器,您必须使用 slreportgen.report.Report 类或子类创建报告。

slreportgen.report.ModelConfiguration 类是 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

reporter = slreportgen.report.ModelConfiguration 根据默认模板创建一个空的 ModelConfiguration 报告器对象。您必须通过设置 Model 属性来指定要报告活动配置集的模型。使用其他属性来指定报告选项。

reporter = slreportgen.report.ModelConfiguration(model) 创建一个 ModelConfiguration 报告器对象,并将 Model 属性设置为指定的模型。

示例

reporter = slreportgen.report.ModelConfiguration(Name=Value) 使用名称-值参量设置报告器属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

打开或加载的 Simulink® 模型的名称或句柄,指定为字符串标量、字符向量或句柄。

配置集标题,指定为字符向量、字符串标量、mlreportgen.dom.Text 对象、mlreportgen.dom.InternalLink 对象或 mlreportgen.dom.ExternalLink 对象。

如果将 FormatPolicy 属性设置为 "Inline Text" 并且将 Title 属性设置为:

  • DOM 对象,DOM 对象指定的格式被忽略

  • mlreportgen.dom.InternalLinkmlreportgen.dom.ExternalLink 对象,链接文本用于标题,但标题不是链接

在这两种情况下,要格式化标题,请使用此 ModelConfiguration 报告器的 TextFormatter 属性。

如果您未指定标题,则标题是模型名称后跟 Configuration Set。例如:

sf_car Configuration Set

报告配置集的格式,指定为以下字符串或字符向量之一:

  • "Auto" - 根据数据类型将配置集、组件和属性值格式化为表格或段落。

    格式化为表格的数据类型包括:

    • 元胞数组

    • 逻辑数组

    • 数值数组

    • MATLAB®

    • Simulink 对象

    • Stateflow® 对象

    • 图形对象

    • MATLAB 结构体或结构体数组

    • MATLAB 对象或对象数组

    格式化为段落的数据类型包括:

    • 元胞向量

    • 逻辑标量或向量

    • 数值标量或向量

    • 字符或字符数组

    • 字符串

    • MATLAB 结构体向量

    • MATLAB 对象向量

    因为配置集和组件是对象,所以它们被格式化为表格。属性值根据值的数据类型进行格式化。

  • "Table" - 格式化表格中的值。默认情况下以段落形式出现的数据类型被格式化为表格条目。具有层次结构的对象数据类型(例如 MATLAB 结构、MATLAB 对象、Simulink 对象、Stateflow 对象或图形对象)可以具有本身就是对象的属性。在这些情况下,层次结构是扁平的,并且属性值是指向字段或对象属性表的超链接。字段或属性表链接回原始表。

  • "Paragraph" - 生成配置集的段落描述。例如:

    First paragraph is "Source Type :Model". Second paragraph is "Source Name: sf_car". Third paragraph is "sf_car Configuration Set. Configuration (Active)".

  • "Inline Text" - 生成与周围文本一致的配置集描述。例如:

    Single line of inline text, reading "sf_car Configuration Set Configuration (Active) in sf_car (Model)"

ModelConfiguration 报告器生成的表格的表格格式化程序,指定为 mlreportgen.report.BaseTable 对象。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 ModelConfigurationTable 样式,该样式在 ModelConfiguration 报告器的默认模板中定义。要自定义表格的外观,请修改默认 BaseTable 对象的属性或将该对象替换为您自己的 BaseTable 对象。如果向 Title 属性添加内容,则该内容会出现在生成的报告中的表标题前面。

任何以段落形式生成的模型配置内容的段落格式化程序,指定为 mlreportgen.dom.Paragraph 对象。该属性的默认值是 Paragraph 对象,其 StyleName 属性设置为 ModelConfigurationParagraph 样式,该样式在 ModelConfiguration 报告器的默认模板中定义。要自定义段落的外观,请修改默认 Paragraph 对象的属性或将该对象替换为您自己的 Paragraph 对象。如果向段落对象添加内容,则该内容会出现在生成的报告中的模型配置内容前面。

用于生成为内联文本的任何模型配置内容的文本格式化程序,指定为 mlreportgen.dom.Text 对象。默认情况下,此属性的值是一个空的 Text 对象。要自定义文本的外观,请修改默认 mlreportgen.dom.Text 对象的属性或将该对象替换为自定义的 mlreportgen.dom.Text 对象。如果向 Text 对象添加内容,则该内容会出现在生成的报告中的模型配置内容前面。

值表中的最大表列数,指定为正整数。如果使用表格报告属性值,并且列数大于 MaxCols 属性的值,则表格将被垂直切片。切片将表分成多个表。

要报告的结构化对象层次结构中嵌套级别的最大数,指定为非负整数。层次结构的顶层是配置集对象 (Simulink.ConfigSet)。小于或等于 DepthLimit 值的级别将被展平为一系列相互链接的表。不会报告超过深度限制的水平。如果将 DepthLimit 属性设置为 0,则不会扩展层次结构类型。

要报告的对象层次结构中的最大对象数,指定为正整数。

是否包含配置集标题,指定为 truefalse

IncludeTitletrue 时,配置集标题(Title 属性的内容)包含在:

  • FormatPolicy"Auto""Table" 时配置集属性表的标题

  • FormatPolicy"Inline Text""Paragraph" 时生成的内容

配置集标题始终包含在包含配置集组件的段落或表格的标题中,无论 IncludeTitle 属性的值是什么。

标题是否包含标题描述的值的数据类型,指定为 truefalse

数据类型: logical

是否显示具有空值的配置集或组件属性,指定为 truefalse

数据类型: logical

是否显示使用默认值的配置集或组件属性,指定为 truefalse

数据类型: logical

要过滤的配置集和组件对象属性,指定为函数句柄、字符串标量或字符向量。如果 PropertyFilterFcn 为空,则报告将包括所有配置属性。

如果您指定了一个函数句柄,则与该句柄关联的函数必须:

  • 接受以下参量:

    • variableName - 要报告的变量的名称

    • variableObject - 要报告的变量

    • propertyName - 要报告的变量的属性名称

  • 返回 true 以从报告中过滤指定属性,或返回 false 以将该属性包含在报告中。

例如,请参阅 使用函数句柄过滤配置属性

如果您指定一个字符串标量或字符向量,它必须包含一个表达式。表达式:

  • 可以使用变量 variableNamevariableObjectpropertyName

  • 必须将变量 isFiltered 设置为 true 才能从报告中过滤指定的属性,或者将变量设置为 false 才能将属性包含在报告中

例如,请参阅 使用字符串标量过滤配置属性

用于显示非整数数值的格式或精度,指定为字符串标量、字符向量或正整数。

将格式指定为字符串标量或字符向量。请参阅 sprintf 引用页面上的 formatSpec 参量。

将精度指定为正整数。请参阅 num2str 引用页面上的 precision 参量。

示例: "%.2f" 显示小数点右边有两位数字的双精度值。

示例: 2 显示最多两位有效数字。

此报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告

  • 文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板

指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

此报告器的模板名称,指定为字符向量或字符串标量。此报告器的模板必须位于此报告器 TemplateSrc 属性所指定模板的模板库中。

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标紧接在输出报告中此报告器的内容之前。

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

示例

全部折叠

使用 slreportgen.report.ModelConfiguration 类的对象来报告活动模型配置集。

创建 Simulink 报告。

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

为活动模型配置集创建一个章节。

chapter = mlreportgen.report.Chapter();
chapter.Title = "Active Model Configuration Set";

加载模型。

model_name = "sf_car";
load_system(model_name);

创建一个 slreportgen.report.ModelConfiguration 对象来报告模型的活动配置集。

reporter = slreportgen.report.ModelConfiguration(model_name);

将报告器附加到章节,将章节附加到报告。

append(chapter,reporter);
append(rpt,chapter);

关闭并查看报告。

close(rpt);
rptview(rpt);

此示例通过将 PropertyFilterFcn 属性指定为函数句柄,展示了如何过滤活动模型配置集中设置的 NameDescription 属性。

创建 Simulink 报告。

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

为活动模型配置集创建一个章节。

chapter = mlreportgen.report.Chapter();
chapter.Title = "Active Model Configuration Set";

加载模型。

model_name = "sf_car";
load_system(model_name);

创建一个 slreportgen.report.ModelConfiguration 对象来报告模型的活动配置集。

reporter = slreportgen.report.ModelConfiguration(model_name);

PropertyFilterFcn 属性指定为名为 filterFcnHandle 的函数句柄,该函数句柄过滤 NameDescription 属性。

filterFcnHandle = @(variableName,variableObject,propertyName) ...
    (propertyName == "Name") ||  ...
    (propertyName == "Description");
reporter.PropertyFilterFcn = filterFcnHandle;

将报告器附加到章节,将章节附加到报告。

append(chapter,reporter);
append(rpt,chapter);

关闭并查看报告。

close(rpt);
rptview(rpt);

此示例通过将 PropertyFilterFcn 属性指定为字符串,展示了如何过滤活动模型配置集中设置的 NameDescription 属性。

创建 Simulink 报告。

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

为活动模型配置集创建一个章节。

chapter = mlreportgen.report.Chapter();
chapter.Title = "Active Model Configuration Set";

加载模型。

model_name = "sf_car";
load_system(model_name);

创建一个 slreportgen.report.ModelConfiguration 对象来报告模型的活动配置集。

reporter = slreportgen.report.ModelConfiguration(model_name);

PropertyFilterFcn 属性指定为过滤 NameDescription 属性的字符串。字符串必须包含一个表达式,该表达式设置名为 isFiltered 的变量的值。

filterStr = "isFiltered = " + ...
    "strcmp(propertyName,'Name') || " + ...
    "strcmp(propertyName,'Description');";
reporter.PropertyFilterFcn = filterStr;

将报告器附加到章节,将章节附加到报告。

append(chapter,reporter);
append(rpt,chapter);

关闭并查看报告。

close(rpt);
rptview(rpt);

算法

该报告器仅包括在生成报告时加载的配置参数。默认情况下,当您打开模型时,Simulink 会加载 Simulink 配置参数以及与其他产品相关的设置配置参数。例如,Simulink Check™ 配置参数 显示模型顾问编辑时检查 只有在您设置后才会加载。要包括不默认加载的其他产品的参数,请在生成报告之前在模型中手动设置这些参数。

版本历史记录

在 R2020b 中推出