首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >努力收敛到欧拉数

努力收敛到欧拉数
EN

Stack Overflow用户
提问于 2020-04-12 22:13:12
回答 2查看 53关注 0票数 1

嗨,我一直在尝试通过使用等式1/N来绘制'e‘的收敛性!限制范围从0到9。

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-12 22:53:39

正如@Daniel所说,通过泰勒展开的Euler's number应该从x=0开始。因此,您可以将您的代码调整为如下所示

代码语言:javascript
复制
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的方法,例如,

代码语言:javascript
复制
terms=[1];
x=10;
terms = cumsum(1./factorial(0:x));
disp(terms)
xplotrange = 0:x;
plot(xplotrange,terms,'b-');
票数 2
EN

Stack Overflow用户

发布于 2020-04-12 22:37:49

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61172782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档