第11周项目7泰勒公式

来源:互联网 发布:太行配煤软件 编辑:程序博客网 时间:2024/05/21 08:49

问题及代码:

/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sin.cpp *作    者:单昕昕 *完成日期:2014年11月13日 *版 本 号:v1.0 * *问题描述:用泰勒公式求sin(π/2)的值和sin(56°)的值。*程序输出:sin(π/2)的值和sin(56°)的值。*/  #include <iostream>#include <iomanip>using namespace std;const double pi=3.1415926;double mysin(double);double myabs(double);int main( ){    cout<<"sin(π/2)的值为"<<mysin(pi/2)<<endl;    cout<<"sin(56°)的值为"<<mysin((14.0/45)*pi)<<endl;    return 0;}//下面定义mysin函数,求sin值double mysin(double x){    double lsin,dpow=x,sum=x;    int i=1,j=1,s=1;    do    {        j=j*(i+1)*(i+2);        dpow*=x*x;   //求阶乘        s=-s;        lsin=dpow/j*s;        sum+=lsin;        i+=2;    }    while(myabs(lsin)>1e-5);  //判断绝对值大小并保留小数点后五位    return sum;}//下面定义myabs函数,求绝对值double myabs(double x){    return ((x>=0)?x:-x);}


 

运行结果:

 

知识点总结:

根据泰勒公式编写程序。

 

学习心得:
泰勒公式本身就很复杂,需要使用不少技巧来完成。这个程序完成的真心不容易,老师也帮助指导了,然后我修正了一下。~~o(>_<)o ~~泪奔

0 0