MATLAB: Plotting error bars in different scale

errorerrorbarplotscale

Hi,
I plotted the following:
x = 1:5;
y = 100*[0.2466 0.2195 0.1976 0.1796 0.1663];
err = 100*[0.0523 0.0494 0.0469 0.0447 0.0430];
errorbar(x,y,err)
which results in this:
My question is: why are the errorbars so big? If I look at the values at the y axis, the first error bar with a value of 5.23 goes from (approximately) y=19.5 to y=29.9, which is 10.5, not 5.23!
Can you help me to understand this?
Thanks!

Best Answer

Because the err in errorbar() defines the length of error bar from mean position. Therefore the error bar varies from 24.66-5.23=19.46 to 24.66+5.2=29.86. This is exactly what you observed. To correct, divide the err by 2
err = 100*[0.0523 0.0494 0.0469 0.0447 0.0430]/2;