/*
*Corpyright (c)2013,烟台大学计算机学院
*All right reseved.
*作者:高古尊
*完成日期:2013年11月9日
*版本号:v1.0
*输入描述:
*问题描述:用sin 和cos 的泰勒展开式编程序,
求出sin( π/2)、sin(56°)、cos(87°)、cos( π/3)
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
#include <math.h>
using namespace std;
const double pi=3.1415926;
double mysin(double);
double mycos(double);
double myabs(double,double);
int main( )
{
cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;
cout<<"sin(56°)的值为"<<mysin((56.0/180)*pi)<<endl;
cout<<"cos(87°)的值为"<<mycos((87.0/180)*pi)<<endl;
cout<<"cos(π/3)的值为"<<mycos(pi/3)<<endl;
return 0;
}
//下面定义mysin函数,求sin值
double mysin(double x)
{
return myabs(x,3);
}
//下面定义mycos函数,求cos值
double mycos(double x)
{
return myabs(x,2);
}
//下面定义myabs函数,求绝对值
double myabs(double x,double j)
{
double sum=0,a,m=0,y,i;
j=j-2;
if(j==1)
y=x;
else
y=1;
do
{
a=1;
m++;
j=j+2;
//求阶乘
for(i=1; i<=j; i++)
{
a*=i;
}
sum+=pow(x,j)/a*pow(-1,m);
}
while(pow(x,j)/a*pow(1,m)>=0.000001);
sum+=y;
return sum;
}
用sin 和cos 的泰勒展开式编程序,求出sin( π/2)、sin(56°)、cos(87°)、cos( π/3)
最新推荐文章于 2021-05-12 03:57:09 发布