数值分析第二章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
2
-200 -300
′( x * ) ≈ ′(1.5) = 0.3998
显然,在 附近 显然 在x*附近
| ′( x ) |< 1 ′( x ) ≠ 0
利用Lagrange中值定理 有 中值定理, 利用 中值定理
* *
(1 L) | x n x |≤| x n x n+1 |
*
1 | x x n |≤ | x n+1 x n | 1 L
*
不动点迭代序列的收敛速度 数列的 r 阶收敛概念 设 lim xn = x * , 若存在 a>0 , r>0 使得 n →∞
| xn +1 x* | lim = a 则称数列 n} r 阶收敛 则称数列{x 阶收敛. r n →∞ | x x* | n
例 3 用二分法求方程 e 解: 令 f ( x ) = e
x
x
sin(π x / 2) = 0
内的根,要求误差不超过 在区间 [0, 1]内的根 要求误差不超过 -5. 内的根 要求误差不超过2
sin(πx / 2) , 绘图如下
4 3
x=-1:.5:2; y=exp(-x)-sin(pi*x/2); plot(x,y) grid
(2) 收敛阶r>1时,称为超收敛 收敛阶 时 称为超收敛; 称为超收敛 (3) 收敛阶 收敛阶r=2 时,称为平方收敛 称为平方收敛
特别: 收敛阶r=1时 称为线性收敛 称为线性收敛; 特别 (1) 收敛阶 时,称为线性收敛
序列的收敛阶数越高, 序列的收敛阶数越高,收敛速度越快
例2.3 方程 x3+10x-20=0,取 x0 = 1.5, 证明迭代法 取
10 10 10.0000 11.2500 11.2500 11.5625 11.7188 11.7969 11.8359 11.8555 11.8555 11.8604
20 15 12.5000 12.5000 11.8750 11.8750 11.8750 11.8750 11.8750 11.8750 11.8652 11.8652
水中浮球问题: 水中浮球问题 x 3 – 30 x 2 + 2552 = 0
f=inline('x.^3-30*x.^2+2552'); a=0;b=20;er=b-a;ya=f(a); k=0;er0=.005; while er>er0 x0=.5*(a+b); y0=f(x0); if ya*y0<0 b=x0; else a=x0; ya=y0; end disp([a,b]);er=b-a;k=k+1; end
( n = 0, 1, 2, )
则称x*为不动点 若存在 x*,使得 x* = ( x*) ,则称 为不动点 使得 则称
(x)
x = ( x)
迭代函数
y = x y = ( x)
x2 x1 x0
引理2.1 满足条件: 引理 如果 ( x) ∈ C [ a, b] ,满足条件 满足条件
roots([1,4,0,-10]) ans = -2.6826 + 0.3583i -2.6826 - 0.3583i 1.3652
k=16 x0=1.3652 k=6 x0=1.3652
f(x) = 0 迭代格式: 迭代格式
x = ( x)
xn +1 = ( xn )
y=x y = (x)
《数值分析》Ch2
方程求根问题引例 二分法算法及其应用 不动点迭代法 Newton迭代法
例2.水中浮球问题 2.水中浮球问题
有一半径r 的球体,密 有一半径 =10 cm的球体 密 的球体 球体浸入水中后, 度ρ =0.638.球体浸入水中后 球体浸入水中后 浸入水中的深度d 是多少? 浸入水中的深度 是多少?
2 x n+1 = 20 /( x n + 10)
是线性收敛
x +10 x-20 300 200 100 0 -100
3
证:令 f (x) = x3 + 10x –20, 令 绘出 y = f(x) 图形可知 方程的根 x*≈1.5, 令 ( x ) = 20 /( x 2 + 10)
′( x ) = 40 x /( x + 10)
10 /( x + 4) ( x ) = 10 /( x + 4)
( n = 0, 1, 2, )
fi=inline('0.5*sqrt(10-x^3)'); x0=1.5;er=1;k=0; while er>0.00001 x=fi(x0); er=abs(x-x0); x0=x;k=k+1; end fi=inline('sqrt(10/(4+x))'); x0=1.5;er=1;k=0; while er>0.00001 x=fi(x0); er=abs(x-x0); x0=x;k=k+1; end
例2.2 方程 x3 + 4x2 – 10 = 0 在 [1, 2] 上有一
个根, 个根, 将方程变换成另一形式
Baidu Nhomakorabea
(1) x = 10 x / 2
3
xn+1 = ( xn )
( x ) = 10 x / 2
3
x0 = 1.5
(2) x =
( n = 0, 1, 2, )
xn+1 = ( xn ) x0 = 1.5
* *
| xn x |≤ L | x0 x |
* n *
lim | x n x |≤ lim L | x0 x |= 0 ( 0<L<1 )
* n * n→ ∞ n→ ∞
所以, 所以
lim x n = x
n→ ∞
*
故迭代格式收敛
| x n x * |=| x n x n+1 + x n +1 x * | ≤| x n x n+1 | + | x n +1 x |≤| x n x n+1 | + L | x n x |
构造有效的迭代格式 选取合适的迭代初值 对迭代格式进行收敛性分析
求解开普列方程: 当M=45o时,求解开普列方程 E= M + e sinE 求解开普列方程 e = 0.1~0.2, 迭代公式 迭代公式: Ej+1 = M + e sinEj (取E0 = M, 误差界 -8) 误差界:10 e
0.1 0.12 0.14 0.16 0.18 0.2 迭代次数 7 8 8 9 9 9 E 0.86126488447271 0.87771162159335 0.89459166643904 0.91190566740348 0.92965233106520 0.94782822306545
定理2.4 满足条件: 定理 如果 ( x) ∈ C [ a, b] ,满足条件 满足条件
1
(1) a ≤ ( x ) ≤ b ;
(2) | ′( x ) |≤ L < 1
则对任意的 x0∈ [a, b] , 迭代格式 xn +1 = ( xn ) 产生的序列 { xn }收敛到不动点 x*,且有 收敛到不动点 且有
1
(1) a ≤ ( x) ≤ b ;
(2) | ′( x) |≤ L < 1
则 (x) 在 [a, b] 有唯一的不动点 x* 证 若 (a ) = a 或 (b) = b ,显然 (x) 有不动点 显然 设 (a ) ≠ a , (b) ≠ b 则有 (a ) > a , (b) < b 记 ψ ( x) = ( x) x 则有 ψ (a ) ψ (b) < 0 所以,存在 使得 所以 存在x*,使得 ψ ( x*) = 0 存在 即 即为不动点. 即为不动点 ( x*) = x * , x*即为不动点
r
d
根据阿基米德定律,物体排开水的质量就是水 根据阿基米德定律 物体排开水的质量就是水 对物体的浮力。 对物体的浮力。
d 4 3 2 2 M= π r ρ V = π [r (r x ) ]dx 0 3 d 3 – 3 r d 2 + 4 r 3ρ = 0 整理得:

代入,得 由ρ =0.638, r = 10.代入 得d 3 – 30 d 2 + 2552 = 0 代入 令 f (x) = x 3 – 30 x 2 + 2552 ,函数图形如下所示 函数图形如下所示
x0=0.5(a+b)
y0
x1=0.5(a1+b1)
[a1,b1]=[a,x0] [a1,b1]=[x0,b]
f(a1) f(b1) < 0
二分法迭代将得到一系列隔根区间
[a , b] [a1 , b1 ] [a2 , b2 ] L [an , bn ] L
性质:1. f(an)f(bn)<0; 2. bn – an = (b – a)/ 2n 性质 定理2.2 定理2.2 设x*是 f(x)=0在[a, b]内的唯一根,且 f(a)f(b)<0,则二分计算过程中 各区间的中点数列 则二分计算过程中, 1 x n = ( a n + bn ) ( n = 0,1,2,L) 2 满足: | xn – x*|≤ (b – a)/ 2n+1 思考: 思考 | xn+1 – xn | = ?
已知f(x)=0在[a,b]内有一根 且f(a)f(b)<0 在 内有一根,且 已知 内有一根 (1)计算 ya f(a) , x0 0.5(a+b), y0 f(x0) 计算: 计算 判断,若 否则转下一步; 判断 若y0=0,则x0是根 否则转下一步 则 是根,否则转下一步 (2)判断 若y0ya<0,则a1 a, b1 x0 判断,若 判断 则 否则 a1 x0, b1 b, ya [a, b]
有一个点介于0和 之间 之间. 有一个点介于 和1之间 显然f(0)f(1)< 0,
2
1
0
-1 -1
-0.5
0
0.5
1
1.5
2
f=inline('exp(-x)-sin(pi*x./2)'); a=0;b=1;er=b-a;ya=f(a);k=0;er0=1/2^5; while er>er0 x0=.5*(a+b); 0 0.5000 y0=f(x0); 0.2500 0.5000 if ya*y0<0 b=x0; 0.3750 0.5000 else 0.4375 0.5000 a=x0; 0.4375 0.4688 ya=y0; end disp([a,b]);er=b-a;k=k+1 end
1 | x x n |≤ | x n+1 x n | 1 L x n = ( x n 1 ) | x n x * |=| ( x n1 ) ( x * ) | 证 * * ′(ξ ) || x n1 x * | x = (x ) =|
*
| x n x |≤ L | x n1 x |
*
xn
lim x n = x
n→ ∞
二分法迭代
已知方程 f(x)=0有一隔根 区间[a, b],且f(x)满足 f(a)f(b)<0,则先将[a , b]等 分为两个小区间,判断根属 分为两个小区间 判断根属 于哪个小区间,舍去无根区 于哪个小区间 舍去无根区 间保留有根区间[a1, b1]; 把区间[a1, b1] 一分为二,进一步判断根属于哪个更 小的区间[a2, b2],如此不断二分以缩小区间长度 .
x
11.8628
将一个计算过程反复进行称为迭代, 将一个计算过程反复进行称为迭代 , 迭代法 是一类常见常用的计算技术 π 1 1 1 一种圆周率计算方案:
( 1) n 迭代格式: 迭代格式 x n = x n1 + 2n + 1
初值: 初值: x0=1
4
= 1
3
+
5
7
+L
( n=1,2,3, )
求解方程 f(x)=0,即 是求函数 f(x)的零 点. f(x) 的零点所 在区间为:[0, 20] roots([1 -30 0 2552]) ans = 26.3146 11.8615 -8.1761
3000 2000
1000
0
-1000
-2000 0 5 10 15 20
用数值方法求非线性方程的根,分两步进行 用数值方法求非线性方程的根,分两步进行: 第一步:对根进行隔离,找出隔根区间,或在隔根 区间内确定一个解的近似值x0; 第二步:逐步逼近,利用近似解x0 (或隔根区间) 通过迭代算法得到更精确的近似解. 通过迭代算法得到更精确的近似解 迭代算法 通过迭代计算,产生序列 设f(x) = 0的根为 x*,通过迭代计算 产生序列 的根为 通过迭代计算 产生序列: x0 只须 x1 x2
相关文档
最新文档