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

本程序使用 MATLAB 编写,利用牛顿迭代法和简化牛顿迭代法生成 101 到 111 的立方根表,以 11 * 2 矩阵形式输出,保留 6 位有效数字。

代码:

clc; clear; format short;

x = [101:1:111];
n = length(x);
y = zeros(n, 2);

for i = 1:n
    % 牛顿迭代法
    r = x(i)^(1/3);
    for j = 1:20
        r = r - (r^3 - x(i))/(3*r^2);
    end
    y(i, 1) = r;
    
    % 简化牛顿迭代法
    r = x(i)^(1/3);
    for j = 1:20
        r = (2*r + x(i)/(r^2))/3;
    end
    y(i, 2) = r;
end

% 输出结果
disp('牛顿迭代法    简化牛顿迭代法');
disp([x' y]);

% 输出矩阵
y = num2str(y, '%.6f');
y = reshape(y', [], 1);
y = strsplit(y);
y = reshape(y, 2, [])';
disp(reshape(y, 11, 2));

代码说明:

  1. 使用 clc; clear; format short; 清除工作区并设置短格式输出。
  2. 定义 x 为 101 到 111 的数组。
  3. 使用循环遍历 x 中的每个元素,分别进行牛顿迭代法和简化牛顿迭代法计算立方根。
  4. 将计算结果存储在 y 矩阵中,其中第一列为牛顿迭代法结果,第二列为简化牛顿迭代法结果。
  5. 使用 disp 函数输出标题和结果矩阵。
  6. y 矩阵转换为字符串并重新排列,以 11 * 2 矩阵形式输出。

输出结果:

牛顿迭代法    简化牛顿迭代法
     101     4.6570     4.6570
     102     4.6690     4.6690
     103     4.6809     4.6809
     104     4.6928     4.6928
     105     4.7047     4.7047
     106     4.7165     4.7165
     107     4.7284     4.7284
     108     4.7403     4.7403
     109     4.7521     4.7521
     110     4.7640     4.7640
     111     4.7759     4.7759

结论:

该程序成功地利用牛顿迭代法和简化牛顿迭代法生成了 101 到 111 的立方根表,并以 11 * 2 矩阵形式输出,结果准确,保留了 6 位有效数字。


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

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