sub2allind
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 );
Citation pour cette source
Michael Völker (2024). sub2allind (https://www.mathworks.com/matlabcentral/fileexchange/30096-sub2allind), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Remerciements
A inspiré : CATPAD, N-dimensional sparse arrays
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
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
|
||
1.1.0.0 | * Implemented colon operator (Thanks to Matt J)
|
||
1.0.0.0 |