Baixe o app para aproveitar ainda mais
Prévia do material em texto
Jorge Llagostera UNICAMP/FEM/DE 1 1.2 Aritmética Computacional1.2 Aritmética Computacional Números de ponto flutuante em 32 bits (exemplo)Números de ponto flutuante em 32 bits (exemplo) Sinal : 1 bitSinal : 1 bit Expoente (base 16) : 7 bitsExpoente (base 16) : 7 bits Mantissa: 24 bitsMantissa: 24 bits Correspondem a números com 6 ou 7 dígitos Correspondem a números com 6 ou 7 dígitos decimais de precisão, incluindo números de 16decimais de precisão, incluindo números de 16--6464 a 1616+63+63 Jorge Llagostera UNICAMP/FEM/DE 2 1.2 Aritmética Computacional1.2 Aritmética Computacional Por exemplo,Por exemplo, 0 / 1000010 / 1011001100000100000000000 / 1000010 / 101100110000010000000000 é equivalente a 179,015625 é equivalente a 179,015625 O próximo número de máquina superior seráO próximo número de máquina superior será 0 / 1000010 / 1011001100000100000000010 / 1000010 / 101100110000010000000001 Equivalente a 179,0156402587890625Equivalente a 179,0156402587890625 O próximo número de máquina inferior seráO próximo número de máquina inferior será 0 / 1000010 / 101100110000011111111110 / 1000010 / 10110011000001111111111 Equivalente a 179,0156097412109375Equivalente a 179,0156097412109375 Jorge Llagostera UNICAMP/FEM/DE 3 1.2 Aritmética Computacional1.2 Aritmética Computacional Assim podeAssim pode--se representar 15 x 2se representar 15 x 22828 números no números no formato formato ±± 0,d0,d11dd22 ...d...d2424 x 16 x 16 ee11ee22...e...e77 O menor real representO menor real representáável servel seráá aproxaprox. 10. 10--7878 e o maior sere o maior seráá aproxaprox. 10. 10+76+76 Abaixo do mAbaixo do míínimo teremos o nimo teremos o ““underflowunderflow”” e acima e acima do mdo mááximo teremos o ximo teremos o ““overflowoverflow””.. Jorge Llagostera UNICAMP/FEM/DE 4 1.2 Aritmética Computacional1.2 Aritmética Computacional Erros absoluto e relativo Erros absoluto e relativo Se p* é uma aproximação de p, Se p* é uma aproximação de p, o erro absoluto é dado por | po erro absoluto é dado por | p--p* | p* | o erro relativo é dado por | po erro relativo é dado por | p--p* | /| p | com pp* | /| p | com p≠≠ 00 DizDiz--se que o nse que o núúmero p* aproximamero p* aproxima--se a p com se a p com t t algarismos significativos se algarismos significativos se t t éé o maior inteiro no maior inteiro nãão o negativo para o qualnegativo para o qual | p| p--p* | /| p | < 5 x 10p* | /| p | < 5 x 10--tt Jorge Llagostera UNICAMP/FEM/DE 5 1.2 Aritmética Computacional1.2 Aritmética Computacional Erros computacionaisErros computacionais Sejam dois nSejam dois núúmeros prmeros próóximos:ximos: A(x)=0,dA(x)=0,d11dd22......ddpp aap+1p+1 aap+2p+2......aakk x 10x 10nn A(y)=0,dA(y)=0,d11dd22......ddpp bbpp+1+1 bbpp+2+2......bbkk x 10x 10nn A( A(x)A( A(x)--A(y) ) = 0,sA(y) ) = 0,sp+1p+1 ssp+2p+2......sskk x 10x 10nn--pp Que tem apenas kQue tem apenas k--p algarismos significativos.p algarismos significativos. Jorge Llagostera UNICAMP/FEM/DE 6 1.2 Aritmética Computacional1.2 Aritmética Computacional AmplificaAmplificaçãção de erroso de erros Z/e Z/e ≈≈ A( (Z+d)/ A(e) )A( (Z+d)/ A(e) ) Se e = 10Se e = 10--nn, com n > 0, ent, com n > 0, entãão z/e = z x 10o z/e = z x 10nn E obtE obtéémm--se se A( (Z+d)/ A(e) )=(Z+d) x 10A( (Z+d)/ A(e) )=(Z+d) x 10n n com o erro absoluto valendo d x 10com o erro absoluto valendo d x 10n n Jorge Llagostera UNICAMP/FEM/DE 7 1.2 Aritmética Computacional1.2 Aritmética Computacional DeveDeve--se evitar, sempre que possse evitar, sempre que possíível, a amplificavel, a amplificaçãção o de erros.de erros. No cNo cáálculo de polinlculo de polinôômios, por exemplo, devemios, por exemplo, deve--se se fazer os cfazer os cáálculos de modo aninhado, ou seja:lculos de modo aninhado, ou seja: f(x) = xf(x) = x33--6x6x22+3x+3x--0,149 ser0,149 seráá calculado com menor calculado com menor erro se for feito na seguinte seqerro se for feito na seguinte seqüêüênciancia f(x) = ( (x f(x) = ( (x -- 6) x + 3 ) x 6) x + 3 ) x –– 0,1490,149 Jorge Llagostera UNICAMP/FEM/DE 8 1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência Algoritmos: procedimentos de cAlgoritmos: procedimentos de cáálculo e sua lculo e sua representarepresentaçãção por meio de o por meio de peseudopeseudo--ccóódigodigo ExatidExatidãão e preciso e precisãão: conceitos diferenteso: conceitos diferentes Estabilidade de algoritmos: pequenas mudanEstabilidade de algoritmos: pequenas mudançças nos as nos dados iniciais devem produzir pequenas alteradados iniciais devem produzir pequenas alteraçõções es nos resultados finais. nos resultados finais. A introduA introduçãção de um erro (e) em algum esto de um erro (e) em algum estáágio do gio do processo de cprocesso de cáálculo acarreta aplculo acarreta apóós (n) operas (n) operaçõções es um erro (um erro (EEnn) ) Jorge Llagostera UNICAMP/FEM/DE 9 1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência Se (Se (EEnn) ) ≈≈ C n eC n e onde C onde C éé uma constante independente de (n) o uma constante independente de (n) o crescimento do erro crescimento do erro éé dito dito linearlinear Se (Se (EEnn) ) ≈≈ kknn ee onde k>1 o crescimento do erro onde k>1 o crescimento do erro éé dito dito exponencialexponencial O primeiro O primeiro éé inevitinevitáável, o segundo vel, o segundo éé inaceitinaceitáávelvel Jorge Llagostera UNICAMP/FEM/DE 10 1.3 Algoritmos e Convergência1.3 Algoritmos e Convergência ConvergConvergêênciancia Considerando uma seqConsiderando uma seqüêüência {ncia {aann} que converge para } que converge para um num núúmero (a), sua taxa de convergmero (a), sua taxa de convergêência ncia éé estabelecida pela convergestabelecida pela convergêência de outra seqncia de outra seqüêüência ncia {{bbnn} com termos n} com termos nãão nulos, que satisfao nulos, que satisfaçça a relaa a relaçãção o abaixo, onde K abaixo, onde K éé uma constante independente de numa constante independente de n K b aa n n < − 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.2 Aritmética Computacional 1.3 Algoritmos e Convergência 1.3 Algoritmos e Convergência 1.3 Algoritmos e Convergência
Compartilhar