Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Generación de variables aleatorias

Enviado por   •  18 de Noviembre de 2023  •  Ensayos  •  589 Palabras (3 Páginas)  •  87 Visitas

Página 1 de 3

SIMULACIÓN

PROYECTO

GENERACIÓN DE VARIABLES ALEATORIAS

Contenido

Procedimiento Aceptación – Rechazo2

Función de densidad de la probabilidad2

Algoritmo2

Implementación2

Generar los datos3

Graficar el resultado de la PDF real y estimada4

Procedimiento Métodos Específicos5

Función de densidad de la probabilidad5

Algoritmo5

Implementación5

Generar los datos6

Graficar el resultado de la PDF real y estimada6

Conclusiones7

Procedimiento Aceptación – Rechazo

[pic 1]

Función de densidad de la probabilidad

En estadística la distribución gamma es una distribución de probabilidad continua con dos parámetros k y λ cuya función de densidad para valores x > 0 es:

[pic 2]

Aquí “e es el número e y Γ es la función gamma. Para valores k  N la función gamma es Γ(k)=(k−1)! (el factorial de k-1).

Algoritmo

P1: Generar X ~ g

P2: Generar U ~ U (0,1), U

P3: Generar la salida X

Implementación

y = 0;

p = 1;

angulo = 2;

num_sim = 500;  

% 0 - 20 linea para eje X

linX = (0:0.1:20);

hastaJ = size(linX,2);

 

% Valor de la variable aleatoria en cada simulación

for j = 1:num_sim,

    u = unifrnd(0,1);

    v = unifrnd(0,1);

    while (u > ( exp(1) / (p + exp(1)) ))

        y = (((p+exp(1))/exp(1))*u)^(1/p);

 

        if v > (exp(1))^(-y)

            u = unifrnd(0,1);

            v = unifrnd(0,1);

        else

             u = -999999999;

        end;

    end;

    x(j) = (1/angulo)*y;

end;

 

lambda = 1/angulo;

% media de x para hallar lambda

lambda2 = mean(x);

% Obtener PDF Real y Estimada

 pdfReal = zeros(size(linX));

 pdfEstimada = zeros(size(linX));

 

for j = 1:hastaJ,

    pdfReal(j)= (lambda.*exp(-lambda.*linX(j))).*(((lambda.*linX(j)).^(p-1))/(factorial(p-1)));

    pdfEstimada(j)= (lambda2.*exp(-lambda2.*linX(j))).*(((lambda2.*linX(j)).^(p-1))/(factorial(p-1)));

end

Generar los datos

% Graficar puntos

figure;

plot(x,'b*'),hold on

title('Muestras generadas');

[pic 3]

Datos generados con 50 simulaciones:

0.000

0.000

0.000

0.000

0.000

0.000

0.000

0.571

0.571

0.571

0.597

0.574

0.574

0.562

0.582

0.582

0.582

0.582

0.582

0.512

0.600

0.519

0.519

0.519

0.519

0.571

0.571

0.571

0.571

0.571

0.571

0.571

0.571

0.571

0.597

0.582

0.582

0.582

0.582

0.582

0.512

0.512

0.512

0.527

0.600

0.519

0.519

0.519

0.519

0.519

Graficar el resultado de la PDF real y estimada

% Graficar PDF real y estimada

figure;

plot(linX,pdfReal,'b'), hold on

...

Descargar como  txt (4.7 Kb)   pdf (970.3 Kb)   docx (1.9 Mb)  
Leer 2 páginas más »
Disponible sólo en Essays.club