В этом примере показов, как сгруппировать данный , имеющий разброс точки на основе их близости к точкам интереса.
Создайте набор случайных 2-D точек. Затем создайте и постройте график сетки с равными интервалами точек поверх случайных данных.
x = rand(10000,2); [a,b] = meshgrid(0:0.1:1); gridPoints = [a(:), b(:)]; plot(x(:,1), x(:,2), '.') hold on plot(gridPoints(:,1), gridPoints(:,2), 'xr', 'Markersize', 6)
Использование ismembertol
для определения местоположения точек данных в x
которые находятся в пределах допуска к точкам сетки в gridPoints
. Используйте эти опции с ismembertol
:
Задайте ByRows
как true
, поскольку координаты точки указаны в строках x
.
Задайте OutputAllIndices
как true
для возврата всех индексов для строк в x
которые находятся в пределах допуска к соответствующей строке в gridPoints
.
[LIA,LocB] = ismembertol(gridPoints, x, 0.05, ... 'ByRows', true, 'OutputAllIndices', true);
Для каждой точки сетки постройте график точек в x
которые находятся в пределах допуска к этой точке сетки.
figure hold on for k = 1:length(LocB) plot(x(LocB{k},1), x(LocB{k},2), '.') end plot(gridPoints(:,1), gridPoints(:,2), 'xr', 'Markersize', 6)