Approximate Least Squares Curve Fitting (lsqcurvefit_approx)
lsqcurvefit_approx
Fits linear and polynomial models to data using linear least squares and approximates nonlinear models through linearization.
Syntax
[c,r2,eqn] = lsqcurvefit_approx(x,y)
[c,r2,eqn] = lsqcurvefit_approx(x,y,'linear')
[c,r2,eqn] = lsqcurvefit_approx(x,y,'poly',n)
[c,r2,eqn] = lsqcurvefit_approx(x,y,'power')
[c,r2,eqn] = lsqcurvefit_approx(x,y,'exp')
[c,r2,eqn] = lsqcurvefit_approx(x,y,'log')
Description
[c,r2,eqn] = lsqcurvefit_approx(x,y)
returns the model coefficient vector c = [m,b]
for the linear fit to a data set defined by the vectors x
(independent variable) and y
(dependent variable).
[c,r2,eqn] = lsqcurvefit_approx(x,y,'linear')
does the exact same thing as the syntax above.
[c,r2,eqn] = lsqcurvefit_approx(x,y,'poly',n)
returns the model coefficient vector c = [a0,...,an]
for the degree polynomial fit to a data set defined by the vectors x
(independent variable) and y
(dependent variable).
[c,r2,eqn] = lsqcurvefit_approx(x,y,'power')
returns the model coefficient vector c = [a,b]
for the power fit to a data set defined by the vectors x
(independent variable) and y
(dependent variable).
[c,r2,eqn] = lsqcurvefit_approx(x,y,'exp')
returns the model coefficient vector c = [a,b]
for the exponential fit to a data set defined by the vectors x
(independent variable) and y
(dependent variable).
[c,r2,eqn] = lsqcurvefit_approx(x,y,'log')
returns the model coefficient vector c = [a,b]
for the logarithmic fit to a data set defined by the vectors x
(independent variable) and y
(dependent variable).
NOTE: Additionally, for all the syntaxes, the coefficient of determination (r2
) and a string (eqn
) storing the fitted equation (for use in figure text with LaTeX interpreter) are also returned.
Additional Notes/Warnings:
- Only the linear and polynomial fits are true linear least squares fits. The nonlinear fits (power, exponential, and logarithmic) are approximated through transforming the model to a linear form and then applying a least squares fit.
- Taking the logarithm of a negative number produces a complex number. When linearizing, for simplicity, this function will take only the real part of the resulting complex numbers in the case that a negative data point has to be linearized. The resulting fit is typically poor, and a (slightly) better fit could be obtained by excluding those data points altogether.
Examples and Additional Documentation
- See "EXAMPLES.mlx" or the "Examples" tab on the File Exchange page for examples.
- See "Least_Squares_Curve_Fitting.pdf" (also included with download) for the technical documentation.
引用格式
Tamas Kis (2024). Approximate Least Squares Curve Fitting (lsqcurvefit_approx) (https://github.com/tamaskis/lsqcurvefit_approx-MATLAB/releases/tag/v2.0.6), GitHub. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!