基于MATLAB的单摆运动概要

合集下载

基于Matlab7.0的数学摆求解

基于Matlab7.0的数学摆求解

NORTHWESTERN POLYTECHNICAL UNIVERSITY基于Matlab7.0的数学摆求解一数学摆分析数学摆是系于一根长度为的线上而质量为的质点M,在重力作用下,它在垂直于地面的平面上沿圆周运动,如下图所示。

我们来确定摆的运动方程。

设取逆时针运动的方向作为计算摆与铅垂线所成的角的正方向。

质点M沿圆周的切向速度可以表示为。

作用于质点M的重力将白拉回平衡位置A 。

把重力分解为两个分量和,第一个分量沿半径OM方向,与线的拉力相抵消,它不会引起质点M的速度的数值的改变。

第二个分量沿着圆周的切线方向,它引起质点M的速度的数值的改变。

因为总是使质点M 向着平衡位置A的方向运动,即当角为正时,向减小的方向运动;当角为负时,向增大的方向运动,所以的数值等于。

因此,摆的运动方程是(1-1) 即(1-2) 如果只研究摆的微小振动,即当比较小时的情况,我们可以取的近似值代入方程(2)。

这样,就得到微小振动时摆的运动方程(1-3) 如果我们假设摆是在一个粘性的介质中摆动,那么,沿着摆的运动方向就存在一个与速度成比例的阻力。

如果阻力系数是,则摆的运动方程变为如果沿着摆的运动方向恒有一个外力作用于它,这时摆的运动称为强迫微小振动,其方程为当要确定摆的某一个特定的运动时,我们应该给出摆的初始状态:当时,,,这里代表摆的初始位置,代表摆的初始角速度的大小。

二无阻尼自由振动2.1 解析法如果只研究摆的微小振动,即当比较小时的情况,我们可以取的近似值代入方程(1-2)。

这样,就得到微小振动时摆的运动方程(2-1) 记,这里是常数,(3)变为(2-2) 这是二阶常系数齐次线性微分方程,它的特征方程为(2-3) 特征根为共轭复根(2-4) 因此,方程(3-1)的通解为(2-5) 其中,为常数。

为了获得明显的物理意义,令(2-6) 因此,若取(2-7) 则(3-4)可以写成(2-8) 即(2-9) 这里代替了作为通解中所含的两个任意常数。

可变摆长的单摆运动的MATLAB仿真

可变摆长的单摆运动的MATLAB仿真

成八种情况 。
中图分 类号 : O 4 - 3 9
单 摆运 动是 一 个 经 典 的物 理模 型 , 在 物 理 学 中有着 重要 的作 用 。有 文献研 究 了双钉 子 的小 角 度 下理 想单 摆 运 动 l 1 ] , 也 有 文 献 通 过 研 究 双 绞线 的大角 度摆 运 动 来研 究 混沌 现 象 [ 2 ] , 对 于小 摆 角 单摆 问题 的研 究 已经很 成 熟 E 引, 但 极 少地 考 虑 有 钉 子大 角度 下单 摆运 动 的整个 物理 过程 。
卢一

, , ;
[ O , 0 , 0 , O ] ; F t =[ V o , , , v o ]
0E [ 一 0 o , 0 ) 一 ∈ [ O , ) 一 妒E [ , O ) 一0 ∈[ O , 一0 o )

循 环
R一[ L 1 , L 2 , 0 , L 2 , L 1 ] ;
动过 程交 互式 可视 化仿 真 。这 种方 法可 以加 深对 物理理 论 的直 观认 识 。
收 稿 日期 :2 0 1 2 — 0 7 — 0 8
基金项 目: 西南科技大学博士基金 ( 1 0 z x 7 1 3 9 ) ; 西南科技大学 2 0 1 2 年教改项 目
*通 讯 联 系 人
用 长度 为 L 的细绳 一端拴 着 质 量为 的摆
摆球摆动运动 的理论分析
球, 另一 端 固定在 点 O1 处。 在 点 正下 方距 离 D

L 一 L 。 的点 0 2 处有 一钉 子 。 是 初始 位置 时与
01 竖 直方 向 的夹 角 , 在 摆 球 自 由下 落 的 过 程
Ⅲ一 1

基于MATLAB单摆运动的数值分析

基于MATLAB单摆运动的数值分析

Journal of Chizhou University2019年6月第33卷第3期Jun.2019Vol.33No.3收稿日期:2018-11-07基金项目:教育部产学合作协同育人项目(201802040052);黄山学院教学研究项目(2016JXYJ19);黄山学院精品课程项目(2017JPKF05);安徽省教学研究项目(2018jyxm1244)。

作者简介:马堃(1983—),男,回族,安徽六安人,黄山学院信息工程学院副教授,博士,主要研究方向为从事大学物理和原子与分子物理。

基于MATLAB 单摆运动的数值分析马堃(黄山学院信息工程学院,安徽黄山245041)[摘要]基于单摆动力学微分方程的严格精确解,分析了线性单摆和非线性单摆在有无阻尼振动时能量和角位移随着时间的演化规律,讨论了不同初始角位移对单摆周期的影响。

结果表明,对于线性单摆,无阻尼时作等周期等振幅摆动,有阻尼时,振幅逐渐衰减;非线性单摆的初始角位移越大,单摆的周期越大,相同初始角位移下,无阻尼摆的周期比有阻尼的大。

数值计算得到的非线性摆周期与文献中积分解的结果一致,误差均在0.3%以内。

[关键词]单摆;阻尼;非线性;能量;周期[中图分类号]O322[文献标识码]A[文章编号]1674-1102(2019)03-0037-03单摆作为简谐振动的一种物理模型,几乎在每一本大学物理教材中都会介绍[1-2]。

但由于其动力学方程的非线性特点,在教学过程中往往只研究其小摆角的情况,此时动力学方程简化为线性方程,其解为一余弦函数。

而对于大摆角单摆的运动状态随时间的演化规律,如何在大学本科阶段讨论单摆振动时的物理规律是大学物理力学部分一个教学难点。

早在1984年,赵炳林先生就对单摆振动的严格周期进行了分析,将积分方程中的被积函数进行级数展开,从而得到精确的级数解[3];随后,人们探索了多种近似算法,如线性插值[4]、格林函数[5]、冲击波解[6]等。

摆动导杆机构的Matlab运动学仿真

