我有3個垂直特徵矩陣,我想連接它們,就像在matlab C=[B1; B2; B3];
。我想將它們連接起來,在這種情況下:C(B1.cols()+B2.cols()+B3.cols(),1)
如何連接矩陣?
MatrixXd B1,B2,B3;
C<<B1,B2,B3;
有什麼等值的本徵?
我有3個垂直特徵矩陣,我想連接它們,就像在matlab C=[B1; B2; B3];
。我想將它們連接起來,在這種情況下:C(B1.cols()+B2.cols()+B3.cols(),1)
如何連接矩陣?
MatrixXd B1,B2,B3;
C<<B1,B2,B3;
有什麼等值的本徵?
Libigl提供igl::cat
函數。也許它會做的伎倆。
它不是從你的問題很清楚,但我已經爲你需要連接尺寸(N,1)生產規模矩陣的3點縱的矩陣(M 1)的理解是,其中m是所有的總和n。
如果是這樣,不是你可以嘗試以下方法:
MatrixXd C(B1.rows() + B2.rows() + B3.rows(), 1);
C << B1, B2, B3;
例如,下面的代碼:
Eigen::MatrixXd B1(3, 1);
B1 << 1, 2, 3;
Eigen::MatrixXd B2(3, 1);
B2 << 42, 43, 44;
Eigen::MatrixXd B3(3, 1);
B3 << -1, -2, -3;
MatrixXd C(B1.rows() + B2.rows() + B3.rows(), 1);
C << B1, B2, B3;
std::cout << "Rows: " << C.rows() << std::endl;
std::cout << "Columns: " << C.cols() << std::endl << std::endl;
std::cout << C << std::endl;
會產生以下輸出:
Rows: 9
Columns: 1
1
2
3
42
43
44
-1
-2
-3
你的解決方案和一個OP所陳述的有什麼區別? – CroCo 2014-10-15 23:03:03
通過說出垂直矩陣,你的意思是向量? – CroCo 2014-10-15 23:04:05