第2章 非线性方程与方程组的数值解法
第2章 非线性方程与方程组的数值解法
本章重点介绍求解非线性方程fx)=0的几种常见和有 效的数值方法,同时也对非线性方程组 f(x,x2…,xn)=0(i=12,…,n) 求解,简单介绍一些最基本的解法无论在理论上,还是在 实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充许多问题的求解,在解析方法无能为力 时数值方法则可以借助于计算机出色完成
本章重点介绍求解非线性方程 的几种常见和有 效的数值方法,同时也对非线性方程组 求解,简单介绍一些最基本的解法.无论在理论上,还是在 实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充,许多问题的求解,在解析方法无能为力 时,数值方法则可以借助于计算机出色完成. f (x) = 0 ( , , , ) 0 ( 1,2, , ) 1 2 f x x x i n i n = =
21二分法 求非线性方程f(x)=0的根的方法 分为两步: 确定方程的有根区间 计算根的近似值
2.1二分法 求非线性方程 f (x) = 0 确定方程的有根区间 计算根的近似值 的根的方法 分为两步:
■首先确定有限区间:依据零点定理。 设f(x)∈CIa,b],且f(a)f(b)<0, 则方程/(x)=0在区间(a,b)上至少有一个根。 如果在(x)上正或恒负,则此根唯
◼ 首先确定有限区间:依据零点定理。 设 ,且 , 则方程 在区间 上至少有一个根。 如果 在 上恒正或恒负,则此根唯 一。 f (x)C[a,b] f (a) f (b) 0 f (x) = 0 (a,b) ( ) ' f x (a,b)
等步长扫描法求有根区间 ■用计算机求有根区间:等步长扫描法。 设h>是给定的步长,取x=a,x=a+h, 若f(x)-f(x1)b则扫描失败。再将h缩小, 继续以上步骤
等步长扫描法求有根区间 ◼ 用计算机求有根区间:等步长扫描法。 设h>0是给定的步长,取 , 若 则扫描成功;否则令 ,继续上述方法,直到成 功。如果 则扫描失败。再将h 缩小, 继续以上步骤。 x0 = a, x1 = a + h f (x0 ) f (x1 ) 0 x0 = x1 , x1 = x0 + h x1 b
等步长扫描算法 算法:(求方程∫(x)=0的有根区间) (1)输入abh; (2)f0=f(a); (3)x=a+h,f1=f(x,若x>b输出失败信息, 停机。 (4)若f=0。输出x,已算出方程的一个根,停 机
等步长扫描算法 ◼ 算法:(求方程 的有根区间) (1) 输入 ; (2) ; (3) ,若 输出失败信息, 停机。 (4)若 。输出 ,已算出方程的一个根,停 机。 f (x) = 0 a,b,h ( ) f 0 = f a , ( ) 1 x = a + h f = f x x b f 1 = 0 x
等步长扫描算法 (5)若稀<0。输出axax为有根区间, 停机 (6)a=x,转3) 注:如果对足够小的步长/描失败。 说明 在[a,b内无根 在[a,b]内有偶重根
等步长扫描算法 (5) 若 。输出 为有根区间, 停机 (6) ,转 3) ◼ 注:如果对足够小的步长h扫描失败。 说明: ➢ 在 内无根 ➢ 在 内有偶重根 f 0 f 1 0 a, x,[a, x] a = x [a,b] [a,b]
二分法 用二分法(将区间对平分)求解。 令 b1=bC1=(a1+b1) 若f(a4)f()<0,则[a1,c1为有根区间,否 则[cb1]为有根区间 记新的有根区间为[a2,b2],则 →a 且 a
二分法 ◼ 用二分法(将区间对平分)求解。 令 若 ,则 为有根区间,否 则 为有根区间 记新的有根区间为 , 则 且 , , ( ) 2 1 1 1 a1 = a b1 = b c1 = a + b f (a1 ) f (c1 ) 0 [ , ] 1 1 a c [ , ] 1 b1 c [ , ] a2 b2 [ , ] [ , ] a1 b1 a2 b2 ( ) 2 1 1 1 b2 − a2 = b − a
二分法 ■对{a2b2]重复上述做法得 [a12b1]→[a2,b2] n2 n 且 (b-a)
二分法 ◼ 对 重复上述做法得 ◼ 且 [ , ] a2 b2 [ , ] [ , ] ...... [ , ] ...... a1 b1 a2 b2 an bn ( ) 2 1 1 b a b a n n n − = − −
二分法 设所求的根为x 则 x∈[an,bn]n=1,2 a 00 水 取x (an+b)为x的近似解
二分法 设 所求的根为 , 则 即 取 为 的近似解 x [ , ] = 1,2...... x an bn n = 1,2...... an x bn n ( ) 0 2 1 lim ( ) lim n 1 − = − = − → → b a b a n n n n = = → → a b x n n n n lim lim( ) 2 1 n an bn x = c = + x