Python演算(2)数学モジュール

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 **exがゼロの場合、(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

おすすめ

転載: blog.csdn.net/u010670117/article/details/115059105