matlab 和 numpy 矩陣乘法異同

      最近在用python做一點東西,發現python下面的矩陣運算和matlab是不同的,雖然之前找到了一個關於MATLAB與python在數學運算方面指令的對照表,但是感覺還是不夠詳細。

   對照表鏈接:http://www.cnblogs.com/qiyeshublog/archive/2012/08/03/2621199.html

  廣義的矩陣的矩陣乘法包括:矩陣相乘,矩陣點乘,向量乘法與向量點乘,內積。

對應的MATLAB有[* , .* , dot]三種運算符。分別表示的相乘,點乘和內積。

而在numpy中呢,也有*和dot兩種運算

下面開始說他們之間的關係:

1.矩陣乘法:

MATLAB下的矩陣乘法a*b,在python下是numpy.dot(a,b)

很明顯,a的列數必須等於b的行數,因爲這個是矩陣的運算。

2.矩陣(向量)點乘

MATLAB下的矩陣點乘是a.*b,而在python下是a*b,

很明顯,a與b的size是完全一樣的

3.內積

在MATLAB下,vector的內積,用函數dot(a,b)實現。而在python下,也是dot(a,b)

a,b的長度必須一致





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章