Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos IV Introduc¸a˜o a ana´lise de erros Clarimar J. Coelho Departamento de Computac¸a˜o August 14, 2014 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 1 / 40 Como aparecem os erros em matema´tica? Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 2 / 40 Objetivos da cieˆncia Entender, modelar e simular um fato real Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 3 / 40 Modelagem matema´titca Fases da modelagem matema´tica Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 4 / 40 Erros intrı´nsicos aos modelos Erros inerentes aos modelos Erros nos instrumentos de medida Erros em medic¸o˜es experimentais Erros de conversa˜o nume´rica Erros das operac¸o˜es aritme´ticas Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 5 / 40 Erros nume´ricos - erro absoluto Diferenc¸a entre o valor exato e o valor aproximado de um nu´mero Ex = x − x¯ Onde, x e´ o valor exato e x¯ e´ o valor aproximado Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 6 / 40 Erros nume´ricos - Erro relativo Diferenc¸a entre o valor exato e o valor aproximado de um nu´mero, dividida pelo valor exato Rx = x − x¯ x = Rx x Onde, x e´ o valor exato e x¯ e´ o valor aproximado Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 7 / 40 Exemplo 1 Se x = 5 e x¯ = 4 Ex = x − x¯ = 5− 4 = 1 Rx = x−x¯ x = 5−4 5 = 1 5 = 0,2 = 20% Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 8 / 40 Exemplo 2 Se y = 10000 e y¯ = 9999 Ey = y − y¯ = 10000− 9999 = 1 Ry = y−y¯ y = 1 10000 = 0,0001 = 0,001% Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 9 / 40 Conclusa˜o O erro relativo e´ uma medida melhor do erro, pois leva em considerac¸a˜o a ordem de grandeza da quantidade Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 10 / 40 Erros na resoluc¸a˜o do modelo matema´tico Erro de conversa˜o do sistema decimal (humano) para o sistema bina´rio (computador) No computador existe uma quantidade finita (muito grande) de nu´meros As operac¸o˜es aritme´ticas sa˜o realizadas com essa quantidade finita de nu´meros O conjunto de nu´meros usados pelo computador chama sistema aritme´tico de ponto flutuante Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 11 / 40 Sistema aritme´tico de ponto flutuante Conjunto de nu´meros que depende de va´rios paraˆmetros β - base do sistema de numerac¸a˜o t - nu´mero de algarismos de uma mantissa m - mentor poteˆncia de β permitida M - Maior poteˆncia de β permitida Denotamos o sistema por F (β, t ,m,M) Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 12 / 40 Quais sa˜o os elementos de um sistema aritme´tico de ponto flutuante? Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 13 / 40 Os elementos do sistema 0 Nu´meros da forma ±(0,d1d2 . . . dt)β × βexp, onde m ≤ exp ≤ M e β e´ a base do sistema de numerac¸a˜o Os algarismos d1d2 . . . dt , sa˜o nu´meros inteiros escolhidos entre os nu´meros {0,1, . . . , β − 1}, com d1 6= 0 O conjunto {0,1, . . . , β − 1} e´ a mantissa Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 14 / 40 Quantidade de elementos Quantos elementos conte´m um sistema aritme´tico de ponto flutuante? 2(β − 1)(M −m + 1)βt−1 + 1 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 15 / 40 Exemplo 3 No sistema F (2,4,−4,5), temos β = 2, t = 4,m = −4,M = 5 Enta˜o F , possui 2× (2− 1)(5− (−4) + 1)× 24−1 + 1 = 2× 1× 10× 8+ 1 = 161 elementos Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 16 / 40 Maior nu´mero num sistema Qual e´ o maior nu´mero num sistema aritme´tico de ponto flutuante? βt − 1 βt × βM Todo nu´mero real, com valor maior que este nu´mero, e´ considerado +∞ pelo computador Todo nu´mero real, com valor menor que e´ o oposto deste nu´mero, e´ considerado −∞ pelo computador Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 17 / 40 Exemplo 4 No sistema F (2,4,−4,5) O valor do maior elemento e´ 24 − 1 24 × 25 = 30 Nesse sistema, todo nu´mero real maior que 30 e´ tido como +∞ Todo nu´mero menor que -30 e´ tido como −∞ Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 18 / 40 Qual e´ o menor nu´mero num sistema aritme´tico de ponto flutuante? Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 19 / 40 Menor nu´mero βm−1 Todo nu´mero real com valor maior que zero e menor que este nu´mero, e´ considerado zero pelo computador/calculadora Todo nu´mero real, com valor que zero e maior que o oposto deste nu´mero, e´ considerado zero pelo computador Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 20 / 40 Exemplo 5 No sistema F (2,4,−4,5) O valor do menor elemento e´ 2−4−1 = 1/32 Nesse sistema, todo nu´mero real 0 < x < 1/32 e´ tido como zero Todo nu´mero real −1/32 < x < 0 e´ tido como zero Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 21 / 40 Diversos sistemas aritme´ticos de ponto flutuante Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 22 / 40 Erros de aproximac¸a˜o nume´rica Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 23 / 40 Erros de aproximac¸a˜o nume´rica Truncamento Arredondamento Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 24 / 40 Truncamento Consiste em aproximar o valor de um nu´mero mantendo os k primeiros dı´gitos na sua representac¸a˜o decimal Se x = 0,d1d2 . . . dk+1dk+2 . . . 10 n, com d1 6= 0 Usamos x¯ = 0,d1d2 . . . dk × 10n como valor aproximado de x O erro relativo que se comete na˜o e´ sempre conhecido, mas pode ser estimado |Rtrunc | ≤ 10−k+1, no ma´ximo Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 25 / 40 Exemplo 6 Sabemos que √ 7 = 2,6457513110 . . . Assim, √ 7 = 0,26457513110× 101 Enta˜o, √ 7 ≈ 0,264× 101 Trancando com treˆs dı´gitos, √ 7 = 2,64 O erro relativo na˜o e´ maior que 10−3+1 = 10−2 = 0,01 ou 1% Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 26 / 40 Arredondamento Consiste em aproximar o valor de um nu´mero mantendo os k − 1 dı´gitos na sua representac¸a˜o decimal Mante´m-se o dı´gito dk se este e´ menor do que 5, ou Substituindo-o pelo dı´gito dk+1 se este e´ maior ou igual a 5: Se x = 0, d1d2 . . . dk dk+1dk+2 . . . 10 n, como d1 6= 0 Usamos x¯ = 0, d1d2 . . . dk × 10n como valor aproximado de x Se dk+1 ∈ {0, 1, 2, 3, 4} ou usamos x = 0, d1d2 . . . (dk+1)× 10n como valor aproximado de x se dk+1 ∈ {5, 6, 7, 8, 9} O erro relativo desse processo e´ estimado por |Rtrunc | ≤ 0, 5× 10−k+1 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 27 / 40 Exemplo 6 Sabemos que √ 7 = 2,6457513110 . . . Assim, √ 7 = 0,26457513110× 101 Enta˜o, √ 7 ≈ 0,264× 101 Arrendondando com treˆs dı´gitos, √ 7 = 2,64 O erro relativo na˜o e´ maior que 0,5× 10−3+1 = 0,5× 10−2 = 0,005 ou 0,5% Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 28 / 40 Outros tipos de erros: perda de significaˆncia e propagac¸a˜o de erro Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 29 / 40 Perda de significaˆncia Considere os nu´meros p = 3,1415926536 e q = 3,1415957341 p e q sa˜o nu´meros quase iguais com 11 dı´gitos A diferenc¸a p − q = −0,0000030805, produz um nu´mero com cinco dı´gitos decimais de precisa˜o Esse fenoˆmeno e´ conhecido como perda de significaˆncia ou cancelamento subtrativo Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 30 / 40 Exemplo7 Compare os resultados do ca´lculo f (0.01) e P(0,01), utilizando seis dı´gitos e de arredondamento, onde f (x) = ex − 1− x x2 e P(x) = 1 2 + x 6 + x2 24 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 31 / 40 Ca´lculos Para f (x) f (0,01) = e0,01 − 1− 0,01 (0,01)2 = 1,010050− 1− 0,01 0,01 = 0,5 P(x) e´ uma polinoˆmio de Taylor de grau n = 2 para f (x) expandindo sobre x = 0 P(0,01) = 1 2 + 0,01 6 + 0,01 24 = 0,5+ 0,001667+ 0,000004 = 0,501671 Conclusa˜o: P(0,01) = 0,501671 conte´m menos erro e deveria ter o mesmo resultado nos dois casos, a perda significaˆncia com a subtrac¸a˜o e´ o problema Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 32 / 40 Propagac¸a˜o de erro Suponha que o computador trunca todos os valores nume´ricos para 4 dı´gitos a = 2/3 deve ser armazenado como 0,6666 com Ra = 0,0001 Somando a a ele mesmo seis vezes temos 0,6666+ 0,6666 = 1,333 1,333+ 0,6666 = 1,999 1,999+ 0,6666 = 2,665 2,666+ 0,6666 = 3,331 a′ = 3,331+ 0,6666 = 3,997 Cada vez a soma e´ truncada para 4 dı´gitos O valor verdadeiro para 6(2/3)=4 O erro relativo e´ Ra′ = 4−3,997 4 = 0,00075 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 33 / 40 Dicas para evitar grande erros Para diminuir a magnitude dos erros de arredondamento, e para reduzir o possibilidade de overflow/underflow Fac¸a o resultado intermedia´rio ta˜o perto de 1 quanto possı´vel nos processos de multiplicac¸a˜o/divisa˜o consecutivos Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 34 / 40 Usando a regra De acordo com esta regra, ao calcular xy/z, podemos programar a fo´rmula como: (xy)/z quando x e y na multiplicac¸a˜o sa˜o muito diferentes em magnitude x(y/z) quando y e z na divisa˜o sa˜o pro´ximos em magnitude (x/z)y quando x e z na divisa˜o sa˜o pro´ximos em magnitude Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 35 / 40 Exemplo 8 Quando calculamos yn/enx quando x ≻ 1 y ≻ 1, devemos programar como (y/ex )n e na˜o yn/enx para evitar overflow/underflow Rodar dica.m Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 36 / 40 Mais sobre erros Yang, W. Y., Cao, W., Chung, T.-S., Morris, J. Applied numerical methods using matlab, Welley, 2005. Disponı´vel na pa´gina da disciplina Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 37 / 40 Lista de exercı´cios Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 38 / 40 Exercı´cios 1 Calcule o erro absoluto e o erro relativo nas aproximac¸o˜es de p e p¯ (a) p = pi, p¯ = 22/7 (b) p = e10, p¯ = 22000 2 Suponha que p¯ seja um valor aproximado de p, com um erro relativo de no ma´ximo 10−3. Encontre o maior intervalo que comporte p¯ para p = 150 3 Execute o ca´lculo ( 1 3 − 3 11 ) + 3 20 (i) exatamente, (ii) usando aritme´tica com nu´meros de treˆs dı´gitos e o me´todo de truncamento, (iii) usando a aritme´tica com treˆs dı´gitos e o me´todo de arredondamento e (iv) calcule os erros relativos dos itens (ii) e (iii) Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 39 / 40 Exercı´cios, cont. 5 Seja f (x) = x cos x − senx x − senx (a) Use aritme´tica com arredondamento para valores de quatro dı´gitos para calcular f (0, 1) (b) Substitua cada func¸a˜o trigonome´trica com seu polinoˆmio de Maclaurin de terceiro grau e repita o item (a) (d) O valore real e´ f (0, 1) = −1, 99899998. Encontre o erro relativo para os valores obtidos nos itens (b) e (c) 6 Complete o ca´lculo ∫ 1/4 0 ex 2 dx = ∫ 1/4 0 ( 1+ x2 + x2 2! + x6 3! ) dx = p¯ Estabelec¸a que tipo de erro esta´ presente nessa situac¸a˜o. Compare sua resposta com o valor verdadeiro p = 0,2553074606 Clarimar (Departamento de Computac¸a˜o) Aula 2 August 14, 2014 40 / 40
Compartilhar