【发布时间】:2019-11-12 10:46:17
【问题描述】:
我可以使用牛顿法计算函数的根,方法是从新的 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)
【问题讨论】:
-
嗨,欢迎来到 Stack Overflow! :-) 这似乎是一个数学问题,而不是一个编码问题。如果您了解数学并且正在努力将其转换为代码,那么您能否发布更多关于您试图将其转换为 python 程序的数学?如果您不了解数学,那么这不是 SO 的主题,但您可以通过 math.stackexchange 询问!
标签: python newtons-method