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

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第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

数值分析实验报告4

数值分析实验报告4

function f=gg(x) f=sqrt(2.5-(x^3)/4); end
则三种方法运行出的结果分别为: >> BDD(1.5) k= 20 ans = 1.365229578333959 >> WA(1.5) k= 6 ans = 1.365230351032824 >> ATJ(1.5) k= 4 ans = 1.365230013413594 (5)在 MATLAB 的 Editor 中建立一个 M-文件,输入程序代码,实现 matlab 自带函数求根 的程序代码如下:
>>format long BDD(1.5) k= 7 ans = 1.365230575673434
(2)在 MATLAB 的 Editor 中建立一个 M-文件,输入程序代码,实现加权加速求根的程序 代码如下:
function [y,n]=WA(a,eps) if nargin==1 eps=1e-16; end syms x L=subs(diff(sqrt(10/(4+x))),a); xl=gg(a,L); n=1; E=abs(xl-a); while (E>=eps)&(n<=10000) x=xl; xl=gg(x,L); n=n+1; E=abs(xl-x); end
在 command Windows 中输入命令:XJF(1.5),得出的结果为:
>> XJF(1.5) k= 5 ans = 1.365230020178121 (8)在 MATLAB 的 Editor 中建立一个 M-文件,输入程序代码,实现抛物线法求根的程序
代码如下:
function [y,n] = parabola(fx,a,b,c,eps) if(nargin == 4) eps=1e-6; syms x fa = subs(fx,a); fb = subs(fx,b); fc = subs(fx,c); fb_a = (fb-fa)/(b-a); fc_b = (fc-fb)/(c-b); fc_b_a = (fc_b - fb_a)/(c-a); w = fc_b + fc_b_a*(c-b); x0 = c - 2*fc/(w+(w^2 - 4*fc*fc_b_a)^.5); n=1; if(abs(x0-c) > eps && n <= 10000) a=b; b=c; c=x0; fa = subs(fx,a); fb = subs(fx,b); fc = subs(fx,c); fb_a = (fb-fa)/(b-a); fc_b = (fc-fb)/(c-b); fc_b_a = (fc_b - fb_a)/(c-a); w = fc_b + fc_b_a*(c-b); x0=c - 2*fc/(w+(w^2 - 4*fc*fc_b_a)^.5); n=n+1; end y=x0; n; end end

非线性方程组的数值解法及最优化方法课件

非线性方程组的数值解法及最优化方法课件
拟牛顿法求解非线性方程组
拟牛顿法是牛顿法的改进,通过构造一个近似于真实Hessian矩阵的对称正定矩阵来逼近, 从而加快了算法的收敛速度。
信赖域方法求解非线性方程组
信赖域方法是一种基于梯度信息的迭代算法,通过在每一步中计算一个小的搜索方向,并 限制步长,以避免算法发散。
最优化方法案例
梯度下降法求解无约束最优化问题
梯度下降法是一种迭代算法,通过不断沿负梯度方向更新变量,最终找到最优化问题的最小值点。该方法适用于求解 无约束最优化问题。
牛顿法求解无约束最优化问题
牛顿法是一种基于二阶导数的迭代算法,通过不断逼近函数的极小值点,最终求解无约束最优化问题。该方法适用于 求解具有多个局部最小值的问题。
遗传算法求解约束最优化问题 遗传算法是一种基于生物进化原理的随机搜索算法,通过模拟生物进化过程中的自然选择和遗传机制, 在解空间中进行高效搜索,最终找到满足约束的最优解。
和稳定性。
约束最优化方法
拉格朗日乘数法
通过引入拉格朗日函数,将约束最优化问题转化为无 约束最优化问题求解。
罚函数法
通过引入罚函数,将约束条件转化为无约束条件,通 过迭代更新求解。
序列二次规划法
结合拉格朗日乘数法和牛顿法的思想,通过迭代逼近 最优解。
混合整数最优化方法
01
02
03
分支定界法
将整数约束转化为区间约 束,通过不断分支和剪枝 来逼近最优解。
非线性方程组与最优化方法的结合案例
非线性规划问题
非线性规划是最优化领域中一类重要的数学问题,其目标函数和约束条件都是非线性的。常见的非线性规划问题 包括最小二乘问题、二次规划问题等。求解非线性规划问题的常用方法包括梯度下降法、牛顿法等。

