Matlab | 繪制動態曲線(使用 animatedline 對象)


效果如下:

示例代碼:

figure('Color','w');
h1 = animatedline;
h1.Color = 'r';
h1.LineWidth = 1.0;
h1.LineStyle = '-.';

h2 = animatedline;
h2.Color = 'b';
h2.LineWidth = 1.0;
h2.LineStyle = '-';

axis([0,4*pi,-1,1])
x = linspace(0,4*pi,1000);
y1 = sin(x);
y2 = cos(x);
for k = 1:length(x)
    addpoints(h1,x(k),y1(k));
    addpoints(h2,x(k),y2(k));
    drawnow;
end

 要點:

  • Matlab提供了繪制動態曲線的專用對象 animatedline,和該對象的專用方法 addpoints。通過 addpoints 和 drawnow 在循環中對 animatedline 對象的不斷賦值和打印,就可以繪制出動態曲線。
  • animatedline 對象在聲明的時候,可以是沒有數據點的空曲線,也可以是有若干初始點的曲線。如果 animatedline 對象有初始點,在聲明的時候會直接在 Figure 中繪制出來。如果想要讓曲線從虛空中來,那么示例中 “先聲明空曲線,再逐點賦值” 的操作是需要掌握的。
  • animatedline 對象擁有 Line 的各類屬性。
  • 如果沒有提前創建一個 Figure,在繪制 animatedline 對象的時候,會自動創建一個默認的 Figure。所以如果想要對 Figure 的屬性進行調整,請在聲明 animatedline 對象之前自定義一個 Figure。
  • 最后,一個重要的細節:請使用 axis 固定坐標軸!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM