我想将其放入函数newton(x)中,该函数允许用户在其中输入x的值。
from math import *
x=20
for iteration in range(1, 1001):
xnew = x - (((3*10**-5)*exp((log1p(10**3/(3*10**-5)))*(1-exp(-.12*x))))-1)/(.12*(3*10**-5)*exp((log1p(10**3/(3*10**-5))))*(1-exp(-.12*x)*(-.12*x))) # the Newton-Raphson's formula
print("Error",x-xnew," Xn: ", xnew)
if abs(xnew - x) < 0.000001:
break
x = xnew
print('The root : %0.5f' % xnew)
print('The number of iterations : %d' % iteration)
最佳答案
您可以使其成为返回2元组的函数:
from math import *
def newton(x):
xnew = iteration = None
for iteration in range(1, 1001):
xnew = x - (((3*10**-5)*exp((log1p(10**3/(3*10**-5)))*(1-exp(-.12*x))))-1)/(.12*(3*10**-5)*exp((log1p(10**3/(3*10**-5))))*(1-exp(-.12*x)*(-.12*x))) # the Newton-Raphson's formula
print("Error",x-xnew," Xn: ", xnew)
if abs(xnew - x) < 0.000001:
break
x = xnew
return xnew, iteration
xnew, iteration = newton(20)
print('The root : %0.5f' % xnew)
print('The number of iterations : %d' % iteration)
关于python - 我如何将这段代码放入函数中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54680698/