解非线性方程python实现埃特肯Aitken加速迭代法

1.基本概念

        Aitken加速法(Aitken's method)是一种针对迭代序列加速收敛的方法,旨在提高迭代过程的收敛速度。它通过使用当前近似解的差分来构造一个更快收敛的序列。

        迭代公式如下:

\left\{\begin{array}{l} \bar{x}_{k+1}=g\left(x_k\right) \\ \tilde{x}_{k+1}=g\left(\bar{x}_{k+1}\right) \\ x_{k+1}=\bar{x}_{k+1}-\frac{\left(\bar{x}_{k+1}-\tilde{x}_{k+1}\right)^2}{\bar{x}_{k+1}-2 \tilde{x}_{k+1}+x_k} \end{array}\right.

2.代码实现

求方程 x^3-x-1=0在x=1.5附近的一个根(用六位有效数字计算)
"""
@Time : 2023/10/31 0012 13:18
@Auth : yeqc
"""

x0 = x = 1.5
N = 1000

for i in range(0, N):
    x_bo = x0 ** 3 - 1
    x_ba = x_bo ** 3 - 1
    x = x_ba - ((x_ba - x_bo) ** 2) / (x_ba - 2 * x_bo + x)
    print(f'x_bo = {x_bo}, x_ba = {x_ba}, x = {x}')
    x0 = x
    if abs(x0 - x) < 10 ** (-5):
        break

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安心不心安

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

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

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

打赏作者

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

抵扣说明:

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

余额充值