You are on page 1of 31

CÁLCULO NUMÉRICO

Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br

Aulas 5 e 6
03/2014 Erros

Aritmética no Computador
¨  A aritmética executada por uma calculadora ou computador
é diferente daquela dos cursos de álgebra e cálculo.

¨  Na matemática tradicional podemos representar números
com infinitos dígitos.
¤  Ex. 2 = 1, 414213562!

¨  Computacionalmente, a representação é finita.
¤  Ex. 2 = 1, 41421

Aula 5 – Erros
Cálculo Numérico 3/31

Aula 5 – Erros Cálculo Numérico 4/31 .Arredondamento x Truncamento ¨  As discrepâncias introduzidas pela representação finita dos números reais é denominada erros de arredondamento. ¨  Está associado ao método de aproximação empregado. ¨  Os erros de truncamento resultam de aproximações para representar procedimentos matemáticos exatos. ¨  Eles ocorrem quando números com uma quantidade limitada de algarismos significativos são usados para representar números exatos. como vimos quando fazemos aproximações usando polinômios de Taylor.

¨  PROBLEMA: não leva em conta a ordem de grandeza. EAx = x − x ¨  onde.Erro Absoluto Valor verdadeiro = aproximação + erro absoluto ¨  O erro numérico é igual à discrepância entre o valor verdadeiro e a aproximação. Aula 5 – Erros Cálculo Numérico 5/31 . que é chamado erro absoluto. x é o valor verdadeiro e x é o valor aproximado.

Erro Relativo ¨  O erro relativo é a razão entre o erro absoluto e o valor verdadeiro: x−x ERx = x ¨  O erro relativo percentual é dado por: x−x εt = ⋅100% x Aula 5 – Erros Cálculo Numérico 6/31 .

Aula 5 – Erros Cálculo Numérico 7/31 .Exemplo 1 ¨  Suponha que você tenha a tarefa de medir os comprimentos de uma ponte e de um parafuso e obteve as medidas 9. ¨  b) O erro relativo percentual verdadeiro ( εt ).999 cm e 9 cm. Se os valores verdadeiros forem 10. respectivamente.000 cm e 10 cm. calcule para cada caso: ¨  a) O erro absoluto verdadeiro ( EAx ). respectivamente.

Aproximação para o erro ¨  Para os métodos numéricos. não conhecemos a resposta verdadeira. Nestes casos. ¨  Nas aplicações do mundo real. o valor verdadeiro será conhecido apenas ao se lidar com funções que podem ser resolvidas analiticamente. erro aproximado εa = ⋅100% aproximação Aula 5 – Erros Cálculo Numérico 8/31 . encontramos um limitante para o erro. o que fornece “o pior caso” de erro.

Esse processo é realizado repetidamente (iterativamente) para se calcular aproximações cada vez melhores. uma aproximação atual é feita com base em uma aproximação prévia. Aproximação para o erro ¨  Nos métodos iterativos. o erro relativo percentual é determinado por: aproximação atual − aproximação prévia εa = ⋅100% aproximação atual Aula 5 – Erros Cálculo Numérico 9/31 . ¨  Nestes casos.

os cálculos até que isto ocorra. então. εa < εs ¨  Repete-se.¨  A grande preocupação é em saber se o valor absoluto percentual é menor que uma tolerância percentual pré- estabelecida εs . Aula 5 – Erros Cálculo Numérico 10/31 .

