c语言泰勒公式求余弦函数 c语言 泰勒公式

c语言计算cosx 用泰勒公式double cos1(double e)
{
double cos_x=0;
double temp=1;
for (int i=0;i5;)
{
cos_x += pow(-1,i)*pow(x,2*i)/temp;
i++;
temp *= 2*i*(2*i-1);
}
return cos_x;
}
泰勒正弦,余弦公式#includestdio.h
#define pi 3.14159265//pi定义
double mypow(double,int); //自定义指数函数
int mult(int);//阶乘函数
double mysin(double);//sin函数
double mycos(double);//cos函数
double mypow(double x,int n)
{
int i;
double result=1;
if(n0)
for(i=1;i=n;i++)
result*=x;
return result;
}
int mult(int n)
{
int i;
int result=1;
if(n0)
for(i=1;i=n;i++)
result*=i;
return result;
}
double mysin(double x)
{
int flag=1;//标志正负
int i;
double result=0;
while(x=2*pi)
x-=2*pi;
while(x0)
x+=2*pi;
if(xpi)
{
x=2*pi-x;
flag=-flag;
}
if(xpi/2) //将任意弧度转化到[0,pi/2]
x=pi-x;
if(xpi/4) //[pi/4,pi/2]调用cosX在[0,pi/4]求解c语言泰勒公式求余弦函数,减少误差
return flag*mycos(pi/2-x);
for(i=0;i10;i++)//taylor展开
{
result+=((double)1)*mypow(x,2*i+1)*mypow(-1,i)/mult(2*i+1);
}
return flag*result;
}
double mycos(double x)//与sin函数过程类似
{
int flag=1;
int i;
double result=0;
while(x=2*pi)
x-=2*pi;
while(x0)
x+=2*pi;
if(x1.5*pi)
x=2*pi-x;
if(xpi/2x=pi)
{
x=pi-x;
flag=-flag;
}
if(xpix=1.5*pi)
{
x-=pi;
flag=-flag;
}
if(xpi/4)
return flag*mysin(pi/2-x);
for(i=0;i10;i++)
{
result+=((double)1)*mypow(x,2*i)*mypow(-1,i)/mult(2*i);
}
return flag*result;
}
int main()//测试程序
{
int x;
while(1)
{
scanf("%d",x);//可以输入任意一个角度(角度制)c语言泰勒公式求余弦函数,-1终止程序
printf("cosx=%lf\n",mycos(x*pi/180));//转换成弧度c语言泰勒公式求余弦函数,再调用前面c语言泰勒公式求余弦函数的函数 。
printf("sinx=%lf\n",mysin(x*pi/180));
if(x==-1)
break;
}
return 0;
}
如何在C语言中解决正弦或余弦函数的表示方法我是一个如何在C语言中解决正弦或余弦函数的表示方法我是一个?头文件包含 。math.h
cos :余弦函数
函数原型:double cos(double x);
头文件:#includemath.h
是否是标准函数:是
函数功能:求x的余弦值,这里 , x为弧度 。
返回值:计算结果的双精度值 。
例程如下: 求cosx 。
#include stdio.h
#include math.h
int main(void)
{
double result;
double x = M_PI 。
C语言泰勒公式求sinwhie((a/b)=c),这里有错误,根据循环体来看,a是带符号的,所以a/b在循环一次后就变负值鸟,应该改成while(fabs(a/b)=c)才正确!
试试吧,应该是这样,希望对你有帮助!
如何用C语言实现正弦或余弦函数如果只是需要值,那么调用math中的sin和cos函数即可.
参数为弧度, 如果要使用的参数是角度,需要自行转换一下.
如果想自己写,可以参考泰勒展开, 计算近似值.一般计算到最后一项小于1e-6即可.
C语言如何求三角形最大角的余弦值通过输入一个角度的自定义变量a(输入范围在-180到180度)
先判断范围,若大于90或者小于-90,则a=180-a , 设立标志位置1;否则不管
然后b=a乘pi除180度,换算成弧度制 。
定义变量c=余弦的泰勒级数展开,原公式里面的x就是b,百度有公式(余弦的泰勒级数展开),一般取到前5项就好 。

推荐阅读