C ++中矩阵的动态名称(Armadillo库)

时间:2017-04-18 00:28:32

标签: c++ matrix armadillo

我想在C ++中生成k个不同的随机矩阵(使用Armadillo库),其中n最初没有修复,并且是我函数中的输入。通过在for循环中使用以下代码,Armadillo很容易生成随机矩阵:

 mat A = randu<mat>(n,n);

但是由于我在接下来的步骤中需要它们,我必须为它们分配动态名称或索引,例如A1,A2,...... 除了使用指针之外,我想知道哪种方法最适合这种情况?

1 个答案:

答案 0 :(得分:3)

使用犰狳立方体可能更方便(也更有效,但尚未经过测试):

cube A = randu<cube>(n,n,k);

此立方体中的单个矩阵将作为A.slice(i)访问,其中0≤i≤k-1。就像矩阵一样,可以在运行时调整大小,因此您可以动态更改n和k。您甚至可以使用A.resize(n',n',k')

保留旧值