Pessoal, estou com dúvida no script abaixo, pois as vezes fica me dando como resposta NULL e não estou conseguindo identificar o erro. O meu objetivo é Implementar uma funçao que, para um dado T , retorna os instantes das ocorrências de um processo de Poisson nao-homogeneo com funcao de intensidade lambda(t) = 3/(t + 1)<div>
<br></div><div><div>lambda_t<-function(t){</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>if(t<0){</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>print("tempo negativo")</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>break()</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>lambdat<-3/(t+1)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>return(lambdat)</div><div>}</div><div><br></div><div>pois_naohomog<-function(){</div><div> lambda<-3</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>i<-1</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>T<-0</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>saida<-NULL</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>T<-T+exponencial(lambda)</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>u<-runif(1)</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>while(u<lambda_t(T)/lambda){</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>saida[i]<-T</div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>i<-i+1</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>T<-T+exponencial(lambda)<span class="Apple-tab-span" style="white-space:pre"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>return(saida)<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>
}</div></div>