我可以使用牛顿法通过从新的x值减去旧的x值并检查收敛准则来计算函数的根。在给定封闭时间间隔(例如
)时,有没有办法给定一个函数,并且间隔[a,b] = [0.1,3.0],将通过检查[3.0-0.1] 我提供的代码是使用x值计算收敛准则的。我正在尝试找出是否有一种方法可以使用间隔而不是x值。
from math import *
x = 1.0 #initial value
for j in range(1,101):
xnew = (x**2 + cos(x)**2 -4*x)/(2*(x - cos(x)*sin(x) -2))
if abs(xnew - x) < 0.000001:
break
x = xnew
print('Root = %0.6f ' % xnew)
print('Number of iterations = %d' % j)