set difference between two cell arrays

1 回表示 (過去 30 日間)
Niharika  Nayak
Niharika Nayak 2019 年 12 月 30 日
コメント済み: Niharika Nayak 2019 年 12 月 30 日
I have two cell arrays
A={ [2] [1x2 double]}
B={[2],[3]}
I want to perform set difference operation such that
C=setdiff(A,B);
and answer should be [1x2 double]
what should I do?

採用された回答

Stephen23
Stephen23 2019 年 12 月 30 日
編集済み: Stephen23 2019 年 12 月 30 日
>> A = {2,[2,3]};
>> B = {2,3};
>> [XA,XB] = ndgrid(1:numel(A),1:numel(B));
>> X = arrayfun(@(xA,xB)isequal(A{xA},B{xB}),XA,XB);
>> Z = A(~any(X,2));
>> Z{:}
ans = [2,3]
  1 件のコメント
Niharika  Nayak
Niharika Nayak 2019 年 12 月 30 日
Thank you so much it works

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMultidimensional Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by