非线性方程的数值解法

合集下载

3-第三章 非线性方程的数值解法

3-第三章 非线性方程的数值解法

到小数点后第三位小数,需要二分多少次? 解:设 f ( x) x6 x 1,由于 f (1) f (2) 0, f ( x) 0(1 x 2), 所以在区间 [1,2]内方程 f ( x) 0 有唯一实根。
ba 1 令 k 1 10 3 ,求得所需对分次数至少是10次。 2 2
x* xk ba k 1 2
时,停止计算。
§1 根的搜索与二分法
3 2 x 4 x 10 0 在 [1,2] 内的根的近似 例:用二分法求方程 1 2 值,要求绝对误差不超过 10 。 2 3 2 解: f ( x) x 4x 10 f ( x) 3x2 8x 0, x [1,2] 即 f ( x) 严格单调增加,又 f (1) f (2) 0 ,所以方程在[1,2]上有 唯一实根。 ba 1 2 令 2k 1 2 10 ,得到 k 6.64 ,取 k 7 ,即至少二分7次 。计算过程如下:
由 f ( x) 0 转化为 x ( x) 时,迭代函数 ( x) 不是唯一的, ( x) 不同,会产生不同的序列{xk } ,从而收敛情况也不 一样。
§2 迭代法及其迭代收敛的加速方法
几何意义: * x x ( x ) 求方程 的根 ,在几何上就是求直线 y x与曲线 y ( x) 交点 P* 的横坐标,如图所示。从图中可以看出, * ( x ) ( x ) x 当迭代函数 的导数 在根 处满足不同条件时,迭
特点:运算简单,方法可靠,对函数只要求在区间上连续 ;但收敛速度慢,不能用来求复数根及偶数重根。常用于为 其它求根方法提供较好的近似初始值。
§2 迭代法及其迭代收敛的加速方法
迭代法(逐次逼近)

数值分析第七章非线性方程的数值解法

数值分析第七章非线性方程的数值解法

数值分析第七章非线性方程的数值解法在数值分析中,非线性方程和非线性方程组的求解是非常重要的问题。

线性方程是指变量之间的关系是线性的,而非线性方程则指变量之间的关
系是非线性的。

非线性方程的数值解法是通过迭代的方式逼近方程的解。

非线性方程的求解可以分为两类:一元非线性方程和多元非线性方程组。

接下来,我们将对这两类方程的数值解法进行介绍。

对于一元非线性方程的数值解法,最常用的方法是二分法、牛顿法和
割线法。

二分法是一种直观易懂的方法,其基本思想是通过迭代将方程的解所
在的区间逐渐缩小,最终找到方程的解。

二分法的缺点是收敛速度较慢。

牛顿法是一种迭代法,其基本思想是通过选择适当的初始值,构造出
一个切线方程,然后将切线方程与x轴的交点作为新的近似解,并不断迭代,直到满足精度要求。

牛顿法的优点是收敛速度较快,但其缺点是初始
值的选择对结果影响很大,容易陷入局部极值。

割线法是对牛顿法的改进,其基本思想是通过选择两个初始值,构造
出一条割线,然后将割线与x轴的交点作为新的近似解,并不断迭代,直
到满足精度要求。

割线法的收敛速度介于二分法和牛顿法之间。

对于多元非线性方程组的数值解法,最常用的方法是牛顿法和拟牛顿法。

牛顿法的思想同样是通过构造切线方程来进行迭代,但在多元方程组中,切线方程变为雅可比矩阵。

牛顿法的优点是收敛速度快,但同样受初
始值的选择影响较大。

拟牛顿法是对牛顿法的改进,其基本思想是通过逼近Hessian矩阵来进行迭代,从而避免了计算雅可比矩阵的繁琐过程。

拟牛顿法的收敛性和稳定性较好,但算法复杂度相对较高。

数值分析非线性方程的数值解法

数值分析非线性方程的数值解法

数值分析非线性方程的数值解法数值分析是一种应用数学方法来分析和解决数学问题的领域。

非线性方程是数值分析中一类重要的问题,其解法包括了迭代法、牛顿法、割线法等。

本文将详细介绍这些数值解法及其原理和应用。

一、迭代法迭代法是解非线性方程的一种常用数值方法。

该方法的基本思想是通过不断迭代逼近方程的根,直到达到所需精度或满足停止准则为止。

迭代法的求根过程如下:1.选择适当的初始值x0。

2. 利用迭代公式xn+1 = g(xn),计算下一个近似根。

3.重复步骤2,直到满足停止准则为止。

常用的迭代法有简单迭代法、弦截法和牛顿法。

简单迭代法的迭代公式为xn+1 = f(xn),其中f(x)为原方程的一个改写形式。

该方法的收敛性要求函数f(x)在解附近有收敛性且导数在一个区间内收敛。

