主要内容

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

slreportgen.report.LookupTable 类

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

查找表模块报告器

描述

创建一个 Simulink® 查找表模块报告器。有关支持的模块列表,请参阅 Object 属性。

注意

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

slreportgen.report.LookupTable 类是 handle 类。

创建对象

描述

rptr = LookupTable 根据默认模板创建一个空的 LookupTable 模块报告器。使用其属性来指定要报告的查找表模块并指定报告选项。

示例

rptr = LookupTable(lutobj)lutobj 指定的查找表模块创建 LookupTable 模块报告器。默认情况下,报告器会生成一个表格和一个输出值与断点的图以及一个数据类型表。

示例

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

示例

输入参量

全部展开

请参阅 Object 属性。

属性

全部展开

要报告的查找表模块,指定为模块的路径或句柄。

这些查找表模块受到支持。

注意

如果您使用查找器查找 Lookup Table 模块并将其直接添加到报告中,则会使用此 LookupTable 报告器而不是 Simulink 对象属性报告器。

是否包含查找表数据表,指定为逻辑值。如果是 true,报告将包含一个列出查找表的输出值和断点的表。

对于一维查找表,数据表在表的第一列中列出断点。第二列列出了相应的输出值。

对于二维或更大维度的查找表,数据表在表的第一行列出第一组断点。它在第一列中列出了第二组断点。输出出现在相应的表单元格中。对于大于 2-D 的查找表,LookupTable 报告生成器将表的片段显示为单独的输出而不是断点表。

是否包含查找表数据图,指定为逻辑值。如果是 true,报告将包括输出值与查找表模块的断点的图。

对于一维查找表,该图是输出值与断点的线图。

对于二维表和切片,图是输出值与断点的曲面或网格图。使用 PlotType 属性指定是否使用曲面还是网格图。

二维查找表数据图的绘图类型,指定为字符数组(“表面图”或“网格图”)或字符串(“表面图”或“网格图”)。

查找表数据报告器,指定为 BaseTable 报告器或自定义报告器。LookupTable 报告器使用指定的报告器来创建查找表数据表。

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

要自定义查找表数据表的标题,请在默认或替换报告器的 Title 属性中指定内容。您指定的内容将放置在默认标题的前面。如果查找表太宽,无法在页面上清晰显示,请使用 MaxColsDataReporter 属性将表格生成为一组清晰显示的切片。为了确定最佳值,请迭代设置 MaxCols 值并查看报告。

示例: lutable.DataReporter.Title = 'New Title'

查找表数据图报告器,指定为 Figure 报告器或自定义报告器。LookupTable 报告器使用指定的报告器来创建输出值与查找表的断点的图。

要自定义查找表数据图的外观,请自定义默认的 Figure 报告器或将其替换为自定义版本的 Figure 报告器。要自定义图的标题,请在默认或替换报告器的 Caption 属性中指定内容。您指定的内容将放置在默认标题的前面。

输出值与断点显示的最大表列数,指定为 inf 或整数。仅当 IncludeTable 属性为 True 时,此属性才适用。

如果查找表的列数大于此属性的值,则数据仅显示为表面图。仅当 IncludePlot 属性为真时才会出现该图。

此属性的默认值为 inf,这使得报告器无论查找表数据数组的大小如何都使用表。根据所显示数据的大小,某些表格可能难以辨认。为了避免创建难以辨认的表格,请将此属性的默认设置更改为较小的值。

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

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

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

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

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

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

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

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

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

属性:

GetAccess
公共
SetAccess
公共

方法

全部展开

示例

全部折叠

此示例显示如何向自定义 HTML LookupTable 报告器模板添加固定内容。您还可以通过直接编辑报告生成器程序来自定义查找表报告输出。自定义模板的好处是您可以重用它作为自定义其他报告生成器程序的基础。

LookupTable 报告器的模板和样式表位于 matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@LookupTable\resources\templates 文件夹中。复制默认模板时不需要指定此路径。

创建默认 html 模板的副本。在此示例中,模板包将保存为当前工作文件夹中名为 CustomTemplate.htmtx 的压缩文件。

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

LookupTable.createTemplate('CustomTemplate','html');

解压缩模板包。

unzipTemplate('CustomTemplate.htmtx');
解压后的模板包里面是一个包含文档、样式表、图片文件的文件夹。在此示例中,解压后的文件夹名为 CustomTemplate,并保存在当前工作文件夹中。root.css 文件位于 stylesheets 子文件夹中,定义了控制所生成报告的外观和格式的样式。docpart_templates.html 文件指定生成报告时保存报告内容的孔。

CustomTemplate 文件夹中,在 MATLAB® 之外的文本编辑器中打开 docpart_templates.html 文件。

