Ich habe einen Vektor, rufe ihn x, der sehr kleine Zahlen enthält, die ich aus einem Mittelwert berechnet habe. Ich möchte die logarithmische Transformation von x, z. B. y = 10 * log10 (x), zusammen mit Fehlerbalken von + - 2 Standardabweichungen berechnen, die berechnet werden, wenn der Mittelwert gefunden wird.Plotten von Fehlerbalken in der logarithmischen Domäne mit negativen Werten (Matlab)
Um dies zu tun, ich bin mit dem folgenden Code:
figure
errorbar(lengths, 10*log10(x), ...
10*log10(x-2*std_x), 10*log10(x+2*std_x), 'o')
Mein Problem ist, dass da x so kleine Werte enthält, x-2 * std_x ist in der Regel eine negative Zahl, und Sie können nicht Nimm den Log der negativen Zahlen.
Also meine Frage ist, wie kann ich Fehlerbalken in der logarithmischen Domäne plotten, wenn Subtraktion der Standardabweichung in der linearen Domäne gibt mir negative Zahlen? Ich kann es nicht tun, um das + -
Dies bedeutet auch, dass die Bedeutung des Fehlerbalkens nicht ganz richtig ist - die Fehlerbalken nehmen eine Gauss-Verteilung an, und Nonnegativität bedeutet, dass es nicht Gauß ist.aber ich verstehe immer noch, warum Sie das tun würden, und es ist immer noch vernünftig :) – Peter