plot SEM error bars

58 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2017-6-10
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 个评论
best16 programmer
best16 programmer 2017-6-10
thank you again,can you please show me some example for this type of operation
Star Strider
Star Strider 2017-6-10
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])

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Errorbars 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by