%% Specify DataScale by Column
% Create a set of random 2-D points, and then use ismembertol to group the points into vertical bands that have a similar (within-tolerance) x-coordinate to a small set of query points, B. Use these options with ismembertol:
% Specify ByRows as true, since the point coordinates are in the rows of A and B.
% Specify OutputAllIndices as true to return the indices for all points in A that have an x-coordinate within tolerance of the query points in B.
% Specify DataScale as [1 Inf] to use an absolute tolerance for the x-coordinate, while ignoring the y-coordinate.

A = rand(1000,2);
B = [(0:.2:1)',0.5*ones(6,1)];
[LIA,LocAllB] = ismembertol(B, A, 0.1, 'ByRows', true, ...
    'OutputAllIndices', true, 'DataScale', [1,Inf])

%
% Plot the points in A that are within tolerance of each query point in B.

hold on 
plot(B(:,1),B(:,2),'x')
for k = 1:length(LocAllB)
    plot(A(LocAllB{k},1), A(LocAllB{k},2),'.')
end

% Copyright 2015 The MathWorks, Inc.