X使用MATLAB消除标准偏差(提供代码和数据)

X使用MATLAB消除标准偏差(提供代码和数据),matlab,standard-deviation,Matlab,Standard Deviation,我有个小问题。我用matlab绘制了一个非常大的矩阵的标准偏差。矩阵包含:24x45x65-->小时x天x客户 我绘制了标准偏差和标准误差。但它只显示了1个标准偏差。如果我想看到3或6个标准偏差。有可能调整代码以获得它吗 代码: xwkd = x_weekday; for k2 = 1:size(xwkd,1) hrmx = xwkd(k2,:,1:64); % All data for hour ‘k1’ hrmn(k2) = trimmean(hrmx(:

我有个小问题。我用matlab绘制了一个非常大的矩阵的标准偏差。矩阵包含:24x45x65-->小时x天x客户 我绘制了标准偏差和标准误差。但它只显示了1个标准偏差。如果我想看到3或6个标准偏差。有可能调整代码以获得它吗

代码:

xwkd = x_weekday;
for k2 = 1:size(xwkd,1)
    hrmx = xwkd(k2,:,1:64);            % All data for hour ‘k1’
   hrmn(k2) = trimmean(hrmx(:),0.05);       % Mean
    hrsd(k2) = std(hrmx(:));        % Standard deviation
end
N = numel(hrmx);
figure(2)                           % Plot Mean ± Standard Deviation
errorbar([1:24], hrmn, hrsd)
hold on
grid
xlabel('Hour')
ylabel('kWh ± SD') 
figure(3)                           % Plot Mean ± Standard Error
errorbar([1:24], hrmn, hrsd/sqrt(N))
hold on
grid
xlabel('Hour')
ylabel('kWh ± SE')
数据:


非常感谢大家

您使用函数的第3个和第4个参数设置了错误栏范围。因此,您可以专门设置限值,而不仅仅是给出标准偏差,例如:

nSD=3; % number of standard deviations to show
errorbar(X,Y,Y-nSD*SD,Y+nSD*SD);
或者,在OP的问题中,第三个输入可以单独用于设置标准偏差,在这种情况下,函数使用
[Y-SD,Y+SD]
作为误差条范围

因此,上述内容实际上等同于告诉函数标准偏差增加了一个因数
nSD
,因此更简单的替代方法是使用:

errorbar(X,Y,nSD*SD)