2010-12-11 20 views
2

私は文字列ABの2つのセル配列にそれぞれ60と400のサブジェクト名を保持しています。セル配列Aのすべてのサブジェクトもセル配列Bにあります。私がしたいのは、セル配列Aにリストされているサブジェクトをセル配列Bから削除して、セル配列Cに届きます。MATLAB:セル配列Aの要素をセル配列Bから削除する方法は?

答えて

7

あなたは結果がソートされて気にしないのであれば、あなたは機能SETDIFF使用することができます:あなたが同じ順序で結果が必要な場合はAからの名前の元のセル配列Bとして

C = setdiff(B, A); 

をUPDATE

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

:削除、あなたが機能ISMEMBERを使用することができますMATLABの新しいバージョンでは、追加の引数が追加されましたSETDIFFを使用して、出力要素のソートを制御します。元の注文を維持するには、次のようにします。

C = setdiff(B, A, 'stable'); 
+0

クイックヘルプ – Mike

+0

いつものように大きな答えは、私はsetdiff機能について知りませんでした。マイク - あなたはそれがはっきりと好きなので、答えによって上矢印をクリックし、その下のチェックボックスをクリックすることができます。これは回答者に「感謝」を与えるより公式な方法です。 –

関連する問題