弹簧振子系统的简谐振动研究 matlab课程作业
- 格式:doc
- 大小:43.50 KB
- 文档页数:4
M a t l a b实现振动弹簧的实时动画This manuscript was revised by the office on December 22, 2012M a t l a b实现振动弹簧的实时动画摘要:Matlab是当前应用最广泛的科学与工程计算软件之一,本次课设将Matlab引入到图形学动画设计.本次课设主要可分为两大步骤:一、应用Matlab对弹簧振子进行建模;二、应用Matlab实现弹簧振动的实时动画。
其中建模部分包括对天花板的建模、对连接直线的建模、对弹簧的建模、对振动小球的建模。
模拟弹簧振动的过程主要包括:①更新小球和弹簧的位置。
②更新水平线的位置和长度。
③实时地画出弹簧高度与时间的关系曲线。
关键字:Matlab,振动弹簧,建模,实时动画目录1绪论................................................................... . (1)1.1matlab基本功能介绍................................................................... . (1)1.2matlab的动画制作 (2)2振动弹簧的实时动画 (4)2.1程序功能分析................................................................... (4)2.2弹簧振子的matlab建模 (6)2.2.1天花板的建模................................................................... . (7)................................................................. (8)................................................................. (9)................................................................. .. (10)2.2.5利用set函数返回句柄值改变来当前坐标轴 (11)2.3弹簧振动的实时动画 (13) (13)2.3.2利用matlab实现弹簧的实时振动 (14)2.4调试结果................................................................... (19)3设计总结................................................................... . (23)参考文献................................................................... .. (24)致谢................................................................... (25)附录-弹簧阻尼振动程序................................................................... (26)2.1程序功能分析以下是利用matlab实现振动弹簧的事实动画的程序。
MATLAB 作业赵伟伦 1100500121题目:弹簧模拟简介:本研究假设给定一个完全理想的弹簧(弹簧系数自定),用一条不会弯曲的直线表示,一端(初始时刻在上方或右方)固定一个想象中存在的人的手指上,另一端悬挂一个重力球(质量自定),用鼠标拖动手指端或者给球一个外力时,整个系统将按照一定的轨迹运动。
这个轨迹的计算和仿真就是本研究的主要目的。
方法:利用物理学规律,将重力球的每一个即使时刻的受力状态描述出来,获得运行轨迹的数学函数,由函数画出球与直线运行的轨道。
也可以找一个真的弹簧和小球,实际运动的小球,每隔固定时间(0.1s )测量小球的位置,通过几个离散数据描述出小球的轨迹,用差值或拟合的方法求出轨迹曲线,再让球沿轨迹运动,从而完成任务。
个人分析:首先我只先考虑小球是如何跟弹簧运动的,即只考虑弹簧挂重物一端的运动轨迹。
弹簧先考虑理想的弹簧,即无阻尼和无其他干扰条件下的弹簧;再考虑弹簧有阻尼情况下,弹簧一端运动的情况。
而对运动分析也从两个角度:离散弹簧运动端的运动轨迹,即用到物理学中的,速度、加速度与位移公式,通过递推的方法求出每一时刻小球运动的位置;考虑弹簧整个运动过程的轨迹,即通过分析弹簧运动端的受力情况,用牛顿第二定律,推出时间与小球位置的通解。
考虑离散情况:程序内容:1、%定义小球的初始位置,颜色,形状,大小与清除方式2、%画坐标轴3、%定义个分量的初始值:K 为弹簧弹性系数;m 为小球的质量;同时忽略弹簧质量;t 极小时间变量;v0初始速度T 为时间变量L 为平衡位置4、%读入鼠标点击点的坐标值5、%做循环循环分析:当鼠标点击一点后,设此点为弹簧运动端的被外力拉到此点,由于弹簧发生形变,形变记为l1,01l l l -=。
弹簧会给运动端一个回到平衡位置的力,此时的弹簧的拉力为:1*l k F =拉;此时为初始时刻,小球此时还没有用的时间运动,即初始速度=0;记录此时小球的位置l0;(l0为小球当前的位置,即为初始读入值)plot(l0,T);画出位移与时间关系set(h,'xdata',l0,'ydata',0);画出若小球现实与弹簧连接后,水平位置的变化分析小球受力情况:由于忽略阻力和其他外力,小球只受弹簧的拉力,此时小球顺时的加速度为:m F a 拉=;ml k a 1*=假设在极小时间内(t=0.01s )小球的为匀加速运动经过0.01秒后,小球的速度变为v1在这0.01秒内,小球的位移为s0.01后小球的位置变为l0=l0+s用v0=v1表示在下一个0.01s 内,小球的初始速度为前一个0.01s 运动结束是的速度。
用MATLAB模拟弹簧摆运动引言:物体在一定位置附近所作的往复运动称为机械振动。
这种振动现象在自然界是广泛存在的。
例如,摆的运动,一切发声体的运动,机器开动时各部分的微小颤动等都是机械振动。
在不同的振动现象中,最基本最简单的振动是简谐振动。
一切复杂的振动都可以分解为若干个简谐振动,弹簧振子和小角度单摆就是简单的简谐振动。
计算机模拟可以直观表现物理系统的运动状态,对于理解抽象的物理公式和研究系统的运动带来很多方便,所以在科研中有广泛的应用。
这里我们借助于MATLAB,在研究物理系统的运动的同时,也用动画模拟他们的运动。
由于这些运动模拟式采用真实的从求解运动方程得到的数据。
所以利用matlab的数据拟合可以画出精确的图形。
题目:设质量为m的摆锤挂在劲度系数为k,原长为l的轻弹簧上,弹簧的另一端悬挂于固定点O,系统静止自然下垂时弹簧长度为mgl lk=+,系统可在过O点的竖直平面内自由摆动,试研究摆锤的运动。
原理:系统自由度为2。
以O 为极点,竖直向下的O x 轴为极轴,建立极坐标系,如图所示,r 为质点m 到O 点距离,为O x 轴与弹簧间的夹角,则系统的拉格朗日函数为由拉格朗日方程可求出系统的运动微分方程为上式未作小摆角近似,因此可用以研究弹簧摆的大摆角运动,但是难以求出解析解。
由数值计算结果所画出弹簧摆的大摆角运动轨迹,可发现它的运动情况很复杂,不作数值计算是无法想象的。
令1y r =,2dr y dt =,3y θ=,4d y dt θ=,则成为源程序:function thbglobal L m k gtheta0=pi/10; %初始角度,可由读者设不同的值 m=1;k=80;g=9.8; L0=1;L=L0+m*g/k; %L0为弹簧原来长度,L 为弹簧静止时长度 [t,u1]=ode45(@thbfun,[0:0.005:15],[L0 0 theta0 0]); [y1,x1]=pol2cart(u1(:,3),u1(:,1)); y1 = -y1;%将极坐标换为直角坐标figureymax=max(abs(y1));axis([-1.2 1.2 -1.2*ymax 0.2]);%设置坐标范围axis offtitle('弹簧摆','fontsize',14)hold on;R =0.055 ; %设置弹簧半径yy = -L0 : 0.01 : 0;xx = R*sin(yy./L0*30*pi);%用正弦曲线表示弹簧[a,r] = cart2pol(xx,yy); %用坐标变换来画初始位置的弹簧a = a + theta0;[xx,yy] = pol2cart(a,r);%弹簧的数据line([-1 1],[0 0],'color','r','linewidth',2)%画横杆,球与弹簧ball = line(xx(1),yy(1),'color','r','marker','.','markersize',70,'erasemode' ,'xor');ball2 = line(xx(1),yy(1),'color',[0.5 0.51 0.6],'linestyle','-','linewidth',1.3,'erasemode','none');spring = line(xx,yy,'color','r','linewidth',2,'erasemode', 'xor'); pause(0.5)for i = 1 : length(t) %画出每一步的弹簧位置yy = -u1(i,1) : 0.01 : 0;xx = R*sin(yy./u1(i,1)*30*pi);[a,r] = cart2pol(xx,yy);a = a + u1(i,3);[xx,yy] = pol2cart(a,r);set(ball,'XData',x1(i),'YData',y1(i));set(ball2,'XData',x1(i),'YData',y1(i));set(spring,'XData',xx,'YData',yy);drawnow;endfunction F = thbfun(t,u)global L m k gF = [u(2);u(1)*u(4)^2 + g*cos(u(3)) - k/m*(u(1) - L + m*g/k);u(4);-2*u(2)*u(4)/u(1) - g*sin(u(3))/u(1)];程序说明:程序中解微分方程的过程比较简单,主要的技巧是在做模拟动画上。
振动理论及应用大作业题目:基于MATLAB的三自由度弹簧质量系统的振动分析姓名:专业:学号:一、题目:已知图示的三自由度弹簧质量系统,试编写MATLAB 程序:(1)求固有频率、主振型及正则振型 (2)对初始条件的自由响应;(3)对外激励的稳态响应。
参数选取:(1)各个质量值(2)各段刚度值(3)初始条件(4)简谐激励。
二、求解过程和MATLAB 程序取k1=k2=k3=k4=k ,m1 = m2=m ,m3=2m ;初始条件为x11,21x ∙==,简谐激励为1sin(),22sin(2),33sin(3)F t F t F t ===。
1、求解固有频率、主振型及正则振型建立名为work.m 的m 文件,并输入以下命令:k=1;m=1;%定义刚度矩阵和质量矩阵k1=k;k2=k;k3=k;k4=k;m1=m;m2=m;m3=2*m;k11=k1+k2;k12=-k2;k13=0;k21=-k2;k22=k2+k3;k23=-k3;k31=0;k32=-k3;k33=k3;K=[k11,k12,k13;k21,k22,k23;k31,k32,k33];M=[m1,0,0;0,m2,0;0,0,m3];%求特征值和特征向量R=inv(M)*K;D1=eig(R);[p2,d]=sort(D1);[V,Dm]=eig(R);%固有频率for i=1:3p(i,1)=sqrt(p2(i,1));end%求主振型和正则振型for i=1:3for j=1:3A1(i,j)=V(i,d(j))/V(1,d(j));endendAp=A1;Mp=Ap'*M*Ap;Kp=Ap'*K*Ap;for i=1:3AN(:,i)=Ap(:,i)/sqrt(Mp(i,i));endMN=AN'*M*AN;KN=AN'*K*AN;pApAN运行得到固有频率p,主振型矩阵Ap,正则振型矩阵AN如下:p =0.35601.12811.7609Ap =1.0000 1.0000 1.00001.8733 0.7275 -1.10072.5092 -0.4708 0.2116AN =0.2418 0.7120 0.65920.4530 0.5180 -0.72560.6068 -0.3352 0.13952、求解对初始条件的自由响应(1)建立函数文件FunFree.m,并输入如下命令:function dy=FunFree(t,y)k=1;m=1;k1=k;k2=k;k3=k;k4=k;m1=m;m2=m;m3=2*m;k11=k1+k2;k12=-k2;k13=0;k21=-k2;k22=k2+k3;k23=-k3;k31=0;k32=-k3;k33=k3+k4;dy=zeros(6,1);dy(1)=y(4);dy(2)=y(5);dy(3)=y(6);dy(4)=-1/m1*(k11*y(1)+k12*y(2)+k13*y(3));dy(5)=-1/m2*(k21*y(1)+k22*y(2)+k23*y(3));dy(6)=-1/m3*(k31*y(1)+k32*y(2)+k33*y(3));(2)建立名为MainFree.m的m文件,并输入如下命令:t=[0,50];y0=[1;0;0;0;1;0];[T,X]=ode45(@FunFree,t,y0);figure;subplot(3,1,1);plot(T,X(:,1),'r-');subplot(3,1,2);plot(T,X(:,2),'b-');subplot(3,1,3);plot(T,X(:,3),'k-');运行得对初始条件的自由响应如下:3、求解对外激励的稳态响应建立函数文件Forced.m,并输入如下命令:k=1;m=1;w=1;k1=k;k2=k;k3=k;k4=k;m1=m;m2=m;m3=2*m;k11=k1+k2;k12=-k2;k13=0;k21=-k2;k22=k2+k3;k23=-k3;k31=0;k32=-k3;k33=k3+k4;K=[k11,k12,k13;k21,k22,k23;k31,k32,k33];M=[m1,0,0;0,m2,0;0,0,m3];R=inv(M)*K;D1=eig(R);[p2,d]=sort(D1);[V,Dm]=eig(R);for i=1:3p(i,1)=sqrt(p2(i,1));endfor i=1:3for j=1:3A1(i,j)=V(i,d(j))/V(1,d(j));endendAp=A1;Mp=Ap'*M*Ap;Kp=Ap'*K*Ap;for i=1:3AN(:,i)=Ap(:,i)/sqrt(Mp(i,i)); endMN=AN'*M*AN;KN=AN'*K*AN;F1=[1;0;0];F2=[0;2;0];F3=[0;0;3];QN1=AN'*F1*sin(w*t);QN2=AN'*F2*sin(2*w*t);QN3=AN'*F3*sin(3*w*t);b1=[1/(p2(1,1)-w^2),0,0;0,1/(p2(2,1)-w^2),0;0,0,1/(p2(3,1)-w^2)];b2=[1/(p2(1,1)-(2*w)^2),0,0;0,1/(p2(2,1)-(2*w)^2),0;0,0,1/(p2(3,1)-(2*w)^2)];b3=[1/(p2(1,1)-(3*w)^2),0,0;0,1/(p2(2,1)-(3*w)^2),0;0,0,1/(p2(3,1)-(3*w)^2)];XN1=b1*QN1;XN2=b2*QN2;XN3=b3*QN3;T=20;t=1:0.1:T;X=AN*XN1+AN*XN2+AN*XN3;figure;subplot(3,1,1);plot(t,X(1,:),'r');subplot(3,1,2);plot(t,X(2,:),'b');subplot(3,1,3);plot(t,X(3,:),'k');运行得对外激励的稳态响应如下:。
一、课题任务要求随着机械工业不断向自动化、高精度、智能化等方向的发展,在机械设备运行及生产过程中进行参量测试、分析与诊断等处理过程已成为必要环节,许多信号处理方法如时域统计分析、相关分析、相干分析、频谱分析等已经被广泛被应用与机械工程测试领域。
本文为机械测试信号的时域和频域分析,其中时域分析包括对信号最大值、最小值、中值、方差的分析,频域分析包括FFT分析、频谱分析、倒谱分析。
在进行上述分析之前先要对振动信号进行拟合。
机械振动分为确定性振动和随机振动,确定性振动又分为周期振动和非周期振动,周期振动又进一步分为简谐振动和复杂的周期振动。
所以可以根据上述的分类来拟合振动信号。
在设计信号的处理程序时,用MATLAB中的相关函数来对所拟合的振动信号进行时域分析和频域分析,并对绘出的频谱图进行说明。
二、技术路线对机械振动信号的时域和频域采集,根据所拟合的振动信号,选取所需要的时域性能指标和频域分析的性能指标对振动信号进行分析。
其中时域分析包括对信号最大值、最小值、中值、方差的分析,频域分析包括FFT分析、频谱分析、倒谱分析。
现构造一个振动信号(在该程序中以两个衰减振动分量和一个随机数rand 之和来拟合振动信号),再利用MATLAB 中的函数mean ()、min ()、max ()、std ()对离散序列中的平均值、最大值、最小值、标准差等时域性能进行分析,通过调用函数fft (y );psd (y );rcep (y )对该振动信号进行频域内的性能分析。
在设计过程中的理论知识有离散傅立叶变换(DFT )、功率谱的概念和意义以及倒谱的概念和意义。
①DFT 的定义和意义:DFT 的定义式为:DFT 的意义:DFT 的意义在于它表示信号中的各个频率的分量的振动幅值的大小,亦即该分量对于振动信号影响的大小。
通过DFT 的快速算法FFT 可以很方便的将振动信号的各个分量的幅值比重计算出来。
即可以把信号的主频分量提取出来。
适合用Matlab解决的经典物理例题在物理学领域,经典物理例题一直是学习和研究的重要内容。
而Matlab作为一种强大的数学软件,非常适合解决各种物理问题。
本文将从力学、电磁学和热力学等多个方面,选取一些经典的物理例题,通过Matlab进行分析和求解,展示Matlab在解决物理问题时的强大用途。
1. 简谐振动问题简谐振动是物理学中一个重要的模型,涉及到弹簧振子、单摆等问题。
通过Matlab可以很方便地求解简谐振动的运动规律。
对于弹簧振子的运动方程,可以通过Matlab进行数值模拟,得到振动的周期、频率、位移等参数,从而更好地理解简谐振动的特性。
2. 电场问题在电磁学中,电场是一个重要的研究对象。
通过Matlab可以很容易地分析不同形状的电荷分布所产生的电场分布。
可以通过Matlab计算出点电荷、均匀带电细棒等情况下的电场分布,并绘制出电场线图,直观地展现电场的分布规律。
这样的分析对于理解电场的性质和相互作用具有重要意义。
3. 热传导问题热传导是热力学研究的一个重要方面,涉及到导热方程的求解和热量分布的分析。
通过Matlab可以对不同材料和形状的热传导问题进行数值模拟和求解。
可以通过Matlab计算出棒状材料中的温度分布随时间的演化,从而得到材料的热传导性能。
这样的分析对于工程实践中的热设计和材料选型具有重要指导意义。
4. 万有引力问题在力学中,万有引力是一个经典的例题,涉及到行星轨道、卫星运动等问题。
通过Matlab可以很方便地进行万有引力场下的物体运动模拟。
可以通过Matlab计算地球和月球的引力作用下的月球轨道,从而揭示天体运动的规律和特性。
这样的模拟对于探索宇宙中天体运动规律具有重要帮助。
总结回顾:通过以上例题的分析,我们不仅了解了Matlab在经典物理例题中的应用,也可以发现Matlab在解决物理问题时的便捷和高效。
当然,实际物理问题可能具有更多的复杂性和多样性,需要结合理论分析和实验数据进行综合研究。
弹簧振子的阻尼振动[问题]一弹簧振子的质量为m ,倔强系数为k 。
振子还受到与速度大小成正比、方向相反的阻力,比例系数为γ。
当振子从静止开始运动时,初位移为A 。
物体的运动规律是什么?不同的阻尼下的运动曲线和速度曲线有什么特点?[数学模型]根据牛顿运动定律,物体运动的微分方程为22d d d d x x m kx t t γ=--,(6.2.1)取k /m =ω02,γ/m =2β,ω0就是无阻尼时物体的固有角频率,β是阻尼因子。
物体的运动方程可表示为2202d d 20d d x x x t tβω++=。
(6.2.2)设微分方程的解为x =e rt ,代入上式可得特征方程r 2-2βr +ω02=0。
(6.2.3)特征方程的解为r β=-±,(6.2.4)设α=,α可以是实数和零以及虚数,则r 1=-β+α,r 2=-β–α,r 1和r 2可以是实数或复数。
微分方程的解为121212e e e (e e )r t r t t t t x C C C C βαα--=+=+,(6.2.5)其中C 1和C 2是由初始条件决定的常数。
物体的速度为12112212d e e e [()e ()e ]d r t r t t t t x v C r C r C C tβααβαβα--==+=-++--。
(6.2.6)当t =0时,x =A ,v =0,因此可得A =C 1+C 2,0=C 1(-β+α)+C 2(-β-α),(6.2.7)如果β≠ω0,即α≠0,解得两个常数分别为12C A αβα+=,22C A αβα-=。
因此物体的位移为e [()e ()e ]2t t t A x βαααβαβα--=++-。
(6.2.8)[讨论]①当β>ω0时,即α>0,上式就是过阻尼的情况。
②当β→ω0时,即α→0,不论用罗必塔法则还是用公式e αt →1+αt 和e -αt →1-αt ,都可得00(1)e t x A t ωω-=+。
《MATLAB语言》课程论文MATLAB在分析物体振动方面的应用姓名:邢晓佳学号:12010245256专业:通信工程班级:2010级通信班指导老师:汤全武学院:物理电气信息学院完成日期:2011年12月10日MATLAB在分析物体振动方面的应用(邢晓佳 12010245256 2010级通信班)[摘要]运用MATLAB语言很容易的解决了物理中常见的物体振动方面的题目,通过用MATLAB 计算阻尼振动中的单摆,简谐运动,弹簧振子的问题,更加鲜明的显示出了MATLAB的强大功能,实验结果表明这一方法具有操作简单明了!运算速度快,计算误差可控制等优点。
形象直观的显示图形和结论,利于研究和学习。
[关键词MATLAB 计算振动李萨如图简谐运动一、问题的提出振动是物体的一种很普通的运动形式,所谓机械振动是物体在一定位置附近所作的周期性往返运动。
例如,在心脏的跳动、钟摆的摆动、活塞的往复运动、固体原子的振动等等。
物体振动这样一个看似简单但又包含着很多计算的运动中,在人为的计算是很难精确的实现,而通过MATLAB可以处理诸多科学中的许多问题,利用它来研究物理学中的机械振动,不仅特别还特别有效。
这种运动都是在某一数值附近作往复的周期性运动,而在我们所学过的知识中,我们仅仅能解决的只是一些非常理想的振动—无阻尼振动,在处理这些问题时,遇到的问题都是容易解决的,不需要很复杂的变换,以及涉及一些特殊角度问题,以及在绘制振动图形时也会存在着一定的复杂性和难度,这些问题在MATLAB中都可以很容易解决。
下面就来简单介绍一下MATLAB在物体振动方面的具体应用。
MATLAB语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。
,MATLAB语言是美国Math Works 公司开发的计算机软件,经过多年的发展与完善。
现已成为国际上最流行的科学与工程计算的软件工具。
它集数值分析、矩阵运算、信号处理和图像处理等功能于一体,提供了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
目 录1引言——机械振动的仿真原理 (5)1.1 Matlab Simulink 功能简述 (5)1.2机械振动的物理模型 (5)1.2.1简谐振动的物理模型 (5)1.2.2阻尼振动的物理模型 (6)1.2.3受迫振动的物理模型 (6)1.3 Matlab Simulink 仿真原理简述 (8)2简谐振动方程的解及其模拟仿真 (9)2.1简谐振动方程的求解 (9)2.2简谐振动模型的仿真研究 (9)2.2.1基本模型的建立 (9)2.2.2 速度、加速度的监测 (11)2.2.3 动能、势能、机械能监测 (12)2.3简谐振动的图像分析 (13)3阻尼振动方程的求解和仿真模拟 (15)3.1弹簧振子做阻尼振动方程的求解 (15)3.2弹簧振子做阻尼振动的模拟仿真研究 (15)3.3阻尼振动的图像分析 (18)4受迫振动的方程的求解和仿真模拟 (20)4.1弹簧振子做受迫振动方程的求解 (20)4.2弹簧振子做受迫振动的仿真模拟研究 (21)4.2.1策动力频率0ωω<时弹簧振子的受迫振动仿真模拟 (21)4.2.2策动力频率0ωω>时弹簧振子受迫振动的仿真模拟 (24)4.2.3策动力频率0ωω=时弹簧振子的仿真模拟 (26)4.3受迫振动的图像分析 (27)5几点补充说明与仿真模拟中问题分析 (29)5.1物理振动模型建立的补充说明 (29)5.2方程求解中的补充说明 (29)5.3仿真模拟中的问题分析 (29)6结语 (31)参考文献 (32)附录 (33)致谢 (34)摘要机械振动主要有简谐振动,阻尼振动,受迫振动三种。
对三种振动建立模型,列出振动方程,再对三种振动给定初始条件,就可以利用Matlab Simulink功能对三种振动进行仿真模拟,得出振动的位移,速度,加速度,动能,势能,机械能随时间的变化关系图像。
另外,我们对振动方程求解,得出振子位移关于时间的函数,再分别对其求一阶、二阶导数,就可以得出速度、加速度函数,再经过简单运算就可以得到动能、势能、机械能函数。
《数学实验》报告
实验名称弹簧振子系统的简谐振动研究___ 学院
专业班级
姓名
学号
2012年6月
一、【实验目的】
1.熟悉MATLAB各个函数命令及使用方法.
2.熟悉MATLAB编程原则和子函数应用的方法.
3.进行MATLAB的综合应用以提高使用技巧.
4.对于弹簧振子系统的简谐振动进行编程以更好的理解其定义并熟悉
MATLAB.
二、【实验任务】
设弹簧振子系统由质量为m的滑块和劲度系数为k的弹簧所组成。
已知t=0时,m在A处,即x0=A,并由静止开始释放。
试研究滑块的运动规律。
三、【问题分析】
以x表示质点相对于原点的位移,线性回复力为f=-kx。
由牛顿第二定律以及题设条件,可写出弹簧振子的振动微分方程及其初始条件为
d^2x/dt^2+kx/m=0
x(0)=A
v(0)=dx/dt|(t=0)=0
滑块的速度和加速度分别为
V=dx/dt a=d^2x/dt^2
令ω*ω=k/m,用符号法求解上诉微分方程,求出运动方程、速度和加速度,并绘制出x-t,v-t和a-x曲线。
四、【实验程序】
clc
x=dsolve('D2x=-w^2*x','Dx(0)=0,x(0)=A','t')
v=diff(x,'t'),a=diff(x,'t',2),
2
3
k=400;m=2;w=sqrt(k/m); A=0.1;t=0:0.01:0.9;
x=eval(x);v=eval(v);a=eval(a); subplot(3,1,1),plot(t,x); title('x-t 关系图 ') subplot(3,1,2);plot(x,v); title('v-x 关系图')
subplot(3,1,3);plot(x,a) title('a-x 关系图')
一、 【实验结果】 x =
(A*exp(i*t*w))/2 + A/(2*exp(i*t*w)) v =
(A*i*w*exp(i*t*w))/2 - (A*i*w)/(2*exp(i*t*w)) a =
- (A*w^2*exp(-t*w*i))/2 - (A*w^2*exp(t*w*i))/2
00.10.20.30.40.50.60.70.80.9
-0.10
0.1x-t 关系图
-0.1-0.08-0.06-0.04-0.0200.020.040.060.080.1
-20
2v-x 关系图
-0.1
-0.08-0.06-0.04-0.0200.02
0.040.060.080.1
-200
20a-x 关系图
如上所得解析结果和图像,符合物理学相关理论,可知该问题的MATLAB解是正确的。
二、【实验总结】
最终选择弹簧振子的简谐振动作为我们的课题,经过了慎重的考虑,在知道matlab有一项综合作业时,我们小组就在寻找课题了,我们发现matlab和科研结合的非常紧密,而对于我们来说,其在物理实验上的应用离我们更近一些,并且由于我们已经学过大学物理,对一些概念也有更好地的理解。
起初,我们是打算对薄膜干涉以及牛顿环等光学现象进行研究的,但我们意外的发现对于以上的光学现象,我们的编程能力不足以帮我们实现我们的想法,故而最终决定选择这一问题作为我们的课题。
在编写程序中,我们体会到了MATLAB的许多独特的地方,首先,对于数学公式及符号及其敏感,可以识别出许多的符号及公式。
其次,功能非常强大,可以求积分、画图等,使我们工作减少了很多。
最后,其编程语言非常简便,非常容易上手。
在编程过程中,我们对于问题本身也有极大争论,因为某些细节记不清楚所以只得回去查阅资料或者请教同学,这对于我们对物理知识的理解也是一个提高。
总之,我们在这次matlab综合实验中学到了很多。
三、【参考文献】
大学物理,张三慧,清华大学出版社
MATLAB与数学实验,刘蕴络、韩守梅等,机械工业出版社
4。