Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na...

40
Fundamentos IV Introduc ¸˜ ao a an ´ alise de erros Clarimar J. Coelho Departamento de Computac ¸˜ ao August 14, 2014 Clarimar (Departamento de Computac ¸˜ ao) Aula 2 August 14, 2014 1 / 40

Transcript of Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na...

Page 1: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Fundamentos IVIntroducao a analise de erros

Clarimar J. Coelho

Departamento de Computacao

August 14, 2014

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 1 / 40

Page 2: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Como aparecem os erros em

matematica?

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 2 / 40

Page 3: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Objetivos da ciencia

Entender, modelar e simular um fato real

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 3 / 40

Page 4: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Modelagem matematitca

Fases da modelagem matematica

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 4 / 40

Page 5: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros intrınsicos aos modelos

Erros inerentes aos modelos

Erros nos instrumentos de medida

Erros em medicoes experimentais

Erros de conversao numerica

Erros das operacoes aritmeticas

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 5 / 40

Page 6: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros numericos - erro absoluto

Diferenca entre o valor exato e o valor aproximado de um numero

Ex = x − x

Onde, x e o valor exato e x e o valor aproximado

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 6 / 40

Page 7: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros numericos - Erro relativo

Diferenca entre o valor exato e o valor aproximado de um numero,

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 Computacao) Aula 2 August 14, 2014 7 / 40

Page 8: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 1

Se x = 5 e x = 4

Ex = x − x = 5 − 4 = 1

Rx = x−xx = 5−4

5 = 15 = 0,2 = 20%

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 8 / 40

Page 9: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 2

Se y = 10000 e y = 9999

Ey = y − y = 10000 − 9999 = 1

Ry = y−yy = 1

10000 = 0,0001 = 0,001%

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 9 / 40

Page 10: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Conclusao

O erro relativo e uma medida melhor do erro, pois leva em

consideracao a ordem de grandeza da quantidade

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 10 / 40

Page 11: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros na resolucao do modelo matematico

Erro de conversao do sistema decimal (humano) para o sistema

binario (computador)

No computador existe uma quantidade finita (muito grande) de

numeros

As operacoes aritmeticas sao realizadas com essa quantidade

finita de numeros

O conjunto de numeros usados pelo computador chama sistema

aritmetico de ponto flutuante

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 11 / 40

Page 12: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Sistema aritmetico de ponto flutuante

Conjunto de numeros que depende de varios parametros

β - base do sistema de numeracao

t - numero de algarismos de uma mantissam - mentor potencia de β permitida

M - Maior potencia de β permitida

Denotamos o sistema por

F (β, t ,m,M)

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 12 / 40

Page 13: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Quais sao os elementos de um

sistema aritmetico de ponto

flutuante?

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 13 / 40

Page 14: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Os elementos do sistema

0

Numeros da forma ±(0,d1d2 . . . dt)β × βexp, onde m ≤ exp ≤ M e

β e a base do sistema de numeracao

Os algarismos d1d2 . . . dt , sao numeros inteiros escolhidos entre

os numeros {0,1, . . . , β − 1}, com d1 6= 0

O conjunto {0,1, . . . , β − 1} e a mantissa

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 14 / 40

Page 15: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Quantidade de elementos

Quantos elementos contem um sistema aritmetico de ponto

flutuante?

2(β − 1)(M − m + 1)βt−1

+ 1

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 15 / 40

Page 16: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 3

No sistema F (2,4,−4,5), temos β = 2, t = 4,m = −4,M = 5

Entao F , possui

2 × (2 − 1)(5 − (−4) + 1)× 24−1 + 1

= 2 × 1 × 10 × 8 + 1

= 161 elementos

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 16 / 40

Page 17: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Maior numero num sistema

Qual e o maior numero num sistema aritmetico de ponto

flutuante?βt − 1

βt× βM

Todo numero real, com valor maior que este numero, e

considerado +∞ pelo computador

Todo numero real, com valor menor que e o oposto deste numero,

e considerado −∞ pelo computador

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 17 / 40

Page 18: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 4

No sistema F (2,4,−4,5)

O valor do maior elemento e

24 − 1

24× 25 = 30

Nesse sistema, todo numero real maior que 30 e tido como +∞Todo numero menor que -30 e tido como −∞

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 18 / 40

Page 19: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Qual e o menor numero num

sistema aritmetico de ponto

flutuante?

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 19 / 40

Page 20: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Menor numero

βm−1

Todo numero real com valor maior que zero e menor que este

numero, e considerado zero pelo computador/calculadora

Todo numero real, com valor que zero e maior que o oposto deste

numero, e considerado zero pelo computador

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 20 / 40

Page 21: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 5

No sistema F (2,4,−4,5)

O valor do menor elemento e

2−4−1 = 1/32

Nesse sistema, todo numero real 0 < x < 1/32 e tido como zero

Todo numero real −1/32 < x < 0 e tido como zero

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 21 / 40

Page 22: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Diversos sistemas aritmeticos de ponto flutuante

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 22 / 40

Page 23: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros de aproximacao

numerica

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 23 / 40

Page 24: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Erros de aproximacao numerica

Truncamento

Arredondamento

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 24 / 40

Page 25: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Truncamento

Consiste em aproximar o valor de um numero mantendo os k

primeiros dıgitos na sua representacao decimal

Se x = 0,d1d2 . . . dk+1dk+2 . . . 10n, com d1 6= 0

