2010-07-13 99 views
1

我有這樣的:如何將矩陣追加到另一個矩陣的末尾? (當使用C Boost庫++)

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 

,我需要另一個矩陣平方米追加到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,迄今爲止它還沒有那麼有用。

回答

2

那麼,這是不是優雅,但我第一次嘗試:

m.resize(m.size1(), m.size2()+1, true); 
column(m, m.size2()) = column(m2, 0); 

,當然它需要,如果M2已經超過一列(進行調整,或者如果有之間的尺寸1差異兩個矩陣)

相關問題