我正在使用特征矩阵库。
如何将 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 转换为赋值中的浮点数”。
最佳答案
如 mat
是一个 1×1 矩阵,那么 mat.value()
是它作为标量的唯一入口。
因此,你可以做
mtemp(0,0) = (((MatrixXf(1,2) << 0, 2).finished())
* ((MatrixXf(2,1) << 0, 2).finished())).value();
关于matrix - 如何将 Eigen 中的 1*1 矩阵更改为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10546432/