二分法

def fun(x):
    return x**3-2*x-5


def erfenfa(fun,a,b,e):
    err = 1
    a = 2
    b = 3
    while err > e:
        x = (a+b)/2
        err = abs(fun(x))
        if fun(a)*fun(x) < 0:
            b = x
        else:
            a = x
    return x


x = erfenfa(fun, 2, 3, 0.000001)
print('二分法的求解结果为{:.6}'.format(x))

在这里插入图片描述

你可能感兴趣的:(二分法,非线性方程的求解)