% 构造立方根表 % 作者:XXX % 时间:2021年X月X日

clc; % 清空命令窗口,便于观察输出结果 format short; % 设置输出格式,保留6位有效数字

% 牛顿迭代法 disp('牛顿迭代法:'); x0 = 1; % 初始值 for n = 101:111 % 构造101-111的立方根表 f = @(x) x^3 - n; % 定义函数 df = @(x) 3*x^2; % 定义导函数 x = x0; % 初始值赋值 for i = 1:10 % 迭代10次 x = x - f(x)/df(x); % 迭代公式 end fprintf('%d的立方根为:%.6f ', n, x); % 输出结果 end

% 简单牛顿迭代法(平行弦法) disp('简单牛顿迭代法(平行弦法):'); x0 = 1; % 初始值 for n = 101:111 % 构造101-111的立方根表 f = @(x) x^3 - n; % 定义函数 df = @(x) 3*x^2; % 定义导函数 x = x0; % 初始值赋值 x1 = x - f(x)/df(x); % 第一次迭代 for i = 2:10 % 迭代9次 x2 = x1 - f(x1)/((f(x1)-f(x))/(x1-x)); % 迭代公式 x = x1; % 更新x值 x1 = x2; % 更新x1值 end fprintf('%d的立方根为:%.6f ', n, x1); % 输出结果 end

% 输出结果以112矩阵的形式进行输出 disp('结果矩阵:'); for n = 101:111 f = @(x) x^3 - n; df = @(x) 3x^2; x0 = 1; x = x0; for i = 1:10 x = x - f(x)/df(x); end x1 = x0; for i = 2:10 x2 = x1 - f(x1)/((f(x1)-f(x))/(x1-x)); x = x1; x1 = x2; end fprintf('%d的立方根为:%.6f ', n, x, x1); if mod(n-100, 2) == 0 % 控制输出格式,每行输出两个数 fprintf(' '); end end

MATLAB立方根表生成:牛顿迭代法与平行弦法

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

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