首页 > 技术文章 > MATLAB的简单动画制作

tensory 2017-01-13 16:57 原文

这里介绍两种类型的动画实现,一种使用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;

推荐阅读