牛顿迭代法求解立方根 - 代码详解与公式推导

代码示例:

disp('简单牛顿迭代法:');
x0 = 1; % 初始值
for i = 101:111 % 构造101-111的立方根表
    x = x0;
    for j = 1:10 % 迭代10次
        x = (2*x+i/(x^2))/3; % 迭代公式
    end
    fprintf('%3d的立方根为%12.6f
', i, x); % 输出结果
end

迭代公式解释:

该代码中的迭代公式 x = (2*x+i/(x^2))/3 是牛顿迭代法求解立方根的公式。

假设要求解一个数 a 的立方根 x,则可以将问题转化为求解方程 x^3-a=0 的根。牛顿迭代法的基本思想是,从一个初始点 x0 开始,通过不断迭代,逐步逼近方程的根。

在牛顿迭代法中,每次迭代的公式为:

x_{n+1} = x_n - f(x_n)/f'(x_n)

其中 f(x)=x^3-af'(x)=3x^2。将这个公式代入求解立方根的问题中,可以得到:

x_{n+1} = x_n - (x_n^3-a)/(3x_n^2)

化简可得:

x_{n+1} = (2x_n+a/x_n^2)/3

这就是代码中使用的迭代公式。

牛顿迭代法求解立方根 - 代码详解与公式推导

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

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