等步长扫描算法 ■算法:(求方程f(x)=0的有根区间) (1)输入a,bh; (2)J6=f(aq); (3)x=a+h2=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)若M<0。输出a,xx为有根区间, 停机 (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]
二分法 用二分法(将区间对平分)求解。 令a1=a,b1=b,C=(a1+b1) 若f(a1)f(c)<0,则[a1c1有根区间,否 则[c1,b为有根区间 记新的有根区间为[a2b2],则 a1b1]→[a2b2] 且 (b1-a1)
二分法 ◼ 用二分法(将区间对平分)求解。 令 若 ,则 为有根区间,否 则 为有根区间 记新的有根区间为 , 则 且 , , ( ) 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
二分法 ■对[a2,b2]重复上述做法得 n2 n 且 (b-a) 2
二分法 ◼ 对 重复上述做法得 ◼ 且 [ , ] a2 b2 [ , ] [ , ] ...... [ , ] ...... a1 b1 a2 b2 an bn ( ) 2 1 1 b a b a n n n − = − −
二分法 设所求的根为x 贝 x∈a lim (b, -an)=lim n(b-a)=0 n→0 lman-n→ -lim b=xs 取x=Cn=(an+bn)为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