阴影错误栏matlab

时间:2016-06-16 13:51:11

标签: matlab

我从excel中导入了3个向量(500x1 double),但我的代码不起作用。

x=frequency;
y=real_part;
    figure;hold on;

    H(1) = shadedErrorBar(x, y, {@mean, @(x) 0.25*std(x)  }, '-r', 0);

其中frequency和real_part是我的3个向量中的2个。 它说

  

使用shadedErrorBar(第85行)长度(x)的错误必须相等   长度(errBar)

     

Untitled2中的错误(第5行)H(1)= shadedErrorBar(x,y,{@ mean,@(x)   2 * std(x)},' - r',0);

但所有这些都有相同的长度。你能帮助我吗? 我带了代码http://blogs.mathworks.com/pick/2012/08/17/shaded-error-bars/

1 个答案:

答案 0 :(得分:0)

正如你所说,你的x 500x1 double 。但是这两个匿名函数(@mean, @(x) 0.25*std(x))在x上应用时会给你 1x1 double 。这就是您在尺寸不匹配时出错的原因。

我认为你在这里错过了一点。如果你在第三个向量中有错误值 - 我们称之为error_bars - 那么这应该有效:

shadedErrorBar(x , y , error_bars , '-r' , 0);

我引用shadedErrorBar on File Exchange

  • x - x值的向量
  • y - y个值的向量或m个案例的n个观测矩阵   其中m有长度(x);
  • errBar - 如果向量我们绘制对称错误栏。如果它有        大小为[2,长度(x)]然后我们绘制不对称误差条        第1行是上栏,第2行是下栏        酒吧。 **或者** errBar可以是一个cellArray        两个功能手柄。第一个定义了哪个统计数据        该行应该是,第二个定义错误        栏。