1. 程式人生 > >matlab 和 numpy 矩陣乘法異同

matlab 和 numpy 矩陣乘法異同

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

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

對應的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的長度必須一致