第七章 非线性方程求根教学目的与要求:理解二分法求根的思想;掌握二分法求解过程;了解二分法的优点和缺点。
了解迭代法的基本思想,迭代法的收敛条件以及局部收敛性的定义;理解基本迭代法的迭代思路,收敛条件的产生与求证过程;掌握基本迭代法的迭代格式,收敛条件的应用以及局部收敛定理。
重点和难点:迭代法的基本思想,迭代法的收敛性 ■ 教学内容:基本概念: 的零点; 的m 重零点。
)(x f )(x f 非线性方程的求根通常分为两个步骤:一是对根的搜索,二是根的精确化,求得根的足够精确的近似值。
求方程的有根区间有如下方法:(1)描图法。
画出的简图,从曲线与)(x f y =x 轴交点的位置确定有根区间。
(2)解析法。
根据函数的连续性、介值定理以及单调性等寻找有根区间。
§ 1 二分法分析二分法的基本原理例1 用二分法求方程的一个正根,要求误差不超过.01)(6=−−=x x x f 2105.0−×§ 2 迭代法及其收敛性一、迭代法的定义二、基本迭代法定义:将方程改写成以下等价形式() x x ϕ=取定初始值0x ,由迭代公式1()(0,1,2,)n n x x n ϕ+==L 产生迭代序列{}n x 。
显然,若{}n x 收敛于*x ,()x ϕ在*x 处连续,就有**1lim lim ()()n n n n x x x ϕϕ+→∞→∞===x 即*x 是方程() x x ϕ=的解,从而也是0)(=x f 的解。
故当充分大时,可取作为方程根的近似值。
用迭代格式求得方程近似根的方法称为基本迭代法,n n x )(x ϕ称为迭代函数。
由于收敛点*x 满足*()*x x ϕ=,故称*x 为)(x ϕ的不动点例 求方程的一个实根,要求精确到六位小数。
032)(3=−−=x x x f 注意:把此方程转换成三种等价形式 ,32)(31+==x x x ϕ)3(21)(32−==x x x ϕ, 3)(33−−==x x x x ϕ三、迭代法的收敛条件定理1 (压缩映像原理)设函数()x ϕ在区间上满足条件:],[b a (1)对任意[,]x a b ∈,都有()a x b ϕ≤≤;(2)存在常数0<L<1,使得对一切,[,]x y a b ∈,都有()()x y L x y ϕϕ−≤−则(1)方程()x x ϕ=在内有唯一的根],[b a *x 。
(2) 对任何初值0[,]x a b ∈,迭代序列1() (0,1,)n n x x n ϕ+==L 均收敛于*x 。
(3)*11n n L n x x x x L −−≤−− *101n n L x x x L x −≤−− 注意:(I) 定理1中的条件(2)不容易检验。
如果函数)(x ϕ在区间上可导,那么条件(2)可用更强的条件),(b a ),(,1)(b a x L x ∈∀<≤′ϕ代替。
事实上,若此式成立,则由微分中值定理,对任何都有],[,b a y x ∈()()()x y x y L x ϕϕϕξ′−=−≤−y其中ξ在x 与y 之间,从而条件(2)成立。
如32'1)32(32)(−+=x x ϕ,在区间上,]2,1[1)('1<x ϕ,所以迭代格式(1)收敛;,23)(2'2x x =ϕ13)(2'3−=x x ϕ在区间上,其导数的绝对值均大于1,故发散。
当]2,1[L 较小时,可以用相邻两次迭代结果之差的绝对值是否小于允许误差ε来判断迭代可否终止。
但若L 很接近1,则收敛可能很慢。
四、迭代法的局部收敛性定理2 如果函数()ϕx 在的一邻域*x **(,)O x δ内连续可微,为方程(7-3)的根,且*x *()1x ϕ′<,则存在正数δ,*δδ≤,使得对任意**0[,x x x ]δδ∈−+,迭代序列1()(0,1,2,)n n x x n ϕ+==L 收敛于。
*x 定理2给出了初值在根邻近时,基本迭代法收敛的充分条件,称为局部收敛性定理。
这一定理表明,只要构造迭代函数,使其在根的邻近满足导数的绝对值有小于1的上界,即可保证基本迭代法收敛。
因此,定理7.2对初值的要求较高。
如果已知的大概位置,为的一个较好的近似值,则可用0x *x 0x *x 0()1x ϕ′<代替*()1x ϕ′<,然后用定理7.2判断迭代格式的局部敛散性。
小结:1. 二分法的思路和误差估计式2. 基本迭代法:迭代的具体过程3. 迭代收敛性分析作业:习题7 第3,4,5,6题§ 3 Newton 法与弦截法教学目的与要求:理解Newton 法的构造过程,了解Newton 法的几何意义,掌握用Newton 迭代法、重根法求根的具体过程以Newton 迭代法的局部收敛性分析;最后掌握弦截法的迭代格式、几何意义以及两种迭代法的优缺点的比较。
简单的了解求解非线性方程组的Newton 法的思想。
重点:Newton 法与弦截法;难点:非线性方程组的求解。
■ 教学内容:一、Newton 迭代法Newton 迭代法的基本思想:将非线性方程线性化,以线性方程的解逐步逼近非线性方程的解。
1.定义2.几何意义例 用Newton 迭代法求方程在内的一个根,要求精度。
01)(23=−−=x x x f ]6.1,4.1[510−=ε二、Newton 迭代法的局部收敛性定理4 设函数()f x 在其零点*x 邻近二阶连续可微,且*()0f x ′≠,则存在0δ>,使得对任意**0[,x x x ]δδ∈−+,Newton 法所产生的序列{}n x 至少二阶收敛于*x 。
需要注意的是,Newton 法虽具有收敛快,形式简单等优点,但它对初值的要求较高。
当初始值不够好时,Newton 法可能发散。
一般可由问题的实际背景来预测或由二分法求得较好的初始值。
另外当*x 是0)(=x f 的重根时也可用Newton 法求方程的近似解。
为了改善重根时Newton 法的收敛性,可将Newton 迭代格式做一些修改。
*x 是的重根,则0)(=x f )2(≥m m *x 是0)]([1=m x f 的单根,对此方程应用Newton 迭代法,则有L ,2,1,0,)()(1=′−=+k x f x f m x x k k k k 三、弦截法1.定义2.几何意义3.Newton 法与弦截法的比较Newton 法和弦截法都是先将线性化再求根,但线性化的方式不同:Newton 法是作切线的方程,而弦截法是作弦线的方程;Newton 法只需一个初始值,而弦截法需要两个初始值。
)(x f例2 用弦截法求方程在内的一个根,要求精度。
01)(23=−−=x x x f ]6.1,4.1[510−=ε§ 4 解非线性方程组的Newton 法(略讲)对于非线性方程组,也可以构造类似于一元方程的Newton 迭代法,而且同样具有二阶局部收敛性。
设有非线性方程组 11221212(,,,)0(,,,)0(,,,)0n n n n f x x x f x x x f x x x =⎧⎪=⎪⎨⎪⎪=⎩L L LL L 若记=x 12(,,,)T n x x x L ,12()((),(),,())=L T n F x f x f x f x ,则方程组可简记成向量形式()=F x 0,如果存在向量,使,则称为非线性方程组的解。
n R x ∈*0)(*=x F *x 像单个方程的Newton 迭代法一样,采用逐次线性化的方法构造方程组的Newton 迭代法。
在某个近似解处,将向量函数作泰勒(Taylor)展开,则有: )(k x )(x F ()())()()()()(k k k x x x F x F x F −′+≈从而得方程的近似方程()()0)()()()(=−′+k k k x x x F x F即()()()()(′Δ=−k k k )F x x F x ,其中()()′=k F x ()1111212k n n nn n x x f f f x x x f f f x x x =∂∂∂⎡⎤⎢⎥∂∂∂⎢⎥⎢⎥⎢⎥∂∂∂⎢⎥⎢⎥∂∂∂⎣⎦L L L 称为向量函数()F x 的Jacobi 矩阵,。
线性方程组称为Newton 方程组。
如果()()Δ=−k k x x x ()()1(,,)k k n x x =ΔΔL T ()F x 的Jacobi 矩阵在处非奇异,方程组(7-16)有唯一解,则为方程组(7-15)的第次近似解。
按上述过程求方程组的近似解称为Newton 方法。
可以证明,当初始值()k x ()Δk x (1)()()+=+Δk k x x x k 1+k (0)x 与解充分接近时,Newton 法是平方收敛的。
例3 求解方程组给定初值,用Newton 迭代法求解。
⎪⎩⎪⎨⎧=+−+=++−081008102122122121x x x x x x x T x )0,0()0(=小结: 1. 牛顿法的基本思想;2. 用牛顿法解非线性方程的具体方法;3. 弦截法与牛顿法的区别;4. 弦截法的定义及解题方法作业:习题7 第7,8,9题★ 数值实验:1. 程序设计基础知识:Solve 和FindRoot 都能求方程的根,Solve 主要用于多项式方程组的求根,FindRoot 计算非线性方程或方程组的一个数值解。
下列FindRoot 的求解形式及其意义: 函数FindRoot意义 FindRoot[方程,{x ,x0}] 从x=x0开始,计算方程的一个数值解FindRoot[方程,{x ,{x0,x1}}]以x0和x1为初始值,计算方程的一个数值解.当找不出f 的显式的导数表示时使用FindRoot[方程,{x ,xstart ,xmin ,xmax}]在xmin ,xmax 范围内计算方程的一个数值解FindRoot[{方程组},{x ,x0},{y ,u0},…] 计算联立方程组的数值解2.编写一个非线性方程求解的Mathematica 程序:用迭代法求方程在0543)(35=−−=x x x f 10=x 附近的实根,要求精确到四位小数。
将方程改写成53)54(31)(+==x x x ϕ迭代格式为 521)54(31+=+n n x x L ,2,1,0=nf[x_]:=3x^5-4x^3-5;Plot[f[x],{x,-3,3}]x[n_]:=((4x[n-1]^3+5)*(1/3))^(1/5)x[0]=1.;N[Table[x[n],{n,1,20}],10];MatrixForm[%]N[Solve[f[x]==0,x],10][[5]]运行结果为:(1)图形(2)迭代结果1.245730941.3352421781.370826848… …1.3953037571.395303781.39530379{x -> 1.395303796}则取为方程在1附近的近似根。