因此,我尝试在Julia中创建多维数组,但不确定将其存储在矢量中是否更聪明/更轻松。假设我有一个具有N个因子的(M x M x M x .... x M)矩阵,因此共有(M ^ N)个条目。现在,我运行一个单独的程序,该程序可以为我提供
ind = [1, 2, 4, 4, 5, ....., 2]
,我要做的就是在此给定索引处更新矩阵A(或向量)。
例如,我想做这样的事情:
index = [2,1,2]
A = reshape(collect(1:8),(2,2,2))
A[index] = 4
但是我真正要做的是
A[2,1,2] = 4
或
A[index[1],index[2],index[3]] = 4
但是,此解决方案是不可行的,因为尺寸的数量各不相同,并且在我的应用程序中非常大。我正在使用Julia v0.6.4,发现有一个名为sub2ind的函数(在较新版本中已由类似的函数替换)。但是,此函数仅采用单个数字,以逗号分隔,既不是数组也不是元组(根据文档:)
sub2ind(dims, i, j, k...) -> index
如何正确/有效地解决此问题?任何帮助将不胜感激!