(完整版)第7章非线性方程与方程组的数值解法

(完整版)第7章非线性方程与方程组的数值解法
基本思想:逐步将区间分半,通过判别区间端点函数值的符号,
进一步搜索有根区间,将有根区间缩小到充分小,从而求
出满足给定精度的根 x的近似值。
[a1, b1] [a2 , b2 ] [a3, b3]
以 此 类 推
y
a3
a2
b2 2
x2
a1
oa
•••
x
y f (x) bx
a2
a1
b1 2
x1
5
x0
a
Else Set a=x;
Step 6 Set k=k+1; Compute x =(a+b)/2 ;Go To Step 3 ;
Step 7 Output the solution of equation: x; STOP.
7
数值分析
由二分法的过程可知:
第7章 非线性方程与方程组的数值解法
1、 a,b a1,b1 ak ,bk
数值分析
Numerical Analysis
李小林
重庆师范大学数学学院
数值分析
第七章
非线性方程与第7方章 程非线组性方的程与数方值程组解的数法值解法
/* Numerical Solutions of Nonlinear Equations and
Nonlinear Algebraic Systems*/
2
数值分析
第7章 非线性方程与方程组的数值解法
历史背景
n 代数方程的求根问题是一个古老的数学问题。理论上, 次 n 代数方程在复数域内一定有 个根(考虑重数)。早在16世纪就
找到了三次、四次方程的求根公式,但直到19世纪才证明大于 等于5次的一般代数方程式不能用代数公式求解,而对于超越 方程就复杂的多,如果有解,其解可能是一个或几个,也可能 是无穷多个。一般也不存在根的解析表达式。因此需要研究数

第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)

Ch7 非线性方程与方程组的数值解法(2)

Ch7 非线性方程与方程组的数值解法(2)
( g ( x) x) 2 ( x) x . g ( g ( x)) 2 g ( x) x
4 / 19
几何意义 Aitken 加速:
y y = g(x)
一般地有:
( x K 1 x K )2 ˆ xK xK xK 2 xK 1 xK 2
y=x
15 / 19
例 再求x 3 x 1 0在1.5附近的根x * .
解:依次用牛顿法 0 1.5,x0 0.6,简化牛顿法 0 0.6, x x 牛顿下山法 1,折半, 1 / 32,计算结果如下:
k 0 1 2 3 4 xk 1.5 1.34783 1.32520 1.32472 xk 0.6 17.9 发散 xk 0.6 1.140625 1.36181 1.32628 1.32472 f(xk) -1.384 -0.656643 0.1866 0.00667 0.0000086
x0 , x1 g ( x0 ), x 2 g ( x1 ), ˆ x 0 , x3 g ( x 2 ), ˆ x1 , x 4 g ( x3 ), ......
P(x1, x2) P(x0, x1)
ˆ x K 比x K 收敛得略快。
Steffensen 加速:
x x1 x* x2 x0
2 / 19

2 x1
2 x1x * x * x2 x0 x2 x * x0 x * x * ,
2 2
x1 x * x0 x * x2 x * x1 x *
2 2 2 x2 x0 x1 x2 x0 2 x0 x1 x0 x2 x0 x1 x* x0 x2 2 x1 x0 x2 2 x1 x0

非线性方程(组)的解法

非线性方程(组)的解法

lnim(bn
an )
lim
n
2n1
(b
a)
0
lim
n
an
lim
n
bn
x

x
cn
1 2
(an
bn
)为
x 的近似解。
7
二分法
迭代终止准则
an - bn

x - cn
bn an 2
2
8
2.2一般迭代法
2.2.1 迭代法及收敛性
对于 f (x) 0 有时可以写成 x (x) 形式 如: x3 x 1 0 x 3 x 1
12
例题
例2.2.1 试用迭代法求方程 f (x) x3 x 1 0
在区间(1,2)内的实根。 解:由 x 3 x 1建立迭代关系
xk1 3 xk 1 k=0,1,2,3…… 计算结果如下:
13
例题
精确到小数点后五位
x 1.32472 1 105
2
14
例题 但如果由x x3 1建立迭代公式
xk1 xk3 1 k 1,2,...
仍取 x0 1.5,则有 x1 2.375 ,x2 12.39 显 然结果越来越大,{xk }是发散序列
15
2.3 Newton迭代法
设x*是方程f (x) = 0的根, 又x0 为x* 附近的一个值,
将f (x) 在x0 附近做泰勒展式:
f (x)
二分法
用二分法(将区间对平分)求解。

a1
a, b1
b, c1
1 2
(a1
b1 )
若 f (a1) f (c1) 0,则[a1, c1] 为有根区间,否 则 [c1,b1]为有根区间

非线性方程数值解法详解

非线性方程数值解法详解

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重根,则

非线性方程数值解法

非线性方程数值解法

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


对分法的基本思想是在平分有根区间的 过程中,逐步缩小有根区间. 设函数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的单根. 本章只讨论实根的求法.

非线性代数方程(组)的解法

非线性代数方程(组)的解法

06
应用举例与算法实现
应用举例
经济学
非线性方程组在经济学中广泛应用于描述市场均衡、消费者行为等问题。例如,求解供需平衡价格时,可以通过构建 非线性方程组来表示供给和需求函数,进而求解市场均衡价格。
工程学
在机械、电子等工程领域,非线性方程组常用于描述系统的动态行为。例如,在控制系统中,通过建立非线性状态方 程来描述系统的状态变化,可以求解系统的稳定性、响应特性等问题。
拟牛顿法是对牛顿法的改进,通过近 似计算雅可比矩阵或其逆矩阵来减少 计算量。常见的拟牛顿法有BFGS方 法、DFP方法等。程序设计时,需要 实现拟牛顿法的迭代过程,包括选择 合适的拟牛顿公式、更新近似矩阵等 步骤。
信赖域方法
信赖域方法是一种全局收敛的非线性 方程组求解算法,其基本思想是在每 次迭代中构造一个信赖域,然后在该 区域内寻找使目标函数充分下降的试 探步。程序设计时,需要实现信赖域 方法的迭代过程,包括构造信赖域、 求解子问题、更新信赖域半径等步骤 。
04
解析解法分离变量法源自01 适用于可将方程中的变量分离为两个或多个独立 函数的情况。
02 通过将方程两边同时积分,得到各变量的通解。 03 需要注意积分常数的确定,以及解的合理性验证。
行波法
01
适用于可化为行波形式的非线性方程。
02
通过引入行波变换,将原方程化为关于行波参数的常微分方 程。
03
步骤
1. 选定适当的坐标轴,将方程的变量表 示为坐标轴上的点。
等倾线法
定义:等倾线法是一种通过绘 制等倾线(即斜率相等的线) ,从而找出方程解的方法。
步骤
1. 将方程转化为斜率形式, 即 y' = f(x, y)。
3. 通过观察等倾线的交点、 切线等性质,可以判断方程 的解的存在性、唯一性等。

数值分析 李庆扬 第7章 非线性方程与方程组的数值解法

数值分析 李庆扬 第7章  非线性方程与方程组的数值解法
由定理2可得:迭代法是收敛的。 (2)当
x x3 1
时,在区间
1,2
有:
x 3 x 2 1
不满足定理的条件,无法保证迭代收敛。
a , b
上)
(2) 存在正常数 L 1 ,使对任意
x , y a , b 都有
x y L x y
(迭代函数的增量小于自变量的增量) 则
14
x 在 a , b
上存在唯一的不动点 x 。
2017年1月4日
*
《数值分析》 黄龙主讲
证明:先证不动点存在性。 若
x , y a , b 有
x y x y L x y , a , b
因此,可将上述定理 1 和定理 2 中的条件(2)改为:
x L 1
21
2017年1月4日
《数值分析》 黄龙主讲
例如:
(2) 存在正常数 L 1 ,使对任意
x y L x y
则对任意 由
x0 a , b :
xk 1 xk 得到的迭代序列 xk
收敛到
x 的不动点 x*
,并有误差估计
k L x k x* x1 x0 1 L
17
2017年1月4日
*
最终取值: x
误差:取有根区间
ak , bk 的中点 (
ak bk xk 作为近似根,则: 2 b ak b a x* x k k k 1 2 2
特点:算法简单,可保证收敛,但收敛太慢。用于求近似解。
8
2017年1月4日
《数值分析》 黄龙主讲
P214例2 求方程 f x x 3 x 1 0 在区间 1.0 ,1.5 内的一个实根, 要求准确到小数点后的第二位。

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

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

定理 2(不动点迭代法的全局收敛性定理) 设 ( x) C[a, b] 满足定理 1 中的两个条 件,则对任意的 x0 [a, b] ,由(2.1)式生成的迭代序列 {xk } 收敛到 ( x) 在 [a, b] 上的不 动点,且有
| x* xk | | xk 1 xk | , 1 L
ak bk ) 。记第 n 次过程得到的隔根区间为 2
[an , bn ] ,则 [a0 , b0 ] [a1, b1 ] [a2 , b2 ] [an , bn ]
an x* bn , n 0,1, 2,
bn an bn 1 an 1 2 b0 a0 2n
k
则称迭代方程(2.1)收敛。 2.2 不动点的存在性与迭代法的收敛性 定义 若存在常数 L ,使对任何 x1 , x2 [a, b] 有
| ( x1 ) ( x2 ) | L | x1 x2 |
则称 ( x) 在 [a, b] 上满足 Lipschitz(利普希茨)条件, L 称为 Lipschitz 常数。 显然, 若 ( x) 在 [a, b] 上满足 Lipschitz 条件, 则 ( x) 在 [a, b] 上连续。 若 ( x ) 在 [ a, b] 上一阶导数存在且有界,则 ( x) 在 [a, b] 上满足 Lipschitz 条件。 定理 1(不动点存在性定理) 设 ( x) C[a, b] 满足以下两个条件: (1)对任意 x [a, b] ,有 ( x) [a, b] ; (2) ( x) 在 [a, b] 上满足 Lipschitz 条件,且 Lipschitz 常数 L 1 ; 则 ( x) 在 [a, b] 上存在唯一的不动点。 证明:先证明不动点的存在性,记 g ( x) x ( x) ,由定理条件有 g (a) a (a) 0 及 g (b) b (b) 0 ,若有一等号成立,则 g (a) 0 或 g (b) 0 ,即 有不动点,否则必 有 g (a) g (b) 0 ,因 g ( x) C[a, b] ,则必有 x* [a, b] 使 g ( x* ) x* ( x* ) 0 ,x* 即为 的 不动点。

非线性方程(组)的解法

非线性方程(组)的解法
将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)上恒正或恒负,则此根唯 一。

计算方法第七章非线性方程与方程组的数值解法

计算方法第七章非线性方程与方程组的数值解法

