我编写了一个估算e
倒数的函数,并循环遍历n
的值,直到近似值在实际值的给定tolerance
范围内。
目前我使用此代码:
function [approx, n] = calc_e(tolerance)
for n = 1:inf
approx = ((1-1/n)^n);
diff = (1/exp(1)) - approx;
if diff < tolerance, break; end
end
end
这样可以正常工作但是我被告知使用while
循环可以提高效率,但我无法理解如何以这种方式进行操作。
有人可以对此有所了解吗?
答案 0 :(得分:4)
简单地说:
function [approx, n] = calc_e(tolerance)
n = 1;
while (1/exp(1)) - ((1-1/n)^n) >= tolerance
n = n + 1;
end
end