如何在Matlab中绘制标准偏差的位置

时间:2015-11-13 08:05:24

标签: matlab plot

我已经获得了一些数据点,并且我已经制作了一个直方图,并在平均值上绘制了一条直线。

我现在需要“在每个直方图上包括两条蓝色虚线,显示标准偏差的位置 平均值的每一边。“但我不确定这意味着什么。我唯一的猜测是将值的标准偏差置于平均值以下,然后取值均值以上的标准差,然后绘制两个。只有它给了我两个标准差在左边的平均值。

这是我为此所做的代码:

figure,

subplot(3,1,1)
histogram(AllValue,'BinWidth',.5), title('All Values')
mu=mean(AllValue, 'omitnan');
su=std(AllValue(AllValue<4.7450));
su2=std(AllValue(AllValue>4.7450));
hold on
plot([mu,mu],ylim,'r','LineWidth',2), 
plot([su,su],ylim,'b--','LineWidth',2),text([su,su],ylim,'StdDev Left')
plot([su2,su2],ylim,'b--','LineWidth',2)
hold off

这是结果图:

enter image description here

  1. 我是否有正确的左/右std的想法?如果不是这意味着什么?
  2. 如何将其实现为代码?

1 个答案:

答案 0 :(得分:3)

很可能这意味着您应该绘制一个标准偏差限制到绘图,即mu-sigma处的水平虚线和mu+sigma处的另一个。 此处sigma是指所有数据的标准偏差,而不是低于或高于均值sigma=std(AllValue)的标准偏差。

例如,您可以执行以下操作以在平均值之上绘制一个标准差限制:

plot([mu+sigma,mu+sigma],ylim,'b--','LineWidth',2)