第十一周项目7-太乐了
生活随笔
收集整理的這篇文章主要介紹了
第十一周项目7-太乐了
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
話說sin和cos是一對夫婦。一天,sin去聽相聲了,cos在家。過了一會,有人敲門,cos開門一看,是一個不認識的多項式函數。cos問:你是誰啊?他說:我是你的老公sin啊。cos說:你不是去聽相聲了嗎?怎么成這幅摸樣了?sin說:是啊,太樂了!
用sin泰勒展式編寫程序,求出sin(π/2)和sin(56°)的值,精度要求達到小數點后6位(即當最后一項的絕對值小于0.00001時,累加結束,求絕對值的函數也可以自定義函數myabs實現)。
/**Copyright (c) 2014,煙臺大學計算機學院*All gight reserved.*文件名稱:temp.cpp*作者:邵帥*完成時間:2014年11月8日*版本號:v1.0 */ #include <iostream> using namespace std; const double pi=3.1415926; double mysin(double x); double myabs(double n); int main( ) {cout<<"sin(π/2)="<<mysin(pi/2)<<endl;cout<<"sin(56°)="<<mysin((56.0/180)*pi)<<endl;return 0; } double mysin(double x) {int n=1,s=1,num=1;double sum=x,xsum=x,i;do{xsum*=x*x;num=num*(n+1)*(n+2);s=-s;n+=2;i=s*xsum/num;sum+=i;}while(myabs(i)>0.00001);return sum; } double myabs(double n) {double f;f=(n>=0)?n:-n;return f; } 運行結果:
方法:
sin函數的泰勒展式: ? ?(注:x取弧度值,而非角度值)
自定義函數解釋:
double mysin(double x) {int n=1,s=1,num=1;double sum=x,xsum=x,i;do{xsum*=x*x;//xsum表示x^2n+1num=num*(n+1)*(n+2); //num表示(2n+1)!,每一次*(n+1)*(n+2)s=-s;//(-1)轉換n+=2;//每一次的n+2i=s*xsum/num;//求出每一項的值sum+=i;//求和}while(myabs(i)>0.00001);return sum; }
-泰勒碉堡-
@ Mayuko總結
以上是生活随笔為你收集整理的第十一周项目7-太乐了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一例无法进入163邮箱的故障排除
- 下一篇: 入门项目·电动车报警器