求方程f(x)=0的根的二分法算法 (1)输入:有根区间a,b的a,b值及精度控制量ε (2)jf(a)f(b)>0then返回第l步,重新 输入a,b值else转第3步; (3) while a-b>ε时做 (a+b)计算f(x) 2)if f(a)f(x)<o then a, bAla,x else La, bAle, b endwhile (4)输出x=(a+b)
求方程f(x)=0的根的二分法算法 ( ). 2 1 (4) endwhile ; [ , ] [ , ]. 2) ( ) ( ) 0 [ , ] [ , ]; ( ), ( ); 2 1 1) (3) | | , 3 ; (2) ( ) ( ) 0 1 , (1) : [ , ] , ; x a b else a b x b if f a f x then a b a x x a b f x while a b a b else if f a f b then a b a b = + = + − 输出 令 计算 时做 输入 值 转第 步 返回第 步 重新 输入 有根区间 的 值及精度控制量
求方程f(x)=0的全部实根的二分法算法 (1)输入:a,b,h,E; (2)a1=a,b1=a1+h (3) while b1<b时做 I)while f(a,f(b,)>0ta,=a;b,=a,+h, end while while|b1-a1}ε时做 (a1+b1)计算f(x)
求方程f(x)=0的全部实根的二分法算法 ( ); ( ); 2 1 1 2)while | | endwhile; 1)while ( ) ( ) 0 ; ; (3)while (2) ; ; (1) : , , , ; 1 1 0 1 1 1 1 1 1 1 1 1 1 1 x a b f x b a f a f b a a b a h b b a a b a h a b h 计算 时做 做 时做 输入 = + − = = + = = +
求方程f(x)=0的全部实根的二分法算法 2iff(x)=0转(3); if f(an)f(x)<o then [a1,bAlai,x else[a12b1△[x,b1] endwhile 3)输出:x;a1=x+,;b=a1+h endwhile
求方程f(x)=0的全部实根的二分法算法 endwhile ; ; ; 10 3) : ; endwhile ; [ , ] [ , ]. 3 if ( ) ( ) 0 [ , ] [ , ] 2 if ( ) 0 (3); 1 1 1 1 1 1 1 1 1 1 0 0 b a h h x a x else a b x b f a f x then a b a x f x = + = + = 输出 转
例题 ■例1设方程f(x)=x3-x-1,a,b]=[12] 解:取加=0.1扫描得 f(1.3)=-0.61<0 f(1.4)=0.344>0 方程的有根区间为1.3,4] 又∵f(x)=3x2-1>0.,x∈[1.31 即f(x)=0在[.34]有唯一根
例题 ◼ 例1 设方程 解:取h=0.1,扫描得: 又 即 在 有唯一根。 ( ) 1,[ , ] [1,2] 3 f x = x − x − a b = (1.4) 0.344 0 (1.3) 0.61 0 = = − f f 方程的有根区间为[1.3,1.4]. ( ) 3 1 0, [1.3,1.4] ' 2 f x = x − x f (x) = 0 [1.3,1.4]
2.2一般迭代法 2.2.1迭代法及收敛性 对于f(x)=0有时可以写成x=0(x)形式 如:x3-x-1=0台x=3x+1 x-COSx=osx=cosx
2.2一般迭代法 ◼ 2.2.1 迭代法及收敛性 对于 有时可以写成 形式 如: f (x) = 0 x = (x) 3 3 3 1 1 0 1 x x x x x x = − − − = = + x −cos x = 0 x = cos x