主要内容

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

slreportgen.report.MATLABFunction 类

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

MATLAB Function 模块或 Stateflow MATLAB 函数报告器

描述

使用 slreportgen.report.MATLABFunction 类的对象来报告 Simulink® MATLAB Function 模块或 Stateflow® MATLAB® 函数。

默认情况下,MATLABFunction 报告器会将此信息添加到报告中:

  • Simulink MATLAB Function 模块或 Stateflow MATLAB 函数属性

  • 函数输入和输出参量的摘要

  • 函数用来根据输入计算输出的 MATLAB 代码

使用报告器属性来包含其他信息,例如详细参量属性、函数符号属性和支持函数。

注意

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

slreportgen.report.MATLABFunction 类是 handle 类。

类属性

HandleCompatible
true

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

创建对象

描述

reporter = slreportgen.report.MATLABFunction 根据默认模板创建一个空的 MATLABFunction 报告器。使用 Object 属性指定要报告的 Simulink MATLAB Function 模块或 Stateflow MATLAB 函数。

reporter = slreportgen.report.MATLABFunction(mlfcnObj)Object 属性设置为 mlfcnObj 指定的 MATLAB Function 模块或 Stateflow MATLAB 函数。

示例

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

属性

全部展开

要报告的 MATLAB Function 模块或 Stateflow MATLAB 函数,指定为以下值之一:

  • 包含 MATLAB Function 模块路径的字符向量或字符串标量

  • MATLAB Function 模块或 Stateflow MATLAB 函数的句柄

注意

如果您使用查找器来查找 MATLAB Function 模块或 Stateflow MATLAB 函数并将结果直接添加到报告中,则会使用 slreportgen.report.MATLABFunction 报告器,而不是 Simulink 对象属性报告器。

是否包含对象属性,指定为 truefalse。如果值为 true,则报告将包含与所报告的 MATLAB Function 模块或 Simulink Stateflow 函数相对应的 Stateflow 或 MATLAB 对象的属性表。

对象属性报告器,指定为 mlreportgen.report.BaseTable 对象。MATLABFunction 报告器使用指定的报告器创建与所报告的 MATLAB Function 模块或 Simulink Stateflow 函数相对应的 Stateflow 或 MATLAB 对象的属性表。

对于 Simulink MATLAB Function 模块,报告了以下属性:

  • 更新方法

  • 采样时间

  • 支持可变大小数组

  • 对整数溢出进行饱和处理

  • 将这些继承的 Simulink 信号类型视为 fi 对象

  • MATLAB Function 模块 fimath

  • 输入 fi 数学规则

  • 描述

对于 Stateflow MATLAB 函数,报告了以下属性:

  • 对整数溢出进行饱和处理

  • MATLAB 函数 fimath

  • 输入 fi 数学规则

  • 描述

要自定义函数属性表的外观及其标题,请自定义默认的 BaseTable 报告器或将其替换为自定义版本的 BaseTable 报告器。要自定义函数属性表的标题,请在默认或替换报告器的 Title 属性中指定内容。您指定的内容将放置在默认标题的前面。

是否包含参量摘要表,指定为 truefalse。如果值为 true,则报告将包含所报告函数的参量属性的摘要表。

要包含在参量摘要表中的参量属性,指定为字符向量元胞数组或字符串数组。如果模型尚未编译,MATLABFunction 报告器将编译模型以获取 Compiled TypeCompiled SizeVariable Size 数据。当报告关闭时,模型未编译。

指定这些属性的任意组合:

  • Name

  • Scope

  • Port

  • Compiled Type (Data Type)

  • Compiled Size (Size)

  • Complexity

  • Description

  • Maximum (Max Value)

  • Minimum (Min Value)

  • Tunable

  • Variable Size

参量摘要报告器,指定为 mlreportgen.report.BaseTable 对象。MATLABFunction 报告器使用此报告器创建 MATLAB 函数的参量表。该表包括 ArgumentSummaryProperties 属性指定的参量和参量属性的摘要。

要自定义参量摘要表的外观及其标题的内容,请自定义默认的 BaseTable 对象或将其替换为 BaseTable 对象的自定义版本。

是否包含具有每个参量详细信息的属性表,指定为 truefalse。如果值为 true,则报告将包含 MATLAB 函数的每个参量的属性表。如果模型尚未编译,MATLABFunction 报告器将编译该模型。当报告关闭时,模型未编译。

参量属性报告器,指定为 mlreportgen.report.BaseTable 对象。MATLABFunction 报告器使用指定的报告器创建 MATLAB 函数每个参量的属性表。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 MATLABFunctionArgumentPropertiesTable 样式,该样式在 MATLABFunction 报告器的默认模板中定义。

