一、pinv()原型
函数形式:pinv(J, G, P);
核心算法:
解释:G是正定矩阵,P是矩阵J的伪逆矩阵。当G为恒定常数时,以下等式成立:
函数原型:
template<typename DerivedA, typename DerivedB, typename DerivedC>
void pinv(const MatrixBase<DerivedA>& J, const MatrixBase<DerivedB>&G, MatrixBase<DerivedC>& P)
{
MatrixXd J_temp(2, 2);
J_temp = J.transpose()*G*J;
P = (A_temp.inverse())*J.transpose()*G;
}
二、验证上述等式
直接上代码:
template<typename DerivedA, typename DerivedB, typename DerivedC>
void pinv