How to create one errorbar for multiple data points?

3 visualizzazioni (ultimi 30 giorni)
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,'.');

Risposta accettata

Daniel Pollard
Daniel Pollard il 3 Feb 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 Commenti
Daniel Pollard
Daniel Pollard il 3 Feb 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 il 3 Feb 2021
Understood. Thank you for your effort.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Errorbars in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by