import math
def f1(x,f):
if f==0:
return x**2-3*x+2-math.exp(x) # 函数式
else:
return 2*x-3-math.exp(x) # 函数式的求导
def f2(x,f):
if f==0:
return x ** 3 + 2 * x ** 2 + 2 + 10 * x - 20
else:
return 3*x**2+4*x+10
count=0 # 计算循环次数
x1=1.5 # x=1时输出小于0,x=0时输出大于0,设初始值为1.5
print("迭代初始值为:x=1.5")
i=x1-f1(x1,0)/f1(x1,1)
while (abs(x1-i)>=1e-8)&(f1(x1,1)!=0):
# print的格式化输出,count和x1去补前面两个空位
print("迭代次数:%f,迭代值为:%f"%(count,x1))
x2 = x1 - f1(x1, 0) / f1(x1, 1)
i=x1 # 暂时存储x1的值
x1=x2
count+=1
Python_牛顿迭代法求方程的实根
最新推荐文章于 2022-11-03 10:00:00 发布