第4章 非线性方程数值解法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
x=[1:0.001:1.5]; y=x.^3-x-1; z=0; plot(x,y,'r',x,z,'b')
1
1.05
1.1
1.15
1.2
1.25
1.3
1.35
1.4
1.45
1.5
3 f ( x ) x x 1 , 例2 对 求出[1,1.5]的实根,要求
4.1二分法 求非线性方程 分为两步:
f (x) 0的根的方法
确定方程的有根区间
计算根的近似值

首先确定有限区间:依据零点定理。 设 f( a )f( b ) 0, x ) C [ a ,b ],且 f( 则方程 f (x) 0在区间 ( a , b )上至少有一个根。 如果 一。
f ' ( x )在 ( a , b )上恒正或恒负,则此根唯
继续以上步骤。
等步长扫描算法
算法:(求方程 f (x) 0 的有根区间) (1) 输入 a, b, h ; ); (2) f0 f (a (3) x ,若 x b 输出失败信息, a h ,f f ( x ) 1 停机。 (4)若 f1 0。输出 x,已算出方程的一个根,停 机。
二分法
设 所求的根为 x , 则 x [a n1 ,2 ...... n,b n]
来自百度文库

a x b n n
n 1 ,2 ......
1 lim ( b a ) lim ( b a ) 0 n n n 1 n n 2
lim a lim b x n n
1)令 x 2 ) if
求方程f(x)=0的全部实根的二分法算法
(1 ) (2) 输入 : a , b , h , ; a 1 a ; b1 a 1 h ; b 1 b 时做 f ( a 1 ) f ( b1 ) 0 做 a 1 a ; b1 a 1 h ;
等步长扫描法求有根区间

用计算机求有根区间:等步长扫描法。 a ,x a h 设h>0是给定的步长,取 x , 0 1
f( x ) f( x ) 0 则扫描成功;否则令 0 1

x x ,x x h ,继续上述方法,直到成 0 1 1 0
功。如果 x1 b 则扫描失败。再将h 缩小,
误差不超过0.005 解:f='x^3-x-1'; bisection(f,1,1.5,20,5e-3) [ n xa xb xc fc ] 1.0000 1.0000 1.5000 1.2500 -0.2969
例题

3 ( ) x x 1 , [ a ,] b [ 1 , 1 . 5 ] 例1 设方程 fx
解:取h=0.1,扫描得:
f( 1 .3 ) 0 .61 0 f( 1 .4 ) 0 .344 0

方程的有根区间为
[1 . 3,1 . 4 ].
' 2 f ( x ) 3 x 1 0 , x [ 1 . 3 , 1 . 4 ] 又 即 f (x) 0 在 [1.3,1.4]有唯一根。

等步长扫描算法
(5) 若 f0 f1 0 。输出 a, x,[a, x] 为有根区间, 停机 x ,转 3) (6) a 注:如果对足够小的步长h扫描失败。 说明:

在 [ a , b ] 内无根 在 [ a , b ] 内有偶重根
二分法

用二分法(将区间对平分)求解。
1 a , b b , c ( a b ) 令 a 1 1 1 1 1 2 a )f( c ) 0 若 f( ,则 [a1 , c1 ]为有根区间,否 1 1 则 [c1 , b1 ]为有根区间 记新的有根区间为 [a2 , b2 ] , 则
( 3 ) while 1 ) while
endwhile; 2 ) while 10 | b 1 a 1 | 时做 x 1 ( a 1 b 1 ); 计算 f ( x ); 2
求方程f(x)=0的全部实根的二分法算法
20 30 if if f ( x ) 0 转 ( 3 ); f ( a1 ) f ( x ) 0 then else endwhile ; 3 ) 输出 : x ; a 1 x endwhile ; h ; b1 a 1 h ; 10 [ a 1 , b1 ] [ a 1 , x ] [ a 1 , b1 ] [ x , b1 ].

1 x c a b n ( n n)为 2

n
n
x 的近似解

求方程f(x)=0的根的二分法算法
(1 ) (2) 输入 if : 有根区间 [ a , b ]的 a , b 值及精度控制量 then 返回第 1 步 , 重新
;
f (a ) f (b ) 0
输入 a , b 值 else 转第 3 步 ; ( 3 ) while | a b | 时做 1 ( a b ), 计算 f ( x ); 2 f (a ) f (x) 0 then else endwhile ( 4 ) 输出 x ; 1 ( a b ). 2 [ a , b ] [ a , x ]; [ a , b ] [ x , b ].
[ a , b ] [ a , b ] 1 1 2 2

1 b a ( b a ) 2 2 2 1 1
二分法

对 [a2 , b2 ]重复上述做法得
[ a , b ] [ a , b ] ...... [ a , b ] ...... 1 1 2 2 n n


1 b a ( b a) n n n 1 2
第4章 非线性方程的数值解法
本章重点介绍求解非线性方程 f (x) 0 的几种常见和有
效的数值方法,同时也对非线性方程组
f ( x , x , , x ) 0 ( i 1 , 2 , , n ) i 1 2 n
求解,简单介绍一些最基本的解法.无论在理论上,还是在
实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充,许多问题的求解,在解析方法无能为力 时,数值方法则可以借助于计算机出色完成.
相关文档
最新文档