math.h头文件中声明了常用的一些数学运算
數學函數庫,一些數學計算的公式的具體實現是放在math.h里,具體有:
1、 三角函數
double sin(double);正弦
double cos(double);余弦
double tan(double);正切
2 、反三角函數
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]
3 、雙曲三角函數
double sinh (double);
double cosh (double);
double tanh (double);
4 、指數與對數
double frexp(double value,int exp);這是一個將value值拆分成小數部分f和(以2為底的)指數部分exp,并返回小數部分f,即f2^exp。其中f取值在0.5~1.0范圍或者0。
double ldexp(double x,int exp);這個函數剛好跟上面那個frexp函數功能相反,它的返回值是x*2^exp
double modf(double value,double iptr);拆分value值,返回它的小數部分,iptr指向整數部分。
double log (double); 以e為底的對數
double log10 (double);以10為底的對數
double pow(double x,double y);計算x的y次冪
float powf(float x,float y); 功能與pow一致,只是輸入與輸出皆為浮點數
double exp (double);求取自然數e的冪
double sqrt (double);開平方
5 、取整
double ceil (double); 取上整,返回不比x小的最小整數
double floor (double); 取下整,返回不比x大的最大整數,即高斯函數[x]
6 、絕對值
int abs(int i); 求整型的絕對值
double fabs (double);求實型的絕對值
double cabs(struct complex znum);求復數的絕對值
7 、標準化浮點數
double frexp (double f,int p); 標準化浮點數,f = x * 2^p,已知f求x,p (x介于[0.5,1])
double ldexp (double x,int p); 與frexp相反,已知x,p求f
8 、取整與取余
double modf (double,double); 將參數的整數部分通過指針回傳,返回小數部分
double fmod (double,double); 返回兩參數相除的余數
9 、其他
double hypot(double x,double y);已知直角三角形兩個直角邊長度,求斜邊長度
double ldexp(double x,int exponent);計算x(2的exponent次冪)
double poly(double x,int degree,double coeffs []);計算多項式
int matherr(struct exception *e);數學錯誤計算處理程序
source: 《C & C++ Code Capsules》
注意事項
編輯
沒有現成的cot三角函數,可以使用tan(PI/2-x)來實現
double atan2(double y,double x);取值范圍在(PI,PI)之間;這是一個不太常見的函數,主要用來返回y/x的反正切值。
強調一點,1-3類 傳參都是針對以弧度表示的數值,非角度表示的數值。
對于一般的對數求解,考慮利用數學上的對數轉換來實現。
關于fmod:考慮到%只適用與整型數據,這里提出一個專門針對實型數據的取余運算的函數。
int rand(void) 用這函數的時候記得要給隨機種子哦,要不得出的不是真正的隨機數.產生隨機種子可以用srand((unsigned int)time(NULL));這就是由時間產生的隨機種子了。
轉自CSDN博主 hNicholas
總結
以上是生活随笔為你收集整理的math.h头文件中声明了常用的一些数学运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中space_漫谈Pytho
- 下一篇: 求多项式(含浮点)