%% 牛顿迭代法 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)

MATLAB 立方根表生成:牛顿迭代法和简化牛顿迭代法

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

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