您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python科學計算常用的數學科學計算庫是什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
1.numpy(高效多維數據表示)
NumPy數組可以將許多數據處理任務表述為簡潔的數組表達式,否則需要編寫循環。用數組表達式代替循環的做法,通常被稱為矢量化。通常矢量化數組運算要比等價的純Python方式快上一兩個數量級,尤其是各種數值計算。
假設我們想要在一組值(網格型)上計算函數sqrt(x^2 + y^2)。np.meshgrid()函數接受兩個一維數組,并產生兩個二維矩陣,對應于兩個數組中所有的(x, y)對。
points = np.arange(-5, 5, 0.01) #1000個間隔相等的點。xs, ys = np.meshgrid(points, points)z = np.sqrt(xs ** 2 + ys ** 2)
2.scipy(數值計算)
Scipy在Numpy的基礎上則加了眾多的數學計算,科學計算以及工程計算中常用的模塊,例如線性代數,常微分方程的數值求解,信號處理,圖像處理,系數矩陣等。在本章中,將通過實例介紹Scipy中常用的的一些模塊。為了方便讀者理解,在示例程序中使用matplotlib,TVTK以及Mayavi等擴展繪制二維以及三維圖表。
Scipy的special模塊是一個非常完整的函數庫,其中包含了基本數學函數,特殊數學函數以及Numpy中出現的所有函數。
伽馬(gamma)函數γ時概率統計學中經常出現的一個函數,它計算公式如下:
顯然這樣計算起來特別的麻煩,幸運的是。scipy.special中有內置的gamma模塊。
>>> import scipy.special as S >>> S.gamma(4) 6.0 >>> S.gamma(0.5) 1.7724538509055159 >>> S.gamma(1+1j) (0.4980156681183554-0.15494982830181081j) >>> S.gamma(1000) inf
Γ(z)函數時結成函數在實數和復數系上的擴展,他的增長速度特別的塊,1000的階乘就超過了雙精度浮點數的表示范圍,因此結果就是無窮大。為了計算更大的范圍可以使用gammaln()計算ln(|Γ(x)|)的只,它使用特殊的算法,能夠直接計算Γ函數的對數值,因此可以表示更大的范圍。
3.sympy(符號計算)
SymPy是Python的一個數學符號計算庫。它目的在于成為一個富有特色的計算機代數系統。它保證自身的代碼盡可能的簡單,且易于理解,容易擴展。SymPy完全由Python寫成,不需要額外的庫。
Sympy安裝
pip install sympy
4.matplotlib(數據可視化)
Matplotlib,是一個Python的2D繪圖庫,通過這個庫,開發者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率圖,條形圖,錯誤圖,散點圖等等
(1)庫的安裝和環境的配置
windows下:
py -3 -m pip install matplotlib
linux下:
python3 -m pip install matplotlib
建議配合Jupyter使用。在jupyter notebook中,使用
%matplotlib inline
進入交互頁面
(2)設置中文環境
首先引入包:
import numpy as np #之后需要用到 import matplotlib as mpl #設置環境變量 import matplotlib.pyplot as plt #繪圖專用 from mpl_toolkits.mplot3d import Axes3D #繪制3D圖1234
為了讓圖片兼容中文的說明、名字等,這里需要:
mpl.rcParams['font.sans-serif'] = ['FangSong'] mpl.rcParams['axes.unicode_minus']=False
感謝各位的閱讀!關于“python科學計算常用的數學科學計算庫是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。