2

文字列のセル配列が 2 つAありB、それぞれ 60 件と 400 件のサブジェクト名を保持しています。cell 配列内のすべてのサブジェクトAもcell 配列内にありBます。私がやりたいのは、セル配列にリストされているサブジェクトをセル配列Aから削除して、作業したいサブジェクトのみを保持するセル配列Bに到達することです。C

4

1 に答える 1

7

ソートされる結果を気にしない場合は、関数SETDIFFを使用できます。

C = setdiff(B, A);

B名前を削除した元のセル配列と同じ順序で結果が必要な場合はA、関数ISMEMBERを使用できます。

C = B(~ismember(B, A));

更新: MATLABの新しいバージョンでは、出力要素の並べ替えを制御するために、SETDIFFに追加の引数が追加されました。元の順序を維持するために、次の操作を実行できます。

C = setdiff(B, A, 'stable');
于 2010-12-11T19:19:29.917 に答える