弦截法的迭代公式为xn+1 = xn - f(xn) * (xn-xn-1) / (f(xn)-f(xn-1))。

该方法通过连接两个点上的函数值的割线来逼近方程的根。

牛顿法的迭代公式为xn+1 = xn - f(xn) / f'(xn),其中f'(x)为f(x)的导数。

该方法通过用切线来逼近方程的根。

二、牛顿法牛顿法是解非线性方程的一种常用迭代法。

该方法通过使用方程的导数来逼近方程的根。

迭代过程如下:1.选择适当的初始值x0。

2. 利用迭代公式xn+1 = xn - f(xn) / f'(xn),计算下一个近似根。

3.重复步骤2,直到满足停止准则为止。

牛顿法的收敛速度较快,但要求方程的导数存在且不为0。

三、割线法割线法是解非线性方程的另一种常用迭代法。

该方法通过连接两个点上的函数值的割线来逼近方程的根。

迭代过程如下:1.选择适当的初始值x0和x12. 计算下一个近似根xn+1 = xn - f(xn) * (xn-xn-1) / (f(xn)-f(xn-1))。

3.重复步骤2,直到满足停止准则为止。

割线法的收敛速度介于简单迭代法和牛顿法之间。

第7章非线性方程组的数值解法

第7章非线性方程组的数值解法
( 1, 1 )
f 1 y f 2 2 y
2 y ( 1,1 ) 2
( 1,1 )
( y 3) ( 1, 1 )
( 1, 1 )
( x 1) ( 1 , 1 ) 2
( 1,1 )
f 1 f 2 2 2[ 2 * ( 3) ( 2 ) * ( 2 )] 4 f1 f2 g10 x ( 1,1) x ( 1,1) x f 1 f 2 g 2 2[ 2 * ( 3) 2 * ( 2 )] 20 20 y y f 1 y f 2 ( 1, 1 ) ( 1, 1 )

f ( x0 h, y0 k ) f ( x0 , y0 ) ( h k ) f ( x0 , y0 ) x y 1 2 ( h k ) f ( x 0 , y0 ) 2! x y 1 n ( h k ) f ( x 0 , y0 ) n! x y 1 n 1 ( h k ) f ( x0 h, y0 k ) ( n 1)! x y
2
2

