我有3個3X3矩陣存儲在numpy數組中。 我想獲得產品,計算旋轉矩陣。獲取3個矩陣的矩陣乘積
目前我在做什麼是 rotation_matrix = (a * b * c)
但我不知道這是矩陣相乘正確的方式 - 我應該使用.dot
我也試圖與rotation_matrix = pre_rotation.dot(result_pre_tilt).dot(post_rotation)
和rotation_matrix = np.multiply(result_pre_tilt, pre_rotation, post_rotation)
a = np.array(
[[-0.25091924 0. -0. ]
[-0. -0.35485339 0. ]
[ 0. 0. 0.70710678]])
b = np.array(
[[ 0.10040533 -0. 0. ]
[ 0. 0.28953198 -0. ]
[ 0. 0. 0.31056766]])
c = np.array(
[[ 6.12323400e-17 0.00000000e+00 -1.00000000e+00]
[ 0.00000000e+00 1.00000000e+00 0.00000000e+00]
[ 1.00000000e+00 0.00000000e+00 6.12323400e-17]])
http://docs.scipy.org/doc/numpy/reference/generated/numpy.multiply.html –
這是否給出了正確的結果?一個例子可能有幫助。 「3D矩陣」可能不明確。形狀是3x3還是2x3x4?或者是其他東西。 – hpaulj
*「存儲在numpy數組中的3D矩陣」*它們是什麼* type *,matrix或'ndarray'? (檢查'type(a)'。)如果它們是'矩陣'對象,那麼是的,'*'是矩陣乘法。如果它們是'numpy.ndarray'對象,那麼'*'是元素乘法。爲了在這種情況下進行矩陣乘法,使用'dot'方法:'rotation_matrix = a.dot(b).dot(c)'。 (你也可以在'matrix'對象中使用'dot'。) –