资源描述:
《简谐振动合成-Matlab.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二、振动的合成实际生活中,一个系统往往会同时参与两个或更多的振动。例如悬挂在颠簸船舱中的钟摆,两列声波同时传入人耳等。一般的振动合成显然是比较复杂,下面仅讨论几种间单情况的简谐振动合成。 一、同方向同频率简谐振动的合成 若两个同方向的简谐振动,频率都是,它们的运动方程分别为 因振动是同方向的,所以这两个谐振动在任意时刻的和位移应在同一直线上,且等于这两个振动位移的代数和,即 合位移仍为简谐振动 二、两个同方向不同频率简谐振动的合成拍 如果两个简谐振动的振动方向相同而频率不同,那么合成后的振动仍与原振动
2、方向相同但不再是简谐振动。现设两简谐振动的振幅都为A,初相位为零,它们的振动方程分别为 合成振动方程为 若两个分振动的频率都较大且其差很小时,即,合振动可看作为振幅随时间缓慢变化的近似谐振动,振幅随时间变化且具有周期性,表现出振动或强或弱的现象,称拍,变化的频率称拍频,变化的振幅为 变化的频率为三、相互垂直的简谐振动的合成李萨如图 如果两个简谐振动分别在x轴和y轴上进行,他们的振动方程分别为 合成后,可得质点的轨迹为椭圆方程 若两分振动有不同的频率,且两频率之比为有理数时,则合成后的质点运动具有稳定、
3、封闭的轨迹。称其为李萨如图形。程序编写我们已经在第一讲中体验了matlab的编程,可是你一定会生出这样的问号,辛辛苦苦在命令窗口写的一大堆代码怎么不保留?不用担心,matlab程序和其他编程工具一样,也有专门的文件格式,称m文件,文件名形式为“文件名.m”。你可以用matlab自带的编辑器来输入你的程序代码,当然你也可以用其它编辑器或最经济的文本编辑器,不过别忘记添加文件名的后缀“.m”。 下面,请跟我一起用m文件编辑器来编写matlab程序。 例题:两个振动方向相同而频率不同的简谐振动方程分别为 合成后的方
4、程是 请用matlab程序描述合成波和拍频现象 。 编程: 第一步:点击matlab图标,打开程序窗口。 第二步:选file—new—m-file,打开编辑器。 第三步:在编辑器中输入下列程序代码: t=1:0.001:10;%设定时间的范围从1到10a1=input('振幅1=');w1=input('频率1=');%要求用户输入简谐振动1的状态参量a2=input('振幅2=');w2=input('频率2=');%要求用户输入简谐振动2的状态参量y1=a1*cos(w1*t+phi1);%简谐振
5、动1的运动方程y2=a2*cos(w2*t+phi2);%简谐振动2的运动方程y=y1+y2;%简谐振动1、2的合成谐振3subplot(3,1,1),comet(t,y1),ylabel('y1')%绘制谐振1、2、3的振动曲线subplot(3,1,2),comet(t,y2),ylabel('y2')subplot(3,1,3),comet(t,y),ylabel('y'),xlabel('t')sound(y1);pause(2),sound(y2);pause(2),sound(y)注意:拍频现象要求两个振动的频率都很大,且相差很
6、小。第四步:按工具栏上的“保存”按钮将程序保存在当前目录下(可以重命名),再按F5运行此程序进入命令窗口根据窗口上的提示输入数据,每次输完一个数据按"Enter"结束,据所输入的数据(在命令窗口中)最终得到图形窗口1当然初相为零的情况仍然比较特殊,为了使该程序适用于更多的情况,我们可以在源程序上作一些修改:t=1:0.001:10;%设定时间的范围从1到10a1=input('振幅1=');w1=input('频率1=');phi1=input('初相位1=');%要求用户输入简谐振动1的状态参量a2=input('振幅2=');w2=in
7、put('频率2=');phi2=input('初相位2=');%要求用户输入简谐振动2的状态参量y1=a1*cos(w1*t+phi1);%简谐振动1的运动方程y2=a2*cos(w2*t+phi2);%简谐振动2的运动方程y=y1+y2;%简谐振动1、2合成谐振3subplot(3,1,1),comet(t,y1),ylabel('y1')%绘制谐振1、2、3的振动曲线subplot(3,1,2),comet(t,y2),ylabel('y2')subplot(3,1,3),comet(t,y),ylabel('y'),xlabel('
8、t')sound(y1);pause(2),sound(y2);pause(2),sound(y) 这样你就可以随便了。 快行动,打破你用程序绘图的记录吧! 相