将行追加到armadillo .mat文件中

时间:2017-05-01 10:17:22

标签: c++ save armadillo

有没有办法将行附加到使用.save()函数保存的.mat文件中?

例如在下面的for循环中:

mat M; M.ones(1,5);

    for (int i=0; i<5; i++) {
        mat tmp;
        tmp = M + i;
        tmp.save("file.mat", arma_ascii) // + some code to append rather than overwrite;
    }

我的想法是,我可以避免将数据存储在工作区中的大矩阵中。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用mat.insert_rows()方法追加.insert_cols()中的行/列。请参阅here

答案 1 :(得分:0)

save()函数只覆盖文件。您可以使用此代码附加到文本文件,例如使用具有相同列数的行向量:

    ofstream outfile;
    outfile.open("file.mat", std::ios::app);
    outfile << myRowVector;
    oufile.close();

自动添加新行字符。 std :: ios :: app用于附加到文件。