gpt4 book ai didi

c++ - C++中的余弦函数没有任何数学函数

转载 作者:行者123 更新时间:2023-11-30 05:02:55 24 4
gpt4 key购买 nike

我正在编写代码来计算十进制数(以弧度为单位)的余弦值。问题是当我输入一个小数字时,我只能得到正确答案。它使用泰勒级数。

double coseno(float x)
{
double t = x;
double cos= t;
for ( int a=1; a<20.0; ++a)
{
double mult = -x*x/((2*a)*(2*a-1));
t *= mult;
cos += t;
}
return cos;
}

最佳答案

  1. 你犯了一个错误。一开始你应该将 t 设置为 1(不是 x);
  2. 你忘记了术语。如果数字太大或太小,您可以简单地使用一些 while。
    最终它完美地工作:
#include <math.h> //for M_PI
double coseno(float x){
while(x<0) x+=2*M_PI;
while(x>2*M_PI) x-=2*M_PI;
double t = 1;
double cos= t;
for ( int a=1; a<40; ++a)
{
double mult = -x*x/((2*a)*(2*a-1));
t *= mult;
cos += t;
}
return cos;
}

关于c++ - C++中的余弦函数没有任何数学函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49603442/

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