数值分析 二分法
李庆扬-数值分析第五版第7章习题答案(0824)汇编

第7章复习与思考题求f (X )= 0的零点就等价于求(x )的不动点,选择一个初始近似值X 0,将它代入X =「(X ) 的右端,可求得X 1 h%X °),如此反复迭代有 X k 1 二(X k ), k =0,1,2,..., (X)称为迭代函数,如果对任何X 。
• [a,b],由x k 卜h%x k ),k =0,1,2,...得到的序列〈X k 1有极限则称迭代方程收敛,且X* =®(x*)为®(X )的不动点 故称X k q 二(X k ), k =0,1,2,...为不动点迭代法。
5•什么是迭代法的收敛阶?如何衡量迭代法收敛的快慢?如何确定X k 1 二「(X k )(k =0,1,2,...)的收敛阶P219设迭代过程X k 1'h%X k )收敛于 (X)的根X*,如果当k > 时,迭代误差e k = x k - x *满足渐近关系式—t C,C =const 式 0 e/则称该迭代过程是 p 阶收敛的,特别点,当 p=1时称为线性收敛,P>1时称为超线性收敛, p=2时称为平方收敛。
以收敛阶的大小衡量收敛速度的快慢。
6•什么是求解f(x)=0的牛顿法?它是否总是收敛的?若 f(X*) =0,X*是单根,f 是光 滑,证明牛顿法是局部二阶收敛的。
牛顿法:当| f (X k )卜J 时收敛。
7•什么是弦截法?试从收敛阶及每步迭代计算量与牛顿法比较其差别。
在牛顿法的基础上使用 2点的的斜率代替一点的倒数求法。
就是弦截法。
收敛阶弦截法1.618小于牛顿法2 计算量弦截法 <牛顿法(减少了倒数的计算量)8•什么是解方程的抛物线法?在求多项式全部零点中是否优于牛顿法? P229X-mX k 1 =X kf (X k ) f (X k )设已知方程f (x) = 0的三个近似根,X k,X k^,X k^2,以这三点为节点构造二次插值多项式p(x),并适当选取p2(x)的一个零点X k卅作为新近似根,这样确定的迭代过程称为抛物线法。
数值分析——二分法和牛顿法

