牛顿法解方程举例

本文通过具体例子详细介绍了牛顿法在求解方程中的应用步骤,阐述了迭代过程和收敛性,帮助读者理解并掌握这一数值计算方法。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值