1. 程式人生 > >空間直線最小二乘擬合

空間直線最小二乘擬合

空間直線標準方程:


轉化為射影式方程:


可以對兩個方程分別進行擬合。

令:



其中


求出a,b,c,d即可。

程式碼如下:

data = load('data.txt');
data = data';
L=length(data(1,:));
x=data(1,:);
y=data(2,:);
z=data(3,:);
F=[z;1 1 1 1 1 1 1 1 1 1 1];
M=F*F';
N=F*x';
O=F*y';
A=(M\N)';
B=(M\O)';
x1=A(1)*z+A(2);
y1=B(1)*z+B(2);
z1=z;
plot3(x1,y1,z1,'b',x,y,z,'o');