sub2allind

convert subscripts to ALL corresponding indices
653 descargas
Actualizado 7 feb 2012

Ver licencia

idx = sub2allind(sz, sub1, sub2, sub3, ... )

Like Matlab's sub2ind, sub2allind computes the equivalent linear indices for
given subscripts of an array with size SZ.
Unlike sub2ind, it computes a field of all combinations of
subscripts. So, instead of calling A( 2:3, 1, 4:11) you might
use
linIdx = sub2allind( size(A), 2:3, 1, 4:11 );

and then call A(linIdx) or A(linIdx(:)) or you reshape linIdx the way you need.

This is usefull whenever you want to access a subset of an array and compare it with a differently shaped thing, like

A(linIdx(:)) = A(linIdx(:)) + <1D-Vector>

Using the naked colon operator is allowed to reference an entire dimension:

linIdx = sub2allind( sz, :, sub2 );

Citar como

Michael Völker (2024). sub2allind (https://www.mathworks.com/matlabcentral/fileexchange/30096-sub2allind), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2011a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Matrix Indexing en Help Center y MATLAB Answers.
Agradecimientos

Inspiración para: CATPAD, N-dimensional sparse arrays

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.5.0.0

Added H1 line; fixed bug when asking for a column of indices only

1.4.0.0

* shape of output fits the adressed field now
* little more docu and error checking

1.1.0.0

* Implemented colon operator (Thanks to Matt J)
* possible errors catched; more comments

1.0.0.0