Overview   Project   Class   Tree   Deprecated   Index 
Optimizaci�n M�nimos Cuadrados de la Ecuaci�n Log�stica con Quasi Newton modificado y Double dogleg step
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

mathpos
(mathpos globals)

   in arraypos.h
   in mathpos.h
   in statpos.h
   in arraypos.cpp
   in mathpos.cpp
   in statpos.cpp

(mathpos globals)


Field Summary
 const double MACHEPS
          Precision de la computadora (Machine Epsilon).
 const double SQRT_MACHEPS
          Frontera practica con la mitad de digitos.
 
Method Summary
 bool areAlmostEqual( double a, double b )
          Si alguno es casi cero, la comparacion es absoluta.
 void calculateClassFrontiers( int bins, float leftRange, float rightRange, float classFrontier[] )
          
 void calculateClassFrontiers( int bins, float leftRange, float rightRange, float* pClassFrontier )
          Busca las fronteras entre las marcas de clase.
 void calculateClassMarks( int bins, float leftRange, float rightRange, float* pClassMark )
          Busca las marcas de clase.
 void calculateClassMarks( int bins, float leftRange, float rightRange, float classMark[] )
          
 double calculateMachineps()
          Calcula la precision actual de la computadora.
 void calculateMeanMinMax2D( float** f, int nr, int nc, double& mean, float& min, float& max )
          Se incluye el borde.
 double calculateMu( double l, double u )
          computes shift value (mu_c) used in modified newton method to build Hc = (Nabla^2)(f)(xc) + mu_c * I
Parameters:
l - Lower boundaries for the eigenvalues of (Nabla^2)(f)(xc).
 void countFrequency2D( float** f, int nr, int nc, float leftRange, float rightRange, float* pClassMark, long* pFreq, int bins )
          Cuenta el numero de datos de cada clase en un cierto intervalo para un arreglo bidimensional.
 void cumulativeFrequency( float* pRelFreq, int bins, float* pCumFreq )
          
Parameters:
pRelFreq - Arreglo con las frecuencias relativas.
 template< class TC > void deleteArray2D( TC** pArray, int row )
          Libera memoria de un arreglo bidimensional de double.
 void deleteDouble2D( double** pArray, int row )
          Libera memoria de un arreglo bidimensional de double.
 void deleteFloat2D( float** pArray, int row )
          Libera memoria de un arreglo bidimensional de float.
 void findMinMax2D( float** f, int nr, int nc, float& min, float& max )
          Se incluye el borde.
 inline bool isAlmostZero( double x )
          
Returns:
true: x esta en el rango (-MACHEPS, +MACHEPS).
 template< class TC > inline TC MathPos_square( TC& x )
          Eleva al cuadrado.
 template< class TC > TC** newArray2D( int row, int col )
          Reserva memoria para un arreglo bidimensional de double.
 double** newDouble2D( int row, int col )
          Reserva memoria para un arreglo bidimensional de double.
 float** newFloat2D( int row, int col )
          Reserva memoria para un arreglo bidimensional de float.
 void relativeFrequency2D( float** f, int nr, int nc, float leftRange, float rightRange, float* pClassMark, float* pRelFreq, int bins )
          Cuen
 template< class TC > inline TC sign( TC& x )
          Obtiene el signo.
 template< class TC > inline TC square( TC& x )
          Eleva al cuadrado.
 template< class TC > inline char* toChar( TC& x, int digits = 4 )
          Para int, digits = 0.
 inline string toStr( bool x )
          
 template< class TC > inline string toString( TC& x, int digits = 4 )
          Para int, digits = 0.
 void vectorLongToFloat( long* pLong, float* pFloat, int count )
          Convierte un vector de long en float.
 void vectorToZero( long* pVector, int count )
          Solo usarlo con tipos numericos: int, long, float, double.
 

Field Detail

MACHEPS

 const double MACHEPS;
Precision de la computadora (Machine Epsilon).

SQRT_MACHEPS

 const double SQRT_MACHEPS;
Frontera practica con la mitad de digitos. Raiz de Machine Epsilon.


Method Detail

areAlmostEqual

 bool areAlmostEqual( double a, double b );
Si alguno es casi cero, la comparacion es absoluta. En otro caso, la diferencia es relativa. Usa SQRT_MACHEPS. * @return true: Diferencia relativa no significativa. false: otro caso.

calculateClassFrontiers

 void calculateClassFrontiers( int bins, float leftRange, float rightRange, float classFrontier[] ) throw( invalid_argument );

calculateClassFrontiers

 void calculateClassFrontiers( int bins, float leftRange, float rightRange, float* pClassFrontier ) throw( invalid_argument );
Busca las fronteras entre las marcas de clase.
Parameters:
bins - Numero de clases en el histograma.
leftRange - Inicio del intervalo.
rightRange - Fin del intervalo.
pClassFrontier - return. Uso: float *pClassFrontier = new float[bins + 1]; Cada renglon tiene la frontera de clase.
Throws:
invalid_argument - IllegalArgumentException No se puede contar frecuencias.

calculateClassMarks

 void calculateClassMarks( int bins, float leftRange, float rightRange, float* pClassMark ) throw( invalid_argument );
Busca las marcas de clase.
Parameters:
bins - Numero de clases en el histograma.
leftRange - Inicio del intervalo.
rightRange - Fin del intervalo.
pClassMark - return. Uso: float *pClassMark = new float[bins]; Cada renglon tiene la marca de clase.
Throws:
invalid_argument - IllegalArgumentException No se puede contar frecuencias.

calculateClassMarks

 void calculateClassMarks( int bins, float leftRange, float rightRange, float classMark[] ) throw( invalid_argument );

calculateMachineps

 double calculateMachineps();
Calcula la precision actual de la computadora.

calculateMeanMinMax2D

 void calculateMeanMinMax2D( float** f, int nr, int nc, double& mean, float& min, float& max );
Se incluye el borde.

calculateMu

 double calculateMu( double l, double u );
computes shift value (mu_c) used in modified newton method to build Hc = (Nabla^2)(f)(xc) + mu_c * I
Parameters:
l - Lower boundaries for the eigenvalues of (Nabla^2)(f)(xc). * @param u Upper boundaries for the eigenvalues of (Nabla^2)(f)(xc).

countFrequency2D

 void countFrequency2D( float** f, int nr, int nc, float leftRange, float rightRange, float* pClassMark, long* pFreq, int bins ) throw( invalid_argument );
Cuenta el numero de datos de cada clase en un cierto intervalo para un arreglo bidimensional. No cuenta datos fuera del rango [leftRange, rightRange]. Intervalo de la i-esima clase: [left, right).
Parameters:
f - Lista de datos 2D. Antes: item.
nr - Numero de renglones.
nc - Numero de columnas.
leftRange - Inicio del intervalo.
rightRange - Fin del intervalo.
pClassMark - return. Uso: float *pClassMark = new float[bins]; Almacena las marcas de clase.
pFreq - return. Uso: long *pFreq = new long[bins]; Almacena las frecuencias absolutas.
bins - Numero de clases en el histograma.
Throws:
invalid_argument - IllegalArgumentException No se puede contar frecuencias.

cumulativeFrequency

 void cumulativeFrequency( float* pRelFreq, int bins, float* pCumFreq );
Parameters:
pRelFreq - Arreglo con las frecuencias relativas.
pCumFreq - Arreglo con las frecuencias acumuladas.

deleteArray2D

 template< class TC > void deleteArray2D( TC** pArray, int row );
Libera memoria de un arreglo bidimensional de double.
Parameters:
row - Numero de renglones.

deleteDouble2D

 void deleteDouble2D( double** pArray, int row );
Libera memoria de un arreglo bidimensional de double.
Parameters:
row - Numero de renglones.

deleteFloat2D

 void deleteFloat2D( float** pArray, int row );
Libera memoria de un arreglo bidimensional de float.
Parameters:
row - Numero de renglones.

findMinMax2D

 void findMinMax2D( float** f, int nr, int nc, float& min, float& max );
Se incluye el borde.

isAlmostZero

 inline bool isAlmostZero( double x );
Returns:
true: x esta en el rango (-MACHEPS, +MACHEPS). false: contrario.

MathPos_square

 template< class TC > inline TC MathPos_square( TC& x );
Eleva al cuadrado.

newArray2D

 template< class TC > TC** newArray2D( int row, int col );
Reserva memoria para un arreglo bidimensional de double. Uso: double **M = newArray2D(n, n);
Parameters:
row - Numero de renglones.
col - Numero de columnas.
Returns:
Doble apuntador a arreglo bidimensional.

newDouble2D

 double** newDouble2D( int row, int col );
Reserva memoria para un arreglo bidimensional de double. Uso: double **M = newFloat2D(n, n);
Parameters:
row - Numero de renglones.
col - Numero de columnas.
Returns:
Doble apuntador a arreglo bidimensional.

newFloat2D

 float** newFloat2D( int row, int col );
Reserva memoria para un arreglo bidimensional de float. Uso: float **M = newFloat2D(n, n);
Parameters:
row - Numero de renglones.
col - Numero de columnas.
Returns:
Doble apuntador a arreglo bidimensional.

relativeFrequency2D

 void relativeFrequency2D( float** f, int nr, int nc, float leftRange, float rightRange, float* pClassMark, float* pRelFreq, int bins ) throw( invalid_argument );
Cuenta el numero de datos de cada clase en un cierto intervalo para un arreglo bidimensional normalizados a 1.0. No cuenta datos fuera del rango [leftRange, rightRange]. Intervalo de la i-esima clase: [left, right).
Parameters:
f - Lista de datos 2D. Antes: item.
nr - Numero de renglones.
nc - Numero de columnas.
leftRange - Inicio del intervalo.
rightRange - Fin del intervalo.
pClassMark - return. Uso: float *pClassMark = new float[bins]; Almacena las marcas de clase.
pRelFreq - return. Uso: long *pRelFreq = new long[bins]; Almacena las frecuencias relativas.
bins - Numero de clases en el histograma.
Throws:
invalid_argument - IllegalArgumentException No se puede contar frecuencias.

sign

 template< class TC > inline TC sign( TC& x );
Obtiene el signo.
Parameters:
x - De donde se sacara el signo.
Returns:
-1: Negativo. Si (-infinity, 0) (se excluye el cero) 1: Positivo. Si [0, +infinity)

square

 template< class TC > inline TC square( TC& x );
Eleva al cuadrado.

toChar

 template< class TC > inline char* toChar( TC& x, int digits = 4 );
Para int, digits = 0. * @return Cadena con formato fijo, con decimales fijo precision.

toStr

 inline string toStr( bool x );

toString

 template< class TC > inline string toString( TC& x, int digits = 4 );
Para int, digits = 0. * @return Cadena con formato fijo, con decimales fijo precision.

vectorLongToFloat

 void vectorLongToFloat( long* pLong, float* pFloat, int count );
Convierte un vector de long en float.

vectorToZero

 void vectorToZero( long* pVector, int count );
Solo usarlo con tipos numericos: int, long, float, double.

 Overview   Project   Class   Tree   Deprecated   Index 
Optimizaci�n M�nimos Cuadrados de la Ecuaci�n Log�stica con Quasi Newton modificado y Double dogleg step
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD