instituto de computação - introdução aos métodos...

44
Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho

Upload: others

Post on 18-Mar-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Introdução aos Métodos Numéricos

Instituto de Computação UFFDepartamento de Ciência da Computação

Otton Teixeira da Silveira Filho

Page 2: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Conteúdo da disciplina

● Erros em Aproximações Numéricas

● Sistemas de Equações Lineares. Métodos diretos

● Interpolação

● Ajuste de Curvas

● Zeros de Função

● Sistemas de Equações Lineares. Métodos Iterativos

● Integração Numérica

● Introdução à Resolução de Equações Diferenciais Ordinárias

Page 3: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Conteúdo específico

● Limitação na representação numérica

● Mudança de base numérica

● Problemas mal-condicionados

Page 4: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Limitação de representação numérica

Computadores usam representação limitada de números sejam inteiros, reais ou complexos

Seria necessário uma memória infinita para representar números com um número potencialmente infinito de algarismos

Page 5: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Limitação de representação numérica

● Computadores usam representação limitada:

● “inteiros“ : 2 Baites (-32 768 − 32 767)

● 4 Baites (-2 147 483 648 − 2 147 483 647)

Page 6: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Limitação de representação numérica

● Computadores usam representação limitada:

● “reais“ (ponto flutuante):

4 Baites − 7 algarismos significativos (base 10)

8 Baites − 15 algarismos significativos (base 10)

Page 7: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Calculando com precisão limitada

Denominaremos Ruido Numérico aos valores gerados na computação de números de ponto flutuante e que tem como fonte os cálculos oriundos de usarmos precisão finita

Page 8: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Calculando com precisão limitada

A=~A+δ A ; A ,δ A∈ℜ ;~A Ponto Flutuante

B=~B+δB ;B ,δB∈ℜ;~B Ponto Flutuante

Page 9: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Calculando com precisão limitada

● Todo sistema de cálculo numérico tem precisão limitada

● Para facilitar o entendimento, trabalharemos com um dispositivo de cálculo que representa 5 algarismos significativos

● Usaremos o formato onde 123 são os algarismos não representáveis.

3,1458|123

Page 10: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Soma

A+B=~A+δ A+

~B+δB=~A+

~B+δ A+δb

Page 11: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Soma

A+B=~A+δ A+

~B+δB=~A+

~B+δ A+δb

A=3,1435 x 101 ;B=4,2356 x 10−2

Page 12: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Soma

A+B=~A+δ A+

~B+δB=~A+

~B+δ A+δb

A=3,1435 x 101 ;B=4,2356 x 10−2

31,435|0+0,042|356=31,477|356

Observe que se B fosse, por exemplo, cem vezes menor seria como se ele fosse zero. Toda informação de B seria perdida.

Page 13: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Soma

Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico na soma.

Page 14: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Subtração

A−B=~A+δ A−(~B+δB )=~A−

~B+δ A+δB

Page 15: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Subtração

Por oposição, veja que se dois números forem muito próximos mas sua representação for idêntica, podemos ter como resultado da subtração um valor representando zero para um valor que não é zero.

Page 16: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Subtração

Quanto menor for a diferença de magnitude entre os números, maior será o ruido numérico

Page 17: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Multiplicação

A×B=(~A+δ A )×(δB+~B )=~A×

~B+~A δb+

~Bδ A

Page 18: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Multiplicação

A×B=(~A+δ A )×(δB+~B )=~A×

~B+~A δb+

~Bδ A

A=3,1435 x 101 ;B=4,2356 x 10−2

Page 19: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Multiplicação

A×B=(~A+δ A )×(δB+~B )=~A×

~B+~A δb+

~Bδ A

A=3,1435 x 101 ;B=4,2356 x 10−2

31,435×0,0423|56=1,3314|6086

Page 20: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Multiplicação

Quanto maior for a diferença de magnitude entre os números, maior será o ruido numérico

Page 21: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Divisão

AB

=~A+δ A~B+δB

=~A /

~B+δ A /~B

1+δB /~B

;~B≠0

Page 22: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Divisão

AB

=~A+δ A~B+δB

=~A /

~B+δ A /~B

1+δB /~B

;~B≠0

SérieGeométrica :1

1+r=1−r+r2