摆动导杆机构的Matlab运动学仿真
但作图法设计精度较低且无法在设计过程中对所设计机构的运动性能进行仿真分析所以难以准确地满足工程需要matlab是目前国际上广泛使用的一种功能强大的数值计算和仿真软件利用该软件的仿真工具箱可以方便地实现对机构的动态仿真分析提高设计及分析效率从众多的设计方案中寻找出最佳设计方案提高设计水平和设计效率
Vol 21 No 2008202
p lot ( simout (: , 1) , simout (: , 4) , simout (: , 1) , si2 mout(: , 5) )
p lot ( simout (: , 1 ) , simout (: , 7 ) , simout (: , 1 ) , simout (: , 8) )
% u (6) = r3
% u (7) = theta3
r1 = 1000; r2 = 400;
%
a = [ cos ( u ( 7 ) ) - u ( 6 ) 3 sin ( u ( 7 ) ) ; sin ( u
(7) ) u (6) 3 cos ( u (7) ) ];
b = [ - u ( 1) 3 r2 3 sin ( u ( 5) ) - r2 3 u ( 2) ^2 3
cos( u (5) ) + 2 3 u ( 3) 3 u ( 4) 3 sin ( u ( 7 ) )
+ u (6) 3 u (4) ^23 cos( u (7) ) ;
u (1) 3 r2 3 cos ( u ( 5 ) ) - r2 3 u ( 2 ) ^2 3 sin ( u
(5) ) - 2 3 u ( 3) 3 u ( 4) 3 cos ( u ( 7 ) ) + u
M atlab是目前国际上广泛使用的一种功能强大的数

Recurdyn与Matlab连结control倒单摆控制分析仿真教程

Recurdyn与Matlab连结control倒单摆控制分析仿真教程

Recurdyn/control例題:倒單擺控制分析-使用matlab/simulink(part-1)1.選取inverse_pendulum_i.rdyn項目,按開啟按鈕2.選取Axial項目,產生Axial Force(軸向力)在路面(Base)和台車(Car)之間3.選取Body,Body,Point,Point項目,Body選地面、Body選車子、Point :2000,-100,0、Point : -500,-100,0(注意:軸向力方向(向右為正),因為建立軸向力時,方向是由左到右)4.選取Plant Input項目,按一下Add按鈕5.axial_force是系統的輸入廠(由控制迴路所決定),按一下確定按鈕6.選取Plant Output項目,按一下Add按鈕7.按兩下Add按鈕8.選取項目9. base.Marker1和bird.Marker1項目10.選取文字方塊,az(2,1):單擺的角度值,是系統的輸出廠(由RecurDyn計算),name:angle,按一下OK按鈕11.Plant Output List對話方塊開啟了,按一下確定按鈕12.選取axial1項目13.按一下EL按鈕14. 開啟Expression List對話方塊,按一下Create按鈕15. 開啟Expression對話方塊,按一下Add按鈕16. 軸向力內存函數是:pin(1);pin就是:Plant of Input,(1):就是axial_force。

選取文字方塊:pin(1)。

按一下OK按鈕17. 按一下確定按鈕18. 按一下確定按鈕19. 選取Cosim項目20. 選取Simulink項目,由Simulink啟動RecurDyn21. 輸出matlab*.m檔案,選取m-file to create plant block文字方塊,按delete鍵,輸入inverse_pendulum,按一下Export按鈕22. 按一下儲存(s)按鈕23. 按一下套用(A)按鈕,再按一下取消按鈕24. 記得存檔,關閉RecurDyn軟體------------------------------------------------------------------------------------------------------- Recurdyn/control例題:倒單擺控制分析-使用matlab/simulink(part-2)1.載入:inverse_pendulum.m2.鍵入:rdlib,rdlib是recurdyn plant控制,按enter鍵3.recurdyn_plant_7_視窗開啟4.鍵入:simulink,啟動simulink,按enter鍵5.simulink library browser視窗開啟,按一下simulink library browser按鈕6.按一下create a new model按鈕7.untitled視窗開啟8.拉進recurdyn plant,選取選項,建立pid迴路去控制軸向力大小,讓單擺可以動平衡9.選取Gain圖案進來,按ctrl+c鍵10.選取選項continuous\derivative、integrator圖案進來11.選取項目math operations\add圖案進來12.選取項目commonly used blocks\scope圖案進來,按ctrl+v鍵13.按add圖案快按兩下,function block parameters:add視窗開啟了,將++改成---,按一下OK按鈕14.連好線15.按Gain圖案快按兩下,function block parameters:gain視窗開啟,將1改成200,按一下OK按鈕16.按Gain1圖案快按兩下,function block parameters:gain視窗開啟,將1改成1,按一下OK按鈕17.按Gain2圖案快按兩下,function block parameters:gain視窗開啟,將1改成5,按一下OK按鈕18.按一下save(ctrl+s)按鈕19.輸入inverse_pendulum檔名,按Enter按鈕20.快按recurdyn plant block兩下,inverse_pendulum/recurdyn plant block視窗開啟,recurdyn plant圖案(紅色)是recurdyn與simulink之間的控制核心,快按兩下21. [ ]static analysis(事先進行靜力分析,之後再進行動力分析)[X ]recurdyn_show(計算過程可以啟動recurdyn畫面)[X ]recurdyn_animation(計算過程可以顯示動畫)之後按一下cancel按鈕,按一下關閉按鈕22.模擬時間5,按一下Start simulation按鈕23. RecurDyn 6.4視窗開啟,RecurDyn會自動載入模型,且可以看到計算過程中的動畫(很快就結束所以省略)24.快按scope圖案兩下,scope視窗開啟(scope是角度位移變化、scope1是軸向力輸出變化),Finish。

用Matlab仿真探究摆角对单摆周期影响

用Matlab仿真探究摆角对单摆周期影响

用Matlab 仿真探究摆角对单摆周期影响摘要:本文通过Matlab 仿真验证小角摆动是简谐振动,并利用数值法求解微分方程,画出不同摆角下单摆的振动图像,定性分析,得出大角摆动时单摆周期随角度的变化情况。

关键字:单摆周期 摆角大小 0.引言单摆是生活中常见的一种简单物理模型,物理学中所讨论的单摆是一种理想化的模型,也称数学摆。

它由一根不可伸缩的细线(质量不计),一端固定,另一端悬挂一质量为m 的小球(视为质点),且摆角小于5度的振动系统。

对于这种理想单摆的周期,不随摆角大小的改变而改变。

但当单摆摆角大于5度时,理想单摆的周期公式不再适用,本文通过建立物理模型,在忽略空气阻力的前提下,用Matlab 进行大角摆动的模拟,画出震动图像,研究大角摆动时摆角对周期的影响。

1.建立物理模型根据单摆的理想条件,摆线不可伸长且质量忽略不计,空气阻力忽略不计.设摆线长度为l,摆球质量为m ,重力加速度为g,摆球离开平衡位置的角度为θ,对摆球做受力分析如有图所示。

由牛顿第二定律,有22d dt θ=-θωθsin sin 2-=lg(1-1其中lg =ω 假定位移很小,θθ=sin ,即小角摆动。

则式1-10lgd 22=+θθdt (1-2) 大角摆动时,仍为1-1式,该式为非线性方程,为方便起见,将θ用y 来表示,该式又可以写为下列一阶微分方程组21y dt dy = ;()12y sin lg-dt dy = (1-3) 2.用Matlab 方程求解 2.1小角摆动用Matlab 求解式1-1,其结果为y =theta0*cos(1/l^(1/2)*g^(1/2)*t) (2-1)即⎪⎪⎭⎫⎝⎛=t t g cos 0θθ (2-2)由式2-1可以看出,当小角摆动时为简谐振动。

其周期为:T 0=gl22πωπ=⨯ (2-3)取摆长l=1,重力加速度g=9.8,摆角οθ5=,利用Matlab 求解式1-1,取步长为0.1的点作图,与应用式1-2求出解析解并绘图,将两图象放在一起比较如下图1所示12345678910图1 小角摆动图1中曲线为求解式1-2所得图像,而离散点为求解式1-1所得,观察图像可得两方程的解几乎吻合,可以说明当θ较小时(οθ5≤ ),两方程的解几乎相等,故周期公式此时较为准确,即单摆周期不随摆角变化而变化。

弹簧摆matlab演示及源代码

弹簧摆matlab演示及源代码

弹簧摆写出弹簧摆的运动微分方程,并用matlab 编写程序,演示弹簧摆的运动弹簧摆的运动微分方程可以通过拉格朗日函数法求得,对于弹簧单摆系统,在极坐标系中其拉格朗日函数为222211 ()cos ()22L T Vmg m r r mgr k r l kθθ=-=++--+ 其中,r θ为自由度,,,,m k g l 分别为摆球质量,弹簧刚度,重力加速度和摆初始长。

将拉格朗日函数带入到拉格朗日方程00d L L dL L dt θθ∂∂⎧-=⎪⎪∂∂⎨∂∂⎪-=⎪∂∂⎩得到系统的运动微分方程:sin ()02sin 0k mg r r g r l g k r rg θθθθθ⎧--+-+=⎪⎨⎪++=⎩ 对于这个非线性方程组,利用matlab 里面自带的ode45常微分方程组求解函数,对上面的方程组进行数值求解,得到了摆球的运动轨迹,如下图所示0246810121416弹簧摆内共振动画模拟及自由度随时间的变化曲线时间t 单位秒对应的自由度图中给出了弹簧摆运动过程中自由度,r 随时间的变化关系,下面将给出这个程序的源代码,演示程序时,首先停顿三秒,然后开始摆动,图形上方的弹簧摆的示意图开始摆动并描绘出轨迹,同时图形下方自由度随时间变化关系也会动态的给出,从这个过程中可以明显看出弹簧摆的内共振现象。

程序源码:function springmasstheta0=1.5*pi/10;%单摆的初始角度m=20/9.8;k=80;g=9.8;%弹簧质量的参数保证弹簧固有频率是单摆固有频率的2倍L0=1;L=L0+m*g/k;%L0为弹簧原来长度,L为弹簧静止时长度[t,u1]=ode45(@weifen,[0:0.05:15],[L00theta00],[],L,k,m,g);[y1,x1]=pol2cart(u1(:,3),u1(:,1));y1=-y1;%将极坐标换为直角坐标axis([016-1.54]);%text(0,u1(1,1),'摆长l');%text(0,u1(1,3),'摆角\theta');%axis offtitle('弹簧摆内共振动画模拟及自由度随时间的变化曲线','fontsize',15)xlabel('时间t单位秒');ylabel('对应的自由度');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);%弹簧的数据xx=2*xx+7;yy=yy+3.5;%xx(1)=x(1)+15;line([68],[3.53.5],'color','k','linewidth',4)%弹簧单摆系统初始状态for i=1:9line([6+0.2*i6+0.2*i+0.2],[3.53.7],'color','k','linewidth',1);endline([77],[3.52.3],'color','k','linestyle','-.','linewidth',1)bigball=line(xx(1),yy(1),'color','b','marker','.',...'markersize',30,'erasemode','xor');%球ball2=line(xx(1),yy(1),'color','g','linestyle','-',...'linewidth',1.3,'erasemode','none');%轨线spring=line(xx,yy,'color','k','linewidth',2,'erasemode','xor');%弹簧linex=line(t(1),u1(1,1),'color','r','marker','.',...'markersize',10,'erasemode','none');%摆长曲线初始liney=line(t(1),u1(1,3),'color','b','marker','.',...'markersize',10,'erasemode','none');%摆角曲线初始%以下为标注text(6,-0.75,'\uparrow');text(4,-1,'摆角随时间变化曲线');text(9.0,1.9,'摆长随时间变化曲线');text(11.4,1.70,'\downarrow');%在初始状态下停顿三秒pause(2)%以下程序开始实现动画,在弹簧摆开始振动时画出相应的变化曲线for i=2:length(t)yy=-u1(i,1):0.01:0;%弹簧xx=R*sin(yy./u1(i,1)*30*pi);%xx(i)=x(i)+15;[a,r]=cart2pol(xx,yy);a=a+u1(i,3);%set(linex,'XData',t(i),'YData',u1(i,1));%%摆长初始%set(ball2,'XData',2*x1(i)+7,'YData',y1(i)+3.5);%轨线%set(liney,'XData',t(i),'YData',u1(i,3));%摆角初始plot([t(i-1),t(i)],[u1((i-1),1),u1(i,1)],'xr');plot([t(i-1),t(i)],[u1((i-1),3),u1(i,3)],'*b');%legend('摆长曲线','摆角曲线')[xx,yy]=pol2cart(a,r);xx=2*xx+7;yy=yy+3.5;set(bigball,'XData',2*x1(i)+7,'YData',y1(i)+3.5);%球%plot(2*x1(i)+7,y1(i)+3.5,'b');%球%set(ball2,'XData',2*x1(i)+7,'YData',y1(i)+3.5);%轨线plot([2*x1(i-1)+7,2*x1(i)+7],[y1(i-1)+3.5,y1(i)+3.5],'-g');%轨线set(spring,'XData',xx,'YData',yy);%弹簧drawnow;end%以下为弹簧摆的运动微分方程function value=weifen(t,u,l,k,m,g)value=[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)];。

