1
我想在C++(带有Armadillo库)中生成k
不同的随机矩阵,其中n首先不是固定的,并且是我函数中的输入。这是很容易在犰狳生成使用for
循环中下面的代码随机矩阵:C++中的矩阵的动态名称(犰狳库)
mat A = randu<mat>(n,n);
但因为我需要他们在接下来的步骤中,我不得不为它们分配,例如动态名称或索引A1,A2,...。 我想知道除了使用指针外,哪种方法最适合这种情况?
我想在C++(带有Armadillo库)中生成k
不同的随机矩阵,其中n首先不是固定的,并且是我函数中的输入。这是很容易在犰狳生成使用for
循环中下面的代码随机矩阵:C++中的矩阵的动态名称(犰狳库)
mat A = randu<mat>(n,n);
但因为我需要他们在接下来的步骤中,我不得不为它们分配,例如动态名称或索引A1,A2,...。 我想知道除了使用指针外,哪种方法最适合这种情况?
这可能是更方便的(和有效的,但还没有测试),以代替使用犰狳立方体:
cube A = randu<cube>(n,n,k);
在该立方体的单个矩阵将被作为A.slice(i)
与0≤I≤ķ访问-1。就像矩阵立方体可以在运行时调整大小,所以你可以动态地改变你的n和k。您甚至可以使用A.resize(n',n',k')
保留旧值如何使用容器,例如'std :: vector'? –
aschepler
真的没有办法做到这一点,你需要使用容器。既然你不知道矩阵的数量,一个向量可能是你最好的选择 – Nic
@Nic请你提一下如何在这种情况下通过使用向量来定义我的“for”循环? – Jmath