finding similar elements in two arrays
Afficher commentaires plus anciens
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
Réponses (2)
madhan ravi
le 28 Déc 2018
Modifié(e) : madhan ravi
le 28 Déc 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 commentaires
Stephen23
le 28 Déc 2018
@madhan ravi: how will this work if A and B have different lengths (as the question stated)?:
B(:)-A(:)
Yeltepe
le 28 Déc 2018
madhan ravi
le 28 Déc 2018
Modifié(e) : madhan ravi
le 28 Déc 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
le 2 Jan 2019
madhan ravi
le 2 Jan 2019
Anytime :) ,if it helped you make sure to accept the answer.
Yeltepe
le 2 Jan 2019
Yeltepe
le 2 Jan 2019
Yeltepe
le 2 Jan 2019
0 votes
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!