摘要:本文讨论使用最小二乘方法给出点云的最佳逼近,并进行详细的推导计算。
正文:
给定点集,找出逼近的最佳直线,通常取函数:
当函数取最小值时即可得到的最佳逼近。由多元函数极值得:
因此有:
整理得:
算例:
clear all;clc;
%draw line x+y+1=0;
x=-20:0.5:20;
y=x-1;
figure;hold on;
plot(x,y,'LineWidth',2);
axis equal;
R=-2+4.*rand(size(x));
unv=[sqrt(2)/2 -sqrt(2)/2];
RX=x+unv(1).*R;
RY=y+unv(2).*R;
plot(RX,RY,'r.');
%calculate approximation line
A=zeros(2,2);
b=zeros(2,1);
for i=1:length(RX)
A=A+[RX(i)*RX(i) RX(i);RX(i) 1];
b=b+[RX(i)*RY(i) RY(i)]';
end
R=A\b;
y2=R(1).*x+R(2);
plot(x,y2,'c--','LineWidth',2);