CREAR_MATRIZ_WEIBULL_ALEATORIA

Este procedimiento crea una nueva matriz llena de variables pseudoaleatorias siguiendo la distribución Weibull utilizando los parámetros especificados Alfa, Beta y desplazamiento. La técnica de generación se basa en la inversión de la FCD según la siguiente ecuación: x = Beta * POWER( (-ln(u)), 1/Alfa )) + desplazamiento donde u es una variable pseudoaleatoria distribuida uniformemente en el intervalo (0, 1).

Uso

El procedimiento almacenado CREATE_RANDOM_WEIBULL_MATRIX tiene la siguiente sintaxis:
CREATE_RANDOM_WEIBULL_MATRIX matrixOut,numberOfRows,numberOfCols,alpha,shift,beta )
Parámetros
matrixOut
El nombre de la matriz que se va a generar.
Tipo NVARCHAR(ANY)
numberOfRows
El número de filas de la matriz.
Tipo: INT4
numberOfCols
El número de columnas de la matriz.
Tipo: INT4
alfa
El valor utilizado para Alfa.
Tipo: DOUBLE
desplazar
El valor utilizado para el desplazamiento.
Tipo: DOUBLE
:NONE.
El valor utilizado para Beta.
Tipo: DOUBLE
Devuelve
BOOLEAN TRUE si tiene éxito.

Detalles

Este procedimiento utiliza la biblioteca MKL.

Ejemplos

CALL nzm..CREATE_RANDOM_WEIBULL_MATRIX('A', 5, 10, 0.5, 1.0, 0.1);
CALL nzm..GET_NUM_COLS('A');
CALL nzm..GET_NUM_ROWS('A');
CALL nzm..ANY_NONZERO('A');
CALL nzm..DELETE_MATRIX ('A' );

 CREATE_RANDOM_WEIBULL_MATRIX
------------------------------
 t
(1 row)

 GET_NUM_COLS
--------------
 10
(1row)

 GET_NUM_ROWS
--------------
 5
(1 row)

 ANY_NONZERO
-------------
 1
(1 row)

 DELETE_MATRIX
---------------
 t
(1 row)