1.二分法importnumpyasnpiimportmatplotlib.pyplotaspltdeff(x):returnx**3-x-1defHALF(a,b,epsilon):#区间上下限及误差范围k=1+int((np.log(b-a)-np.log(2*epsilon))/(np.log(2)))ans=(a+b)/2height=[]length=[]foriinrange(1,k+1):iff(ans)==0:breakeliff(a)*f(ans)<0:b=anselse:a=ansheight.append(ans)长度.append(i)ans=(a+b)/2k+=1plt.plot(长度,高度)print(ans)HALF(1,1.5,0.00000001)
