How to compare values of two vectors?

105 views (last 30 days)
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.

Accepted Answer

Star Strider
Star Strider on 2 May 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.
.

More Answers (0)

Categories

Find more on LTE Toolbox in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!