gpt4 book ai didi

c++ - 如何计算精度为 E=0.0001 的序列 e^(-x) 之和?

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:51 25 4
gpt4 key购买 nike

所以我可以计算出没有准确度 E 的序列和。

    int t=1, x, k;
float sum, a, result, factorial=1, E=0.0001;
for(k=0;k<=(n);k++){
while(t<=n){
factorial*=t;
t++;
}
sum=(pow(-x,k))/factorial;
sum+=sum;
//while(fabs(sum-???)<E){
// result=sum;
//}
}

所以我知道序列的总和sum(k)。但是要准确计算 E,我必须知道前面元素的总和 sum(k-1)。如何从 for 循环 中得到 sum(k-1)?对不起英语。

最佳答案

这是 e ^ (-x) 的泰勒级数吗?如果是这样,你写错了。我不认为你所得到的会收敛。

http://www.efunda.com/math/taylor_series/exponential.cfm

e ^ (-x) 是 1 + (-x) + (-x)^2/2! + (-x)^3/3! + ...

double calculate_power_of_e(double xx, double accuracy) {
double sum(1.0);
double term(1.0);
for (long kk=1; true; ++kk) {
term *= (-xx) / kk;
sum += term;
if (fabs(term) < accuracy)
break;
}

return sum;
}

printf("e^(-x)" = %.4f\n", calculate_power_of_e(5.0, .0001));

关于c++ - 如何计算精度为 E=0.0001 的序列 e^(-x) 之和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com