有函数f(x)=x5-15*x4+85x**3-225x*2+274x-121,已知f(1.5)>0,f(2.4)<0,且在[1.5,2.4]区间中有且只有一个根,求该根,要求保留小数点后6位数字。
提示:
1.已知f(1.5)>0,f(2.4)<0,说明函数在该区间内单调下降。
2.使用二分法,逐步逼近求解
3.当f(x)的绝对值小于1e-6时,就可认为找到近似解x了。
lo=1.5
hi=2.4
sep = 0.000001
while True:
x = (hi+lo)/2
f = x**5-15*x**4+85*x**3-225*x**2+274*x-121
if abs(f)<=sep:
print(round(x,6))
break
elif f>0 :
lo = x
elif f<0 :
hi = x