round(seq(-0.6,0.8,by=0.2),2) -----Mensagem original----- De: [email protected] [mailto:[email protected]] Em nome de Bernardo Rangel Tura Enviada em: segunda-feira, 28 de maio de 2012 06:47 Para: [email protected] Assunto: Re: [R-br] problemas com função "seq"
On 05/25/2012 12:40 PM, Alexandre Ribeiro Leichsenring wrote: > Caros, > > Volta e meia me deparo com um comportamento estranho da função "seq", > compartilho agora um exemplo: > > > seq(-.6,.8,by=.2) > > ao invés de resultar nisso: > > -.6 -.4 -.2 0 .2 .4 .6 .8 > > resulta nisso: > > -6.000000e-01 -4.000000e-01 -2.000000e-01 1.110223e-16 > 2.000000e-01 4.000000e-01 6.000000e-01 8.000000e-01 > > ! > > Outras sequências ao redor de zero resultam no mesmo "erro" (pelo > menos na minha máquina)... que tipo de problema será esse? > > Obrigado, > > Alexandre Alexandre de um forma muito simples em base binária só tem representação exata o números inteiros e aqueles que podem ser escritos como potências de 2. Desta forma nenhum dos 3 números têm representação exata logo numa sequência irá ocorrendo pequeno erros. Todos os programas são assim e devemos corrigir isto em nossa rotinas. Observe que: seq(-6,8,by=2)/10 resolve seu problema []s Tura _______________________________________________ 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.
