假设我采用taylor系列的e ^ x,对于n个项,以a = 0为中心的某个随机值,直到误差达到指定值。
错误为error=(exp(x)-approx)/(exp(x))
,错误应达到的指定值为err=0.01
我设法生成了泰勒系列
x=2;
j=1;
for s=[0:1:10]
approx=approx+(x^s)/(factorial(s))
end
但是,我无法集成一个while循环来扩展该系列,直到语句error>err
为false。
我试过
x=2;
j=1;
err=0.01
error=(exp(x)-approx)/(exp(x));
while error>err
for s=[0:1:10]
approx=approx+(x^s)/(factorial(s))
end
end
和
x=2;
j=1;
err=0.01;
s=-1
error=(exp(x)-approx)/(exp(x));
while error>err
s=s+1
approx=approx+(x^s)/(factorial(s))
end
他们都没有给出正确的答案。
如何解决问题。
答案 0 :(得分:1)
确保您的错误计算在for
循环内并初始化术语:
x=2;
j=1;
err=0.01;
s=0;
error = 1e10;
approx = 0;
while error>err
approx=approx+(x^s)/(factorial(s));
error=(exp(x)-approx)/(exp(x));
s=s+1
end