📄 newton_finding_roots.m
字号:
% To compute M
% Let f(x) = x^2-M;
% then f'(x) = 2*x;
% the algorithm is
% x(n+1) = x(n)-f(x(n))/f'(x(n)) = x(n)-(x(n)^2-M)/(2*x(n))
% = 0.5*(x(n)+M/x(n));
% 第 1 次计算结果:
% 1.50000000000000
%
% 第 2 次计算结果:
% 1.41666666666667
%
% 第 3 次计算结果:
% 1.41421568627451
%
% 第 4 次计算结果:
% 1.41421356237469
%
% 第 5 次计算结果:
% 1.41421356237309
%
% 第 6 次计算结果:
% 1.41421356237309
% Newton's method takes only six iterations.
clear all
clc
format('long');
M = 2;
x = 1; % Initial value
xprev = 0;
i = 0;
while abs(x - xprev) > eps*abs(x)
i=i+1;
xprev = x;
x = 0.5*(x + M/x);
disp(['第 ',num2str(i),' 次计算结果:']);
disp(x); % Print to screen
end
format('short');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -