image thumbnail

Approximate Least Squares Curve Fitting (lsqcurvefit_approx​)

version 2.0.6 (567 KB) by Tamas Kis
Fits linear and polynomial models to data using linear least squares and approximates nonlinear models through linearization.

118 Downloads

Updated 28 Aug 2021

From GitHub

View license on GitHub

lsqcurvefit_approx View Approximate Least Squares Curve Fitting (lsqcurvefit_approx) on File Exchange

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.

Cite As

Tamas Kis (2021). Approximate Least Squares Curve Fitting (lsqcurvefit_approx) (https://github.com/tamaskis/lsqcurvefit_approx-MATLAB/releases/tag/v2.0.6), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with R2017a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.