y=x
y
y= ( x)
(x)
P*
x2
x1
x0 x* x
(x* ) 1
(c)
x3 x1 x* x0 x2 x
(x* ) 1
(d)
29
迭代法收敛的条件
对方程f(x)=0可以构造不同的迭代公式, 但 迭代公式
xk 1 ( xk ) (k 0,1,2,)
并非总是收敛。那么,当迭代函数 (x) 满足什 么条件时,相应的迭代公式才收敛呢?即使迭 代收敛时,我们也不可能迭代很多次,而是迭 代有限次后就停止,这就需要估计迭代值的误 差,以便适时终止迭代
根,有几个根? ② 确定根的分布范围。即将每一个根用区间隔
离开来,这个过程实际上是获得方程各根的 初始近似值。 ③ 根的精确化。将根的初始近似值按某种方法 逐步精确化,直到满足预先要求的精度为止
4
二分法
二分法又称二分区间法,是求解方程(7.1)的近
似根的一种常用的简单方法。
设函数f(x)在闭区间[a,b]上连续,且f(a)f(b)<0,
第7章 非线性方程与方程组 的数值解法
§7.1 方程求根与二分法 §7.2 不动点迭代法及其收敛性 §7.3 迭代收敛的加速方法
§7.4 §7.5 §7.6
牛顿法 弦截法与抛物线法 求根问题的敏感性与多项式的零点
§7.7 非线性方程组的数值解法
1
§7.1 方程求根与二分法
在科学研究和工程设计中, 经常会遇到的一大类 问题是非线性方程
对值或 ak 与 bk 的差的绝对值是否小于ε来决
定二分区间的次数。
17
二分法算法实现
开始 输 入 a , b,ε
y xb
(a+b)/2 x f(a) f(x )<0 ?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们知道在实际应用中有许多非线性方程的例子 例如: (1)在光的衍射理论(the theory of diffraction of light)中,我们 需要求 x-tanx=0 的根 (2)在行星轨道(planetary orbits)的计算中,对任意的a和b, 我们需要求 x-asinx=b 的根 (3) 在数学中,需要求n次多项式的根
③ 当k 时, xk 收敛到 x* ?
| x * xk | | ( x*) ( xk 1 ) | | (ξk 1 ) | | x * xk 1 |
L | x * xk 1 | ...... Lk | x * x0 | 0
Else Set a=x;
Step 6 Set k=k+1; Compute x =(a+b)/2 ;Go To Step 3 ; Step 7 Output the solution of equation: x; STOP.
7
数值分析
由二分法的过程可知:
1、
第7章 非线性方程与方程组的数值解法
Th
4
数值分析
§1
二分法
第7章 非线性方程与方程组的数值解法
/* Bisection Method */
原理:若 f C[a, b],且 f (a) · (b) < 0,则 f 在 (a, b) 上至 f 少有一实根。
基本思想:逐步将区间分半,通过判别区间端点函数值的符号,
进一步搜索有根区间,将有根区间缩小到充分小,从而求
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
ak bk bk ak b a , 且 x xk k 1 , k 0,1, 2, 3、 xk 2 2 2 误差 分析 1 令 4、对分次数的计算公式: x xk k 1 b a 2
f(xk)符号 − + − + + − −
10
数值分析
第7章 非线性方程与方程组的数值解法
优点
①简单; ② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根 ②收敛慢
缺点
注:用二分法求根,最好先给出 f (x) 草图以确定根的大 概位置,或用搜索程序,将[a, b]分为若干小区间,对每一 个满足 f (ak)· (bk) < 0 的区间调用二分法程序,可找出区 f 间[a, b]内的多个根,且不必要求 f (a)· (b) < 0 。 f
11
数值分析
§2 不动点迭代法及其收敛性
等价变换
第7章 非线性方程与方程组的数值解法
一、不动点迭代 /*Fixed-Point Iteration*/
f (x) = 0 x = φ(x)(迭代函数)
f (x) 的根 x

从一个初值 x0 出发,计算 x1 =φ(x0), x2=φ(x1), …, 思 xk+1 =φ(xk), … 若 x k k 0 收敛,即存在 x* 使得 路 lim x k x *,且 φ 连续,则由 lim x lim x 可 k 1 k k k k 知 x* = φ (x* ),即x* 是 φ 的不动点,也就是f 的根。
When to stop? 终止法则? a a x1 x* b x2
b
xk 1 xk ε1

f ( x k ) ε2
不能保证 x 的精 度
2
x* x
6
数值分析
第7章 非线性方程与方程组的数值解法
二分法算法
给定区间[a,b] ,求f(x)=0 在该区间上的根x. 输入: a和b; 容许误差 TOL; 最大对分次数 Nmax. 输出: 近似根 x. Step 1 Set k = 1; Step 2 Compute x=(a+b)/2; Step 3 While ( k Nmax) do steps 4-6 Step 4 If f(x)=0 or |b-a| < TOL , STOP; Output the solution x. Step 5 If x*f(a)<0 , Set b=x;
证明:① φ(x) 在[a, b]上存在不动点?
令 f ( x) ( x) x
f ( a) ( a) a 0 ,
f ( x ) 有根
a ( x) b
f (b) (b) b 0

