题目:求 e^(-x)-x=0 的解(解在0附近)
设 f ( x ) = e ^ ( -x ) - x
函数图像:
代码:
from math import *
eq = 1e-6
def f(x):
return pow(e,-x)-x
def binary_search(left,right,x):
mid = left+(right-left)/2.0
fmy=f(mid)
if left<right :
if abs(fmy-x)<eq :
return mid
elif fmy-x>eq :
return binary_search(mid, right, x)
elif fmy-x<-eq :
return binary_search(left, mid, x)
return pow(10,5)
if __name__=='__main__':
out=binary_search(-10,10,0)
print(out)
运行结果:
与图像比较: