一般迭代法与steffensen迭代法matlab实现

一.算法思想简单迭代法的原理:将一元非线性方程:F(x)=0改写成等价方程: x=P(x),对此,从某个初始值x_0开始,对应式x=P(x)构成迭代公式x_(k+1)=P_((x_k )k=0,1)…,这样就可以确定序列{χ_k }(k=0,1,…)。如果{χ_k }有极限lim┬(k→∞)⁡〖x_k=x^* 〗,由式x_(k+1)=P_((x_k )k=0,1)…两边取极限可得x*=P_((x* ) ),可知x^*为方程:F(x)=0的近似解。Steffensen 迭代法的原理: 通过把改进的 Aitken 方法应用于根据不动点迭代所得到的线性收敛序列,将收敛速度加速到二阶。

二.算法步骤
1.Steffensen迭代法的算法:
Input : 区间端点a,b;最大迭代次数N ;最大误差要求del
Output:近似解或失败信息
while 
n←1
while(n<=N) do:
y←f(x0);z←f(y);
x←x_0-(y-x_0 )^2/(z-2y+x_0 );
If (|x-x0|<del) then;
return x;
End
n←n+1;
x0←x;
end
return False; 
在这里插入图片描述

三.MATLAB程序

2.2之一般迭代法
clc
e=10e-10;
x0=1.5;
x1=(3*x0+1)^(1/5);
while abs(x1-x0)>e;
    x0=x1;
    x1=(3*x0+1)^(1/5)
end
2.2之steffensen法
clc
x0=1.5;
e
  • 4
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值