gpt4 book ai didi

c - C 中的 Arctan Taylor 级数

转载 作者:太空宇宙 更新时间:2023-11-04 01:52:55 29 4
gpt4 key购买 nike

我需要对反正切值执行泰勒级数 50 次。表示 arctan Taylor 级数的域之间的 50 个数字,即 [-1,1]。我已经用手动用户输入对其进行了测试并且它工作正常,但是我在代码中递增 0.01 的 50 个不同输入的 for 循环及其相应的结果一直不成功。到目前为止,我已经尝试了所有我能想到的,我没有想法。任何帮助,将不胜感激。泰勒级数周围的括号是否与另一个 for 循环冲突?我怀疑这是括号,但当我试图修复它时没有任何效果。

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

main (void) {
double n;
double x;
double tSeries=0.0;
double t2;
double t1;

for(n=0;n<=50;++n) {
for(x=-1;x<=1;x=x+0.01) {

t1=(pow(x,2*n+1))*pow(-1,n);
t2=t1/(2*n+1);
tSeries+=t2;

printf("arctan(%lf)=%lf\n",x,tSeries);
}
}
return 0;
}

最佳答案

在您发布的代码中,内层循环针对变量 x,外层循环针对 n 的幂。

我认为您想对每个 x 值求和 n 的值,因此对 n 的循环应该是内部循环。

我认为您还需要将 x 的每个值的总和 tSeries 归零。

最后,我希望你想在计算总和后打印答案,所以 printf 应该在 n 循环之外。

计算幂级数有一些技巧。我喜欢这种东西的数字食谱。尝试第 5 章关于函数的评估。 (C 中的数值食谱,Press 等,第 2 版,1992 年,CUP。)

要立即注意的一件事是,在幂级数的上限固定的情况下,您正在计算多项式。我的 NR 副本的第 5.3 节强烈建议不要使用对 pow() 的调用总和。他们对此非常坚定!

如果您想让我发布正确的代码,请告诉我。

关于c - C 中的 Arctan Taylor 级数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40077693/

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