当前位置:文档之家› 非线性方程求根的方法简介与例题

非线性方程求根的方法简介与例题

非线性方程求根的方法简介与例题第一篇:非线性方程求根的方法简介与例题非线性方程f(x)=0求根主要可以采用下面三种方法,下面简单介绍下,并附例题,让解法更一目了然。

1)二分法简介:计算步骤如下:例题:2)不动点迭代,也叫简单迭代。

隐式化为显式,迭代法是一种逐次逼近法;其中f(x)'<1才能满足上述迭代格式。

继续迭代。

3)牛顿迭代法,实际上也叫切线法,是通过下面的方式推导出来的。

上述题目很简单,用牛顿法迭代就可以达到目的。

我们先设f(x)=x-cosx=0由公式得x=x0-x-cosx1+sinx0我们用二分法的原理,我们取x得x1=π,=x0-x0-cosx01+sinx0x1-cosx11+sinx1x2-cosx21+sinx2=π-π+11=1 x2=x1-=1-1-cos11+sin1=0.9998x3=x2-=1-1-cos0.99981+sin0.9998=0.9998x3=x2,并具有四位有效数字,所以只需迭代两次就可以达到题目所需的精度要求第二篇:非线性方程迭代上机作业总体要求:1. 2.开发语言可用任一种高级语言作业包括1)一份实验报告2)电子版作业的全套(压缩后提交在Webcc上),包括:⌝程序源代码;⌝可执行程序;⌝电子版实验报告(内容包括:一、实验目的二、模型建立三、模型求解 3.1 开发环境3.2 程序设计说明(要求设计为通用的)3.3 源代码 3.4 程序使用说明 3.5 模型的解四、小结(可含个人心得体会))第六章逐次逼近法§ 3 非线性方程的迭代解法上机实验题求 x5-3x3+x-1= 0 在区间[-8,8〕上的全部实根.试分别用:(1)二分法;(2)Newton法;(3)弦截法(割线法);(4)Newton下山法;求方程的根.准确到6位有效数字.要求:讨论求解的全过程,对所用算法的局部收敛性,优缺点等作分析及比较.以实验报告的形式提交.完成时间:5月18日第三篇:非线性方程的数值解法《计算方法》期末论文论文题目非线性方程的数值解法学院专业班级姓名学号指导教师日期目录摘要第1 章绪论1.1 问题的提出和研究目的和意义 1.2 国内外相关研究综述 1.3 论文的结构与研究方法第2 章非线性方程的数值解法2.1 二分法 2.2 迭代法2.3 迭代法的局部收敛性及收敛的阶 2.4 牛顿迭代法 2.5 牛顿法的改进 2.6 插值摘要数值计算方法,是一种研究解决数学问题的数值近似解方法,它的计算对象是那些。

在理论上有解而又无法用手工计算的数学问题。

在科学研究和工程技术中都要用到各种计算方法。

例如在地质勘探、汽车制造、桥梁设计、天气预报和汉字设计中都有计算方法的踪影。

本文讨论了非线性方程的数值解法:非线性方程的二分法、迭代法原理、牛顿迭代法,迭代法的收敛性条件及适合非线性方程的插值法等等。

第1 章绪论可以证明插值多项式L(x)n 存在并唯一。

拉格朗日插值多项式的算法step1.输入插值节点控制数n插值点序列i i x , y i=0,1,…,n要计算的函数点x。

step2.FOR i =0,1,…,n i 制拉格朗日基函数序列问题的提出和研究目的和意义非线性方程的问题在工程实践中有很多用途研究其数值解法是当前一个研究方向。

目前已有相当一部分算法在广泛使用于工程实践中。

非线性方程组和无约束最优化的数值解法一直是数值优化领域中热门的研究课题。

本文对传统的方法进行改进和提出新的算法该算法不仅有重要的论价值,而且有很高的实用价值。

例如在天体力学中,有如下Kepler开普勒方程x-t-sin x=0,0< <1,其中t 表示时间x 表示弧度,行星运动的轨道x 是t 的函数。

也就是说,对每个时刻i t 上述方程有唯一解i x,运动轨道位置。

国内外相关研究综述随着科学技术的高速发展和计算机的广泛应用求解形如F(x)=0 的非线性方程组问题越来越多的被提出来了其中F 是的连续可微函数。

例如非线性有限元问题、非线性断裂问题、弹塑性问题、电路问题、电子系统计算以及经济与非线性规划问题等都可转化为非线性方程组的求解问题。

只要包含有未知函数及其导函数的非线性项的微分方程,无论是用差分方法或有限元方法,离散化后得到的方程组都是非线性方程组。

与线性方程组相比,非线性方程组的求解问题无论在理论上还是在解法上都不如线性方程组成熟和有效.例如,非线性方程组是否有解,有多少解,理论上都没有很好的解法,而对于非线性方程组,除了形式极为特殊的小型方程组以外,直接解法几乎是不可能的.因而,我们主要考虑迭代解法.一般都是采用线性化的方法去构造各种形式的迭代系列.通常都要讨论以下几个基本问题:第一个问题是,迭代点列的适定性问题,即要求迭代点列是有意义的.例如对于牛顿法,Jacobi 矩阵必须是非奇异的.第二个问题,也是最基本的问题,生成的迭代点列的收敛性以及极限点是否为方程组的解.最后一个问题是,迭代点列的收敛速度问题.早在七十年代以前,许多学者在理论上和数值解法上都对非线性方程组做了大量的研究.Ortega Rheinboldt 系统的介绍了n 阶非线性方程组的基本理论成果,并对牛顿法,延拓法等几种主要迭代法作了详尽的分析.另外,也有一些学者把非线性方程组的求解问题转化为极小化问题, 得到一类称为极小化方法的迭代法, 如下降法, 共轭方向法,Gauss-Newton 法等,李,莫&祁详细介绍了一些适合在计算机上求解的有效算法,如Broyden 算法,以及近十几年来发展的新方法,如区间迭代法,单调迭代法和单纯形法等.论文的结构与研究方法1.欲解决的主要问题是:综合当前各类非线性方程的数值解法,通过比较分析,二分法,迭代法,牛顿——雷扶生方法,迭代法的收敛阶和加速收敛方法,解非线性方程的插值方法,这以上五种的算法应用对某个具体实际问题选择相应的数值解法。

2.比较各类数值算法分析其优缺点并应用到具体的实际问题中。

3.利用计算机MATLAB 语言对非线性方程的数值解法进行程序设计。

研究的基本思路是结合目标所提出的问题针对各种方法来具体分析比较(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是零点。

(2)迭代法迭代是指重复执行一个计算过程,直到找到答案。

首先需要有一个用于逐项计算的规划或函数g(x),并且有一个起始po。

然后通过迭代规则k 1 p =g(k p),可得到序列值{ k p }。

(3)牛顿——雷扶生法如果f(x)f ‘(x)和f “(x)在根p 附近连续则可将它作为f(x)的特性,用于开发产生收敛到根p 的序列{ k p }的算法。

而且这种算法产生序列{ k p }的速度比二分法快。

牛顿——雷扶生法依赖于f’(x)和f ”(x)的连续性,是这类方法中已知的最有用和最好的方法之一。

(4)迭代法的收敛阶和收敛方法、割线法只计算f(x)不计算f ’(x)而且在单根上的收敛阶R 1.618033989。

割线法比牛顿法收敛速度慢一些顿法的收敛阶为2。

当p 是一个M 阶根时要更好的求根技术以获得比线性收敛更快的速度。

最终结果显示过对牛顿法进行改进使其在重根的情况下的收敛阶为2。

加速收敛方法有Aitken 加速法和Steffensen 加速法。

Steffensen 算法是促使迭代加速收敛的有效算法,但该算法每算一步,需两次迭代,其效率不够高。

(5)解非线性方程的插值方法Lagrange 插值公式需要进行提高插值多项式次数的插值计算是不方便的。

这些方法它们各有优缺点二分法的优点是对函数f(x)的性态要求不高,只需连续即可,且计算程序简单,能保证收敛。

其缺点是收敛速度较慢只能求实函数的实零点重或奇数重零点。

该方法一般用于确定方程根或函数实零点的粗略位置,为快速收敛的算法提供初值。

Newton 法的主要优点是收敛速度快,缺点是其收敛性是局部收敛,要求初始值0 x 选在精确解* x 附近才能保证收敛。

割线法迭代一次仅需计算函数值f(k x)可保留作为下次迭代用,且避免了计算导数。

第2 章非线性方程的数值解法满足非线性方程f(x)=0 的解x ,称为方程的根或零点。

一般用迭代法求非线性方程的根。

通常,非线性方程的根不是唯一的,而任何一种方法一次只能算出一个根。

因此,在求解非线性方程时,要给定初始条件或求解范围。

根可为实数或复数,也称为实根或复根。

二分法二分法是求方程近似解的一种简单直观的方法。

设函数f(x)在[a,b]上连续,且f(a)f(b)<0,则f(x)在[a,b]上至少有一零点是微积分中的介值定理[1],也是使用二分法的前提条件。

计算中通过对分区间缩小区间范围的步骤搜索零点的位置。

二分法是对逐步搜索法的一种改进。

对于有根区间[ a, b ], 如果取x0=(a+ b)ˆ2,则0 x 将其分为两半;然后通过检查f(0 x)与f(a)是否同号来判断根的位置(见图1)。

如此反复二分, 即可得出一系列的有根区间;其中,每个区间都是前一个区间的一半。

当K→∞时, 该区间的大小趋近于零, 其值便为所求方程f(x)= 0 的根。

由此可见, 二分法算法简单, 在允许的误差范围内通过有限次的计算,总能求得方程在该有根区间的根。

二分法求根算法计算f(x)=0 的一般计算步骤如下step1入求根区间[a,b]和误差控制量ε义函数f(x)。

IFf(a)f(b)〈0 〉THEN 做step2 ELSE 退出选用其他求根方法 step 2WHILE |a-b|>ε计算中点x=(a+b)/2 以及f(x)的值;分情况处理 | f(x)|〈ε 止计算x =x,转向step4 f(a)f(x)<0正区间[a,x]->[a,b] f(x)f(b)<0: 修正区间[x,b]->[a,b] ENDWHILE step 3: x =(a+b)/2。

Step 4:输出近似根x。

二分法的算法简单而f(x)在[a,b]上有几个零点时能算出其中一个零点一方面使f(x)在[a,b]上有零点.也未必有f(a)f(b)<0。

这就限制了二分法的使用范围。

二分法只能计算方程f(x)=0 的实根。

迭代法迭代法的局部收敛性及收敛的阶一种迭代过程,只有具备了收敛性,才能表明其迭代的有效性,同时还需要考察其迭代过程的收敛速度[3],即其在接近收敛的过程中迭代误差的下降速度。

迭代计算过程不收敛,可能是因为迭代格式本身构造不成功,那么算法必须重新构造,也可能是初值选择不当这时往往可通过调整初值解决牛顿迭代法设r是f(x)= 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L 与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。

相关主题