本文整理汇总了C++中MatrixD::row方法的典型用法代码示例。如果您正苦于以下问题:C++ MatrixD::row方法的具体用法?C++ MatrixD::row怎么用?C++ MatrixD::row使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MatrixD
的用法示例。
在下文中一共展示了MatrixD::row方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pinv_forBarP
bool pinv_forBarP(const MatrixD &W, const MatrixD &P, MatrixD *inv) {
MatrixD barW;
int rowsBarW = 0;
MatrixD tmp;
bool invertible;
for (int i = 0; i < W.rows(); i++) {
if (W(i, i) > 0.99) { //equal to 1 (safer)
rowsBarW++;
barW = (MatrixD(rowsBarW, W.cols()) << barW, W.row(i)).finished();
}
}
tmp = barW * P * barW.transpose();
FullPivLU < MatrixD > inversePbar(tmp);
invertible = inversePbar.isInvertible();
if (invertible) {
(*inv) = P * barW.transpose() * inversePbar.inverse() * barW;
return true;
} else {
(*inv) = MatrixD::Zero(W.rows(), W.rows());
return false;
}
}