单摆运动控制系统设计与仿真实验报告

单摆运动控制系统设计与仿真实验报告

单摆运动控制系统设计与仿真实验报告1.引言1.1 概述概述部分的内容:单摆运动控制系统是一个常见的控制系统应用领域,它在诸多科学实验、工程项目和技术研究中都有广泛的应用。

单摆运动控制系统通过控制摆臂的运动,实现对摆臂的稳定性和精确度的控制,从而达到预定位置、速度和加速度的要求。

随着科技的不断发展和进步,单摆运动控制系统的设计和仿真实验成为研究者们关注的焦点。

在过去的几十年中,众多学者和工程师们提出了各种各样的方法和理论,以提高单摆运动控制系统的性能和效果。

这些方法包括但不限于PID控制、自适应控制、模糊控制等等。

它们都在不同的场景中展现了自己的优势和特点,为单摆运动控制系统的设计和仿真实验提供了全新的思路和方法。

本文旨在介绍单摆运动控制系统的设计和仿真实验。

首先,我们将对单摆运动控制系统的相关背景和理论基础进行概述和分析。

接着,我们将详细介绍单摆运动控制系统的设计过程,包括系统结构、控制算法和参数选择等方面。

在设计完成后,我们将进行仿真实验,在不同的工作条件下对系统进行测试和评估,以验证设计的有效性和性能。

