Loop animation with quiver plot
30 ビュー (過去 30 日間)
Hey guys. I am fairly new with matlab. Currently i am trying to animate the change of a velocity field in a fluid in time. The velocity field is dependent on depth (z) and distance (x). I would like to present the velocity field in a x/z coordinate system and by an animation show how it changes with time. I can plot the vector field by constant x with quiver(t,z,u,w). Is it possible to use a for-loop for the animation? I tried a lot of different solutions:
z=linspace(0, -h, 10);
t=linspace(0, 16*pi, 10);
u(j,i)=(pi*H)/T*(cosh(k)*(z(j)+h))/(sinh(k*h))*cos(omega*t(i)-k*x); %Particle velocity x direction
w(j,i)=-(pi*H)/T*(sinh(k)*(z(j)+h))/(sinh(k*h))*sin(omega*t(i)-k*x) %Particle velocity z direction
for t=linspace(0, 16*pi, 10);
for z=linspace(0, -h, 10);
xlabel('Distance [m]') % x-axis label
ylabel('Depth [m]') % y-axis label
回答 (1 件)
Alessandro Masullo 2016 年 5 月 3 日
Every time that you want to update the figure, you need to call the drawnow function. You won't probably be able to get a framerate of 60fps, but you may speed up the code by getting rid of the xlabel title functions.
If you want to generate a video, you may have a look at getframe.