Kenshin Postado Setembro 21, 2008 Denunciar Share Postado Setembro 21, 2008 Pessoal,Gostaria de um código em c++ que gerasse números aleatórios seguindo uma distribuição normal ou uma distribuição exponencial. A transformação para a distribuição exponencial é:- x = (-1 / lambda) * ln ® R está no intervalo (0,1) e lambda é a taxa de chegada da exponencialA transformação para a distribuição exponencial é:- N = seno(2pi * R1) * raizquadrada(-2 * ln(R2)) * DP + mi R1 e R2 são dois números aleatórios entre (0,1), DP = desvio padrã e mi = médiaSe alguém já souber de algum outro código já implementado que faz isso, ajuda demais. valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexJJ Postado Dezembro 12, 2008 Denunciar Share Postado Dezembro 12, 2008 Olá amigo, aí vai:Função que gera dois numeros aleatorios (y1 e y2) seguindo distribuicao normal.A funcao ranf() gera numeros aleatorios entre 0 e 1 seguindo distribuicao uniforme============================================= float x1, x2, w, y1, y2; do { x1 = 2.0 * ranf() - 1.0; x2 = 2.0 * ranf() - 1.0; w = x1 * x1 + x2 * x2; } while ( w >= 1.0 ); w = sqrt( (-2.0 * ln( w ) ) / w ); y1 = x1 * w; y2 = x2 * w;=============================================FONTE: http://www.taygeta.com/random/gaussian.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kenshin Postado Abril 7, 2009 Autor Denunciar Share Postado Abril 7, 2009 Não era isso que eu pedi, mas tudo bem, já consegui fazer aqui. Depois se alguém quiser eu mando. valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Kenshin
Pessoal,
Gostaria de um código em c++ que gerasse números aleatórios seguindo uma distribuição normal ou uma distribuição exponencial.
A transformação para a distribuição exponencial é:
- x = (-1 / lambda) * ln ®
R está no intervalo (0,1) e lambda é a taxa de chegada da exponencial
A transformação para a distribuição exponencial é:
- N = seno(2pi * R1) * raizquadrada(-2 * ln(R2)) * DP + mi
R1 e R2 são dois números aleatórios entre (0,1), DP = desvio padrã e mi = média
Se alguém já souber de algum outro código já implementado que faz isso, ajuda demais.
valeu
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.