%Wie zeichnet man ein Balkendiagramm (Histogramm) 
%Pascal/MATLAB-Kurs Okt. 2000, Gerhard Opfer
%In MATLAB gibt es dazu (mindestens) zwei Befehle: 'hist' und 'bar',
%die verschieden sch\"one Bilder produzieren und auch verschieden 
%zu bedienen sind. Wir w\"ahlen ein einfaches Beispiel: 
%Die Bev\"olkerung Afrikas in den Jahren
%1970, 1975, 1980, 1990, 2000 betrug (bzw. wurde gesch\"atzt zu)
% 352,  402,  462,  622,  834 Millionen Einwohner
%(nach DTV Lexikon, 1999, Bd. 2, S. 244).

%Der Befehl 'bar' zeichnet genau das, was man naiverweise will. Man betrachte
%dazu das kleine Programm unten. Im vorliegenden
%Fall werden die Balken rot gezeichnet, wegen 'r' als drittem Parameter. Diesen 
%Parameter kann man aber weglassen (dann werden die Balken blau gezeichnet). 
%Weitere Einzelheiten unter 'help bar'. 
%Wichtig ist nur, da\ss\ der Vektor Zeit strikt monoton geordnet ist
%(wachsend oder fallend). Der Befehl 'grid on' (geht auch bei 'plot')
%erzeugt ein Hintergrundgitter zur besseren Orientierung. Und 'xlabel(...)'
%funktioniert genau wie bei 'plot'. 

%Der Befehl 'hist' rechnet ausgehend von einem (langen) Vektor y zun\"achst 
%ymin=min(y) und ymax=max(y) aus und z\"ahlt dann, wieviele Elemente
%von y in die Intervalle 
%[ymin+(j-1)*(ymax-ymin)/10,ymin+j*(ymax-ymin)/10[, j=1,2.,...,10
%fallen. Diese Anzahlen werden dann als Balken gezeichnet, und die x-Achse wird
%i. w. mit den Mittelwerten der Z\"ahlwerte in den einzelnen Boxen
%beschriftet. Die oben verwendete Zahl zehn kann hinter y durch 
%eine andere Zahl ersetzt werden.
%F\"ur die Aufgabe 7 (Bev\"olkerungsentwicklung in den USA)
%ist also der Befehl 'bar' bestens geeignet.

%Demonstration von 'bar':
Zeit=[1970, 1975, 1980, 1990, 2000];
Bevoelkerung=[352, 402, 462, 622, 834];
figure(1);      bar(Zeit,Bevoelkerung,'r');    grid on;
xlabel('Bevoelkerung Afrikas in Millionen');    print -dpsc histo1.ps

%Demonstration von 'hist':
y=rand(1,10000);  %10000 auf ]0,1[ gleich verteilte Zufallszahlen.
y=floor(100*y+1); %10000 ganze, auf [1,100] gleichverteilte Zufallszahlen.
figure(2);    subplot(1,2,1);    hist(y); 
%Die Syntax in den Klammern ist: m,n,j: das j-te Bild einer (m x n)-Matrix
title('10 000 Zufallszahlen');
ylabel('Ganze, glm. verteilte Zufallszahlen in [1,100]');
xlabel('Verteilung in 10 Boxen');
subplot(1,2,2);   hist(y,5);   
%Farben k\"onnen hier nicht wie in 'bar' eingetragen werden
title('Dieselben 10 000 Zufallszahlen');
ylabel('Ganze, glm. verteilte Zufallszahlen in [1,100]');
xlabel('Verteilung in 5 Boxen');             print -dpsc histo2.ps
