How to compare values of two vectors?

42 vues (au cours des 30 derniers jours)
giancarlo maldonado cardenas
Hello everyone, how can I compare values between 2 vectors? Let me explain, for example I have two vectors:
vec1= [10 20 30 40 50]% transmission
vec2= [10 20 30 40 50 60 70]; % reception
It should show me the following result:
for example 10,20,30,40,50 was transmitted but 10,20,30,40,50,60,70 were received, then the result would be 5 values were sent but 7 values were received, which would be the value 60 and 70.
Any help would be very helpful, thanks in advance.

Réponse acceptée

Star Strider
Star Strider le 2 Mai 2022
One option could be the setdiff function, another could be ismember
vec1= [10 20 30 40 50]; % transmission
vec2= [10 20 30 40 50 60 70]; % reception
difference = setdiff(vec2,vec1) % Use 'setdiff'
difference = 1×2
60 70
differenceidx = ~ismember(vec2,vec1) % Use 'ismember' And Negate The Result
differenceidx = 1×7 logical array
0 0 0 0 0 1 1
difference = vec2(differenceidx)
difference = 1×2
60 70
Note the order, so that the longer vector would be the first argument and the shorter vector the second argument.
.

Plus de réponses (0)

Catégories

En savoir plus sur LTE Toolbox dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by