Difference of elements of vector and matrix

1 回表示 (過去 30 日間)
Rafal Jaremski
Rafal Jaremski 2022 年 3 月 24 日
コメント済み: Rafal Jaremski 2022 年 3 月 24 日
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 件のコメント
Rafal Jaremski
Rafal Jaremski 2022 年 3 月 24 日
Thank You, this answer suits to my problem best!

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

その他の回答 (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 Center および File ExchangeLogical についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by