MatrixXd如何拼接 另外两个MatrixXd的行
时间: 2024-03-10 21:43:42 浏览: 37
可以使用Eigen中的`MatrixXd::concatenateRows()`方法来拼接两个矩阵的行。该方法的调用方式为`MatrixXd::concatenateRows(const MatrixXd& matrix1, const MatrixXd& matrix2)`,返回一个新的矩阵,其中`matrix1`和`matrix2`是需要拼接的两个矩阵。
以下是一个例子,假设有两个矩阵`A`和`B`,需要将它们按行拼接成一个新的矩阵`C`:
```
#include <iostream>
#include <Eigen/Dense>
int main()
{
Eigen::MatrixXd A(2, 3);
A << 1, 2, 3,
4, 5, 6;
Eigen::MatrixXd B(3, 3);
B << 7, 8, 9,
10, 11, 12,
13, 14, 15;
Eigen::MatrixXd C = Eigen::MatrixXd::Zero(A.rows() + B.rows(), A.cols());
C << Eigen::MatrixXd::concatenateRows(A, B);
std::cout << C << std::endl;
return 0;
}
```
在上述代码中,我们首先定义了两个矩阵`A`和`B`,然后定义了一个新的矩阵`C`,将其初始化为全0矩阵,并将`A`和`B`按行拼接后赋值给`C`。最后输出`C`的值,结果为:
```
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
```
可以看到,矩阵`C`的行数为`A`和`B`行数之和,列数与`A`和`B`相同。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)