Quote:
Originally Posted by Navox1
Grüße,
Hoffe jemand kann mir hier schnell bei dem "einfachen" Matlab Code helfen.
function my_hist(x)
figure
centers=(-127.5:127.5)/128;
counts=hist(x,centers);
counts=counts/length(x)*256/2;
bar(centers,counts);
xlabel('x')
ylabel('h(x)')
Was ich verstanden habe:
Hier wird die Fkt. my_hist(x) definiert. xlabel ylabel beschriftet die x bzw y- achse.
Aber der Rest ist mir iwie schleierhaft.
Mit centers wird eine Zahlenfolge von (-127.5 bis 127.5 in einer Schritten)/128 definiert.
counts definiert jetzt ein Histogram mit der Eingabe x auf der x-Achse und centers auf der y-achse?
was bringt jetzt das nächste counts?
Was bringt das bar? Ein Balkendiagram?
Bekomme ich jetzt ein Balkendiagram+Histogram raus?
Hoffe jemand kann mir eben helfen :/
Grüße
Navox
|
Zuerst einmal musst du klar zwischen Histogramm und Säulendiagramm unterscheiden. Ein Histogramm hat erst einmal wenig mit einem Diagramm zu tun. Es ist bloß eine Art von "Zusammenfassen/Speichern der Werte". Ein Histogramm hat also genau so viel mit Diagrammen zu tun wie eine SQL-Datenbank mit HTML-Tabellen zu tun hat: Beides ist einfach und vollautomatisiert in einander umwandelbar, aber beide Sachen können gesondert und ohne die andere Seite existieren. Es ist also wichtig, dass du dir klar machst was genau ein Histogramm ist.
Dazu kannst du zum Beispiel das näher anschauen:
(nur das Kapitel "Histogramm" alleine reicht völlig aus und ist auch ohne Wissen außenrum verständlich).
Wenn dir klar ist was ein Histogramm ist, dann kannst du dir noch einmal deinen Code ansehen und dann siehst du auch, dass er folgendes macht:
PHP Code:
// Define function
function my_hist(x)
figure
// get values ranging from -0.99 to + 0.99 with step 1/128=0.0078125
centers=(-127.5:127.5)/128;
// create histogram for x and use the values in centers as possible bins (--> assign the values in x to the nearest bin in centers)
counts=hist(x,centers);
// scale all values up by 128 --> Values ranging from -0.99 to + 0.99 --> divide by count of elements in x (I do not know which "Meta-Goal" this fulfills, it seems kind of stupid to me... However....)
counts=counts/length(x)*256/2;
// Create a "Säulen"-diagram with values "centers" in x direction and values "counts" in y direction
bar(centers,counts);
// Give the diagram x and y direction some names
xlabel('x')
ylabel('h(x)')
Edit:
Btw. Ein Balkendiagramm ist laut Definition auch noch einmal etwas anderes als ein Säulendiagramm, aber das nur am Rande.