a為二維m*n的舉證,b必須為n*l的矩陣,l兩個矩陣的n必須一致,也就是說a有多少列,b就必須有多少行,否則無法運算。結果得到m*l的矩陣
m*l = np.dot(m*n,n*l),m n l指維度,得到m*l的矩陣
運算順序如下圖:
程式演示如下:
import numpy as np
a = [[1, 2, 3], [4, 5, 6]]
b = [[3, 2], [4, 3], [4, 3]]
print(np.dot(a, b))
結果:
[[23 17]
[56 41]]
如果a和b的形狀交換會怎麼樣呢?
import numpy as np
a = [[1, 2, 3], [4, 5, 6]]
b = [[3, 2], [4, 3], [4, 3]]
print(np.dot(b, a))
結果是這樣喲!不是說形狀一定是變小喲
[[11 16 21]
[16 23 30]
[16 23 30]]
這是a和b的形狀不一樣:
import numpy as np
a = [[1, 2, 3], [4, 5, 6]]
b = [[3], [4], [4]]
print(np.dot(a, b))
結果如下:
[[23]
[56]]
Numpy 點積和 dot 矩陣相乘
一 numpy的點積和dot矩陣相乘 dot 使用需注意 前乙個矩陣的行數要與後乙個矩陣的列數一致 import numpy as np print 點積 a b,對應位置相乘 a np.array 1,1 0,1 b np.array 2,0 3,4 print a n a print b n b...
對NumPy中dot 函式的理解
今天學習到numpy基本的運算方法,遇到了乙個讓我比較難理解的問題。就是dot函式是如何對矩陣進行運算的。一 dot 的使用 dot 返回的是兩個陣列的點積 dot product 1.如果處理的是一維陣列,則得到的是兩陣列的內積 順便去補一下數學知識 in d np.arange 0,9 out ...
numpy 之 陣列與矩陣的乘積
1.當為array的時候,預設d f就是對應元素的乘積,multiply也是對應元素的乘積,dot d,f 會轉化為矩陣的乘積,dot點乘意味著相加,而multiply只是對應元素相乘,不相加 2.當為mat的時候,預設d f就是矩陣的乘積,multiply轉化為對應元素的乘積,dot d,f 為矩...