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

實際效果差不多,但是人家的動畫比我的流暢多了。

當然,這個函數如果只能做一維的線的話還是不特別有用,如果能做二維的動態圖,那就非常強大了。簡單瀏覽似乎是有這個功能的,這裏種個草。有空再來挖掘一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章