用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。提示:牛顿迭代法求非线性方程的根的迭代公式为x
(n+1)
=xn
-f(x)/f’(x) 。
算法源码
def f(x): ##原函数
return(2*(x**3)-4*(x**2)+3*x-6)
def g(x): ##原函数求导
return(6*(x**2)-8*x+3)
x=1.5
while (1):
a=x
x=x-f(x)/g(x)
if (abs(x-a)<(1e-5)): ##abs()函数返回绝对值,1e-5为10的负5次方
break
print("方程的解为:")
print(x)
版权声明:本文为qq_45239614原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。