在Matlab中使用StreamSlice制作电影

时间:2016-04-27 14:41:40

标签: matlab movies streamline

我遇到一个问题,就是在速度场中使用matlab中的streamslice函数创建一个电影。 在该代码中,我展示了如何使用精简和颤动电影。它运行良好。但是,当我使用streamlice时,数据不会刷新,而曲线曲线正在绘制另一个。有人已经完成了流媒体视频吗?

带流线和箭头的速度场代码

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');

0 个答案:

没有答案