Увеличить размер матрицы в Eigen

Я использую библиотеку «Eigen» для выполнения проекта с использованием матричных манипуляций. В некоторых областях он мощнее, чем Matlab.

Однако я хочу расширить матрицу на другую.

То есть я хочу создать матрицу 2x4 (A_extended), как показано ниже.

A=
    [1 2
     3 4]

B=
    [5 6
     7 8]

A_extended=
    [1 2 5 6
     3 4 7 8]

Как я могу использовать библиотеку Eigen?


person Jang    schedule 11.02.2016    source источник


Ответы (1)


#include <iostream>
#include <stdlib.h>
#include <Eigen/Dense>

int main (int argc, char * argv [])
{
    Eigen::MatrixXd m (2, 2);
    m << 1, 2, 3, 4;
    Eigen::MatrixXd n (2, 2);
    n << 5, 6, 7, 8;
    Eigen::MatrixXd k (2, 4);
    k << m, n;

    std::cout << k << std::endl;

    return EXIT_SUCCESS;
}

Выход:

1 2 5 6
3 4 7 8
person Gluttton    schedule 11.02.2016
comment
@Jang Если это отвечает на ваш вопрос, его принято помечать как принятый ответ. Это вознаграждает ответившего (+15 баллов), спрашивающего (+2) и помогает ориентировать будущих посетителей, которые ищут решение вашего вопроса. - person Avi Ginsburg; 11.02.2016