C ++ Matrix水平concat

时间:2017-09-25 08:01:24

标签: c++ matrix

我有2个矩阵,例如:

     a1 a2 a3 a4        a5 a6 a7 a8
M1 = b1 b2 b3 b4   M2 = b5 b6 b7 b8
     c1 c2 c3 c4        c5 c6 c7 c8

我想要的是得到像这样的矩阵:

     a1 a2 a3 a4 a5 a6 a7 a8
Mr = b1 b2 b3 b4 b5 b6 b7 b8
     c1 c2 c3 c4 c5 c6 c7 c8

尽可能快,因为我的程序都是以50MHz的速度为基础。(声音采集) 它实际上是用于快速读取单行(每行是麦克风流)。

1 个答案:

答案 0 :(得分:0)

如果将矩阵保存为std::vector<std::vector<double>>,其中内部向量是您的行之一,则可以使用std::insert来执行矩阵行的连接。

 vector1.insert( vector1.end(), vector2.begin(), vector2.end() );

您可能还会发现armadillo这样的库很有用。我有一个函数join_rows( A, B ),它正在做,你要求的。有一些机会,这将比你自己编程的更好。