Aula 2 - Cálculo Numérico Erros Prof. Phelipe Fabres Anhanguera Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 1 / 41 Sumário Sumário 1 Sumário 2 Erros Modelagem Truncamento Representação numérica Notação F(β, t, m, M) Mudança de Base Arredondamento em Ponto flutuante Operações em Ponto flutuante Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 2 / 41 Erros Erros De modo geral o processo de solução de um problema físico é representado por: Problema Fı́sico Modelo Matemático Solução Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 3 / 41 Erros Modelagem Erro na fase de modelagem Para o estudo do movimento de um corpo sujeito a uma aceleração constante, tem-se a seguinte equação: 1 S = S0 + v0 t + at2 2 Determinar a altura de um edifício com apenas uma bolinha de metal, um cronômetro e a fórmula? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 4 / 41 Erros Modelagem Erro na fase de modelagem Supondo que a bolinha demora 3 segundos para atingir o solo, sendo lançada do topo do edifício, temos: S =0 + 0 × 3 + 1 × 9.8 × 32 2 S =44.1m . O resultado é confiável? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 5 / 41 Erros Truncamento Erros de truncamento Surge do truncamento de expressões matemáticas em um número finito de passos. Surge cada vez se substitui um processo matemático infinito por um processo finito ou discreto. ∞ X Ex: Em uma série de Taylor S(x) = an xn , temos uma função f n=1 definida por f (x) = ex para x = 1. Ela expressa por: x2 x3 xn + + ... + + . . . , então 2! 3! n! 1 1 1 e1 =1 + 1 + + + . . . + + . . . 2! 3! n! ex =1 + x + Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 6 / 41 Erros Truncamento Erros de truncamento Surge do truncamento de expressões matemáticas em um número finito de passos. Surge cada vez se substitui um processo matemático infinito por um processo finito ou discreto. ∞ X Ex: Em uma série de Taylor S(x) = an xn , temos uma função f n=1 definida por f (x) = ex para x = 1. Ela expressa por: x2 x3 xn + + ... + + . . . , então 2! 3! n! 1 1 1 e1 =1 + 1 + + + . . . + + . . . 2! 3! n! ex =1 + x + Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 6 / 41 Erros Truncamento Erros de truncamento Surge do truncamento de expressões matemáticas em um número finito de passos. Surge cada vez se substitui um processo matemático infinito por um processo finito ou discreto. ∞ X Ex: Em uma série de Taylor S(x) = an xn , temos uma função f n=1 definida por f (x) = ex para x = 1. Ela expressa por: x2 x3 xn + + ... + + . . . , então 2! 3! n! 1 1 1 e1 =1 + 1 + + + . . . + + . . . 2! 3! n! ex =1 + x + Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 6 / 41 Erros Truncamento Erros de truncamento Desejando-se calcular o valor de e1 utilizando-se os sete primeiros termos da série, tem-se: 1 1 1 1 1 1 + + + + + 2! 3! 4! 5! 6! 7! e ≈2.718055556 e1 ≈1 + 1 + Há um erro de truncamento, pois dos infinitos termos da série foram considerados apenas os sete primeiros. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 7 / 41 Erros Representação numérica Representação de um número inteiro Dado um número inteiro n 6= 0, ele possui uma única representação: n = ±(n−k n−k+1 . . . n−1 n0 ) = ±(n0 β 0 + n−1 β 1 + . . . n−k β k ) , onde os ni , i = 0,−1,. . .,−k são inteiros satisfazendo 0 6 ni < β e n−k 6= 0. Exemplo: Na base β = 10, o número 1997 é representado por: 1997 = 7 × 100 + 9 × 101 + 9 × 102 + 1 × 103 e é armazenado como n−3 n−2 n−1 n0 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 8 / 41 Erros Representação numérica Representação de um número inteiro Dado um número inteiro n 6= 0, ele possui uma única representação: n = ±(n−k n−k+1 . . . n−1 n0 ) = ±(n0 β 0 + n−1 β 1 + . . . n−k β k ) , onde os ni , i = 0,−1,. . .,−k são inteiros satisfazendo 0 6 ni < β e n−k 6= 0. Exemplo: Na base β = 10, o número 1997 é representado por: 1997 = 7 × 100 + 9 × 101 + 9 × 102 + 1 × 103 e é armazenado como n−3 n−2 n−1 n0 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 8 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Fixo. Usado no passado, em máquinas antigas. Dado um número inteiro x 6= 0, ele é representado em ponto fixo por: x=± n X xi β −i , i=k onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e n > 0 e os xi são inteiros satisfazendo 0 6 xi < β. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 9 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Fixo. Usado no passado, em máquinas antigas. Dado um número inteiro x 6= 0, ele é representado em ponto fixo por: x=± n X xi β −i , i=k onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e n > 0 e os xi são inteiros satisfazendo 0 6 xi < β. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 9 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Fixo. Usado no passado, em máquinas antigas. Dado um número inteiro x 6= 0, ele é representado em ponto fixo por: x=± n X xi β −i , i=k onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e n > 0 e os xi são inteiros satisfazendo 0 6 xi < β. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 9 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Fixo. Exemplo: Na base β = 10, o número 1997.16 é representado por: 1997.16 = 2 X xi β −i i=−3 =1 × 103 + 9 × 102 + 9 × 101 + 7 × 100 + 1 × 10−1 + 6 × 10−2 =1 × 1000 + 9 × 100 + 9 × 10 + 7 × 1 + 1 × 0.1 + 6 × 0.01 e é armazenado como x−3 x−2 x−1 x0 .x1 x2 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 10 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Flutuante. Mais flexível que a representação em ponto fixo, é universalmente utilizada nos dias atuais. Dado um número real x 6= 0, ele é representado em ponto flutuante por: x = ±d × β e , onde β é a base do sistema de numeração, d é a mantissa e e é o expoente. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 11 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Flutuante. Mais flexível que a representação em ponto fixo, é universalmente utilizada nos dias atuais. Dado um número real x 6= 0, ele é representado em ponto flutuante por: x = ±d × β e , onde β é a base do sistema de numeração, d é a mantissa e e é o expoente. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 11 / 41 Erros Representação numérica Representação de um número real Representação em Ponto Flutuante. Mais flexível que a representação em ponto fixo, é universalmente utilizada nos dias atuais. Dado um número real x 6= 0, ele é representado em ponto flutuante por: x = ±d × β e , onde β é a base do sistema de numeração, d é a mantissa e e é o expoente. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 11 / 41 Erros Representação numérica Representação de um número real A mantissa é um número em ponto fixo, isto é: d= n X di β −i , i=k onde, frequentemente, nos grandes computadores, k = 1, tal que se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a quantidade de dígitos significativos ou precisão do sistema, β −1 6 d < 1 e −m 6 e 6 M. d1 6= 0 caracteriza o sistema de números em ponto flutuante normalizado O número zero pertence a qualquer sistema e é representado com mantissa igual a zero e e = −m. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 12 / 41 Erros Representação numérica Representação de um número real A mantissa é um número em ponto fixo, isto é: d= n X di β −i , i=k onde, frequentemente, nos grandes computadores, k = 1, tal que se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a quantidade de dígitos significativos ou precisão do sistema, β −1 6 d < 1 e −m 6 e 6 M. d1 6= 0 caracteriza o sistema de números em ponto flutuante normalizado O número zero pertence a qualquer sistema e é representado com mantissa igual a zero e e = −m. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 12 / 41 Erros Representação numérica Representação de um número real A mantissa é um número em ponto fixo, isto é: d= n X di β −i , i=k onde, frequentemente, nos grandes computadores, k = 1, tal que se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a quantidade de dígitos significativos ou precisão do sistema, β −1 6 d < 1 e −m 6 e 6 M. d1 6= 0 caracteriza o sistema de números em ponto flutuante normalizado O número zero pertence a qualquer sistema e é representado com mantissa igual a zero e e = −m. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 12 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Escrever os números: x1 = 0.35 , x2 = −5.712 , x3 = 0.0123 , x4 = 5391.3 e x5 = 0.0003 , onde todos estão na base β = 10, em ponto flutuante na forma normalizada. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 13 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Solução: 0.35 =(3 × 10−1 + 5 × 10−2 ) × 100 =0.35 × 100 , −5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101 = − 0.5712 × 101 , 0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1 =0.123 × 10−1 , Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 14 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Solução: 0.35 =(3 × 10−1 + 5 × 10−2 ) × 100 =0.35 × 100 , −5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101 = − 0.5712 × 101 , 0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1 =0.123 × 10−1 , Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 14 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Solução: 0.35 =(3 × 10−1 + 5 × 10−2 ) × 100 =0.35 × 100 , −5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101 = − 0.5712 × 101 , 0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1 =0.123 × 10−1 , Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 14 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Solução: 5391.3 =(5 × 10−1 + 3 × 10−2 + 9 × 10−3 + 1 × 10−4 + 3 × 10−5 ) × 104 =0.53913 × 104 , 0.0003 =(3 × 10−1 ) × 10−3 =0.3 × 10−3 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 15 / 41 Erros Representação numérica Representação de um número real Exemplo 1. Solução: 5391.3 =(5 × 10−1 + 3 × 10−2 + 9 × 10−3 + 1 × 10−4 + 3 × 10−5 ) × 104 =0.53913 × 104 , 0.0003 =(3 × 10−1 ) × 10−3 =0.3 × 10−3 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 15 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Usada para representar um sistema de números em ponto flutuante normalizado, na base β, com dígitos t significativos e com limites de expoentes m e M. Um número em F(β, t, m, M) será representado por: ±0.d1 d2 . . . dt × β e , onde d1 6= 0 e −m 6 e 6 M. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 16 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Usada para representar um sistema de números em ponto flutuante normalizado, na base β, com dígitos t significativos e com limites de expoentes m e M. Um número em F(β, t, m, M) será representado por: ±0.d1 d2 . . . dt × β e , onde d1 6= 0 e −m 6 e 6 M. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 16 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Exemplo 2: Considere o sistema F(10, 3, 2, 2). Represente neste sistema os números do Exemplo 1. Solução: Neste sistema, um número será representado por: ±0.d1 d2 d3 × β e , onde −2 6 e 6 2. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 17 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Exemplo 2: Considere o sistema F(10, 3, 2, 2). Represente neste sistema os números do Exemplo 1. Solução: Neste sistema, um número será representado por: ±0.d1 d2 d3 × β e , onde −2 6 e 6 2. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 17 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Assim: 0.35 =0.350 × 100 , −5.172 = − 0.517 × 101 , 0.0123 =0.123 × 10−1 . E o resto? 5391.3 = 0.539 × 104 , o expoente é maior que 2, causando overflow. 0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando underflow. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 18 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Assim: 0.35 =0.350 × 100 , −5.172 = − 0.517 × 101 , 0.0123 =0.123 × 10−1 . E o resto? 5391.3 = 0.539 × 104 , o expoente é maior que 2, causando overflow. 0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando underflow. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 18 / 41 Erros Notação F(β, t, m, M) Notação F(β, t, m, M) Assim: 0.35 =0.350 × 100 , −5.172 = − 0.517 × 101 , 0.0123 =0.123 × 10−1 . E o resto? 5391.3 = 0.539 × 104 , o expoente é maior que 2, causando overflow. 0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando underflow. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 18 / 41 Erros Notação F(β, t, m, M) Exercícios 1 Considere o sistema F(10, 4, 4, 4). Represente neste sistema os números: x1 =4321.24 , x2 = − 0.0013523 , x3 =125.64 , x4 =57481.23 , x5 =0.00034 . 2 Represente no sistema F(10, 3, 1, 3) os números do exercício 1. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 19 / 41 Erros Mudança de Base Exemplos de mudança de base 1101 da base 2 para a base 10 1101 =1 × 20 + 0 × 21 + 1 × 22 + 1 × 23 =1 + 0 + 4 + 8 =13 . Logo: (1101)2 = (13)10 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 20 / 41 Erros Mudança de Base Exemplos de mudança de base 0.110 da base 2 para a base 10 0.110 =1 × 2−1 + 1 × 2−2 + 0 × 2−3 1 1 = + +0 2 4 =0.75 . Logo: (0.110)2 = (0.75)10 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 21 / 41 Erros Mudança de Base Exemplos de mudança de base 13 da base 10 para a base 2 13 2 1 6 0 2 3 2 1 1 Logo: (13)10 = (1101)2 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 22 / 41 Erros Mudança de Base Exemplos de mudança de base 0.75 da base 10 para a base 2 0.75 × 2 =1.50 0.50 × 2 =1.00 0.00 × 2 =0.00 Logo: (0.75)10 = (0.110)2 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 23 / 41 Erros Mudança de Base Exemplos de mudança de base 3.8 da base 10 para a base 2 Primeiro a parte inteira, temos (3)10 = (11)2 Parte decimal temos: 0.8 × 2 =1.6 0.6 × 2 =1.2 0.2 × 2 =0.4 0.4 × 2 =0.8 0.8 × 2 = . . . Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não tem representação exata na base 2. O que isso significa? E outras bases? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 24 / 41 Erros Mudança de Base Exemplos de mudança de base 3.8 da base 10 para a base 2 Primeiro a parte inteira, temos (3)10 = (11)2 Parte decimal temos: 0.8 × 2 =1.6 0.6 × 2 =1.2 0.2 × 2 =0.4 0.4 × 2 =0.8 0.8 × 2 = . . . Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não tem representação exata na base 2. O que isso significa? E outras bases? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 24 / 41 Erros Mudança de Base Exemplos de mudança de base 3.8 da base 10 para a base 2 Primeiro a parte inteira, temos (3)10 = (11)2 Parte decimal temos: 0.8 × 2 =1.6 0.6 × 2 =1.2 0.2 × 2 =0.4 0.4 × 2 =0.8 0.8 × 2 = . . . Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não tem representação exata na base 2. O que isso significa? E outras bases? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 24 / 41 Erros Mudança de Base Exemplos de mudança de base Dado o número 12.20 da base 4, representá-lo na base 3 Primeiro muda-se para a base 10 12 =2 × 40 + 1 × 41 = 6 0.20 =2 × 4−1 + 0 × 4−2 = 2 = 0.5 4 Logo, (12.20)4 = (6.5)10 . Agora precisamos mudar da base 10 para a base 3. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 25 / 41 Erros Mudança de Base Exemplos de mudança de base Dado o número 12.20 da base 4, representá-lo na base 3 Primeiro muda-se para a base 10 12 =2 × 40 + 1 × 41 = 6 0.20 =2 × 4−1 + 0 × 4−2 = 2 = 0.5 4 Logo, (12.20)4 = (6.5)10 . Agora precisamos mudar da base 10 para a base 3. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 25 / 41 Erros Mudança de Base Exemplos de mudança de base Dado o número 12.20 da base 4, representá-lo na base 3 Primeiro muda-se para a base 10 12 =2 × 40 + 1 × 41 = 6 0.20 =2 × 4−1 + 0 × 4−2 = 2 = 0.5 4 Logo, (12.20)4 = (6.5)10 . Agora precisamos mudar da base 10 para a base 3. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 25 / 41 Erros Mudança de Base Exemplos de mudança de base Dado o número 12.20 da base 4, representá-lo na base 3 Temos então: 6 3 0 2 0.5 × 3 =1.5 0.5 × 3 =1.5 0.5 × 3 = . . . Assim: (6.5)10 = (20.11 . . .)3 . Observe que o número dado na base 4 tem representção exata na base 10, mas não na base 3. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 26 / 41 Erros Mudança de Base Exercícios 3 Considere os seguintes números: x1 = 34, x2 = 0.125 e x3 = 33.023 que estão na base 10. Escreva-os na base 2. 3 Considere os seguintes números: x1 = 110111, x2 = 0.01011 e x3 = 11.0101 que estão na base 2. Escreva-os na base 10. 4 Considere os seguintes números: x1 = 33, x2 = 0.132 e x3 = 32.013 que estão na base 4. Escreva-os na base 5. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 27 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Definição: Arredondar um número x, por um outro com um número menor de dígitos significativos, consiste em encontrar um número x̄, pertencente ao sistema de numeração, tal que |x̄ − x| seja o menor possível. Exemplo: Calcular o quociente entre 15 e 7. Solução: Temos 3 representações possíveis: x1 = 15 1 , x2 = 2 , x3 = 2.142857 . 7 7 Suponha agora que só dispomos de 4 dígitos para representar 15 esse quociente. Dai, 15 7 = 2.142 ou 7 = 2.143 ? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 28 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Temos |2.142 − x3 | = 0.000857 e |2.143 − x3 | = 0.000143. Logo, 2.143 representa a melhor aproximação para 15 7. Dado x, seja x̄ sua representação em F(β, t, m, M) adotando arredondamento. Se x = 0 então x̄ = 0. Se x 6= 0, então escolhemos s e e tais que: 1 1 |x| = s × β e onde β −1 (1 − β−t) 6 s < 1 − β −t . 2 2 Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 29 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Se e está fora do intervalo [−m, M] não temos condições de representar o número no sistema. Se e ∈ [−m, M], calculamos: 1 s + β −1 = 0.d1 d2 . . . dt dt+1 . . . 2 e truncamos em t dígitos. Assim o arredondamento será: x̄ = (sinalx)(0.d1 d2 . . . dt ) × β e . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 30 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Exemplo: Considerando o sistema F(10, 3, 5, 5). Represente nesse sistema os números: x1 = 1234.56, x2 = −0.00054962, x3 = 0.9995, x4 = 123456.7 e x5 = −0.0000001. Primeiro os valores permitidos para s. Para β = 10 e t = 3 temos: 1 1 10−1 (1 − 10−3 ) 6 s < 1 − 10−3 , 2 2 Logo: 0.09995 6 s < 0.9995 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 31 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Para x1 = 1234.56, obtemos: |x1 | = 0.123456 × 104 , 1 s + 1 − 10−3 = 0.123456 + 0.0005 = 0.123956 , 2 x¯1 = 0.123 × 104 . Para x2 = −0.00054962, obtemos: |x2 | = 0.54962 × 10−3 , 1 s + 1 − 10−3 = 0.54692 + 0.0005 = 0.55012 , 2 x¯2 = −0.550 × 10−3 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 32 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Para x1 = 1234.56, obtemos: |x1 | = 0.123456 × 104 , 1 s + 1 − 10−3 = 0.123456 + 0.0005 = 0.123956 , 2 x¯1 = 0.123 × 104 . Para x2 = −0.00054962, obtemos: |x2 | = 0.54962 × 10−3 , 1 s + 1 − 10−3 = 0.54692 + 0.0005 = 0.55012 , 2 x¯2 = −0.550 × 10−3 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 32 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Para x3 = 0.9995, obtemos: |x3 | = 0.09995 × 101 , 1 s + 1 − 10−3 = 0.09995 + 0.0005 = 0.10045 , 2 x¯3 = 0.100 × 101 . Para x4 = 123456.7, obtemos: |x4 | = 0.1234567 × 106 . Overflow! Para x5 = −0.0000001, obtemos: |x5 | = 0.1 × 10−6 . Underflow! Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 33 / 41 Erros Arredondamento em Ponto flutuante Arredondamento em Ponto flutuante Para x3 = 0.9995, obtemos: |x3 | = 0.09995 × 101 , 1 s + 1 − 10−3 = 0.09995 + 0.0005 = 0.10045 , 2 x¯3 = 0.100 × 101 . Para x4 = 123456.7, obtemos: |x4 | = 0.1234567 × 106 . Overflow! Para x5 = −0.0000001, obtemos: |x5 | = 0.1 × 10−6 . Underflow! Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 33 / 41 Erros Arredondamento em Ponto flutuante Exercícios 5 Considere o sistema F(10, 4, 4, 4). Qual o intervalo para s nesse caso? Represente os números do exemplo anterior nesse sistema. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 34 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Considerando β = 10 e 3 dígitos significativos. Efetue as operações indicadas: (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05), obtemos: (11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.7 , 11.4 + (3.18 + 5.05) = 11.4 + 8.23 = 19.6 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 35 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Considerando β = 10 e 3 dígitos significativos. Efetue as operações indicadas: 3.18×11.4 5.05 e 3.18 5.05 × 11.4, obtemos: 36.3 3.18 × 11.4 = = 7.19 , 5.05 5.05 3.18 × 11.4 = 0.630 × 11.4 = 7.18 . 5.05 3.18 × (5.05 + 11.4) e 3.18 × 5.05 + 3.18 × 11.4, obtemos: 3.18 × (5.05 + 11.4) = 3.18 × 16.5 = 52.3 , 3.18 × 5.05 + 3.18 × 11.4 = 16.1 + 36.3 = 52.4 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 36 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Considerando β = 10 e 3 dígitos significativos. Efetue as operações indicadas: 3.18×11.4 5.05 e 3.18 5.05 × 11.4, obtemos: 36.3 3.18 × 11.4 = = 7.19 , 5.05 5.05 3.18 × 11.4 = 0.630 × 11.4 = 7.18 . 5.05 3.18 × (5.05 + 11.4) e 3.18 × 5.05 + 3.18 × 11.4, obtemos: 3.18 × (5.05 + 11.4) = 3.18 × 16.5 = 52.3 , 3.18 × 5.05 + 3.18 × 11.4 = 16.1 + 36.3 = 52.4 . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 36 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Avaliar o polinômio P(x) = x3 − 6x2 + 4x − 0.1, no ponto 5.24 e comparar com o resultado exato. Para se obter o resultado exato considere todos os dígitos de sua calculadora, sem usar arredondamento. Assim: P(5.24) = 143.8777824 − 164.7456 + 20.96 − 0.1 = −0.00776 (exato) . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 37 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Avaliar o polinômio P(x) = x3 − 6x2 + 4x − 0.1, no ponto 5.24 e comparar com o resultado exato. Para se obter o resultado exato considere todos os dígitos de sua calculadora, sem usar arredondamento. Assim: P(5.24) = 143.8777824 − 164.7456 + 20.96 − 0.1 = −0.00776 (exato) . Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 37 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Agora, usando arredondamento a cada operação efetuada, obtemos: Solução: P(5.24) = 5.24 × 27.5 − 6 × 27.5 + 4 × 5.24 − 0.1 = 144 − 165 + 21 − 0.1 = −0.10 (somando da esquerda para a direita) = 0.00 (somando da direita para a esquerda) E se separarmos o x, mudaria a solução? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 38 / 41 Erros Operações em Ponto flutuante Operações em Ponto flutuante Agora, usando arredondamento a cada operação efetuada, obtemos: Solução: P(5.24) = 5.24 × 27.5 − 6 × 27.5 + 4 × 5.24 − 0.1 = 144 − 165 + 21 − 0.1 = −0.10 (somando da esquerda para a direita) = 0.00 (somando da direita para a esquerda) E se separarmos o x, mudaria a solução? Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 38 / 41 Erros Operações em Ponto flutuante Exercícios 6 Considere o sistema F(10, 3, 5, 5). Efetue as operações indicadas: i)(1.386 − 0.987) + 7.6485 e 1.386 − (0.987 + 7.6485) ii) 1.338 − 2.038 1.338 2.038 e − 4.577 4.577 4.577 Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 39 / 41 Erros Operações em Ponto flutuante Exercícios 7 Seja: x= 17.678 (9.617)2 + 3.471 3.716 × 1.85 Calcule x usando todos os algarismos da sua calculadora, sem efetuar arredondamento. Calcule x considerando o sistema F(10, 3, 4, 3). Faça arredondamento a cada operação efetuada. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 40 / 41 Erros Operações em Ponto flutuante Exercícios 8 Seja P(x) = 2.3x3 − 0.6x2 + 1.8x − 2.2: Calcule P(1.61) usando todos os algarismos da sua calculadora, sem efetuar arredondamento. Calcule P(1.61) considerando o sistema F(10, 3, 4, 3). Faça arredondamento a cada operação efetuada. Prof. Phelipe Fabres (Anhanguera) Aula 2 - Cálculo Numérico 41 / 41