第2章非线性方程的数值解法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
l g2
注:用二分法求根,最好先给出 f (x) 草图以确定根的大 概位置。或用搜索程序,将[a, b]分为若干小区间,对每一 个满足 f (ak)· f (bk) < 0 的区间调用二分法程序,可找出区 间[a, b]内的多个根,
定义f (x)
输入
a, b,
k=0
f (a) f (b)>0 否 否 m=(a+b)/2 |a-b|< 是 a=m 是 打印m, k 结束 f (a) f (b)=0
第二章 非线性方程的数值解法
非线性方程:f(x)=0 包括:代数方程(多项式)、超越方程(三角函数、指
数函数或对数函数)。
求解方法:直接求解法、间接求解法; 直接求解法一般为解析法,能够得到精确解,如二次方 程求根公式等。简单但不一定总有效。 间接求解法一般较复杂,可以利用计算机进行计算,其 结果为近似解,但误差可以控制。
x0 a
x0 h
x* b
2.从左端点x = a出发,按某个预先选定的步长h 一步一步地向右跨,每跨一步都检验每步起点x0
和终点x0 + h的函数值,若
f ( x0 ) f ( x0 h) 0
那么所求的根x*必在x0与x0+h之间,这里可取x0或x0+h
作为根的初始近似。
开 始
读入a, h a x0 f (x0) y0 x0 + h x0 是 继续扫描
f (x0) y0>0 否 打 印 结 束
例1:考察方程
f ( x ) x 3 11x 2 38.8 x 41.77 0
x 0 1 2 3 4 5 6
f(x)的符号 -
-
+
+
-
-
+
计算速度慢,一般用于确定根的位置
二分法
2.1.3 二分法
思路:二分法的基本思想 就是逐步对分区间,经过对根的搜 索,将有根区间的长度缩小到充分小,从而求出满足精度的 根 的近似值。
若取区间的中点 x k 1 a k bk
作为 x * 的近
所以在实际计算时,只要二分足够多次,便
有 x * x 。这里,为预定精度。 k
二分法
对于给定的精度 ,可估计二分法所需的步数 k :
ba ε k 1 2
l gb a l g ε k 1
wenku.baidu.com
迭代法
牛顿法
弦截法
2.1区间搜索法
预备知识: ① 方程的根:单根、重根。
定理 函数 f (x)对于x* 有f (x*) =0,但
f ( x* ) 0
f(m1) ( x* ) 0
则称 为方程的单根。如果有 f ( x* ) f ( x* )
但
f
( m)
(x ) 0
是
是 是
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=? 例、设 ba a x b 解: k
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
非线性方程求解的基本问题:根的个数;根的位置。 求解方程的根,需要解决的问题: 根的存在性,根的个数 根的隔离 根的精细化 求解方程的根,一般有两种情形: 求出在给定范围内的某个根 求出方程的全部根,而根的数目和位置事先不知道
求非线性方程根的一些常用方法:
区间搜索法(逐步搜索法、 二分法)
*
,则称
x 是方程 的 m重根。
*
②
根的存在性定理:
上必有一根;若 f 在[a, b]上连续且单调则 f 在 (a, b) 上有且仅有一根。
定理:若 f 在[a, b]上连续,且 f (a) ·f (b) < 0,则 f 在 (a, b)
2.1.2 逐步搜索法 1.画出 f(x) 的略图,从而看出曲线与x 轴交点的位置。 f(x)
0.02
所以,x=2.1015625
2.2
2.2.1 2.2.2 2.2.3 2.2.4
迭代法(不动点迭代法)
迭代原理 迭代的收敛性 迭代的收敛速度 迭代的加速(不讲)
2.2 迭代法(不动点迭代) 2.2.1迭代法原理:
f (x) = 0 f (x) 的根
等价变换
x5 x 3 0 x 5 x 3 x 3 x5
二分法
1 每次二等分后,设取有根区间的中点x k a k bk 2
作为根的近似值,则在二分过程中可以获得一个近
似根的序列 x0 , x1 , x2 , ,该序列以根 x *为极限。
误差 分析:
2 1 1 * 似值,则误差估计为: x xk bk ak k 1 b a 2 2
a1=x1, b1=b。 反复执行步骤2、3,便可得到一系列有根区间:
(a, b), (a1, b1), …, (ak, bk), …
4、当
5、则
bk 1 ak 1
xk 1 1 ( a k bk ) 2
时 即为根的近似
①简单; ② 对f (x) 要求不高(只要连续即可) ; ③ 事先可以估计出迭代次数。 ①无法求复根及偶重根 ② 收敛慢 ③ 已知含根区间。
x = φ (x) φ (x) 的不动点
从一个初值 x0 出发,计算 x1 = φ(x0), x2 = φ(x1), …, xk+1 = φ(xk), … 若 xk 收敛,即存在 x* 使得 思 lim x x * x k 1 lim x k, ,只要 φ 连续,则 lim 路 k k k k 也就是 x* = φ(x* ),即x* 是 φ 的根,也就是f 的根。 若{ xk}发散,则迭代 法失败。
二分法的步骤:
a
x a0 1
x* x1 b1
执行步骤 1.计算f (x)在有解区间[a, b]端点处的值,f (a),f (b)。 2.计算f (x)在区间中点处的值f (x1)。 3.判断若f (x1) = 0,则x1即是根,否则检验: (1)若f (x1)与f (a)异号,则知解位于区间[a, x1], b1=x1, a1=a; (2)若f (x1)与f (a)同号,则知解位于区间[x1, b],
注:用二分法求根,最好先给出 f (x) 草图以确定根的大 概位置。或用搜索程序,将[a, b]分为若干小区间,对每一 个满足 f (ak)· f (bk) < 0 的区间调用二分法程序,可找出区 间[a, b]内的多个根,
定义f (x)
输入
a, b,
k=0
f (a) f (b)>0 否 否 m=(a+b)/2 |a-b|< 是 a=m 是 打印m, k 结束 f (a) f (b)=0
第二章 非线性方程的数值解法
非线性方程:f(x)=0 包括:代数方程(多项式)、超越方程(三角函数、指
数函数或对数函数)。
求解方法:直接求解法、间接求解法; 直接求解法一般为解析法,能够得到精确解,如二次方 程求根公式等。简单但不一定总有效。 间接求解法一般较复杂,可以利用计算机进行计算,其 结果为近似解,但误差可以控制。
x0 a
x0 h
x* b
2.从左端点x = a出发,按某个预先选定的步长h 一步一步地向右跨,每跨一步都检验每步起点x0
和终点x0 + h的函数值,若
f ( x0 ) f ( x0 h) 0
那么所求的根x*必在x0与x0+h之间,这里可取x0或x0+h
作为根的初始近似。
开 始
读入a, h a x0 f (x0) y0 x0 + h x0 是 继续扫描
f (x0) y0>0 否 打 印 结 束
例1:考察方程
f ( x ) x 3 11x 2 38.8 x 41.77 0
x 0 1 2 3 4 5 6
f(x)的符号 -
-
+
+
-
-
+
计算速度慢,一般用于确定根的位置
二分法
2.1.3 二分法
思路:二分法的基本思想 就是逐步对分区间,经过对根的搜 索,将有根区间的长度缩小到充分小,从而求出满足精度的 根 的近似值。
若取区间的中点 x k 1 a k bk
作为 x * 的近
所以在实际计算时,只要二分足够多次,便
有 x * x 。这里,为预定精度。 k
二分法
对于给定的精度 ,可估计二分法所需的步数 k :
ba ε k 1 2
l gb a l g ε k 1
wenku.baidu.com
迭代法
牛顿法
弦截法
2.1区间搜索法
预备知识: ① 方程的根:单根、重根。
定理 函数 f (x)对于x* 有f (x*) =0,但
f ( x* ) 0
f(m1) ( x* ) 0
则称 为方程的单根。如果有 f ( x* ) f ( x* )
但
f
( m)
(x ) 0
是
是 是
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=? 例、设 ba a x b 解: k
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
非线性方程求解的基本问题:根的个数;根的位置。 求解方程的根,需要解决的问题: 根的存在性,根的个数 根的隔离 根的精细化 求解方程的根,一般有两种情形: 求出在给定范围内的某个根 求出方程的全部根,而根的数目和位置事先不知道
求非线性方程根的一些常用方法:
区间搜索法(逐步搜索法、 二分法)
*
,则称
x 是方程 的 m重根。
*
②
根的存在性定理:
上必有一根;若 f 在[a, b]上连续且单调则 f 在 (a, b) 上有且仅有一根。
定理:若 f 在[a, b]上连续,且 f (a) ·f (b) < 0,则 f 在 (a, b)
2.1.2 逐步搜索法 1.画出 f(x) 的略图,从而看出曲线与x 轴交点的位置。 f(x)
0.02
所以,x=2.1015625
2.2
2.2.1 2.2.2 2.2.3 2.2.4
迭代法(不动点迭代法)
迭代原理 迭代的收敛性 迭代的收敛速度 迭代的加速(不讲)
2.2 迭代法(不动点迭代) 2.2.1迭代法原理:
f (x) = 0 f (x) 的根
等价变换
x5 x 3 0 x 5 x 3 x 3 x5
二分法
1 每次二等分后,设取有根区间的中点x k a k bk 2
作为根的近似值,则在二分过程中可以获得一个近
似根的序列 x0 , x1 , x2 , ,该序列以根 x *为极限。
误差 分析:
2 1 1 * 似值,则误差估计为: x xk bk ak k 1 b a 2 2
a1=x1, b1=b。 反复执行步骤2、3,便可得到一系列有根区间:
(a, b), (a1, b1), …, (ak, bk), …
4、当
5、则
bk 1 ak 1
xk 1 1 ( a k bk ) 2
时 即为根的近似
①简单; ② 对f (x) 要求不高(只要连续即可) ; ③ 事先可以估计出迭代次数。 ①无法求复根及偶重根 ② 收敛慢 ③ 已知含根区间。
x = φ (x) φ (x) 的不动点
从一个初值 x0 出发,计算 x1 = φ(x0), x2 = φ(x1), …, xk+1 = φ(xk), … 若 xk 收敛,即存在 x* 使得 思 lim x x * x k 1 lim x k, ,只要 φ 连续,则 lim 路 k k k k 也就是 x* = φ(x* ),即x* 是 φ 的根,也就是f 的根。 若{ xk}发散,则迭代 法失败。
二分法的步骤:
a
x a0 1
x* x1 b1
执行步骤 1.计算f (x)在有解区间[a, b]端点处的值,f (a),f (b)。 2.计算f (x)在区间中点处的值f (x1)。 3.判断若f (x1) = 0,则x1即是根,否则检验: (1)若f (x1)与f (a)异号,则知解位于区间[a, x1], b1=x1, a1=a; (2)若f (x1)与f (a)同号,则知解位于区间[x1, b],