0
我無法理解爲什麼我通過使用C++中的特徵庫將10x3矩陣乘以3x10矩陣而得到10x10矩陣。在Eigen C++中乘以矩陣給出了錯誤的維數
通過在http://eigen.tuxfamily.org/dox-devel/group__TutorialMatrixArithmetic.html下面的文檔,我想出了
const int NUM_OBSERVATIONS = 10;
const int NUM_DIMENSIONS = 3;
MatrixXf localspace(NUM_DIMENSIONS, NUM_OBSERVATIONS);
MatrixXf rotatedlocalspace(NUM_OBSERVATIONS, NUM_DIMENSIONS);
MatrixXf covariance(NUM_DIMENSIONS, NUM_DIMENSIONS);
covariance = (rotatedlocalspace * localspace)/(NUM_OBSERVATIONS - 1);
cout << covariance << endl;
輸出給出了一個10×10矩陣,當我試圖獲得每個維度3x3的協方差矩陣(這些平均心XYZ點)。當計算協方差時,「localspace」和「rotatedlocalspace」都用float值填充。
如何獲得正確的協方差矩陣?
由於[MxK]矩陣乘以[KxN]矩陣會給出[MxN]矩陣。 – 2014-11-14 23:06:22