plot SEM error bars
58 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
best16 programmer
il 10 Giu 2017
Commentato: Star Strider
il 10 Giu 2017
hi everyone, i have 2 column such as
X=[ -120 -110 -100 -90 -80 -70 -60 -50 -40 -30 -20 -10]
Y=[0.9996 1.0000 0.9772 0.8978 0.6916 0.3253 0.0680 0.0091 0.0089 0.0088 0.0098 0.0119]
i want to plot SEM error bars using errorbar function,but when i calculate the SEM it only gives me one value and errobar function show this error:
'X, Y and error bars must all be the same length'
can you please help me with that.
SEM=std(data)./sqrt(length(data))
thank you
0 Commenti
Risposta accettata
Star Strider
il 10 Giu 2017
If your ‘data’ matrix variables are in columns and ‘Y’ is the mean, you need to calculate the ‘SEM’ across the columns of ‘data’:
SEM = std(data,2)./sqrt(size(data,2));
You calculate the mean the same way:
Y = mean(data,2);
Note: This is a guess, since I do not have your data.
4 Commenti
Star Strider
il 10 Giu 2017
My pleasure.
This is one example (using your ‘X’ and ‘Y’ vectors):
X = [ -120 -110 -100 -90 -80 -70 -60 -50 -40 -30 -20 -10]';
Y = [0.9996 1.0000 0.9772 0.8978 0.6916 0.3253 0.0680 0.0091 0.0089 0.0088 0.0098 0.0119]';
data = Y + 0.1*randn(12, 8); % Create (12x8) Data Array
data_mean = mean(data,2); % Mean Across Columns
data_SEM = std(data,[],2)/sqrt(size(data,2)); % SEM Across Columns
figure(1)
errorbar(X, data_mean, data_SEM)
grid
axis([-130 0 ylim])
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Errorbars in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!