検索に問題があります。何が問題なのかわからない。
同じ X 、 Y 、および異なる Z を持つ別のマトリックスに関して、マトリックス内のインデックスを見つけたいです。
私の行列はselectedl
、selectedf
同様の行と異なる行でそうです。
exP=find(selectedl(:,[1,2])==selectedf(:,[1,2]) & selectedl(:,3)~=selectedf(:,3));
ラインの問題は何ですか?
より読みやすいバージョンは次のようになります。
A = selectedl == selectedf;
exP = find(A(:,1) & A(:,2) & ~A(:,3));
私が正しく理解していれば(最初の列はx、2番目はy、3番目はz、各行は異なるポイントを表します)、all
最初の部分に行単位で追加するだけです:
exP=find(all(selectedl(:,[1,2])==selectedf(:,[1,2]),2) & selectedl(:,3)~=selectedf(:,3));
または、おそらくもっと読みやすい:
exP=find(selectedl(:,1)==selectedf(:,1) & selectedl(:,2)==selectedf(:,2) & selectedl(:,3)~=selectedf(:,3));
これは、両方の行列が同じサイズであり、順序が重要であると想定しています。そうでない場合は、@Dan の回答を参照してください。