1. 程式人生 > >Python math 模組與 cmath 模組

Python math 模組與 cmath 模組

Python math 模組提供了許多對浮點數的數學運算函式。

Python cmath 模組包含了一些用於複數運算的函式。

cmath 模組的函式跟 math 模組函式基本一致,區別是 cmath 模組運算的是複數,math 模組運算的是數學運算。

要使用 math 或 cmath 函式必須先匯入:

import math

1、math 模組

檢視 math 檢視包中的內容:

>>>import math
>>> dir(math)['__doc__','__file__','__loader__','__name__','__package__','__spec__'
,'acos','acosh','asin','asinh','atan','atan2','atanh','ceil','copysign','cos','cosh','degrees','e','erf','erfc','exp','expm1','fabs','factorial','floor','fmod','frexp','fsum','gamma','gcd','hypot','inf','isclose','isfinite','isinf','isnan','ldexp','lgamma','log','log10','log1p','log2','modf','nan','pi'
,'pow','radians','sin','sinh','sqrt','tan','tanh','tau','trunc']>>>

math模組常用函式:

pi數字常量,圓周率

e表示一個常量

sqrt(x)         求x的平方根

fabs(x)         返回x的絕對值

fmod(x)        得到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)          返回x和y的最大公約數

2、cmath模組

  Python 提供對於複數運算的支援,複數在 Python 中的表示式為 C==c.real+c.imag*j,複數 C 由他的實部和虛部組成。

對於複數,Python 支援它的加減乘除運算,同時提供了 cmath 模組對其他複雜運算進行支援。cmath 模組和 Python 中的 math 模組對應, math提供對於實數的支援, 在這裡主要討論 cmath 模組中的幾個函式的用法。

檢視 cmath 檢視包中的內容

>>>import cmath
>>> dir(cmath)['__doc__','__file__','__loader__','__name__','__package__','__spec__','acos','acosh','asin','asinh','atan','atanh','cos','cosh','e','exp','inf','infj','isclose','isfinite','isinf','isnan','log','log10','nan','nanj','phase','pi','polar','rect','sin','sinh','sqrt','tan','tanh','tau']>>>

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 浮點值, 表示自然對數的底

3、math常用函式用法

ceil(x)      取整數值(向上取);如果x是一個整數,則返回x

>>> math.ceil(4.01)
5
>>> math.ceil(4.99)
5
>>> math.ceil(-3.99)
-3
>>> math.ceil(-3.01)
-3

copysign(x, y)    把y的正負號加到x前面。可以使用0,即copysign(1.0, -0.0)返回 -1.0

>>> math.copysign(2,3)
2.0
>>> math.copysign(2,-3)
-2.0
>>> math.copysign(3,8)
3.0
>>> math.copysign(3,-8)
-3.0

cos(x)    求x的餘弦,x必須是弧度


            
           

相關推薦

Python math 模組 cmath 模組

Python math 模組提供了許多對浮點數的數學運算函式。Python cmath 模組包含了一些用於複數運算的函式。cmath 模組的函式跟 math 模組函式基本一致,區別是 cmath 模組運算的是複數,math 模組運算的是數學運算。要使用 math 或 cmat

數學運算模組:Python3.7的math模組cmath模組

數學運算模組:math與cmath math模組 其實不起眼的math里加進去了很多黑科技。 常規部分 math.ceil(x) 向上取整 >>> import math >>> ma

Python 函數常用模組 - 叠代器

doc 集合 process cal (()) bin back lis () 叠代器 我們已經知道可以直接作用於 for 循環的數據類型有以下幾種: 一類是集合數據類型: list 、 tuple 、 dict 、 set 、 str 、 bytes 等。 另一類是 g

Python 函數常用模組 - 生成器

board lin 停止 叠代 pri mod expr ner next() 生成器 什麼是列表生成式? 這個是基本的列表 >>> a = [1, 2, 3] >>> a [1, 2, 3] 也可以用另一種方式來表示 >>&

Python 的 os sys 模組

os與sys模組的官方解釋如下: os: This module provides a portable way of using operating system dependent functionality. 這個模組提供了一種方便的使用作業系統函式的方法。 sys: This module pr

Python中ossys模組區別及使用方法