最后,我们将总结本文的研究成果,并对未来的研究方向进行展望。

通过本文的研究,我们希望能够为单摆运动控制系统的设计和仿真实验提供实用有效的方法和理论支持,为相关领域的研究者和工程师提供参考和借鉴。

同时,我们也期待通过本文的工作,能够推动单摆运动控制系统设计的进一步发展和应用。

文章结构部分的内容可以如下所示:1.2 文章结构本文主要分为三个部分,即引言、正文和结论。

引言部分主要概述了文章内容和研究背景,介绍了单摆运动控制系统设计与仿真实验的目的和重要性。

正文部分包括两个主要内容,即单摆运动控制系统设计和仿真实验。

在单摆运动控制系统设计中,我们将介绍系统的原理和设计方法,并详细描述系统的硬件和软件实现。

在仿真实验中,我们将使用相关仿真软件进行系统的仿真,验证设计的有效性和准确性。

结论部分对本文的主要内容进行总结,回顾了实验的结果和分析,总结了系统的性能和局限性。

matlab单摆振动的课程设计

matlab单摆振动的课程设计

matlab单摆振动的课程设计一、课程目标知识目标:1. 理解单摆振动的基本原理,掌握单摆的动力学方程及其求解方法;2. 学习运用MATLAB软件进行单摆振动模拟,理解数值解的基本概念;3. 掌握单摆周期与摆长、重力加速度之间的关系,并能够运用MATLAB进行数据分析。

技能目标:1. 能够运用MATLAB软件构建单摆振动模型,进行数值模拟和结果分析;2. 通过实际操作,培养解决物理问题的编程能力和科学计算能力;3. 能够运用MATLAB绘图功能,直观展示单摆振动过程,分析振动特性。

情感态度价值观目标:1. 培养学生对物理现象的好奇心,激发探索自然规律的兴趣;2. 培养学生严谨的科学态度,强调理论与实践相结合的重要性;3. 培养团队协作意识,让学生在合作中共同解决问题,提高沟通与表达能力。

课程性质:本课程为物理实验课程,旨在通过MATLAB软件辅助教学,帮助学生深入理解单摆振动现象。

学生特点:针对高年级学生,已具备一定的物理基础和计算机操作能力,能够较快掌握MATLAB软件的使用。

教学要求:结合课程特点和学生实际情况,注重理论与实践相结合,强调动手实践和问题解决能力的培养。

在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。

二、教学内容1. 理论知识:- 单摆振动的基本原理;- 单摆动力学方程及其解析解;- 单摆周期与摆长、重力加速度之间的关系。

2. MATLAB软件操作:- MATLAB基本操作与命令;- 使用MATLAB进行数值计算和绘图;- 构建单摆振动模型并进行数值模拟。

3. 教学大纲:- 第一阶段:单摆振动基本原理学习,讲解动力学方程及其解析解;- 第二阶段:MATLAB软件操作教学,学习基本命令和绘图功能;- 第三阶段:结合理论,运用MATLAB构建单摆振动模型,进行数值模拟;- 第四阶段:数据分析,探讨单摆周期与摆长、重力加速度之间的关系。

4. 教学内容安排与进度:- 理论知识:2课时;- MATLAB软件操作:2课时;- 模型构建与数值模拟:3课时;- 数据分析:1课时。

MATLAB计算单摆摆动角度衰减

MATLAB计算单摆摆动角度衰减

这是一个计算单摆摆动角度衰减的程序% ***** PROGRAM 1.2 *****% MOTION OF A SIMPLE PENDULUM IN AIR% Reference: Computational Fluid Mechanics by Example (Biringen and Chow; Wiley 2011)clc; 清屏clear all; 清内存区间format short e; 设置一种输出格式global A B C D G L NU 定义单摆小球概念,这些均为小球参数% ***** SPECIFY DATA *****RHO = 2500.; 园RHOF = 1.22;%PI = 3.14159;PI = pi; πDT = 0.1;TMAX = 20.;D = 0.01; 直径G = 9.8; 重力加速度L = 2.0; 绳长NU = 1.49E-5; 科学计算法表示的一个参数RHOBAR = RHOF/RHO;A = 1.+RHOBAR/2.;B = (1.-RHOBAR)*G;C = 3.*RHOBAR/(4.*D); 以上均为定义各参数数据% ***** INITIALIZE THE PROBLEM *****T0 = 0.0; 时间开始为0V0 = 0.0; 速度开始为0THETA0 = 45.0; tao,衰减过程中的时间参数Y0 = L*THETA0*PI/180.0; 初始化单摆小球的坐标位置和角度% ***** INTEGRATE THE EQUATIONS OF MOTION BY USING FOURTH-ORDER RUNGE-KUTTA% METHOD, STOP THE COMPUTATION WHEN T>TMAX *****disp(' IN AIR ');disp(' T THETA V ');disp(' (SEC) (DEG) M/SEC) ');在工作区(command window)显示这些名称,运行时可以看到%[T,SOLN]=ode23(@FN,[T0:DT:TMAX],[Y0 V0]);[T,SOLN]=ode45(@FN,[T0:DT:TMAX],[Y0 V0]); 公式中的FN已在子函数中定义Y=SOLN(:,1); Y为竖直方向的坐标,SOLN是单值的意思V=SOLN(:,2); V为小球速度THETA = Y/L * 180.0/PI; THETA为小球的角度,以上是计算公式,运用四阶导数运算disp([T THETA V]); 在工作区显示这些数据,运行时你可以看到%PLOT THE DATAclear plot; 清除内存中原来的图像plot(T,THETA) 绘制新的图像grid on 绘制坐标方格xlabel('t (s)'),ylabel('\theta (deg)') 定义图像的x,y坐标的名称title('Angular displacement for glass sphere in air') 定义图像的名称function [X,P,T] = RUNGE(X,P,T,H,F); 定义一个函数% ***** FOURTH-ORDER RUNGE-KUTTA FORMULAE (1.1.12) AND (1.1.13) ARE % PROGRAMED IN THIS SUBROUTINE FOR SOLVING A SECOND-ORDER DIFFERENTIAL % EQUATION REWRITTEN IN THE FORM :% DX/DT = P AND DP/DT = F(X,P,T)% H IS THE SIZE OF INCREMENT IN THE INDEPENDENT VARIABLE T, AND F IS A% FUNCTION DEFINED IN ANOTHER SUBPROGRAMD1X = H*P; x(小球横坐标位置)的一阶导数D1P = H*feval(F,X,P,T); P的一阶导数D2X = H*(P + D1P/2.); x二阶导数D2P = H*feval(F,X+D1X/2.,P+D1P/2.,T+H/2.); P的二阶导数D3X = H*(P + D2P/2.); 三阶D3P = H*feval(F,X+D2X/2.,P+D2P/2.,T+H/2.); 三阶D4X = H*(P + D3P); 四阶D4P = H*feval(F,X+D3X,P+D3P,T+H); 四阶T = T + H;X = X + (D1X + 2.*D2X + 2.*D3X + D4X)/6.; 貌似是泰勒公式P = P + (D1P + 2.*D2P + 2.*D3P + D4P)/6.; 貌似是泰勒公式function [RES] = FN(T,VEC); 定义FN函数,主函数中用到了global A B C D G L NUY = VEC(1);V = VEC(2);FN = (-B*sin(Y/L) - C*V*abs(V)*CD(V)) / A;RES = [V;FN]; RES是定义的函数的名称,这个是运行时将RES在工作区中显示出来其余的不用解释function [CD] = CD(V) 球体在空气中的阻力系数的函数% ***** CD IS THE APPROXIMATE DRAG COEFFICIENT OF A SPHERE ***** global A B C D G L NURE = abs(V)*D/NU; abs是取绝对值if (RE==0.)CD=0.;endif (RE>0. && RE<=1.)CD=24./RE;endif (RE>1. && RE<=400.)CD=24./RE^0.646;endif (RE>400. && RE<=3.0E+5)CD=0.5;endif (RE>3.0E+5 && RE<=2.0E+6)CD=3.66E-4*RE^0.4275;endif (RE>2.0E+6)CD=0.18;End这些都是这个系数是怎么求取的,很复杂。

基于MATLAB的单摆运动概要

基于MATLAB的单摆运动概要

Matlab仿真技术作品报告题目系(院):专业:班级:学号:姓名:指导教师:学年学期:2012〜2013学年第 1 学期2012年11月18日设计任务书单摆问题,小球在来回摆动的过程中不仅受到外界阻力等环境影响,而且其摆动过程中的角度也是很难确定的,通过 Matlab 来模拟这个过程,这为实际物理实验的展综合运用专业及基础知识,解决实际工程技术问题的能力;3.学习资料的收集与整理,学会撰写报告。

实验 环境 1.微型电子计算机(PC );2. 安装Windows 2000以上操作系统,MATLAB 等开发工具。

1.借助MATLAB ,研究无阻尼状态下单摆的大摆角运动 2.设计一个可以动态输入数据的图形用户界面。

3. 编写GUI 界面,实现人机交互的各项功能。

4.输入数据后能显示小球水平位移和竖直位移随时间的变化图像,仿真小球 任务 要求 做单摆的过程。

5.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求, 注意材料收集与整理;6. 结束后,及时提交作品报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于 1500字(不含代码)。

摘要借助MATLAB 计算软件,研究无阻尼状态下单摆的大摆角运动,给出了任意摆 角下单摆运动周期的精确解。

同时利用 MATLAB 函数库中的ode45函数,求解出大 摆角下的单摆的运动方程。

并利用其仿真动画形象的展现出单摆的运动规律 ,为单摆实验中大摆角问题的讲解提供了较好的教学辅助手段。

关键词 单摆模型;周期;MATLAB课题 名称MATLA 在单摆实验中的应用1. 设计 目的开提供了方便;2.一、问题的提出二、方法概述2.1问题描述.....2.2算法基础……2.2.1单摆运动周期.........2.2.2单摆做简谐运动的条件三、基于MAT LAB的问题求解•…3.1单摆大摆角的周期精确解3.2、单摆仿真(动画)3.3单摆仿真整个界面如下:四、结论五、课程体会参考文献目录 (2) (2) (2) (3) (3) (5) (5).. • 2... • 2……-13、问题的提出在工科物理教学中,物理实验极其重要,它担负着训练学生基本实验技能、验证学生所学知识、提高学生综合实力的重要职责。

基于MATLAB的单摆运动

基于MATLAB的单摆运动

利用matlab的gui进行设计。 运行界面的演示。
当初始角为45度,摆长为1时如下:
小球的水平位移图像:
小球的竖直位移图像:
整体GUI界面
实验结果分析:

