2016-11-22 5 views
1

私は2つの5×5細胞を持っています。セルにはdoubleの数値しか含まれていません。matlabでdouble型の2つのセル配列の交点を見つけるには?

どのように要素の共通部分を見つけることができますか?

出力は、共通要素を持つセル(例:[x,y])である必要があります。あなたの細胞は、あなたがこれらの行列(例えばC1C2)で共通の要素を見つけたいという、異なるサイズの数値行列を含み、そしてセルとして結果を取得するには、次のコードを使用することができることを考えると

+0

ルイス・mendoによってadvicedよう

は、あなたはおそらく、標準の数値配列としてそれらを保存する必要があります。 –

+0

ありがとう、私は今それをチェックアウトします。 – user3309191

+2

値が2倍であるため、丸め誤差を考慮するにはしきい値比較を使用する必要があります。 – Danny

答えて

0

e = num2cell(intersect(arrayfun(@(x) C1{x}(:), (1:numel(A))'),... 
         arrayfun(@(x) C2{x}(:), (1:numel(A))'))); 

このコードは、セル内の任意の次元の行列に対して機能します。

両方のセルで等しい行列を検索するには、おそらくisequal関数が必要です。あなたの細胞内の数値は、一つだけの要素を持っている場合は、 `cellfun`と` ismember`を見てみましょう@

関連する問題