Question about indexing multi-dimensional matrices

Moreno Marzolla moreno.marzolla at pd.infn.it
Sat Sep 6 07:02:21 CDT 2008


Jaroslav Hajek wrote:
[...]
> use a cs-list argument to achieve what you need:
> 
> adims = [3,3,4]
> aind = [1,2,3]
> 
> aind = num2cell (aind);
> ind = sub2ind (adims, aind{:})

Thank you very much, it works!
Actually, it is even better. Apparently I can use num2cell to index 
multidimensional matrices directly (instead of using a vector + 
sub2ind), like this:

N = [3 3 4];
A = zeros(N);
idx = [1 3 2];
iidx = num2cell(idx);
A( iidx{:} ) = 1;

Regards,

Moreno.

-- 
Moreno Marzolla
EMail: moreno.marzolla at pd.infn.it
WWW  : http://www.pd.infn.it/~marzolla



More information about the Help-octave mailing list