O código dentro do while não está sendo executado: > exp(-2) [1] 0.1353353 > sum(runif(100)) [1] 53.06867
logo sum(u)<c dificilmente vai dar TRUE e n vai continuar sendo 1, o que faz com que x = n - 1 = 0. 2011/8/24 Mauro Sznelwar <[email protected]>: > Por que o X dá sempre zero, mesmo que eu substitua o lambda por qualquer > valor? Onde estou errando?p=1 > n=0 > lambda=2 > c=exp(-lambda) > u=runif(100) > p=p*u > n=1 > #while (p<c){ u=runif(100);n=n+1} > #p > while (sum(u)<c){ u=runif(100);n=n+1} > u > x=n-1 > x > > É só trocar o nome das variaveis (na verdade nem precisava trocar, era só > adicionar x<-n-1 no final)... > ## Gera 'batata' até que a soma seja 1.5 > batata <- runif(2) > batata > n<- 1 > while (sum(batata) < 1.5) { batata <- runif(2) ; n <- n+1 } > batata > x<-n-1 > 2011/8/23 Mauro Sznelwar <[email protected]> >> >> Muito obrigado pela dica. Mas como fica o faça X=N-1 >> >> >> >> >> for não é para isso, da uma olhada no while >> Exemplo basico: >> ## Gera X até que a soma deles seja 1.5 >> x <- runif(2) >> x >> n<- 1 >> while (sum(x) < 1.5) { x <- runif(2) ; n <- n+1 } >> x >> n # numero de tentativas >> >> >> 2011/8/23 Crysttian Arantes <[email protected]> >>> >>> Olá, >>> >>> O problema está na funcao runif(0). >>> >>> O zero indica que o numero de valores uniformes que ele tem que gerar é >>> zero, coloca 1. >>> >>> runif(1): gera 1 valor >>> runif(2): gera 2 valores >>> >>> Entendeu: >>> >>> Até >>> >>> >>> >>> Crysttian Arantes Paixão >>> Universidade Federal de Lavras - UFLA >>> Cel: 35 8876-9187 (Oi) >>> 35 9189-7272 (Tim) >>> Linux User: 456734 - Debian >>> >>> “Se fiz descobertas valiosas, foi mais por ter paciência do que qualquer >>> outro talento.” [Isaac Newton] >>> >>> "Otimismo é esperar pelo melhor. Confiança é saber lidar com o pior." >>> [Roberto Simonsen] >>> >>> "Mesmo as noites totalmente sem estrelas podem anunciar a aurora de uma >>> grande realização." [Martin Luther King] >>> >>> >>> >>> >>> >>> >>> Em 23 de agosto de 2011 22:59, Mauro Sznelwar <[email protected]> >>> escreveu: >>>> >>>> Tenho este algoritmo >>>> >>>> p=1, N=0, c=e^-lambda >>>> >>>> Repita >>>> >>>> N=N+1 >>>> >>>> gere Ui >>>> >>>> atualize p<c.e^-lambda >>>> >>>> Faça X=N-1 >>>> >>>> >>>> Estou fazendo esta rotina abaixo, mas o resultado não está consistente! >>>> Qual o melhor jeito? >>>> p=1 >>>> n=0 >>>> lambda=2 >>>> c=exp(-lambda) >>>> for(n in 1:100){ >>>> u=runif(n) >>>> p=p*u >>>> p<c >>>> } >>>> x=n-1 >>>> >>>> _______________________________________________ >>>> R-br mailing list >>>> [email protected] >>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>>> código mínimo reproduzível. >>> >>> >>> _______________________________________________ >>> R-br mailing list >>> [email protected] >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>> código mínimo reproduzível. >> >> ________________________________ >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. >> >> _______________________________________________ >> R-br mailing list >> [email protected] >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >> código mínimo reproduzível. > > ________________________________ > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código > mínimo reproduzível. > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código > mínimo reproduzível. > _______________________________________________ R-br mailing list [email protected] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