② 不动点唯一?
反证:若不然,设还有 x ( x) ,则 ~ ~ x* x ( x*) ( x) (ξ ) ( x * x), 在 x * 和 x 之间。 ( x* x)(1 (ξ )) 0 而 | (ξ ) | 1 x* x
Lipschitz条件成 立的充分条件
( I ) 当 x[a, b] 时, φ(x)[a, b];
( II ) 0 L < 1 使得 ( x ) L 1对 x[a, b] 成立。
则任取 x0[a, b],由 xk+1 = φ(xk) 得到的序列 x k 0 收 k 敛于φ(x) 在[a, b]上的唯一不动点。并且有误差估计式: | x * xk |
2k 1 100
k 6
9
数值分析
第7章 非线性方程与方程组的数值解法
k ak 0 1.0 1 1.25 2 3 1.3125 4 5 6 1.3203
bk 1.5 1.375 1.3438 1.3281
xk 1.25 1.375 1.3125 1.3438 1.3281 1.3203 1.3242
17
数值分析
第7章 非线性方程与方程组的数值解法
④ | x * xk |
1 | x k 1 x k | ? 1 L
| xk 1 xk | | x * xk | | x * xk 1 | | x * xk | L | x * xk | Lk 可用 | xk 1 xk |来 | x1 x0 | ? ⑤ | x * xk | 1 L 控制收敛精度 | xk 1 xk | | ( xk) x )| ξ x k )| ( k 1 | ( )( k x 1 k
2
数值分析
第7章 非线性方程与方程组的数值解法
历史背景
代数方程的求根问题是一个古老的数学问题。理论上, 次代数方程在复数域内一定有
就找到了三次、四次方程的求根公式,但直到19世纪才证明大 于等于5次的一般代数方程式不能用代数公式求解,而对于超
n个根(考虑重数)。早在16世纪
n
越方程就复杂的多,如果有解,其解可能是一个或几个,也可 能是无穷多个。一般也不存在根的解析表达式。因此需要研究
数值分析
Numerical Analysis
李小林
重庆师范大学数学学院
数值分析
第七章 非线性方程与方程组的数值解法
/* Numerical Solutions of Nonlinear Equations and Nonlinear Algebraic Systems*/
第7章 非线性方程与方程组的数值解法
1 | x k 1 x k | 1 L
k
L | x1 x0 | | x * xk | 1 L
( k = 1, 2, … )
且存在极限
x * xk 1 lim x * k x * x k
16
( x ) 连续时
数值分析
第7章 非线性方程与方程组的数值解法

p1 y= φ(x) x x1 y=x
p0 p1

x
13
p1

x
x1 x0 x*
x0 x*
x1
数值分析
例2: 已知方程 x 4 x 10 0在[1, 2]上有一个根(正根)
3 2
第7章 非线性方程与方程组的数值解法
下面选取5种迭代格式:
1、x
x x 4 x 10
3 2
k
8
ln b a ln ln 2
1
数值分析
例1:用二分法求方程 x x 1 0在区间 [1, 1.5] 上的 根,精确到小数点后第2位,问至少需对分多少次?
3
第7章 非线性方程与方程组的数值解法
解:
a 1, b 1.5, 0.005;
1 1.5 1 0.005 k 1 2
法2
x1 0.81650 x2 2.99691 x3 ( 8.65086)
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

k L | xk xk 1 | ...... L| x1 x0 |

8
x4 1.0275 10
x1 1.37333 x2 1.36526

x3 1.365230014 x11 1.365137821 x4 1.365230013



15 x29 1.365230013
数值分析
第7章 非线性方程与方程组的数值解法
Th
考虑方程 x = φ(x), 若
出满足给定精度的根
x 的近似值。
y f ( x)

[a1 , b1 ] [a2 , b2 ] [a3 , b3 ]
相关文档
最新文档