Python 得到3个矩阵的矩阵积
我有3,3X3个矩阵存储在numpy数组中。 我想得到乘积,计算一个旋转矩阵 目前我正在做的是Python 得到3个矩阵的矩阵积,python,numpy,matrix-multiplication,rotational-matrices,Python,Numpy,Matrix Multiplication,Rotational Matrices,我有3,3X3个矩阵存储在numpy数组中。 我想得到乘积,计算一个旋转矩阵 目前我正在做的是 rotation\u matrix=(a*b*c)但我不知道这是否是乘法矩阵的正确方法-我应该使用吗。dot我也尝试过rotation\u matrix=pre\u rotation.dot(result\u pre\u tilt)。dot(post\u rotation) 和rotation\u matrix=np.相乘(结果\u pre\u tilt,pre\u rotation,post\u r
rotation\u matrix=(a*b*c)
但我不知道这是否是乘法矩阵的正确方法-我应该使用吗。dot
我也尝试过rotation\u matrix=pre\u rotation.dot(result\u pre\u tilt)。dot(post\u rotation)
和rotation\u matrix=np.相乘(结果\u pre\u tilt,pre\u rotation,post\u rotation)
您可以像这样尝试使用
dot
:
final= numpy.dot(tilt_matrix, (numpy.dot(rotation_matrix, original))
需要考虑的事项:
numpy.dot
是一个函数,而不是一个方法(不可能调用a.dot(B)
,而是调用np.dot(a,B)
)李>
您可以像这样尝试使用
dot
:
final= numpy.dot(tilt_matrix, (numpy.dot(rotation_matrix, original))
需要考虑的事项:
numpy.dot
是一个函数,而不是一个方法(不可能调用a.dot(B)
,而是调用np.dot(a,B)
)李>
这是正确的结果吗?举个例子可能会有所帮助<代码>三维矩阵可能不明确。形状是3x3还是2x3x4?或者别的什么。“存储在numpy数组中的3D矩阵”它们是什么类型,
matrix
还是ndarray
?(检查类型(a)
)如果它们是矩阵
对象,则是,*
是矩阵乘法。如果它们是numpy.ndarray
对象,那么*
就是元素乘法。在这种情况下,要进行矩阵乘法,请使用dot
方法:rotation\u matrix=a.dot(b).dot(c)
。(你也可以将点
与矩阵
对象一起使用。)@WarrenWeckesser我更新了这个问题,让它更清楚。这些是常规的numpy数组,而不是矩阵
对象。使用dot
方法(或者,如果您使用的是全新的Python和numpy版本,请使用@
:rotation\u matrix=a@b@c
),这是否给出了正确的结果?举个例子可能会有所帮助<代码>三维矩阵可能不明确。形状是3x3还是2x3x4?或者别的什么。“存储在numpy数组中的3D矩阵”它们是什么类型,matrix
还是ndarray
?(检查类型(a)
)如果它们是矩阵
对象,则是,*
是矩阵乘法。如果它们是numpy.ndarray
对象,那么*
就是元素乘法。在这种情况下,要进行矩阵乘法,请使用dot
方法:rotation\u matrix=a.dot(b).dot(c)
。(你也可以将点
与矩阵
对象一起使用。)@WarrenWeckesser我更新了这个问题,让它更清楚。这些是常规的numpy数组,而不是矩阵
对象。使用dot
方法(或者,如果您使用的是全新的Python和numpy版本,请使用
:rotation\u matrix=a@b@c
)。如果a
是numpy数组,a.dot(b)
与np.dot(a,b)
相同。如果a
是numpy数组,a.dot(b)
与np.dot(a,b)相同。