File Exchange

## Orthogonal Linear Regression

version 1.0.0.0 (2.03 KB) by
Fit data using orthogonal linear regression.

Updated 10 Oct 2007

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.

### Cite As

F. Carr (2021). Orthogonal Linear Regression (https://www.mathworks.com/matlabcentral/fileexchange/16800-orthogonal-linear-regression), MATLAB Central File Exchange. Retrieved .

John Taylor

I found that the kmeans clustering function in Matlab provides similar results for my particular linear application.

John Taylor

Thank you. This worked well for me. Polyfit should offer this as an option.

Ed Hayter

jasongrig

Hi Jesper,

Iason

Jesper Kamp Jensen

Is it possible to get a R^2 for the fit to the data?

Tharindu Weerakoon

Hi Carr,

I was bit confused to get the estimated (xl,yl) from this function.

Suppose my input is
x=[9 8 6 4 2 ]
y=[1 4 6 10 12]

Both are independent, has some errors.

If I process through LINORTFIT2(X,Y), it will get the p(1) and p(2) to compute the yl=p(1)*x+p(2)

So how to get xl?
[x,y]-->[xl,yl]

xl and yl should differ from original data set x and y.

thanks

Ondrej Kotecky

Some more resources about the problem: http://www.mbari.org/staff/etp3/regress.htm

shaho zandi

##### MATLAB Release Compatibility
Created with R2006a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux