Power Law, Exponential and Logarithmic Fit

Finds and plots the linear fit to some data points when plotted on a log scale.
Updated 22 Aug 2014

View License

logfit(X,Y,graphType), where X is a vector and Y is a vector or a
matrix will plot the data with the axis scaling determined
by graphType as follows: graphType-> xscale, yscale
loglog-> log, log
logx -> log, linear
logy -> linear, log
linear -> linear, linear
A line is then fit to the scaled data in a least squares
See the 'notes' section below for help choosing a method.
logfit(X,Y), will search through all the possible axis scalings and
finish with the one that incurs the least error (with error
measured as least squares on the linear-linear data.)

A power law relationship
[slope, intercept] = logfit(x,y,'loglog');
yApprox = (10^intercept)*x.^(slope);

An exponential relationship
[slope, intercept] = logfit(x,y,'logy');
yApprox = (10^intercept)*(10^slope).^x;

A logarithmic relationship
[slope, intercept] = logfit(x,y,'logx');
yApprox = (intercept)+(slope)*log10(x);

A linear relationship
[slope, intercept] = logfit(x,y,'linear');
yApprox = (intercept)+(slope)*x;

Cite As

Jonathan C. Lansey (2024). Power Law, Exponential and Logarithmic Fit (https://www.mathworks.com/matlabcentral/fileexchange/29545-power-law-exponential-and-logarithmic-fit), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Added new color option which lets you set the 'color' of both lines and markers with one parameter. Added robustness to NaN values.

Updated to use R2 as 'best fit' criterion rather than MSE

fixed 'skipbegin' feature functionality

Updated to include Mean Squared Error