Matlab绘制两列正弦波的叠加
Matlab绘制两列正弦波的叠加
问题描述
如下图1,图2所示,为两列任意的正弦波,其中y1=A1*cos(w1*x+t),
y2=A2*cos(w2*x-t),当输入这两列正弦波的参数w1,w2,A1,A2,t时,利用Matlab绘制出两列波振荡时的动态叠加波y3=y1+y2。
图1 y1的波动图像
图2 y2的波动图像
2. 解题方案
根据题目要求只需绘制出两列波振荡时的叠加波的运动图像,所以比较简单,只要编写一个绘图程序WAVE.m就可以了。WAVE.m的作用是当输入参数值w1,w1,t,A1,A2,x后,输出y1,y2,y3的值。反复给出x的值,会得到一系列的y1,y2,y3的值,从而得到了t时刻下的y1,y2,y3的波动图,保留该图像,不断改变时间t,就可以得到不同时间下一系列的波动图像,通过将它们连续放映,就如老式的电影一样,从而使波动图像动起来了。其流程图如下:
3. 绘图结果与分析
叠加波的图像受两列波的振幅,频率,初相位的影响
3.1 振幅的影响
如图3所示,w1=2,w2=2,A1=3,A2=4,t=0,即频率和初相位相同,仅振幅不同,由图可知,y3仍为正弦波,且初相位相同,振幅仅影响叠加波的振幅。
图3 振幅不同的波的叠加
3.2 频率的影响
如图4所示,w1=2,,w2=3,A1=3,A2=3,t=0