matlab之drawnow


  • 功能:更新數據並處理回調
  • 函數:drawnow 、 drawnow limitrate、   drawnow nocallbacks   、drawnow limitrate nocallbacks 、drawnow update   、drawnow expose
     
  • 介紹
    • Drawnow更新數據並處理所有未決的回調。 如果您修改圖形對象並希望立即在屏幕上查看更新,請使用此命令。
      創建一條累積2000個數據點的直線動畫。 遍歷循環后,使用drawow在屏幕上顯示更改。
      h = animatedline;
      axis([0 4*pi -1 1])
      x = linspace(0,4*pi,2000);
      
      for k = 1:length(x)
          y = sin(x(k));
          addpoints(h,x(k),y);
          drawnow
      end
      

        

    • drawow limitrate將更新次數限制為每秒20幀。 如果自上次更新以來不到50毫秒,或者圖形渲染器忙於上一次更改,則drawow丟棄新更新。 如果要循環更新圖形對象,並且不需要在屏幕上看到每個更新,請使用此命令。 跳過更新可以創建更快的動畫。 處理待處理的回調,因此您可以在動畫期間與圖形進行交互。
      %創建一條累積了10,000點的直線動畫。 由於有10,000點,因此在屏幕上繪制每個更新速度很慢。
      % 通過使用drawow limitrate限制更新次數來創建更快,更流暢的動畫。 然后,在循環結束后,通過調用drawow在屏幕上顯示最終更新。 h = animatedline; axis([0 4*pi -1 1]) x = linspace(0,4*pi,10000); for k = 1:length(x) y = sin(x(k)); addpoints(h,x(k),y); drawnow limitrate end drawnow

        

      %先畫好圖,在動態顯示
      h = animatedline;
      axis([0 4*pi -1 1])
      x = linspace(0,4*pi,10000);
      y = sin(x);
      
      for k = 1:length(x)
          addpoints(h,x(k),y(k));
          drawnow limitrate
      end
      drawnow
      

        


免責聲明!

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



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