MATLAB 立方根表计算:牛顿迭代法和平行弦法

本文将使用 MATLAB 语言实现两种方法来计算立方根表,分别是牛顿迭代法和简单牛顿迭代法(平行弦法),并输出最终的 11*2 矩阵结果。

1. 牛顿迭代法

clc;
clear;

% 牛顿迭代法
disp('使用牛顿迭代法构造立方根表:');
for i = 101:111
    x = i;
    for j = 1:6
        x = x - (x^3 - i)/(3*x^2);
    end
    fprintf('%d的立方根为:%.6f
', i, x);
end

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

% 简单牛顿迭代法(平行弦法)
disp('使用简单牛顿迭代法构造立方根表:');
for i = 101:111
    x0 = i/2;
    x1 = i;
    for j = 1:6
        x2 = x1 - (x1^3 - i)*(x1 - x0)/(x1^3 - x0^3);
        x0 = x1;
        x1 = x2;
    end
    fprintf('%d的立方根为:%.6f
', i, x2);
end

3. 输出 11*2 矩阵

% 输出11*2矩阵
disp('输出11*2矩阵:');
matrix = zeros(11, 2);
for i = 1:11
    matrix(i, 1) = (100+i)^3;
    matrix(i, 2) = ((100+i)^(1/3));
end
disp(matrix);

代码错误说明:

上述代码出现以下错误:

错误: 文件:test3.m 行:9 列:6
输入字符不是 MATLAB 语句或表达式中的有效字符内容:

该错误是因为第 9 行缺少了一个空格,导致程序无法识别出该行的含义。正确的代码应该是:

disp('使用牛顿迭代法构造立方根表:');

需要在 '使用' 和 '牛顿迭代法' 之间添加一个空格。


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

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