主要内容

创建报表生成器

这个示例展示了如何创建一个简单的报告来解释和演示幻方——其列、行和对角线各相加为相同数字的矩阵。看到魔法

请注意

完整的示例代码包含在分步说明之后。

  1. 导入基类。

    为了避免使用Report和DOM API对象的完全限定名,可以使用这些语句。例如,不要用mlreportgen.report.Report,你可以用报告

    进口mlreportgen.report。*进口mlreportgen.dom。*
  2. 创建报表对象。

    创建报表对象。使用“魔法”作为其文件名和“html”作为其报告类型。

    报告()“魔法”“html”);

    若要自定义应用于整个报表的属性,请参见mlreportgen.report.Report

  3. 添加标题页。

    创建标题页,并指定标题、副标题和作者。然后,向报告添加标题页。

    tp = TitlePage;tp。Title =“魔术方块”;tp。字幕=“列、行、对角线:都是等和”;tp。作者=“Albrecht Durer”;追加(rpt, tp);

    请注意

    如果你用的是MATLAB®版本为R2020a或更早版本,请更换附加函数与添加

    扉页的标题是“魔方”,副标题是“列、行、对角线:所有相等的总和”,作者是“Albrecht Durer”,以及日期

    若要自定义其他标题页属性,请参见mlreportgen.report.TitlePage

  4. 添加一个目录。

    向报表添加默认的内容表对象。

    追加(rpt TableOfContents);

    请注意

    如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

    目录分为“介绍”、“10 × 10魔方”、“25 × 25魔方”三章。

    若要自定义目录,请参见mlreportgen.report.TableOfContents

  5. 增加一章和章节。

    为介绍创建一个章节对象,并指定章节标题。添加一节,在该节中添加一段,然后将该节添加到章节中。创建另一个部分,并在其中添加一个段落。

    ch1 = Chapter;ch1。Title =“介绍”;sec1 = Section;sec1。Title =“什么是魔法广场?”;para =段落([幻方是一个n × n矩阵由整数1到N^2构成行,列,对角线和相等]);append(sec1, sec1) sec2 = sec1;sec2。Title =《阿尔布雷希特·丢勒和魔法广场》;para =段落([德国艺术家阿尔布雷希特·丢勒(1471-1528)创作的许多木刻和版画都有宗教和“科学的象征。他最著名的作品之一,《忧郁症1》,探索抑郁的心境“这与灵感和表达相悖。”文艺复兴时期的占星家认为木星魔方(显示在的右上角)(这个形象)可以帮助治疗忧郁。“雕刻的日期(1514年)可以在"正方形中较低的一排数字"]);追加(sec2 para)追加(ch1 sec2)

    请注意

    如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

    第一章分两部分,“什么是魔方”和“阿尔布雷希特·丢勒和魔方”

    有关自定义章节和节的信息,请参见mlreportgen.report.Chaptermlreportgen.report.Section分别。

  6. 添加一个数字。

    在图形窗口中创建丢勒的图像。在MATLAB图形中创建图像。将图添加到引言章节的第二部分,然后将章节添加到报告中。

    durerImage =负载((“durer.mat”),“垫”);图(“单位”“像素”“位置”[200200] size(durerImage.X,2)*.5大小(durerImage.X 1) *。5);图像(durerImage.X);colormap (durerImage.map);轴(“图像”);集(gca),“Xtick”[],“Ytick”[],“单位”“正常”“位置”,[0 0 1 1]);append(sec2,图)append(rpt,ch1) closegcf

    请注意

    如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

    阿尔布雷希特·丢勒雕刻的《忧郁症I》

    有关数字的更多信息,请参见mlreportgen.report.Figure。有关图像的更多信息,请参见mlreportgen.report.FormalImage

  7. 添加一个表。

    添加另一个章节对象并指定其标题。指定MATLAB代码来创建一个10 × 10的魔方。将结果添加到表中,并设置这些表属性:

    • 行和列分隔符

    • 表边境

    • 表项对齐

    然后,将表格添加到章节中,将章节添加到报告中。

    ch2 = Chapter();ch2。Title = sprintf()“10 × 10魔方”);Square = magic(10);tbl = Table(square);资源描述。Style = {RowSep (“固体”“黑”“1 px”),ColSep (“固体”“黑”“1 px”});资源描述。边境=“双”;资源描述。TableEntriesStyle = {“中心”)};追加(ch2(资源);追加(rpt, ch2);

    请注意

    如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

    第2章的标题是10 × 10魔法方块,包含一个有边界的表格,里面有魔法方块。

    有关表的更多信息,请参见mlreportgen.dom.Table

  8. 在章节中添加MATLAB图形。

    添加另一个章节对象并指定其标题。指定MATLAB代码来创建一个25 × 25的幻方和幻方的彩色编码图形。然后,创建一个图形对象并设置其高度、宽度和标题。将图形添加到章节中,将章节添加到报告中。

    ch3 = Chapter();甲基。Title = sprintf()“25 x 25魔方”);正方形=魔术(25);clf;显示亮度图像(广场)组(gca,“Ydir”“正常”)轴平等的fig =图(gcf);fig.Snapshot.Height =“4”;fig.Snapshot.Width =“6”;fig.Snapshot.Caption = sprintf(“25 x 25魔方”);追加(ch3、无花果);追加(rpt, ch3);删除(gcf)

    请注意

    如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

    第3章的标题是25 × 25魔术方块,其中包含了一个彩色编码的魔术方块图。

    有关数字的更多信息,请参见mlreportgen.report.Figure

  9. 关闭并运行报告。

    关上(rpt) rptview (rpt)

