当前位置:文档之家› 数值分析分章复习(第七章非线性方程求根)

数值分析分章复习(第七章非线性方程求根)

数值分析分章复习(第七章非线性方程求根)
数值分析分章复习(第七章非线性方程求根)

第七章非线性方程求根

要点:(1)迭代公式局部收敛性及收敛性判断

(2) 迭代公式收敛阶概念

(3) Newton 迭代公式及收敛性左理

复习题:

1、建立一个迭代公式il ?算数G = j5 + 7?+辰二,要求分析所建迭代公式的收敛性 解:迭代式为:「卄产

l/o = 5

数d 应是函数卩(x ) = jrr§的不动点(即满足0(a ) = a )

注意到(1)当xeI0,5]时,恒有0(人)€[0?习

(2)当xe[(X5]时,恒有0Cr) = — <-< 1

2\J X + 5 2

依据不动点迭代法收敛定理,知该迭代公式收敛到“

2、对于方程—x = 2 ?

解:(1)记/(X )= 8’ — / 一 2

显然 /(_1.9) = 0.0496 >0, /(一1) =-0.6321 <0

当Jce[-L9,-1]时.恒有/V) = e'-l<0

可见/(X )在区间[-1.9,-I ]内有且仅有一个零点 即方程在区间内有且仅有一个实根

(2)取

(II)当 X €[T9-1]时,恒有 0Cr) = 0"

依据不动点迭代法收敛定理,知该迭代公式收敛

(3)记/(x) = 0 J-2

牛顿迭代法形式:和“”-错;

(1) 证明在区间[」?9, .1]内有唯一实根

(2) (3) 无+1-0*-2的收敛性如何? 扯 e (-L9,-l )

写出求解该实根的牛顿迭代公式

讨论迭代格式

严-X-2

兀屛=兀------ 汗七―

e" -1

.心=一1?9

3、为求x^-x--\=0/£ L5附近的一个根,现将方程改写成等价形式,且建立相应的

迭代公式:(1) x = l + A: (2) x = (l + x-)h试分析每一种迭代的收敛性

X-

解:记

⑴ 迭代式为£. = 1+2,这里记9?U)= I+4

注意到/(1?3)/(1?5)<1?并且f\x) = 3x--2x = x(3x-2)>Q.

xe[L3J.5]

所以区间[1.3J.5]为有根区间

