gpt4 book ai didi

c - 用 C 语言的泰勒级数逼近 Sine(x) 并遇到很多问题

转载 作者:行者123 更新时间:2023-11-30 18:12:01 25 4
gpt4 key购买 nike

我正在尝试使用泰勒级数和阶乘的斯特林近似来近似 C 中的正弦(x),但是对于 n<5 和任何 n=>5 的 -0 ,我得到的答案非常奇怪。我实际上昨天才开始学习,所以如果一些更有经验的程序员可以看看它并告诉我出了什么问题,我将不胜感激

正弦泰勒级数

阶乘的斯特林近似

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

int main(){

float x,n,s,i,e,p,f,r;
f=M_PI;
e=2.7182818;
s=0;

printf("What value of sine do you want to apporximate?");
scanf("%f", &x);
printf("With what level of precision do you want to calculate it?");
scanf("%f", &n);
for(i=0;i<=n; ++i);{
r=((2*i)+1);
p=(sqrt(2*r*f)*(pow((r/e),r)));
s=s+(((pow((-1),i))*(pow(x,((2*i)+1))))/p);
}
printf("the value of sine at %f is %f",x,s);
}

最佳答案

检查你的阶乘函数:它返回一个 double ,但是你会看到像 8 或 10 这样的数字的阶乘超出了 double 变量的范围。使用 long 作为返回类型...

关于c - 用 C 语言的泰勒级数逼近 Sine(x) 并遇到很多问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42217069/

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