<div dir="ltr">alem disso, o 'x' eh definido inicialmente como escalar e depois usado como vetor. b</div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 25 de junho de 2014 10:54, Rodrigo Coster <span dir="ltr"><<a href="mailto:rcoster@gmail.com" target="_blank">rcoster@gmail.com</a>></span> escreveu:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">O problema está no chute inicial, pq a tua função [aparentemente] não é definida no ponto x = 0. Colocando qualquer outro valor da certo (apesar deu achar que o algoritmo ta errado, pq sempre converge pra um valor perto do chute inicial, seja qual for ele)<div class="gmail_extra">


<br><br><div class="gmail_quote">2014-06-25 10:16 GMT-03:00 Manoel Galdino <span dir="ltr"><<a href="mailto:mcz.fea@gmail.com" target="_blank">mcz.fea@gmail.com</a>></span>:<div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Confesso que fiquei com preguiça de olhar o seu código. Mas tente o seguinte para descobrir qual é o erro:<div>



<br></div><div>1. Adicione um print(i) no loop para saber em que passo do loop dá o erro.</div><div>

2. Em seguida, rode <span style="font-family:arial,sans-serif;font-size:13px">i < 100 & dif > tol e veja se retorna um True ou False.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">3. Não retornando, veja o conteúdo de dif e tol.</span></div>





<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">Por fim, vendo o erro (NaN, ou seja, Not a Number), em algum momento você pode estar fazendo alguma operação proibida.</font></div>





<div><font face="arial, sans-serif">Por exemplo, se você rodar no R 0 / 0, ele dá NaN. Isso pode acontecer no seu código, por exemplo, por um problema de aritimética de ponto flutuante. Como tol é inicializado como 10^-9, dependendo das operações que você faz, o R vai aproximar o valor pra zero e vai acontecer uma divisão pro zero, e vai retornar um NaN. E aí, na condição do while, algo como x > NaN dá um NA (ao invpés de T ou F), dando o seu erro. Enfim, estou especulando apenas com base no erro.</font></div>





<div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Abcs</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">M</font></div>





</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-25 1:09 GMT-03:00 Romero Luiz M. Sales Filho <span dir="ltr"><<a href="mailto:romero.sfilho@gmail.com" target="_blank">romero.sfilho@gmail.com</a>></span>:<br>





<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Caros amigos, <div><br></div><div>por gentileza alguém poderia me auxiliar nesse programa!!</div>



<div><br>

</div><div>Estou tentando obter a raiz de uma função utilizando o método de Newton, entretanto o R dá um erro e não consigo obter o valor da raiz... Alguém poderia me alertar sobre o que estou errando?</div>
<div><br></div><div>Segue o códio completo:</div><div><br></div><div><div>#fornecendo os parâmetros</div><div>n<-100</div><div>u<-runif(n)</div><div>q<-1.5</div><div>theta<-2</div><div>#Obtendo valores da variável Y</div>






<div>y = (1/(theta*(q-2)))*((u^((1-q)/(2-q))-1)/((1-q)/(2-q)))</div><div>###função que quero obter a raiz</div><div>f <- quote((n/x)-((n*sum(y/(1+x*y)))/sum(log(1+x*y)))-sum(y/(1+x*y)))</div><div>fx0 <- function(x){ eval(f) }</div>






<div>curve(fx0, 2, 10)</div><div>### primeira derivada da função</div><div>f1 <-quote((n*(sum(y/(1+x*y)))^2/(sum(log(1+x*y)))^2)-sum(-(y^2/(1+x*y)^2))-(n*sum(-(y^2/(1+x*y)^2))/sum(log(1+x*y)))-(n/x^2))</div><div>fx1 <- function(x){ eval(f1) }</div>






<div>curve(fx1, 0, 10, col=2) </div><div>###segunda derivada da função</div><div>f2 <-quote((2*n/x^3)-sum(2*y^3/(1+x*y)^3)-(n*sum(2*y^3/(1+x*y)^3)/sum(log(1+x*y)^3))+(3*n*sum(-(y^2/(1+x*y)^2))*sum(y/(1+x*y))/(sum(log</div>






<div><br></div><div>(1+x*y)))^2)-(2*n*(sum(y/1+x*y))^3/(sum(log(1+x*y)))^3))</div><div>fx2 <- function(x){ eval(f2) } </div><div><br></div><div>#aplicando o newton-raphson</div><div># valor inicial para o passo</div><div>






i <- 1       </div><div># valor inical para a diferença entre duas avaliações</div><div>dif <- 100   </div><div># diferência mínima entre duas avaliações (tolerância)</div><div>tol <- 10^-9 </div><div># número máximo de passos</div>






<div>dif <- 100   </div><div># valor inicial para a raiz</div><div>x <- 0       </div><div> while(i<100 & dif>tol){</div><div>  x[i+1] <- x[i]-fx1(x[i])/fx2(x[i])</div><div>  dif <- abs(x[i+1]-x[i])</div>






<div>  i <- i+1</div><div>  print(x[i])</div><div>}</div><div><br></div><div><br></div><div>No final estou tendo o seguinte erro:</div><div><br></div><div><div>[1] NaN</div><div>Erro em while (i < 100 & dif > tol) { : </div>






<div>  valor ausente onde TRUE/FALSE necessário</div></div><div><br></div><div><br></div><div><br></div><div>Alguém pode me ajudar??</div><div>Obrigado,</div><div><br></div><div>Romero.<br></div>
</div></div>
<br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<span><font color="#888888"><br></font></span></blockquote>
</div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>

Manoel Galdino<br><a href="https://sites.google.com/site/galdinomcz/" target="_blank">https://sites.google.com/site/galdinomcz/</a><br>
</font></span></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>

<div dir="ltr"><a href="http://about.me/benilton" style="margin:0px;padding:0px;border:0px;outline:0px;font-size:14px;font-family:proxima-nova-1,proxima-nova-2,Tahoma,Helvetica,Verdana,sans-serif;vertical-align:baseline;color:rgb(43,130,173);text-decoration:none;line-height:18.200000762939453px" target="_blank"><table border="0" cellpadding="0" cellspacing="0" style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;border-spacing:0px">

<tbody style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline"><tr style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">

<td colspan="3" style="padding:0px;border:0px;outline:0px;font-style:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;height:30px"> </td></tr><tr style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">

<td align="left" valign="top" style="padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:top;line-height:1"><div style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline">

<img src="http://d13pix9kaak6wt.cloudfront.net/signature/me-badge.png" alt="Benilton Carvalho on about.me" width="48" height="48" style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;display:block"></div>

</td><td style="padding:0px;border:0px;outline:0px;font-style:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;width:8px"> </td><td align="left" valign="middle" style="padding:0px;border:0px;outline:0px;font-style:inherit;font-family:inherit;vertical-align:middle;height:48px;line-height:0.9">

<div style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:bold;font-style:inherit;font-size:18px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:baseline;line-height:1;color:rgb(51,51,51)">

Benilton Carvalho</div><div style="margin:2px 0px 0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-size:12px;font-family:proxima-nova-1,Proxima-Nova,Helvetica,Arial,sans-serif;vertical-align:baseline">

about.me/benilton</div></td></tr><tr style="margin:0px;padding:0px;border:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline"><td colspan="3" style="padding:0px;border:0px;outline:0px;font-style:inherit;font-size:0px;font-family:inherit;vertical-align:baseline;height:20px">

 </td></tr></tbody></table></a></div>
</div>