Python中math和cmath模組的使用
阿新 • • 發佈:2018-12-19
目錄
Math模組
- pi 數字常量,圓周率
- e 表示一個常量
- sqrt(x) 求x的平方根
- fabs(x) 返回x的絕對值
- factorial(x) 取x的階乘的值
- fmod(x,y) 得到x/y的餘數,其值是一個浮點數
- pow(x, y) 返回x的y次方,即x**y
- isfinite(x) 如果x是正無窮大或負無窮大,則返回True,否則返回False
- isinf(x) 如果x是正無窮大或負無窮大,則返回True,否則返回False
- hypot(x) 如果x是不是無窮大的數字,則返回True,否則返回False
- isnan(x) 如果x不是數字,則返回True,否則返回False
- ldexp(x) 返回x*(2**i)的值////
- log(x, a) 返回x的自然對數,以a為基數(不寫則預設以e為基數),a引數給定時,將x的對數返回給定的a,計算式為:log(x)/log(a
- log10(x) 返回x的以10為底的對數
- log1p(x) 返回x+1的自然對數(基數為e)的值
- log2(x) 返回x的基2對數
- modf(x) 返回由x的小數部分和整數部分組成的元組
- trunc(x) 返回x的整數部分
- ceil(x) 取大於等於x的最小的整數值,如果x是一個整數,則返回x
- floor(x) 取小於等於x的最大的整數值,如果x是一個整數,則返回自身
- radians(x) 把角度x轉換成弧度,與degrees 為反函式
- degrees(x) 把x從弧度轉換成角度
- sin(x) 求x(x為弧度)的正弦值
- sinh(x) 求x(x為弧度)的雙曲正弦值
- cos(x) 求x的餘弦,x必須是弧度
- tan(x) 返回x(x為弧度)的正切值
- tanh(x) 返回x(x為弧度)的雙曲正切值
- copysign(x, y)把y的正負號加到x前面,可以使用0
- exp(x) 返回math.e,也就是2.71828的x次方
- expm1(x) 返回math.e的x(其值為2.71828)次方的值減1
- frexp(x) 返回一個元組(m,e),其計算方式為:x分別除0.5和1,得到一個值的範圍
- fsum(x) 對迭代器裡的每個元素進行求和操作
- gcd(x,y) 返回x和y的最大公約數
import math
print(math.pi)
print(math.e)
print(math.sqrt(100))
print(math.fabs(-5.5))
print(math.factorial(5))
print(math.pow(10,2))
print(math.fmod(5,2)
###############################
3.141592653589793
2.718281828459045
10.0
5.5
120
100.0
1.0
Cmath模組
對於複數,Python 支援它的加減乘除運算,同時提供了 cmath 模組對其他複雜運算進行支援。cmath 模組和 Python 中的 math 模組對應, math提供對於實數的支援, 在這裡主要討論 cmath 模組中的幾個函式的用法。
1)極座標和笛卡爾座標表示的轉換
C==c.real+c.imag*j 的複數表示方法為複數的笛卡爾表示法, cmath 模組中的 polar() 方法和 rect() 方法可以對複數進行極座標表示和笛卡爾表示方法的轉換。 例:
>>> import cmath
>>> Z=1+2j
>>> print cmath.polar(Z)
(2.23606797749979, 1.1071487177940904)
>>> a,b=cmath.polar(Z)
>>> print cmath.rect(a,b)
(1+2j)
polar 函式對一個輸入的笛卡爾形勢的複數進行計算,輸出為一個二元組,第一個值為Z的模值, 第二個為幅度值。 rect() 函式對輸入的模和幅度值進行計算輸出笛卡爾表示。
如果需要單獨對一個複數進行幅度值的求解,可以呼叫 cmath.phrase(x) 函式,返回幅度值。
2)複數的冪指數與對數函式
複數的指數函式為 cmath.exp(x), 用來求解 e^x 表示式。
cmath.log(x[,base]) 用來求以 Base 為底的 x 的對數。
cmath.log10(x) 用來求以 10 為底 x 的對數
cmath.sqrt(x) 用來求 x 的平方根。
3)複數的三角函式方程
包括所有的三角函式計算 acos(x) asin(x) atan(x) sin(x) cos(x) tan(x)。
4)引數類判斷
cmath.isinf(x) 如果x的實部或者虛部為無窮大,則返回true。
cmath.isnan(x)如果x的實部或者虛步不是數字則返回true。
5)常量支援
cmat.pi 浮點值, 表示圓周率的大小
cmat.e 浮點值, 表示自然對數的底