'''
二分法求非线性方程
'''
def f(x):
return x**2-3*x+2
def Dichotomy(f,a,b,e):
'''
:param f:函数
:param a:下区间
:param b:上区间
:param e:误差
:return:返回取0时的x
'''
fa=f(a)
fb=f(b)
if fa*fb>=0:
print('两端数值必须异号')
x=(a+b)/2
while (b-a)>=2*e:
if fa*fb<0:
b=x
fb=f(x)
else:
a=x
fa=f(x)
x=(a+b)/2
return x
x=Dichotomy(f,0.8,1.2,0.0001)
print(x)
二分法求非线性方程
最新推荐文章于 2024-07-27 12:20:46 发布