首页 文章

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

提问于
浏览
0

我已经获得了一些数据点,我已经从中得到了直方图,并在平均值上绘制了一条直线 .

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

这是我为此做的代码:

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

  • 我是否有正确左/右的std的想法?如果不是这意味着什么?

  • 如何将其实现到代码中?

1 回答

  • 3

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

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

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

相关问题