我有两个Eigen::MatrixXd,他们总是有一排.输入矩阵是A,我想将此矩阵复制到另一个矩阵B,但矩阵之间的列数可能不同.
以下是一个例子:
A
0.5
Run Code Online (Sandbox Code Playgroud)
我需要创建一个B包含1行和4列的矩阵,这样它将是:
B
0.5 0.5 0.5 0.5
Run Code Online (Sandbox Code Playgroud)
但如果A是:
A
1 0.5
Run Code Online (Sandbox Code Playgroud)
然后B会
B
1 0.5 1 0.5
Run Code Online (Sandbox Code Playgroud)
我能怎么做?
您可以使用(等待它)replicate函数复制矩阵.第一个参数是重复行的次数,第二个是重复列的次数.
#include <iostream>
#include <Eigen/Core>
int main()
{
Eigen::MatrixXd a(1, 2), b;
a << 1, 0.5;
b = a.replicate(1, 2);
std::cout << a << "\nbecomes:\n" << b << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
给
1 0.5
变为:
1 0.5 1 0.5
| 归档时间: |
|
| 查看次数: |
5089 次 |
| 最近记录: |