<html>
  <head>
    <meta charset="utf-8" />
    <title>Document Part Templates</title>
    <link rel="StyleSheet" href="./stylesheets/root.css" type="text/css" />
  </head>  <body>
    <dplibrary>
        
      <!-- NOTE: temporary in the template library until the -->
      <!   DOM supports a source without template name -->
      <dptemplate name="LookupTable">
         <hole id="Content">LUT_CONTENT</hole>
         <hole id="LUTDataTypes">DATA_TYPE</hole>
         <hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
      </dptemplate>
      <dptemplate name="LookupTableContent">
         <hole id="TableContent">TABLECONTENT</hole>
         <hole id="FigureContent">FIGURECONTENT</hole>
      </dptemplate>
    </dplibrary>
  </body>
</html>

要向模板添加固定文本,请将其放在所需位置并使用标准 HTML 标记。此示例添加了在生成的报告中的数据类型表上方显示的文本。仅显示文件的 <dptemplate name="LookupTable"> 部分。

      <dptemplate name="LookupTable">
         <hole id="Content">LUT_CONTENT</hole>
         <p><scan>This lookup table block contains the following 
            data types:</scan></p>
         <hole id="LUTDataTypes">DATA_TYPE</hole>
         <hole id="FootNoteContent">LUT_FOOTNOTE_CONTENT</hole>
      </dptemplate>

保存文件。

在 MATLAB 命令行中,将模板文件夹压缩成模板包。对于此示例,模板包被压缩到 CustomTemplate.htmtx 文件中。

zipTemplate('CustomTemplate');

要将保存的模板用于您的报告,请在报告生成器程序中指定模板源。

lutable = LookupTable();
lutable.TemplateSrc = 'CustomTemplate';

创建一个 PDF 报告生成器,指定由 LookupTable 报告器返回的绘图高度和宽度。此示例使用 sf_car 模型并报告其 Torque ratio 查找表(nD)模块。该模块是一个一维查找表,位于 transmission/Torque Converter 模型的 sf_car 子系统中。要设置图的高度和宽度,请使用 PlotReporter 属性。

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

model_name = "sf_car";
load_system(model_name); 
lutable = "sf_car/transmission/Torque Converter/Torque ratio";

rpt = slreportgen.report.Report("output","pdf");
chapter = Chapter(lutable); 

rptr = LookupTable(lutable);
rptr.IncludeTable = false;
add(chapter,rptr);

rptr_resized = LookupTable(lutable);
rptr_resized.IncludeTable = false;
rptr_resized.PlotReporter.Snapshot.Width = "3in";
rptr_resized.PlotReporter.Snapshot.Height = "4in";
add(chapter,rptr_resized);

add(rpt,chapter);

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

报告第一页上的默认绘图使用预定义的大小以使绘图适合页面大小。

lutable_refpg_ex2a.png

报告第二页上调整大小的图使用指定的 3 英寸宽度和 4 英寸高度。

lutable_refpg_ex2b.png

创建一个报告查找表模块的 PDF 报告生成器。此示例使用 sf_car 模型并报告其 engine torque 查找表(nD)模块。这个模块是一个二维查找表。engine torque 模块位于 Engine 模型的 sf_car 子系统中。默认情况下,报告包括输出值与断点的表、表面图、模块数据类型表以及有关报告值与从仿真获得的值之间可能存在的差异的注释。

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

model_name = "sf_car";
load_system(model_name); 
lutable = "sf_car/Engine/engine torque";

rpt = slreportgen.report.Report('output','pdf');
chapter = Chapter(lutable); 
rptr = LookupTable(lutable); 
add(chapter,rptr);
add(rpt,chapter);

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

此示例展示了如何创建一个 PDF 报告生成器,该生成器可查找 sf_car 模型中的 Engine 子系统中的模块。然后,报告生成程序循环遍历模块,识别查找表模块,并使用 LookupTable 报告器报告这些模块的信息。对于其他模块,生成的报告使用 BlockFinder 类报告模块属性。

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

model_name = "sf_car";
load_system(model_name)
subsys_name = "sf_car/Engine";
rpt = Report;

blkfinder = BlockFinder(subsys_name);
blks = find(blkfinder);

for i=1:length(blks)
   if slreportgen.utils.isLookupTable(blks(i).Object)
      rptr = LookupTable(blks(i).Object);
      ch = Chapter(blks(i).Name);
      add(ch,rptr);
      add(rpt,ch);
   else
      ch = Chapter(blks(i).Name);
      add(ch,blks(i));
      add(rpt,ch);
   end
end

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

第一章显示了 Inport 模块的参数。

Report with chapter heading Ti followed by Table sf_car/Engine/Ti Properties

第五章显示了 Lookup Table 模块报告器的输出。默认输出是一个输出值与断点相对应的表格、一个图和一个数据类型表。

Report with chapter heading engine followed by table of output values versus breakpoints and a plot

Table of data types

版本历史记录

在 R2018a 中推出