Main Content

허용오차를 사용하여 산점 데이터 그룹화하기

이 예제에서는 관심 있는 점에 대한 근접성을 기반으로 하여 산포된 데이터 점을 그룹화하는 방법을 보여줍니다.

임의의 2차원 점 집합을 만듭니다. 그런 다음 임의의 데이터 위에 균일한 간격의 점으로 구성된 그리드를 만들어 플로팅합니다.

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)

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers

ismembertol을 사용하여 x의 데이터 점 중 gridPoints의 그리드 점 허용오차 범위 내에 있는 데이터 점을 찾습니다. 다음 옵션을 ismembertol에 사용할 수 있습니다.

  • 점 좌표가 x의 행에 있으므로 ByRowstrue로 지정합니다.

  • OutputAllIndicestrue로 지정하여 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)

Figure contains an axes object. The axes object contains 122 objects of type line.

참고 항목

관련 항목