溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python科學(xué)計(jì)算常用的數(shù)學(xué)科學(xué)計(jì)算庫(kù)是什么

發(fā)布時(shí)間:2021-05-09 09:26:07 來(lái)源:億速云 閱讀:230 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)python科學(xué)計(jì)算常用的數(shù)學(xué)科學(xué)計(jì)算庫(kù)是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

python的五大特點(diǎn)是什么

python的五大特點(diǎn):1.簡(jiǎn)單易學(xué),開(kāi)發(fā)程序時(shí),專注的是解決問(wèn)題,而不是搞明白語(yǔ)言本身。2.面向?qū)ο?,與其他主要的語(yǔ)言如C++和Java相比, Python以一種非常強(qiáng)大又簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無(wú)需修改就可以在各種平臺(tái)上運(yùn)行。4.解釋性,Python語(yǔ)言寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。5.開(kāi)源,Python是 FLOSS(自由/開(kāi)放源碼軟件)之一。

1.numpy(高效多維數(shù)據(jù)表示)

NumPy數(shù)組可以將許多數(shù)據(jù)處理任務(wù)表述為簡(jiǎn)潔的數(shù)組表達(dá)式,否則需要編寫(xiě)循環(huán)。用數(shù)組表達(dá)式代替循環(huán)的做法,通常被稱為矢量化。通常矢量化數(shù)組運(yùn)算要比等價(jià)的純Python方式快上一兩個(gè)數(shù)量級(jí),尤其是各種數(shù)值計(jì)算。

假設(shè)我們想要在一組值(網(wǎng)格型)上計(jì)算函數(shù)sqrt(x^2 + y^2)。np.meshgrid()函數(shù)接受兩個(gè)一維數(shù)組,并產(chǎn)生兩個(gè)二維矩陣,對(duì)應(yīng)于兩個(gè)數(shù)組中所有的(x, y)對(duì)。

points = np.arange(-5, 5, 0.01) #1000個(gè)間隔相等的點(diǎn)。xs, ys = np.meshgrid(points, points)z = np.sqrt(xs ** 2 + ys ** 2)

2.scipy(數(shù)值計(jì)算)

Scipy在Numpy的基礎(chǔ)上則加了眾多的數(shù)學(xué)計(jì)算,科學(xué)計(jì)算以及工程計(jì)算中常用的模塊,例如線性代數(shù),常微分方程的數(shù)值求解,信號(hào)處理,圖像處理,系數(shù)矩陣等。在本章中,將通過(guò)實(shí)例介紹Scipy中常用的的一些模塊。為了方便讀者理解,在示例程序中使用matplotlib,TVTK以及Mayavi等擴(kuò)展繪制二維以及三維圖表。

Scipy的special模塊是一個(gè)非常完整的函數(shù)庫(kù),其中包含了基本數(shù)學(xué)函數(shù),特殊數(shù)學(xué)函數(shù)以及Numpy中出現(xiàn)的所有函數(shù)。

伽馬(gamma)函數(shù)γ時(shí)概率統(tǒng)計(jì)學(xué)中經(jīng)常出現(xiàn)的一個(gè)函數(shù),它計(jì)算公式如下:

顯然這樣計(jì)算起來(lái)特別的麻煩,幸運(yùn)的是。scipy.special中有內(nèi)置的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)函數(shù)時(shí)結(jié)成函數(shù)在實(shí)數(shù)和復(fù)數(shù)系上的擴(kuò)展,他的增長(zhǎng)速度特別的塊,1000的階乘就超過(guò)了雙精度浮點(diǎn)數(shù)的表示范圍,因此結(jié)果就是無(wú)窮大。為了計(jì)算更大的范圍可以使用gammaln()計(jì)算ln(|Γ(x)|)的只,它使用特殊的算法,能夠直接計(jì)算Γ函數(shù)的對(duì)數(shù)值,因此可以表示更大的范圍。

3.sympy(符號(hào)計(jì)算)

SymPy是Python的一個(gè)數(shù)學(xué)符號(hào)計(jì)算庫(kù)。它目的在于成為一個(gè)富有特色的計(jì)算機(jī)代數(shù)系統(tǒng)。它保證自身的代碼盡可能的簡(jiǎn)單,且易于理解,容易擴(kuò)展。SymPy完全由Python寫(xiě)成,不需要額外的庫(kù)。

Sympy安裝

pip install sympy

4.matplotlib(數(shù)據(jù)可視化)

Matplotlib,是一個(gè)Python的2D繪圖庫(kù),通過(guò)這個(gè)庫(kù),開(kāi)發(fā)者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率圖,條形圖,錯(cuò)誤圖,散點(diǎn)圖等等

(1)庫(kù)的安裝和環(huán)境的配置

windows下:

py -3 -m pip install matplotlib

linux下:

python3 -m pip install matplotlib

建議配合Jupyter使用。在jupyter notebook中,使用

%matplotlib inline

進(jìn)入交互頁(yè)面

(2)設(shè)置中文環(huán)境

首先引入包:

import numpy as np #之后需要用到
import matplotlib as mpl #設(shè)置環(huán)境變量
import matplotlib.pyplot as plt #繪圖專用
from mpl_toolkits.mplot3d import Axes3D #繪制3D圖1234

為了讓圖片兼容中文的說(shuō)明、名字等,這里需要:

mpl.rcParams['font.sans-serif'] = ['FangSong']
mpl.rcParams['axes.unicode_minus']=False

感謝各位的閱讀!關(guān)于“python科學(xué)計(jì)算常用的數(shù)學(xué)科學(xué)計(jì)算庫(kù)是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI