% [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-;;');