【数值分析】迭代法求方程的根(附matlab代码)

题目

迭代法求方程 e x p ( x ) + 10 ∗ x − 2 = 0 exp(x) + 10*x -2=0 exp(x)+10x2=0 的根,要求根有3位小数,初值 x 0 = 0 x_0 =0 x0=0

解析

迭代方程: x k + 1 = ( 2 − e x k ) / 10 x_{k+1}=(2-e^{x_{k}})/10 xk+1=(2exk)/10
x k ∈ [ 0 , 0.5 ] x_{k}∈[0, 0.5] xk[0,0.5] 时, φ ( x k ) = ( 2 − e x k ) / 10 ∈ [ 0 , 0.5 ] φ(x_{k})=(2-e^{x_{k}})/10 ∈[0, 0.5] φ(xk)=(2exk)/10[0,0.5]
∣ φ ′ ( x k ) ∣ = ∣ − e x k ∣ / 10 ≤ L < 1 , L = e 0.5 / 10 = 0.165 |φ'(x_{k})| =|-e^{x_k}|/10≤L<1,L=e^{0.5}/10=0.165 φ(xk)=exk/10L<1L=e0.5/10=0.165
x k + 1 = ( 2 − e x k ) / 10 x_{k+1}=(2-e^{x_{k}})/10 xk+1=(2exk)/10 在[0, 0.5]上整体收敛

Matlab代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 简介:用迭代法求方程exp(x) + 10*x -2=0的根,要求根有3位小数
% 作者:不雨_亦潇潇
% 文件:dichotomy2.m
% 日期:20221013
% 博客:https://blog.csdn.net/weixin_43470383/article/details/127222948
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc; clear all;
syms x                              
x0 = 0;
x1 = (2-exp(x0)) / 10;
n = 1;

while abs(x0-x1)>5*10^(-4)
    x0 = x1;
    x1 = (2-exp(x0)) / 10
    n = n+1
end

x1

运行结果

x1 =
0.089482908192435
n =
2
x1 =
0.090639135859584
n =
3
x1 =
0.090512616674365
n =
4
x1 =
0.090512616674365

x ∗ ≈ x 4 = 0.090512616674365 x*≈x_{4}=0.090512616674365 xx4=0.090512616674365

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不雨_亦潇潇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值