How to create one errorbar for multiple data points?

11 vues (au cours des 30 derniers jours)
LM
LM le 3 Fév 2021
Commenté : LM le 3 Fév 2021
Hello,
i want to plot a x-vector (1,100) and a y-vector (1,100) with an errorbar. I have already calculated the single value for the standard deviation of the y-vector. This y-vector has been measured 100 times, so i just need one standard deviation for the 100 values of y.
I tried to do this with:
x = ones(1,100);
y = ...;
error = 4.17e-04;
errorbar(x,y,error,'.');

Réponse acceptée

Daniel Pollard
Daniel Pollard le 3 Fév 2021
If I understand you right, could you do something like
figure; hold on
plot(x, y, 'bx')
errorbar(mean(x), mean(y), std(y), 'k+')
hold off
which I believe should plot all of your y values at x=1, and then overlay an errorbar centred at the mean point with a size equal to the standard deviation of y.
  3 commentaires
Daniel Pollard
Daniel Pollard le 3 Fév 2021
The code I gave you does two things. It plots each data point individually, which I specified as blue x's. In your case this plots the y values on a vertical line corresponding to x=1. Then, it plots an extra point: the mean value of y, against the mean value of x. mean(x) is just 1, but I left it like that so you can reuse the code for other data. mean(y) is the averge value of all of the y values. std calculates the standard deviation of the y values.
The hold command does a lot of work here too; when you call
hold on
it says to Matlab "keep plotting these things on the same figure until I call
hold off
which I do after. Otherwise when you call errorbar, it will overwrite the previous plot.
LM
LM le 3 Fév 2021
Understood. Thank you for your effort.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Errorbars dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by