So I have two arrays (x and y) that are 324 long columns. I need to separate the each pair(x,y) of points into what quadrant the point falls into when graphed. For example if the first x and y are (-3,4) I need to put that point into an array of the other points in the data that fall in quadrant two. What am I doing wrong?
Q=[x y];
for counter=1:length(Q)
if x(counter)>0 && y(counter)>0
Q1=[x(x>0) y(y>0)'];
end
if x(counter)<0 && y(counter)>0
Q2=[x(x<0) y(y>0)'];
end
if x(counter)<0 && y(counter1)<0
Q3=[x(x<0) y(y<0)'];
end
if x(counter)>0 && y(counter1)<0
Q4=[x(x>0) y(y<0)'];
end
end

 Akzeptierte Antwort

the cyclist
the cyclist am 1 Mai 2015

1 Stimme

I would do it like this:
% Some pretend data
x = rand(324,1) - 0.5;
y = rand(324,1) - 0.5;
% First quadrant
Q1_index = (x>0) & (y>0);
Q1 = [x(Q1_index) y(Q1_index)]
% similar code for the other three quadrants ...

Weitere Antworten (1)

John D'Errico
John D'Errico am 1 Mai 2015

1 Stimme

Why all the tests?
whichQuadrant = @(x,y) 1 + floor(mod(atan2d(y,x)/90,4));

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by