Orthogonal Linear Regression in 3D-space by using PCA
Orthogonal Linear Regression in 3D-space by using Principal Components Analysis
This is a wrapper function to some pieces of the code from the Statistics Toolbox demo titled "Fitting an Orthogonal Regression Using Principal Components Analysis"
(https://www.mathworks.com/examples/statistics/mw/stats_featured-ex25288136-fitting-an-orthogonal-regression-using-principal-components-analysis), which is Copyrighted by the MathWorks, Inc.
Input parameters:
- XData: input data block -- x: axis
- YData: input data block -- y: axis
- ZData: input data block -- z: axis
- geometry: type of approximation ('line','plane')
- visualization: figure ('on','off') -- default is 'on'
- sod: show orthogonal distances ('on','off') -- default is 'on'
Return parameters:
- Err: error of approximation - sum of orthogonal distances
- N: normal vector for plane, direction vector for line
- P: point on plane or line in 3D space
Example:
>> XD = [4.8 6.7 6.2 6.2 4.1 1.9 2.0]';
>> YD = [13.4 9.9 5.8 6.1 6.7 10.6 11.5]';
>> ZD = [13.7 13.1 11.3 11.8 12.5 16.2 18.5]';
>> fit_3D_data(XD,YD,ZD,'line','on','on');
>> fit_3D_data(XD,YD,ZD,'plane','on','off');
Note: Written for Matlab 7.0 (R14) with Statistics Toolbox
We sincerely thank Peter Perkins, the author of the demo, and John D'Errico for their comments.
Ivo Petras, Igor Podlubny, May 2006
(ivo.petras@tuke.sk, igor.podlubny@tuke.sk)
An example of application can be found at:
http://uk.arxiv.org/abs/math/0609789
For additional codes for the Orthogonal Linear Regression also known as Total Least Squares Method see link:
http://www.mathworks.com/matlabcentral/fileexchange/31109
Cite As
Ivo Petras (2024). Orthogonal Linear Regression in 3D-space by using PCA (https://www.mathworks.com/matlabcentral/fileexchange/12395-orthogonal-linear-regression-in-3d-space-by-using-pca), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- AI and Statistics > Statistics and Machine Learning Toolbox > Dimensionality Reduction and Feature Extraction >
- AI and Statistics > Statistics and Machine Learning Toolbox > Regression > Linear Regression >
Tags
Acknowledgements
Inspired: Total Least Squares Method
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.