Difference of elements of vector and matrix

1 vue (au cours des 30 derniers jours)
Rafal Jaremski
Rafal Jaremski le 24 Mar 2022
Commenté : Rafal Jaremski le 24 Mar 2022
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.

Réponse acceptée

Stephen23
Stephen23 le 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
  1 commentaire
Rafal Jaremski
Rafal Jaremski le 24 Mar 2022
Thank You, this answer suits to my problem best!

Connectez-vous pour commenter.

Plus de réponses (1)

Davide Masiello
Davide Masiello le 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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by