嗨,我一直在尝试通过使用等式1/N来绘制'e‘的收敛性!限制范围从0到9。
clc,clear
terms=[1];
x=10;
for i=2:x
terms(i,1)=terms(i-1,1) + 1/factorial(i);
end
disp(terms)
xplotrange = 0:9;
plot(xplotrange,terms,'b-')使用代码,我打算绘制“x”轴上的项数和“y”轴上的级数结果。但是我搞不懂为什么在for循环中输出的数字数组会收敛到1.718而不是2.718?
发布于 2020-04-12 22:53:39
正如@Daniel所说,通过泰勒展开的Euler's number应该从x=0开始。因此,您可以将您的代码调整为如下所示
terms=[1];
x=10;
for i=2:x
terms(i,1)=terms(i-1,1) + 1/factorial(i-1);
end
disp(terms)
xplotrange = 0:9;
plot(xplotrange,terms,'b-')或者使用cumsum的方法,例如,
terms=[1];
x=10;
terms = cumsum(1./factorial(0:x));
disp(terms)
xplotrange = 0:x;
plot(xplotrange,terms,'b-');发布于 2020-04-12 22:37:49
用1初始化terms并从2开始for循环,实际上是从i=1开始,但和必须从i=0开始。1/0!是您缺少的1。
https://stackoverflow.com/questions/61172782
复制相似问题