
2个回答
展开全部
c++中的矩阵运算可以使用boost的矩阵运算库ublas。
虽然ublas中没有提供直接求矩阵逆的函数,但是有多种高斯消去和方程求解的函数可以利用。另外在网上也可以找到现成的ublas求逆例子。
boost库主页:http://www.boost.org
boost::ublas文档:http://www.boost.org/doc/libs/1_42_0/libs/numeric/ublas/doc/index.htm
一个用ublas做LU分解求逆的例子:http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?LU_Matrix_Inversion
虽然ublas中没有提供直接求矩阵逆的函数,但是有多种高斯消去和方程求解的函数可以利用。另外在网上也可以找到现成的ublas求逆例子。
boost库主页:http://www.boost.org
boost::ublas文档:http://www.boost.org/doc/libs/1_42_0/libs/numeric/ublas/doc/index.htm
一个用ublas做LU分解求逆的例子:http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?LU_Matrix_Inversion
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
oid matrix::ni()/*逆矩阵的求法*/
{
matrix b;
int i,j;
float sum;
sum=det();
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
b.data[i][j]=pow(-1,i+j)*yu(i,j);
b.data[i][j]=b.data[i][j]/sum;
}
}
cout<<"M的逆矩阵为:"<<endl;
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
cout<<setprecision(2)<<b.data[i][j]<<" ";
}
cout<<endl;
}
}
{
matrix b;
int i,j;
float sum;
sum=det();
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
b.data[i][j]=pow(-1,i+j)*yu(i,j);
b.data[i][j]=b.data[i][j]/sum;
}
}
cout<<"M的逆矩阵为:"<<endl;
for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
cout<<setprecision(2)<<b.data[i][j]<<" ";
}
cout<<endl;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询