1

我遇到了一个问题,即在 Matlab 中从速度场创建具有流片功能的电影。在该代码中,我展示了我如何处理流线型和颤动电影。它运行良好。但是,当我使用流片时,数据不会刷新,并且绘图曲线正在绘制另一个。有人已经做过流片视频吗?

带有 Streamline 和 Quiver 的速度场代码

for k = 1:numb_time_step

    xx{k}=x;
    yy{k}=y;

    quiver(xx{k},yy{k},u_final{k},v_final{k},10)

   startx =0:0.05:1;
   starty =0:0.05:1;
   streamline(xx{k},yy{k},u_final{k},v_final{k},startx,starty);
   view(2),axis([0 1 0 1])

  title({'Velocity Field';['Time(\itt) = ',num2str(time(k))]})
  xlabel('coordenada x')
  ylabel('coordenada y')

   grid on
   drawnow; 
   refreshdata(h);

  M(k)=getframe(gcf); % leaving gcf out crops the frame in the movie.

 end

movie2avi(M,'Streamlines.avi');

StreamSlice 的代码

for k = 1:numb_time_step

   xx{k}=x;
   yy{k}=y;

h=streamslice(xx{k},yy{k},u_final{k},v_final{k});
view(2),axis([0 1 0 1])

title('Stream Lines of Vector Field')
xlabel('Coordenada x')
ylabel('Coordenada y')
grid on

 grid on
 drawnow; 
 refreshdata(h);

 M(k)=getframe; % leaving gcf out crops the frame in the movie.

end

movie2avi(M,'StreamSlices.avi');
4

0 回答 0