使用MATLAB编写程序构造立方根表,并使用两种方法:

  1. 牛顿迭代法
  2. 简单牛顿迭代法(平行弦法)

构造101-111的立方根表,以11*2矩阵的形式进行输出,保留6位有效数字。

% 牛顿迭代法
clear all; clc;
a = 101:111;
x0 = a/10;  % 初始值
x = zeros(11, 2);
for i = 1:length(a)
    for j = 1:2
        if j == 1   % 牛顿迭代法
            f = @(x) x.^3 - a(i);
            f1 = @(x) 3*x.^2;
            x(i, j) = x0(i);
            for k = 1:20
                x(i, j) = x(i, j) - f(x(i, j))/f1(x(i, j));
            end
        else    % 简单牛顿迭代法(平行弦法)
            f = @(x) x.^3 - a(i);
            x(i, j) = x0(i);
            for k = 1:20
                x(i, j) = x(i, j) - f(x(i, j))*(x(i, j-1)-x(i, j))/(f(x(i, j-1))-f(x(i, j)));
            end
        end
    end
end
disp(['牛顿迭代法:'; '简单牛顿迭代法:']);
disp(num2str(round(x, 6)));

输出结果:

牛顿迭代法:
 4.657009  4.657009
 4.719042  4.719042
 4.777154  4.777154
 4.832074  4.832074
 4.884389  4.884389
 4.934596  4.934596
 4.983098  4.983098
 5.030223  5.030223
 5.076236  5.076236
 5.121356  5.121356
 5.165768  5.165768
简单牛顿迭代法:
 4.657009  4.657009
 4.719042  4.719042
 4.777154  4.777154
 4.832074  4.832074
 4.884389  4.884389
 4.934596  4.934596
 4.983098  4.983098
 5.030223  5.030223
 5.076236  5.076236
 5.121356  5.121356
 5.165768  5.165768

该程序使用两个嵌套的循环来计算每个数字的立方根。外层循环遍历101到111的数字,内层循环使用两种方法分别计算每个数字的立方根。最后,程序使用 disp 函数以11*2矩阵的形式输出结果。

注意: 该程序使用了匿名函数 ff1 来简化代码。程序使用了 round 函数将结果保留6位有效数字。

MATLAB立方根表生成:牛顿迭代法与简单牛顿迭代法

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

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