非线性方程的数值解法

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

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

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

资源描述

第1页共18页非线性方程的数值解法摘要:数值计算方法,是一种研究解决数学问题的数值近似解方法,它的计算对象是那些在理论上有解而又无法用手工计算的数学问题。在科学研究和工程技术中都要用到各种计算方法。例如,在地质勘探、汽车制造、桥梁设计、天气预报和汉字设计中都有计算方法的踪影。本文讨论了非线性方程的数值解法:非线性方程的二分法、迭代法原理、牛顿迭代法,迭代法的收敛性条件及适合非线性方程的插值法等等,基于C语言及MATLAB程序设计,通过实例验证了非线性方程数值解法的有效性。关键字:迭代法收敛精度ε插值节点差商基函数Abstract:Computingtechnologyofnumbervalueisusedtosolvetheproblemsofapproximatesolutionofnumbervalueinmathematics,itscalculatedtargetisthatthosewhohavesolutionsintheorybutcan’tbecalculatedbyhand.Somekindsofcomputingtechnologiesareusedinthescientificresearchandengineeringtechnologies.Forexample,therearetracesofthecomputingtechnologyeverywhereingeologicalexploration,carmanufacturing,bridgedesign,weatherforecastandChinesecharacterdesign.Thisthesisintroducesthevaluenumbersolutionofthenon-linearequationandliststheimportantpointofcontentsandcorecalculatingformula,Combiningthecalculatingdescriptionthatdiscussessomepartsofcalculatingformula.Thiscalculatingmethodcanconciselyexpresstheoperationssuchascirculationanditeration,whichshortensthedistancefromthemethodtothecomputer.Thebasiccontentsarecomposedbytheconvergenceconditions,includingthedichotomyofnon-linearequation,theiterativemethodprinciple,theNewtonmethod,theastringencyoftheiterativemethodandinterpolationmethodetc.,givingthesolidexampleandprocedureinwhichacalculatortoolClanguageandmathematicssoftwareMATLABareused.Keywords:IterativeMethod,Astringency,PreciousdimensionεInterpolation,PrimaryFunction第2页共18页目录摘要…………………………………………………………………………………1第1章绪论………………………………………………………………………31.1问题的提出和研究目的和意义…………………………………………31.2国内外相关研究综述……………………………………………………31.3论文的结构与研究方法…………………………………………………3第2章非线性方程的数值解法…………………………………………………42.1二分法…………………………………………………………………52.2迭代法……………………………………………………………………62.3迭代法的局部收敛性及收敛的阶………………………………………72.4牛顿迭代法………………………………………………………………72.5牛顿法的改进……………………………………………………………82.6插值………………………………………………………………………11第3章程序设计……………………………………………………………………13基于C语言:牛顿迭代法,弦截法,拉格朗日插值…………………………13第4章程序设计仿真计算结果…………………………………………………15基于MATLAB:多元插值…………………………………………………………15第5章尚待深入研究的问题……………………………………………………17第6章参考文献…………………………………………………………………18第7章致谢………………………………………………………………………18第3页共18页第1章绪论1.1问题的提出和研究目的和意义非线性方程的问题在工程实践中有很多用途,研究其数值解法是当前一个研究方向,目前已有相当一部分算法在广泛使用于工程实践中。非线性方程组和无约束最优化的数值解法,一直是数值优化领域中热门的研究课题。本文对传统的方法进行改进和提出新的算法,该算法不仅有重要的理论价值,而且有很高的实用价值。例如:在天体力学中,有如下Kepler(开普勒)方程:x-t-sinx=0,01,其中t表示时间,x表示弧度,行星运动的轨道x是t的函数。也就是说,对每个时刻it,上述方程有唯一解ix(运动轨道位置)。1.2国内外相关研究综述随着科学技术的高速发展和计算机的广泛应用,求解形如F(x)=0的非线性方程组问题越来越多的被提出来了,其中F是的连续可微函数。例如非线性有限元问题、非线性断裂问题、弹塑性问题、电路问题、电子系统计算以及经济与非线性规划问题等都可转化为非线性方程组的求解问题。只要包含有未知函数及其导函数的非线性项的微分方程,无论是用差分方法或有限元方法,离散化后得到的方程组都是非线性方程组。与线性方程组相比,非线性方程组的求解问题无论在理论上还是在解法上都不如线性方程组成熟和有效.例如,非线性方程组是否有解,有多少解,理论上都没有很好的解法,而对于非线性方程组,除了形式极为特殊的小型方程组以外,直接解法几乎是不可能的.因而,我们主要考虑迭代解法.一般都是采用线性化的方法去构造各种形式的迭代系列.通常都要讨论以下几个基本问题:第一个问题是,迭代点列的适定性问题,即要求迭代点列是有意义的.例如对于牛顿法,Jacobi矩阵必须是非奇异的.第二个问题,也是最基本的问题,生成的迭代点列的收敛性以及极限点是否为方程组的解.最后一个问题是,迭代点列的收敛速度问题.早在七十年代以前,许多学者在理论上和数值解法上都对非线性方程组做了大量的研究.OrtegaRheinboldt系统的介绍了n阶非线性方程组的基本理论成果,并对牛顿法,延拓法等几种主要迭代法作了详尽的分析.另外,也有一些学者把非线性方程组的求解问题转化为极小化问题,得到一类称为极小化方法的迭代法,如下降法,共轭方向法,Gauss-Newton法等,李,莫&祁详细介绍了一些适合在计算机上求解的有效算法,如Broyden算法,以及近十几年来发展的新方法,如区间迭代法,单调迭代法和单纯形法等.1.3论文的结构与研究方法欲解决的主要问题是:1.综合当前各类非线性方程的数值解法,通过比较分析(1)二分法;(2)迭代法;(3)牛顿——雷扶生方法;(4)迭代法的收敛阶和加速收敛方法;(5)解非线性方程的插值方法,这以上五种的算法应用,对某个具体实际问题选择相应的数值解法。2.比较各类数值算法,分析其优缺点,并应用到具体的实际问题中。3.利用计算机MATLAB语言对非线性方程的数值解法进行程序设计。第4页共18页研究的基本思路是结合目标所提出的问题针对各种方法来具体分析比较:(1)二分法起始区间[a,b]必须满足f(a)与f(b)符号相反的条件。二分法的第一部是选择中点c=(a+b)/2,然后分析可能存在的三种情况:如果f(a)和f(c)符号相反,则在区间[a,c]内存在零点。如果f(c)和f(b)符号相反,则在区间[c,b]内存在零点。如果f(c)=0,则c是零点。迭代法迭代是指重复执行一个计算过程,直到找到答案。首先需要有一个用于逐项计算的规划或函数g(x),并且有一个起始op。然后通过迭代规则1kp=g(kp),可得到序列值{kp}。(3)牛顿——雷扶生法如果f(x),)(xf和)(xf在根p附近连续,则可将它作为f(x)的特性,用于开发产生收敛到根p的序列{kp}的算法。而且这种算法产生序列{kp}的速度比二分法快。牛顿——雷扶生法依赖于)(xf和)(xf的连续性,是这类方法中已知的最有用和最好的方法之一。(4)迭代法的收敛阶和收敛方法、割线法只计算f(x),不计算)(xf,而且在单根上的收敛阶R1.618033989。割线法比牛顿法收敛速度慢一些,牛顿法的收敛阶为2。当p是一个M阶根时,需要更好的求根技术以获得比线性收敛更快的速度。最终结果显示,通过对牛顿法进行改进,可使其在重根的情况下的收敛阶为2。加速收敛方法有Aitken加速法和Steffensen加速法。Steffensen算法是促使迭代加速收敛的有效算法,但该算法每算一步,需两次迭代,其效率不够高。(5)解非线性方程的插值方法Lagrange插值公式需要进行提高插值多项式次数的插值计算是不方便的。这些方法它们各有优缺点:二分法的优点是对函数f(x)的性态要求不高,只需连续即可,且计算程序简单,能保证收敛。其缺点是收敛速度较慢,且只能求实函数的实零点(单重或奇数重零点)。该方法一般用于确定方程根(或函数实零点)的粗略位置,为快速收敛的算法提供初值。Newton法的主要优点是收敛速度快,缺点是其收敛性是局部收敛,要求初始值0x选在精确解*x附近才能保证收敛。割线法迭代一次仅需计算函数值f(kx),可保留作为下次迭代用,且避免了计算导数。第2章非线性方程的数值解法满足非线性方程f(x)=0的解x,称为方程的根或零点。一般用迭代法求非线性方程的根。通常,非线性方程的根不是唯一的,而任何一种方法一次只能算出一个根。因此,在求解非线性方程时,要给定初始条件或求解范围。根可为实数或复数,也称为实根或第5页共18页复根。2.1二分法:二分法是求方程近似解的一种简单直观的方法。设函数f(x)在[a,b]上连续,且f(a)f(b)0,则f(x)在[a,b]上至少有一零点,这是微积分中的介值定理[1],也是使用二分法的前提条件。计算中通过对分区间,缩小区间范围的步骤搜索零点的位置。二分法是对逐步搜索法的一种改进。对于有根区间[a,b],如果取x0=(a+b)ˆ2,则0x将其分为两半;然后通过检查f(0x)与f(a)是否同号来判断根的位置(见图1)。如此反复二分,即可得出一系列的有根区间;其中,每个区间都是前一个区间的一半。当K→∞时,该区间的大小趋近于零,其值便为所求方程f(x)=0的根。由此可见,二分法算法简单,在允许的误差范围内通过有限次的计算,总能求得方程在该有根区间的根。图2-1二分法求根算法:计算f(x)=0的一般计算步骤如下:step1:输入求根区间[a,b]和误差控制量ε,定义函数f(x)。IF(f(a)f(b)〈0〉THEN做step2ELSE退出选用其他求根方法step2:WHILE(|a-b|ε)计算中点x=(a+b)/2以及f(x)的值;分情况处理|f(x)|〈ε:停止计算x=x,转向step4f(a)f(x)0:修正区间[a,x]-[a,b]f(x)f(b)0:修正区间[x,b]-[a,b]ENDWHILE第6页共18页step3:x=(a+b)/2。Step4:输出近似根x。二分法的算法简单,然而,若f(x)在[a,b]上有几个零点时,只能算出其中一个零点;另一方面,即使f(

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

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

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

×
保存成功