首頁 > 軟體

Python numpy之線性代數與隨機漫步

2022-07-11 18:02:44

線性代數

線性代數,矩陣計算,優化與記憶體;比如矩陣乘法,分解,行列式等數學知識,是所有陣列類庫的重要組成部分。和MATLAB等其他語言相比,numpy的線性代數中有所不同的是矩陣相乘不是點積運算而是逐個元素計算,因此在numpy裡面都有一個特定的函數來計算,它就是dot,

語法如下:

numpy之線性代數函數

diag

將一個方陣的對角(或非對角)元素作為一維陣列返回,或者將一個一維數轉換為一個方陣,並且在非對角線上有零點

dot

矩陣點乘

trace

計算對角元素和

det

計算矩陣行列式

eig

計算方陣特徵值和特徵向量

inv

計算方陣的逆矩陣

pinv

計算矩陣的偽逆

qr

計算QR分解

svd

計算奇異值分解

solve

求x的線性系統:Ax = b,其中A是方陣

lstsq

計算Ax = b 的最小二乘解

偽亂數生成

numpy.random模組填補了Python內建的random模組的不足,可以高效的生成多種概率分佈下的完整樣本陣列。比如我們使用normal來獲得一個8*8的正態分佈樣本陣列

亂數種子:

什麼是亂數種子?舉一個簡單的例子,如果我的隨機種子是100,那麼計算機就會在0-100中隨機產生,看下面

隨機種子是1111....

seed

向亂數生成器傳遞隨機狀態種子

permutation

返回一個序列的隨機排列,或者返回一個亂序的整數範圍序列

shuffle

隨機排列一個序列

rand

從均勻分佈中抽取樣本

randint

根據給定的由低到高的範圍抽取隨機整數

randn

從均值0方差1的正態分佈中抽取樣本(MATLAB型介面)

binomial

從二項分佈中抽取樣本

normal

從高斯分佈中抽取樣本

beta

從beta中抽取樣本

chisquare

從卡方分佈中抽取樣本

gamma

從伽馬分佈中抽取樣本

uniform

從均勻分佈抽取樣本

上述的表格如果你看不懂,可以去看一看概率論與數理統計的知識,方便你深度理解每一個概念和用法

隨即漫步

範例

上面模擬的是一個簡單的隨機漫步,就比如說我們的擲硬幣,每次的結果1或者-1,然後計算積累值

到此這篇關於Python numpy之線性代數與隨機漫步的文章就介紹到這了,更多相關Python numpy線性代數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com