二分法和牛顿法的比较二分法的基本思想是对有根区间[a,b]逐次分半,首先计算区间[a,b]的中间点x0,然后分析可能出现的三种情况:如果f(x0)f(a)<0,则f(x)在区间[a,x0]内有零点;如果f(x0)f(b)<0,则f(x)在区间[x0,b]内有零点;如果f(x0)=0,则x0是f(x)在区间[a,b]内所求零点。
但是二分法的缺点是收敛速度慢且不能求复根。
牛顿迭代法的基本思想是将方程f(x)=0中函数f(x)线性化,以线性方程的解逼近非线性方程的解其迭代函数为)(')()(x f x f x x -=ϕ。
牛顿迭代法的缺点是可能发生被零除错误,且可能出现死循环。
用二分法和牛顿法分别计算多项式024323=-+-x x x 的解。
该多项式的解为1、1+i 和1-i ,使用二分法计算时,区间为(-1,2),使用牛顿法计算时取初始值为0。
误差都为0.0001。
编程如下二分法(erfen.m):syms x ;fun=x^3-3*x^2+4*x-2; a=-1; b=2;d=0.0001; f=inline(fun); e=b-a; k=0;while e>d c=(a+b)/2; if f(a)*f(c)<0 b=c; elseif f(a)*f(c)>0a=c; elsea=c;b=c; end e=e/2; k=k+1; end k x=(a+b)/2牛顿法(newton.m):function [k,x,wuca] = newton() k=1; x0=0; tol=0.0001; yx1=fun(x0); yx2=fun1(x0); x1=x0-yx1/yx2; while abs(x1-x0)>tol x0=x1; yx1=fun(x0); yx2=fun1(x0); k=k+1; x1=x1-yx1/yx2; end k x=x1wuca=abs(x1-x0)/2 endfunction y1=fun(x) y1=x^3-3*x^2+4*x-2; endfunction y2=fun1(x)y2=3*x^2-6*x+4; end 分析结果得知,在相同的误差精度下,二分法需要计算15次,而牛顿法只需计算5次,得知牛顿法比二分法优越。
数值分析3.1.二分法、迭代法及收敛性

上述令p→∞, 及limxk+p=x* (p→∞)即得(2.6)式. 证毕. 注:误差估计式(2.5)原则上确定迭代次数,但它由 于含有信息 L 而不便于实际应用. 而误差估计式(2.6) 是实用的,只要相邻两次计算结果的偏差足够小即 可保证近似值 xk 具有足够精度.
注: 对定理1和定理2中的条件2º 可以改为导数,即 在使用时如果(x)∈C[a, b]且对任意x∈[a, b]有
显然f(x)∈C[a, b],且满足f(a)=(a)-a>0, f(b)=(b)-b<0, 由连续函数性质可知存在 x*∈(a, b) 使 f(x*)=0,即 x*=(x*),x*即为(x)的不动点. 再证不动点的唯一性. 设x1*, x2*∈[a, b]都是(x) 的不动点,则由(2.4)得
可以如此反复迭代计算
xk+1=(xk) 到的序列{xk}有极限 (k=0,1,2,). (2.2)
(x)称为迭代函数. 如果对任何x0∈[a, b],由(2.2)得
lim xk x .
k
则称迭代方程(2.2)收敛. 且x*=(x*)为(x)的不动点, 故称(2.2)为不动点迭代法.
例1 用二分法求方程 f(x)=x3-x-1=0在(1, 1.5)的实根, 要求误差不超过0.005.
解 由题设条件,即:
|x*-xn|≤0.005 则要
1 2
n 1
(b a)
1 2
n 1
(1.5 1)
1 2
n 2
0.005
2 由此解得 n 1 5.6,取 n=6, 按二分法计算过程见 lg 2
L2 xk 1 xk 2 Lk x1 x0 .
于是对任意正整数 p 有
数值分析_第2章

证:由1。 f '( x) C[a, b],由2。 f '( x)不变号,故f ( x) 知 知 单调,再由3。 唯一的 [a, b],使f ( ) 0. 知
由1 3 知f ( x)在[a, b]上必属于下列四种情形之一:
。 。
f ''( x) 0 f (a) 0, f (b) 0, f '( x) 0(增) f ''( x) 0
二.收敛性:
mn . n .
◆判定二分次数:
1 lim n 1 b0 a0 0 n 2
1 对 0,若要求 mn n 1 b0 a0 2
b0 a0 则2 n log 2 1与取整的 1抵消 .
定理1.(单点法收敛的充分条件) 设f ( x)在[a, b]上二阶 可导,且满足:
。 1. f ''( x)在[a, b]上不变号(凹凸不变性);
2。 f '( x)在[a, b]上不为0(单调性); . 3。 f (a) f (b) 0; . 4。取x0 [a, b], 使f ( x0 ) f ''( x0 ) 0.x1 [a, b], f ( x1 ) f ( x0 ) 0. . 则由(6)所得 xn 单调收敛于f ( x) 0在[a, b]上的唯一根。
列表计算:
n
0 1 2 3 4 5
xn
2 1 1.33333 1.40000 1.41176 1.40378
2
f ( xn )
2 -1 -0.22223 -0.04000 -0.00692
hn
数值分析实验报告——非线性方程求根

数值分析实验报告——非线性方程求根一、实验目的:1.掌握求解非线性方程的常用方法;2.了解非线性方程求根问题的数值解法;3.熟悉使用数值分析软件进行非线性方程求根的实现。
二、实验原理:非线性方程指的是形如f(x)=0的方程,其中f(x)是一个非线性函数。
非线性方程求根的常用方法包括二分法、割线法和牛顿法等。
其中,二分法是通过不断缩小区间范围来逼近方程的解;割线法是通过使用割线来逼近方程的解;牛顿法则是通过使用切线来逼近方程的解。
对于给定的非线性方程,可以根据实际情况选择合适的方法进行求根。
三、实验内容:1.编写求解非线性方程的函数,包括二分法、割线法和牛顿法;2.使用编写的函数求解给定的非线性方程,比较各个方法的收敛速度和精确程度;3.根据实际情况分析和选择合适的方法进行求根。
四、实验步骤:1.针对给定的非线性方程,编写二分法的函数实现:(1)首先确定方程的解存在的区间;(2)根据方程的解存在的区间,使用二分法逐步缩小区间范围;(3)根据设定的精度要求,不断循环迭代,直至满足要求或达到迭代次数限制;2.针对给定的非线性方程,编写割线法的函数实现:(1)首先需要确定方程的解存在的初始点;(2)根据方程的解存在的初始点,根据割线的定义进行迭代;(3)设定迭代的精度要求和限制次数,结束迭代;3.针对给定的非线性方程,编写牛顿法的函数实现:(1)首先需要确定方程的解存在的初始点;(2)根据方程的解存在的初始点,根据牛顿法的定义进行迭代;(3)设定迭代的精度要求和限制次数,结束迭代;4.根据给定的非线性方程,分别使用二分法、割线法和牛顿法进行求解,并比较各个方法的收敛速度和精确程度;5.分析实际情况,选择合适的方法进行求解。
五、实验结果:4.通过比较,发现割线法和牛顿法的收敛速度较快,精确程度较高,因此选择割线法进行求解。
六、实验总结:通过本次实验,我掌握了求解非线性方程的常用方法,并使用数值分析软件实现了二分法、割线法和牛顿法。
二分法的历史

二分法是一种常用的数学和计算机科学中的算法,它可以用来解决一些搜索和排序问题。
二分法最早的历史可以追溯到古代中国的数学家和天文学家。
在古代中国,数学家们使用的一种方法是将一个数列分成两部分,然后通过比较两部分的大小来确定中间位置的数值。
这种方法被称为“二分法”,因为它将数列分成了两部分。
在欧洲,最早使用二分法的是意大利数学家Fibonacci。
他在13世纪的著作《算盘书》中提到了一种使用二分法的方法,用于求解黄金分割比。
后来,这种方法被广泛应用于数学领域,并成为了一种重要的数学工具。
在计算机科学中,二分法最早被用于解决搜索问题。
1945年,计算机科学家Karl Schmidt 和Warren Weaver在他们的一篇论文中提出了使用二分法来解决搜索问题的方法。
这种方法后来被称为“二分查找法”或“折半查找法”。
随着计算机技术的发展,二分法在计算机科学中变得越来越重要。
它被广泛应用于各种算法和数据结构中,例如排序算法、查找算法和哈希表等。
二分法的高效性和可靠性使得它成为计算机科学中的一种重要算法。
数值分析 迭代法 二分法和迭代法原理

lim | xk x* | 0
k
即 lim xk x *.
k
(b) | xk1 x*| L | xk x*|
| xk 1 xk | | ( xk 1 x*) ( xk x*) | xk x * xk 1 x * (1 L) xk x * 1 xk x * xk 1 xk 1 L 又 | xk1 xk | ( xk ) ( xk1 ) | '( ) | | xk xk1 | L | xk xk1 |
等价变换
x = (x) 称为迭代函数
(x) 的不动点x*
不动点迭代
具体做法:
从一个给定的初值 x0 出发,计算 x1 = (x0), x2 = (x1), … x 若 k k 0 收敛,即存在 x* 使得 lim x k x *,则由 的连续
k
xk 1 lim xk 可得 x* = (x*),即 x* 是 的不 性和 lim k k
根的估计
引理3.1(连续函数的介值定理) 设f(x)在 [a,b]上连续,且f(a) f(b)<0,则存在x*(a,b) 使f(x*)=0。 例3.1 证明x33x1 = 0 有且仅有3个实根,并 确定根的大致位置使误差不超过 =0.5。 解:
单调性分析和解的位置 选步长h=2, 扫描节点函数值 异号区间内有根
ek 1 xk 1 x* ( xk ) ( x*) '( )ek e 取极限得 lim k 1 '( x*) 0 线性收敛. k e k
数值分析(00002)

数值分析书本答案习题一1、取3.14,3.15,722,113355作为π的近似值,求各自的绝对误差,相对误差和有效数字的位数。
解:14.31=x312110211021--⨯=⨯≤-x π所以,1x 有三位有效数字绝对误差:14.3-=πe ,相对误差:ππ14.3-=r e 绝对误差限:21021-⨯≤ε,相对误差限:213106110321-+-⨯=⨯⨯=r ε21122105.0105.01084074.000840174.015.315.3---⨯=⨯≤⨯==-=πx所以,2x 有两位有效数字绝对误差:15.3-=πe ,相对误差:ππ15.3-=r e 绝对误差限:11021-⨯=ε,相对误差限:11061-⨯=r ε31222105.0105.01012645.00012645.0722722---⨯=⨯≤⨯==-=πx所以,3x 有三位有效数字 绝对误差:722-=πe ,相对误差:ππ722-=r e绝对误差限:21021-⨯=ε,相对误差限:21061-⨯=r ε1133551=x 7166105.0105.01032.000000032.0113355---⨯=⨯≤⨯==-π 所以,4x 有七位有效数字 绝对误差:113355-=πe ,相对误差:ππ113355-=r e绝对误差限:61021-⨯=ε,相对误差限:61061-⨯=r ε3、下列各数都是对准确数四舍五入后得到的近似数,试分别指出它们的绝对误差限和相对误差限,有效数字的位数。
5000,50.31,3015.0,0315.04321====x x x x解:0315.01=x m=-13141*10211021---⨯=⨯≤-x x 所以,n=3,1x 有三位有效数字绝对误差限:41021-⨯=ε,相对误差:2110611021-+-=⨯=n r a ε3015.02=x m=04042*10211021--⨯=⨯≤-x x所以,n=4,1x 有四位有效数字绝对误差限:41021-⨯=ε,相对误差:3110611021-+-=⨯=n r a ε50.313=x m=24223*10211021--⨯=⨯≤-x x所以,n=4,1x 有四位有效数字绝对误差限:21021-⨯=ε,相对误差:3110611021-+-=⨯=n r a ε50004=x m=44404*10211021-⨯=⨯≤-x x所以,n=4,1x 有四位有效数字绝对误差限:5.010210=⨯=ε,相对误差:23110105211021--+-=⨯=⨯=n r a ε4、计算10的近似值,使其相对误差不超过%1.0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y 0
y= f(x) x
故总假设(a,b)上有唯一根 上有唯一根 故总假设
逐步扫描算法 (1) x0←a; ; (2) 若 f( x0) f( x0+h)<0,则x*必在 , ( x0 , x0+h)中,取 x0或 x0+h作为有 中 作为有 根区间,否则转(3); 根区间,否则转 (3) x0← x0+h,转(2); , ;
m
重根. 当m > 1,称x*是m重根 , 是 重根
方程根的几何意义 y y=f(x) 0 x
二、求根的两个步骤
(1)确定根的初始近似值 称之为 确定根的初始近似值(称之为 确定根的初始近似值 初始近似根) 初始近似根 , 一般为一个包含 根的区间,称为“有根区间” 根的区间,称为“有根区间” (2)根的精确化。根据根的初始近 根的精确化。 根的精确化 似值按某种方法逐步精确化,直 似值按某种方法逐步精确化, 至满足预先要求的精度为止。 至满足预先要求的精度为止。
When to stop?
a
xk +1 − xk < ε1
x1 a
x*
b x2
b
或
f ( x ) < ε2
不能保证 x 的 精度
ε2
x* x
2. 二分法的实施 将方程根的区间平分为两个小区 将方程根的区间平分为两个小区 区间平分 然后判断根在哪个小区间 判断根在哪个小区间, 间 , 然后 判断根在哪个区间 , 分为二, 分为二 , 再判断根属于哪个更小的 区间, 如此周而复始, 区间 , 如此周而复始 , 直到求出满 足精度要求的近似根。 足精度要求的近似根。
5
这些方程看似简单,但难于求其精确 这些方程看似简单, 解。而实际问题:只要能获得满足已 而实际问题: 定精确度的近似根就可以了。 定精确度的近似根就可以了。
本章解决的问题: 本章解决的问题:
m是正整数, 是正整数, 是正整数 且g(x*)≠0 求 f (x) = 0 的根
f(x)为非线性函数或高次代数方程,若有数x* 为非线性函数或高次代数方程,若有数 为非线性函数或高次代数方程 成立, 使f(x*) = 0成立,则称 *为方程 成立 则称x 为方程f(x) = 0的根 的根 (零点 。 零点)。 零点 若f(x)可分解为 f ( x) = ( x − x*) g( x) 可分解为 是单根; 当m = 1,称x*是单根; , 是单根
第七章 非线性方程的求根
/* Solutions of Nonlinear Equations */
求 f (x) = 0 的根
7.1 方程求根与二分法
一、本章解决的问题 二、求根的两个步骤 三、二分法
一、本章解决的问题
在科学计算中常要求解各种方程, 在科学计算中常要求解各种方程, 高次代数方程 x − 3x + 7 = 0 πx −x e − cos = 0 超越方程 3
下面将介绍几种常用的数值解法: 下面将介绍几种常用的数值解法 : ——二分法 二分法 ——简单迭代法 简单迭代法 ——牛顿迭代法 牛顿迭代法 ——弦截法 弦截法
三、二分法
/* Bisection Method */
1. 二分法的原理
原理:若 f ∈C[a, b],且 f (a) · f (b) < 0, 原理: , , 则 f 在 (a, b) 上必有一根 x*。 。
x f(x)
0 0.5 1.0 1.5 ― ― ― +
由于 f (1) < 0, f (1.5) > 0 , 且 f(x)在区间 在区间 [1,1.5]上满足 , 上满足
f ′( x) = 3x2 − 1 ≥ 3×1 − 1 = 2 > 0
由此可知在(1, 由此可知在 ,1.5)内有且仅有一个 内有且仅有一个 实根, 实根,故可取 (1,1.5) , 作为有根区间。 作为有根区间。
如何求有根区间呢? 如何求有根区间呢? 逐步扫描法 原 理 : 设 f(x) 在 [a, b] 连 续 , 且 f(a) f(b)<0 。 则 由 连 续 函 数 的 性 质 知 f(x)=0在 (a, b)内至少有一个根 。 若 内至少有一个根。 在 内至少有一个根 f(x)在[a, b]上单调,则f(x)=0在(a, b) 上单调, 在 上单调 在 上有且仅有一个根。 上有且仅有一个根。
例如 考虑方程
f ( x) = x − x − 1 = 0
3
解 由于 f (0) < 0, f (∞) > 0 故方程至少有一个正实根。 故方程至少有一个正实根。 设从x=0出发 , 取 h=0.5为步长向 出发, 设从 出发 为步长向 右计算, 将各个点上的函数值列于 右计算 , 下表: 下表: