Beschreibung | Diese Funktion zählt, wieviele Elemente von X in jedes einzelne der in Limits definierten Intervalle fallen. Die gefundenen Häufigkeitswerte werden in Abund gespeichert.
Es gibt nbins Intervalle (engl. bins). Die Größe des zu durchsuchenden Vektors ist sizex.
Limits muss in aufsteigender Folge sortiert sein. Die Abstände zwischen den einzelnen Werten von Limits müssen aber nicht unbedingt konstant sein.
Der Parameter mode entscheidet darüber, wie die in Limits angegebenen Werte interpretiert werden sollen.
mode > 0: Die Werte von Limits geben die Obergrenzen der Intervalle an.
mode < 0: Die Werte von Limits geben die Untergrenzen der Intervalle an.
mode = 0: Die Werte von Limits geben die Intervall-Mittelpunkte an. Ein X-Wert wird also demjenigen Intervall zugerechnet, zu dessen in Limits angegebenen Wert er den geringsten Abstand hat. Befindet sich ein X-Wert exakt in der Mitte zwischen zwei Limits-Werten, so wird er dem Intervall mit dem niedrigeren Index zugeschlagen. Das durch Limits0 angegebene Intervall ist nach unten hin offen, das durch Limitsnbins−1 angegebene reicht bis +HUGE_VAL.
Der Rückgabewert gibt die Anzahl der Elemente von X an, die außerhalb der spezifierten Intervalle liegen. Für mode > 0 sind dies die das höchste Limit übersteigenden Elemente und für mode < 0 die das niedrigste Limit unterschreitenden Elemente. Für mode = 0 ist der Rückgabewert immer 0, denn die Intervalle sind ja nach beiden Seiten hin offen, so dass jedes Element von X erfaßt wird.
Um die normierte Verteilungsfunktion zu erhalten, gebrauche man die Sequenz
VF_distribution( Abund, Limits, nbins, X, sizex, 0 );
V_UItoD( Y, Abund, nbins );
VD_divC( Y, Y, nbins, VD_integralV(Limits,Y,nbins) );
Durch anschließenden Aufruf von
VD_runintegralC( Y, Y, nbins, 1.0 );
erhält man hieraus die kumulierte Verteilungsfunktion.
Zur Stapelverarbeitung mehrerer Vektoren gleicher Größe bieten sich die Funktionen MF_Rows_distribution (vorzugsweise fü C/C++) und MF_Cols_distribution (für Delphi) an.
|