我正在寻找一种在Eigen中使用MATALB语法x = B / A;
的方法。
我知道可以通过定义EIGEN_MATRIXBASE_PLUGIN
变量来扩展Eigen中的Matrix类(参见Eigen::Documentation)。
现在我的问题是:我该怎么做?更重要的是,我如何做到这一点有效?
编辑: 正如评论中所提到的,我现在得到了这段代码:
const Matrix operator/ (const Matrix& other) const
{
return ((other.transpose()).fullPivHouseholderQr().solve(this->transpose())).transpose();
}
如果两个变量都属于x = B / A;
类型,则适用于Eigen::Matrix
,但如果我得到类似Eigen::Matrix / double
的内容,则不再有匹配的运算符。由于在Eigen中这并不容易正确实现,我现在暂时搁置。
也许有经验扩展Eigen课程的人可以帮助...