天天看點

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 exp (double);求取自然數e的幂

  double sqrt (double);開平方

  double log (double); 以e為底的對數

  double log10 (double);以10為底的對數

  double pow(double x, double y);計算以x為底數的y次幂

  float powf(float x, float y); 功能與pow一緻,隻是輸入與輸出皆為浮點數

  5 、取整

  double ceil (double); 取上整

  double floor (double); 取下整

  6 、絕對值

  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 [] );計算多項式

  nt matherr(struct exception *e);數學錯誤計算處理程式

Math庫實用彙總

在FP中,Math庫為我們提供了豐富的數學函數。以下介紹在OI中可能會用到的Math庫中一些函數、過程。

使用方法:在程式頭用Uses語句加載Math庫

例子:

Program Ex_Math;

Uses Math;

Begin

Writeln(hypot(3,4));

End.

函數介紹:

? hypot

原型:function hypot(x:float;y:float):float

功能:傳回直角三角形中較長邊的長度,也就是sqrt(sqr(x)+sqr(y))

? ceil

原型:function ceil(x:float):Integer

功能:傳回比參數大的最小整數

引發錯誤:在x超出Integer的範圍時會引發溢出錯誤

? floor

原型:function floor(x:float):Integer

功能:傳回參數小的最大整數

引發錯誤:在x超出Integer的範圍時會引發溢出錯誤

? power

原型:function power(base:float;exponent:float):float

功能:傳回base的exponent次方

引發錯誤:在base為負數且exponent為小數時

? intpower

原型:function intpower(base:float;const exponent:Integer):float

功能:傳回base的exponent次方

? ldexp

原型:function ldexp(x:float;const p:Integer):float

功能:傳回2的p次方乘以x

? log10

原型:function log10(x:float):float

功能:傳回x的常用對數

? log2

原型:function log2(x:float):float

功能:傳回x以2為底的對數

? logn

原型:function logn(n:float;x:float):float

功能:傳回x以n為底的對數

? Max

原型:function Max(a:Integer;b:Integer):Integer

function Max(a:Int64;b:Int64):Int64

function Max(a:Extended;b:Extended):Extended

功能:傳回a與b中較大的一個

? Min

原型:function Min(a:Integer;b:Integer):Integer

function Min(a:Int64;b:Int64):Int64

function Min(a:Extended;b:Extended):Extended

功能:傳回a與b中較小的一個

? arcsin

原型:function arcsin(x:float):float

功能:傳回x的反正弦值,傳回的是弧度指機關

? arccos

原型:function arccos(x:float):float

功能:傳回x的反餘弦值,傳回的是弧度指機關

? tan

原型:function tan(x:float):float

功能:傳回x的正切值,x以弧度為機關

? cotan

原型:function cotan(x:float):float

功能:傳回x的餘切值,x以弧度為機關

? arcsinh

原型:function arcsinh(x:float):float

功能:傳回雙曲線的反正弦

? arccosh

原型:function arccosh(x:float):float

功能:傳回雙曲線的反餘弦

? arctanh

原型:function arctanh(x:float):float

功能:傳回雙曲線的反正切

? sinh

原型:function sinh(x:float):float

功能:傳回雙曲線的正弦

? cosh

原型:function sinh(x:float):float

功能:傳回雙曲線的正弦

? tanh

原型:function sinh(x:float):float

功能:傳回雙曲線的正切

? cycletorad

原型:function cycletorad(cycle:float):float

功能:傳回圓的份數轉換成弧度之後的值

? degtorad

原型:function degtorad(deg:float):float

功能:傳回角度轉換成弧度之後的值

? radtocycle

原型:function radtocycle(rad:float):float

功能:傳回弧度轉換成圓的份數之後的值

? radtodeg

原型:function radtodeg(rad:float):float

功能:傳回弧度轉換成角度之後的值

? MaxValue

原型:function maxvalue(const data:Array[] of float):float

function maxvalue(const data:Array[] of Integer):Integer

function maxvalue(const data:PFloat;const N:Integer):float

function maxvalue(const data:PInteger;const N:Integer):Integer

功能:傳回數組中的最大值

? MinValue

原型:function minvalue(const data:Array[] of float):float

function minvalue(const data:Array[] of Integer):Integer

function minvalue(const data:PFloat;const N:Integer):float

function MinValue(const Data:PInteger;const N:Integer):Integer

功能:傳回數組中的最小值

? sum

原型:function sum(const data:Array[] of float):float

function sum(const data:PFloat;const N:LongInt):float

功能:求數組中所有數之和

? sumsandsquares

原型:procedure sumsandsquares(const data:Array[] of float;var sum:float;

var sumofsquares:float)

procedure sumsandsquares(const data:PFloat;const N:Integer;

var sum:float;var sumofsquares:float)

功能:将數組中的數求和放入num中,求平方和放入sumofsquares中

