2
我需要能够返回维度为LxLxL..xL的矩阵的元素的索引[x1 x2 ... xd]。维数d是提供给我的函数的变量。该矩阵不存在,而是我有一个长度为L^d的线性数组。对于数组中的给定索引i,我想知道矩阵中的等效索引。我已经可以使用简单的for循环来做到这一点,但我很想知道我是否可以以某种方式使用ind2sub。我的问题是,如果我做返回可变维矩阵的下标
x=zeros(1,d)
x=ind2sub(L,i)
x被重新分配一个单一的数字,而不是所有下标的数组。有没有办法做到这一点?
谢谢!这是涉及多维度变化的模拟的一部分。 – Ivan 2012-01-18 22:53:03
然后你可以使用'reshape()';它很便宜,因为它只是在mxarray头文件中包含维度元数据;底层数据将保留在内存中。实际上,Matlab的数组支持已经做到了这一点,并在用户代码中重新实现它可能会让你的代码变慢。 – 2012-01-18 22:58:16
这么聪明。谢谢谢谢。 – Frederick 2013-11-06 17:14:20