Internally, the function is really just a fairly carefully checked wrapper for the Matlab fitting routines that provides an interface that is amenable to practitioners of physics and other physical sciences. In addition, it can deal with error bars on both the dependent and independent variables (as is common in physics measurements).
The function will perform linear or non-linear fits of data to any user-defined function of one variable with or without uncertainties.
Outputs include the best fit values of the fit parameters, uncertainties in the fit parameters. If uncertainties in the data were supplied, the function also provides a meaningful value of the reduced chi squared at the solution. It also provides the probability of obtaining the quoted reduced chi squared assuming the uncertainties are randomly distributed about the fit function and their size was estimated correctly. (Essentially, this gives the probability that the fit function is consistent with the data.)
Added the capability of correctly handling uncertainties in the independent variable.