第六章-非线性方程求根
合集下载
第6章 非线性方程求根(1、二分法、迭代法)
(2) 如果将原方程化为等价方程 x = 仍取初值
x0 = 0
3
3
x+1 2
x1 =
x0 + 1 = 2
3
3
1 ≈ 0 .7937 2
1 .7937 ≈ 0 .9644 2
x2 =
依此类推,得 依此类推, x3 = 0.9940 同样的方程 x4 = 0.9990 不同的迭代格式 x5 = 0.9998 x6 = 1.0000 有不同的结果 x7 = 1.0000 已经收敛, 已经收敛,故原方程的解为 x = 1.0000
用一般迭代法求方程x lnx= 在区间( 例:用一般迭代法求方程x-lnx=2在区间(2,∞) 内的根,要求|x 内的根,要求|xk-xk-1|/|xk|<=10-8 f(x)=x-lnx解:令f(x)=x-lnx-2 f(2)<0,f(4)>0,故方程在 2,4) 故方程在( f(2)<0,f(4)>0,故方程在(2,4)内至少有一个根
y p1 p0
y=x y=g(x)
y p0
y=x
p1 x x0 y y=g(x) x1 x* y=x y y=g(x) p0 x0 x* x1
y=g(x)
x
y=x
p0 p1 x x1 x0 x* x0 x* x1 p1 x
f(x)=0化为等价方程x=g(x)的方式是不唯 f(x)=0化为等价方程x=g(x)的方式是不唯 化为等价方程x=g(x) 一的,有的收敛,有的发散. 一的,有的收敛,有的发散. example: For example:2x3-x-1=0
1 3 ( x + 1 ) = g ( x ) 进行迭代,则在 进行迭代,则在(1, 3
192-习题作业-第六章非线性方程求根 典型习题解答
第六章非线性方程的数值解法习题解答
填空题:
1. 求方程 x = f (x) 根的牛顿迭代格式是__________________。
Ans:
xn+1
=
xn
-
xn - f (xn ) 1 - f ᄁ(xn )
2.求解方程
在(1, 2)内根的下列迭代法中,
(1)
(2)
(3)
(4)
收敛的迭代法是(A).
A.(1)和(2) B. (2)和(3) C. (3)和(4) D. (4)和(1)
3、试分别用 Newton 法和割线法求以下方程的根
x - cos x = 0
取初值
x0
=
0.5, x1
=
p 4
,比较计算结果。
解: Newton 法: x1 = 0.75522242,x2 =0.73914166,x3 =0.73908513 ; 割线法: x2 = 0.73638414,x3 =0.73905814,x4 =0.73908515,x5 =0.73908513 ;
由 j (x) = 4 - 2x , j '(x) = -2x ln 2 > 2 ln 2 ᄏ 1.36829 > 1, 故不能用 xk+1 = 4 - 2xk 来迭
代。
将原方程改写为 x = ln(4 - x) / ln 2, 此时, j (x) = ln(4 - x) / ln 2,
j '(x)
对 x = tgx � x = p + arctgx � xk +1 = p + arctgxk 用搜索法知在[4.45, 4.50]内有根,取x0 = 4.45迭代,x(5) = 4.49341。
填空题:
1. 求方程 x = f (x) 根的牛顿迭代格式是__________________。
Ans:
xn+1
=
xn
-
xn - f (xn ) 1 - f ᄁ(xn )
2.求解方程
在(1, 2)内根的下列迭代法中,
(1)
(2)
(3)
(4)
收敛的迭代法是(A).
A.(1)和(2) B. (2)和(3) C. (3)和(4) D. (4)和(1)
3、试分别用 Newton 法和割线法求以下方程的根
x - cos x = 0
取初值
x0
=
0.5, x1
=
p 4
,比较计算结果。
解: Newton 法: x1 = 0.75522242,x2 =0.73914166,x3 =0.73908513 ; 割线法: x2 = 0.73638414,x3 =0.73905814,x4 =0.73908515,x5 =0.73908513 ;
由 j (x) = 4 - 2x , j '(x) = -2x ln 2 > 2 ln 2 ᄏ 1.36829 > 1, 故不能用 xk+1 = 4 - 2xk 来迭
代。
将原方程改写为 x = ln(4 - x) / ln 2, 此时, j (x) = ln(4 - x) / ln 2,
j '(x)
对 x = tgx � x = p + arctgx � xk +1 = p + arctgxk 用搜索法知在[4.45, 4.50]内有根,取x0 = 4.45迭代,x(5) = 4.49341。
非线性方程求根
得到一个迭代序列: x0,x1,x2,. . . ,xn,. . .
几何含义:求曲线 y = (x) 与直线 y = x 的交点
18:28:03
Numerical Analysis
9
y p0 x0 y
18:28:03
y=x
p1
y= (x)
✓
y p0
y=x
✓
p1 y= (x)
x x1 x2 x*
x0
(x) ( y) L x y
则(x) 在 [a,b] 上存在唯一的不动点 x*
证明:P216
18:28:03
Numerical Analysis
12
收敛性分析
不动点迭代的收敛性
定理:设 (x) C[a,b] 且满足
(1) 对任意的 x[a,b] 有 (x)[a,b]
(2) 存在常数 0<L<1,使得任意的 x, y[a,b] 有
for k = 1 : n x = g(x); fprintf('k=%2d, x=%.7f\n',k,x); if abs(x-xt)<tol, break, end
end xt = fzero(f,[3,4]);
fprintf('True solution: x = %.7f\n', xt)
% Steffenson 加速
性质:若
lim
k
xk
x *,则不动点迭代收敛,且 x*
是 f(x)=0 的解;否则迭代法发散。
18:28:03
Numerical Analysis
11
解的存在唯一性
解的存在唯一性
定理:设 (x) C[a,b] 且满足
几何含义:求曲线 y = (x) 与直线 y = x 的交点
18:28:03
Numerical Analysis
9
y p0 x0 y
18:28:03
y=x
p1
y= (x)
✓
y p0
y=x
✓
p1 y= (x)
x x1 x2 x*
x0
(x) ( y) L x y
则(x) 在 [a,b] 上存在唯一的不动点 x*
证明:P216
18:28:03
Numerical Analysis
12
收敛性分析
不动点迭代的收敛性
定理:设 (x) C[a,b] 且满足
(1) 对任意的 x[a,b] 有 (x)[a,b]
(2) 存在常数 0<L<1,使得任意的 x, y[a,b] 有
for k = 1 : n x = g(x); fprintf('k=%2d, x=%.7f\n',k,x); if abs(x-xt)<tol, break, end
end xt = fzero(f,[3,4]);
fprintf('True solution: x = %.7f\n', xt)
% Steffenson 加速
性质:若
lim
k
xk
x *,则不动点迭代收敛,且 x*
是 f(x)=0 的解;否则迭代法发散。
18:28:03
Numerical Analysis
11
解的存在唯一性
解的存在唯一性
定理:设 (x) C[a,b] 且满足
第六讲 非线性方程求根
设方程f(x)=0有近似根xk(f `(xk)0),将f(x)在xk 展开: (在x和xk之间)
f ( ) 2 f ( x) f ( xk ) f ( xk )( x xk ) ( x xk ) 2!
可设
f ( x) f ( xk ) f ( xk )( x xk )
x
f (x ) x f ( x )
例:采用切线法求方程在区间[0.5,2]上的一个根。
x x 20
3
>> r=NewtonRoot('sqrt(x)-x^3+2',0.5,2)
r= 1.4759
弦截法(割线法) 在Newton迭代格式中,用差商近似导数,
f ( xk ) f ( xk 1 ) f ( xk ) xk xk 1
function r=FindRoots(f,a,b,eps) f_1=subs(sym(f),findsym(sym(f)),a); %两端点的函数值 f_2=subs(sym(f),findsym(sym(f)),b); mf=subs(sym(f),findsym(sym(f)),(a+b)/2); %中点函数值 if(f_1*mf>0) t=(a+b)/2; r=FindRoots(f,t,b,eps); %右递归 else if(f_1*mf==0) r=(a+b)/2; else if(abs(b-a)<=eps) r=(b+3*a)/4; else s=(a+b)/2; r=FindRoots(f,a,s,eps); %左递归 end end end 注:SUBS:Symbolic substitution. Also used to evaluate expressions numerically. SYM ; Construct symbolic numbers, variables and objects. FINDSYM:Finds the symbolic variables in a symbolic expression or matrix.
《应用数值分析》课件数值分析6非线性方程(组)求根
这种格式称为简化Newton迭代法
精度稍低
迭代法的局部收敛性
无论哪种迭代法:Newton迭代法 简化Newton法
是否收敛均与初值的位置有关.
例3 f (x) x3 x 3, 精确解x* 1.6717
用Newton迭代法求解: xk1 xk (xk3 xk 3) / (3xk2 1)
收敛
定理6.4.1假设 x* 是 f (x)的单根,f (x)在根
的邻域 :x x 内具有二阶连续导数,
且对任意 x 有 f x 0,又因初值x0 ,
则当邻域 充分小时,牛顿法具有2阶收敛速度.
改进的Newton迭代
• 简化Newton迭代 • 拟Newton法(Broyden方法) • 离散Newton法
6.6. 非线性方程组的迭代法 把非线性方程组改写成 x (x) (1(x),2 (x), ,n (x))T
并构造不动点迭代法 x(k1) (x(k) ), k 0,1,
给定初始点 x(0), 生成迭代序列 x(k)
若 lim x(k) x*, 且 (x) 是连续的, 则 x* 满足 x* (x*) k
与 x 轴的交点,作为下一个迭代点 xk1,
即x k 1
xk
f (xk ) f '(xk )
Newton法的改进
Newton迭代法
xk 1 xk
f ( xk ) f ( xk )
需要求每个迭代点处的导数 f (xk )
用x0近似替代f (xk )中的xk , 得
复杂!
xk 1 xk
f ( xk ) f ( x0 )
表
k0
x1(k )
0
x
(k 2
)
0
数值分析课件 第六章非线性方程求根
OhSo basically we are yeah? Who tells done! the method you that I can’t believe it’s so simple! is convergent? What’s the problem?
§3. Fixed-Point Iteration y p1 p0 y=x y=g(x) y p0 y=x
几个根?
• 哪儿有根?确定有根区间
• 根的精确化:已知一个根的近似值后,能否
将它精确到足够精度?
本章假设 f C[a, b],且 f (a) · (b) < 0,则 f 在 (a, b) f 上至少有一根,(a,b)即为有根区间。问题1、2得到解 决。
1. 逐步搜索法
§2 根的搜索
x0=a xk-1 x* xk b
第六章 非线性方程求根
/* Solutions of Nonlinear Equations */ §1 Introduction
科学技术中常遇到高次代数方程或超越方程 的求根问题。大于4次的代数方程无求根公式。 因此需要研究函数方程求根问题的数值方法。
求 f (x) = 0 的根或零点x*
求根问题包括下面三个问题: • 根的存在性:即f(x)=0有没有根?若有,有
③ 当k 时, xk 收敛到 x* ?
| x * x k | | g ( x *) g ( x k 1 ) | | g ( ξ k 1 ) | | x * x k 1 |
L | x * x k 1 | ...... L | x * x 0 | 0
说明:①迭代函数不唯一,②迭代点列可能收敛,也可 能发散,迭代收敛与否不仅与迭代函数有关,还与初 始点有关。
§3. Fixed-Point Iteration y p1 p0 y=x y=g(x) y p0 y=x
几个根?
• 哪儿有根?确定有根区间
• 根的精确化:已知一个根的近似值后,能否
将它精确到足够精度?
本章假设 f C[a, b],且 f (a) · (b) < 0,则 f 在 (a, b) f 上至少有一根,(a,b)即为有根区间。问题1、2得到解 决。
1. 逐步搜索法
§2 根的搜索
x0=a xk-1 x* xk b
第六章 非线性方程求根
/* Solutions of Nonlinear Equations */ §1 Introduction
科学技术中常遇到高次代数方程或超越方程 的求根问题。大于4次的代数方程无求根公式。 因此需要研究函数方程求根问题的数值方法。
求 f (x) = 0 的根或零点x*
求根问题包括下面三个问题: • 根的存在性:即f(x)=0有没有根?若有,有
③ 当k 时, xk 收敛到 x* ?
| x * x k | | g ( x *) g ( x k 1 ) | | g ( ξ k 1 ) | | x * x k 1 |
L | x * x k 1 | ...... L | x * x 0 | 0
说明:①迭代函数不唯一,②迭代点列可能收敛,也可 能发散,迭代收敛与否不仅与迭代函数有关,还与初 始点有关。
非线性方程求根方法
x 0 , x1, x
2
,L , x
n
,L
该序列以根x 该序列以根 *为极限
只要二分足够多次(即k足够大),便有 x* xn < ε 这里ε为给定精度,由于x * ∈ a n , bn ,则
bn a n b a x xn ≤ = 2 2 n +1 bn an ba Q = bn+1 an+1 = n+1 2 2
y
y=f(x) y=f(x)
x* a a1 a2 x1 x* x0 b1 b2 b a x0 a1 x1 a2 b b1 b2
y
y = f ( x)
a
x0
o
b
x
若前两种情况出现之一,则就意味着找到了一个比 若前两种情况出现之一, 原区间长度小一半的隔根区间了。 原区间长度小一半的隔根区间了。设为 [a1,b1 ].
an xn + an1xn1 +L+ a1 x + a0 = 0
(an ≠ 0)
为n次代数方程,当n>1时,方程显然是非线性的 次代数方程, 一般稍微复杂的3次以上的代数方程或超越方程, 一般稍微复杂的3次以上的代数方程或超越方程, 很难甚至无法求得精确解。 很难甚至无法求得精确解。本章将介绍常用的求解 非线性方程的近似根的几种数值解法 通常方程根的数值解法大致分为三个步骤进行 ① 判定根的存在性。即方程有没有根?如果有 判定根的存在性。即方程有没有根? 有几个根? 根,有几个根? ② 确定根的分布范围。即将每一个根用区间隔 确定根的分布范围。 离开来, 离开来,这个过程实际上是获得方程各根的 初始近似值。 初始近似值。 ③ 根的精确化。将根的初始近似值按某种方法 根的精确化。 逐步精确化, 逐步精确化,直到满足预先要求的精度为止 记笔记
第六章 非线性方程(组)的求解
* * 又当 n 充 分 大[ 以 a ,b 后 ] , (x ,x ), 于是 m 为偶数 n n 时, x [ a ,b ],f (x ) 0 ,不 变 号 了 ! n n
2)二分法线性收敛,收敛因子为1/2。
* x x n 1 1 * 1 * x x ( x a ) ( x x ), . n n 1 n 1 n 1 * 2 2 x x2 n 1
f (x) m(x x*)m1h(x) h(x) g(x) 1 (x x*)g(x),h(x*) 0, m f (x) (x) x x 1 (x-x* )g(x) / h(x), f (x) m (x*) 1 1 , (x*) 1 1 1 , m m 牛顿迭代线性收敛,且 随 m的增加收敛性越来越差 。 重根时的改进:
或
定理一的条件太强,不便于实际应用。下面给出一个局部 收敛定理。
由迭代( 6 -1 -1 ) 产产生的 x 均收 数 敛收敛 n * 1 x x x x n n n 1 1 L n L * 或 x x x x n 1 L1 0
* * * 定理二 :如果 (x ) 连续 (x , ) L 1, 则 x N (x , 0 δ )
关于初值的问题: 一般来说采用试探法,但对于一些实际问题初值的选择并 不困难,它是明确的。
关于重根的问题:
* 设 x 是 f( x ) 的 m 重零 m 点 1) , 此 (时 * m * f( x ) ( x x ) g ( x ), g ( x ) 0 , 1 * m 1 * f ( x ) m ( x x ) [ g ( x ) ( x x ) g ( x )], m
称算法(6-1-1)为牛顿迭代法。 f (x) 证明:令 (x) x ,则 xN (x*), f (x) 0 x (x) f (x) (x) f *) 0 (x) 1 f ( x ), ( x ,牛顿迭代收敛 2 [ f (x)] () * * 又 xn1 x (xn) (x ) (xn x*)2; 2 xn1 x* () c,至少二阶收敛。 2 2 (x x*)
第六讲 非线性方程求根
k
迭代收敛!
方法二
1 2 1 2 x ( x 3) xk 1 ( xk 3), k 0,1,2, 2 2 给定初值x0 4, 带入迭代格式,计算可得: x1 6.5, x2 19.625, x3 191.070,
迭代发散! 问题:如何构造收敛的格式?如何估计误差? 如何提高收敛速度?
xk 1 xk ε1
f ( x) ε2
xk 1 xk xk
ε1
二分法的优点:计算简单,方法可靠; 缺点:不适合求偶数重根,也无法求复根,收敛速度 慢。通常用于为迭代法求方程的根提供一个较好的初 值。
例3:证明方程 f ( x) e x 10 x 2 0 存在唯一实根 x* (0,1)
注意:
在实际应用中,只要迭代初值在根的附近,就可以用
( x0 ) 代替 ( x*) 加以判定是否局部收敛。
例6 已知方程
xe
x
考察用格式 在0.5附近有一个根,
xk 1 e
xk
求此根的局部收敛性。
解:这里 x0 0.5 因此有 ( x0 ) e0.5 0.61 1 所以该迭代格式具有局部收敛性。
第六讲 非线性方程求根问题
• 非线性是实际问题中经常出现的,而且地位越 来越突出。 • 我们熟悉的很多线性问题或模型,通常都是非 线性问题在一定条件下的一种近似。 • 非线性方程可以是单个的方程,更多的情况则 是多个方程联立的方程组。
例如:
x 2 x 6 x 13x 8 x 12 0
( p 1)
( x*) 0, ( p ) ( x*) 0
局部收敛性 (1)局部收敛概念
若迭代过程 xk 1 ( xk ) 对 x0 x x x * 均收敛,则称迭代格式在根 (2)局部收敛判定定理
迭代收敛!
方法二
1 2 1 2 x ( x 3) xk 1 ( xk 3), k 0,1,2, 2 2 给定初值x0 4, 带入迭代格式,计算可得: x1 6.5, x2 19.625, x3 191.070,
迭代发散! 问题:如何构造收敛的格式?如何估计误差? 如何提高收敛速度?
xk 1 xk ε1
f ( x) ε2
xk 1 xk xk
ε1
二分法的优点:计算简单,方法可靠; 缺点:不适合求偶数重根,也无法求复根,收敛速度 慢。通常用于为迭代法求方程的根提供一个较好的初 值。
例3:证明方程 f ( x) e x 10 x 2 0 存在唯一实根 x* (0,1)
注意:
在实际应用中,只要迭代初值在根的附近,就可以用
( x0 ) 代替 ( x*) 加以判定是否局部收敛。
例6 已知方程
xe
x
考察用格式 在0.5附近有一个根,
xk 1 e
xk
求此根的局部收敛性。
解:这里 x0 0.5 因此有 ( x0 ) e0.5 0.61 1 所以该迭代格式具有局部收敛性。
第六讲 非线性方程求根问题
• 非线性是实际问题中经常出现的,而且地位越 来越突出。 • 我们熟悉的很多线性问题或模型,通常都是非 线性问题在一定条件下的一种近似。 • 非线性方程可以是单个的方程,更多的情况则 是多个方程联立的方程组。
例如:
x 2 x 6 x 13x 8 x 12 0
( p 1)
( x*) 0, ( p ) ( x*) 0
局部收敛性 (1)局部收敛概念
若迭代过程 xk 1 ( xk ) 对 x0 x x x * 均收敛,则称迭代格式在根 (2)局部收敛判定定理
非线性方程求根方法分解PPT课件
度,用二分法需进行
n ln(b a) ln 10.96... ln 2
即最多需要11次二分。
x
xn
1 2
(b11
a11 )
0.000488281
1 10 3 2
12
第12页/共48页
计算结果
k
ak , bk
1
[1.0 , 2.0]
xk
1.5
f (xk )
2.375
1
第1页/共48页
根的概念
• 给定方程 f (x)=0,如果有a使得f(a)=0,则称a为 f(x) =0的根 或f(x)的零点.
• 设有正整数m使得f(x)=(x-a)mg(x)且g(a) 0 , 则当m=2时,称a为f(x)=0的m重根; 当m=1时,称为f(x)=0的单根.
• 本章只讨论实根的求法.
从而
f (x )f (x ) (x ) [f (x )]2
由此知若 x 是f (x ) 0 的一个单根,则在x 附近 x * =0 Newton法是局部收敛的,并且收
敛速度至少是平方收敛的.
但如果x 是f (x ) 0 的m>1重根,0则
x*
11 1 m
此时Newton法仅有线性收敛速度.
30
第30页/共48页
{xk }
x 2 12.39
21
第21页/共48页
几何示意图
第22页/共48页
例 讨论以下计算 a (a 0) 的算法的收敛阶。
xn 1
1 2
xn
a xn
23
第23页/共48页
解:(1)
(x ) 1 (x a ) 2x
a 1aa
a
2
a
n ln(b a) ln 10.96... ln 2
即最多需要11次二分。
x
xn
1 2
(b11
a11 )
0.000488281
1 10 3 2
12
第12页/共48页
计算结果
k
ak , bk
1
[1.0 , 2.0]
xk
1.5
f (xk )
2.375
1
第1页/共48页
根的概念
• 给定方程 f (x)=0,如果有a使得f(a)=0,则称a为 f(x) =0的根 或f(x)的零点.
• 设有正整数m使得f(x)=(x-a)mg(x)且g(a) 0 , 则当m=2时,称a为f(x)=0的m重根; 当m=1时,称为f(x)=0的单根.
• 本章只讨论实根的求法.
从而
f (x )f (x ) (x ) [f (x )]2
由此知若 x 是f (x ) 0 的一个单根,则在x 附近 x * =0 Newton法是局部收敛的,并且收
敛速度至少是平方收敛的.
但如果x 是f (x ) 0 的m>1重根,0则
x*
11 1 m
此时Newton法仅有线性收敛速度.
30
第30页/共48页
{xk }
x 2 12.39
21
第21页/共48页
几何示意图
第22页/共48页
例 讨论以下计算 a (a 0) 的算法的收敛阶。
xn 1
1 2
xn
a xn
23
第23页/共48页
解:(1)
(x ) 1 (x a ) 2x
a 1aa
a
2
a
计算方法一元非线性方程求根6.3
(x)
( x x )g( x )
*
mg ( x ) ( x x ) g ( x )
*
所以,x*是 ( x ) 的单零点.可将Newton法的迭代函数修改为
( x) x ( x) ( x)
'
x
f ( x) f ( x) [ f ( x )] f ( x ) f ( x )
第六章非线性方程组的迭代解法
6.3
一元方程的常用迭代法
6.3.1 Newton迭代法
6.3.2 割线法与抛物线法
第六章非线性方程组的迭代解法
6.3.1 Newton迭代法
x 设x*是方程f(x)=0的实根, k 是 x k x 一个近似根,用Taylor 展开式有 " f ( ) * ' * * 2 0 f ( x ) f ( x k ) f ( x k )( x x k ) ( x xk ) , 2 这里假设 f ' ' ( x ) 存在并连续。若 f ' ( x k ) 0 ,可得
第六章非线性方程组的迭代解法
定理6.5 设 f ( x ) 0 , f ( x ) 0 , 且f(x)在包含x*的 一个区间上有二阶连续导数,则Newton迭代法(6.3.2)至 少二阶收敛,并且
* ' *
lim
k
x k 1 x
*
* 2
( xk x )
f (x ) 2 f (x )
X
将(6.3.2)写成一般的不动点迭代(6.2.3)的形式,有
(x) x
' *
f (x) f ( x)
'
'
第6章非线性方程求根
推向了一个新的里程,并标志着数学发展现代阶段的开始。
10
例如代数方程 超越方程
x5-x3+24x+1=0, sin(5x2)+e-x=0.
方程是在科学研究中不可缺少的工具, f ( x) 0
方程求解是科学计算中一个重要的研究对象.
几百年前就已经找到 了代数方程中二次至 四次方程的求解公式;
但是,对于更高次数 的代数方程目前仍 无有效的精确解法;
家国民教育委员会批准开除出巴黎师范大学;
8
1831年5月l0日,伽罗华以“企图暗杀国王”的罪名被捕,关 押在圣佩拉吉监狱;
l832年3月16日伽罗华获释后不久,为了一个舞女决定为“爱 情与荣誉”决斗;
1832年5月29日夜,伽罗华仓促地把自己生平的数学研究心得 扼要写出,附以论文手稿,并在给朋友舍瓦利叶的信中说:“我 在分析方面做出了一些新发现。有些是关于方程论的;有些是关 于整函数的……。公开请求雅可比或高斯,不是对这些定理的正 确性,而是对这些定理的重要性发表意见。我希望将来有人发现,
3
米兰的数学和物理教授卡尔达诺(Cardano,1501—1576) 获悉该事后央求塔尔塔利亚将密诀告诉他,并发誓保密,在 卡尔达诺的恳求下,塔尔塔利亚把他的方法写成一首晦涩的
诗告诉了卡尔达诺; 1545年卡尔达诺出版著作《大法》(Arsmagna) ,公布了
一般三次方程求根公式,称为卡尔达诺公式; 《大法》同时公布了意大利数学家费拉里(Ferrali, 1522-1565)仿照一般三次方程求根思想,推导的一般四次
挑战对手的秘密武器; Ferro在临终前将解法传给了他的学生安东尼奥·菲奥尔
(Antonio M.Fior);
费罗去世后,菲奥尔向当时意大利最大的数学家之一塔尔 塔利亚(Tartaglia,1500—1557)提出挑战,要他解出30个三 次方程,塔尔塔利亚用8天时间解出了全部30个方程,得到了
10
例如代数方程 超越方程
x5-x3+24x+1=0, sin(5x2)+e-x=0.
方程是在科学研究中不可缺少的工具, f ( x) 0
方程求解是科学计算中一个重要的研究对象.
几百年前就已经找到 了代数方程中二次至 四次方程的求解公式;
但是,对于更高次数 的代数方程目前仍 无有效的精确解法;
家国民教育委员会批准开除出巴黎师范大学;
8
1831年5月l0日,伽罗华以“企图暗杀国王”的罪名被捕,关 押在圣佩拉吉监狱;
l832年3月16日伽罗华获释后不久,为了一个舞女决定为“爱 情与荣誉”决斗;
1832年5月29日夜,伽罗华仓促地把自己生平的数学研究心得 扼要写出,附以论文手稿,并在给朋友舍瓦利叶的信中说:“我 在分析方面做出了一些新发现。有些是关于方程论的;有些是关 于整函数的……。公开请求雅可比或高斯,不是对这些定理的正 确性,而是对这些定理的重要性发表意见。我希望将来有人发现,
3
米兰的数学和物理教授卡尔达诺(Cardano,1501—1576) 获悉该事后央求塔尔塔利亚将密诀告诉他,并发誓保密,在 卡尔达诺的恳求下,塔尔塔利亚把他的方法写成一首晦涩的
诗告诉了卡尔达诺; 1545年卡尔达诺出版著作《大法》(Arsmagna) ,公布了
一般三次方程求根公式,称为卡尔达诺公式; 《大法》同时公布了意大利数学家费拉里(Ferrali, 1522-1565)仿照一般三次方程求根思想,推导的一般四次
挑战对手的秘密武器; Ferro在临终前将解法传给了他的学生安东尼奥·菲奥尔
(Antonio M.Fior);
费罗去世后,菲奥尔向当时意大利最大的数学家之一塔尔 塔利亚(Tartaglia,1500—1557)提出挑战,要他解出30个三 次方程,塔尔塔利亚用8天时间解出了全部30个方程,得到了
第6章 非线性方程求根(2、newton法、迭代法的收敛阶)
定理 考虑方程 x = g(x), g(x)∈C[a, b], 若 ∈
( I ) 当 x∈[a, b] 时, g(x)∈[a, b]; ∈ ∈ ; ( II ) 0 ≤ L < 1 使得 | g’(x) | ≤ L < 1 对 x∈[a, b] 成立。 成立。 ∈ 则任取 x0∈[a, b],由 xk+1 = g(xk) 得到的序列 { x k }∞= 0 收 , k 敛于g(x) 在[a, b]上的唯一不动点。并且有误差估计式: 敛于 上的唯一不动点。并且有误差估计式: 上的唯一不动点 k 1 L | x * xk | ≤ | x k +1 x k | | x * xk | ≤ | x1 x 0 | 1 L 1 L 且存在极限
=
m 1 m
A3: 线性收敛
下山法 /* Descent Method */ ——Newton’s Method 局部微调: 局部微调: 原理: 减小, 原理:若由 xk 得到的 xk+1 不能使 | f | 减小,则在 xk 和 xk+1 之间找一个更好的点 x k + 1 ,使得 f ( xk+1 ) < f ( xk ) 。 xk xk+1
f ( xk ) x k +1 = λ [ x k ] + (1 λ ) xk f ′( xk ) = xk λ f ( xk ) f ′( xk )
λ xk +1 + (1 λ ) xk , λ ∈ [0, 1]
注:λ = 1 时就是Newton’s Method 公式。 时就是 公式。 代入效果不好时, 减半计算。 当 λ = 1 代入效果不好时,将 λ 减半计算。
x * x k +1 lim = g ′( x * ) k →∞ x * x k
第6章 - 非线性方程求根方法
1 2
② 计算:f0 = f (x0)(即中点函数值)
③ 生成含根区间 若 f (x0) = 0, 则x* = x0, 若f (x0) · (a0) > 0, 取 a1= x0, b1 = b0, f 若f (x0) · (a0) < 0, 取 a1= a0, b1 = x0 f
8
生成含根区间[a1, b1]满足:
二、 非线性方程(组)求解的特点
求解的特点:无求解公式,无直接解法,难求得精确解。 例: 超越方程 ex + cosx = 1 没有一定的解法。 又例如对于大于等于五次的代数方程,无解析根表 达公式,只能使用数值方法对于实际问题进行求解。
2
考虑非线性方程:
f (x) = 0
原理
如果
f ( x) C[a, b], f (a) f (b) 0
如果取初值 x0 = 1.9 ,计算得 k 0 1 2 3 4 5 xk 1.9 1.89453647 1.89352114 1.89333233 1.89329722 1.89329069 k 6 7 8 9 10 … xk 1.89328947 1.89328925 1.89328921 1.89328920 1.89328920 ……
1.6093750
1.6015625 1.5976562 1.5957031 1.5947266 1.5947266 1.5947266 1.5946045 1.5946046
1.6015625
1.5976562 1.5957031 1.5947266 1.5942383 1.5944824 1.5946045 1.5945435 1.5945741
(3.1)
(2) 从某初始值x0出发,作序列{xk}
② 计算:f0 = f (x0)(即中点函数值)
③ 生成含根区间 若 f (x0) = 0, 则x* = x0, 若f (x0) · (a0) > 0, 取 a1= x0, b1 = b0, f 若f (x0) · (a0) < 0, 取 a1= a0, b1 = x0 f
8
生成含根区间[a1, b1]满足:
二、 非线性方程(组)求解的特点
求解的特点:无求解公式,无直接解法,难求得精确解。 例: 超越方程 ex + cosx = 1 没有一定的解法。 又例如对于大于等于五次的代数方程,无解析根表 达公式,只能使用数值方法对于实际问题进行求解。
2
考虑非线性方程:
f (x) = 0
原理
如果
f ( x) C[a, b], f (a) f (b) 0
如果取初值 x0 = 1.9 ,计算得 k 0 1 2 3 4 5 xk 1.9 1.89453647 1.89352114 1.89333233 1.89329722 1.89329069 k 6 7 8 9 10 … xk 1.89328947 1.89328925 1.89328921 1.89328920 1.89328920 ……
1.6093750
1.6015625 1.5976562 1.5957031 1.5947266 1.5947266 1.5947266 1.5946045 1.5946046
1.6015625
1.5976562 1.5957031 1.5947266 1.5942383 1.5944824 1.5946045 1.5945435 1.5945741
(3.1)
(2) 从某初始值x0出发,作序列{xk}
第六章非线性方程求根
使用迭代法求解非线性代数方程的步骤为: (1) 迭代格式的构造; (2) 迭代格式的收敛性分析; (3) 迭代格式的收敛速度与误差分析。
1.简单迭代法
f (x) = 0 等价变换 x = (x) (6.3.1) 其中 (x)是连续函数。方程(6.3.1)称为不动点方程,满足
(6.3.1)式的点称为不动点,这样就将求 f ( x ) 的零点问题转 化为求 ( x ) 的不动点问题。 以不动点方程为原型构造迭代格式
收敛于1
同样的方程 不同的迭代公式 有不同的结果
x6 = 1.0000
什么形式的迭代法能够收敛呢?
x7 = 1.0000
说明:①迭代函数不唯一; ②迭代点列可能收敛,也可能发散,迭代收敛与否 不仅与迭代函数有关,还与初始点有关。
y
y=x
p1
y= (x)
p0
✓
x
x0
x1 x*
y
y= (x) y = x
1.287,1.51,1.5
由
x3 x2 0,
4 10x3
x3x40x3 10x33 20 8
知当 x1,1.5 时, x1.53 1.52 0.65561
410 1.52
所以迭代格式(2)是收敛的。
2
x*
x
执行步骤 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], a1=x1, b1=b。
1.简单迭代法
f (x) = 0 等价变换 x = (x) (6.3.1) 其中 (x)是连续函数。方程(6.3.1)称为不动点方程,满足
(6.3.1)式的点称为不动点,这样就将求 f ( x ) 的零点问题转 化为求 ( x ) 的不动点问题。 以不动点方程为原型构造迭代格式
收敛于1
同样的方程 不同的迭代公式 有不同的结果
x6 = 1.0000
什么形式的迭代法能够收敛呢?
x7 = 1.0000
说明:①迭代函数不唯一; ②迭代点列可能收敛,也可能发散,迭代收敛与否 不仅与迭代函数有关,还与初始点有关。
y
y=x
p1
y= (x)
p0
✓
x
x0
x1 x*
y
y= (x) y = x
1.287,1.51,1.5
由
x3 x2 0,
4 10x3
x3x40x3 10x33 20 8
知当 x1,1.5 时, x1.53 1.52 0.65561
410 1.52
所以迭代格式(2)是收敛的。
2
x*
x
执行步骤 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], a1=x1, b1=b。
第六章二分法
x*x7 =1.6758
下一页
例2,求方程f(x)= x 3 –e-x =0的一个实根。
因为 f(0)<0,f(1)>0。 故f(x)在(0,1)内有根
用二分法解之,(a,b)=(0,1)’计算结果如表:
ka
bk
00
1
xk
f(xk)符号
0.5000
-
1 0.5000 -
0.7500
-
2 0.7500 -
0.8750
+
3 - 0.8750
0.8125
+
4 - 0.8125
0.7812
+
5 - 0.7812
0.7656
-
6 0.7656 -
0.7734
+
7 - 0.7734
0.7695
-
8 0.7695 -
0.7714
-
9 0.7714 -
0.7724
-
10 0.7724 -
0.7729
+
取x10=0.7729,误差为| x* -x10|<=1/211 。
用二分法求方程 f(x)=0在区间[a,b]内近似根的程序框图 如图2 a,b表示各有根区间的左右两端点; k为二分次数, 为
允许误差;当 a b 时,终止运算
返回
开始
输入 a,b,e
Y1=f(a),y2=f(b)
Y1*y2>0 K=1
X=(a+b)/2,y=f(x)
A=x,y1=y
Y1*y
返回
y
a o 图3
b
x
返回
取[a,b]区间二等分的中点x0 =(a+b)/2,
若f(x0)=0,则x0是f(x)=0的实根
下一页
例2,求方程f(x)= x 3 –e-x =0的一个实根。
因为 f(0)<0,f(1)>0。 故f(x)在(0,1)内有根
用二分法解之,(a,b)=(0,1)’计算结果如表:
ka
bk
00
1
xk
f(xk)符号
0.5000
-
1 0.5000 -
0.7500
-
2 0.7500 -
0.8750
+
3 - 0.8750
0.8125
+
4 - 0.8125
0.7812
+
5 - 0.7812
0.7656
-
6 0.7656 -
0.7734
+
7 - 0.7734
0.7695
-
8 0.7695 -
0.7714
-
9 0.7714 -
0.7724
-
10 0.7724 -
0.7729
+
取x10=0.7729,误差为| x* -x10|<=1/211 。
用二分法求方程 f(x)=0在区间[a,b]内近似根的程序框图 如图2 a,b表示各有根区间的左右两端点; k为二分次数, 为
允许误差;当 a b 时,终止运算
返回
开始
输入 a,b,e
Y1=f(a),y2=f(b)
Y1*y2>0 K=1
X=(a+b)/2,y=f(x)
A=x,y1=y
Y1*y
返回
y
a o 图3
b
x
返回
取[a,b]区间二等分的中点x0 =(a+b)/2,
若f(x0)=0,则x0是f(x)=0的实根
计算方法2非线性方程求根
根据泰勒级数展开式构造迭代公式,通过不断迭代逼近方程的根。
收敛性
牛顿-拉夫逊方法具有局部收敛性,当初始值选取合适时,可以迅 速收敛到方程的根。同时,该方法对单根和重根均有效。
05
数值稳定性与误差分析
数值稳定性概念
数值稳定性
指算法在计算过程中,对于输入数据的微小变化,输出结果的变化也是微小的,即算法对输入误差的 敏感性较低。
算法设计与实现过程
算法设计
针对所选择的非线性方程,设计一种有效的 求根算法。常见的求根算法包括二分法、牛 顿法、割线法等。在选择算法时,需要考虑 算法的收敛性、稳定性和计算效率等因素。
算法实现
根据所设计的算法,编写相应的计算机程序。 程序应包括输入、计算和输出三个主要部分。 输入部分用于接收用户输入的非线性方程和 初始值等信息;计算部分用于执行求根算法 的计算过程;输出部分用于显示计算结果和 相关信息。
研究不足与展望
对于某些特殊类型的非线性方程,如高 次方程、多元方程等,本文算法可能存 在一定的局限性和不足,需要进一步研 究和改进。
在实际应用中,非线性方程的求解往往受到 各种因素的影响,如噪声、误差等,本文算 法在处理这些问题时可能需要进一步完善和 优化。
未来可以进一步探索非线性方程求 根的新方法和新技术,如基于深度 学习的求解方法、基于高性能计算 的并行化技术等,以提高求解效率 和精度。
高斯-赛德尔迭代法
在雅可比迭代法的基础上,采 用逐次超松弛技术加速收敛。
牛顿-拉夫逊迭代法
将非线性方程组转化为等价的 线性方程组,然后利用牛顿拉夫逊方法进行迭代求解。
牛顿-拉夫逊方法
基本思想
将非线性方程在根的附近用泰勒级数展开,忽略高阶项,得到近似 线性方程,然后求解该线性方程得到根的近似值。
收敛性
牛顿-拉夫逊方法具有局部收敛性,当初始值选取合适时,可以迅 速收敛到方程的根。同时,该方法对单根和重根均有效。
05
数值稳定性与误差分析
数值稳定性概念
数值稳定性
指算法在计算过程中,对于输入数据的微小变化,输出结果的变化也是微小的,即算法对输入误差的 敏感性较低。
算法设计与实现过程
算法设计
针对所选择的非线性方程,设计一种有效的 求根算法。常见的求根算法包括二分法、牛 顿法、割线法等。在选择算法时,需要考虑 算法的收敛性、稳定性和计算效率等因素。
算法实现
根据所设计的算法,编写相应的计算机程序。 程序应包括输入、计算和输出三个主要部分。 输入部分用于接收用户输入的非线性方程和 初始值等信息;计算部分用于执行求根算法 的计算过程;输出部分用于显示计算结果和 相关信息。
研究不足与展望
对于某些特殊类型的非线性方程,如高 次方程、多元方程等,本文算法可能存 在一定的局限性和不足,需要进一步研 究和改进。
在实际应用中,非线性方程的求解往往受到 各种因素的影响,如噪声、误差等,本文算 法在处理这些问题时可能需要进一步完善和 优化。
未来可以进一步探索非线性方程求 根的新方法和新技术,如基于深度 学习的求解方法、基于高性能计算 的并行化技术等,以提高求解效率 和精度。
高斯-赛德尔迭代法
在雅可比迭代法的基础上,采 用逐次超松弛技术加速收敛。
牛顿-拉夫逊迭代法
将非线性方程组转化为等价的 线性方程组,然后利用牛顿拉夫逊方法进行迭代求解。
牛顿-拉夫逊方法
基本思想
将非线性方程在根的附近用泰勒级数展开,忽略高阶项,得到近似 线性方程,然后求解该线性方程得到根的近似值。
第6章 非线性方程求根
x1 X2
f(x1)=0 f(x2)=0
X3
f(x3)=0
1、定义:对于函数y=f(x),函数图象与x轴的交点的 横坐标叫做y=f(x)的零点。 2、结论:函数的零点就是函数y=f(x)的图象与x轴的 交点的横坐标,也就是方程f(x)=0的实数根,所以 方程f(x)=0有实数根 函数y=f(x)的图象与x轴有交 点 函数y=f(x)有零点。
历史背景
代数方程的求根问题是一个古老的数学问 题。理论上,n次代数方程在复数域内一定有 n个根(考虑重数)。早在16世纪就找到了三次、 四次方程的求根公式,但直到19世纪才证明大 于等于5次的一般代数方程式不能用代数公式 求解,而对于超越方程就复杂的多,如果有解, 其解可能是一个或几个,也可能是无穷多个。 一般也不存在根的解析表达式。因此需要研究 数值方法求得满足一定精度要求的根的近似解。
例 用二分法求例1中方程 f(x)=x3-x-1=0的实根, 要求误差不超过0.005.
解 由x*∈(1, 1.5),即:
|x*-xn|≤0.005 则要
1 1 1 (b a ) n (1.5 1) n1 0.005 n 2 2 2
2 由此解得 n 6.6, 取n=7, 按二分法计算过程见 lg 2
分别按以上三种形式建立迭代公式,并取x0=1进行
迭代计算,结果如下:
xk 1 1 ( xk ) (3 xk 2 x )
1 2 4 k
x26 x27 1.124123
xk 1 2 ( xk ) xk 4 1
x6 x7 1.124123 4 2 xk 1 3 ( x k ) x k 2 xk 3
1 例6.2: 求方程f ( x ) xe 1 0 (或x e )在[ , ln 2]中的解。 2 若要求 x * xk 106 ,迭代次数k至少应为多少?
f(x1)=0 f(x2)=0
X3
f(x3)=0
1、定义:对于函数y=f(x),函数图象与x轴的交点的 横坐标叫做y=f(x)的零点。 2、结论:函数的零点就是函数y=f(x)的图象与x轴的 交点的横坐标,也就是方程f(x)=0的实数根,所以 方程f(x)=0有实数根 函数y=f(x)的图象与x轴有交 点 函数y=f(x)有零点。
历史背景
代数方程的求根问题是一个古老的数学问 题。理论上,n次代数方程在复数域内一定有 n个根(考虑重数)。早在16世纪就找到了三次、 四次方程的求根公式,但直到19世纪才证明大 于等于5次的一般代数方程式不能用代数公式 求解,而对于超越方程就复杂的多,如果有解, 其解可能是一个或几个,也可能是无穷多个。 一般也不存在根的解析表达式。因此需要研究 数值方法求得满足一定精度要求的根的近似解。
例 用二分法求例1中方程 f(x)=x3-x-1=0的实根, 要求误差不超过0.005.
解 由x*∈(1, 1.5),即:
|x*-xn|≤0.005 则要
1 1 1 (b a ) n (1.5 1) n1 0.005 n 2 2 2
2 由此解得 n 6.6, 取n=7, 按二分法计算过程见 lg 2
分别按以上三种形式建立迭代公式,并取x0=1进行
迭代计算,结果如下:
xk 1 1 ( xk ) (3 xk 2 x )
1 2 4 k
x26 x27 1.124123
xk 1 2 ( xk ) xk 4 1
x6 x7 1.124123 4 2 xk 1 3 ( x k ) x k 2 xk 3
1 例6.2: 求方程f ( x ) xe 1 0 (或x e )在[ , ln 2]中的解。 2 若要求 x * xk 106 ,迭代次数k至少应为多少?
数值分析- 非线性方程求根
那么迭代过程在
( x *) 0,
( p)
( x *) 0 ,
x * 附近是 p 阶收敛的 .
特别地,当
0 | ( x *) | 1时 , 迭代法线性收敛
;
当 ( x *) 0 , ( x *) 0时 , 平方收敛 .
§3
迭代收敛的加速方法
由迭代公式校正一次得
x 0 [ a , b ], 迭代序列 (2.2) 均收敛于 x *, L
k
1 L 1 1 L
| x1 x 0 |, | x k 1 x k | .
在 [1,2] 内考查如下迭代法的敛 1) x k 1
3 3 k
散性:
x k 1 ; 2) x k 1 x 1 .
• • •
设函数f(x)在区间[a,b]上单调连续,且 f(a)·f(b)<0 则方程(1.1)在区间(a,b)内有且仅有 一个实根x。
二、二分法
二分法简述.
设 f ( a ) f ( b ) 0 , 取 x 0 ( a b ) / 2 . 假如 f ( x 0 ) 是 f ( x )的零点, 那么输出 x 0 , 停止 . 假若不然, 若 f ( a ) 与 f ( x 0 )同号,则 a1 x 0 , b1 b ; 否则 a1 a , b1 x 0 .
一、埃特金加速收敛方法
对于收敛的迭代过程, x1 ( x 0 ),
再校正一次得 x 2 ( x1 ).
如果 ( x ) 变化不大 , ( x ) L , 则
x1 x * ( x 0 ) ( x *) L ( x 0 - x *), x 2 x * ( x1 ) ( x *) L ( x1 - x *).
( x *) 0,
( p)
( x *) 0 ,
x * 附近是 p 阶收敛的 .
特别地,当
0 | ( x *) | 1时 , 迭代法线性收敛
;
当 ( x *) 0 , ( x *) 0时 , 平方收敛 .
§3
迭代收敛的加速方法
由迭代公式校正一次得
x 0 [ a , b ], 迭代序列 (2.2) 均收敛于 x *, L
k
1 L 1 1 L
| x1 x 0 |, | x k 1 x k | .
在 [1,2] 内考查如下迭代法的敛 1) x k 1
3 3 k
散性:
x k 1 ; 2) x k 1 x 1 .
• • •
设函数f(x)在区间[a,b]上单调连续,且 f(a)·f(b)<0 则方程(1.1)在区间(a,b)内有且仅有 一个实根x。
二、二分法
二分法简述.
设 f ( a ) f ( b ) 0 , 取 x 0 ( a b ) / 2 . 假如 f ( x 0 ) 是 f ( x )的零点, 那么输出 x 0 , 停止 . 假若不然, 若 f ( a ) 与 f ( x 0 )同号,则 a1 x 0 , b1 b ; 否则 a1 a , b1 x 0 .
一、埃特金加速收敛方法
对于收敛的迭代过程, x1 ( x 0 ),
再校正一次得 x 2 ( x1 ).
如果 ( x ) 变化不大 , ( x ) L , 则
x1 x * ( x 0 ) ( x *) L ( x 0 - x *), x 2 x * ( x1 ) ( x *) L ( x1 - x *).
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章
非线性 方程(组)求根
问题驱动:全球定位系统(GPS)
人类对导航和定位的需求是伴随着人类整个文明历史的进 步而发展的,中国古代“四大发明”之一的指南针是最早的定 位仪器和系统,其后还有经纬仪以及近代的雷达。如图9.1.1所 示全球定位系统(GPS)是基于卫星的导航系统,最早由美国 和前苏联分别在80年代研制,并于1993年正式投入使用。现 代社会中全球定位系统越来越深入到人们生活的方方面面。例 如市场上出售的手持型GPS,定位的精度可以达到10米以内, 这无疑给旅行者提供了方便;安装有GPS的儿童手表,家长在 家里的计算机上可以追踪到孩子的位置,防止儿童走 失;安装有GPS系统的汽车可以帮助新司机辨识道路等等。
因而, f (x) 是严格单调的, f (x) 0 最多有一个根, 又因为 f (0) 1 0, f (1) e 8 0 所以, f (x) 0 有唯一实根 x* (0,1)
用二分法求解,要使 xk x* 0.5102,只要
1 0 2k 1
0.5 102
解得 k 2 6.64,取 k 7 。所以只要二等分7次,即可求得满
பைடு நூலகம்
1.画出 f(x) 的略图,从而看出曲线与x 轴交点的位置。 f(x)
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 作为根的初始近似。
许误差 就可以停止搜索,即
ba 2n
然后取其中点 xn 作为方程的一个根的近似值。
xn
例2 证明方程 ex 10x 2 0 存在唯一的实根 x* (0,1)
用二分法求出此根,要求误差不超过 0.5102 。
解:记 f (x) ex 10x 2 ,则对任意 x R ,
f (x) ex 10 0
图6.1.1 卫星定位示意图
美国和前苏联的GPS都包括有24颗卫星,它们不断地向地 球发射信号报告当前位置和发出信号的时间,卫星分布如图 6.1.2所示。它的基本原理是:在地球的任何一个位置,至少 同时收到4颗以上卫星发射的信号。
设地球上一个点R,同时收到卫星 S1, S2,L , S6 发射的信号,
开始
读入a, h
a x0 f (x0) y0
x0 + h x0
f (x0) y0>0
打印 否
结束
是 继续扫描
例1:考察方程
f (x) x3 x 1 0
x
0
0.5
f (x) 的符号 -
-
1.0
1.5
-
+
§1 二 分 法
a
xa1 x*
xb2 b
xk1 xk ε1 或 f ( x) ε2
假设接收的信息如表6.1.1所示。请设法确定R点的位置。
表6.1.1
图6.1.2 卫星分布图
GPS导航问题可归结为求解非线性代数数方程组
F(x) 0 , 当 n 1 时就是单个方程.
f (x) 0
(6.1.1)
其中,f (x) 可以是代数方程,也可以是超越方程。使 f (x) 0 。
成立的x 值称为方程的根,或称为 f (x)的零点。科学与工程
不能保证 x 的精 度
2
x*
x
执行步骤 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], a1=x1, b1=b。
m重根
若
f (x) (x x*)m g(x)
其中, g(x*) 0, m 为正整数,则当m=1时,称 x为* 方程(6.2.1)
的单根或函数 f (的x) 单零点。 当 m 时2,称 x为* 方程(6.2.1)
的 m重根或函数f (x的) m重零点。
2. 根的搜索
(1) 图解法(利用作图软件如 Matlab) (2) 解析法 (3) 近似方程法 (4) 定步长搜索法
反复执行步骤2、3,便可得到一系列有根区间:
[a,b] [a1, b1] [a2, b2 ] L [an , bn ] L
4、当 bk1 ak1 时,停止;
注:
xk 1
1 2 (ak
bk )
即为根的近似。
当 n 时,bn an 0 ,即这些区间必将收缩于一点,也就是 方程的根。在实际计算中,只要[an ,bn ] 的区间长度小于预定容
计算中,如电路和电力系统计. 算、非线性力学、非线性微( 积分)方程、非线性规划(优化)等众多领域中,问题的求 解和模拟最终往往都要解决求根或优化问题。前一种情形要 求出方程(组)的根;后一种情形则要求找出函数取最大或 最小的点。即使是对实验数据进行拟合或数值求解微分方程, 也总是将问题简化成上述两类问题。上述除少数特殊方程外, 大多数非线性代数方程(组)很难使用解析法求解精确解, 一般需要通过一些数值方法逼近方程的解。这里主要介绍单 个方程的数值解法,方程组也可以采用类似的方法,将放在 后面讨论。
lg 2
足精度要求的根。计算过程如表6.2.1所示
表6.2.1
k
0 1 2 3 4 5 6 7
所以,
f(ak)及符号
0(-) 0(-) 0(-) 0(-) 0.0625(-) 0.0625(-) 0.078125(-) 0.0859375(-)
f(xk)及符号
0.5(+) 0.25(+) 0.125(+) 0.0625(-) 0.09375(+) 0.078125(-) 0.0859375(-)
f (x) = 0
(6.2.1)
1.根的存在性。方程有没有根?如果有,有几个根? 2.根的搜索。这些根大致在哪里?如何把根隔离开? 3.根的精确化。
1.根的存在性
定义: 如果存在 x使* 得 f (x*,) 则0 称 为方程x*(6.2.1)
的根或函数 f (x的) 零点。
定理1:设函数 f (x) 在区间[a, b]上连续,如果f (a) f (b) < 0, 则方程 f (x) = 0 在[a, b]内至少有一实根x*。
非线性 方程(组)求根
问题驱动:全球定位系统(GPS)
人类对导航和定位的需求是伴随着人类整个文明历史的进 步而发展的,中国古代“四大发明”之一的指南针是最早的定 位仪器和系统,其后还有经纬仪以及近代的雷达。如图9.1.1所 示全球定位系统(GPS)是基于卫星的导航系统,最早由美国 和前苏联分别在80年代研制,并于1993年正式投入使用。现 代社会中全球定位系统越来越深入到人们生活的方方面面。例 如市场上出售的手持型GPS,定位的精度可以达到10米以内, 这无疑给旅行者提供了方便;安装有GPS的儿童手表,家长在 家里的计算机上可以追踪到孩子的位置,防止儿童走 失;安装有GPS系统的汽车可以帮助新司机辨识道路等等。
因而, f (x) 是严格单调的, f (x) 0 最多有一个根, 又因为 f (0) 1 0, f (1) e 8 0 所以, f (x) 0 有唯一实根 x* (0,1)
用二分法求解,要使 xk x* 0.5102,只要
1 0 2k 1
0.5 102
解得 k 2 6.64,取 k 7 。所以只要二等分7次,即可求得满
பைடு நூலகம்
1.画出 f(x) 的略图,从而看出曲线与x 轴交点的位置。 f(x)
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 作为根的初始近似。
许误差 就可以停止搜索,即
ba 2n
然后取其中点 xn 作为方程的一个根的近似值。
xn
例2 证明方程 ex 10x 2 0 存在唯一的实根 x* (0,1)
用二分法求出此根,要求误差不超过 0.5102 。
解:记 f (x) ex 10x 2 ,则对任意 x R ,
f (x) ex 10 0
图6.1.1 卫星定位示意图
美国和前苏联的GPS都包括有24颗卫星,它们不断地向地 球发射信号报告当前位置和发出信号的时间,卫星分布如图 6.1.2所示。它的基本原理是:在地球的任何一个位置,至少 同时收到4颗以上卫星发射的信号。
设地球上一个点R,同时收到卫星 S1, S2,L , S6 发射的信号,
开始
读入a, h
a x0 f (x0) y0
x0 + h x0
f (x0) y0>0
打印 否
结束
是 继续扫描
例1:考察方程
f (x) x3 x 1 0
x
0
0.5
f (x) 的符号 -
-
1.0
1.5
-
+
§1 二 分 法
a
xa1 x*
xb2 b
xk1 xk ε1 或 f ( x) ε2
假设接收的信息如表6.1.1所示。请设法确定R点的位置。
表6.1.1
图6.1.2 卫星分布图
GPS导航问题可归结为求解非线性代数数方程组
F(x) 0 , 当 n 1 时就是单个方程.
f (x) 0
(6.1.1)
其中,f (x) 可以是代数方程,也可以是超越方程。使 f (x) 0 。
成立的x 值称为方程的根,或称为 f (x)的零点。科学与工程
不能保证 x 的精 度
2
x*
x
执行步骤 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], a1=x1, b1=b。
m重根
若
f (x) (x x*)m g(x)
其中, g(x*) 0, m 为正整数,则当m=1时,称 x为* 方程(6.2.1)
的单根或函数 f (的x) 单零点。 当 m 时2,称 x为* 方程(6.2.1)
的 m重根或函数f (x的) m重零点。
2. 根的搜索
(1) 图解法(利用作图软件如 Matlab) (2) 解析法 (3) 近似方程法 (4) 定步长搜索法
反复执行步骤2、3,便可得到一系列有根区间:
[a,b] [a1, b1] [a2, b2 ] L [an , bn ] L
4、当 bk1 ak1 时,停止;
注:
xk 1
1 2 (ak
bk )
即为根的近似。
当 n 时,bn an 0 ,即这些区间必将收缩于一点,也就是 方程的根。在实际计算中,只要[an ,bn ] 的区间长度小于预定容
计算中,如电路和电力系统计. 算、非线性力学、非线性微( 积分)方程、非线性规划(优化)等众多领域中,问题的求 解和模拟最终往往都要解决求根或优化问题。前一种情形要 求出方程(组)的根;后一种情形则要求找出函数取最大或 最小的点。即使是对实验数据进行拟合或数值求解微分方程, 也总是将问题简化成上述两类问题。上述除少数特殊方程外, 大多数非线性代数方程(组)很难使用解析法求解精确解, 一般需要通过一些数值方法逼近方程的解。这里主要介绍单 个方程的数值解法,方程组也可以采用类似的方法,将放在 后面讨论。
lg 2
足精度要求的根。计算过程如表6.2.1所示
表6.2.1
k
0 1 2 3 4 5 6 7
所以,
f(ak)及符号
0(-) 0(-) 0(-) 0(-) 0.0625(-) 0.0625(-) 0.078125(-) 0.0859375(-)
f(xk)及符号
0.5(+) 0.25(+) 0.125(+) 0.0625(-) 0.09375(+) 0.078125(-) 0.0859375(-)
f (x) = 0
(6.2.1)
1.根的存在性。方程有没有根?如果有,有几个根? 2.根的搜索。这些根大致在哪里?如何把根隔离开? 3.根的精确化。
1.根的存在性
定义: 如果存在 x使* 得 f (x*,) 则0 称 为方程x*(6.2.1)
的根或函数 f (x的) 零点。
定理1:设函数 f (x) 在区间[a, b]上连续,如果f (a) f (b) < 0, 则方程 f (x) = 0 在[a, b]内至少有一实根x*。