Code covered by the BSD License  

Highlights from
addFitLine

Be the first to rate this file! 4 Downloads (last 30 days) File Size: 2.14 KB File ID: #26323
image thumbnail

addFitLine

by

 

08 Jan 2010 (Updated )

A convenience function to superimpose a polynomial fit to already plotted data

| Watch this File

File Information
Description

The stats toolbox is required for the 'linear' and 'quadratic' options only.

function out=addFitLine(poolFits,modelType,lineprops,ax)

  Purpose
  Add one or more fit lines to some or all data in axes "ax" or,
  without ax specified, to the current axes.

  Inputs
   *poolFits [optional 0 by default] -
     if 1 we fit a single line to all data series on the current
     axes.
   *modelType ['linear' by default] - If 'linear' it fits a straight line
     using the regress function from the stats toolbox. If 'quadratic' it
     fits a second-order polynomial using regress. The output from regress is
     returned. If modelType is an integer, the function fit a polynomial of
     this order using polyfit, which is not part of the stats toolbox. The
     output of polyfit is then returned.
   *lineprops [optional 'b-' by default]
   *ax [optional - gca by default]

  Outputs
  out - the fit parameters and plot handles

  Examples
  clf
  %Fit two seperate lines
  subplot(1,3,1), hold on, x=-5:0.1:5;
  y=1+1*x+randn(size(x))*2; plot(x,y,'.k')
  y=2-4*x+randn(size(x))*2; plot(x,y,'.r')
  H=addFitLine

  %Fit one line to two sets of data
  subplot(1,3,2), hold on
  x=-5:0.2:0; y=0.3*x+randn(size(x))*2; plot(x,y,'.k')
  x=0:0.2:5; y=0.3*x+randn(size(x))*2; plot(x,y,'.r')
  H=addFitLine(1)

  %Fit one quadratic
  subplot(1,3,3)
  x=-5:0.1:5;
  y=2+0.3*x+0.5*x.^2+randn(size(x))*2;
  plot(x,y,'.k')
  addFitLine([],'quadratic')
  OR:
  addFitLine([],2)

  Rob Campbell - December 2009

Required Products Statistics Toolbox
MATLAB release MATLAB 7.8 (R2009a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Updates
13 Jan 2010

Improved error checking: removes text and patch elements before acquiring plot data.
Added ability to fit higher order polynomials using polyfit and polyval.

19 Jan 2010

the polynomial fit was not return plot handles

19 Jan 2010

Correct indexing bug

Contact us