FINDIND

find indices of matching elements between two matrices (v2.0, jan 09)
1.8K Downloads
Updated 27 Jan 2009

View License

FINDIND - find indices of matching elements between two matrices

IB = FINDIND(A,B) returns a cell array IB which has the same size as A.
Each cell of IB contains a row vector with the indices of those elements
of B that are equal to the corresponding element of A. In other words,
for each k, IB{k} equals "find(B == A(k))".

[IB, IA] = FINDIND(A,B) also return another cell array IA holding the
indices of those elements of A that are equal to the corresponding
element of B. In other words, for each k, IA{k} equals "find(A == B(k))".

A and B may have repeated elements. If an element of A or B is not
present in B or A, the corresponding cell will be empty. A and B can be
cell array of strings.

Example:
A = [1 4 2 ; 3 4 5] ;
B = [1 2 1 1 4 2 2 2 4 5 5] ;
x = findind(A,B)
% -> x = {[ 1 3 4 ], [ 5 9 ], [ 2 6 7 8 ]
% [] , [ 5 9 ], [10 11] }

See also find, ismember, unique

Cite As

Jos (10584) (2024). FINDIND (https://www.mathworks.com/matlabcentral/fileexchange/22786-findind), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Type Conversion in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.2.0.0

Now can also return indices into first argument; fixed bug when no matches were found.

1.0.0.0