zwei
2008-11-28, 17:02
我想编一个演示波随时间传播的程序,也就是sin(k*x)的图形,下面是我编的源代码,出来的动画不理想
%wave propagation
f=1000000;v=3000; %初始条件
w=2*pi*f; %圆频率
l=v/f; %波长
k=2*pi/l; %波数
T=1/f; %周期
d=20; %一个周期内有20个点
x=0:l/d:10*l;
P=sin(k*x);
for t=1:201
plot(x(1:t),P(1:t));
M(t)=getframe;
end
xlabel('位置/x');
ylabel('幅度');
axis([0,10*T,-1,1]);
movie(M,1)
画图估计错了,x轴无法固定
初学Matlab,请大家指点,或者有更好的编法。不胜感激!!!!!!!!!!!
%wave propagation
f=1000000;v=3000; %初始条件
w=2*pi*f; %圆频率
l=v/f; %波长
k=2*pi/l; %波数
T=1/f; %周期
d=20; %一个周期内有20个点
x=0:l/d:10*l;
P=sin(k*x);
for t=1:201
plot(x(1:t),P(1:t));
M(t)=getframe;
end
xlabel('位置/x');
ylabel('幅度');
axis([0,10*T,-1,1]);
movie(M,1)
画图估计错了,x轴无法固定
初学Matlab,请大家指点,或者有更好的编法。不胜感激!!!!!!!!!!!