我正在使用特征矩阵库。
如何将1 * 1的矩阵转换为数字(浮点数或其他)?
可以这样做
cout << ((MatrixXf(1,2) << 0, 2).finished()) * ((MatrixXf(2,1) << 0, 2).finished()) << endl;
但是当我尝试这样做时
MatrixXf mtemp(2,1);
mtemp(0,0) = ((MatrixXf(1,2) << 0, 2).finished()) * ((MatrixXf(2,1) << 0, 2).finished());
它说'无法将const Eigen :: GeneralProduct转换为在赋值中浮动'。
答案 0 :(得分:1)
如果mat
是1 x 1矩阵,则mat.value()
是唯一的标量条目。
因此,你可以做到
mtemp(0,0) = (((MatrixXf(1,2) << 0, 2).finished())
* ((MatrixXf(2,1) << 0, 2).finished())).value();