我被要求编写一个函数来计算(exp(x) - exp(-x))/(2 * x)的泰勒级数,直到绝对误差小于机器的eps。
function k = tayser(xo)
f = @(x) (exp(x) - exp(-x))/(2*x);
abserror = 1;
sum = 1;
n=2;
while abserror > eps
sum = sum + (xo^n)/(factorial(n+1));
n=n+2;
abserror = abs(sum-f(xo));
disp(abserror);
end
k=sum;
我的问题是,abserror永远不会低于机器的eps,导致无限循环。
答案 0 :(得分:1)