Python中的Numpy 矩陣運算
在學習線性代數時我們所接觸的矩陣之間的乘法是矩陣的叉乘,有這樣一個前提:
若矩陣A是m*n階的,B是p*q階的矩陣,AB能相乘,首先得滿足:n=p,即A的列數要等於B的行數。運算的方法如下圖:
當時學線性代數時老師教的更為直觀記法:
點乘則是這樣:
假如有a,b兩個矩陣,在Matlab中我們實現點乘和叉乘的方式分別如下:
a.*b %表示點乘 a*b %表示叉乘
下面我們來看看python中的操作:
import numpy as np a = np.arange(1, 10).reshape(3, 3) b = np.arange(1, 10).reshape(3, 3) print(a) print(a*b) # 點乘隻允許1*m和m*n a1 = np.mat(np.arange(1, 10).reshape(3, 3)) a2 = np.mat(np.arange(1, 10).reshape(3, 3)) a3 = np.dot(a1, a2) # 叉乘使用dot print(a1) print(a3)
運行結果:
使用python
操作剛好與Matlab
相反,使用點乘計算實際上是各數組相同下標相乘。Numpy庫中的dot函數則是為瞭實現數組相乘。
到此這篇關於Python中的Numpy 矩陣運算的文章就介紹到這瞭,更多相關Python Numpy 矩陣運算內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python數據分析Numpy庫的常用操作
- Python NumPy教程之數組的創建詳解
- Python numpy和matlab的幾點差異介紹
- 解決python調用matlab時的一些常見問題
- Python繪制牛奶凍曲線(高木曲線)案例