将Eigen :: MatrixXd转换为Eigen :: MatrixXf

60
我正在使用C++程序中的Eigen库。Eigen。我想知道是否有一种方法可以从Eigen :: MatrixXd转换为Eigen :: MatrixXf。
static_cast<Eigen::MatrixXf>似乎不起作用,同样,Eigen提供的A.cast<MatrixXf>转换方法也不行。是否有任何解决方案?
1个回答

103

试试这个:

Eigen::MatrixXd d;                       // Matrix of doubles.
Eigen::MatrixXf f = d.cast <float> ();   // Matrix of floats.

我在描述中犯了一个错误,因为我试图将MatrixXd转换为MatrixXf(而不是我先前描述的方式)。根据您的建议,我使用了.cast<float>()并解决了问题。(我错过了最后的括号。) - Sapiens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接