正交线性回归Matlab源代码
Fit data using orthogonal linear regression.
LINORTFIT2(X,Y) finds the coefficients of a 1st-order polynomial that best fits the data (X,Y) in an ORTHOGONAL least-squares sense. Consider the line P(1)*t + P(2), and the minimum (Euclidean) distance between this line and each datapoint [X(i) Y(i)] -- LINORTFIT2 finds P(1) and P(2) such that the sum of squared distances is minimized.
LINORTFITN(DATA) finds the coefficients of a hyperplane (in Hessian normal form) that best fits the data in an ORTHOGONAL least-squares sense. Consider the hyperplane
H = {x | dot(N,x) + C == 0},
and the minimum (Euclidean) distance between this hyperplane and each datapoint DATA(i, -- LINORTFITN finds N and C such that the sum of squared distances is minimized.
There is already a file in Matlab Central for orthogonal linear regression in 2 dimensions, but it uses FMINSEARCH (i.e., unconstrained nonlinear optimization by Nelder-Mead simplex search) versus this simpler, numerically stable, multidimensional version based on SVD approximation.