2 0([l?3J?5])c[l?3J?习,井且当xe[L3J.5]时,恒有I

依据不动点迭代法收敛世理,知该迭代公式收敛

⑵ 迭代式为兀4=(l + x;)?这里0(0 = (1 + /)了同(1)中讨论,得结

论:该迭代公式收敛

4、对于方程人0'-1 = 0在0.5附近的根。

(1)选取一个不动点迭代公式,判别其收敛性,并指出收敛阶。

(2)给出求解该实根的牛顿迭代公式

解:(1)加一1=0《9 A =—

e'

I X ?=£

构造迭代式:{ 2 ,即取迭代函数0(羽=严

I/O

首先,容易验证区间[O.IJ]是方程的一个有根区间

^[OJJDc[0.1,1],并且当%e[0J,l]时,恒有I0(x)l

依据不动点迭代法收敛过理,知该迭代公式收敛设/€[0.tl]是其根的

精确值, 因为= HO,故收敛为线性收敛,即收敛阶p = l

⑵记 f (X)= xe' -1

牛顿迭代法形式:

(£+1)严

1兀=

// I

5、应用牛顿法于方程/(x ) = l -一 =0,导出求V&的迭代公式

解:牛顿迭代法形式,-册

3佔£

2a

如果C/V1?可取兀=1,如果?>1-可取Xy =a

6、对于非线性证明方程x-lnx-2 = 0

(1) 证明在区间(1, 8)有一个单根■并大致估计单根的取值范

围.

(2) 写出Newton 迭代求解该根的迭代公式

解:(1)记f (x ) = x-}nx-2,显然/(X )处处可微

/(1) = -1<0 , lim /(x) = 4

?K

所以,在区间(1, 8)内至少存在一个实根

另外,由于 /V ) = l-->0 ,X€(l,g ) X

所以,在区间(1, 00)内有且仅有一个实根

/(3) = l-ln3vO, /(4) = 2-ln4>0

可见根xe (3,4)

⑵牛顿迭代法形式―”-鵠

1-4

即:兀+|=兀--才 2a

HP : <

即:和’一41戸

考虑取如=4

7、据理证明X =1是方程x"-x'-2%-+3x = 1的一个二重根,

井构造计算F的具有平方收敛阶的Newton迭代

解:记/(X)=十一x'-2x2+3兀-1

因为/(1) = 0, r(l)=O,厂⑴HO

所以X = 1是方程/(X)= 0的一个二重根

注意到,当a是/(X)= 0的m重根0?>2)时,

牛顿迭代法求解/(X)= 0仅是线性收敛的

fM

事实上,对于牛顿迭代法,其迭代函数是(p(x} = x-冲

f (-V)

由住是/(X)= 0 的川重根,令/(x) = (x-ay”g(x), g(a)工0,

Cr-a)gCv)

mg(x) + (x-a)g(X)

容易验证J 0(a) = 1——

,因w>l,0(a)H(X且0(尤)<1, 故牛顿迭代法是收敛的,但只是线性收敛。

求方程也重根的牛顿迭代法形式:兀+1 =兀-川孕丄

7 (X”)

2(€ - 兀;- 2??;+3 兀-1)

4xH+3

该迭代至少为平方收敛

8、求方程疋-2x-5 = 0在区间[23]内根的近似值有如下变形

X = yj2x + 5

(1)试判泄对任意初始近似值兀€[2,3]简单迭代法X" =0(忑)的收敛性;

(2)写出求解该实根的Ncwion迭代格式,并考虑迭代初值的选取

解:(1)记0(戈)=範7¥?,容易验证0([2.3])c23]

并且I(p\x} 1< < 1

27

所以俠劝作为区间[2,3] 1:的压缩映射,存在一个不动点/ €[2J]

并且对于色0 €[2,3],迭代式Xz=(pg)均收敛到/

⑵牛顿迭代法形式—厂刖

x;+Xn+5

取如=3 (注:满足/(兀)/"(兀)>0)

9、为数值求得方程x^-x-4 = 0的正根可建立如下迭代格式

7Z-1 ?

试利用迭代法的收敛理论证明对于0忑)>0 r该迭代序列收敛.且满足.lim兀,=x

/Ifno

解:记(p{x} = 4^ + x^ x>0

显然g)卜希Th I

所以,对于V兀>0,迭代式兀女)均收敛到X

10、对于非线性方程12-3x+2cosx = 0

(1) 证明方程存在唯一实根

2

(2) 证明对于任意的心e R ,迭代式

= 4 + ±cosx,产生的序列"*}收敛到方程的根

(3) 构造求解该方程根的Newton迭代式

解:(1〉记/(X)= 12-3x + 2cosx

显然/(X)连续可微,又lim /(%) = +O0, lim /(x) = y

.【TY X-X

所以根据连续函数零点存在定理可知3X €(YO ,+S )?成立/(/) = 0 另外,/\x ) = -3-2sinx<0,可见函数于d )严格单调递减

故满足/(%) = 0的点/唯一 ?即方程存在唯一实根

2

(2)记0(x) = 4 +亍COSX

所以,对于g 迭代式戈知1=0(母)产生的序列{无}均收敛到方程的根/

(3)牛顿迭代法形式:耳利=兀-护丄

/ (兀)

EP :兀”严£ + 12一3?J+2COS 兀

2 “

3 + 2sin ?j 因为0(x)=

2? —sin X 3

_ 12 + 2(cos 兀 +斗 sinx…) 3 + 2sinx…

非线性方程求根

