MATCHROW (v1.1, may 2008)
Editor's Note: This file was a File Exchange Pick of the Week
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
Cite As
Jos (10584) (2026). MATCHROW (v1.1, may 2008) (https://www.mathworks.com/matlabcentral/fileexchange/14520-matchrow-v1-1-may-2008), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 | - fixed small error |
