非线性方程求根的方法简介与例题
- 格式:doc
- 大小:424.50 KB
- 文档页数:4
非线性方程求根——牛顿迭代法一、牛顿迭代法的基本思想基本思想:将非线性方程逐步归结为某种线性方程求解。
设方程f (x )=0有近似根x k (f `(x k )≠0),将f (x )在x k 展开:(ξ在x 和x k 之间)2()()()()()()2!k k k k f f x f x f x x x x x ξ'''=+-+-()()()()k k k f x f x f x x x '≈+-可设记该线性方程的根为x k +1,则()()()0k k k f x f x x x '+-=1()()k k k k f x x x f x +=-'故f (x )=0可近似表示为即为Newton 法迭代格式。
(k =0,1,……)例:用Newton 迭代法求方程310x x --=在x 0=1.5附近的近似实根。
解:32()1,()31f x x x f x x '=--=-迭代公式为312131kk k k k x x x x x +--=--计算步骤如下:(1)取初值x 0=1.5;(2)按照迭代公式计算x 1;(3)若|x 1-x 0|<=0.00001,终止迭代;否则,x 0=x 1;转(2);(4)输出迭代次数和近似根.二、牛顿迭代法的实现MATLAB求解程序设计:方程及一阶导数函数:function[fun,dfun]=fun0(x)fun=x^3-x-1;%求原函数的值dfun=3*x^2-1;%求一阶导数的值计算主程序:clearx0=1.5;[fun,dfun]=fun0(x0);x1=x0-fun/dfun;i=1;while abs(x1-x0)>1e-5x0=x1;[fun,dfun]=fun0(x0);x1=x0-fun/dfun;i=i+1;enddisp('the solution is x1=')x1disp('the iter time is ')i计算结果为:the solution is x1=x1 =1.3247the iter time isi =4可见经过4次迭代即到达要求的精度,原方程的一个近似实数根为1.3247.三、牛顿迭代法的收敛性牛顿迭代法的迭代函数:)()()(x f x f x x '-=ϕ222)]([)()()]([)()()]([1)(x f x f x f x f x f x f x f x '''='''-'-='ϕ设f (x *)=0,f `(x *)≠0,则ϕ`(x *)=0,故Newton 迭代法在x *附近至少平方收敛。
第2章非线性方程求根§2.1 引言§2.2 二分法§2.3 迭代法2.3.1 迭代格式2.3.2收敛性条件2.3.3迭代法的收敛阶2.4迭代收敛的加速§2.5 牛顿迭代法2.5.1 迭代格式2.5.2 迭代法的收敛阶x yo a b* x*解析解与数值解由推理的方法计算--- 解析解(精确解)。
近似计算(数值计算)---数值解(近似解)常借助于计算机工程实践中遇到最大量的将是数值计算问题。
2.1 引言*数值求解方程(组)的必要性“方程是很多工程和科学工作的发动机”.非线性现象广泛存在于物质世界与社会生活中.在工程和科学计算中,常涉及到非线性方程或非线性方程组的求解问题.例如:(1) 在光的衍射理论(the theory of diffraction of light)中,我们需要求x – tan x = 0 的根(2) 在行星轨道( planetary orbits)的计算中,对任意的a和b,我们需要求x –a sin x = b的根(3) 在数学中,需要求n 次多项式 sin 0,01x t x εε--=<<(4)在天体力学中,有如下开普勒(Kepler )方程t x x t i t i x 其中 表示时间, 表示弧度,行星运动的轨道 是 的函数.也就是说,对每个时刻 ,上述方程 (运动轨道位置).(超越方程)有唯一解 1110n n n n x a x a x a --++++=的根。
在非线性方程的求解中,多项式求根是最常见、最简单的情形,例如想通过矩阵的特征多项式求特征根,就会遇到这一问题.20(0) ax bx c a++=≠一元二次方程求根公式30x px q++=242b b acxa-±-⇒=一元三次方程求根公式根据代数基本定理,在复数域内,n 次代数多项式有且只有n个根,而由伽罗华(Galois)理论,5次以上(含5次)的多项式方程无求根公式,例如求代数方程652++--=x x x x632480的根.除了多项式求根之外,更多的是超越方程求根问题.超越方程是指包含指数函数、三角函数等特殊函数的方程.例如前面的几个例子又如求解非线性方程组 {0.7sin 0.2cos ,0.7cos 0.2sin .x x y y x y =+=-*x *()0f x *x f ()f x 上述这些问题,都归结为寻求非线性函数 使 . 称为方程或方程组( 为向量函数时) 的零点.的根或函数 由于自然现象和实际问题的复杂性,对函数方程和方程组求解问题,没有哪一种方法能求出一般方程的准确解.因此,求其数值解就非常必要了.方程的根,即求本章主要内容:介绍用于实际计算中求 f (x) = 0 的根的近似值的几种常用方法。
计算方法非线性方程求根第十章非线性方程求根知识点:求根的基本概念,对分法,迭代法,误差,编程停机判断,算法说明1.概念(1)根的概念方程f(x)=0的解叫做方程的根或f(x)的零点。
例如x-cosx=0,x-e x=0求方程的根是数值计算的任务之一,当不易求得f(x)=0的解析解时,可以考虑求其近似根。
求实根问题包括:根的存在性;根的分布;根的精确化.(2)根的存在性如果f(x)是[a,b]上的连续函数,且f(a) f(b)<0,则f(x)=0在(a,b)至少有一个根;若单调,则f(x)=0在(a,b)有惟一根。
(3)根的分布若有根区间的根多于一个,为了得到根的数值解,可以将该有根区间分割若干个子区间,使每个子区间只包含f(x)=0的一个根,这个过程称根的隔离,每个子区间称为隔根区间。
一般情形下,隔根区间内任一点都可作为相应根的近似值,隔根区间越小,近似程度越好。
(4)根的精确化在隔根区间内得到方程f(x)=0相应根的初步近似值后,为使近似值程度更好、符合预先期望,通常应继续逐步精确化根的近似值,直到满足规定的精度要求为止。
精确化方法有很多,常见的有二分法,迭代法等。
2.二分法二分法是利用隔根区间的两个端点来逐步求得满足预先给定精度的近似根。
(1)基本思想对分有根区间,判断f(x)的符号,逐步将有根区间缩小,使得在足够小的区间内取得满足预先给定精度要求的近似值。
(2)具体做法设区间[a,b]为有根区间,记α是f(x)=0在(a,b)的惟一根,二等分区间[a,b]。
令x0=(a+b)/2,如果f(x0)=0,则求得实根α=(a+b)/2。
否则,若f(a)f(x0)<0,则α∈[a,x0],取a1=a,b1=x0;若f(b)f(x0)<0,则α∈[x0,b],取a1=x0,b1=b。
在新的有根区间上重复二等分过程,得有根区间套序列[a,b]? [a1,b1]? [a2,b2] ?…? [a k,b k] ?…b-a>b1-a1>b2-a2>…>b k-a k…,a k≤α≤b k其中每个区间为前一个区间的一半,经过k次二分后,有根区间的长度为如此无限二等分区间[a,b](k→∞)有b k- a k→0(k→∞)或lim a k=lim b k=α(k→∞)。
非线性方程()
f x=0求根主要可以采用下面三种方法,下面简单介绍下,并附例题,让解法更一目了然。
1)二分法简介:
计算步骤如下:
例题:
2)不动点迭代,也叫简单迭代。
隐式化为显式,迭代法是一种逐次逼近法;
其中()
f x'<1才能满足上述迭代格式。
继续迭代。
3)牛顿迭代法,实际上也叫切线法,
是通过下面的方式推导出来的。
上述题目很简单,用牛顿法迭代就可以达到目的。
我们先设()cos f x x x =-=0 由公式得cos sin x x
x x x
0-=-
1+ 我们用二分法的原理,我们取x π0=, 得cos sin x x x x x ππ00100-+1
=-
=-=11+1
cos cos .sin sin x x x x x 11211-1-1
=-
=1-=09998
1+1+1
cos cos ..sin sin .x x x x x 22322-1-09998
=-
=1-=099981+1+09998
x x 32=,并具有四位有效数字,所以只需迭代两次就可以达到
题目所需的精度要求。