若 w 為 m*1 的矩陣,x 為 m*n 的矩陣,那麼通過點乘結果就會得到乙個 mn 的矩陣。
若 w 為 m*n 的矩陣,x 為 m*n 的矩陣,那麼通過點乘結果就會得到乙個 mn 的矩陣。
w的列數只能為 1 或與x的列數相等(即n),w的行數與x的行數相等 才能進行乘法運算。
若 w 為 m*p 的矩陣,x 為 p*n 的矩陣,那麼通過矩陣相乘結果就會得到乙個 m*n 的矩陣。
只有w 的列數 == x的行數 時,才能進行乘法運算。
點乘
import numpy as np
w = np.array([[0.4], [1.2]])
x = np.array([range(1,6), range(5,10)])
print("w:")
print(w)
print("x:")
print(x)
print("點乘w * x:")
print(w * x)
執行結果
w:
[[0.4]
[1.2]]
x:[[1 2 3 4 5]
[5 6 7 8 9]]
點乘w * x:
[[ 0.4 0.8 1.2 1.6 2. ]
[ 6. 7.2 8.4 9.6 10.8]]
矩陣乘
import numpy as np
w = np.array([[0.4, 1.2]])
x = np.array([range(1,6), range(5,10)])
print("w:")
print(w)
print("x:")
print(x)
print("矩陣乘w * x:")
print(np.dot(w, x))
執行結果
w:
[[0.4 1.2]]
x:[[1 2 3 4 5]
[5 6 7 8 9]]
矩陣乘w * x:
[[ 6.4 8. 9.6 11.2 12.8]]
點乘
import tensorflow as tf
w = tf.variable([[0.4], [1.2]], dtype=tf.float32)
x = tf.variable([[1.0, 2.0, 3.0, 4.0, 5.0],[6.0, 7.0, 8.0, 9.0, 10.0]], dtype=tf.float32)
y1 = w * x
y2 = tf.multiply(w, x)
w2 = tf.variable(0.1, dtype=tf.float32)
y3 = w2 * x
y4 = tf.multiply(w2, x)
init = tf.global_variables_initializer()
with tf.session() as sess:
sess.run(init)
print("w:")
print(sess.run(w))
print("w.shape:")
print(w.shape)
print("x:")
print(sess.run(x))
print("x.shape:")
print(x.shape)
print("y1:")
print(sess.run(y1))
print("y1.shape:")
print(y1.shape)
print("y2:")
print(sess.run(y2))
print("y2.shape:")
print(y2.shape)
print("--------")
print("w2:")
print(sess.run(w2))
print("w2.shape")
print(w2.shape)
print("y3:")
print(sess.run(y3))
print("y3.shape:")
print(y3.shape)
print("y4:")
print(sess.run(y4))
print("y4.shape:")
print(y4.shape)
執行結果
w:
[[0.4]
[1.2]
]w.shape:
(2, 1)x:[
[ 1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10.]
]x.shape:
(2, 5)
y1:[
[ 0.4 0.8 1.2 1.6 2. ]
[ 7.2000003 8.400001 9.6 10.8 12. ]
]y1.shape:
(2, 5)
y2:[
[ 0.4 0.8 1.2 1.6 2. ]
[ 7.2000003 8.400001 9.6 10.8 12. ]
]y2.shape:
(2, 5)
--------
w2:0.1
w2.shape()
y3:[
[0.1 0.2 0.3 0.4 0.5 ]
[0.6 0.7 0.8 0.90000004 1. ]
]y3.shape:
(2, 5)
y4:[
[0.1 0.2 0.3 0.4 0.5 ]
[0.6 0.7 0.8 0.90000004 1. ]
]y4.shape:
(2, 5)
矩陣乘
import tensorflow as tf
w = tf.variable([[0.4, 1.2]], dtype=tf.float32)
x = tf.variable([[1.0, 2.0, 3.0, 4.0, 5.0],[6.0, 7.0, 8.0, 9.0, 10.0]], dtype=tf.float32)
y = tf.matmul(w, x)
init = tf.global_variables_initializer()
with tf.session() as sess:
sess.run(init)
print("w:")
print(sess.run(w))
print("w.shape:")
print(w.shape)
print("x:")
print(sess.run(x))
print("x.shape:")
print(x.shape)
print("y:")
print(sess.run(y))
print("y.shape:")
print(y.shape)
執行結果
w:
[[0.4 1.2]
]w.shape:
(1, 2)x:[
[ 1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10.]
]x.shape:
(2, 5)y:[
[ 7.6000004 9.200001 10.8 12.400001 14. ]
]y.shape:
(1, 5)
python矩陣點乘和叉乘 矩陣的點成和叉乘
矩陣的叉乘 a 1 0 2 1 3 1 b 3 1 2 1 1 0 c 5 1 4 2 matlab叉乘 c a b python叉乘 np.dot a,b 矩陣的點乘 對應位置上的元素相乘,要求兩個矩陣同行同列 a 1 0 1 3 b 3 1 2 1 c 3 0 2 3 matlab的點乘 c a...
向量點乘與叉乘
點乘 dot product 點乘,也叫向量的內積 數量積。顧名思義,求下來的結果是乙個數。向量a 向量b a b cos 在物理學中,已知力與位移求功,實際上就是求向量f與向量s的內積,即要用點乘。將向量用座標表示 三維向量 若向量a a1,b1,c1 向量b a2,b2,c2 則 向量a 向量b...
向量點乘與叉乘
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!向量 vector 在幾乎所有的幾何問題中,向量 有時也稱向量 是乙個基本點。向量的定義包含方向和乙個數 長度 在二維空間中,乙個向量可以用一對x和y來表示。例如由點 1,3 到 5,1的向量可以用 4,2 來表示。這裡大家要特別注意,我這樣說並不...