MATLAB动态绘图

(一)函数图像的动态绘制        

        MATLAB的动态作图可以展示绘图的过程,所用到的函数有以下四个:

%  animatedline  创建一个动画的时间线;

%  addpoints     往动画的时间线上添加点;

%  getpoints     获取点的数据信息;

%  clearpoints   清除点,可用于最后,点就清除了。

        下述代码将实现 sin 函数的绘图过程,具体代码如下:
 

x=-4*pi:0.1:4*pi;
y=sin(x);

h1=animatedline('color','b','marker','o');
% axis([-4*pi 4*pi -1.1 1.1]);
for i=1:(length(x)/2)
   addpoints(h1,x(i),y(i))
   drawnow;     %立刻绘图
end
%显示25个点的作图过程
h2=animatedline(x(length(x)/2),y(length(x)/2),'color','r','marker','*','maximumnumpoints',25);
for i=(length(x)/2):length(x)
   addpoints(h2,x(i),y(i))
   drawnow;
end

(二)球体的动画展示

        下述代码将对一个球面进行动画播放,主要通过movie(a,b)函数,其中 :

① 参数a为播放动画的对象;

② 参数b为播放函数的次数。

[X,Y,Z]=sphere;             %创建20*20球面
surf(X,Y,Z)                 
axis([-3,3,-3,3,-1,1])      %调整坐标范围
axis off                    %关闭坐标系
shading interp              %利用插值颜色渲染
colormap(cool)               %将颜色值cool设置为当前颜色
M=moviein(20);              %建立一个20列大矩阵
for i=1:20
    view(-37.5+24*(i-1),30) %改变视点
    M(:,i)=getframe         %图形保存到矩阵
end
movie(M,3)                  %播放三次

你可能感兴趣的:(matlab)