//这个简单的程序初始化了一个3x3的矩阵,并以线的形式输出。我想以矩阵的形式显示这个矩阵。
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
int main(){
using namespace boost::numeric::ublas;
matrix<double> m1(3,3);
for(unsigned i=0;i<m1.size1();++i)
for (unsigned j=0;j<m1.size2();++j)
m(i,j)=3*i*j;
std::cout<<m1<<std::endl;
return 0;
}
output
[3,3]((0,0,0),(0,3,6),(0,6,12)
最佳答案
你可以这样做
void printMatrix(const matrix<double> &m)
{
for(unsigned i=0;i<m.size1();++i)
{
cout<<"| ";
for (unsigned j=0;j<m.size2();++j)
{
cout<<m(i,j)<<" | ";
}
cout<<"|"<<endl;
}
}
这将打印如下内容:
| 0 | 0 | 0 |
| 0 | 3 | 6 |
| 0 | 6 | 9 |
关于c++ - 以线的形式显示 Boost 矩阵。想改成盒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896012/