clear,close all
>> t=0
t =
0
>> %输入两组信号的振幅、波长和频率
>> a1=input('振幅1=');b1=input('波长1=');v1=input('速度1=');
振幅1=1
波长1=6
速度1=0.2
>> a2=input('振幅2=');b2=input('波长2=');v2=input('速度2=');
振幅2=2
波长2=6
速度2=0.2
>> while t<=9
x=0:0.001:10; %给出位置轴上10m,分为10000个点
y1=a1*sin(2*pi/b1*(x+v1*t));
y2=a2*cos(2*pi/b2*(x-v2*t));
y3t=y1+y2;
plot(x,y3t);
hold on;
t=t+1;
end
动画,两列波相向传播
clear,close all
>> t=0
t =
0
>> a1=input('振幅1=');b1=input('波长1=');v1=input('速度1=');
振幅1=1
波长1=2
速度1=200
>> a2=input('振幅2=');b2=input('波长2=');v2=input('速度2=');
振幅2=2
波长2=2
速度2=300
>> x=0:0.001:10; y1=a1*sin(2*pi/b1*(x+v1*t));
y2=a2*cos(2*pi/b2*(x-v2*t));
y3t=y1+y2;
>> M=moviein(60);
>> clear t
>> for t=1:60;
%给出位置轴上10m,分为10000个点
plot(x,y3t);
M(:,t)=getframe;
end>> t=0
t =
0
>> a1=input('振幅1=');b1=input('波长1=');v1=input('速度1=');
振幅1=1
波长1=2
速度1=200
>> a2=input('振幅2=');b2=input('波长2=');v2=input('速度2=');
振幅2=2
波长2=2
速度2=300
>> x=0:0.001:10; %给出位置轴上10m,分为10000个点
y1=a1*sin(2*pi/b1*(x+v1*t));
y2=a2*cos(2*pi/b2*(x-v2*t));
y3t=y1+y2;
>> M=moviein(60);
>> clear t
>> for t=1:60;
plot(x,y3t);
M(:,t)=getframe;
end
movie(M,30)
因篇幅问题不能全部显示,请点此查看更多更全内容