File Exchange

image thumbnail

index.m - create a list of the indices and values of an array

version 1.1.0.0 (1.98 KB) by Georg Stillfried
Create a list where each value (content) of an array is displayed together with its index.

1 Download

Updated 26 May 2009

View License

This function displays each value of an array together with its index. It is possible to ignore zeros and/or NaNs and/or to sort the list according to value. The values can be integers or floating point numbers.

EXAMPLES:

>> a=[2,3,NaN;1,2,4;7,0,9];

>> index(a,'sorted')

ans =
3 2 0
2 1 1
1 1 2
2 2 2
1 2 3
2 3 4
3 1 7
3 3 9
1 3 NaN

>> index(a,'sorted','nonans','nozeros')

ans =
2 1 1
1 1 2
2 2 2
1 2 3
2 3 4
3 1 7
3 3 9

Cite As

Georg Stillfried (2020). index.m - create a list of the indices and values of an array (https://www.mathworks.com/matlabcentral/fileexchange/21330-index-m-create-a-list-of-the-indices-and-values-of-an-array), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Thank you Jos. Your suggestion is now incorporated in an improved version.

Jos x@y.z

I suggest you look at IND2SUB, which allows for easy vectorization
% START OF CODE
a = [3 2 1 ; 7 0 1 ; NaN -1 Inf] ; % some data
[ind{1:ndims(a)}] = ind2sub(size(a),1:numel(a)) ;
r = [cat(1,ind{:}).' a(:)]
% END OF CODE

and work from that onwards ...
On the good side, at least you provided some help, but take care of a proper H1 line used by LOOKFOR.

Updates

1.1.0.0

faster through ind2sub

1.0.0.0

improved speed for large arrays

Changed summary to fit into the summary field.

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux