使用matlab编写程序构造立方根表并且满足以下要求:1构造101-111的立方根表以112矩阵的形式进行输出2保留6位有效数字3用两种方法:牛顿迭代法、简化牛顿迭代法
%% 牛顿迭代法 clc; clear all; x0 = 1.5; %初始值 eps = 1e-6; %精度 f = @(x) x^3 - 101; %方程 df = @(x) 3*x^2; %导数 x1 = x0 - f(x0)/df(x0); %牛顿迭代公式 while abs(x1-x0) > eps x0 = x1; x1 = x0 - f(x0)/df(x0); end fprintf('用牛顿迭代法求解101的立方根为:%.6f\n', x1)
%% 简化牛顿迭代法 clc; clear all; x0 = 1.5; %初始值 eps = 1e-6; %精度 f = @(x) x^3 - 101; %方程 x1 = x0 - f(x0)/(3x0^2); %简化牛顿迭代公式 while abs(x1-x0) > eps x0 = x1; x1 = x0 - f(x0)/(3x0^2); end fprintf('用简化牛顿迭代法求解101的立方根为:%.6f\n', x1)
%% 构造立方根表 clc; clear all; eps = 1e-6; %精度 f = @(x) x^3; %方程 df = @(x) 3*x^2; %导数 res = zeros(11,2); %初始化结果矩阵 for i = 1:11 x0 = 1.5 + (i-1)*0.1; %初始值 x1 = x0 - f(x0-101)/(df(x0-101)); %牛顿迭代公式 while abs(x1-x0) > eps x0 = x1; x1 = x0 - f(x0-101)/(df(x0-101)); end res(i,1) = 101 + (i-1)*0.1; res(i,2) = x1; end format shortG disp(res)
原文地址: https://www.cveoy.top/t/topic/b1ut 著作权归作者所有。请勿转载和采集!