Matlab - errorbar

   
Vista:

errorbar

Publicado por Sara (4 intervenciones) el 21/04/2009 18:49:49
Hola
quiero representar la desviación tipica de los valores de x (e) de varios puntos almacenados en x e y.
Utilizando errorbar(x,y,e) me representa la barritas de error verticales, es decir como I (i mayúscula). Querría que me las pintara con forma de H, puesto que la variación (desviación) sucede en el eje x y no en el eje Y.

Saludos y gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:errorbar

Publicado por Lechu (1 intervención) el 14/05/2009 15:38:19
Como va Sara?

Mirá yo estuve teniendo varios problemas con los errorbars. Basicamente quería dibujar errorbars con el plotyy. Mi solución fue hacerlos a mano, como es esto? Si mi vector de error bar en y se llama erro (asumo que y = y + - erro) y mis cariables son x, y así:

for i=1:length(erro),
ee=0.1;
plot([x(i) x(i)],[y(i)-erro(i) y(i)+erro(i)],'b','linewidth',1)
plot([x(i)-ee x(i)+ee],[y(i)+erro(i) y(i)+erro(i)],'b','linewidth',1)
plot([x(i)-ee x(i)+ee],[y(i)-erro(i) y(i)-erro(i)],'b','linewidth',1)
end

donde ee es para dibujar la parte de arriba de la errorbar (sólo estética).
En este caso dibuja la típica errorbar.

Vos tendrías x,y, errox y erroy. 4 vectores de idénticas longitudes.

Yo haría

hold off
plot(x,y)
hold on
for i=1:length(erro),
ee=0.1;
plot([x(i)-errox(i) x(i)-errox(i)],[y(i)-erroy(i) y(i)+erroy(i)],'b','linewidth',1) %hace la pata izquierda de la H
plot([x(i)+errox(i) x(i)+errox(i)],[y(i)-erroy(i) y(i)+erroy(i)],'b','linewidth',1)%haca la pata derecha de la H
plot([x(i)-errox(i) x(i)+errox(i)],[y(i) y(i)],'b','linewidth',1)
end
hold off

Probalo ya que yo lo no hice y decime si no anda.

Saludos,
Lechu
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar