Difference of elements of vector and matrix

1 visualizzazione (ultimi 30 giorni)
Hello,
My input is A = [1, 2, 3, 4 ; 5, 6, 7, 8], B = [1, 3], my desired output is C = [1, 3 ; 5, 7].
Is it possible to use setdiff function here? I would rather not to use loop here because of the size of the data.

Risposta accettata

Stephen23
Stephen23 il 24 Mar 2022
A = [1,2,3,4;5,6,7,8]
A = 2×4
1 2 3 4 5 6 7 8
B = [1,3]
B = 1×2
1 3
[X,Y] = ismember(B(1,:),A(1,:));
C = A(:,Y(X))
C = 2×2
1 3 5 7

Più risposte (1)

Davide Masiello
Davide Masiello il 24 Mar 2022
If the values of B are to be found strictly in the first row of A, then use this
clear,clc
A = [1, 2, 3, 4 ; 5, 6, 7, 8];
B = [1, 3];
C = A(:,any(A(1,:) == B',1))
C = 2×2
1 3 5 7

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by