利用matlab实现迭代法求解方程的根

题目:给定方程

 构造迭代格式并用迭代方程求方程的根,精确至4位有效数

问题求解:根据数学分析已知该方程有唯一实根,x*在区间[1,2]

构造如下迭代格式:

 根据定理2.1,迭代收敛

因此利用迭代格式求解方程的根,取初值x0=1.3

编写如下matlab程序求解方程的根:

format long
x=linspace(0,0,10);%定义x[10]=0;数组
x0=single(1.3)%初始值
x(1)=sqrt(2-log(x0))
epsk=abs(x(1)-x0);
k=2;
while epsk>0.0005 %判断是否达到迭代条件
x(k)=sqrt(2-log(x(k-1)))%迭代格式
epsk=abs(x(k)-x(k-1));%|xk-xk-1|的值
k=k+1;
end

因此求解得到如下结果

 由结果可以看出只需迭代四次即可求解得到

x1=1.318194; x2=1.312912; x3=1.314440; x4=1.313997

|x4-x3|<1/2*10^-3

所以x*近似值为1.313997

注:这里程序判断迭代终止是根据后验误差估计式进行分析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值