我遇到了一个问题,即在 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');