明天早上要开晨会。更悲催的是:在明天的会议上,自己还需要用PPT汇报最近的工作。
而由于种种众所不知的原因,目前PPT还没开始做,只刚刚用Matlab导出了图片而已。
接下来,一般的步骤应该是:
(1) 新建一个PPT;
(2) 将Matlab生成的图片一张张插入到PPT;
(3) 调整每张PPT里图片的大小及插入文字。
如果顺利的话,今天晚上还能睡个觉。
如果不顺利就可能发生这么一件事:终于做完PPT之后,突然发现Matlab程序里面有个明显的错误,也就是说之前导出的图片是错的…
修改程序并不麻烦,麻烦的是:需要把刚做好PPT里的旧图片全部删掉,然后重新插入新生成的图片。并且希望这次程序不要再出错,否则需要再次重新返工,今天晚上就别想睡觉了。
有没有什么办法能够让Matlab自动生成PPT?
即:编好Matlab程序之后,只需要按回车,PPT就自动被生成出来。即使发现程序有错误,只需要在修改程序之后再回车,PPT就自动重新生成,无需手动删图再插图!
- 代码及原理
废话少说,先上代码,不上代码的干货不是好干货。对原理没兴趣的童鞋可直接跳到下一步使用方法。
clear all;
clc;
%%
h(1) = figure;
peaks;
h(2) = figure;
membrane;
h(3) = figure;
spy;
h(4) = figure;
tori4;
%% save figure to ppt
for i=1:4
saveppt(‘test.ppt’,[‘h(’ num2str(i) ‘)’],h(i));
end
%%
close all;
上面是一个简单的示例,可触类旁通。
先分别用Peaks, membrane, spy, tori4这几个Matlab内置的命令生成四张图片,分别是三维曲面图、膜、小狐狸、莫比斯环。然后用saveppt命令将这四张图片插入到一个新PPT。
请注意:saveppt这个函数不是Matlab自带的内置函数。它大概有120行,就不直接贴上来,需要的童鞋可在这个博文的资源区下载。
这个saveppt的原理是:如果ppt文件不存在,生成新的文件;如果存在,在文件尾加入新的一个slide。然后调整各种参数,插入标题等。
- 使用方法
使用方法很简单:
(1) 将上面有底纹的代码保存到一个m文件,比如起个名字叫mat2ppt.m。
(2) 将下载的saveppt.m文件拷到和mat2ppt.m文件相同的文件夹里。
(3) 运行mat2ppt,会首先会生成四张图片。
然后自动生成一个名为test.ppt的PPT,并关闭上面四张图片:
PPT打开以后是这个样子:
(4) 上面的示例比较简陋。如果需要在PPT中自动插入文字、标题,或者调整文字、标题以及图片的大小,都可通过修改saveppt.m文件中的相关参数实现。
这样可以帮助我们节省大量时间。