努力收敛到欧拉数



嗨,我一直在努力通过使用方程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?

正如@Daniel所说,通过泰勒展开的欧拉数应该从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-');

1初始化terms并在2开始for循环,实际上是从i=1开始的,但总和必须从i=0开始。1/0!就是您丢失的1

相关内容

  • 没有找到相关文章