MATLAB的简单动画制作

这里介绍两种类型的动画实现,一种使用getframe和movie命令实现帧动画,另一种使用comet(comet3)命令实现画图过程的动画.

①getframe和movie命令实现帧动画

例如,创建一个动画,实现y=ln x,y=x,y=exp(x)的图像变化的动画.

代码如下

x =linspace(0,1,20);

box on;%控制坐标系在一个框内

hold on;%保持图像不消失

y1 =log(x);plot(x,y1);M(1) = getframe;

y2 =x;plot(x,y2);M(2) = getframe;

y3 =exp(x);plot(x,y3);M(3) = getframe;

%上面三行代码解释一行即可,plot画图,getframe将作图的结

%果(而不是过程)记录在矩阵M中

movie(M,10);%将矩阵M中的帧播放出来,10表示播放10次

②comet(comet3)命令实现画图过程的动画

例如,创建一个动画,实现y=sin(x)从0到2*pi之间的变化过程.

代码如下

x =linspace(0,2*pi,100);

y = sin(x);

comet(x,y);

box on;

grid on;

类似地,采用comet3可以展示三维作图过程.

例如,创建一个动画,实现x=sin(t),y=cos(t),z=t在t从0到2*pi之间的变化过程.

t =linspace(0,2*pi,100);

x = sin(t);

y = cos(t);

z = t;

comet3(x,y,z);

box on;