Matrix 犰狳中矩阵的连接

Matrix 犰狳中矩阵的连接,matrix,armadillo,submatrix,Matrix,Armadillo,Submatrix,我有几个进程,每个进程都计算自己的矩阵。最后,我希望他们将解出的矩阵发送到根进程,根进程将把它们合并成一个大矩阵,并以ASCII格式输出到文本文件中。是否有可能以某种优雅的方式实现,或者我必须迭代每个矩阵并自己“连接”它 例子: 假设四个矩阵数据分别存储在data/a.txt、data/b.txt、data/c.txt、data/d.txt中,下面的代码将生成所需的结果 arma::mat a,b,c,d ; a.load("data/a.txt"); b.load(&q

我有几个进程,每个进程都计算自己的矩阵。最后,我希望他们将解出的矩阵发送到根进程,根进程将把它们合并成一个大矩阵,并以ASCII格式输出到文本文件中。是否有可能以某种优雅的方式实现,或者我必须迭代每个矩阵并自己“连接”它


例子:
假设四个矩阵数据分别存储在data/a.txt、data/b.txt、data/c.txt、data/d.txt中,下面的代码将生成所需的结果

arma::mat a,b,c,d ;

a.load("data/a.txt");
b.load("data/b.txt");
c.load("data/c.txt");
d.load("data/d.txt");

// join rows (=horizontally, i.e. matrices must have the same number of rows)
auto joined_ab  = std::move(arma::join_rows( a, b ));
auto joined_cd  = std::move(arma::join_rows( c, d ));

// join columns (=vertically, i.e. matrices must have the same number of cols)
auto joined_mat = std::move(arma::join_cols( joined_ab, joined_cd ));

std::cout << joined_mat << std::endl;

这在《犰狳》一书中有解释。在Stackoverflow上发布问题之前,阅读这些内容非常有用。连接矩阵是使用函数完成的。@M请将您的评论改写为答案,它值得接受:-)
arma::mat a,b,c,d ;

a.load("data/a.txt");
b.load("data/b.txt");
c.load("data/c.txt");
d.load("data/d.txt");

// join rows (=horizontally, i.e. matrices must have the same number of rows)
auto joined_ab  = std::move(arma::join_rows( a, b ));
auto joined_cd  = std::move(arma::join_rows( c, d ));

// join columns (=vertically, i.e. matrices must have the same number of cols)
auto joined_mat = std::move(arma::join_cols( joined_ab, joined_cd ));

std::cout << joined_mat << std::endl;
a | b 
--+---
c | d