非线性方程求根 本章主要内容: 1.区间二分法. 2切线法. 3.弦位法. 4.一般迭代法. 重点、难点 一、区间二分法 区间二分法是求方程f(x)=0根的近似值的常用方法。 基本思想:利用有根区间的判别方法确定方程根的区间[a,b],将有根区间平分为二;再利用有根区间的判别方法判断那一个区间是有根区间;重复上述步骤,直到小区间端点差的绝对值小于等于精度要求的数值,则用将上一区间的分半值作为方程的根的近似值。 区间二分法的计算步骤如下: 1. 计算区间端点的函数值f(a),f(b)(不妨设f(a)<0,f(b)>0); 确定初始有根区间[a,b]. 2.二分有根区间[a,b],并计算)2( b a f +取2 1b a x += 3.判断:若0)(1=x f ,则方程的根为1x x =* ; 若0)(1>x f ,则有根区间为[]1,x a x ∈* ;令[]],[,111b a x a = 若0)(1

例1用区间二分法求方程0353 =+-x x 在某区间内实根的近似值(精确到0.001) 【思路】参见上述区间二分法的计算步骤 解∵f(1.8)=-0.168<0,f(1.9)=0.359>0∴f(x)在区间[1.8,1.9]内有一个根。 由公式644.512 ln 001 .0ln 1.0ln 12ln ln )ln(=--=---≥ εa b n 取n=6,计算结果列表如下: 则方程在区间[1.8,1.9]内所求近似值为x * ≈x=1.8328125 区间二分法的优点是计算程序简单,只要f (x )在区间[a,b]上连续,区间二分法就可使用,但区间二分法不能用来求偶次重根,由于区间二分法收敛比较慢,在实际计算中,区间二分法常用来求比较好的含根区间和初始近似值,以便进一步使用收敛更快的迭代法求出更精确的近似值。 迭代序列收敛阶的概念 设迭代序列{}n x 收敛于* x ,如果存在实数1≥p 与正常数c ,使得 c x x x x p n n n =--* *+∞ →1lim ,则称序列{}n x 是p 阶收敛于*x 。 特别地,当1=p 时,称序列{}n x 为线性(一次)收敛;{}n x 为线性收敛时,必须要求1

数值分析分章复习(第七章非线性方程求根)

第七章非线性方程求根 要点:(1)迭代公式局部收敛性及收敛性判断 (2) 迭代公式收敛阶概念 (3) Newton 迭代公式及收敛性左理 复习题: 1、建立一个迭代公式il ?算数G = j5 + 7?+辰二,要求分析所建迭代公式的收敛性 解:迭代式为:「卄产 l/o = 5 数d 应是函数卩(x ) = jrr§的不动点(即满足0(a ) = a ) 注意到(1)当xeI0,5]时,恒有0(人)€[0?习 (2)当xe[(X5]时,恒有0Cr) = — <-< 1 2\J X + 5 2 依据不动点迭代法收敛定理,知该迭代公式收敛到“ 2、对于方程—x = 2 ? 解:(1)记/(X )= 8’ — / 一 2 显然 /(_1.9) = 0.0496 >0, /(一1) =-0.6321 <0 当Jce[-L9,-1]时.恒有/V) = e'-l<0 可见/(X )在区间[-1.9,-I ]内有且仅有一个零点 即方程在区间内有且仅有一个实根 (2)取

严-X-2 兀屛=兀------ 汗七― e" -1 .心=一1?9 3、为求x^-x--\=0/£ L5附近的一个根,现将方程改写成等价形式,且建立相应的 迭代公式:(1) x = l + A: (2) x = (l + x-)h试分析每一种迭代的收敛性 X- 解:记 ⑴ 迭代式为£. = 1+2,这里记9?U)= I+4 注意到/(1?3)/(1?5)<1?并且f\x) = 3x--2x = x(3x-2)>Q. xe[L3J.5] 所以区间[1.3J.5]为有根区间 2 0([l?3J?5])c[l?3J?习,井且当xe[L3J.5]时,恒有I

非线性方程求根

