[y,dy] = polyconf(p,x,s)

   Produce prediction intervals for the fitted y. The vector p 
   and structure s are returned from polyfit or wpolyfit. The 
   x values are where you want to compute the prediction interval.

 polyconf(...,['ci'|'pi'])

   Produce a confidence interval (range of likely values for the
   mean at x) or a prediction interval (range of likely values 
   seen when measuring at x).  The prediction interval tells
   you the width of the distribution at x.  This should be the same
   regardless of the number of measurements you have for the value
   at x.  The confidence interval tells you how well you know the
   mean at x.  It should get smaller as you increase the number of
   measurements.  Error bars in the physical sciences usually show 
   a 1-alpha confidence value of erfc(1/sqrt(2)), representing
   one standandard deviation of uncertainty in the mean.

 polyconf(...,1-alpha)

   Control the width of the interval. If asking for the prediction
   interval 'pi', the default is .05 for the 95% prediction interval.
   If asking for the confidence interval 'ci', the default is
   erfc(1/sqrt(2)) for a one standard deviation confidence interval.

 Example:
  [p,s] = polyfit(x,y,1);
  xf = linspace(x(1),x(end),150);
  [yf,dyf] = polyconf(p,xf,s,'ci');
  plot(xf,yf,'g-;fit;',xf,yf+dyf,'g.;;',xf,yf-dyf,'g.;;',x,y,'xr;data;');
  plot(x,y-polyval(p,x),';residuals;',xf,dyf,'g-;;',xf,-dyf,'g-;;');

Package: optim