|
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 | DETAIL: FIELD | CONSTR | METHOD |
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
|
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 )
|
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 )
|
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 |
const double MACHEPS;
const double SQRT_MACHEPS;
Method Detail |
bool areAlmostEqual( double a, double b );
void calculateClassFrontiers( int bins, float leftRange, float rightRange, float classFrontier[] ) throw( invalid_argument );
void calculateClassFrontiers( int bins, float leftRange, float rightRange, float* pClassFrontier ) throw( invalid_argument );
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.invalid_argument
- IllegalArgumentException
No se puede contar frecuencias.void calculateClassMarks( int bins, float leftRange, float rightRange, float* pClassMark ) throw( invalid_argument );
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.invalid_argument
- IllegalArgumentException
No se puede contar frecuencias.void calculateClassMarks( int bins, float leftRange, float rightRange, float classMark[] ) throw( invalid_argument );
double calculateMachineps();
void calculateMeanMinMax2D( float** f, int nr, int nc, double& mean, float& min, float& max );
double calculateMu( double l, double u );
l
- Lower boundaries for the eigenvalues of (Nabla^2)(f)(xc).
* @param u Upper 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 ) throw( invalid_argument );
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.invalid_argument
- IllegalArgumentException
No se puede contar frecuencias.void cumulativeFrequency( float* pRelFreq, int bins, float* pCumFreq );
pRelFreq
- Arreglo con las frecuencias relativas.
pCumFreq
- Arreglo con las frecuencias acumuladas.template< class TC > void deleteArray2D( TC** pArray, int row );
row
- Numero de renglones.void deleteDouble2D( double** pArray, int row );
row
- Numero de renglones.void deleteFloat2D( float** pArray, int row );
row
- Numero de renglones.void findMinMax2D( float** f, int nr, int nc, float& min, float& max );
inline bool isAlmostZero( double x );
template< class TC > inline TC MathPos_square( TC& x );
template< class TC > TC** newArray2D( int row, int col );
row
- Numero de renglones.
col
- Numero de columnas.double** newDouble2D( int row, int col );
row
- Numero de renglones.
col
- Numero de columnas.float** newFloat2D( int row, int col );
row
- Numero de renglones.
col
- Numero de columnas.void relativeFrequency2D( float** f, int nr, int nc, float leftRange, float rightRange, float* pClassMark, float* pRelFreq, int bins ) throw( invalid_argument );
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.invalid_argument
- IllegalArgumentException
No se puede contar frecuencias.template< class TC > inline TC sign( TC& x );
x
- De donde se sacara el signo.template< class TC > inline TC square( TC& x );
template< class TC > inline char* toChar( TC& x, int digits = 4 );
inline string toStr( bool x );
template< class TC > inline string toString( TC& x, int digits = 4 );
void vectorLongToFloat( long* pLong, float* pFloat, int count );
void vectorToZero( long* pVector, int count );
|
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 | DETAIL: FIELD | CONSTR | METHOD |