2017-11-20 17 views
0

私は2Dでかなり大きい(8000x6000)の配列を持っています。 あり、同じ配列(COND1とCOND2)のために満足されている2つの条件があると私は両方の条件matlabで2つの条件を満たす共通のインデックスを見つける

F=rand(8000,6000); 
ind1=find(F>0.5);ind1 stores indices that satisfy cond1 

第二の条件(COND2)を満たす共通の指標を見つけ、それらを調整したいことは指標かどうかであります条件を満たす。

newF=zeros(8000,6000); 
[x,y]=meshgrid(1:6000,1:8000); 
newF(x+y>200)=1; 

条件が満たされたときに値が1である間、新しい条件が満たされない場合newFがゼロ値を持つ新しい配列。

両方の条件を満たすFとnewFの共通インデックスを探したいと思います。私はIND2を見つけることを試みた (R、C)

[r,c]=find(newF>0) 

Iは、共通のインデックスを見つけるために、CをIND1及びRを調整できませんでした。 誰かが私を助けることができますか?

+0

インデックスはcond1に格納されます。ありがとうございました。 –

+0

完了!ありがとうございました。 –

答えて

3

条件を適用して得られた論理行列をelement wiseとし、findを使用して共通の行と列の添字を検索します。すなわち

[r, c] = find((F>0.5) .* (newF>0));  
% .* is also replaceable by &. Use whichever is faster 
+0

ありがとうございます。出来た。私の場合は&を使う方がずっと速いです。 –

関連する問題