以下是使用逐次逼近法开平方的 MATLAB 代码:

function y = squareRoot(x, epsilon) % x:待开平方的数 % epsilon:误差限制

% 初始化 y = x; diff = inf;

% 当误差小于 epsilon 时停止迭代 while diff > epsilon % 更新 y y = (y + x/y) / 2; % 计算当前误差 diff = abs(y^2 - x); end

end

使用示例:

squareRoot(2, 0.001) ans = 1.4142

squareRoot(3, 0.0001) ans = 1.7321

squareRoot(4, 1e-6) ans = 2.0000


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

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