我想知道在使用牛顿法求根时如何输出迭代次数。我正在使用Scipy自动计算根,所以我想知道是否有一种方法可以知道进行了多少次迭代:
from spicy.optimize import newton
from math import *
f = lambda x : x**2 - sin(x)
ans = newton(f, 1, tol = 1.0E-8, maxiter = 100)
print(round(ans, 8))
Spicy是scipy的好名字。 :)
开个玩笑,您只需要在对full_output=True
的调用中包括newton
(更多信息,请参见doc)。执行您的代码,我通过打印ans获得此输出:
(0.8767262153950625, converged: True
flag: 'converged'
function_calls: 7
iterations: 6
root: 0.8767262153950625)