天天看点

Matlab动态作图——animatedline函数

为了改文章作图,不得不整了一个Matlab2018b版本,看新版本特性发现了一个有趣的函数。这里mark一下,省得以后还得用

pause

去做

别的不说,直接给代码

clc; clear;
format long e;

h = animatedline;
axis([0,4*pi,-1,1])

x = linspace(0,4*pi,1000);
y = sin(x);
for k = 1:length(x)
    addpoints(h,x(k),y(k));
    drawnow
end
           

这里的

animatedline

其实给

h

初始化了一个结构体,然后通过

addpoints

控制是什么形式的动画,然后通过

drawnow

开启动画。这里就是简单的画线。

相同的事情在过去也是可以实现的,我之前就用如下代码:

%测试animatedline函数
clc; clear;
format long e;

x = linspace(0,4*pi,1000);
y = sin(x);

for k = 1:length(x)
    plot(x(1:k),y(1:k),'b');
    axis([0 4*pi -1 1]);
    hold on;
    pause(0.01);
end
           

实际效果差不多,但是人家的动画比我的流畅多了。

当然,这个函数如果只能做一维的线的话还是不特别有用,如果能做二维的动态图,那就非常强大了。简单浏览似乎是有这个功能的,这里种个草。有空再来挖掘一下。

继续阅读