Matrix‎ > ‎

Index pairs permutations

Get all possible permutations of x-y index pairs of a matrix

Cartesian product of two vectors



% get number column and rows of a data matrix
mymatrix = zeros(3,4)
[Nrow,Ncol]=size(mymatrix)

% get all permutations (Cartesian product)
[X,Y] = meshgrid(1:Nrow,1:Ncol)

xy_pairs = [X(:) Y(:)]
     1     1
     1     2
     1     3
     1     4
     2     1
     2     2
     2     3
     2     4
     3     1
     3     2
     3     3
     3     4



% exclude diagonal (1,1) (2,2) .. and inverse pairs
xy_pairs( xy_pairs(:,1) < xy_pairs(:,2) ,:)
     1     2
     1     3
     1     4
     2     3
     2     4
     3     4









Comments