Usamos x = 0,d1d2 . . . dk × 10n como valor aproximado de x

O erro relativo que se comete nao e sempre conhecido, mas pode

ser estimado

|Rtrunc | ≤ 10−k+1, no maximo

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 25 / 40

Page 26: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 6

Sabemos que√

7 = 2,6457513110 . . .

Assim,√

7 = 0,26457513110× 101

Entao,√

7 ≈ 0,264 × 101

Trancando com tres dıgitos,√

7 = 2,64

O erro relativo nao e maior que 10−3+1 = 10−2 = 0,01 ou 1%

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 26 / 40

Page 27: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Arredondamento

Consiste em aproximar o valor de um numero mantendo os k − 1

dıgitos na sua representacao decimal

Mantem-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 . . . 10n, 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 Computacao) Aula 2 August 14, 2014 27 / 40

Page 28: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 6

Sabemos que√

7 = 2,6457513110 . . .

Assim,√

7 = 0,26457513110× 101

Entao,√

7 ≈ 0,264 × 101

Arrendondando com tres dıgitos,√

7 = 2,64

O erro relativo nao e maior que

0,5 × 10−3+1 = 0,5 × 10−2 = 0,005 ou 0,5%

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 28 / 40

Page 29: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Outros tipos de erros: perda

de significancia e propagacao

de erro

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 29 / 40

Page 30: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Perda de significancia

Considere os numeros p = 3,1415926536 e q = 3,1415957341

p e q sao numeros quase iguais com 11 dıgitos

A diferenca p − q = −0,0000030805, produz um numero com

cinco dıgitos decimais de precisao

Esse fenomeno e conhecido como perda de significancia ou

cancelamento subtrativo

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 30 / 40

Page 31: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 7

Compare os resultados do calculo f (0.01) e P(0,01), utilizando

seis dıgitos e de arredondamento, onde

f (x) =ex − 1 − x

x2e P(x) =

1

2+

x

6+

x2

24

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 31 / 40

Page 32: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Calculos

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 polinomio de Taylor de grau n = 2 para f (x)expandindo sobre x = 0

P(0,01) = 12+ 0,01

6+ 0,01

24

= 0,5 + 0,001667 + 0,000004 = 0,501671

Conclusao: P(0,01) = 0,501671 contem menos erro e deveria ter

o mesmo resultado nos dois casos, a perda significancia com a

subtracao e o problema

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 32 / 40

Page 33: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Propagacao de erro

Suponha que o computador trunca todos os valores numericos

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,9974 = 0,00075

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 33 / 40

Page 34: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Dicas para evitar grande erros

Para diminuir a magnitude dos erros de arredondamento, e parareduzir o possibilidade de overflow/underflow

Faca o resultado intermediario tao perto de 1 quanto possıvel nosprocessos de multiplicacao/divisao consecutivos

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 34 / 40

Page 35: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Usando a regra

De acordo com esta regra, ao calcular xy/z, podemos programara formula como:

(xy)/z quando x e y na multiplicacao sao muito diferentes em

magnitudex(y/z) quando y e z na divisao sao proximos em magnitude

(x/z)y quando x e z na divisao sao proximos em magnitude

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 35 / 40

Page 36: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exemplo 8

Quando calculamos yn/enx quando x ≻ 1 y ≻ 1, devemos

programar como (y/ex )n e nao yn/enx para evitar

overflow/underflow

Rodar dica.m

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 36 / 40

Page 37: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Mais sobre erros

Yang, W. Y., Cao, W., Chung, T.-S., Morris, J. Applied numerical

methods using matlab, Welley, 2005.

Disponıvel na pagina da disciplina

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 37 / 40

Page 38: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Lista de exercıcios

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 38 / 40

Page 39: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exercıcios

1 Calcule o erro absoluto e o erro relativo nas aproximacoes de p ep

(a) p = π, p = 22/7(b) p = e10, p = 22000

2 Suponha que p seja um valor aproximado de p, com um erro

relativo de no maximo 10−3. Encontre o maior intervalo que

comporte p para p = 150

3 Execute o calculo(

1

3− 3

11

)

+3

20

(i) exatamente, (ii) usando aritmetica com numeros de tres

dıgitos e o metodo de truncamento, (iii) usando a aritmetica com

tres dıgitos e o metodo de arredondamento e (iv) calcule os erros

relativos dos itens (ii) e (iii)

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 39 / 40

Page 40: Análise de erroprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17504… · Erros na resoluc¸ao do modelo matem˜ atico´ Erro de conversao do sistema decimal (humano)

Exercıcios, cont.

5 Seja

f (x) =x cos x − senx

x − senx

(a) Use aritmetica com arredondamento para valores de quatro dıgitos

para calcular f (0, 1)(b) Substitua cada funcao trigonometrica com seu polinomio de

Maclaurin de terceiro grau e repita o item (a)

(d) O valore real e f (0, 1) = −1, 99899998. Encontre o erro relativopara os valores obtidos nos itens (b) e (c)

6 Complete o calculo

∫ 1/4

0

ex2

dx =

∫ 1/4

0

(

1 + x2 +x2

2!+

x6

3!

)

dx = p

Estabeleca que tipo de erro esta presente nessa situacao.

Compare sua resposta com o valor verdadeiro p = 0,2553074606

Clarimar (Departamento de Computacao) Aula 2 August 14, 2014 40 / 40