1.定義 os 與 sys 模組的不同的官方解釋 os:提供一種方便的使用作業系統函式的方法 sys:提供訪問由直譯器使用或維護的變數和在與直譯器互動使用到的函式。 因此, sys 模組區別於 os 模組,sys 模組提供了一系列的函式和變數,用於操控 python 的執行時環境,

python資料分析挖掘模組簡介

   所謂資料分析,即對已知的資料進行分析,然後提取出一-些有價值的資訊,比如統計出平均數、標準差等資訊,資料分析的資料量有時可能不會太大,而資料探勘,是指對大量的資料進行分析與挖掘,得到一些未知的,有價值的資訊等,比如從網站的使用者或使用者行為資料中挖掘出使用者的潛在需求資訊,

[Python基礎]timedatetime模組的函式說明及使用例項

time模組 模組time包含用於獲取當前時間,操作時間和日期.從字串中讀取日期,將日期格式化為字串的函式. 日期可表示為實數,也可表示為包含9個整數的元組 例如tuple(2018,12,24,12,2,56,-1,-1,-1) --------------

python os模組path模組 重要函式

os模組: 作用:管理檔案和目錄 屬性: os.name:返回系統型別        常用的windows系統 --> nt os.environ:返回當前系統所有的環境變數 os.environ.get(ver):返回ver環境變數的內容 函式: os

Python 二分查詢 bisect 模組

Python 的列表(list)內部實現是一個數組,也就是一個線性表。在列表中查詢元素可以使用 list.index() 方法,其時間複雜度為O(n)。對於大資料量,則可以用二分查詢進行優化。二分查詢要求物件必須有序,其基本原理如下: 1.從陣列的中間元素開始,如果中間元素正

軟體測試中樁模組驅動模組的概念區別(轉載),打樁

樁模組和驅動模組(以C語言為例):   很多人對樁模組和驅動模組的概念會搞不清楚,那麼下面來介紹這兩個概念:   模組結構例項圖:   假設現在專案組把任務分給了7個人,每個人負責實現一個模組。你負責的是B模組,你很優秀,第一個完成了編碼工作,現在需要開展單元測試工作,先分析結構圖:   1、由於

Node.js readline模組util模組的用法

本篇文章主要介紹了Node.js readline模組與util模組的使用,寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。 #1. 使用readline模組逐行讀取流資料 1.1. 建立Interface物件 在re

js模組Node模組php模組

PHP 中為什麼就可以直接 require、include 因為 PHP 當初在設計的時候就加入了這個功能 PHP 這門語言天生就支援 模組作用域 可以使用 API 來進行檔案與檔案之間的依賴載入 在 Node 這個環境中對 JavaScript 進行了特殊的模

Freeswitch的http_cache模組xml_curl模組

XML_Curl模組:   1 架構:freeswitch是由各個模組組成,xml_curl模組主要作用是可以實現將freeswitch的相關xml配置檔案通過webserver的方式管理,如下圖,當在freeswitch開啟了xml_curl介面的時候,通過配置檔案,比

Angular2(八)--module化(核心模組共享模組

Ahead-Of-time (AoT) 在main.ts可以設定AppModuleNgFactory(The app module factory produced by the static of

Node.js中request模組http模組之間的區別

原文https://stackoverflow.com/questions/27783806/what-is-the-difference-between-request-and-http-modules-in-node-js http包含對原生HTTP協議的支援而requ

Pythonmathcmath模組的使用

目錄 Math模組 pi                數字常量,圓周率 e                 表示一個常量 sqrt(x)         求x的平方根 fabs(x)         返回x的絕對值 factorial(x)    取x的

python ossys模組介紹

轉自https://www.jb51.net/article/128172.htm os 與 sys 模組的不同的官方解釋 os:提供一種方便的使用作業系統函式的方法 sys:提供訪問由直譯器使用或維護的變數和在與直譯器互動使用到的函式。 因此, sys 模組區別於 os 模組,sy

[Python模組]timedatetime模組的函式說明及使用例項

time模組 模組time包含用於獲取當前時間,操作時間和日期.從字串中讀取日期,將日期格式化為字串的函式. 日期可表示為實數,也可表示為包含9個整數的元組 例如tuple(2018,12,24,12,2,56,-1,-1,-1) ------------------------

【9】python關於os模組os.path的相關操作

  ---恢復內容開始---     #__author:"吉*佳" #date: 2018/10/20 0020 #function: # os模組知識點 import os # 獲取平臺名稱: 列印:nt代表windows posix 代表lin