我有这个:
using namespace boost::numeric::ublas;
matrix<double> m (3, 2);
int k = 0;
for (int j = 0; j < m.size1 (); j++) {
for (int i = 0; i < m.size2 (); i++)
m (j, i) = k++;
}
m =
0 1
2 3
4 5
我需要添加另一个矩阵m2到m
matrix<double> m2 (3, 1);
k = 0;
for (int i = 0; i < m2.size2 (); i++)
m (i, 0) = k++;
m2 =
0
1
2
所以,我需要做些什么才能拥有这个
m =
0 1 0
2 3 1
4 5 2
我在哪里可以找到有关此类操作的更多信息?我问,因为http://www.boost.org/doc/libs/1_43_0/libs/numeric/ublas/doc/index.htm上的信息更像是一个API,到目前为止还没那么有用。
答案 0 :(得分:2)
嗯,这不优雅,但是我的第一次尝试:
m.resize(m.size1(), m.size2()+1, true);
column(m, m.size2()) = column(m2, 0);
当然,如果m2有多个列(或两个矩阵之间的大小1有差异),则需要进行调整