c語言正切函數
Ⅰ 用c語言實現三角函數及反三角函數怎麼實現
包含頭文件math.h,然後就可以使用sin、asin等這些庫函數了,那些三角函數都有,直接引用即可。注意它們的輸入參數是double型或double型弧度。
Ⅱ c語言中tan函數的用法
設AB=BD=DE=EC=1
則BC=1+1+1=3
tan角AEB=1/2,tan角ACB=1/3
由公式tan(a+b)=(tana+tanb)/(1-tanatanb)得
tan(角AEB+角ACB)
=(1/2+1/3)/(1-(1/2)×(1/3))
=(5/6)/(5/6)
=1
所以角AEB+角ACB=45度。
(2)c語言正切函數擴展閱讀:
建立了半徑與圓周的度量單位以後,希帕克和托勒密先著手計算一些特殊圓弧所對應的弦長。比如 60°弧(1/6圓周長)所對的弦長,正好是內接正六邊形的邊長,它與半徑相等,因此得出60°弧對應的弦值是60個半徑單位(半徑長的1/60為一個單位)。
用同樣的方法,可以算出120°弧、90°弧以及72°弧所對應的弦值。有了這些弧所對應的弦值,接著就利用所稱的」托勒密定理」,來推算兩條已知所對弦長的弧的」和」與」差」所對的弦長。
以及由一條弧所對的弦長來計算這條弧的一半所對的弦長。正是基於這樣一種幾何上的推算。他們終於造出了世界上第一張弦表。
Ⅲ 用C語言表示反正弦,反餘弦,反正切函數
計算反正切函數(使用歐拉變換公式,精度很高),反正切函數的級數展開公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
當|x| > 1時,級數絕對值發散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉換之後再進行計算。
等價轉換公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情況
0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)
//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以後按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}
if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
級數計算就不用我給代碼了吧。
Ⅳ 怎樣用C語言表示反正弦,反餘弦,反正切函數呢
計算反正切函數(使用歐拉變換公式,精度很高),反正切函數的級數展開公式:
f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...
當|x| > 1時,級數絕對值發散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉換之後再進行計算。
等價轉換公式:
a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)
特殊情況
0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)
//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以後按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;
if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;
for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}
if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}
級數計算就不用我給代碼了吧。
Ⅳ 在C語言中怎樣求反正切,正切是tan,是atan嗎
是的啊,我給你再舉個例子,以下兩行分別列印出tan(45)=1,atan(1)=45。
注意:要用double類型,不然會得到錯誤的結果。
#include <stdio.h>
#include <math.h>
#define pi 3.1415926
void main()
{
printf("%f\n",tan(double(45)/double(180)*pi));
printf("%f\n",atan(1)*double(180)/pi);
}
Ⅵ 請問反正切函數arctanx用c語言怎麼表示
double atan(double x)
x 的反正切函數值tan-1x,傳回的值在 [-pi/2,pi/2] 之間
double atan2(double y, double x)
y/x 的反正切函數值tan-1(y/x),傳回的值在 [-pi, pi] 之間
arctanX的導數是1/(1+X²)這里的X=x/2復合函數求導,需要先求子函數的導數,即X'=1/2再乘上arctanX的導數所以所求導數是1/[2(1+x²/4)]
C語言中之數學函數
C語言提供了以下的數學函數,要使用這些函數時,在程序文件頭必須加入:
#include
編譯時,必須加上參數「-lm」(表示連結至數學函式庫),例如「gcc -lm test.c」。
函數之自變數與傳回之值型別見自變數或函數前之型別宣告。
函數已經在「math.h」或其它標頭檔宣告過了,因此在使用時不必再加型別宣告,例如「y=sin(x);」,不用寫成「y=double sin(double x);」。
函數說明
double sin(double x)
x 的正弦函數值
double cos(double x)
x 的餘弦函數值
double tan(double x)
x 的正切函數值
double asin(double x)
x 的反正弦函數值 sin-1x,x的值在 [-1,1] 之間,傳回的值在 [-p/2,p/2] 之間
double acos(double x)
x 的反餘弦函數值cos-1x,x的值在 [-1,1] 之間,傳回的值在 [-p/2,p/2] 之間
double atan(double x)
x 的反正切函數值tan-1x,傳回的值在 [-p/2,p/2] 之間
double atan2(double y, double x)
y/x 的反正切函數值tan-1(y/x),傳回的值在 [-p, p]
Ⅶ C語言里sin函數和cos函數的調用
C語言里sin函數和cos函數是C標准數學函數庫中的函數,調用需要引入math.h頭文件。
一、sin()函數描述:
C 庫函數 double sin(double x) 返回弧度角 x 的正弦。sin() 函數的聲明:double sin(double x)。
參數:x -- 浮點值,代表了一個以弧度表示的角度。
返回值:該函數返回 x 的正弦。
二、cos() 函數描述:
cos() 函數的功能是求某個角的餘弦值。cos()函數的聲明:double cos(double x)。
參數:x -- 浮點值,代表了一個以弧度表示的角度。
返回值:該函數返回 x 的餘弦。
(7)c語言正切函數擴展閱讀:
相關的三角函數:
double asin (double); 結果介於[-PI/2,PI/2]
double acos (double); 結果介於[0,PI]
double atan (double); 反正切(主值),結果介於[-PI/2,PI/2]
double atan2 (double,double); 反正切(整圓值),結果介於[-PI,PI]
Ⅷ 正切函數tanx在c 中的語言表達式是什麼
就是tan(x)。x是double型,返回也是double型;需要包含頭文件math.h。
Ⅸ c語言中tan(PI/2-x)是什麼意思
三角函數,二分之PAI減去x的正切。
Ⅹ c語言中atan是什麼意思
函數名: atan
功 能: 反正切函數(C++)
用 法: double atan(double x);
輸 入: -∞~+∞
(註:受限於形式參數的范圍,實際輸入范圍為double型的范圍,即負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308)
輸 出: -pi/2~pi/2
輸入為負值,輸出就是 負值。。