我有一个本征矩阵:

Eigen::Matrix<double, Eigen::Dynamic, VECTOR_SIZE> my_matrix(num_vectors, VECTOR_SIZE);

我有一个带有VECTOR_SIZE元素的 double 数组:
double my_vector_data[VECTOR_SIZE];

我想将数据从my_vector_data数组复制到my_matrix的某一行中。

如何将这样的C++ vector 分配到特征矩阵中的特定行( vector )中?

最佳答案

如果您希望它比@MichaelSmith的答案更复杂,则此方法适用于std::array或大小为data的原始数组VECTOR_SIZE:

using FixedSizeRowVector = Eigen::Matrix<double, 1, VECTOR_SIZE>;

size_t some_number = 10;
my_matrix.row(some_number) = Eigen::Map<FixedSizeRowVector> v(data);

但目前无法测试。

关于c++ - 将C++数组复制为 Eigen 矩阵的 vector ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49011353/

10-15 12:06