资源下载:https://download.csdn.net/download/qq_16635325/10894373
方法,我已经写成了一个函数SAVEGIF
用法和说明
savegif 将位于for循环中的figure动画转化为gif文件
用法:
savegif必须在for循环中输入savegif函数,默认文件名为‘untitledgif.gif’
savegif('filename')必须在for循环中使用,文件名保存为‘filename.gif’.
savegif('filename.gif') 必须在for循环中使用,文件名保存为‘filename.gif’.
注意:在使用该函数前最好使用clear all命令清除全局变量,不过后面已经加了一个文件存在性检查,大家放心使用吧
简单的测试例子
1 for i=1:5:360
2 plot(i,sind(i),'*');
3 savegif('dot')
4
5 axis([0,360,-1,1])
6 hold on
7 end
1 t=0:0.05:5;
2 z=0:0.1:40;
3 omiga=3/4*pi;
4 beta=1;tao=1;
5 for m=1:length(t)
6 y=real(exp(1i*(omiga*t(m)+beta*z))+tao*exp(1i*(omiga*t(m)-beta*z)));
7 cla;%从当前坐标区删除包含可见句柄的所有图形对象
8 hold on;
9 %figure('color','black');
10 plot(y);
11 set(gca, 'color', 'black');
12 ylim([-2,2]);
13 frame=getframe(gcf);%以类似于截图的方式保存绘制过的图像
14 imind=frame2im(frame);%从单个影片帧 F 返回真彩色 (RGB) 图像
15 [imind,cm] = rgb2ind(imind,256);%将真彩色图像转化为索引图像
16 if(m==1)
17 imwrite(imind,cm,'驻波.GIF','gif','Loopcount',inf,'DelayTime',0.01);
18 else
19 imwrite(imind,cm,'驻波.GIF','gif','WriteMode','append','DelayTime',0.01);
20 end
21 end
结果