MATLAB: How to divide an area having multiple random points and work on each part separately

grid

I have asked this question before but couldnt get a satisfactory answer, so let me explain it a bit more, maybe i can make myself more clear.
I have scattered 100 points randomly in a 100×100 plot and divided that area into 9 grids.
a=rand(2,100)*100;
scatter(a(1,:),a(2,:))
grid on
set(gca,'xtick',[0:33.33333:100])
set(gca,'ytick',[0:33.33333:100])
Now I want to get some idea that how can I make groups for each grid (having points within) so that I can work on each grid separately.
Any help will be appreciated, thanks a lot!

Best Answer

Perhaps something like this simple loops:
a = rand(2,100)*100;
grid = 0:33.33333:100;
Result = cell(numel(grid) - 1, numel(grid) - 1);
for i1 = 1:numel(grid) - 1
for i2 = 1:numel(grid) - 1
index = (grid(i1) <= a(1, :) & a(1, :) < grid(i1 + 1) & ...
grid(i2) <= a(2, :) & a(2, :) < grid(i2 + 1));
Result{i1, i2} = a(index);
end
end
[EDITED] Now the points in the grid element [i,j] are store in the cell Result{i,j}.