此示例演示如何使用MATLAB®API for PowerPoint®(PPT API)从MATLAB应用程序的结果生成Microsoft®PowerPoint®演示文稿。此示例从预测美国人口的应用程序的结果生成演示文稿。以下是示例生成的幻灯片:
导入PPT包,这样您就不必使用长且完全限定的名称。
进口mlreportgen.ppt。*;
为了便于删除示例生成的图像,请创建一个单元格数组来保存图像。
图像={};
使用默认模板创建演示文稿。
ppt =表示(“人口.pptx”);打开(ppt);
PowerPoint演示文稿由根据预定义布局创建的幻灯片组成。这些布局包含用生成的内容填充的占位符。预定义布局属于定义样式的模板幻灯片母版。
使用以下命令将第一张幻灯片添加到演示文稿中:标题幻灯片
布局。
幻灯片1=添加(ppt,“标题幻灯片”);
使用Replace方法替换幻灯片中的标题和副标题。
替换(幻灯片1,“标题”,“模拟美国人口”); 替换(幻灯片1,“字幕”,“有风险的生意”);
将第二张幻灯片添加到演示文稿中标题和内容
布局。更换标题。
幻灯片2=添加(ppt,的标题和内容);替换(幻灯片2,“标题”,“人口建模方法”);
将文本添加到内容
使用单元格数组的占位符。
更换(滑块2,“内容”,{...“拟合美国人口普查数据”...“使用多项式推断人口增长”...[基于“数学计算的计算机方法”...“由福赛斯、马尔科姆和莫勒创作,由普伦蒂斯·霍尔于1977年出版”]...“不同的多项式次数表明方法的风险”});
使用以下命令将第三张幻灯片添加到演示文稿中:标题和内容
布局。更换标题。
幻灯片3=添加(ppt,的标题和内容);替换(幻灯片3,“标题”,“1900 - 2000年美国人口普查数据”);
绘制1910年至2000年的美国人口普查数据图。
%的时间间隔t =(1910:10:2000)”;%的人口p=[91.972 105.711 123.203 131.669 150.697...179.323 203.212 226.505 249.633 281.422]';%密谋图1=图;曲线图(t,p,“波”);轴([1910 2020 0 400]);标题(“1910-2000年美国人口”);伊莱贝尔(“数百万”);
将绘图转换为图像。将图像添加到演示文稿生成结束时要删除的图像列表中。在关闭演示文稿之前,不得删除图像。
img1=“plot1.png”;saveas(图1,img1);
图像= [Images {img1}];
替换内容
带有图像的占位符。
替换(幻灯片3,“内容”照片(img1));
将第四张幻灯片添加到演示文稿中比较
布局。使用这张幻灯片来比较人口数据的三次外推和四次外推。
slide4 =添加(ppt,“比较”);替换(幻灯片4,“标题”,“多项式次数变化外推”);
计算总体数据的多项式近似系数。
n=长度(t);s=(t-1950)/50;A=零(n);A(:,end)=1;对于A(:,j) = s .* A(:,j+1);终止c=A(:,n-3:n)\p;
替换左文本
带有文本的占位符。
替换(幻灯片4,“左文本”,立方外推的);
计算立方外推。
v = (1910:2020) ';x = (v - 1950) / 50;50 w = (2010 - 1950) /;y = polyval (c、x);z = polyval (c w);图=图;持有在图(v,y,“k -”);情节(2010 z,“ks”);文本(2010,z+15,num2str(z));暂停从
从绘图创建图像,并将图像添加到要删除的图像列表中。
img2=“plot2.png”;saveas(图2,img2);
图像= [Images {img2}];
替换左内容
带有图像的占位符。
替换(幻灯片4,“剩下的内容”照片(img2));
替换右文本
带有文本的占位符。
替换(幻灯片4,“右文本”,四次外推的);
计算四次外推。
c=A(:,n-4:n)\p;y=polyval(c,x);z=polyval(c,w);图3=figure;保持在图(v,y,“k -”);情节(2010 z,“ks”);文本(2010,z-15,num2str(z));暂停从
从情节中创建一个图像,将该图像添加到要删除的图像列表中,并替换正确内容
带有图像的占位符。
img3 =“plot3.png”;saveas(如果img3);
图像=[images{img3}];替换(幻灯片4,“正确的内容”,图片(img3));
使用将最后一张幻灯片添加到演示文稿中标题和内容
布局。
slide5 =添加(ppt,的标题和内容);更换(滑块5,“标题”,“随着程度的增加,外推变得更加不稳定”);
创建一个图来证明,随着度数的增加,外推变得更加不稳定。
图4=图;cla图(t,p,“波”)举行在轴([1910 2020 0 400])颜色=hsv(8);标签={“数据”};对于d=1:8[Q,R]=qr(A(:,n-d:n));R=R(1:d+1,:);Q=Q(:,1:d+1);c=R\(Q'*p);y=polyval(c,x);z=polyval(c,11);绘图(v,y,“颜色”,颜色(d,:);标签{end+1}=[的程度= 'int2str(d)];终止图例(标签、,“位置”,“西北”)举行从
从情节中创建一个图像并替换内容
带有图像的占位符。
img4 =“plot4.png”;saveas(图4,img4);
图像=[images{img4}];替换(幻灯片5,“内容”,图片(img4));
关闭(ppt);查看(ppt);
演示文稿关闭时,图像将复制到演示文稿中。现在,您可以删除图像。
len=长度(图像);对于delete(images{I}); / /删除图片终止
mlreportgen.ppt.Presentation
|mlreportgen.ppt.Slide