weighted total least squares for mutually correlated coordinates

Weighted total least squares line fit taking correlations between x and y pairs into account.
821 Downloads
Updated 26 Jan 2011

View License

The problem of fitting a straight line to data with uncertainties in both coordinates is solved using a weighted total least-squares algorithm. The parameters are transformed from the usual slope/y-axis intersection pair to slope angle and distance to the origin. The advantages of this are that a) global convergence is assured b) a solution is found even for a vertical line. The complete uncertainty matrix (i.e. variances AND covariance of the fitting parameters) is determined. For non-vertical straight lines the usual parameters (slope/y-axis intersect.) are also given, together with their uncertainty matrix. The algorithm is especially useful for precision measurements, where the knowledge of the complete uncertainty matrix is a must. In addition to our previous version wtls_line.m, now a vector of correlation coefficients rho can be given as input. However, great care has to be taken in order to provide an adequate value. We strongly recommend to consult the publicaton in order to see how to estimate the input rho. A hint is given in the help text. The algorithm is published in Measurement Science and Technology 22 (2011) by M.Krystek and M.Anton, Physikalisch-Technische Bundesanstalt Braunschweig, Germany.

Cite As

Mathias Anton (2024). weighted total least squares for mutually correlated coordinates (https://www.mathworks.com/matlabcentral/fileexchange/30193-weighted-total-least-squares-for-mutually-correlated-coordinates), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Descriptive Statistics in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0