要自定义参量属性表的外观,请自定义默认的 BaseTable 报告器或将其替换为自定义的 BaseTable 报告器。

是否包含 MATLAB 函数的脚本,指定为 truefalse。如果值为 true,则报告包含根据 MATLAB 函数的输入计算其输出的代码。

函数代码格式化程序,指定为 mlreportgen.dom.Paragraph 对象。Paragraph 对象控制 MATLAB 函数中代码的格式,例如字体系列、字体大小和对齐方式。它不控制报告器是否突出显示代码语法。默认的 Style 属性设置为 mlreportgen.dom.WhiteSpace。要控制突出显示,请使用 HighlightScriptSyntax 属性。

要自定义代码外观,请修改默认 Paragraph 报告器的属性或用自定义报告器替换该报告器。如果您向默认或替换的 Paragraph 报告器添加内容,则该内容将放置在生成的报告中的 MATLAB 函数脚本之前。

函数脚本节标题,指定为 mlreportgen.dom.Paragraph 对象。Paragraph 对象包含包含 MATLAB 函数代码的节的标题。默认标题是 MATLAB Function 模块名称后跟 Function Script。例如,对于名为 Covariance Derivative 的 MATLAB Function 模块,标题为 Covariance Derivative Function Script。段落的属性指定标题的外观。

要自定义标题外观,请修改默认 Paragraph 对象的属性或将其替换为另一个段落对象。如果您向默认或替换标题段落添加内容,则您指定的内容将放置在默认标题的前面。

是否高亮显示脚本语法关键字,指定为 truefalse。如果值为 true,报告将使用颜色突出显示函数代码语法关键字。

是否包含函数符号数据,指定为 truefalse

如果值为 true,则报告包含有关主 MATLAB 函数代码中出现的符号的信息。如果 IncludeSupportingFunctions 属性为 true,则报告还包含有关支持函数代码中出现的符号的信息。仅当 Object 属性指定 MATLAB Function 模块时,才会报告函数符号数据。

注意

如果包含函数符号数据,报告生成速度会比不包含该数据时慢。

函数符号数据报告器,指定为 mlreportgen.report.BaseTable 对象。MATLABLFunction 报告器使用此报告器来创建出现在主 MATLAB 函数代码以及可选支持函数代码中的每个符号的属性表。生成的报告中的符号按类型分组,包括变量、操作和函数调用位置。每种符号类型的表格均出现在函数属性之后。报告的函数和符号属性列于下表中。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 MATLABFunctionFunctionSymbolTable 样式,该样式在 MATLABFunction 报告器的默认模板中定义。

函数属性描述
函数名称函数名称
函数 ID函数的 ID。Simulink 为模型中的每个 MATLAB Function 以及每个支持函数分配一个唯一的 ID。内置或用户定义的支持函数使用相同的 ID,无论它在给定模型中支持多少个函数。
路径函数的路径,即包含它的 MATLAB Function 模块或 Stateflow 模块的模型路径。支持函数的路径就是定义它的 MATLAB 文件的路径。

变量属性描述
名称变量名称
数据类型数据类型和变量的大小
开始位置变量名称第一个字符在脚本中出现的行号和列号

操作属性描述
名称代表操作类型的一个或多个字符。例如,+
数据类型操作产生的值的数据类型和大小
开始位置操作在脚本中出现的第一个字符的行号和列号

函数调用点属性描述
名称被调用函数的名称
数据类型被调用函数的返回值的数据类型和大小
ID被调用函数的 ID
开始位置调用点在脚本中出现的第一个字符的行号和列号

要自定义函数符号数据表的外观,请自定义默认的 BaseTable 报告器或将其替换为自定义的 BaseTable 报告器。如果在默认或替换 BaseTable 报告器中指定 Title 属性,则内容将放置在生成的报告中默认标题的前面。

如果值为 true,则报告包含由所报告的 MATLAB Function 模块的主函数直接或间接调用的用户定义函数列表。

支持要报告的函数类型,指定为字符向量元胞数组或字符串数组。元胞数组或字符串数组可以指定其中一种或两种类型。

  • MATLAB - 包含 MATLAB 支持函数

  • user-defined- 包含用户定义的支持函数

支持函数报告器,指定为 mlreportgen.report.BaseTable 对象。BaseTable 对象报告由主 MATLAB 函数直接或间接调用的函数。这些函数按函数名称排序。该属性的默认值是 BaseTable 对象,其 TableStyleName 属性设置为 MATLABFunctionSupportingFunctionsTable 样式,该样式在 MATLABFunction 报告器的默认模板中定义。

要自定义支持函数表的外观,请自定义默认的 BaseTable 报告器或将其替换为自定义版本的 BaseTable 报告器。

