def cal(f,step,x0,ret):
'''f 方程 step 精度 x0 初始值 ret 方程目标值'''
f2=lambda x: f(x)-ret #转化方程
f3=lambda x: x+step/(1-f2(x+step)/f2(x)) #转化方程的切线 求与 X轴交点
x1=f3(x0)
# y1=f2(x1)
return x1
def test1(ret):
def f1(x):
return 5*x*x+x-5
print('y=5*x*x+x-5')
x0=0
for i in range(10):
x1=cal(f1,0.000001,x0,ret)
y1=f1(x1)
if abs(y1-ret)<0.000001:
print('x,y',x1,y1)
break
x0=x1
def test2():
import math
def f2(x,y):
'''点M(x,y) 到 点 A(0,0) 的距离比到点 B(0,1)的距离的2倍少1'''
MA=math.sqrt(x*x+y*y) #到点A的距离
MB=math.sqrt( x*x+(y-1)*(y-1) )
return MA-2*MB+1
lt=[i/200 for i in range(0,1000)]
rtlt=[]
for j in lt:
x0=0.1
y0=j
def f3(x
牛顿法解方程举例
最新推荐文章于 2022-12-05 12:08:43 发布
本文通过具体例子详细介绍了牛顿法在求解方程中的应用步骤,阐述了迭代过程和收敛性,帮助读者理解并掌握这一数值计算方法。
摘要由CSDN通过智能技术生成