허용오차를 사용하여 유사한 데이터 점의 평균 구하기
이 예제에서는 uniquetol
을 사용하여 (허용오차 내의) 유사한 x
좌표와 y
좌표를 갖는 3차원 점들의 평균 z
좌표를 구하는 방법을 보여줍니다.
영역 에서 peaks
함수를 통해 선택한 임의의 점을 데이터 세트로 사용합니다. 소량의 잡음을 데이터에 추가합니다.
xy = rand(10000,2)*6-3;
z = peaks(xy(:,1),xy(:,2)) + 0.5-rand(10000,1);
A = [xy z];
plot3(A(:,1), A(:,2), A(:,3), '.')
view(-28,32)
다음 옵션과 함께 uniquetol
을 사용하여 유사한 x
좌표와 y
좌표를 가지는 점을 찾습니다.
A
의 행에 점 좌표가 포함되어 있으므로ByRows
를true
로 지정합니다.각각의 허용오차 범위 내에 있는 모든 점에 대한 인덱스를 반환하도록
OutputAllIndices
를true
로 지정합니다.z
좌표는 무시하면서x
좌표와y
좌표에 절대 허용오차를 사용하도록DataScale
을[1 1 Inf]
로 지정합니다.
DS = [1 1 Inf]; [C,ia] = uniquetol(A, 0.3, 'ByRows', true, ... 'OutputAllIndices', true, 'DataScale', DS);
허용오차 범위 내에 있는 각 점 그룹의 평균(z
좌표 포함)을 구하여, 원래 데이터의 일반적인 모양을 계속 유지하는 축약된 데이터 세트를 생성합니다.
for k = 1:length(ia) aveA(k,:) = mean(A(ia{k},:),1); end
원래 데이터 위에 평균을 낸 결과 점을 플로팅합니다.
hold on plot3(aveA(:,1), aveA(:,2), aveA(:,3), '.r', 'MarkerSize', 15)