? **

原型:function operator **(float,float):float(bas:float;expo:float):float

function operator **(Int64,Int64):Int64(bas:Int64;expo:Int64):Int64

功能:同等于Power,這是乘方的操作符

Math庫實用彙總

在FP中,Math庫為我們提供了豐富的數學函數。以下介紹在OI中可能會用到的Math庫中一些函數、過程。

使用方法:在程式頭用Uses語句加載Math庫

例子:

Program Ex_Math;

Uses Math;

Begin

Writeln(hypot(3,4));

End.

函數介紹:

? hypot

原型:function hypot(x:float;y:float):float

功能:傳回直角三角形中較長邊的長度,也就是sqrt(sqr(x)+sqr(y))

? ceil

原型:function ceil(x:float):Integer

功能:傳回比參數大的最小整數

引發錯誤:在x超出Integer的範圍時會引發溢出錯誤

? floor

原型:function floor(x:float):Integer

功能:傳回參數小的最大整數

引發錯誤:在x超出Integer的範圍時會引發溢出錯誤

? power

原型:function power(base:float;exponent:float):float

功能:傳回base的exponent次方

引發錯誤:在base為負數且exponent為小數時

? intpower

原型:function intpower(base:float;const exponent:Integer):float

功能:傳回base的exponent次方

? ldexp

原型:function ldexp(x:float;const p:Integer):float

功能:傳回2的p次方乘以x

? log10

原型:function log10(x:float):float

功能:傳回x的常用對數

? log2

原型:function log2(x:float):float

功能:傳回x以2為底的對數

? logn

原型:function logn(n:float;x:float):float

功能:傳回x以n為底的對數

? Max

原型:function Max(a:Integer;b:Integer):Integer

function Max(a:Int64;b:Int64):Int64

function Max(a:Extended;b:Extended):Extended

功能:傳回a與b中較大的一個

? Min

原型:function Min(a:Integer;b:Integer):Integer

function Min(a:Int64;b:Int64):Int64

function Min(a:Extended;b:Extended):Extended

功能:傳回a與b中較小的一個

? arcsin

原型:function arcsin(x:float):float

功能:傳回x的反正弦值,傳回的是弧度指機關

? arccos

原型:function arccos(x:float):float

功能:傳回x的反餘弦值,傳回的是弧度指機關

? tan

原型:function tan(x:float):float

功能:傳回x的正切值,x以弧度為機關

? cotan

原型:function cotan(x:float):float

功能:傳回x的餘切值,x以弧度為機關

? arcsinh

原型:function arcsinh(x:float):float

功能:傳回雙曲線的反正弦

? arccosh

原型:function arccosh(x:float):float

功能:傳回雙曲線的反餘弦

? arctanh

原型:function arctanh(x:float):float

功能:傳回雙曲線的反正切

? sinh

原型:function sinh(x:float):float

功能:傳回雙曲線的正弦

? cosh

原型:function sinh(x:float):float

功能:傳回雙曲線的正弦

? tanh

原型:function sinh(x:float):float

功能:傳回雙曲線的正切

? cycletorad

原型:function cycletorad(cycle:float):float

功能:傳回圓的份數轉換成弧度之後的值

? degtorad

原型:function degtorad(deg:float):float

功能:傳回角度轉換成弧度之後的值

? radtocycle

原型:function radtocycle(rad:float):float

功能:傳回弧度轉換成圓的份數之後的值

? radtodeg

原型:function radtodeg(rad:float):float

功能:傳回弧度轉換成角度之後的值

? MaxValue

原型:function maxvalue(const data:Array[] of float):float

function maxvalue(const data:Array[] of Integer):Integer

function maxvalue(const data:PFloat;const N:Integer):float

function maxvalue(const data:PInteger;const N:Integer):Integer

功能:傳回數組中的最大值

? MinValue

原型:function minvalue(const data:Array[] of float):float

function minvalue(const data:Array[] of Integer):Integer

function minvalue(const data:PFloat;const N:Integer):float

function MinValue(const Data:PInteger;const N:Integer):Integer

功能:傳回數組中的最小值

? sum

原型:function sum(const data:Array[] of float):float

function sum(const data:PFloat;const N:LongInt):float

功能:求數組中所有數之和

? sumsandsquares

原型:procedure sumsandsquares(const data:Array[] of float;var sum:float;

var sumofsquares:float)

procedure sumsandsquares(const data:PFloat;const N:Integer;

var sum:float;var sumofsquares:float)

功能:将數組中的數求和放入num中,求平方和放入sumofsquares中

? **

原型:function operator **(float,float):float(bas:float;expo:float):float

function operator **(Int64,Int64):Int64(bas:Int64;expo:Int64):Int64

功能:同等于Power,這是乘方的操作符

http://www.ityran.com/thread-1211-1-1.html