MATLAB 立方根表生成:牛顿迭代法与简化牛顿迭代法
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));
代码说明:
- 使用
clc; clear; format short;清除工作区并设置短格式输出。 - 定义
x为 101 到 111 的数组。 - 使用循环遍历
x中的每个元素,分别进行牛顿迭代法和简化牛顿迭代法计算立方根。 - 将计算结果存储在
y矩阵中,其中第一列为牛顿迭代法结果,第二列为简化牛顿迭代法结果。 - 使用
disp函数输出标题和结果矩阵。 - 将
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 著作权归作者所有。请勿转载和采集!