3 개의 3X3 행렬을 numpy 배열에 저장했습니다. 제품을 가져 와서 회전 행렬을 계산하고 싶습니다.3 행렬의 행렬 곱을 얻으십시오
현재 내가 무엇을하고 있는가하는 것은 rotation_matrix = (a * b * c)
하지만,이 행렬 곱셈하는 올바른 방법입니다 나도 몰라 - 내가 또한 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]])
으로 시도 내가
.dot
를 사용되어야한다
http://docs.scipy.org/doc/numpy/reference/generated/numpy.multiply.html –
올바른 결과를 제공합니까? 예가 도움이 될 수 있습니다. '3D 행렬 '은 모호 할 수 있습니다. 모양이 3x3 또는 2x3x4입니까? 또는 다른 것. – hpaulj
* "numpy 배열에 저장된 3D 행렬"* 행렬 또는 ndarray는 * 어떤 * 유형 *입니까? ('type (a)'를 확인하십시오.) 만약 그것들이'matrix' 객체라면,'*'는 행렬 곱셈입니다. 그것들이'numpy.ndarray' 객체라면'*'는 요소 단위의 곱셈입니다. 이 경우에 행렬 곱셈을하기 위해서'dot' 메쏘드를 사용하십시오 :'rotation_matrix = a.dot (b) .dot (c)'. ('dot'도'matrix' 객체와 함께 사용할 수 있습니다.) –