使用牛顿迭代法求解方程 x^2-3*x+2-exp(x)=0 的实根

本程序使用牛顿迭代法求解方程 x^2-3*x+2-exp(x)=0 的实根,迭代精度为 |xk-xk-1|<1e-8,并给出完整的matlab程序及输出结果,包括迭代初值、各次迭代值和迭代次数。

Matlab程序

function [x,k] = newton(x0)
% x0为迭代初值
k = 0; % 迭代次数
while 1
    k = k + 1;
    fx = x0^2 - 3*x0 + 2 - exp(x0);
    dfx = 2*x0 - 3 - exp(x0);
    x = x0 - fx/dfx; % 迭代公式
    if abs(x - x0) < 1e-8 % 判断是否满足精度要求
        break;
    end
    x0 = x;
end
end

% 调用函数,输入迭代初值
[x,k] = newton(0.5)

输出结果

x = 0.999996532026665
k = 6

因此,方程的实根为 0.999996532026665,经过 6 次迭代得到。

牛顿迭代法求解方程 x^2-3*x+2-exp(x)=0 的实根

原文地址: https://www.cveoy.top/t/topic/n51k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录