−r3+⋯;|r|<1

Page 23: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Divisão

AB

=~A+δ A~B+δB

=~A /

~B+δ A /~B

1+δB /~B

;~B≠0

SérieGeométrica :1

1+r=1−r+r2

−r3+⋯;|r|<1

~A /~B+δ A /~B1+δB /

~B=(

~A~B

+δ A~B )× 1

1+δB /~B

=(~A~B

+δ A~B )× [1−

δB~B

+( δB~B )

2

+⋯]

Page 24: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Divisão

AB

=~A~B

+δ A~B

−~A~B

δB~B

−δ A~B

δB~B

+⋯

Repare que se B for “pequeno“ em relação a A, a representação de B ao quadrado no segundo termo, por exemplo, fará a representação de A ser amplificada, levando a perder algarismos significativos de B

Page 25: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Divisão

Quanto menor for o valor do divisor em relação ao dividendo, maior será o ruido numérico

Page 26: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mudança de base numérica

Números que não são dízima periódica em decimal podem o ser em binário:

0,110 e 0,0110 são dízimas periódicas na base 2 usada pelos computadores, ou seja,

Portanto, 100 X 0,01 pode ser diferente de 1...

0,110=0,0 00112 ;0,0110=0,00 000010100011110101112

Page 27: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mudança de base numérica

● Faça um programa em sua linguagem favorita somando 0,0110 100 vezes e veja o resultado

● Use a função rationalize() do Maxima para ver qual é a representação como números racionais para os números 0,110 e 0,0110 no computador

Page 28: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

Um problema é dito malcondicionado se mudança em seus parâmetros produz uma mudança numa ordem de grandeza superior à mudança original

Page 29: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Um exemplo simples

x2−2 x+1=0

1,01 x2−2 x+1=0

0,99 x2−2 x+1=0

Page 30: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Um exemplo simples

a x2+bx+c=0 ; x=−b±√b2

−4 ac2a

Page 31: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Um exemplo simples

x2−2 x+1=0 ; x=2±

√4−42

=1;raiz dupla

Page 32: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Um exemplo simples

1,01 x2−2 x+1=0; x=

2±√4−4,042,02

=1±0,1 i

1,01

Page 33: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Um exemplo simples

0,99 x2−2 x+1=0 ; x=

2±√4−3,961,98

=1±0,10,99

={1,110, 90

Page 34: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

A natureza do problema (raiz dupla, raizes complexas conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da equação

Page 35: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

A natureza do problema (raiz dupla, raizes complexas conjugadas, raizes reais distintas) muda radicalmente com a variação que fizemos no coeficiente de segundo grau da equação

De fato haveria, neste caso específico, a mesma mudança de natureza do problema para qualquer pequena variação no coeficiente do segundo grau

Page 36: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 )

Page 37: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 ) x⃗=( 10

−89 )

Page 38: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 ) x⃗=( 10

−89 )

( 9 162,6 7 ) x⃗=(12 )

Page 39: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 ) x⃗=( 10

−89 )

( 9 162,6 7 ) x⃗=(12 ) x⃗=( 12,5

−111,5 )

Page 40: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 ) x⃗=( 10

−89 )

( 9 162,6 7 ) x⃗=(12 ) x⃗=( 12,5

−111,5 )

( 9,01 162,5 7 ) x⃗=(12 )

Page 41: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Mais um exemplo simples

( 9 162,5 7 ) x⃗=(12 ) x⃗=( 10

−89 )

( 9 162,6 7 ) x⃗=(12 ) x⃗=( 12,5

−111,5 )

( 9,01 162,5 7 ) x⃗=(12 ) x⃗≈( 8,771929

−78,035087 )

Page 42: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

Aqui temos novamente que uma pequena variação nos parâmetros do problema gera uma mudança muito maior na solução deste sistema

Page 43: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

Problemas que envolvem:

● Sistemas de Equações Lineares

● Sistemas de Equações Não-lineares

● Equações Diferenciais

● Integração Numérica

● Cálculo de funções

● Etc.

Page 44: Instituto de Computação - Introdução aos Métodos Numéricosotton/graduacao/introducaonumericos/Erros...Mudança de base numérica Números que não são dízima periódica em

Problemas mal condicionados

...podem ser mal-condicionados!