RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP...

36
RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP [email protected] - 3559-1658 http://www.decom.ufop.br/prof/marcone

Transcript of RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP...

Page 1: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

RED143 - Métodos Numéricos e Estatísticos

Marcone Jamilson Freitas Souza

DECOM/ICEB/UFOP

[email protected] - 3559-1658

http://www.decom.ufop.br/prof/marcone

Page 2: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Ementa:

• Erros

• Equações

• Interpolação

• Integração

• Autovalores

• Equações diferenciais

• Mínimos Quadrados

Page 3: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Avaliação:

- listas de exercícios (50% da nota)

- provinhas (50% da nota)

Livro texto para Métodos Numéricos:

E. KREYSZIG

Advanced Engineering Mathematics

Wiley

Page 4: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Software para métodos numéricos

• SCILAB

http://www-rocq.inria.fr/scilab/• Página Prof. J. Álvaro (Cálculo Numérico)

http://www.decom.ufop.br/prof/bob/com400.htm

Page 5: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

CAPÍTULO I - ERROS

1) Conversão de nºs binários em decimais:

N= (bm bm-1 ... b1 b0 )2 = (bm2m + bm-12m-1 + ... + b121 + b020)10

Onde bi {0,1} i=1,...,m

Ex1: (1001)2 = (b3 b2 b1 b0 )2 =

= (123 + 022 + 021 + 120)10 =

= (8 + 0 + 0 + 1)10 =

= (9 )10

Page 6: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

2) Conversão de nºs decimais em binários:

N=(dn dn-1 ... d1 d0 )10 = (bm bm-1 ... b1 b0 )2 =

m

k

kkb

0

2

Onde m é a maior potência de 2 tal que 2m N

Ex2: (47)10 = (b5 b4 b3 b2 b1 b0 )2 =

5

0

2k

kkb

= b525 + b424 + b323 + b222 + b121 + b020 =

= 32b5 + 16b4 + 8b3 + 4b2 + 2b1 + b0 =

= ( 1 0 1 1 1 1 )2

Page 7: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

3) Representação de nºs decimais fracionários:

f=(0.d1 d2 ... dk ...)10 = d110-1 + d210-2 + ... + dk10-k + ...

Onde dj {0,1,...9}

Se existir m tal que dk=0 k > m f tem representação decimal finita

Ex3: f = 1/8 = 0.125 = 110-1 + 210-2 + 510-3

Ex4: f = 1/9 = 0.111... = 110-1 + 110-2 + 110-3 + ...

finita

não finita

Page 8: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

4) Conversão de nºs decimais fracionários em binários:

f=(0.d1 d2 ... dk ...)10 = (0.b1 b2 ... bk ...)2 = b12-1 + b22-2 + ... + bk2-k + ...

Onde bj {0,1}

Como converter uma fração decimal em uma fração binária?

1

2k

kkbf

111 22

k

kkbbf

Parte inteira binária de 2f

Parte frac. binária de 2f

b1= 0 ou 1

112)2(

k

kkf bf

122 2)2(2

k

kkf bbf

Seguindo esse raciocínio, obtemos b3, ..., bk, que são os dígitos que compõem a representação binária!

Page 9: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

5) Aritmética de ponto flutuante

Seja x um número qualquer na base em aritmética de ponto flutuante de t dígitos:

x = ±(.d1 d2 ... dt) e

Onde: (i) ±(.d1 d2 ... dt) e é uma fração na base

(ii) dj {0,1,2,..., -1}

(iii) e [m, M]

(iv) t = número máximo de dígitos da mantissa

Page 10: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Um número não pode ser representado se o expoente “e” estiver fora dos limites m e M.

“Underflow” se e < m

“Overflow” se e > M

Números cuja representação em aritmética de ponto flutuante de t dígitos extrapolam os t dígitos da mantissa são armazenados por arredondamento ou por truncamento.

•truncagem: descartar todos os decimais a partir de um específico

•arredondamento: –para cima, descartado para > 5

–para baixo, descartado para < 5 0,57 0,6

0,52 0,5

0,57 0,50,52 0,5

Page 11: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

x Representação por arredondamento

Representação por truncamento

1.25 0.12510 0.12510

10.053 0.101102 0.100102

-238.15 -0.238103 -0.238103

2.71828 0.272101 0.271101

0.000000007 Underflow Underflow

718235.82 Underflow Overflow

Ex5: Seja um sistema de aritmética de ponto flutuante cuja mantissa tenha t=3 dígitos, base =10, m=-4 e M=4.

Page 12: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Ex6: Dados x = 0.937104 e y = 0.127102, calcule x + y para um sistema em que t=4 e =10.

x + y = 0.9370104 + 0.0013104 = 0.9383104

Page 13: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Estimativa de erros• Definição de erro:

= a - ã , onde

– erro relativo:

• Tipos de erros:– operações (truncagens e arredondamento)– experimentais

ã = valor aproximado

a = valor verdadeiro (não conhecido)

asea

aa

aa

a

r

r

~~

)0(~

Na prática, também não é conhecido. Assim, devemos definir um valor limite para o erro: | |

Page 14: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Propagação de erros

• Seja y uma função das variáveis x1, x2, x3, ... xn, ou seja,

y = f (x1, x2, x3, ... xn )

• onde xi é uma medida com um erro experimental xi,

ou seja

xi = xi xi

• O erro y em y devido aos erros xi das medidas de xi

pode ser obtido como:

....33

22

11

xx

yx

x

yx

x

yy

Page 15: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Ex7: Para determinar o período de oscilação de um sistema massa-mola, um aluno mediu a constante elástica da mola e a massa do bloco, encontrando:

m = (100,36 0,03) ge

k = (200,4 0,7)x102 N/mO período de oscilação do sistema é:

sk

mT 210406,12

O erro T no período será dado por

kk

mm

mkk

k

Tm

m

TT

3

onde m = 0,03x10-3 kg e k=0,7 x 102 N/mSubstituindo esses valores na equação, obtém-seT = 2,66 x10-5 s = 0,00266 x 10-2 s

T=(1,406 0,003) x 10-2 s

Page 16: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

CAPÍTULO II - EQUAÇÕES

Objetivo: Resolver f(x) = 0, isto é, encontrar números i tais que f(i)=0

Page 17: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Fase I: isolar as raízes

Teorema de Cauchy-Bolzano: Seja f uma função contínua em [a,b]. Se f(a)f(b) < 0 então existe pelo menos uma raiz [a,b].

Teorema: Se f’preservar o sinal em [a,b] então a raiz é única.

Page 18: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Ex8: Isolar a(s) raíz(es) positiva(s) de f(x) = 2x – cos(x) = 0;

Processo I (Esboço do gráfico - varredura): Determinar um ponto inicial, um passo h e um ponto final de busca

Façamos a = 0, h=1, b = 10

x 0 1 2 3 4 5 6 7 8 9 10

f(x) -1 1.46 4.42 6.99 8.65 9.72 11.03 ... ... ... 20.84

Conclusão: Há raiz [0,1].

Como f’(x) = 2 + sen(x) > 0 x [0,1] então é única.

Page 19: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Processo II: Transformar f(x) = 0 em g(x) – h(x) = 0 e encontrar os pontos de interseção de g e h.

Ex8: Isolar a(s) raíz(es) positiva(s) de f(x) = 2x – cos(x) = 0;

Ex9: Isolar a(s) raíz(es) de f(x) = x + ln(x) = 0;

Resp.: [0,/2].

Ex10: Isolar a(s) raíz(es) de f(x) = xln(x) - 1 = 0;

Resp.: [? , ?].

Resp.: [?, ?].

Page 20: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Fase II: Refinar cada raiz

Diz-se que xk é uma “boa” aproximação para a raiz se:

(i) |f(xk)| <

(ii) |xk - | <

Sendo a tolerância máxima admissível.

Estes dois critérios não são equivalentes!

Page 21: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

|f(xk)| < , mas |xk - | >>

Page 22: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

|xk - | < , mas |f(xk)| >>

Page 23: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Solução: Impor os dois critérios:

i) |f(xk)| <

ii) |xk - | <

Como utilizar o segundo critério não se conhecendo ?

Solução 1: Reduzir o intervalo [a,b] que contém a raiz até que sua amplitude seja menor que , isto é, que b – a < .

Se b – a < xk [a,b] tem-se: |xk - | < b – a <

Obs.: Como um método numérico pode não convergir é comum impor um número máximo de iterações como critério adicional de parada.

Page 24: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Solução 2: Aplicar o teorema:

TEOREMA: Sejam f e f’contínuas em [a,b]. Se f’preserva o sinal em [a,b] e se m=min|f’(x)| e M=max|f’(x)| para x [a,b], então:

Além disso, se [a,b] é tão pequeno que M 2m então:

|xk - | |xk – xk-1|

Conclusão: Para intervalo [a,b] suficientemente pequeno:

|xk – xk-1| < substitui |xk - | <

|xk – | ((M-m)/m)|xk – xk-1|

Page 25: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Método da Bisseção

Idéia: Reduzir o intervalo que contém a raiz, dividindo-o ao meio a cada iteração.

Page 26: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .
Page 27: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Método da Falsa Posição

Idéia: Tomar como aproximação x para a raiz a média ponderada dos extremos do intervalo [a,b] com pesos |f(b)| e |f(a)| respectivamente.

Desta forma, x estará mais próximo do extremo cuja imagem for menor.

|)(||)(|

|)(||)(|

afbf

afbbfax

)()(

)()(

afbf

abfbafx

Simplificação:

Page 28: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .
Page 29: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .
Page 30: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .
Page 31: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Método da Iteração Linear

• f(x) = 0 , solução é o número x = s tal que f(s) = 0

• métodos iterativos:iniciar com um valor tentativo xo, calcular iterativamente os valores x1, x2 ....

Ponto fixo:transformar f(x) = 0 em x = g(x)

xo x1 = g(xo) x1 x2 = g(x1)........a solução da equação é o ponto fixo do processo xn+1 = xn = x*

Algoritmos estáveis e instáveis

Page 32: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Exemplo:

013)( 2 xxxf 1 30,666667 3,3333330,481481 4,0370370,410608 5,7658890,389533 11,415160,383912 43,768630,382463 638,89750,382093 136063,70,381998 6,17E+09

3/)1( 21 nn xx

)1

3(1n

n xx

1 32 2,666667

2,5 2,6252,6 2,619048

2,615385 2,6181822,617647 2,6180562,617978 2,618037

divergeconverge

Page 33: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Teorema: sendo x=s uma solução de x=g(x) e supondo que g(x) tem uma derivada contínua no intervalo J que contém s;

então, se | g´(x) | <= k < 1 em J, o processo iterativo definido por xn+1 = g(xn) para qualquer xo em J é convergente.

10,50,64

0,6441960,6434910,6436120,643591

Ex.:f(x) = x3 + x - 1

22

21

)1(

||2|)(|

1

1)(

x

xxg

xxgx

n

nn

Page 34: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

Método de Newton (Newton-Raphson)

f(x) tem uma derivada contínua f´(x)

)(

)(

)()(

0

001

10

00

xf

xfxx

xx

xfxf

Exigências para convergência:

(i) f’e f’’ devem preservar o sinal em [a,b] e não se anularem

(ii) x0 deve ser tal que f(x0)f”(x0) > 0.

Page 35: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .

A l g o r i t m o p a r a c a l c u l a r a s o l u ç ã o d e f ( x ) = 0 , s e n d o d a d a a a p r o x i m a ç ã o i n i c i a l x o . A f u n ç ã o f ( x ) é c o n t í n u a , b e m c o m o s u a d e r i v a d a f ´ ( x ) . é a t o l e r â n c i a m á x i m a e N é o n ú m e r o m á x i m o d e i t e r a ç õ e s D a d o s : f ( x ) , f ´ ( x ) , x o , , N A l g o r i t m o N E W T O N

E n t r a d a : f ( x ) , f ´ ( x ) , x o , , N S a í d a : s o l u ç ã o a p r o x i m a d a x n ( n N ) o u m e n s a g e m d e e r r o F o r n = 0 , 1 , 2 , 3 . . . . . . N

C a l c u l e f ´ ( x n ) I f f ’ ’ ( x n ) = 0 , t h e n “ M e n s a g e m d e e r r o ” ( p r o c e d i m e n t o m a l s u c e d i d o )

E l s e : c a l c u l a r x x

f x

f xn nn

n

1

( )

( )

I f x xn n 1 t h e n “ R a i z é ” x n + 1 ; S T O P E n d “ M e n s a g e m d e e r r o ” ; S T O P ( n ã o c o n v e r g i u a p ó s N i t e r a ç õ e s )

E n d N E W T O N

Page 36: RED143 - Métodos Numéricos e Estatísticos Marcone Jamilson Freitas Souza DECOM/ICEB/UFOP marcone@iceb.ufop.br - 3559-1658 .