- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Matlab仿真探究摆角对单摆周期影响
用Matlab仿真探究摆角对单摆周期影响
摘要:本文通过Matlab仿真验证小角摆动是简谐振动,并利用数值法求解微分方程,画出不同摆角下单摆的振动图像,定性分析,得出大角摆动时单摆周期随角度的变化情况。
关键字:单摆周期 摆角大小
0.引言
单摆是生活中常见的一种简单物理模型,物理学中所讨论的单摆是一种理想化的模型,也称数学摆。它由一根不可伸缩的细线(质量不计),一端固定,另一端悬挂一质量为m的小球(视为质点),且摆角小于5度的振动系统。对于这种理想单摆的周期,不随摆角大小的改变而改变。但当单摆摆角大于5度时,理想单摆的周期公式不再适用,本文通过建立物理模型,在忽略空气阻力的前提下,用Matlab进行大角摆动的模拟,画出震动图像,研究大角摆动时摆角对周期的影响。
1.建立物理模型
根据单摆的理想条件,摆线不可伸长且质量忽略不计,空气阻力忽略不计.设摆线长度为l,摆球质量为m,重力加速度为g,摆球离开平衡位置的角度为对摆球做受力分析如有图所示
=- (1-1)
其中
假定位移很小,,即小角摆动。则式1-1可表示为
(1-2)
大角摆动时,仍为1-1式,该式为非线性方程,为方便起见,将用y来表示,该式又可以写为下列一阶微分方程组
; (1-3)
2.用Matlab方程求解
2.1小角摆动
用Matlab求解式1-1,其结果为
y =theta0*cos(1/l^(1/2)*g^(1/2)*t) (2-1)
即
(2-2)
由式2-1可以看出,当小角摆动时为简谐振动。其周期为:
T= (2-3)
取摆长l=1,重力加速度g=9.8,摆角,利用Matlab求解式1-1,取步长为0.1的点作图,与应用式1-2求出解析解并绘图,将两图象放在一起比较如下图1所示
图1 小角摆动
图1中曲线为求解式1-2所得图像,而离散点为求解式1-1所得,观察图像可得两方程的解几乎吻合,可以说明当较小时( ),两方程的解几乎相等,故周期公式此时较为准确,即单摆周期不随摆角变化而变化。
上述结论仅仅适用于摆角 很小时(),当摆角很大时, 不再成立,式1-1与式1-2的解不再相近,故周期公式(2-3)不再成立。下面我们继续讨论摆角比较大时的单摆运动规律。
2.2大角摆动
用Matlab求解式1-1,前面已经提到为方便起见用式1-3表示。利用数值法求解微分方程,用Matlab分别绘制,,时的振动图像,如下图2所示
图2 大角摆动
观察图2中不同摆角的振动图像,可以看出摆角时,周期最小,摆角时,周期最大。从而得出大角摆动时,单摆周期并不像小角摆动时一样,不随摆角变化,而是大角摆动周期随着摆角的增大而增大。
结语:对于类似单摆的运动问题,我们需要求解非线性微分方程,然而对于非线性微分方程又很难求出解析解,所以可以应用Matlab求出数值解,再加以分析,从而得出单摆的运动规律。本文通过计算、作图验证了小角摆动是时单摆的振动周期公式是正确的,得出小角摆动周期不随摆角的改变而改变;对于大角摆动,本文则通过数值解并绘图,定性得到大角摆动时,单摆周期随着摆角的增大而增大。
参考文献:
[1]钞曦旭,MATLAB及其在大学物理课程中的应用[M],西安:陕西师范大学出版社,2006
[2]陈怀琛,MATLAB及其在理工课程中的应用指南(第三版)[M],西安:陕西电子科技大学出版社,2007
附录
clear,clc
y=dsolve(D2y+g/l*y=0,y(0)=theta0,Dy(0)=0,t) l=1;g=9.8;theta0=5/180*pi;t=(0:0.01:2)*pi;
y=eval(y);
plot(t,y,t,0)
clear,clc
y=dsolve(D2y+g/l*y=0,y(0)=theta0,Dy(0)=0,t) l=1;g=9.8;theta0=5/180*pi;t=(0:0.1:10);
y=eval(y); [t,u1]=ode45(fangcheng,[0:0.1:10],[5/180*pi,0],[]);
plot(t,u1(:,1),r*,t,y,b-,t,0,k-);
hold on
l=1;g=9.8;
[t1,u1]=ode45(fangcheng,[0:0.01:10],[pi/12,0],[]);
[t2,u2]=ode45(fangcheng,[0:0.01:10],[pi/6,0],[]);
[t3,u3]=ode45(fangcheng,[0:0.01:10],[pi/3,0],[])
文档评论(0)