Ir para conteúdo
Fórum Script Brasil
  • 0

Gerador Distribuição Exponencial ou Normal


Kenshin

Pergunta

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

  • 0

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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...