牛顿法
原理
本节转自:
http://blog.csdn.net/itplus/article/details/21896453
作者:peghoty
n=1的情况
import matplotlib.pyplot as plt
import numpy as np
import math
def fun(x): #原函数
return x**3-7*x**2+2*x+1
def fun1(x): #一阶导
return 3*x**2-14*x+2
def fun2(x): #二阶导
return 6*x-14
def nex(x): #迭代求下一个点
return x-fun1(x)/fun2(x)
plt.plot是可以使用数组传入,也可使用np
def plot(cur_x,i):
le,ri=-10,10
x=np.linspace(le,ri,1000)
plt.xlim(le,ri)
plt.ylim(-100,100)
y=fun(x)
plt.plot(x,y,'r-')
cur_y=fun(cur_x)
plt.plot(cur_x,cur_y,'b+')
plt.savefig(str(i)+'.png')
plt.show()
now=7.5
plot(now,-1)
for i in range(5):
now=nex(now)
plot(now,i)