também. Aula 5 – Erros Cálculo Numérico 11/31 . 5 ×10 2−n )% ¨  Isto indica que o resultado é correto até pelo menos n algarismos significativos. relacionar esses erros ao número de algarismos significativos na aproximação. Pode ser mostrado que: ε s = ( 0.¨  É importante.

. ¨  Adicione termos até que o valor absoluto do erro estimado aproximado ε a esteja dentro do critério de erro pré-estabelecido ε s que garanta três algarismos significativos.Exemplo 2 ¨  Use expansões em série de Taylor com x0 = 0 (em série de Maclaurin) para aproximar f (x) = ex..5 = 1. Observe que o valor verdadeiro é e0.648721. Depois que cada termo for adicionado. Aula 5 – Erros Cálculo Numérico 12/31 . some um termo de cada vez para estimar e0.5. calcule o erro verdadeiro e o erro relativo percentual aproximado. ¨  Começando com a versão mais simples ex = 1.

Exemplo 2 ¨  Polinômio de Taylor n (k ) Pn ( x ) = ∑ f ( x0 ) k ( x − x0 ) k=0 k! Aula 5 – Erros Cálculo Numérico 13/31 .

91 33.69 4 1.46 7.3 3 1.648438 0.0172 0.625 1.645833 0.175 1.648698 0.158 6 1.27 5 1.3 2 1.Resultado Termos Resultados εt (%) εa (%) 1 1 39.Exemplo 2 .5 9.00140 0.0159 Aula 5 – Erros Cálculo Numérico 14/31 .

ARITMÉTICA DE PONTO FLUTUANTE Aula 5 – Erros Cálculo Numérico 15/31 .

Arredondamento e Truncamento ¨  Seja um sistema que opera em aritmética de ponto flutuante de k dígitos na base 10. Aula 5 – Erros Cálculo Numérico 16/31 . 7. escrito na forma: e e−k x = f x ×10 + gx ×10 onde: 0. ¨  EXEMPLO: Se k = 4 e x = 234. 2345 ×10 3 + 0. e seja x.1 ≤ f x ≤ 1 e 0 ≤ gx < 1 . 7 ×10 −1 onde: f x = 0. então: x = 0.57. 2345 e gx = 0.

Então surge a questão de como considerar esta parcela na mantissa e definir o erro absoluto ou relativo máximo cometido. Aula 5 – Erros Cálculo Numérico 17/31 .Arredondamento e Truncamento e−k ¨  Na representação de x nesse sistema gx ×10 não pode ser incorporado totalmente à mantissa.

1×10 ¨  Visto que 0. Aula 5 – Erros Cálculo Numérico 18/31 . e: e−k e−k EAx gx ×10 10 −k+1 ERx = = e < e = 10 x f x ×10 0. Neste caso: e−k e−k EAx = x − x = gx ×10 < 10 ¨  Visto que gx < 1 .1 é o menor valor possível para fx .Truncamento ¨  gx ×10 e−k é desprezado e x = f x ×10 e .

5 % f x ×10 . x =$ e e−k %& f x ×10 +10 .Arredondamento ¨  fx é modificado para levar em conta gx. gx é desprezado. A forma mais comum é o arredondamento simétrico. Aula 5 – Erros Cálculo Numérico 19/31 . 5 . caso contrário. se gx < 0. se gx ≥ 0. somamos o número 1 ao último dígito de fx . # e se gx < 0. 5 ¨  Portanto.

5 ×10 x f x ×10 0.1×10 Aula 5 – Erros Cálculo Numérico 20/31 . 5 : e−k e−k EAx = x − x = gx ×10 < 0. 5 ×10 e e−k EAx gx ×10 0. se gx < 0. 5 ×10 e−k −k+1 ERx = = e < e = 0.Arredondamento ¨  Então.

5 ×10 e−k −k+1 ERx ≤ < < = 0.1×10 e Aula 5 – Erros Cálculo Numérico 21/31 . 5 : EAx = x − x = ( f x ×10 e + gx ×10 e−k ) − ( f x ×10 e +10 e−k ) = gx ×10 e−k −10 e−k = ( gx −1) ×10 e−k e < 0. se gx ≥ 0. Arredondamento ¨  Agora. 5 ×10 e−k 0. 5 ×10 f x ×10 e +10 e−k f x ×10 e 0. 5 ×10 e−k 0. 5 ×10 e−k e 0.

em qualquer caso. teremos: EAx < 0. portanto. Aula 5 – Erros Cálculo Numérico 22/31 . exige maior tempo de execução e. o truncamento é mais utilizado. 5 ×10 e−k e ERx < 0. 5 ×10 −k+1 ¨  Apesar do uso de arredondamento implicar erros menores.Arredondamento ¨  Portanto.

como. por exemplo. u = [ (x + y) – z – t ] / w . Aula 5 – Erros Cálculo Numérico 23/31 .ANÁLISE DE ERROS NAS OPERAÇÕES ¨  Dada uma sequência de operações. é importante a noção de como o erro em uma operação propaga-se ao longo das operações subsequentes. ¨  O erro total em uma operação é composto pelo erro das parcelas ou fatores e pelo erro no resultado da operação.

não se pode esperar que o resultado armazenado seja exato. ¨  Este deslocamento deve ser um número de casas decimais igual à diferença entre os dois expoentes. Aula 5 – Erros Cálculo Numérico 24/31 .ADIÇÃO ¨  A adição em aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números. ¨  Observe: Ainda que as parcelas ou fatores de uma operação estejam representados exatamente no sistema. a mantissa do número de menor expoente deve ser deslocada para a direita. ¨  Para isto.

o resultado aproximado (denotado por OP ) que é armazenado na máquina. arredondado ou truncado para k dígitos. o erro relativo de uma operação (supondo que as parcelas ou fatores estão representados exatamente) será: ¨  Truncamento: EROP < 10 −k+1 ¨  Arredondamento: EROP < 0. 5 ×10 −k+1 Aula 5 – Erros Cálculo Numérico 25/31 .¨  Na maioria dos sistemas. em seguida. ¨  Então. o resultado exato da operação (denotado por OP) é normalizado e. obtendo assim.

¨  Vamos supor que o erro final é arredondado.Erro nas operações aritméticas ¨  Veremos as fórmulas para os erros absoluto e relativo nas operações aritméticas. tais que x = x + EAx e y = y + EAy : Aula 5 – Erros Cálculo Numérico 26/31 . ¨  Sejam x e y.

Erro nas operações aritméticas ¨  ADIÇÃO: ¤  Erro absoluto: x + y = ( x + EAx ) + ( y + EAy ) = ( x + y ) + ( EAx + EAy ) EAx+y = EAx + EAy ¤  Erro relativo: EAx+y ! x $ ! y $ ERx+y = = ERx # & + ERy # & x+y "x+y% "x+y% Aula 5 – Erros Cálculo Numérico 27/31 .

Erro nas operações aritméticas ¨  SUBTRAÇÃO: ¤  Erro absoluto: x − y = ( x + EAx ) − ( y + EAy ) = ( x − y ) + ( EAx − EAy ) EAx−y = EAx − EAy ¤  Erro relativo: EAx − EAy " x % " y % ERx−y = = ERx $ ' − ERy $ ' x−y #x−y& #x−y& Aula 5 – Erros Cálculo Numérico 28/31 .

Erro nas operações aritméticas ¨  MULTIPLICAÇÃO: ¤  Erro absoluto: x ⋅ y = ( x + EAx ) ⋅ ( y + EAy ) = ( x ⋅ y ) + y ⋅ EAx + x ⋅ EAy + ( EAx ⋅ EAy ) EAxy = x EAy + y EAx muito pequeno ¤  Erro relativo: x ⋅ EAy + y ⋅ EAx ERxy ≈ = ERx + ERy x⋅y Aula 5 – Erros Cálculo Numérico 29/31 .

Erro nas operações aritméticas ¨  DIVISÃO: Simplificação: 2 3 1 EA " EA % " EA % ¤  Erro absoluto: ! $ EA = 1− y + $ y ' − $ y ' +! y # y & # y & 1+ y # & y x ( x + EAx ) ( x + EAx ) # 1 & = = Desprezam-se os termos y ( y + EAy ) y # EAy & de potência >1 # 1+ & " y % x x EAx x ⋅ EAy y EAx − x EAy ≈ + − EA x ≈ y y y y2 y y2 ¤  Erro relativo: ER x = ERx − ERy y Aula 5 – Erros Cálculo Numérico 30/31 .

o erro relativo de arredondamento no resultado da operação. Aula 5 – Erros Cálculo Numérico 31/31 . z e t estejam representados exatamente. y.Exemplo ¨  Suponha que x. qual o erro total do cálculo de u = (x + y) z – t? ¨  Calcularemos o erro relativo e denotaremos por RA.