matlab figure动画怎么直接保存成gif文件,代码如下

clear all
close all
clc
x=[5 4.75528258000000 4.04508497000000 2.93892626000000 1.54508497000000 0 -1.54508497000000 -2.93892626000000 -4.04508497000000 -4.75528258000000 -5 -4.75528258000000 -4.04508497000000 -2.93892626000000 -1.54508497000000 0 1.54508497000000 2.93892626000000 4.04508497000000 4.75528258000000 0 0 0 2.50000000000000 -2.50000000000000];
y=[0 1.54508497000000 2.93892626000000 4.04508497000000 4.75528258000000 5 4.75528258000000 4.04508497000000 2.93892626000000 1.54508497000000 0 -1.54508497000000 -2.93892626000000 -4.04508497000000 -4.75528258000000 -5 -4.75528258000000 -4.04508497000000 -2.93892626000000 -1.54508497000000 0 2.50000000000000 -2.50000000000000 0 0];
f=[28.4000000000000 29.6000000000000 28.3000000000000 28.7000000000000 28.7000000000000 29.5000000000000 29 29.4000000000000 29.1000000000000 28.7000000000000 29.5000000000000 29 29.4000000000000 29.6000000000000 28.3000000000000 28.7000000000000 28.7000000000000 29.5000000000000 29 29.4000000000000 17.1000000000000 23.5000000000000 24.1000000000000 23.9000000000000 23.6000000000000];
gg=1;
d=0:3:360;
r=0:0.1:5;
X1=r'*cosd(d);
Y1=r'*sind(d);
Z=griddata(x,y,f,X1,Y1,'v4');
surf(X1,Y1,Z);
shading interp;
for i=1:360 %旋转山峰,从1到360度,每一度捕捉一帧
view(-37.5+i,30) %从水平-37.5+i度,垂直30度的方向看山峰
m(i)=getframe; %每从一个角度看到一张图像(帧),就存储到m
end %每次看完,水平转动1度,直到1周360度;
movie(m) %把刚才存到m里的图像连续播放一遍,就是影片了.

程序最后加一句:movie2gif(m, 'test.gif', 'LoopCount', 0, 'DelayTime', 0);

movie2gif函数可以到官网文件交换中心下载:网页链接

温馨提示:答案为网友推荐,仅供参考
相似回答