Effacer les filtres
Effacer les filtres

compare two arrays of different length ( inequality)

24 vues (au cours des 30 derniers jours)
emar
emar le 1 Juin 2017
Commenté : emar le 1 Juin 2017
Hello, I have two arrays with different length, for example A =[ 2 3 11 0 8 ] and B=[ 2 6 8] ( The data are bigger in the real case) and I want to compare them and find elements that verify abs(A(i)-B(j))> 2 .
Is there any fast function that do that (such ismember but for inequalities) ?
Thanks in advance

Réponse acceptée

Walter Roberson
Walter Roberson le 1 Juin 2017
R2016b and later syntax:
[i, j] = find( abs(A.' - B) > 2 );
Earlier releases:
[i, j] = find( abs(bsxfun(@minus, A.', B)) > 2 );

Plus de réponses (1)

MathReallyWorks
MathReallyWorks le 1 Juin 2017
Hello Elkhanssaa Marsali,
Firstly, make the length of A and B equal by adding extra zeros to the array who is shorter.
After you get the length of both array equal, try this code:
A=[2 3 11 0 8]
B=[2 6 8 0 0]
C=abs(A(:)-B(:))>2
You will get proper answer in terms of 1 and 0. Here, 1 means true and 0 means false
  1 commentaire
emar
emar le 1 Juin 2017
Modifié(e) : emar le 1 Juin 2017
Thank you for your answer. But the problem is that I want to verify the inequality for each element of A with all the elements of B ( so they will be 15 results ( true and false results) )

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by