c++ sin的泰勒展开式实现
c++ sin的泰勒展开式实现
南城小镇 发表于3年前
c++ sin的泰勒展开式实现
  • 发表于 3年前
  • 阅读 809
  • 收藏 7
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

// sinx.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int factorial(int num){
    int a=1;
    for(int i=1;i<num;i++){
        a=a*(i+1);
    }
    return a;
}

double ssin(double t){
    bool flag = true;//T减法,F加法
    t=3.14159265/(180/t);//换算成弧度
    double result = t;
    double a=0,b=0;
    double oddnum = 0;
    for(int i=0;i<12;i++){//精度
        oddnum = 2*(i+1)+1;
        a=pow(t,oddnum);
        b= (double)factorial(oddnum);
        if(flag){
            result = result - (a/b);
            flag = false;
        }
        else{
            result = result + (a/b);
            flag = true;
        }
    }
    return result;
}
int _tmain(int argc, _TCHAR* argv[]){
    //sin(20°) = 0.34202014332566873304409961468226 
    double a = ssin(20);//角度
    cout<<a;
    system("pause");
}

vs2012

共有 人打赏支持
粉丝 2
博文 17
码字总数 11735
×
南城小镇
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: