finding similar elements in two arrays
Show older comments
Hello everyone,
I have two very long arrays with different lengths and would like to find common elements in them within a certain limit (C below).
The code below finds the elements up to the first different value in B. I need all coincident data.
Thank you in advance.
C=2;
g=1;
for j=1:length(A)
if (abs(B(g)-A(j))<C)
g=g+1;
end
end
Answers (2)
madhan ravi
on 28 Dec 2018
Edited: madhan ravi
on 28 Dec 2018
You may need to clarify by giving a certain example because the answer is assumed that A and B has same number of elements.
nnz((abs(B(:)-A(:))<C)) % no loops needed , nnz counts how many satisfy the condition
7 Comments
Stephen23
on 28 Dec 2018
@madhan ravi: how will this work if A and B have different lengths (as the question stated)?:
B(:)-A(:)
Yeltepe
on 28 Dec 2018
madhan ravi
on 28 Dec 2018
Edited: madhan ravi
on 28 Dec 2018
Note: I believe the commas in your A and B should be dots meaning the float numbers , the comma makes it as two columns
idx=ismembertol(A,B,0.5)
% or perhaps
uniquetol([A;B],0.5)
Yeltepe
on 2 Jan 2019
madhan ravi
on 2 Jan 2019
Anytime :) ,if it helped you make sure to accept the answer.
Yeltepe
on 2 Jan 2019
Yeltepe
on 2 Jan 2019
Yeltepe
on 2 Jan 2019
0 votes
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!