2017-05-07 2 views
0

Ich bin mit Histogramm Befehl zum Plotten 3 Histogramms in einer Figur normalisieren, und ich habe Funktion mit Histogramm Befehl abgeschlossen und ich möchte nicht, dass es für alten hist Befehl neu zu schreiben. Jedoch kann ich die Y-Achse nicht normalisieren, weil der Vektor h.Werte nur gelesen werden kann.Wie Y-Achse in „Histogramm“ -Funktion in Matlab

h=histogram(data,'Normalization','pdf'); 
h.Values=(h.Values-min(h.Values))/(max(h.Values)-min(h.Values); 

Kann mir jemand helfen? Dank

EDIT nach ersten Kommentar: Ja ich lese Matlab Hilfe. Im Histogramm Bildbeispiel habe ich PDF auf Y-Achse, aber Werte sind von 0 bis 3,5. Ich muss von 0 auf 1 normalisieren. Wenn ich 'Normalisierung' parametriere mit 'Wahrscheinlichkeit', bekomme ich Histogramm von 0 bis 0.3. Ich brauche einfach PDF, aber von 0 bis 1. histogram example

+0

https://www.mathworks.com/help/matlab/ref/histogram.html#input_argument_d0e415501 – beaker

Antwort

0

Sie eine andere 'neue' Funktion verwenden:

[y, x]=histcounts (x); 
x=x(1:end-1)+diff(x/2) 

Dann können Sie normalisieren y, wie Sie möchten. Diese Funktion hat auch dieselben Normalisierungsargumente wie das Histogramm.