原理

题目

代码实现
def f1(x):
return 7*x**5-13*x**4-21*x**3-12*x**2+58*x+3
def f2(x):
return ((13*x**4+21*x**3+12*x**2-58*x-3)/7)**(1/5)
def f3(x):
return (13+21/x+12/(x**2)-58/(x**3)-3/(x**4))/7
def f4(x):
return ((12*x**2-58*x-3)/(7*x**2-13*x-21))**(1/3)
def f5(x):
return ((-58*x-3)/(7*x**3-13*x**2-21*x-12))**(1/2)
def Aitken(x0,f):
k=0
print('第x_{}次迭代的结果为{}'.format(k, x0))
k += 1
print('第x_{}次迭代的结果为{}'.format(k, f(x0)))
while True:
x = x0-((f(x0)-x0)*(f(x0)-x0)/(f(f(x0))-2*f(x0)+x0))
k += 1
print('第x_{}次迭代的结果为{}'.format(k, x))
if (abs(x-x0)<(1e-5)):
break
x0=f(x0)
print("方程的解为:")
print(x)
def Steffensen(x0,f):
k=0
print('第x_{}次迭代的结果为{}'.format(k,x0))
while True:
k+=1
x=x0-((f(x0)-x0)*(f(x0)-x0)/(f(f(x0))-2*f(x0)+x0))
print('第x_{}次迭代的结果为{}'.format(k, x))
if (abs(x-x0)<(1e-5)):
break
x0=x
print("方程的解为:")
print(x)
f=f1
Steffensen(1.5,f)