解非线性方程python实现弦截法

1.基本概念

        弦截法基本实现与牛顿迭代法相同,但是将牛顿迭代法中的导数,用差商来代替,即

        与牛顿迭代法相比,弦截法更容易实现,但可能会出现收敛慢、振荡或发散的情况。通常可以通过调整初始点的选择、迭代控制和收敛准则等方式来提高算法的可靠性和收敛速度。

2.代码实现

        求以下方程在0.5附近的根

x e^x-1=0

"""
@Time : 2023/10/31 0012 13:18
@Auth : yeqc
"""


import math

x0, x1 = 0.5, 0.6
N = 1000
for i in range(0, N):
    x2 = x1 - ((x1 - math.e ** (-x1)) * (x1 - x0)) / ((x1 - x0) - (math.e ** (-x1) - math.e ** (-x0)))
    print("结果:", x2)
    x0 = x1
    x1 = x2
    if x2 * (math.e ** x2) - 1 < 10 ** (-8):
        break

牛顿迭代法:python实现牛顿迭代法_安心不心安的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安心不心安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值