MATLAB: Divide points according to quadrant system

coordinate geometryMATLABquadrant division

I have written a code to divide L pairs (coordinates) according to 4 quadrants:
L=input('Enter the number of pairs: ');
tr=randi(10,L,2);
xy=sortrows(tr);
a=1;
b=1;
c=1;
d=1;
for ii=1:10
if xy(ii,1)<=5 && xy(ii,2)<=5
xy1(a,:)=xy(ii,:);
a=a+1;
elseif xy(ii,1)>5 && xy(ii,1)<11 && xy(ii,2)<=5
xy2(b,:)=xy(ii,:);
b=b+1;
elseif xy(ii,1)>5 && xy(ii,1)<11 && xy(ii,2)>5 && xy(ii,2)<11
xy3(c,:)=xy(ii,:);
c=c+1;
elseif xy(ii,1)<=5 && xy(ii,2)>5 && xy(ii,2)<11
xy4(d,:)=xy(ii,:);
d=d+1;
end
end
There is a main array xy(Lx2) which takes random integer pairs and then divides them into 4 more additional arrays: xy1, xy2, xy3, xy4. The 2 dividing lines are x=5 and y=5. Starting from bottom-left and going in anticlockwise direction to top left.

Best Answer

You still haven't explained what your question is, so I'm going to assume you want to un-loop this. The code below yields the same results as yours, but does it without a loop (and won't result in an error for L<10).
L=input('Enter the number of pairs: ');
tr=randi(10,L,2);
xy=sortrows(tr);
index1=xy(:,1)<=5 & xy(:,2)<=5;
xy1=xy(index1,:);
a=size(xy1,1);
index2=xy(:,1)>5 & xy(:,1)<11 & xy(:,2)<=5;
xy2=xy(index2,:);
b=size(xy2,1);
index3=xy(:,1)>5 & xy(:,1)<11 & xy(:,2)>5 & xy(:,2)<11;
xy3=xy(index3,:);
c=size(xy3,1);
index4=xy(:,1)<=5 & xy(:,2)>5 & xy(:,2)<11;
xy4=xy(index4,:);
d=size(xy4,1);