Como faz para
executar?
>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
<sznelwar@uol.com.br>:
>>
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 <sznelwar@uol.com.br>
>>>
>>> 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 <crysttian@gmail.com>
>>>>
>>>>
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 <sznelwar@uol.com.br>
>>>>
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
>>>>> R-br@listas.c3sl.ufpr.br
>>>>> 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
>>>> R-br@listas.c3sl.ufpr.br
>>>> 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
>>> R-br@listas.c3sl.ufpr.br
>>> 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
>>> R-br@listas.c3sl.ufpr.br
>>> 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
>> R-br@listas.c3sl.ufpr.br
>> 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
>> R-br@listas.c3sl.ufpr.br
>> 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
> R-br@listas.c3sl.ufpr.br
>
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.