在C語言中要使用三角函數(shù)的話,首先備哪燃要包含math.h頭文件。

成都創(chuàng)新互聯(lián)專注于康平網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供康平營銷型網(wǎng)站建設(shè),康平網(wǎng)站制作、康平網(wǎng)頁設(shè)計、康平網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造康平網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供康平網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
其次,緩段自變量的值必須要以弧度為單位,括號要使用英文標(biāo)點。比如,求sin(30°)的話,把度數(shù)換算為弧度,要先除以180,再仿虛乘以π。
要用以下的語句:
double x;
x=sin(30/180*3.1415926);
本質(zhì)有問題。
cos(x) = x^0/0!-x^2/2!+x^4/4!-x^6/6!+……
這個公式是運用泰勒公式把函數(shù) f(x)=cos(x) 在 x=0 點展開成多項式 ,當(dāng) n 不是很大時 ,只有 x=0 附近的數(shù)才能算出比較準(zhǔn)確的值,而當(dāng) n 很大時 n! 也非常大 ,這時若 x1 那么 x^n 也非常大 ,如果仍采用常規(guī)措施怎么可能會扒返信對呢?不溢出才怪。
給一些提示:
1,利用函數(shù)周期性,始終保持較小的 x ;
2,如果已經(jīng)求得 t = x^n/n! ,那么
x^(n+2)/(n+2)! = t * x^2 / ( (n+1)*(n+2)) ;
這樣整個運算過程中就能盡量避免出現(xiàn)太大的值 ,并能提高效率 ,這只是個思路世耐,實春輪現(xiàn)時請注意細節(jié)。
順便給個粗略的實現(xiàn),僅供參考,如下:
double funcos(double e, double x)
{
int flag = 1,m = 0;
double k = 1 ,sum = 0;
x = fmod(x,2*3.1415926) ;
while( fabs(k) = e || fabs(sum) 1 ){
sum += flag*k;
k /= ( (m+1)*(m+2) / (x*x) );
m += 2;
flag = -flag;
}
return sum;
}
你的程序其他地方?jīng)]有問題,printf 不同于 scanf ,會自動對精度進行擴展,所以 printf("%f",...); 可以輸出 double 。
顯然讀者想要通過泰基寬勒展開式近似求解cos(X)
錯誤1:
while(-1E-7tt1E-7),應(yīng)改為while(!(-1E-7tt1E-7))
錯誤2:double sum=1,t=1,f=1,v; ,嫌顫應(yīng)改為double sum=1,t=1,f=1,v=1;
錯誤3:f=(-1.0)*x*x;,應(yīng)改為f*=(-1.0)*x*x;
錯誤4: v=(i-1)*i;, v*=(i-1)*i;
最終程序為:
#includestdio.h
double cos(double x) //函數(shù)定義和形參說明
{
double sum=1,t=1,f=1,v=1; //t由分子分母兩部分構(gòu)成,f表示分子,v表示分母,r表示符號
int i=2;
while(!(-1E-7tt1E-7))
{
f*=(-1.0)*x*x;
v*=(i-1)*i;
i+=2;
t=(f/v);
sum+=t;
}
return(sum);
}
void main()
{
double x,a;
printf("搏者亮x=");
scanf("%lf",x);
a=cos(x);
printf("cos(%lf)=%lf\n",x,a);
}
本文題目:c語言函數(shù)庫cos c語言函數(shù)庫 查詢手冊
網(wǎng)頁路徑:http://www.chinadenli.net/article44/ddpeohe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、商城網(wǎng)站、微信公眾號、Google、微信小程序、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)