工程数学论文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《数值计算方法》小论文二分法在无阻尼SDOF系统简谐激励问题中的应用学院专业:土木工程学院班级:2014级结构工程硕士5班学号:S1401W0030姓名:刘子健指导老师:孟纯军完成时间:2014年12月9日二分法在无阻尼SDOF系统简谐激励问题中的应用刘子健湖南大学土木工程学院湖南长沙410082摘要:本文主要介绍了数值计算方法中的二分法在土木工程领域中的应用,并以结构动力学中求解无阻尼单自由度系统简谐激励响应中的非线性方程为例,给出了计算过程和相应代码。关键词:二分法;无阻尼SDOF系统;简谐运动;激励响应一、数值计算方法在SDOF系统简谐激励问题中的应用结构动力学是一门研究结构在动力荷载作用下的反应的学科,其中很多问题涉及到用有限自由度代替无限自由度,出现的求解方程大部分是非线性方程,而且问题极其复杂,要想得到解比较难,此外费时费力。如果采用数值计算方法来求解并结合计算机软件MATLAB来编程,即可轻松实现问题解决。单自由度(SDOF)系统简谐激励响应是结构动力学中常见的一类问题,SDOF系统的运动方程都有如下形式()mucukupt两边除以m以后为222()nnnuuuptk,其中nkm,2ckm当不考虑其阻尼时即是无阻尼SDOF系统简谐响应问题,此时0c。该线性常系数的常微分方程的解即是SDOF系统的总响应,它由两个不同性质的部分线性组合:强迫振动()put,直接与p(t)有关;自由振动()cut。他们都是由三角函数组成的,在求解三角函数构成的非线性方程中,有时候会用到数值计算方法中的二分法。二、无阻尼SDOF系统简谐激励响应问题算例如图系统在t=0时为静止状态,后来作用一简谐荷载0()sinptpt。(a)确定其稳态响应的表达式。(b)确定其总响应的表达式。(c)当激励比1.5n时,其最大总响应与最大稳态响应之比为多少?0,nn注:为激励频率,为自振频率,r=k为弹簧刚度,m为系统质量,u为相对位移,p为激励幅值解:根据结构动力学相关知识,解得(a)稳态响应表达式为:02sinpputkm(b)总响应的表达式为:0022sinsinnppruttkmkm对于(c),r1.5n,由(a)最大稳态响应的表达式可知,最大稳态响应为:000022222=111nppkpkuukmrmk稳总响应的表达式为:00220202sinsinsinsinsinsin1sinsinnnnnnnppruttkmkmptrtkmurtrtrurtrt稳则1.5nr时,求解最大总响应和最大稳态响应之比转化成了求解()sinsinnnftrtrt最值的问题。三、二分法在问题解决中的应用求解函数的最值问题我们一般采取先对其求导,然后令其导数为零建立方程,求解出使该方程为零的值(即极值)。由于本例中只需求出求两者比值的绝对值最大值,故不考虑它是最大值还是最小值。令nxt,则()sin1.51.5sinfxxx,周期41()sin1.5fxx、2()1.5sinfxx在区间[0,4]的函数图像大致如图01234567891011121314-1.5-1-0.500.511.5f(x)=sin1.5x与f(x)=1.5sinx由图可知,函数图像关于点(2,0)中心对称,取前半部分计算分析。()fx最大时,两曲线对应竖轴距离最大。初步判断()fx在[4,6]区间取得最大值。下面介绍简要二分法。函数f(x)在区间[a,b]上连续且满足f(a)f(b)0,则由介值定理,函数在区间[a,b]内必存在一个根,即存在,ab,使得()0f。二分法正是建立在连续函数的介值定理之上。其思想可描述如下:设连续函数f(x)满足f(a)f(b)0。令00,,abab并取之中点0002abx。如果0()0fx,则得到函数f(x)在区间,ab上的一个零点0x。如果0()0fx,则当f(0x)f(b)0时,令110,;aabx否则,令101,.axbb则函数f(x)在区间11,ab内必有一个零点。这样,我们得到函数f(x)的一个新的含根区间11,ab,其长度时原来区间[a,b]的一半。如此这般,我们可以得到一个区间序列,kkab,序列中的每个区间都是函数f(x)的含根区间且区间的长度依次减半(如下图所示)。因此,当k充分大时,我们可用02kkabx作为函数f(x)的一个根的近似,即2kkkabx。此时有误差估计122kkkkbabax在本文中的例题中,()sin1.51.5sinfxxx,[4,6]x对方程求导得'()1.5cos1.51.5cos1.5cos1.5cos0fxxxxx即本例实际上要求出f’(x)=0的根(要求误差不超过410)。由于''(4)2.42070(6)2.80700ff,以及''()1.5(sin1.5sin1.5)0,4,6,fxxxx函数f’(x)在区间[4,6]上存在位移的零点(根)。由误差估计式1,2kkbax所需迭代次数k满足416410,2k即取13.3k便可。因此可取k=14.下表列出了用二分法进行求解的计算过程。由表可知,145.02655029296625xkka(+)kb(-)kx'()kfx04.06.05.00.0944615.06.05.5-1.641625.05.55.25-0.7996535.05.255.125-0.3529345.05.1255.0625-0.1285555.05.06255.03125-0.01677565.05.031255.0156250.03892175.0156255.031255.02343750.01109285.02343755.031255.02734375-0.002837395.02343755.027343755.0253906250.0041282105.0253906255.027343755.02636718750.00064573115.02636718755.027343755.02685546875-0.0010957125.02636718755.026855468755.026611328125-0.00022498135.02636718755.0266113281255.02648925781250.00021038145.02648925781255.0266113281255.02655029296625-0.000007313四、用MATLAB编程对比用MATLAB软件求算'()1.5cos1.5cos0fxxx的精确值,编程如下:x=linspace(4,6,100);y1=cos(1.5*x);y2=cos(x);plot(x,y1,'r',x,y2,'b');solve('cos(1.5*x)-cos(x)=0',x,y1);x=linspace(4,6,100);y1=cos(1.5*x);y2=cos(x);plot(x,y1,'r',x,y2,'b');solve('1.5(cos(1.5*x)-cos(x))=0',x,y1)输出结果为:ans=0.2.51327412287183459077011470662365.0265482457436691815402294132472第一个值表示f’(x)在其他区域的零点,但相应的f(x)更小,此处不考虑。在本例中,问题的精确解为5.02654824.故实际误差为0.0000020472五、结语二分法程序简单,且必收敛,是一种可靠的算法,但在二分法中,每迭代一次,区间缩小一半,也就是说,解的不定范围每次只缩小一半。因此,它是一种收敛速度非常缓慢的方法,并且,它只能用于求实函数的实零点。尽管如此,对于初学者来说,二分法不失为一种简单易上手的算法。此外,在结构动力学问题中,解的精度不需要达到本例中所要求的410,本文为说明二分法的具体步骤所以要求求解到这个精度。像本例中的求解,保留到小数点后三位即可取得较高的可靠度。随着计算机软件应用的范围不断推广,类似于Matlab的软件其强大的功能可以使我们集中精力于工程试验分析本身,而非繁琐的数值计算方法,从而节省大量宝贵的时间与精力,提高研究工作的效率。参考文献:[1]曾金平,李郴良.数值计算方法.湖南大学出版社,2004,20-23[2]RoyR.Craig,Jr结构动力学.高等教育出版社,2006,37-80.[3]万顺.数值计算方法在结构动力学的应用.城市建设理论研究,2013,(16)

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功