Difference of elements of vector and matrix

1 次查看(过去 30 天)
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.

采纳的回答

Stephen23
Stephen23 2022-3-24
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 个)

Davide Masiello
Davide Masiello 2022-3-24
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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by