数学建模社区-数学中国

标题: 怎么把这段程序生成的动画保存成gif格式动画? [打印本页]

作者: 烟火之夏    时间: 2016-7-2 09:46
标题: 怎么把这段程序生成的动画保存成gif格式动画?
function f=f1
a=sqrt(5);
r=0:0.1:a;
t=0:0.1:2*pi+0.1;
[T,R]=meshgrid(t,r);
X=4*cos(T).*R;
Y=4*sin(T).*R;
Z=2*ones(size(T)).*R.^2;
axis([-10,10,-10,10,0,10]);
hold on;
n=size(Z,2);
for i=2:n  
     surf(X(:,i-1:i),Y(:,i-1:i),Z(:,i-1:i));
drawnow;
pause(0.02);
end



作者: 百年孤独    时间: 2016-7-2 11:16
给你看一段代码,相信你就会了!
%%% 生成gif动画
clear all;close all;
x=-1:0.002:1;y=x;
[X,Y]=meshgrid(x,y);
filename='test.gif';
for a=1:20
    u=a*exp(-10*(X.^2+Y.^2));
    mesh(X,Y,u),axis([-1 1 -1 1 0 20]),drawnow
    colormap(jet);
    im=frame2im(getframe(gcf));
    [A,map]=rgb2ind(im,256);
    if a==1
        %现已覆盖模式写入指定的gif文件
        imwrite(A,map,filename,'gif','LoopCount',Inf,'DelayTime',0.2);
    else
        %再以追加模式将每一帧写入gif文件
        imwrite(A,map,filename,'gif','WriteMode','append','DelayTime',0.2);
    end
end





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5