Grafica de funcion
Publicado por Jose (4 intervenciones) el 29/08/2017 05:27:11
Buenas noches,
Me podrian ayudar a generar numeros aleatorios con una distribucion gamma por el metodo de aceptacion rechazo y mostrar la nube de puntos
Yo logre hacerla con una beta
calculo de a:
Agradezco deantemano cualquier ayuda
Me podrian ayudar a generar numeros aleatorios con una distribucion gamma por el metodo de aceptacion rechazo y mostrar la nube de puntos
Yo logre hacerla con una beta
calculo de a:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function [b,tp] = beta34v2(n)
% Escribe un codigo que genere numeros aleatorios con distribucion
% B(2, 2) ~ (f(x) = 6x(1 - x), 0 >= x >= 1) mediante el metodo de
% aceptacion-rechazo simple
% Input:
% n : número de muestras
% Output:
% b : muestras aleatorias generadas y aceptadas
% tp : total de puntos generados, aceptados y rechazados
a = 0.5;
b = []; tp = [];
for i = 1:n, % Hasta que tenga todas las muestras
u1 = rand; % Generar u1
u2 = a * rand; % Generar u2
while (u2 > 6 * u1 * (1-u1) ) % Mientras (U * a * g(x))> f(x)
% Bloque para generar x
tp = [tp ; u1]; % Recoger todas las muestras
u1 = rand; % Volver a generar u1
u2 = a * rand; % Volver a generar u2
end
x = u1; % x generado
b = [b ; x]; % Recoge las muestras aceptadas
tp = [tp ; u1]; % Recoge las muestras aceptadas
end
Agradezco deantemano cualquier ayuda
Valora esta pregunta
0