standard deviation on power vs. frequency graph

조회 수: 6 (최근 30일)
nines
nines 2020년 1월 18일
답변: Star Strider 2020년 1월 18일
Hello all!
I am trying to put a shaded standard deviation on a power vs. frequency graph.
I've tried:
%errorbar
plot(f, mean(allspectrums_cortex_young)); hold on;
errorbar(f, std(allspectrums_cortex_young)/sqrt(13)); hold on;
fill(f, std(allspectrums_cortex_young)/sqrt(13),[1 0 0],'LineStyle','none');
title('Young Power - Cortex')
ylim([0 2000])
xlim([0 .15])
xlabel('Frequency (in hertz)');
ylabel('Power (n=13)'
%fill
plot(f, mean(allspectrums_cortex_young)); hold on;
fill(f, std(allspectrums_cortex_young)/sqrt(13),[1 0 0],'LineStyle','none');
title('Young Power - Cortex')
ylim([0 2000])
xlim([0 .15])
xlabel('Frequency (in hertz)');
ylabel('Power (n=13)'
and I get this:
Screen Shot 2020-01-18 at 11.11.36 AM.png
when I am looking for something more like:
Screen Shot 2020-01-18 at 11.13.30 AM.png
does anyone have any ideas? thanks so so much!

채택된 답변

Star Strider
Star Strider 2020년 1월 18일
It would help to have your data, however I created some to illustrate the approach:
f = linspace(0, 0.5, 25); % Frequency Vector
allspectrums_cortex_young = 1E+3*rand(5, 25) + 1600*exp(-10*f); % Synthetic Spectrum
mn_allspectrums_cortex_young = mean(allspectrums_cortex_young);
sd_allspectrums_cortex_young = std(allspectrums_cortex_young);
figure
plot(f, mn_allspectrums_cortex_young)
hold on
patch([f fliplr(f)], [(mn_allspectrums_cortex_young+sd_allspectrums_cortex_young) fliplr(mn_allspectrums_cortex_young-sd_allspectrums_cortex_young)], 'r', 'FaceAlpha',0.5, 'EdgeColor','none')
hold off
The approach (using the patch function) is to create a closed curve that patch then fills. That is done here by adding and then subtracting the std from the mean, after plotting the mean.
Example —
1standard deviation on power vs. frequency graph - 2020 01 18.png

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Teaching Resources에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by