mathは、Pythonに付属する数学関数モジュールです。ほとんどの種類の数値に適していますが、複素数には適していません。複素数の場合は、cmathモジュールで同じ名前の関数を使用する必要があります。特別な状況では、数学モジュールの関数の戻り値は浮動小数点数です。
数論と表現関数
関数名 | 解釈/コード例 |
---|---|
数学。ceil(x) | x以上の最小の整数を返します。xが浮動小数点数でない場合、xは委任されます。ceil()はIntegerクラスの値を返します。 |
数学。コピーサイン(x、y) | xの絶対値とyの符号に基づいて浮動小数点数を返します>>> math.copysign(2.4、-1.2) -2.4 |
数学。ファブ(x) | xの絶対値を返します |
数学。階乗(x) | xの階乗を返します。xが整数または負の数でない場合、ValueError例外が発生します。 |
数学。床(x) | リターン未満丸みダウン、最大の整数を、XまたはXに等しく、xは浮動小数点数でない場合、次にXを委任する。床()整数値を返します |
数学。fmod(x、y) | xの余りをyで割ったものですが、結果は必ずしもx%yと同じではありません。x%yの余りは下向きの余りであり、fomd関数は余りを0に近づけ、fmod関数の精度を求めます。はより正確であるため、fmod()関数は浮動小数点数に適しています |
数学。frexp(x) | x(m、e)の仮数と指数のペアを返します。mは浮動小数点数、eは整数、m、eは満たす必要があります x== m * 2 **e 。xがゼロの場合、(0.0,0)を返します |
数学。fsum(反復可能) | 反復で正確な浮動小数点値を返し、複数の中間部分を追跡することで精度の低下を回避します。この方法の精度は、IEEE-754算術保証と、丸めモードが半分である一般的な状況によって異なります。Windows以外のバージョンでは、基になるCライブラリが拡張精度の加算を使用し、中間合計が2倍になる場合があります。その結果、有効なビットで最下位のクローズが発生します。 >>> sum([。1、.1、.1、.1、.1、.1、.1、.1、.1、.1]) 0.999999999999999 >>>math。fsum([。1 、。 1、.1、.1、.1、.1、.1、.1、.1、.1]) 1.0 |
数学。gcd(a、b) | aとbの最大公約数を返します。aまたはbのいずれかが負でない場合、関数の値は、aとbを同時に正規化できる最大の正の整数であり、gcd(0,0) 0を返します |
数学。isclose(a、b、*、rel_tol = 1e-09、abs_tol = 0.0) | aとbの値が比較的近い場合はTrueを返し、そうでない場合はFalseを返します。基準は、与えられた絶対公差と相対公差に基づいています。rel_tolは相対許容誤差であり、0より大きくなければならず、aとbの間の最大許容差です。abs_tolは最小絶対許容値であり、少なくとも0です。 |
数学。isfinite(x) | xが有限の桁数の場合、Trueを返し、そうでない場合はFalseを返します。 |
数学。isinf(x) | xが正の無限大または負の無限大の場合はTrueを返し、そうでない場合はFalseを返します。 |
数学。isnan(x) | xがNaNの場合はTrueを返し、そうでない場合はFalseを返します。 |
数学。ldexp(x、i) | x*(2**i) frexp()の逆関数であるReturn |
数学。modf(x) | xの小数部と整数部を返します。どちらの結果もxの符号を持ち、浮動小数点数です。 |
数学。切り捨て(x) | xの実数部を返します切り捨てられた整数 |
べき関数と対数関数
関数名 | 解釈/コード例 |
---|---|
数学。exp(x) | e ** xを返す |
数学。expm1(x) | e ** x-1を返す |
数学。ログ(x、base) | 1つのパラメーターを使用すると、x(基数e)の自然対数が返されます。2つのパラメーターを使用して、log(x)/ log(base)として計算された、指定された基数の対数xを返します。 |
数学。log1p(x) | 1 + xの自然対数を返します(基数e) |
数学。log2(x) | xの対数を基数2に返します。これは、log(x、2)よりも正確です。 |
数学。log10(x) | log(x、10)よりも正確な10を底とするxの対数を返します |
数学。パウ(x、y) | 返回x的y次幂 |
math.sqrt(x) | 返回x的平方根 |
>>> x = 5
>>> math.exp(x)
148.4131591025766
>>> math.expm1(x)
147.4131591025766
>>> math.log(x)
1.6094379124341003
>>> math.log(x, 2)
2.321928094887362
>>> math.log1p(x)
1.791759469228055
>>> math.log2(x)
2.321928094887362
>>> math.log10(x)
0.6989700043360189
>>> math.pow(x, 2)
25.0
>>> math.sqrt(x)
2.23606797749979
三角函数
函数名 | 释义/代码示例 |
---|---|
math.acos(x) | 以弧度为单位返回x的反余弦值 |
math.asin(x) | 以弧度为单位返回x的反正弦值 |
math.atan(x) | 以弧度为单位返回x的反正切值 |
math.atan2(y,x) | 以弧度为单位返回athan(y/x),结果在-pi和pi之间,可以计算角度的正确象限 |
math.cos(x) | 返回x弧度的余弦值 |
math.hypot(x,y) | 返回欧几里德范数,sqrt(xx + y\y),是原点到点(x,y)的向量距离 |
math.sin(x) | 返回x弧度的正弦值 |
math.tan(x) | 返回x弧度的正切值 |
注意: x的取值若超出范围,否则会报ValueError: math domain error
>>> math.acos(2.3)
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
math.acos(2.3)
ValueError: math domain error
>>> math.acos(0.5)
1.0471975511965976
>>> math.asin(0.5)
0.5235987755982988
>>> math.atan(0.5)
0.46364760900080615
>>> math.atan2(0.5,0.5)
0.7853981633974483
>>> math.cos(0.5)
0.8775825618903728
>>> math.hypot(0.5,0.5)
0.7071067811865476
>>> math.sin(0.5)
0.479425538604203
>>> math.tan(0.5)
0.5463024898437905
>>> math.tan(1)
1.557407724654902
>>> math.tan(1.4)
5.797883715482887
>>> math.tan(2)
-2.185039863261519
>>> math.tan(2.5)
-0.7470222972386602
角度转换
函数名 | 释义 |
---|---|
math.degrees(x) | 将角度x从弧度转换为度数 |
math.radians(x) | 将角度x从度数转换为弧度 |
双曲函数
双曲函数是基于双曲线而非圆来对三角函数进行模拟
函数名 | 释义 |
---|---|
math.acosh(x) | 返回x的反双曲余弦值 |
math.asinh(x) | 返回x的反双曲正弦值 |
math.atanh(x) | 返回x的反双曲正切值 |
math.cosh(x) | 返回x的双曲余弦值 |
math.sinh(x) | 返回x的双曲正弦值 |
math.tanh(x) | 返回x的双曲正切值 |
特殊函数
函数名 | 释义 |
---|---|
math.erf(x) | 用来计算传统的统计函数,如累积标准正态分布 |
math.erfc(x) | 返回x的互补误差函数,互补错误函数 定义为 1.0 - erf(x) |
math.gamma(x) | 返回x的伽马函数值 |
math.lgamma(x) | 返回Gamma函数x绝对值的自然对数 |
math模块中的常数
常数 | 释义 |
---|---|
math.pi | 数学常数π=3.1415926… |
math.e | 数学常数e= 2.718281…. |
math.tau | 数学常数τ = 6.283185… |
math.inf | 正无穷大浮点数,负无穷大浮点数使用-math.inf |
math.nan | 浮点”非数字”值 |
math模块是数学函数的包装模块,若使用不符合数学规范,则会触发ValueError
参考文献:
1.https://docs.python.org/English/3.6/library/math.html#math.fmod