首页 > 其他 > 详细

bisection 二分法求解方程 测试

时间:2021-05-28 14:28:01      阅读:22      评论:0      收藏:0      [点我收藏+]

bisection 二分法求解方程

二分法求解方程

二分法是一种求解方程 $ f(x) = 0 $ 的解的一种方法。

假设函数 $ f(x) $ 在区间 $ [a,b] $ 上连续,并且 $ f(a)*f(b)<0 $,此时就可以用二分法求解。

求解伪代码:

  1. $ a_1 = a; $   $ b_1 = b $ ;
  2. 计算中点 $ p_1 = \frac{(a_1+b_1)}2 $
  3. 如果: $ f(p_1) = 0 $ ,那么方程的解为 $ x=p_1 $ ,终止
  4. 如果: $ f(p_1) <> 0 $
    • 如果: $ f(p_1) * f(a_1)> 0 $,则: $ a_1=p_1;b_1=b_1 $
    • 如果: $ f(p_1) * f(a_1)< 0 $,则: $ a_1=a_1;b_1=p_1 $

重复上述步骤2到4,直到满足误差,停止迭代。

收敛

$ |p_n-p|<=\frac1{2^n}(b-a) $ 是第n次迭代的结果,p为真是解。

举例

方程 $ 3x^2-3x-3 = 0 $在区间 $ [0,2] $ 上的近似解。

\[f(x) = 3x^2-3x-3 ; \]

\[f(0) = -3 ; \]

\[f(2) = 3 ; \]

\[f(\frac{0+2}2) = f(1) = -3 ; \]

代码

[bisection.py]{..\src\arithmetic_analysis\bisection.py}

bisection 二分法求解方程 测试

原文:https://www.cnblogs.com/it88-laobing/p/14821842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!