我有以下 3x3 矩陣 H 和 3x1 矩陣點。呼叫 matmul 函式只是回傳原點。為什么以及如何解決這個問題?
H = np.array([[1, -1.07059445e-13,7.30192357e-11],[-1.07136486e-13,1,1.19101035e-11],[-2.88444403e-16,9.61481343e-17,1]])
point = np.array([443.8957214, 198.19000244, 1])
np.matmul(H, np.transpose(point))
uj5u.com熱心網友回復:
因為 H 大約是一個眼睛矩陣(相同矩陣)
H = array([[ 1.00000000e 00, -1.07059445e-13, 7.30192357e-11],
[-1.07136486e-13, 1.00000000e 00, 1.19101035e-11],
[-2.88444403e-16, 9.61481343e-17, 1.00000000e 00]])
并且將 H 乘以點等于點:
import numpy as np
H = np.array([[1, -1.07059445e-13,7.30192357e-11],[-1.07136486e-13,1,1.19101035e-11],[-2.88444403e-16,9.61481343e-17,1]])
point = np.array([443.8957214, 198.19000244, 1])
out = np.matmul(H, np.transpose(point))
正如你在這里看到的,輸出和品脫之間的差異太小了。
out - point
array([ 5.18411980e-11, -3.56408236e-11, -1.09023901e-13])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/451742.html
