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