당신이 (:)
당신에게 열 벡터를 제공하는 것입니다 다음 "A"매트릭스
A = [ones(numel(Points_X),1), Points_X(:), Points_Y(:)];
형성하는 경우 (경우를 그들과 함께 시작되지 않은) 그런 다음
당신은 방정식의 고전적인 선형 시스템으로 방정식을 쓸 수 있습니다 :
A*b = Points_Z(:);
여기서, b = [b0; b1; b2] - 결정하려는 매개 변수의 열 벡터입니다. 이
b=A\Points_Z(:)
또는
b=pinv(A)*Points_Z(:)
이 mldivide 및 pinv에 대한 도움말을 참조 표준 솔루션을 제공합니다.
3 개 이상의 줄이 모두 있어야하는 줄이 있어야합니다. 이와 같이 과다한 시스템의 경우, pinv 및 \는 기본적으로 동일한 결과를 생성합니다. 만약 그들이 거의 동일하다면, 몇 가지 이점이있을 수 있습니다.
b의 3 개 매개 변수는 기본적으로 평면의 원점 위의 평면 높이, x 기울기 및 y 기울기입니다. 당신이 그것에 대해 생각한다면, 비행기의 "높이"는 당신의 z 용어입니다. 어떤 점 (원점과 같은 높이)에 대해서 이야기 할 수 있습니다. 당신은 샘플 점의 질량 중심에 높이를 원하는 경우 지금, 당신은 아마 mean(Points_Z(:))
단지 동일합니다
z_mean = [1 mean(Points_X(:)) mean(Points_Y(:))] * b
할 것입니다. 이 정의가 의미를 갖기 위해서는 관심 영역에 균일 한 간격의 격자가 있어야합니다.
응용 프로그램에 따라 다른 정의가있을 수 있습니다. 예를 들어, 방의 중심에서 높이를 찾고 벽과 내부를 따라 샘플링 한 점을 사용하면 평균값을 평균값으로 바꾸는 것이 더 적절할 수 있습니다.
당신이 무엇을 요구하고 있는지 분명하지 않습니다. 평면의 폭과 길이는 무한하지만 높이가 없습니다. 그러나 2D RANSAC 구현은 다음과 같습니다. http://www.visual-experiments.com/demo/ransac.js/ –
RANSAC이 과도한 측정을 기대하지 않는다면 RANSAC은 과도한 것처럼 보입니다. 트러시 오래된 선형 최소 제곱 잘 작동합니다. – JonB