谢谢观赏
一、课题的内容与要求
借助MATLAB , 研究无阻尼状态下单摆的运动 设计一个可以动态输入数据的图形用户界面。 编写GUI界面,实现人机交互的各项功能。 输入数据后能显示小球水平位移和竖直位移随时 间的变化图像,仿真小球做单摆的过程。
二、课题目的
就单摆问题而言,小球在来回摆动的过程中不仅受 到外界阻力等环境影响,而且其摆动过程中的角度 也是很难确定的(单摆在小于等于五度时才能验证 其周期),这就为实际物理实验的展开制造了巨大 的困难。本作品将借助于MATLAB 这个强大的数 学软件, 计算任意摆角下单摆运动周期的精确解,以 消除摆角问题带来的误差;同时利用该软件, 仿真 出大摆角时单摆的运动情况,为单摆测重力加速度实 验中大摆角问题的讲解提供较好的手段。
主要代码(水平和竖直位移图像):
• • • • • • •
l=str2num(get(handles.edit2,'string')); theta0=str2num(get(handles.edit1,'string')); g=0.98; %重力加速度,可以调节摆的摆速 dt=0.01; for i=1:2001 t=(i-1)/100; theta=theta0*cos(sqrt(g/l)*t);
三、算法基础

单摆做简谐运动Βιβλιοθήκη 条件研究摆球沿圆弧的运动情况时, 要以不考虑与摆球运动方向垂直 的力,而只考虑沿摆球运动方向 的力,如图所示我们可将重力G分 解到速度v的方向及垂直于v的 方向.且G1=Gsinθ =mgsinθ G2=Gcosθ =mgcosθ 。 X=L sinθ Y=L cosθ

MATLAB计算单摆的周期和动画

MATLAB计算单摆的周期和动画

单摆振动的周期和运动规律[问题] 单摆振动的周期和运动规律(1)求单摆的周期与角振幅的关系。

(2)演示单摆的振动。

[数学模型](1)如A5.1图所示,设摆锤质量为m ,角位置为θ,摆锤的运动方程为22d sin d ml mg tθθ=-, 即 22d sin d g t lθθ=-, (5.1.1) 在小角度的情况下,sin θ ≈ θ,可得 2202d 0d tθωθ+=, (5.1.2)其中0ω=,ω0为圆频率。

可知:单摆在小角度时作简谐振动,小角度周期为002π2T ω==。

(5.1.3) 可见:在小角振动的情况下,单摆的周期与角振幅无关,这称为单摆的等时性。

摆锤的角速度为ω = d θ/d t ,因此22d d d d d d d d d d t t t θωωθωωθθ===, 由(5.1.1)式可得d sin d g lωωθθ=-, 积分得21cos 2g C lωθ=+, 当t = 0时,ω = 0,θ = θm ,可得C = -g cos θm /l 。

因此角速度大小为d d t θω==。

(5.1.4) 注意:角速度是单位时间内角度的变化率d θ/d t ,圆频率是简谐运动中2π时间内周期性运动的次数2π/T ,它们常用字母ω表示,单位也相同,但意义不同。

单摆的周期为m g A5.1图m m00πT T==⎰。

(5.1.5)对于任何角振幅θm,通过数值积分和符号积都能计算周期。

利用半角公式可得m1πT Tθ=⎰设msin2kθ=,(5.1.6) 并设k sin x = sin(θ/2),因此1cos d cos d22k x xθθ=,可得π/2π/2000012ππT T T==⎰⎰,即π/22πT T=⎰(5.1.7) 这是椭圆积分。

第一类完全椭圆积分定义为π/2K()k=⎰(5.1.8) 周期为2K()πT T k=。

(5.1.9)[算法]对于任何一个角振幅θm,利用(5.1.5)式,通过MA TLAB数值积分指令quadl和符号积分指令int都可计算单摆的周期。

数学建模之单摆摆动问题分析

数学建模之单摆摆动问题分析

数学建模之单摆摆动问题分析数学建模在实际中的应用单摆摆动问题分析学号姓名专业根据平常接触到的摆钟、秋千等实物中,抽象出单摆的模型。

在理想条件下,单摆的摆动规律大致分为两种情况:小角度摆动和大角度摆动,分别针对这两种情况,从摆动微分方程出发,之后采取不同的方法分析。

小角度摆动时,可做三角近似代替,将非线性微分方程转化为线性微分方程,进而求出其解析解,得到小摆角时单摆运动规律。

通过matlab软件的验证,可以明显的看出结果与实际相符的很好。

一、问题描述针对理想条件下的单摆,分析在小摆角和大摆角两种不同情况下的运动规律。

二、模型假设1.悬挂小球的细线伸缩和质量均忽略不记,线长比小球的直径大得多;2.装置严格水平;3.不受空气阻力,且无驱动力。

三、符号说明符号含义(rad) 单摆偏离平衡位置的角位移 ,单摆的最大摆角 ,(rad) 0g 2重力加速度,取9.8m/sl 细线长,取1mt(s) 单摆摆动时间四、模型建立与求解1.最简单的单摆模型(如图1)1图1 简单单摆模型o2.小角度时单摆运动规律(<5) ,,,1单摆的运动微分方程为:2d,g+=0 (1) sin,2dtl当摆角很小时,sin,故方程1可简化为: ,,,,2d,g+=0 (2) ,2dtl这是一个简单的谐振动方程,其解析解为:,,,=Acos() (3) ,00其固定角频率为:g,= (4) 0l得其周期为:,2,lT= (5) 2,,0g,0o可以利用matlab软件在[0, 5]分别作出方程(1)和方程(2)的解得图像,如图2图2 小角度单摆摆动规律(—方程(1)的解,**方程(2)的解)o由图像可以看出两方程的解的图像几乎吻合,可以说明当较小时(<5),,,两方程的解几乎相等,故周期公式此时较为准确。

o 上述结论仅仅适用于摆角很小时(<5),当摆角很大时,方程sin不,,,,,再成立,方程(1)和方程(2)的解不再相近,故周期公式(5)不再成立。

基于MATLAB的单摆系统分析及PID仿真设计

基于MATLAB的单摆系统分析及PID仿真设计

