资源下载: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
结果
请发表评论