最近在用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的長度必須一致