第七章 非线性方程求根 教学目的与要求: 理解二分法求根的思想;掌握二分法求解过程;了解二分法的优点和缺点。了解迭代法的基本思想,迭代法的收敛条件以及局部收敛性的定义;理解基本迭代法的迭代思路,收敛条件的产生与求证过程;掌握基本迭代法的迭代格式,收敛条件的应用以及局部收敛定理。 重点和难点:迭代法的基本思想,迭代法的收敛性 ■ 教学内容: 基本概念: 的零点; 的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(2 1)(32?= =x x x ?, 3)(33??==x x x x ?三、迭代法的收敛条件

数值分析第七章非线性方程求根习题答案

第七章非线性方程求根 (一)问题简介 求单变量函数方程 ()0f x = (7.1) 的根是指求*x (实数或复数),使得(*)0f x =.称*x 为方程(7.1)的根,也称*x 为函数() f x 的零点.若()f x 可以分解为 ()(*)()m f x x x g x =- 其中m 为正整数,()g x 满足()0g x ≠,则*x 是方程(7.1)的根.当m=1时,称*x 为单根;当m>1时,称*x 为m 重根.若()g x 充分光滑,*x 是方程(7.1)的m 重根,则有 (1)() (*)'(*)...(*)0,(*)0m m f x f x f x f x -====≠ 若()f x 在[a,b]上连续且()()0f a f b <,则方程(7.1)在(a,b)内至少有一个实根,称[a,b]为方程(7.1)的有根区间.有根区间可通过函数作图法或逐次搜索法求得. (二)方程求根的几种常用方法 1.二分法 设()f x 在[a,b]上连续,()()0f a f b <,则()0f x =在(a,b)内有根*x .再设()0f x =在(a,b)内 仅有一个根.令00,a a b b ==,计算0001()2x a b =+和 0()f x .若0()0f x =则*x x =,结束计算;若 00()()0 f a f x >,则令 10,1a x b b ==,得新的有根区间 11[,] a b ;若 00()()0 f a f x <,则令 10,10a a b x ==,得新的有根区间11[,]a b .0011[,][,]a b a b ?,11001 () 2b a b a -=-.再令1111 ()2x a b =+计算1()f x ,同上法得出新的有根区间22[,]a b ,如此反复进行,可得一有根区 间套 1100...[,][,]...[,] n n n n a b a b a b --???? 且110011 *,0,1,2,...,()...() 22n n n n n n a x b n b a b a b a --<<=-=-==-. 故 1 lim()0,lim lim ()* 2n n n n n n n n b a x a b x →∞→∞→∞-==+=

数值分析分章复习(第七章 非线性方程求根)

第七章 非线性方程求根 要点:(1)迭代公式局部收敛性及收敛性判断 (2)迭代公式收敛阶概念 (3)Newton 迭代公式及收敛性定理 复习题: 1、建立一个迭代公式计算数 a =要求分析所建迭代公式的收敛性 解: 迭代式为:105 n x x +?=?? =?? 数a 应是函数()x ?= ()a a ?=) 注意到(1)当[0,5]x ∈时,恒有[,5)](0x ?∈ (2)当[0,5]x ∈ 时,恒有()1 12 x ?<'= < 依据不动点迭代法收敛定理,知该迭代公式收敛到a 2、对于方程2x e x -=, (1) 证明在区间[-1.9,-1]内有唯一实根 (2) 讨论迭代格式 10(12 .9,1) k x k x e x +?=∈--??-??的收敛性如何? (3) 写出求解该实根的牛顿迭代公式 解:(1)记()2x f x e x =-- 显然( 1.9)0.04960, (1)0.63210f f -=>-=-< 当[ 1.9,1]x ∈--时,恒有()10x f x e '=-< 可见()f x 在区间[ 1.9,1]--内有且仅有一个零点 即方程在区间[ 1.9,1]--内有且仅有一个实根 (2)取()2x x e ?=- 容易验证:(I )当[ 1.9,1]x ∈--时,恒有[ 1.9](,1)x ?∈--, (II) 当[ 1.9,1]x ∈--时,恒有1 )1(x e x e ?-'<=< 依据不动点迭代法收敛定理,知该迭代公式收敛 (3)记()2x f x e x =--

牛顿迭代法形式: 1() () n n n n f x x x f x +=- ' 即:10 211.9n n x n n n x e x x x e x +?--=-?-??=-? 3、为求012 3 =--x x 在1.5附近的一个根,现将方程改写成等价形式,且建立相应的 迭代公式:(1)211x x +=;(2)()3 1 21x x +=。试分析每一种迭代的收敛性 解:记 32 ()1f x x x =-- (1) 迭代式为1211n n x x +=+ ,这里记2 1()1x x ?=+ 注意到(1.3)(1.5)1f f <, 并且2 ()32(32)0f x x x x x '=-=->, [1.3,1.5]x ∈ 所以区间[1.3,1.5]为有根区间 ([1.3,1.5])[1.3,1.5]??, 并且当[1.3,1.5]x ∈时,恒有3 |()|2 11.3x ?≤ <' 依据不动点迭代法收敛定理,知该迭代公式收敛 (2) 迭代式为1231(1)n n x x +=+,这里123 ()(1)x x ?=+ 同(1)中讨论,得结论:该迭代公式收敛 4、对于方程01=-x xe 在0.5附近的根。 (1) 选取一个不动点迭代公式,判别其收敛性,并指出收敛阶。 (2) 给出求解该实根的牛顿迭代公式 解:(1) 01=-x xe 1x x e = 构造迭代式: 10 n x n x e x -+?=????, 即取迭代函数 ()x x e ?-= 首先,容易验证区间[0.1,1]是方程的一个有根区间 ([0.1,1])[0.1,1]??, 并且当[0.1,1]x ∈时,恒有0.1|()|1x e ?-≤<' 依据不动点迭代法收敛定理,知该迭代公式收敛 设* [0.1,1]x ∈是其根的精确值, 因为* *()0x x e ?-'=-≠,故收敛为线性收敛,即收敛阶1p =

数值分析分章复习(第七章非线性方程求根).docx

第七章非线性方程求根 要点:(1)迭代公式局部收敛性及收敛性判断 (2)迭代公式收敛阶概念 (3)Newton迭代公式及收敛性定理 复习题: 1、建立一个迭代公式计算数d = $5 + 7^5 +…,要求分析所建迭代公式的收敛性£+】 =j5 + £ 解:迭代式为: 兀()=5 数d应是函数0(x)=厶+ 5的不动点(即满足(p(a) = a ) 注意到(1)当兀引0,5]时,恒有0(x) w [0,5] (2)当兀引0,5]时,恒有(p\x) = — . <-<\ 2Vx+5 2 依据不动点迭代法收敛定理,知该迭代公式收敛到Q 2、対于方程『—兀=2, (1)证明在区间[-1.9, -1]内有唯一实根 (2)讨论迭代格式二“一2的收敛性如何? (3)写岀求解该实根的牛顿迭代公式 解:(1) iE/(x) = e A-x-2 显然/(-1.9) = 0.0496 > 0, /(-I) = -0.6321 < 0 当兀0[—1.9,一1]吋,恒有/'(力二/一1<0 可见/(兀)在区间[-1.9,-1]内有且仅有一个零点 即方程在区间[-1.9,-1]内有R仅冇一个实根 (2)取(p(x) = e x-2 容易验证:(I)当xe[-1.9,-l]时,恒有0(兀)引一1.9,一1], (II)当兀引一1.9,一1]时,恒有0(x)二/vl 依据不动点迭代法收敛定理,知该迭代公式收敛