基于MATLAB的单摆系统分析及PID仿真设计
张勃;李自成;罗阳杰;黄俊龙;谢飚;杨星
【期刊名称】《现代工业经济和信息化》
【年(卷),期】2024(14)3
【摘要】对单摆系统的稳定性及对各种阻尼状态的图像进行对比分析,利用MATLAB中的Simulink功能来对单摆系统进行PID的仿真,探究阻尼对单摆系统的影响并通过调整参数消除误差,使系统达到理想状态.
【总页数】3页(P103-105)
【作者】张勃;李自成;罗阳杰;黄俊龙;谢飚;杨星
【作者单位】成都理工大学工程技术学院
【正文语种】中文
【中图分类】TP273
【相关文献】
1.基于MATLAB的控制系统分析教学仿真软件设计
2.基于MATLAB的“电力系统分析”仿真平台的设计与实现
3.基于MATLAB GUI的PID控制仿真系统设计
4.基于MATLAB的四旋翼无人机飞控PID仿真设计
5.基于群智能优化算法与MATLAB仿真的高温炉模糊PID温度控制系统设计
因版权原因,仅展示原文概要,查看原文内容请购买。

用Mathematica软件计算单摆实验中大摆角的周期

用Mathematica软件计算单摆实验中大摆角的周期

用Mathematica软件计算单摆实验中大摆角的周期
成思源
【期刊名称】《中学教学参考》
【年(卷),期】2016(000)005
【摘要】在高中物理中,测量重力加速度常常采用单摆法,此法要求单摆的初始摆角小于5度.当摆角大于5度后的摆动周期如何呢?有不少研究者对此问题作了分析探讨.在此借助Mathematica软件,用椭圆积分法,研究无阻尼状态下单摆的大摆角运动,并计算得出不同摆角下单摆运动的周期.
【总页数】2页(P52-53)
【作者】成思源
【作者单位】湖北武汉市华中科技大学附属中学 430000
【正文语种】中文
【中图分类】G633.7
【相关文献】
1.基于Mathematica求解任意摆角下的单摆周期近似公式
2.基于MATLAB下对单摆实验中大摆角问题的讨论
3.大摆角下单摆周期变化的实验分析
4.大摆角单摆"周期"变化的解析解及其实验应用
5.非惯性系中大摆角单摆周期的积分形式及数值分析
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab仿真技术作品报告题目:MATLAB在单摆实验中的应用系(院):专业:班级:学号:姓名:指导教师:学年学期:2012~2013 学年第 1 学期2012年11月18日设计任务书摘要借助MATLAB 计算软件, 研究无阻尼状态下单摆的大摆角运动, 给出了任意摆角下单摆运动周期的精确解。

同时利用MATLAB 函数库中的ode45 函数, 求解出大摆角下的单摆的运动方程。

并利用其仿真动画形象的展现出单摆的运动规律, 为单摆实验中大摆角问题的讲解提供了较好的教学辅助手段。

关键词单摆模型;周期;MATLAB;目录一、问题的提出 (2)二、方法概述 (2)2.1问题描述 (2)2.2算法基础 (3)2.2.1单摆运动周期 (3)2.2.2单摆做简谐运动的条件 (4)三、基于MAT LAB的问题求解 (5)3.1单摆大摆角的周期精确解 (5)3.2、单摆仿真(动画) (7)3.3单摆仿真整个界面如下: (10)四、结论 (12)五、课程体会 (12)参考文献 (13)一、问题的提出在工科物理教学中,物理实验极其重要,它担负着训练学生基本实验技能、验证学生所学知识、提高学生综合实力的重要职责。

通过一系列的物理实验,学生可在一定程度上了解并掌握前人对一些典型物理量的经典测量方法和实验技术,并为以后的实验工作提供有价值的借鉴,进而培养学生的动手实践能力和综合创新能力。

然而,物理实验的优劣很大程度受限于物理实验条件的制约。

当前,受限于以下条件(很多情况下物理实验环境都是难以有效构造的),物理实验的效果并不理想:1)一些实验设备比较复杂并且昂贵,难以普及应用;2)有效实验环要求非常苛刻,是现实环境中难以模拟,甚至根本无法模拟;3)除此以外,有些实验的实验环境即使可以有效构造,它的实验结果却仍然是难以直接、完整观察获取的,如力场、电场、磁场中的分布问题等。

鉴于以上原因,物理仿真实验已引起了大家的关注,出现了一些软件。

但很多是基于Flash、Photoshop 、3D Studio MAX之类的图形图像软件制作。

这些软件可以制作逼真的实验环境和生动的实验过程动画,还可以制作出实际实验所无法达到的效果。

但这类软件本身是制作卡通动画的,对物理实验规律和过程很少涉及,很难做到真正的交互使用,及精确的计算分析同时开发也很困难。

因此,基于这些软件的仿真在工科物理实验教学中应用很少。

本文利用MATLAB 计算软件及其仿真功能对单摆实验过程进行模拟、仿真及后期分析,对物理实验教学改革提供一种新思路。

具体地,本文将描述一种新颖的单摆实验方法, 其主要的意义在于给学生以综合性实验技能训练。

一个综合性实验, 它必须涉及多方面的知识和实验技能。

本文描述的单摆实验方法即具备这样的特征。

它的实验原理虽然简单, 但所涉及到的知识点极为丰富: 力学振动, 计算机编程等。

学生通过这样的实验不仅可以得到综合性的实验技能训练, 而且可以在如何将现代技术改造传统实验、理论联系实际等方面得到很多启示。

另外,本文引入计算机技术分析法, 对单摆实验进行了改造, 既实现了基础物理实验的现代化, 又为MATLAB课程实验提供了很好的应用落足点, 可以使学生得到多方面的实验技能训练。

二、方法概述2.1问题描述单摆问题是高中物理及大学普通物理实验教学中的一个基础问题。

单摆在摆角比较小时,其运动规律近似为准简谐振动。

但是当摆角比较大时, 即单摆在大摆角情况下运动时,这种近似已不再成立,其运动方程满足非线性微分方程。

因此,对摆角大小的限制成为该实验中必须满足的条件。

不同的实验条件下,最大摆角的取值不同,其中包括, ,,,甚至等。

这就为在实验过程中对摆角的统一取值造成困难,给实验带来较大的误差。

同时,学生对单摆在大摆角情况下运动时其运动周期及运动规律的理解也存在困难。

利用先进的计算机仿真技术模拟单摆运动、分析单摆运动规律为学生理解、掌握单摆运动规律具有积极的意义。

就单摆问题而言,小球在来回摆动的过程中不仅受到外界阻力等环境影响,而且其摆动过程中的角度也是很难确定的(单摆在小于等于五度时才能验证其周期),这就为实际物理实验的展开制造了巨大的困难。