是否包含用户定义的支持函数代码,指定为 truefalse。如果值为 true,则报告包含主函数直接或间接调用的用户定义函数的代码。

用户定义的支持函数代码格式化程序,指定为 mlreportgen.dom.Paragraph 对象。Paragraph 对象控制报告中代码的格式,例如字体系列、字体大小和对齐方式。MATLABFunction 报告器突出显示函数文本(代码)的语法,并将突出显示的文本附加到段落对象。

要自定义代码外观,请修改默认 Paragraph 报告器的属性或用自定义报告器替换该报告器。如果您向默认或替换的 Paragraph 报告器添加内容,则该内容将放置在生成的报告中的支持函数代码之前。

用户定义的支持函数节标题,指定为 mlreportgen.dom.Paragraph 对象。MATLABFunction 报告器使用格式化程序为每个用户定义的支持函数创建一个标题。该属性的默认值是一个空段落,其属性指定了函数标题的外观。默认情况下,MATLABFunction 报告器会将支持函数名称附加到段落。您可以通过修改默认段落对象的属性或将其替换为另一个段落对象来自定义标题外观。您添加到默认或替换段落的任何内容都会出现在生成的报告中的每个标题之前。

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

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

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

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

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

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

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

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

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

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

示例

全部折叠

要在报告中包含有关 MATLAB Function 模块的信息,请使用 slreportgen.report.MATLABFunction 报告器。默认情况下,报告包括对象属性表、输入和输出参量表以及函数脚本。

import slreportgen.report.*
import mlreportgen.report.*

model_name = "slrgex_radar_eml";
load_system(model_name); 
mlfcnObj = "slrgex_radar_eml/MATLAB Function";

rpt = slreportgen.report.Report("MyReport","pdf");
chapter = Chapter(mlfcnObj); 
rptr = MATLABFunction(mlfcnObj); 
add(chapter,rptr); 
add(rpt,chapter); 

close(rpt); 
close_system(model_name);
rptview(rpt);

以下是报告的第一页:

scrn1.png

要在报告中包含 MATLAB 函数参量详细信息,请使用 IncludeArgumentProperties 报告器的 MATLABFunction 属性。

import slreportgen.report.*
import mlreportgen.report.*

model_name = "slrgex_radar_eml";
load_system(model_name); 
mlfcnObj = "slrgex_radar_eml/MATLAB Function";

rpt = slreportgen.report.Report("myReport","pdf");
chapter = Chapter(mlfcnObj); 
rptr = MATLABFunction(mlfcnObj);
rptr.IncludeArgumentProperties = true;

add(chapter,rptr); 
add(rpt,chapter); 

close(rpt); 
close_system(model_name);
rptview(rpt);

以下是生成的报告中的一些参量详细表:

要自定义函数脚本节的标题,请使用 FunctionScriptTitle 属性。要更改代码的格式,请创建一个指定字体系列、大小和颜色的 DOM 段落,并将该段落分配给 FunctionScript 属性。

import slreportgen.report.*
import mlreportgen.report.*

model_name = "slrgex_radar_eml";
load_system(model_name); 
mlfcnObj = "slrgex_radar_eml/MATLAB Function";

rpt = slreportgen.report.Report("myReport","html");
chapter = Chapter(mlfcnObj); 
rptr = MATLABFunction(mlfcnObj);

paraTitle = mlreportgen.dom.Paragraph("SCRIPT: ");
rptr.FunctionScriptTitle = paraTitle;

paraScript = mlreportgen.dom.Paragraph;
paraScript.FontFamilyName = "Arial";
paraScript.FontSize = "12pt";
paraScript.Color = "blue";
rptr.FunctionScript = paraScript;

add(chapter,rptr); 
add(rpt,chapter); 

close(rpt); 
close_system(model_name);
rptview(rpt);

以下是函数脚本节的一节,其中显示了标题和节代码:

默认情况下,MATLABFunction 报告器包含主函数的代码,但不包含主函数调用的用户定义的支持函数的代码。要包含用户定义函数的代码,请使用 IncludeSupportingFunctionsCode 属性。

import slreportgen.report.*
import mlreportgen.report.*

model_name = "slrgex_stats";
load_system(model_name); 
mlfcnObj = "slrgex_stats/MATLAB Function";
rpt = slreportgen.report.Report("myReport","pdf");
chapter = Chapter(mlfcnObj); 
rptr = MATLABFunction(mlfcnObj);
rptr.IncludeSupportingFunctionsCode = true;
add(chapter,rptr); 
add(rpt,chapter); 
close(rpt); 
close_system(model_name);
rptview(rpt);

这是 MATLAB 函数脚本节,其中显示了主函数和用户定义的支持函数 avg 的代码。

版本历史记录

在 R2018a 中推出