(3) Mf(x) = e x-x-2

即:<£+】=£ 严一1 兀o = —1.9 3、为求x3-x2-l = 0在1.5附近的一个根,现将方程改写成等价形式,且建立相应的迭代公式:(1) x = l + (2)兀=(1 + /)二试分析每一种迭代的收敛性 解:记f(x) = x3-x2-l (1)迭代式为£+1=1+丄,这里记0(兀)=1+丄 £厂 注意到/(1.3)/(1.5)<1,并且f\x) = 3x2-2x = x(3x-2) > 0, XG [1.3,1.5] 所以区间[1.3,1.5]为冇根区间 2 /([1.3,1.5])匸[1.3,1.5],并且当xw[l?3,l?5]时,恒有10 ⑴ 15青<1 依据不动点 迭代法收敛定理,知该迭代公式收敛 1 2 (2)迭代式为兀汁严(1 +尤)匚这里0(兀) = (1 +严)3 同(1)屮讨论,得结论:该迭代公式收敛 4、对于方程xe x-l = O在0.5附近的根。 (1)选取一个不动点迭代公式,判别其收敛性,并指出收敛阶。 (2)给出求解该实根的牛顿迭代公式 解:⑴xe x -1=0《9 x = — e x f Y = p~Xfl 构造迭代式:\ n+i,即収迭代函数(p(x) 十 ko 首先,容易验证区间[0.1,1]是方程的一个有根区间 ^([0.1,1]) c [0.1,1],并且当XG [0.1,1]时,恒有I(p\x) \< e A}A < 1 依据不动点迭代法收敛定理,知该迭代公式收敛 设XG [0.1,1]是其根的精确值,

实验3非线性方程求根问题

西华数学与计算机学院上机实践报告 课程名称:计算方法C年级:2011级上机实践成绩: 指导教师:严常龙姓名: 上机实践名称:非线性方程求根问题学号:上机实践日期:2012.12.10 上机实践编号:3上机实践时间: 一、目的 1.通过本实验的编程练习,加深对非线性方程求根方法之二分法、简单迭代法、、牛顿迭代法等的构造过程的理解; 2.能将各种方法的算法描述正确地改编为程序并上机实现; 3.比较各种方法在求解同一非线性方程根时,在收敛情况上的差异。 二、内容与设计思想 自选求根问题,分别用二分法、简单迭代法、埃特金加速收敛法和牛顿迭代法求解其根,然后完成编程作业(注意把同一求根问题的几种不同方法放在一个程序之内)。以下求根问题供参考和选择,也可自行选择其他求根问题: 自拟题目:用二分法求方程f(x)=x3-2x-5=0在区间[2 , 3]内的根。方程f(x)=2x3-5x2-19x+42=0在x=3.0附近有根,用牛顿迭代法求其根。用简单迭代法求方程f(x)=x3+2x2+10x-20=0在区间[1 , 1.5]上的根。 三、使用环境 操作系统:Windows 7 软件环境:VC++ 6.0 四、核心代码及调试过程 #include #include #define N 50 #define EPS 0.000000001 double f(double x) { return(x*x*x-2*x-5);//f(x)=x3-2x-5 } double f2(double x) { return(2*x*x*x-5*x*x-19*x+42);//f(x)=2x3-5x2-19x+42 } double f3(double x) { return(6*x*x-10*x-19); } double f4(double x) {

相关主题
文本预览
相关文档 最新文档