本文将借助于MATLAB 这个强大的数学软件, 计算任意摆角下单摆运动周期的精确解,以消除摆角问题带来的误差;同时利用该软件, 仿真出大摆角时单摆的运动情况,为单摆测重力加速度实验中大摆角问题的讲解提供较好的手段。

通过本问题的模拟、仿真、分析为大学物理实验其它问题的求解提供借鉴。

2.2算法基础2.2.1单摆运动周期单摆是一种物理模型。

设质量为m、摆长为l的单摆在重力场中作无阻尼振动,由牛顿第二定律得,单摆的运动方程为:(1)当摆角较小时, sin与无限接近,方程( 1) 化简为:= (2)这是一个简单的谐振动方程,其解析解为:A cos(t + ) (3)其中固定角频率=;其周期为:(4)当摆角较大时, 这种近似不再成立。

公式( 1) 是一个非线性微分方程, 其解析解很难求出。

但是通过积分的方法,作变量代换,就可得到大摆角运动时单摆的周期的积分形式:(5)其中为单摆的最大摆角。

此公式适用于任意摆角下单摆运动周期的计算。

2.2.2单摆做简谐运动的条件在力学的实验中,我们讨论单摆只讨论它的小角度摆动,单摆在摆角很小(小于5º)的情况下,可以看作间谐振动。

①研究摆球沿圆弧的运动情况时,要以不考虑与摆球运动方向垂直的力,而只考虑沿摆球运动方向的力,如图1所示。

图1 单摆运动中力的分析②因为F′垂直于v,所以,我们可将重力G分解到速度v的方向及垂直于v的方向.且G1=Gsinθ=mg sinθG2=G cosθ=mg cosθ。

③说明:正是沿运动方向的合力G1=mg sinθ提供了摆球摆动的回复力。

④推导:x在摆角很小时,sinθ=lx回复力F=mg sinθ F=mg·l(x表示摆球偏离平衡位置的位移,l表示单摆的摆长)⑤在摆角θ很小时,回复力的方向与摆球偏离平衡位置的位移方向相反,大小成正比,单摆做简谐运动。

⑥简谐运动的图象是正弦(或余弦曲线),那么在摆角很小的情况下,既然单摆做的是简谐运动,它振动的图象也是正弦或余弦曲线。

设摆线与垂直线的夹角为θ,在正下方处时θ=0,逆时针方向为正,反之为负。

则摆的角速度为(角度对时间t的一次导数),角加速度为(角度θ对时间t 的二次导数)。

对摆进行力学分析,由牛顿第二运动定律,有:ml = - mgsinθ即:+ sinθ = 0令ω = (g/l)1/2 ,有:+ ω2sinθ = 0当θ很小时, sinθ ≈ θ(这就是考虑单摆运动时通常强调“微”摆的原因)这时,有:+ ω^2θ ≈ 0该方程的解为:θ = Asin(ωt+φ)这是个正弦函数,其周期为:T = 2π/ω = 2π SinQ=Q M=-mglQ三、基于MAT LAB的问题求解3.1单摆大摆角的周期精确解利用MATLAB计算软件, 对[0,]区间的 , 每隔计算一个积分值, 得到2 000 个不同摆角的的精确解。

然后以摆角为横轴,为纵轴, 利用绘图函数polt ( x , y ) 绘制出任意摆角下单摆周期的精确解的曲线。

程序如下:%单摆周期与摆角的关系a= 0;b= pi/ 2;n= 1000;s1= 1: n;h= ( b-a) / n;h1= pi/ ( 2* n) ;c= 0: h1: pi/ 2x= a;s= 0;for i1= 1: ( n+ 1)f0= 2/ sqrt ( 1-( sin( c( i1) / 2) ) ^2* ( sin( x ) ) ^2) / pi;for i2= 1: nx= x+ h;f1= 2/ sqrt ( 1-( sin( c( i1) / 2) ) ^2* ( sin( x ) ) ^2) / pi;s= s+ ( f0+ f1) * h/ 2;f0= f1;enddisp( 1/ s) ;s1( i1) = s;s= 0;endplot( c, s1) ;xlabel( ‘theta0/rad’ ) ;ylabel( ‘T/T0’ ) ;运行结果后,得图2。

如图2所示,随着摆角的增大,单摆的运动周期与比值越来越大,即单摆运动周期随着摆角增大变大。

当摆角单摆的运动周期会急剧增加。

1.18图2 单摆周期的精确解3.2、单摆仿真(动画)我们在实验室做实验时一般情况下过程相对比较麻烦,而且很多实验所需要的条件难以控制,为此有时我们可以利用动画来进行仿真模拟实验。

本文用MATLAB 软件来进行动画仿真,设计以MATLAB程序来模拟单摆的仿真(制作一动画实现单摆),并通过仿真来回摆动的时间来测出单摆的周期。

通过Matlab的仿真既能把实验中需要设置的条件编写入程序中,又能减小实验带来的误差。

降低实验难度。

程序如下:%制作动画%挂摆横梁plot([-0.2;0.2],[0;0],'color','y','linestyle','-','linewidth',10);%画初始位置的单摆g=9.86; %重力加速度,可以调节摆的速度l=1;theta0=pi/4;x0=l*sin(theta0);y0=(-1)*l*cos(theta0);axis([-0.75,0.75,-1.25,0]);axis('off'); %不显示坐标轴%创建摆锤head=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersi ze',40); %创建摆杆body=line([0;x0],[0;y0],'color','b','linestyle','-','erasemode','xor'); %摆的运动t=0;dt=0.01;while 1t=t+dt;theta=theta0*cos(sqrt(g/l)*t);x=l*sin(theta);y=(-1)*l*cos(theta);set(head,'xdata',x,'ydata',y);set(body,'xdata',[0;x],'ydata',[0;y]);drawnow;end模拟实验结果如图4、图5所示,分别对应了单摆运动位于左右位置的状况。

图4 大角度单摆运动模拟截图一(右侧位置)图5 大角度单摆运动模拟截图二(左侧位置)3.3单摆仿真整个界面如下:代码如下:function varargout = SQ(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @SQ_OpeningFcn, ...'gui_OutputFcn', @SQ_OutputFcn, ...'gui_LayoutFcn', [], ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});endfunction SQ_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;axis('off');guidata(hObject, handles);function varargout = SQ_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end四、结论综合实验结果,结论如下:第一,如图2 所示,随着单摆摆角的增大,单摆的周期也会增加,这样很简单地就明白了为什么用单摆测量加速度时要求单摆的摆角要小于。

相关文档
最新文档