非线性方程的求解 毕业论文.doc_第1页
非线性方程的求解 毕业论文.doc_第2页
非线性方程的求解 毕业论文.doc_第3页
非线性方程的求解 毕业论文.doc_第4页
非线性方程的求解 毕业论文.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目(中文): 非线性方程的求解 (英文): the solution of nonlinear equations 目录绪论11 非线性方程的简介11.1非线性方程的背景11.2非线性方程的概念22非线性方程求解的数值方法32.1 二分法32.1.1 二分法的思想32.1.2 二分法的推理32.1.3 二分法的应用42.2 牛顿迭代法42.2.1 迭代法42.2.2 牛顿迭代法62.3 改进牛顿迭代法102.3.1 改进牛顿迭代法的背景102.3.2 改进的法113 牛顿迭代法和改进牛顿迭代法的应用123.1 牛顿迭代法的应用123.2 改进牛顿迭代法的应用194 结束语22参考文献23致谢24i非线性方程的求解摘要非线性方程在实际问题中经常出现,很多熟悉的线性模型都是在一定的条件下由非线性问题简化得到的;非线性方程在科学与工程计算中的地位越来越重要,因此研究和探讨非线性方程求解的方法是非常有必要的。 本文先开始介绍了非线性方程的概念及相关背景,再着重描述了非线性方程的求解的一些常用分法:二分法,迭代法,牛顿迭代法。在这些方法当中,牛顿迭代法是求解非线性方程的一种非常常用并且有效的方法,但是牛顿迭代法有一些应用条件限制,因此提出了改进的牛顿迭代法;针对非线性方程的实例用上面提到的方法进行了数值计算,并且比较了牛顿迭代法和改进牛顿迭代法,最后介绍了牛顿迭代法在实际生活中的应用。【关键字】非线性方程 牛顿迭代法 数值计算the solution of nonlinear equationsabstractnonlinear equations appear frequently in practical problems, and many of us are familiar with the linear model obtained by the simplified nonlinear problems under certain conditions. nonlinear equations are becoming more and more important in science and engineering computing. therefore, it is necessary to study and explore ways to solve nonlinear equations.firstly, this paper recommend some basic conceptions and related background ofnonlinear equations, then describe some methods of the solution of nonlinear equation emphatically, such as: the procedure of dichotomy, the iterate method, the newton iterate method and the improved newton iterate method. it is very useful and effective to use the newton iterate method for solving nonlinear equations in those methods. however, we propose the improved newton iterate method because of the limits of the newton iterate method. also ,we have carried on the approximate calculation to the nonlinear equations and have compared the newton iterate method with the improved newton iterate method,in the end ,we introduce the application of the newton iterate method in the real life.【key words】the nonlinear equations the newton iterate method numerical computationiii绪 论非线性是实际问题中经常出现的,并且在科学与工程计算中的地位越来越重要,很多我们熟悉的线性模型都是在一定的条件下由非线性问题简化得到的,为得到更符合实际的解答,往往需要直接研究非线性模型,从而产生非线性科学,它是21世纪科学技术发展的重要支柱.非线性问题的数学模型有无限维的如微分方程,也有有限维的.从线性到非线性是一个质的变化,方程的性质有本质的不同,求解方法也有很大的差别.非线性方程的数值解法在实际中有广泛的应用,特别是在各种非线性问题的科学计算中更显出它的重要性,而且,随着计算机的广泛应用,有更多的领域涉及到非线性方程的求解问题,例如,动力系统,非线性有限元问题,非线性力学问题,还有非线性最优化与非线性规划问题等,因此,研究 性方程的解法就具有重要的实际意义.由于非线性方程的复杂性,在解法上除了极特殊的非线性方程外,直接法几乎是不能使用的,这需借助于二分法,迭代法来求解.从计算的经验来看, newton迭代法用来求非线性方程一种非常常见的而且是有效的方法,所以我们有必要研究和探讨求解非线性方程的newton方法.1 非线性方程的简介1.1 非线性方程的背景非线性科学是一门研究非线性现象共性的基础学科.它是自20世纪六十年代以来,在各门以非线性为特征的分支学科的基础上逐步发展起来的综合性学科,被誉为本世纪自然科学的“第三次革命”.非线性科学几乎涉及了自然科学和社会科学的各个领域,并正在改变人们对现实世界的传统看法.科学界认为:非线性科学的研究不仅具有重大的科学意义,而且对国计民生的决策和人类生存环境的利用也具有实际意义.由非线性科学所引起的对确定论和随机论、有序与无序、偶然性与必然性等范畴和概念的重新认识,形成了一种新的自然观,将深刻地影响人类的思维方法,并涉及现代科学的逻辑体系的根本性问题.非线性问题的“个性”很强,处理起来十分棘手.历史上曾有过一些解非线性方程的“精品”,但与大量存在的非线性方程相比,只能算是“凤毛麟角”.因此,长期以来,对非线性问题的研究一直分散在自然科学和技术科学的各个领域.20世纪六十年代以来,情况发生了变化.人们几乎同时从非线性系统的两个极端方向取得了突破:一方面从可积系统的一端,即从研究多自由度的非线性偏微分方程的一端获得重大进展.如在浅水波方程中发现了“孤子”,发展起一套系统的数学方法,如反散射法,贝克隆变换等,对一些类型的非线性方程给出了解法;另一方面,从不可积系统的极端,如在天文学、生态学等领域对一些看起来相当简单的不可积系统的研究,都发现了确定性系统中存在着对初值极为敏感的复杂运动.促成这种变化的一个重要原因十计算机的出现和广泛应用.科学家们以计算机为手段,勇敢地探索那些过去不能用解析方法处理的非线性问题,从中发掘出规律性的认识,并打破了原有的学科界限,从共性、普适性方面来探讨非线性系统的行为.在数值计算中,非线性问题也是经常遇到的一类难题,特别是非线性方程组的数值求解问题构成了非线性科学的一个重要组成部分.1.2非线性方程的概念非线性方程,就是因变量与自变量之间的关系不是线性的关系,一般可以表示为.这类方程很多,例如平方关系、对数关系、指数关系、三角函数关系等等.下面这些例子就是常见的非线性方程:,.非线性方程可分为两类:一类是多项式方程,这类方程可以定义为:,.另一类是非多项式方程,它不能用多项式方程的形式表示,没有固定的形式.求解第一类多项式方程,现在已经有了比较成熟的理论和方法.现在比较常用的一种数值方法是迭代法,能通过迭代次数的增加,从而越来越接近方程的解,求解第二类非多项式方程,是现在数学领域中的一个重点研究方向.一般来说,求解此类方程是采用随机搜索的办法.2非线性方程求解的数值方法2.1 二分法2.1.1 二分法的思想 二分法是区间迭代法的一种.它是重复运用零点存在性定理,每次将区间压缩一半且其中一个区间至少包含一个根,逐步缩短区间,直至最终区间长度满足一定的精度要求为止.2.1.2 二分法的推理先考察有根区间a,b,取中点,将它分成两半,然后进行根的搜索,即检查与是否同号,如果确系同号,说明所求的根在的右侧,这时令=,=.否则必在的左侧,这时令=,=,不管出现哪一种情况,新的有根区间,的长度仅为,的一半.对压缩了有根区间,又可施行同样的过程,即用中点=(+)/2,以将区间,再分为两半,然后通过根的搜索判定所求根在的哪一侧,从而又确定一个新的有根区间,长度是,的一半.如此反复二分下去,可得出一系列有根区间,其中每个区间都是前一个区间的一半,因此的长度=,当时趋向零,就是说,如果二分过程无限地继续下去,这些区间最终必将收缩于一点,该点显然就是所求的根.每次二分后,设取有根区间的中点作为根的近似值,则在二分过程中可以获得一个近似根的序列 ,则该序列必以根为极限.不过在实际计算时,不可能完成这个无限过程,其实也没有这个必要,因为数值分析的结果允许带有一定的的误差,由于: 只要二分足够多次(即k充分大)便有,这里为预定的精度.2.1.3 二分法的应用例1 求方程在区间内的一个实根,要求准确到小数点后第二位.解 这里,而,取的中点=将区间二等分,由于,即与同号,故所求的根在右侧,这时应=,而得到新的有根区间,.如此反复二分下去,二分过程无需贅述,现在预估所要二分的次数,按误差估计式,只要二分6次,便能达到预定的精度: 二分法计算结果如表1所示表1二分法的计算结果数据表k01.01.51.25-11.251.375+21.3751.3125-31.31251.3438+41.34381.3281+51.32811.3203-61.32031.3242-2.2 牛顿迭代法2.2.1 迭代法2.2.1.1 迭代法的思想迭代法是一种逐步逼近的方法,首先选定方程f( x) = 0 的一个近似根后,然后使用某个固定公式,反复校正这个根的近似值,使之逐步精确化,一直到满足给定的精度要求为止.2.2.1.2 迭代法的推理设方程有根,把方程化为等价方程 这种方程是隐式的,不能直接得出它的根,但如果给出根的某个猜测值代放在的右端,可得,然后,又可取作为猜测值,进一步得到,如此反复迭代如果按公式 确定的数列有极限,则称迭代过程式收敛,这时极限值显然就是方程的根.这种迭代法又称为不动点迭代法,由迭代过程所产生的数列并不都是收敛于某个数,与迭代方程的选取有关.2.2.1.3 迭代法的误差公式定理1 假定函数满足下列条件: 对任意,有 存在正数,使对任意,有 则迭代过程对任意初值均收敛于方程的根,且有如下误差估计式: 证明 由式有 据此反复递推得,于是对任意正整数,有:,在上式中令,注意到,即得,证毕.2.2.1.4 迭代法的局部收敛性定理2 设为方程的根,在的邻近连续且,则迭代过程在邻近具有局部收敛性.证明 由连续函数的性质,存在的某个邻域r:,使对任意成立。此外,对任意,总有,这是因为于是,依据定理1可以断定,迭代过程对任意初值均收敛,证毕.2.2.2 牛顿迭代法2.2.2.1 牛顿迭代法的背景牛顿迭代法(newtons method)又称为牛顿-拉夫逊方法(newton-raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法.多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要.2.2.2.2 牛顿迭代法的推导 通过taylor 进行理论推导设是f(x)=0的一个近似根,把f(x)在处泰勒展开:若取前两项近似代替,则=0的近似线性方程为设,设其根为,则的计算公式为 这即是牛顿法,称为牛顿迭代公式,其迭代函数为 通过微分中值定理进行推导设是根的某个预测值,用迭代公式校正一次得,而由微分中值定理有其中介于与之间.假定改变不大,近似地取某个近似值l,则由得 可以期望,按上式右端可得是比更好的近似值.将每得到一次改进值算作一步,并用和分别表示第步的校正值和改进值,则加速迭代计算方案可表述如下:校正 改进 其中中的可以是多种多样的,当时,相应的迭代公式是 运用前面的加速技巧,对于迭代过程,其加速公式如下:记,上面两个式子可以合并写成这种迭代公式通常称为简化的公式,其相应的的迭代函数是 需要注意的是,由于是的估计值,而,这里的实际上是的估计值,如果用代替式中的,则得如下形式的迭代函数:,其相应的迭代公式 这就是著名的公式.2.2.2.3 法的几何解释对于方程,如果是线性函数,则对它求根是容易的,法实质上是一种线性化方法,其基本思想是将非线性方程逐步归结为某种线性方程来求解.图1 与轴的交点图方程的解可解释为曲线与轴的交点的横坐标,(见图1)取初值,将在初值处作taylor展开得:取线性部分作为的近似值,有:,若,则有类似,我们也能得到:这样一直下去,我们可以得到迭代序列由上面图可知,过曲线上横坐标为的点引切线,并将该切线与x轴的交点的横坐标坐为新的近似值,类似这样下去,我们可以得一个切线方程:这样求得的值必满足式,由于这种几何背景,牛顿法亦称切线法.2.2.2.4 法的局部收敛性对于一种迭代过程,为了保证它是有效的,需要肯定它的收敛性,同时考察它的收敛速度.所谓收敛速度,是指在接近收敛过程中迭代误差的下降速度.定义 设迭代过程收敛于方程的根,如果迭代误差当时成立下列渐近关系式 则称该迭代过程是阶收敛的,特别地,=1时称为线性收敛,时称为超线性收敛,=2时称为平方收敛.定理 对于迭代过程,如果在所求根的邻近连续,并且 则该迭代过程在点邻近是阶收敛的.证明 由于,据定理可以马上断定迭代过程具有局部收敛性.再将在根处展开,利用条件,则有注意到 ,由上式可得 因此对于迭代误差,有,这表明迭代过程确实是阶收敛的,证明完毕.由上面定理可知,迭代过程的收敛速度依赖于迭代函数的选取.对于公式,其迭代函数为,假定是的一个单根,即,则由上式知,于是依据定理可以断定,法在根的邻近是平方收敛的.2.3 改进牛顿迭代法2.3.1 改进牛顿迭代法的背景牛顿迭代法是解非线性方程最著名和最有效的方法之一,在单根附近它比一般的迭代法有较快的收敛速度,但要注意它也有缺点:首先,它对迭代初值选取要求严格,初值选取不好,可能导致不收敛;其次,它迭代一次要计算的值,这势必会增加计算量,因此在这种情况下,提出改进的法是非常有必要的.2.3.2 改进的法2.3.2.1 simpson牛顿法和几何平均牛顿法设是方程的根,是可导函数,显然成立:若将上面公式的右端积分用数值积分simpson公式近似代替,并令,则得: 上式中用近似代替,整理得迭代格式 中关于是隐式的,这给求解带来很大的麻烦,为了避免隐式求解,我们提出了预估校正式: 式是牛顿迭代法与simpson公式相结合得到的,我们称它为simpson牛顿方法.若将右端用代替,则得到迭代格式: 当时,取,当,取,为了避免隐式求解,同样给出了式的预估校正式: 的取法同上,我们称为几何平均牛顿方法.2.3.2.2 牛顿下山法牛顿法的缺点之一是其收敛依赖与初值的选取,若偏离所求根较远,则牛顿法可能发散,为了防止迭代发散,我们对迭代过程再附加一项条件,既具有单调性: 满足这项要求的算法称为下山法.将法与下山法结合起来使用,即我们可在下山法保证函数值稳定下降的前提下,用法加快了收敛速度.为此将法计算结果: 与前一步的近似值适当加权平均作为新改进值,即其中称为下山因子,在希望挑选下山因子时,希望使单调性条件成立.注意:下山因子的选择是个逐步探索的过程,从开始反复将减半进行试算,如果能定出值使单调性条件成立,则称下山“成功”,与此相反,如果在上述过程中找不到使条件成立的下山因子,则称“下山失败”,这时需另选初值重算.3 牛顿迭代法和改进牛顿迭代法的应用3.1 牛顿迭代法的应用例1应用牛顿迭代法和,分别导出求的迭代公式并求 解 方程的牛顿迭代法公式: , 由题意知: 牛顿迭代法公式 =再由题意知:牛顿迭代法公式=结论分析:本题主要应用牛顿迭代法公式和极限还有导数的相关知识,计算量大,着重考察对迭代法思想的深刻理解.例2方程在附近有根,把方程写成3种不同的等价形式:(1) ,对应迭代格式:(2) ,对应迭代格式:(3) ,对应迭代格式:讨论这些迭代格式在时的收敛性.若迭代收敛,试估计其收敛速度,选一种收敛格式计算出附近的根到4位有效数字.(收敛速度的计算和比较)解 ,故方程在上有根.,故方程在上有根.,故方程在上有根.对于迭代式(1):, 而,故该迭代局部收敛,且收敛速度为1阶的.对于迭代式(2):在上,又故该迭代在上整体收敛,且收敛速度为一阶的.对于迭代式(3):在1,2上的值域为,该迭代式不收敛取迭代式,取初值进行计算,其结果如下:,结论分析:这题主要是分析迭代法的收敛性,以及收敛速度,着重考察对迭代法的收敛性和收敛速度的理解.例3 用newton迭代法解方程在初值附近的根,并用数学工具软件matlab求解.(保留小数点后6位有效数字)解 由题意知初值,由牛顿迭代公式:代入其中得 ,迭代4次后,发现与近似相等,因此得到此方程在初值一个根为1.732051(保留小数点6位有效数字)下面用数学工具软件matlab求解.首先牛顿迭代法在matlab的计算程序如下:function x=newton(fname,dfname,x0,e)%用途:newton迭代法解非线性方程f(x)=0%格式:x=nanewton(fname,dfname,x0,e)x 返回数值解.%fname和dfname分别表示f(x)及其导函数%f(x),x0为迭代初值,e精度要求(默认为1e-4)if narginex0=x;x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);end然后,当时,f(x)0, f(x)0,即f(x)恒正,所以根在0,2,我们先用图解法找初值,在用newton法程序newton.m求解.fun=inline(x3+x2-3*x-3);fplot(fun,0,2);grid on;图2求根图由图2可知方程有唯一正根在1.6,1.8之间,我们取初值1.5代入newton程序之中得:dfun=inline(3*x2+2*x-3);format long;newton(fun,dfun,1.5,1e-4);format short;ans=1.73205080756888而用matlab本身的函数fzero求出来的结果为:format longfzero(inline(x3+x2-3*x-3),1.5);format shortans=1.73205080756888例4 住房是居民消费一个主要部分,大部分人选择银行按揭贷款,然后在若干年内逐月分期还款,如果你借了10万,还款额一定超过10万.解 设贷款总额为,贷款期限为n个月,采取逐月等额方式偿还本息,若为第k个月的欠款数,a为月还款,r为月利率,我们得到那些列迭代关系式那么因此得到月还款计算公式:下面是一则报纸在2002年2月12日第二版上一则房产广告:表2房贷数据表建筑面积总价30%首付70%按揭月还款85.9836万10.8万30年1436元不难算出,你向银行总共借了25.2万,30年内共要还款51.96万,约为当初借款的两倍,这个案例中的贷款年利率的是多少呢?我们根据a=0.1436, =25.2,n=360,由上a的求解公式得到:我们令 则该问题转化为非线性方程求解的问题,令求出r我们先用newton函数求解,在matlab中输入如下程序:常识1:r应比当时活期存款月利率略高一些,我们用当时的活期存款利率为0.0198/2作为迭代初值,为剔除r=0这个没有意义的根,我们对稍作变形;clear;fun=inline(25.2*(1+r)360/0.1436-(1+r)360-1)/r,r)fun=inline function;fun(r)=25.2*(1+r)360/0.1436-(1+r)360-1)/rdfun=inline(25.2*360*(1+r)359/0.1436-(360*(1+r)360-1)/(r2);r=newton(fun,dfun,0.0198/2,1c-4);r=12*r;然后求到结果:r=0.0553由是得到年利率为5.53%.下面我们用matlab中的fzero函数检验一下:clear;fun=inline(25.2*(1+r)360-(1+r)360-1)/r*0.1436,r)fun=inline functionfun(r)=25.2*(1+r)360-(1+r)360-1)/r*0.1436r=fzero(fun,0.0198/2);r=12*rr=0.05533.2 改进牛顿迭代法的应用例1 求方程的根,取初值(要求用三种方法)解 (1)由题意知,用牛顿法公式:将代入,迭代5次得:(2)由simpson牛顿法,将代放,迭代3次得,. (3)由几何平均牛顿法,将代放,迭代3次得,.结论分析:此题应用三种方法求解非线性方程,其中应用牛顿迭代法,迭代5次得到了所要的结果,而用别的两种方法:simpson牛顿法和几何平均牛顿法只迭代了三次就得到了结果,说明这两种方法加快了迭代速度.例2 求方程的根解 (1) 取,用牛顿法公式:将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论