Мой текущий код:Как оживить этот 3D-график в Matlab?
a=7
f=10
T=1/f;
v=40
wl=v/f;
x1=1;
x2=30
step=0.01
t=x1:step:x2;
x=x1:step:x2;
y=a*sind(2*pi*f*(t+(x*T)/wl));
h=plot3(x,y,t);
set(h,'EraseMode','xor','MarkerSize',20)
xlabel('displacement(m)');
ylabel('amplitude(m)');
title('Wave Animation');
for t=x1:step:x2
drawnow
y=a*sind(2*pi*f*(t+(x*T)/wl));
set(h,'YData',y)
pause(0.01)
end
я преобразовал его в 3D сетки сюжет, но он принимает возрастов, чтобы сделать в анимации и Matlab аварий.
a=7
f=10
T=1/f;
v=40
wl=v/f;
x1=1;
x2=30
step=0.01
t=x1:step:x2;
x=x1:step:x2;
[x,t] = meshgrid(x,t);
y = a*sind(2*pi*f*(t+(x*T)/wl));
mesh(y)
Какой самый лучший способ оживить это так, что он похож на то, что у меня есть, прежде чем сделать это 3D?
Вам нужно вычислить y внутри цикла и сделать его зависимым от j, или ничего не изменится. – shoelzer
@shoelzer Я получил его на работу, спасибо. Тем не менее, он медленно отображается, пока он хранит информацию в F, как предотвратить ее показ до использования «Movie (F)»? – NLed