-2

検索に問題があります。何が問題なのかわからない。

同じ X 、 Y 、および異なる Z を持つ別のマトリックスに関して、マトリックス内のインデックスを見つけたいです。

私の行列はselectedlselectedf同様の行と異なる行でそうです。

exP=find(selectedl(:,[1,2])==selectedf(:,[1,2]) & selectedl(:,3)~=selectedf(:,3));

ラインの問題は何ですか?

4

3 に答える 3

1

より読みやすいバージョンは次のようになります。

A = selectedl == selectedf;
exP = find(A(:,1) & A(:,2) & ~A(:,3));
于 2013-10-25T12:23:38.703 に答える
0

私が正しく理解していれば(最初の列は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 の回答を参照してください。

于 2013-10-25T12:06:57.050 に答える