matlab里要生成动态图像关键有两个,一个是图像数据,要准备多幅同样大小的图像或者将图像数据变化的过程保存下来;其二是正确调用imwrite函数,最主要有两个属性,1是DelayTime,控制图像切换的间隔,2是LoopCount,用于设置图像默认的循环次数,默认是无穷次,即不断循环,若要手动设置此值,0代表循环一次,1代表循环两次,以此类推。
参考下面的这个例子做,对应把曲线修改。
x = 0:0.01:1;
figure
filename = 'testnew.gif';
for n = 1:0.5:5
y = x.^n;
plot(x,y)
drawnow
frame = getframe(gcf);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if n == 1;
imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end
end