Ich habe eine 3xn Matrix A mit Spalten x, y und z. Wie finde ich alle Zeilen, in denen X1> x> X2 UND Y1> y> Y2 ist (wobei X1, X2, Y1 und Y2 eine Box auf dem x-y-Gitter definieren)?Finden Sie Matrix-Zeilen mit mehreren Bedingungen für mehrere Spalten in Matlab
Ich habe bereits versucht, die folgenden Ansätze, die nicht funktionierten:
Abox = A(A(:,1)<X1 & A(:,1)>X2 & A(:,2)<Y1 & A(:,2)>Y2,:));
und
indices = find(A(:,1)<X1 & A(:,1)>X2 & A(:,2)<Y1 & A(:,2)>Y2);
Abox = A(indices,:);
beide zurückgeben leere Arrays.
gibt ein gefülltes Array für die erste Zeile zurück, dann ein leeres Array für das zweite.
der Code, den Sie benötigen, ist dem Text sehr ähnlich, den Sie schrieben. Was hast du probiert? –
Die obige Frage [Finde Vektorelemente, die zwei Bedingungen in Matlab entsprechen] (https://stackoverflow.com/questions/8378807/find-vector-elements-matching-two-conditions-in-matlab) deckt nicht mehrere Bedingungen ab mehrere Spalten der gleichen Matrix, nur mehrere Bedingungen für eine einzelne Spalte. Ich denke, das Problem, das ich habe, ist auf mehrere Spalten zurückzuführen. – Dandan
Ich habe einige Notizen zu Dingen, die ich bereits versucht habe, zu der ursprünglichen Frage hinzugefügt. – Dandan