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.

 Akzeptierte Antwort

Star Strider
Star Strider am 2 Mai 2022

0 Stimmen

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.
.

Weitere Antworten (0)

Kategorien

Mehr zu LTE Toolbox finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by