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
      

        

posted @ 2020-04-27 22:24  蛮好不太坏  阅读(2707)  评论(0编辑  收藏  举报