|
Funktion | Gauss'sche Normalverteilungs-Funktion |
|
Syntax C/C++ | #include <VFmath.h>
int VF_Gauss( fVector Y, fVector X, ui size, float Wid, float Cent, float C ); |
C++ VecObj | #include <OptiVec.h>
int vector<T>::Gauss( const vector<T>& X, T Wid, const T& Cent, const T& C ); |
Pascal/Delphi | uses VFmath;
function VF_Gauss( Y, X:fVector; size:UIntSize; Wid, Cent, C:Single ): IntBool; |
|
CUDA-Funktion C/C++ | #include <cudaVDstd.h>
int cudaVF_Gauss( fVector d_Y, fVector d_X, ui size, float Wid, float Cent, float C );
int cusdVF_Gauss( fVector d_Y, fVector d_X, ui size, float *d_Wid, float *d_Cent, float *d_C );
int VFcu_Gauss( fVector h_Y, fVector h_X, ui size, float Wid, float Cent, float C );
|
CUDA-Funktion Pascal/Delphi | uses VDstd;
function cudaVF_Gauss( d_Y, d_X:fVector; size:UIntSize; Wid, Cent, C:Single ): IntBool;
function cusdVF_Gauss( d_Y, d_X:fVector; size:UIntSize; d_Wid, d_Cent, d_C:PSingle ): IntBool;
function VFcu_Gauss( h_Y, h_X:fVector; size:UIntSize; Wid, Cent, C:Single ): IntBool;
|
|
Beschreibung | Yi = C / (Wid * sqrt(2*p)) * exp( −0.5*((Xi−Cent) / Wid)2 )
Wid = Breite der Verteilung
Cent = Zentrum der Verteilung
C ist ein Skalierungsfaktor. Für C = 1 ist die Verteilung normiert. Für eine Breite von 0 geht die Normalverteilung in eine Delta-Verteilung über mit Y = C * INF für X = Cent und Y = 0 für alle übrigen Werte von X. Da ein Wert von Unendlich aber nicht dargestellt werden kann, führt die Existenz von Punkten X = Cent zu SING-Fehlern, wenn Wid = 0. |
|
Fehlerbehandlung | SING-Fehler können nur bei Wid=0 auftreten und führen zu einem Ergebnis von ±HUGE_VAL. |
|
Rückgabewert | FALSE (0), wenn fehlerfrei, andernfalls TRUE (≠ 0). |
|
|