简单的二分法

基本思想

把函数f(x)的零点所在的区间[a,b](满足f(a)●f(b)<0)“一分为二”,得到[a,m]和[m,b]。根据“f(a)●f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b]。所对得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解。

二分法主要由求零点的函数和二分法函数组成

F(x)=x+1函数

def F(x):
    return x+1

二分法

def Dichotomies(a,b):
    while(F(a)*F(b)<0):
        if(F((a+b)/2)*F(a)<0):
            b=(a+b)/2
        elif(F((a+b)/2)*F(b)<0):
            a=(a+b)/2
        else:
            break
    print((a+b)/2)

主方法输入[a,b]值

if __name__ == "__main__":
    a = int(input())
    b = int(input())
    Dichotomies(a,b)
posted @ 2021-01-04 11:09  MAOCE  阅读(244)  评论(0)    收藏  举报