How do I perform a linear least squares fit
526 views (last 30 days)
Alexander MacFarlane IV on 21 Dec 2018
I would like to perform a linear least squares fit to 3 data points.
The help files are very confusing, to the point where i can't figure out whether this is a base function of Matlab, I need the curve fitting toolbox, optimization toolbox, or both.
More Answers (2)
Image Analyst on 21 Dec 2018
Edited: Image Analyst on 21 Dec 2018
See attached polyfit demo. Adapt as needed. All you need is base MATLAB - no toolboxes.
coefficients = polyfit(x, y, 1);
yFitted = polyval(coefficients, x); % yFitted will be at the 3 points where x is. There will be 3 yFitted values.
If you want a lot more points, you can pass in more x to polyval():
xFit = linspace(min(x), max(x), 1000); % 1000 points.
yFitted = polyval(coefficients, xFit);
Tamas Kis on 25 Jul 2021
Edited: Tamas Kis on 26 Jul 2021
Function to perform curve fitting using linear least squares:
Linear and polynomial fits are linear least square fits, while the other fits (power, exponential, logarithmic) are approximated by first linearizing the data.