要求如下图所示,编程环境为python 3.7.3 windows 32版本
一、什么是牛顿迭代法?
百度百科上说是这样
https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E8%BF%AD%E4%BB%A3%E6%B3%95/10887580?fr=aladdin
推导过程如下:
一般牛顿迭代法的图名都叫做Newton-Raphson。也就是牛顿-拉弗森法
二、使用牛顿迭代法的例程
使用牛顿迭代法时,需要预先估计迭代的起点X0,可以看一下下面的例子。
具体代码如下:
执行的结果是
三、使用牛顿迭代法求立方根
仿照上例,求一个实数的立方根比如X³=a,那么可以将该式子改为X³-a=0
运行结果如下:9的立方根,以及8的立方根都计算出来了。
代码如下:
import math
a = float(input("请输入一个实数"))
def f(x):
return x**3-a
def f_derivative(x):
return 3*x**2
ep=0.00000001
xk=1
xk1=1
while True:
xk1=xk
xk=xk1-f(xk1)/f_derivative(xk1)
print(xk1,xk)
if math.fabs(xk-xk1)<ep:
break
print(xk)
注意:def的函数,从冒号“:”后的下一行,一定要缩进!一定要缩进!因为python是缩进敏感语言,一定要缩进!