0
得 f 1 f 1 ( g10 x g 20 y ) f 1 ( g10 ( g f 1 g f 1 ) 2 ( g 10 20 10 x y f 2 g 20 x f 2 g 20 x f 2 ) f2 y f 2 2 ) ( x y
1
f 1 ( x 0 , y0 ) f ( x , y ) 2 0 0
从n到n+1的迭代格式为:
f 1 ( x n , y n ) xn 1 x n x y y f 2 ( xn , yn ) n 1 n x

数值分析 第7章 非线性方程的数值解法..ppt;ppt

数值分析 第7章 非线性方程的数值解法..ppt;ppt
2
7.1 方程求根与二分法
7.1.1 引言 单变量非线性方程的一般形式 (1.1) f ( x) 0 其中 x R , f ( x) C[a, b], [a, b] 也可以是无穷区间.
f(x)是高次多项式函数或超越函数 如果函数 f (x) 是多项式函数,即
f ( x ) a0 x n a1 x n1 an1 x an (a0 0),
xk
可得一个近似根的序列 x0 , x1 , x2 , xk ,,
2
9

x* xk (bk ak ) / 2 (b a) / 2k 1 , x * xk , k ln(b a ) ln 1
ln 2
(1.3)
(4) 要使
只要二分足够多次(即 k 充分大),便有
建立迭代公式 各步迭代的结果如下表
表7 3 k xk k xk
x1 2.375, x2 12.39.
xk 1 3 xk 1 (k 0,1,2,).
发散
如果仅取6位数字,
结果x7 与 x8 完全相同, 说明:①迭代函数不唯一,②迭代点列可能收敛,也可 0 1 .5 5 1.32476 能发散,迭代收敛与否不仅与迭代函数有关,还与初 1 1.35721 6 1.32473 x7 即为所求的根. 始点有关。
(1.2)
其中 a0 0, ai (i 0,1,, n) 为实数,则称方程(1.1)为 n 次代数方程.
超越函数 不能表示为多项式的函数
如 (x)=3x5-2x4+8x2-7x+1 (x)=e2x+1-xln(sinx)-2 高次代数方程 超越方程
3
如果实数 x *满足 f ( x*) 0,则称 x * 是方程(1.1)的 根,或称 x *是 f (x)的零点. 若 f (x)可分解为 f ( x) ( x x*)m g ( x),

5-非线性方程组的数值解法及最优化方法

5-非线性方程组的数值解法及最优化方法

1 4 0
非线性方程组的数值解法
x10=0; x20=0; k=0; while 1 k=k+1; x1k=(1+x20-0.1*exp(x10))/4; x2k=(x10-x10^2/8)/4; %雅克比迭代法 %x2k=(x1k-x1k^2/8)/4; %高斯-赛德尔迭代法 err1=abs(x1k-x10); err2=abs(x2k-x20); err=max(err1,err2); if err<=0.00000000005 break; end x10=x1k; x20=x2k; end
0.0000055305 0.0000001511 0.0000000041 0.0000000001
非线性方程组的数值解法
牛顿迭代法:根据求解非线性方程的牛顿迭代法,如果已经 k k T ,则 ,, xn 给出方程组 Fx 0 的一个近似根 xk x1k , x2 可把函数 Fx 的分量 fi x, i 1,2,, n 在 x k 处按多元函数泰 勒公式展开,取其线性部分做近似,得
(0.2325668498,0.0564514831) (0.2325670008,0.0564515487) (0.2325670050,0.0564515196) (0.2325670051,0.0564515197) (0.2325670051,0.0564515197)
0.0002023950


所以有
1 x φx 1 2 x1
0
T
取初值 x 代公式收敛。
T 0 x 0 , 0 附近 φx 1,所以迭 0,0 ,在
1 1 x 1 e 40 x2 2 1 1 x1 x2 4 16

第7章 非线性方程的数值解法

第7章 非线性方程的数值解法

设 0为给定精 度要求,试确定分半次 数k 使
x* xk
ba 2k
由 于2k , 两 边 取 对 数 , 即 得
ba
k ln(b a) ln
ln 2
数值分析
18/47
§例1: 5.用2 二二分分法 求 法x3 4x2 10 0在[1,2]内 的 根 ,
要 求 绝 对 误 差 不 超 过1 102。 2
第七章 非线性方程的数值解法
数值分析
本章内容
§7.1 方程求根与二分法 §7.2 不动点迭代及其收敛性 §7.4 牛顿法 §7.5 弦截法
数值分析
2/47
本章要求
1. 掌握二分法基本原理,掌握二分法的算法 流程;
2. 掌握理解单点迭代的基本思想,掌握迭代 的收敛条件;
3. 掌握Newton迭代的建立及几何意义,了解 Newton迭代的收敛性;
27/47
§ 7.2 不动点迭代法及其收敛性
不动点迭代的几个重要问题: 1、迭代格式的构造; 2、初值的选取; 3、敛散性的判断;☆ 4、收敛速度的判断。
数值分析
28/47
§ 7.2 不动点迭代法及其收敛性
三.压缩映射原理(整体收敛性)
考虑方程x g( x), g( x) C[a, b], 若
则f (x)=0在[a, b]内必有一根。
二. 过程
将区间对分,判别f (x)的符号,逐步缩小有根区 间。
数值分析
14/47
§7.1.2 二分法
三. 方法
取xmid=0.5*(a+b)
若f(xmid) < (预先给定的精度),则xmid即为根。
否则,若f (a)*f (xmid)<0,则取a1=a,b1=xmid 若f (a)*f (xmid)>0,则取a1=xmid,b1=b 此时有根区间缩小为[a1, b1],区间长度为 b1-a1=0.5*(b-a)

非线性方程的数值解法

非线性方程的数值解法

2. 2 二分法
二分法的误差估计
由于 x − x* ≤ 1 (b − a ) = b − a k k k k +1 k +1
2
只要有根区间[a 只要有根区间 k+1, bk+1]的长度小于预先给定的误 的长度小于预先给定的误 差ε,那么就可以取 作为所求根x*的第 次近似值。 作为所求根 的第k+1次近似值。其误差估计为 的第
计算机科学与工程系 21
2.3 迭代法
简单迭代法的原理 迭代法的收敛性 迭代加速法
计算机科学与工程系 22
2.3.1 简单迭代法原理
基本思想
将方程f 将方程 (x) = 0化为一个等价的方程 化为一个等价的方程 x = ϕ (x ) 从而构成序列
x k +1 = ϕ ( x k ) k = 0 , 1, 2 , L
计算机科学与工程系
9
2.1.2 根的隔离方法
画图法
f(x)
x0 =
a
x0 + h
x* b
计算机科学与工程系 10
2.1.2 根的隔离方法
逐步扫描法
设单值连续函数f(x)在有根区间 b],从左端点 = 在有根区间[a, ,从左端点x 设单值连续函数 在有根区间 a出发,按某个预先选定的步长 一步一步地向右跨 出发, 出发 按某个预先选定的步长h一步一步地向右跨 每跨一步都检验每步起点x 和终点x 每跨一步都检验每步起点 0和终点 0 + h的函数值 的函数值 如果
1 x − xk ≤ k +1 (b − a) 2
*
计算机科学与工程系 16
1 xk = (ak + bk ) 2
输入 a, b, ε 定义f (x) 是

非线性方程数值解法详解

非线性方程数值解法详解

1 ( p) (
p!
)( xk
)
p
xk1
1
p!
(
p)
(1
)(
xk
)p
lim
k
xk1 xk p
1 ( p) ( )
p!
0
必要性 (略)
例 能不能用迭代法求解方程x=4-2x,如果不能
时,试将方程改写成能用迭代法求解的形式.
方程为x-4+2x =0.设f(x)= x-4+2x ,则f(1)<0,f(2)>0, f‘(x)= 1+2x ln2>0,故方程f(x)=0仅在区间(1, 2)内有唯一根.
(1) f(a)f(b)<0; (2) f'(x)0, x[a, b]; (3) f''(x)不变号, x[a, b]; (4) 初值x0 [a, b]且使f''(x0) f(x0)>0; 则 Newton 迭代法收敛于f(x)=0在[a, b]内的惟一 根.
例 研究求
a的Newton公式xk 1 Nhomakorabeaxk 1 xk
f (xk ) f (xk )
(k 0,1, 2,L )
逐次逼近方程f(x)=0的根α ,这种求根算法称为 Newton法(切线法),此公式称为 Newton迭代公式.
Newton迭代法的收敛性及收敛阶
Newton法的迭代函数是 (x) x f (x)
从而
(x)
f (x) f (x) [ f (x)]2
或f(x)的零点. 设有正整数m使得f(x)=(x-α)mg(x)
且g(α)0 ,则当m2时,称α为f(x)=0的m 重根;当m=1时,称α为f(x)=0的单根. 若α为f(x)=0的m重根,则

非线性方程的数值解法研究

非线性方程的数值解法研究

非线性方程的数值解法研究在数学和科学计算领域,非线性方程的求解是一个至关重要的问题。

非线性方程不像线性方程那样具有简单和直接的求解方法,它们的复杂性使得寻找精确解往往变得非常困难,甚至在很多情况下是不可能的。

因此,数值解法成为了处理非线性方程的重要手段。

首先,让我们来理解一下什么是非线性方程。

简单来说,非线性方程是指方程中包含未知数的非线性函数,例如幂次高于 1 的项、三角函数、指数函数等。

常见的非线性方程有二次方程、三次方程、指数方程、对数方程等等。

在实际应用中,非线性方程广泛出现在物理学、工程学、金融学、生物学等众多领域。

比如在物理学中,描述天体运动的方程往往是非线性的;在工程学中,结构力学和电路分析中的一些问题也会涉及非线性方程。

那么,为什么非线性方程的求解如此具有挑战性呢?这是因为非线性方程的解可能不是唯一的,甚至可能不存在。

而且,非线性方程的解可能对初始条件非常敏感,微小的变化可能导致完全不同的结果。

接下来,我们来探讨一些常见的非线性方程数值解法。

牛顿法是一种经典且广泛应用的方法。

它基于函数的泰勒展开,通过不断迭代来逼近方程的根。

基本思想是在每一步迭代中,根据当前点的函数值和导数值来确定下一个近似解的位置。

如果函数的导数容易计算,并且初始猜测值比较接近真实解,牛顿法通常收敛速度很快。

然而,如果初始猜测值不好,或者函数的导数在某些点不存在,牛顿法可能会失效。

割线法是牛顿法的一种改进。

它不需要计算函数的导数,而是通过两个初始猜测值来构造一条割线,然后用割线与 x 轴的交点作为新的近似解。

割线法虽然在计算导数困难的情况下很有用,但它的收敛速度通常比牛顿法慢。

二分法是一种简单而可靠的方法。

它基于区间收缩的原理,通过不断将包含根的区间一分为二,逐步缩小根所在的范围,从而逼近根的精确值。

二分法的优点是它总是收敛的,并且对函数的性质要求不高,只要函数在给定区间内连续且两端点函数值异号即可。

但二分法的收敛速度相对较慢,是线性收敛的。

非线性方程数值解法

非线性方程数值解法

对分区间法
对分法的基本思想


对分法的基本思想是在平分有根区间的 过程中,逐步缩小有根区间. 设函数f(x)在区间[a, b]上连续,且f(a) f(b)<0 ,则方程f(x)=0在(a, b)内至少有一 个根.为简便起见,假定方程f(x)=0在(a, b) 内仅有一个根.这样(a, b)为有根区间.这 时可用下面的对分法求方程f(x)=0的近似 根.

迭代法的整体收敛性


定理1 (迭代收敛定理)设(x)在[a, b]上具有一阶 导数,且 1°x[a, b] ,总有(x)[a, b] ; 2°存在0m<1,使x(a, b) ,有'(x)m 则 1°方程x=(x)在[a, b]内有且仅有一根α ,其中α 为对任意初值x0 [a, b]由迭代过程xk+1=(xk)所产生 序列的极限. m xk xk xk 1 2°有估计式

求根步骤


(1)确定所给方程存在多少个根. (2)进行根的隔离,找出每个有根区间, 有根区间内的任一点都可看成是该根的 一个近似值. (3)逐步把近似根精确化,直到足够精 确为止.
根的隔离
根的隔离

确定出若干个小区间,使每个小区间有 且仅有方程f(x)=0的一个根,这个步骤称 为根的隔离.其中每个有根小区间都称为 隔根区间.
第三章
非线性方程的数值解法
根的概念
给定方程f(x)=0,如果有α使得f(α)=0, 则称α为f(x)=0的根或f(x)的零点. 设有正整数m使得f(x)=(x-α)mg(x) 且g(α)0 ,则当m2时,称α为f(x)=0的 m重根;当m=1时,称为f(x)=0的单根. 本章只讨论实根的求法.

计算声学第三章非线性方程的数值解法

计算声学第三章非线性方程的数值解法

03
迭代法求解非线性方程
迭代法的基本思想
01
构造迭代公式
将非线性方程转化为等价的迭代 公式,通过迭代逐步逼近方程的 解。
初始值选择
02
03
迭代终止条件
选择合适的初始值作为迭代的起 点,影响迭代过程的收敛速度和 结果。
设定合适的终止条件,当迭代结 果满足条件时停止迭代,得到近 似解。
迭代法的收敛性与误差分析
在实际应用中,还需要考虑数值稳 定性和计算效率等问题,选择合适 的算法和参数设置。
05
拟牛顿法及其应用
拟牛顿法的基本思想
构造近似Hessian矩阵
拟牛顿法通过迭代过程中梯度信息的变化,构造一个近似于真实Hessian矩阵的对称正定矩阵, 用于指导搜索方向。
无需显式计算Hessian矩阵
与牛顿法相比,拟牛顿法无需显式计算目标函数的Hessian矩阵,从而降低了计算的复杂性和存 储需求。
在实际应用中,声学问题往 往与其他物理场(如热场、 电场等)相互耦合。如何有 效地求解这类多物理场耦合 问题,是计算声学领域面临 的一个重要挑战。
不确定性与鲁棒 性分析
在实际声学系统中,往往存 在各种不确定因素(如材料 参数的不确定性、边界条件 的不确定性等)。如何对这 些不确定性进行建模和分析 ,提高计算结果的鲁棒性, 是另一个需要关注的问题。
收敛性定理
根据收敛性定理判断迭代法是否收敛,如全局收敛性、 局部收敛性等。
收敛速度
分析迭代法的收敛速度,如线性收敛、超线性收敛、 二次收敛等。
误差估计
对迭代法的误差进行估计,包括截断误差、舍入误差 等。
常见的迭代法及其改进
简单迭代法
最基础的迭代法,通过直接代入迭代公式进 行计算。

非线性方程(组)的解法

非线性方程(组)的解法
将F ( x) 在x k 处进行泰勒展开
f ( x) f ( xk ) f ( xk )(x xk ) 一元函数 F ( x) F ( x k ) F ( xk )(x xk ) 0 x k为向量 F ( x k )(x x k ) F ( x k ) x x k F ( x k )1 F ( x k )
18
3.非线性方程组的迭代解法
f1 ( x1 , x2 , , xn ) 0 f1 ( x) f1 ( x1 , L , xn ) 或 F ( x) L 0 L f ( x) f ( x , L , x ) f ( x , x ,, x ) 0 n n n 1 n n 1 2
9
迭代法及收敛性
考虑方程 x ( x)。 这种方程是隐式方程,因而不能直接求出它的根。
但如果给出根的某个猜测值 x0, 代入 x ( x) 中的右端得到 x1 ( x0 ),再以 为一个猜测值,
x1
代入 x ( x) 的右端得 x2 ( x1 ) ,反复迭代 得
1 f ( x ) f ( x0 ) ( x x0 ) f ( x0 ) ( x x0 )2 f ( ) 2 其中在x和x0之间
0 f ( x) f ( x0 ) ( x x0 ) f ( x0 ) 0
16
Newton迭代法
有:
*
f ( x0 ) x x0 f ( x0 )
能为力时,数值方法则可以借助于计算机出色完成。
2
2.1二分法

概念:


有根区间:存先确定有限区间:依据零点定理。 设 f ( x) C[a, b],且 f (a) f (b) 0 ,则 方程 f ( x) 0在区间 (a, b)上至少有一个根。 如果 f ' ( x) 在 (a, b)上恒正或恒负,则此根唯 一。

第三章 非线性方程(组)的数值解法

第三章 非线性方程(组)的数值解法

第三章 非线性方程(组)的数值解法一.取步长1h =,试用搜索法确立3()25f x x x =--含正根的区间,然后用二分法求这个正根,使误差小于310-。

【详解】由于是要寻找正根,因此,可选含根区间的左端点为0。

(0)5f =-,(1)5f =-,(2)1f =-,(3)16f =,因此,(2,3)中有一个正根。

这就确立了含根区间。

接下来,我们用二分法求这个正根,使误差小于310-,计算结果如下表 迭代次数k a k b k x0 2 3 2.5 1 2 2.5000 2.250 0 2 2 2.2500 2.125 0 3 2 2.1250 2.062 5 4 2.0625 2.1250 2.093 8 5 2.0938 2.1250 2.109 4 6 2.0938 2.1094 2.101 6 7 2.0938 2.1016 2.097 7 8 2.0938 2.0977 2.095 7 9 2.09382.09572.094 7二.对方程2()2sin 20f x x x =--=,用二分法求其在区间[]1.5,2内的根,要求误差小于0.01。

【详解】用二分法求解方程在[]1.5,2内的根,要求误差小于0.01,计算结果如下表: 迭代次数k ak bk x0 1.5 2 1.75 1 1.7500 2.0000 1.875 0 2 1.8750 2.0000 1.937 5 3 1.9375 2.0000 1.968 8 4 1.9375 1.9688 1.953 1 51.95311.96881.960 9三.用不动点迭代法,建立适当的迭代格式,求方程3()10f x x x =--=在0 1.5x =附近的根,要求误差小于610-。

【详解】310x x --=,等价于x =。

这样,可以建立不动点迭代格式1k x +=当0x ≥时,总有23110(1)133x -'<=+≤<,因此,迭代格式对于任意初始值00x ≥总是收敛的。

非线性方程的数值解法

非线性方程的数值解法
第二章 非线性方程的数值解法
非线性方程:f(x)=0 包括:代数方程(多项式)、超越方程(三角函数、指
数函数或对数函数)。
求解方法:直接求解法、间接求解法; 直接求解法一般为解析法,能够得到精确解,如二次方 程求根公式等。简单但不一定总有效。 间接求解法一般较复杂,可以利用计算机进行计算,其 结果为近似解,但误差可以控制。
L L2 | x * xk | | x k x k 1 | | x k 1 xk 2 | ...... 1 L 1 L 注:定理条件非必要条件,对某些问题在区间 [a, b]上不 k L 满足| φ ’(x) | L < 1 ,迭代也收敛。 | x1 x0 | 1 L

是 是
f (a) =0

否 f(a)f(m)>0 否 b=m
打印b, k
结束
打印a, k
k=K+1
应用: 3 f x x 2x 5, a, b 2,3, 0.01 ,求x=? 例、设 解: k ba a x b
0 1 2 3 4 5 6
23+ 2.5+ 1 22.5+ 2.25+ 0.5 22.25+ 2.125+ 0.25 22.125+ 2.06250.125 2.06252.125+ 2.093750.0625 2.09375 2.125+ 2.109375+ 0.03125 2.09375 2.109375 2.1015625 0.015625 0.02
L | x k x k 1 | ? ④ | x * xk | 1 L
3 简单迭代法
| x xk | L | x xk 1 | L | x * xk xk xk 1 | | xk xk |) 1 |来 L(| x * x可用 | | x x k k k 1 (1 L) | x x | L | x x | 控制收敛精度

非线性方程的数值解法

非线性方程的数值解法

迭代法求解的问题
1、迭代的收敛性 2、迭代的收敛速度 以上问题与迭代形式 x=ϕ(x)有关 例:方程 x2 + x – 6 =0 ,初值x0=1 迭代形式: x =6-x2 结果发散 迭代形式: x =(6+3x-x2)/4
结果收敛
简单迭代法的几何解释
迭代法的收敛条件
设方程 f (x)=0的根为x=a, 即f (a)=0 迭代形式 x=ϕ(x),则 a = ϕ (a),xn+1 = ϕ (xn) xn+1-a = ϕ (xn)- ϕ (a)
f ′(x) 与 f ′ (x) 均存在,
x0, x∈[ a,b] ;
插 值 法 的 几 何 解 释
弦割法
Newton’s Method 一步要计算 f 和 f ’,相当于 个函数值, 个函数值, ,相当于2个函数值 比较费时。 比较费时。现用 f 的值近似 f ’,可少算一个函数值。 ,可少算一个函数值。
直接法:fslove函数 直接法:fslove函数
fsolve函数有多种调用格式可供选用,现 以最常见的格式为例说明。 b=fsolve (′F′,x0,options) 例:fsolve(‘sin(x)’,1.2) 其中F为函数名,x0为初值矩阵,options为 以向量表示的可选参数值
迭代法求解
第二节 初值估计
1. 物理法 根据数学方程 f(x)=0 的物理概念确定初值。 例:计算实际气体的压缩因子 Z = PV / R T 可将理想气体的压缩因子作为初值 优缺点:物理法估计初值简便而确切, 并 具有明确的物理概念。但在实际应用上有 一定的局限性, 并不能解决所有初值的估 计问题。
Z0 =1
ϕ′(x) ≤ q <1

计算方法 第2章 非线性方程数值解法

计算方法 第2章 非线性方程数值解法

第二章非线性方程数值解法本章将讨论非线性方程0)(=x f (2.1)的数值解法,我们最为熟悉的非线性方程是一元二次方程02=++c bx ax也是最简单的非线性方程,其解为:aac b b x 2422,1-±-=但是对于(2.1)式中一般形式的非线性函数)(x f ,很难甚至不可能找到解析形式的解,通常只能用数值的方法求其近似数值解。

2.1 基本概念定义2.1如果*x 满足0)(*=x f ,则称*x 为方程(2.1)的解或根,也称*x 为函数)(x f 的零点或根。

用数值方法求解非线性方程的解,通常需要我们对其解有一个初步的估计,或知道其解的一个限定区间,因此确定包含解的区间将是我们首先需要解决的问题。

定义2.2若连续函数)(x f 在],[b a 内至少有一个根,则称],[b a 为有根区间,若在],[b a 内恰有一个根,则称],[b a 为隔根区间。

定理2.1 如果函数)(x f 在],[b a 上连续且0)()(<b f a f ,则)(x f 在),(b a 内至少有一个根,如果函数)(x f 另外满足在],[b a 上单调连续,则)(x f 在),(b a 内恰有一个根。

寻找隔根区间的通常方法有:图形法, 试探法。

例2.1 求033)(3=+-=x x x f 的有根区间。

解:作出函数)(x f y =的曲线图形图2.1 例2.1曲线示意图观察图中的曲线与X 轴的交点,可判断在区间)2,3(--之间方程有一个根。

例2.2 求033)(23=--+=x x x x f 的有根区间。

解:计算出)(x f 在一些点的值。

从表中可以看出1-=x 是一个根,区间)2,1(是一个有根区间。

如果在[-2,-1]之间把间隔再缩小到0.25我们可以得到下列表格在这个表格里我们又发现一个有根区间)5.1,75.1(--。

从此例中我们可以体会到试探法有可能漏掉某些有根区间,具有一定的局限性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输出: 近似根 x.
Step 1 Set k = 1; Step 2 Compute x1=(a+b)/2;
Step 3 If f(x1)*f(a)<0 , Set b= x1; Else Set a= x1;
Step 4 Compute x2=(a+b)/2; Step 5 While ( k Nmax) do steps 6-8
就找到了三次、四次方程的求根公式,但直到19世纪才证明大 于等于5次的一般代数方程式不能用代数公式求解,而对于超
n个根(考虑重数)。早在16世纪
n
越方程就复杂的多,如果有解,其解可能是一个或几个,也可 能是无穷多个。一般也不存在根的解析表达式。因此需要研究
数值方法求得满足一定精度要求的根的近似解。
求方程 f ( x ) 0 几何意义
a 1, b 1.5, 10 2 ;
ln( b a ) ln n 1 ln 2
ln(1.5 1) ln 10 1 ln 2
2
4.64
n5
优点
①简单; ② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根 ②收敛慢
缺点
注:用二分法求根,最好先给出 f (x) 草图以确定根的大 概位置。或用搜索程序,将[a, b]分为若干小区间,对每一 个满足 f (ak)· f (bk) < 0 的区间调用二分法程序,可找出区 间[a, b]内的多个根,且不必要求 f (a)· f (b) < 0 。
L | xk xk 1 | ...... Lk | x1 x0 |
x xk 1 ⑥ lim g ( x) ? k x x k
lim
k
L 越 小 收敛越快
x * x k 1 g( ξ k )( x * xk ) lim g( x*) k x * xk x * xk
当 x 很大时,此 处可改为 x x0 TOL
Step 7 Output (The method failed after Nmax iterations); /*不成功 */
二、局部收敛性 /*Local Convergence*/ (局部收敛性 ) Def 2.1 g 若存在 的不动点 x 的一个闭邻域 N ( x ) [ x , x ]
注:条件 ( II ) 可改为 在[a, b] 满足Lipschitz条件, 定理结论仍然成立(定理2.2.1)。
算法: 不动点迭代
给定初始近似值 x0 ,求x = g(x) 的解. 输入: 初始近似值 x0; 容许误差 TOL; 最大迭代次数 Nmax.
输出: 近似解 x 或失败信息.
Step 1 Set i = 1; x0 = 初始给定值; Step 2 While ( i Nmax) do steps 3-6 x Step 3 Set x = g(x0); /* 计算 xi */ Step 4 If | x x0 | < TOL then Output (x); /*成功*/ STOP; Step 5 Set i = i +1; Step 6 Set x0 = x ; /* 更新 x0 */ STOP.
看起来很简单,令人 如何判定这种方法 有点不相信,那么问 是收敛的呢? 题是什么呢?
x k 1 g ( x k )
k 0,1, 2,
(*)
几何意义
y p1 p0 y=x y=g(x) y p0 y=x

x0 y x1 x* y=x x x0 y y=g(x) p0 x* y=g(x)

Step 6 If |x1- x2 | < TOL , STOP; Output the solution x= (x1+ x2 )/2.
Step 7 If f(x2)*f(a)<0 , Set b= x2; Else Set a= x2; Step 8 x1=x2 ; Compute x2=(a+b)/2; Set k=k+1; Step 9 Output “Maximum iterations exceeded ”; STOP.
第二章 非线性方程的数值解法
/* Numerical Solutions of Nonlinear Equations*/
本章主要内容:
1、二分法
2、不动点迭代的构造及其收敛性判定 3、Newton和Steffensen迭代 4、弦割法(割线法)与抛物线法
历史背景
代数方程的求根问题是一个古老的数学问题。理论上, 次代数方程在复数域内一定有
③ 当k 时, xk 收敛到 x* ?
| x * xk | | g( x*) g( xk 1 ) | | g(ξ k 1 ) | | x * xk 1 |
L | x * xk 1 | ...... Lk | x * x0 | 0
④ | x * xk |
1 | x k 1 x k | | x * xk | 1 L
| x * xk | 且存在极限
L |x1 x0 | 1 L
k
( k = 1, 2, … )
lim
k
x * x k 1 g x * x * xk
g( x ) 连续时
证明:① g(x) 在[a, b]上存在不动点?
令 f ( x ) g( x ) x
f ( x ) 有根
a g( x ) b
f ( a ) g(a ) a 0 , f ( b ) g ( b ) b 0
② 不动点唯一?
~ g( x ~ ),则 设还有 x ~ ) g(ξ ) ( x * x ~ ), 在 x * 和 x ~ 之间。 ~ g( x*) g( x x* x ~ )(1 g(ξ )) 0 ~ ( x* x 而 | g(ξ ) | 1 x* x
由二分法的过程可知:
1、
a, b a1 , b1 ak , bk f ak f bk 0, x ak , bk
1 1 2、 bk ak bk 1 ak 1 k b a 2 2
§1
二分法
/* Bisection Method */
原理:若 f C[a, b],且 f (a) ·f (b) < 0,则 f 在 (a, b) 上至 少有一实根。
基本思想:逐步将区间分半,通过判别区间端点函数值的符号,
进一步搜索有根区间,将有根区间缩小到充分小,从而求
出满足给定精度的根
x 的近似值。
2、 4x
2
2
10 x
3
1 1 1 1 3 2 3 2 g x 10 x x 10 x 即 2 2
10 10 4x x 4x 3、 x x x
1 2
1 2
10 g x 4 x 即 x
p1 y=g(x) x1 y=x x
p0 p1 x1 x0 x*

x x0 x*
p1

x
x1
例 2: 已知方程 x 3 4 x 2 10 0在[1, 2]上有一个根(正根) 下面选取5种迭代格式:
1、x
x x 4 x 10
3 2

g( x ) x x3 4 x 2 10
Th2.2.1 考虑方程 x = g(x), 若
( I ) 当 x[a, b] 时, g(x)[a, b]; ( II ) 0 L < 1 使得
Lipschitz条件成 立的充分条件
对 x[a, b] 成立。 g( x ) L 1
则任取 x0[a, b],由 xk+1 = g(xk) 得到的序列 x k k 0收 敛于g(x) 在[a, b]上的唯一不动点。并且有误差估计式:
§2 迭代法的理论 /* Theory of Iteration Method*/
一、不动点迭代 /*Fixed-Point Iteration*/
f (x) = 0
等价变换
x = g (x)(迭代函数)
x g (x) 的不动点
f (x) 的根 x

从一个初值 x0 出发,计算 x1 = g(x0), x2 = g(x1), …, 思 xk+1 = g(xk), … 若 x k k 0 收敛,即存在 x* 使得 路 lim x k x *,且 g 连续,则由 lim x k 1 lim g x k 可 k k k 知 x* = g(x* ),即x* 是 g 的不动点,也就是f 的根。
1 | x k 1 x k | ? 1 L
| x* x k | | x* x k 1| | x k 1 x k| L| x* x k| | x k 1 x k|
| x k 1 x k |来 Lk 可用 | x1 x0 | ? ⑤ | x * xk | 1 L 控制收敛精度 | xk 1 xk | | g( xk ) g( xk 1 ) | | g( ξ k )( xk xk 1 ) |
1 2
法3
x1 1.34840 x2 1.36738 x3 1.36496 x4 1.36526 x4 1.37517 x5 1.365225 x11 1.365230013
法4
x1 1.37333 x2 1.36526
x3 1.365230014 x11 1.365137821 x4 1.365230013 x29 1.365230013
y
y f ( x)
相关文档
最新文档