Code covered by the BSD License  

Highlights from
MATCHROW (v1.1, may 2008)

5.0

5.0 | 4 ratings Rate this file 16 Downloads (last 30 days) File Size: 2.23 KB File ID: #14520

MATCHROW (v1.1, may 2008)

by

 

04 Apr 2007 (Updated )

Match elements in the rows of a matrix

Editor's Notes:

This file was a File Exchange Pick of the Week

| Watch this File

File Information
Description

MATCHROW - match elements in the rows of a matrix

TF = MATCHROW(M,S) returns a column vector containing a logical 1 (true)where the rows of M contain (in any order) all the elements of S and 0 (false) otherwise. M and S can be a cell array of strings.
If a element occurs N times in S, than it has to be present at least N times in these rows of M as well.
 
Examples:
      M = [ 1 2 3 4 5 ; 1 2 2 4 3; 1 3 4 4 3 ; 3 2 4 2 5 ; 1 4 3 2 4 ] ;
      Q = matchrow(M,[1 2 4]) % -> [1 ; 1 ; 0 ; 0 ; 1] ;
      M(Q,:) % -> 1 2 3 4 5
             % 1 2 2 4 3
             % 1 4 3 2 4
 
      Q = matchrow(M,[1 2 4 4])
      M(Q,:) % -> 1 4 3 2 4
 
      Q = matchrow({'a','X','c','Y'; 'a','X','Y','d' ;
         'b','X','d','e'},{'X','Y'}) % -> [1 ; 1 ; 0] ;
 
      A = rand(999,999) ;
      x = 27 ;
      tic
      find(matchrow(A,A(x,:))) == x % -> true!
      toc
 
MATCHROW is vectorized and pretty quick ...

version 1.1, may 2008

MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
13 Oct 2013 Francesco Pozzi  
04 Sep 2009 Mauricio Romero  
04 Apr 2007 John D'Errico

Good, readable help. Error checks. Good examples, and an H1 line. Nicely vectorized. Its got a "see also" line, the author's name, date written, etc. There are many internal comments, a proper use of warning, and no mlint flags.

This is an example of a code other authors should emulate.

04 Apr 2007 C. S.

Useful, thanks.

Updates
05 Apr 2007

fixed some minor spelling errors

Contact us