MATLAB 立方根表生成:牛顿迭代法与平行弦法

本程序使用 MATLAB 编程实现 101-111 的立方根表,采用牛顿迭代法和平行弦法两种方法,并以 11*2 矩阵形式输出,保留 6 位有效数字。

代码示例:

clc, clear
format long

% 牛顿迭代法
f = @(x) x.^3 - n;
fp = @(x) 3*x.^2;
x0 = 1;
for n = 101:111
    x = x0;
    for i = 1:20
        x = x - f(x)/fp(x);
    end
    fprintf('%d	%.6f	',n,x);
    if mod(n-100,11) == 0
        fprintf('
');
    end
end

% 平行弦法
f = @(x) x.^3 - n;
x0 = 1;
x1 = 2;
for n = 101:111
    x = x1 - f(x1)*(x1-x0)/(f(x1)-f(x0));
    while abs(x - x1) >= 1e-6
        x0 = x1;
        x1 = x;
        x = x1 - f(x1)*(x1-x0)/(f(x1)-f(x0));
    end
    fprintf('%.6f	',x);
    if mod(n-100,11) == 0
        fprintf('
');
    end
end

代码说明:

  1. 牛顿迭代法

    • 定义匿名函数 ffp 分别表示目标函数和其导数。
    • 设置初始值 x0 为 1。
    • 循环遍历 101-111,使用牛顿迭代公式进行迭代计算,保留 6 位有效数字。
    • 以 11*2 矩阵形式输出结果。
  2. 平行弦法

    • 定义匿名函数 f 表示目标函数。
    • 设置初始值 x0 为 1,x1 为 2。
    • 循环遍历 101-111,使用平行弦法公式进行迭代计算,直到误差小于 1e-6。
    • 以 11*2 矩阵形式输出结果。

总结:

本程序成功使用 MATLAB 编程实现了 101-111 的立方根表生成,并展示了牛顿迭代法和平行弦法两种数值方法的应用。


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

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