File Exchange

image thumbnail

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

version 1.1 (1.98 KB) by

Create a list where each value (content) of an array is displayed together with its index.

0 Downloads

Updated

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

Comments and Ratings (2)

Georg Stillfried

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

faster through ind2sub

Changed summary to fit into the summary field.

MATLAB Release
MATLAB 7.5 (R2007b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video