完整代码如下:

进口mlreportgen.report。*进口mlreportgen.dom。*报告()“魔法”“html”);tp = TitlePage;tp。Title =“魔术方块”;tp。字幕=“列、行、对角线:都是等和”;tp。作者=“Albrecht Durer”;追加(rpt, tp);追加(rpt TableOfContents);ch1 = Chapter;ch1。Title =“介绍”;sec1 = Section;sec1。Title =“什么是魔法广场?”;para =段落([幻方是一个n × n矩阵由整数1到N^2构成行,列,对角线和相等]);append(sec1, sec1) sec2= sec1;sec2。Title =《阿尔布雷希特·丢勒和魔法广场》;para =段落([德国艺术家阿尔布雷希特·丢勒(1471-1528)创作的许多木刻和版画都有宗教和“科学的象征。他最著名的作品之一,《忧郁症1》,探索抑郁的心境“这与灵感和表达相悖。”文艺复兴时期的占星家认为木星魔方(显示在的右上角)(这个形象)可以帮助治疗忧郁。“雕刻的日期(1514年)可以在"正方形中较低的一排数字"]);append(ch1,sec2) =load(sec1,sec2)“durer.mat”),“垫”);图(“单位”“像素”“位置”[200200] size(durerImage.X,2)*.5大小(durerImage.X 1) *。5);图像(durerImage.X);colormap (durerImage.map);轴(“图像”);集(gca),“Xtick”[],“Ytick”[],“单位”“正常”“位置”,[0 0 1 1]);append(sec2,图)append(rpt,ch1) closegcfch2 = Chapter();ch2。Title = sprintf()“10 × 10魔方”);Square = magic(10);tbl = Table(square);资源描述。Style = {RowSep (“固体”“黑”“1 px”),ColSep (“固体”“黑”“1 px”});资源描述。边境=“双”;资源描述。TableEntriesStyle = {“中心”)};追加(ch2(资源);追加(rpt, ch2);ch3 = Chapter();甲基。Title = sprintf()“25 x 25魔方”);正方形=魔术(25);clf;显示亮度图像(广场)组(gca,“Ydir”“正常”)轴平等的fig =图(gcf);fig.Snapshot.Height =“4”;fig.Snapshot.Width =“6”;fig.Snapshot.Caption = sprintf(“25 x 25魔方”);追加(ch3、无花果);追加(rpt, ch3);Delete (gcf) close(rpt) rptview(rpt)

请注意

如果您使用的是MATLAB版本R2020a或更早版本,请替换附加函数与添加

另请参阅