# How to compare values of two vectors?

185 ビュー (過去 30 日間)
giancarlo maldonado cardenas 2022 年 5 月 2 日

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.

サインインしてコメントする。

### 採用された回答

Star Strider 2022 年 5 月 2 日
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.
.

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeLTE Toolbox についてさらに検索

R2020a

### Community Treasure Hunt

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

Start Hunting!