MATLAB 立方根表生成:牛顿迭代法与平行弦法
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
代码说明:
-
牛顿迭代法
- 定义匿名函数
f和fp分别表示目标函数和其导数。 - 设置初始值
x0为 1。 - 循环遍历 101-111,使用牛顿迭代公式进行迭代计算,保留 6 位有效数字。
- 以 11*2 矩阵形式输出结果。
- 定义匿名函数
-
平行弦法
- 定义匿名函数
f表示目标函数。 - 设置初始值
x0为 1,x1为 2。 - 循环遍历 101-111,使用平行弦法公式进行迭代计算,直到误差小于 1e-6。
- 以 11*2 矩阵形式输出结果。
- 定义匿名函数
总结:
本程序成功使用 MATLAB 编程实现了 101-111 的立方根表生成,并展示了牛顿迭代法和平行弦法两种数值方法的应用。
原文地址: https://www.cveoy.top/t/topic/nl6U 著作权归作者所有。请勿转载和采集!