cálculo numérico bcc760 - decom-ufop · os polinômios são facilmente computáveis, suas...

50
1 Cálculo Numérico BCC760 Interpolação Polinomial Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/

Upload: dohanh

Post on 14-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

1

Cálculo Numérico – BCC760 Interpolação Polinomial

Departamento de Computação

Página da disciplina

http://www.decom.ufop.br/bcc760/

1. Introdução

2. Objetivo

3. Existência e unicidade

4. Erro de truncamento

5. Métodos de obtenção do polinômio interpolador

5.1 Resolução de sistema linear

5.2 Método de Lagrange

5.3 Método das Diferenças Divididas

5.4 Método das Diferenças Finitas Ascendentes

6. Complexidade dos métodos de interpolação

7. Considerações finais

2

Interpolação Polinomial Conteúdo

Interpolação Polinomial Introdução

Interpolar uma função y=f(x), em um conjunto discreto de pontos, pertencentes a um intervalo [a b], consiste em substituí-la, ou aproximá-la, por uma outra função, y=g(x), escolhida dentro de uma classe de funções definida a priori e que satisfaça algumas propriedades. A função y=g(x) é, então, usada no lugar da função y=f(x).

3

Interpolação Polinomial Introdução

Situações de utilização da interpolação.

a) Quando y=f(x) não é conhecida na sua forma analítica, mas apenas em um conjunto discreto de pontos (xi, yi), i = 0, 1, ..., n.

b) Quando y=f(x) é conhecida na sua forma analítica, mas operações como a diferenciação e a integração são difíceis (ou impossíveis) de realizar, ou seja, a função é difícil de ser tratada.

4

Teoricamente, a função interpoladora, y = g(x), pode ser qualquer. Será tratado o caso em que esta pertence à classe das funções polinomiais.

Os polinômios são facilmente computáveis, suas derivadas e integrais são, também, polinômios, seus zeros podem ser determinados com facilidade.

5

Interpolação Polinomial Introdução

Interpolação Polinomial Introdução

Exemplo – Problema básico

A tabela abaixo relaciona calor específico da água com a temperatura:

Deseja-se, por exemplo, saber:

a) o calor específico da água a 32.5°C;

b) a temperatura para a qual o calor específico é 0.99837.

Solução

6

Temperatura (°C) 20 25 30 35

Calor específico 0.99907 0.99852 0.99826 0.99818

Interpolação

Sendo (xi, yi), i = 0, 1, ..., n; pontos, com abscissas distintas, de uma função y = f(x), obter o polinômio, y = p(x), de grau máximo n, tal que:

p(xi) = f(xi) = yi, i = 0, 1, ..., n

7

Interpolação Polinomial Objetivo

Representação geométrica

8

x

y

x0 x1 x2 x3 x4 x5

y0

y1

y2

y3

y4 y5

y=f(x)

y=p(x)

Interpolação Polinomial Objetivo

Teorema

Se (xi, yi) i = 0, 1, ..., n; são (n + 1) pontos com abscissas distintas, relativos a uma função, y = f(x), então existe um, e só um, polinômio, y = p(x), de grau máximo n, tal que p(xi) = f(xi) = yi, i = 0, 1, ..., n.

9

Interpolação Polinomial Existência e Unicidade

Demonstração do Teorema

Seja p(x) = anxn + an-1xn-1 + ... + a1x + a0

Das condições de interpolação, obtém-se o sistema de (n+1) equações lineares.

10

n0n11 n

n1 -n nnnn

10111 n

11 -n n1n1

00011 n

01 -n n0n0

y a xa ... xa xa )x(p

...........................................................................

y a xa ... xa xa )x(p

y a xa ... xa xa )x(p

Note-se que as incógnitas são ai, i = 0, 1, ..., n.

Interpolação Polinomial Existência e Unicidade

Demonstração do Teorema

A matriz dos coeficientes do sistema de equações lineares é:

Portanto

det(X) = (x0 – x1) (x0 – x2) ... (x0 – xn) (x1 – x2)(x1 – x3) ... (x1 – xn) ... (xn - 1 – xn)

c.q.d.

11

1 x ... x x

............................

1 x ... x x

1 x ... x x

X

n1 n

nnn

11 n

1n1

01 n

0n0

Matriz de Vandermonde

Como, por condição, x0, x1, ..., xn são distintos, tem-se que det(X)0, logo o

sistema de equações lineares admite solução única.

Interpolação Polinomial Existência e Unicidade

Teorema

Seja:

(i) (xi, yi), i = 0, 1, ..., n; pontos com abscissas distintas de uma função y = f(x);

(ii) y = f(x) uma função com (n + 1) derivadas contínuas no intervalo [x0, xn].

Então, para cada x ∈ [x0, xn], existe um número ∈ (x0, xn), que depende de x, tal que

Note-se que f n + 1(.) é a derivada de ordem (n + 1) da função interpolada.

12

1)! n(

))x((f). x-(x ... ) x-(x ). x-(x )x(E p(x) - )x(f

1 n

n10t

Interpolação Polinomial Erro de Truncamento

Exemplo Seja determinar o polinômio que interpola uma função, y=f(x), dada nos pontos a seguir.

Assim

p2(x) = a2x2 + a1x + a0

Tem-se, então, o sistema de equações

13

i 0 1 2

xi -1 0 2

yi 4 1 -1

1421)2()2(

11)0()0(

44)1()1(

2102

02

2102

aaafp

afp

aaafp a0 = 1

a1 = -2,333

a2 = 0,667

P2(x) = 0,667x2 -2,333x + 1

Métodos de obtenção do polinômio interpolador Resolução de Sistema Linear

O sistema de equações lineares pode ser resolvido utilizando qualquer um dos métodos estudados.

Entretanto, tais métodos têm complexidade de ordem cúbica (O(n3)).

É possível expressar o problema de interpolação polinomial de forma que se obtenham meios de solução menos custosos, com complexidade de ordem quadrática (O(n2)).

14

Métodos de obtenção do polinômio interpolador Resolução de Sistema Linear

Neste método, o polinômio, y = L(x), que interpola uma função, y = f(x), em um

conjunto de pontos (xi, yi), i = 0, 1, ..., n é considerado na forma

L(x) = y0L0(x) + y1L1(x) + .... + ynLn(x)

onde Li(x), i = 0, 1, ..., n; são polinômios de grau n, tais que

Note-se que, com estas condições, tem-se

L(xi) = f(xi) = yi, i = 0, 1, ..., n

15

n ..., 2, 1, 0, k i, k;i ;0)x(L

1)x(L

ki

ii

Métodos de obtenção do polinômio interpolador Método de Lagrange

Para determinar Li(x), i = 0, 1, ..., n; basta considerar que todo xj, j = 0, 1, ..., n; é um zero de Li(x) quando i j.

Seja determinar de L0(x). Tem-se, por condição, que

Portanto, conhecendo os zeros de L0(x), pode-se representá-lo na forma fatorada

L0(x) = c0.(x – x1).(x – x2) ... (x – xn)

Como

L0(x0) = c0.(x0 – x1).(x0 – x2) ... (x0 – xn) = 1

Logo

16

n02010

n210

xx ... xxxx

xx ... xxxx)x(L

)xx( )xx)(xx(

1c

n02010

0

L0(x0) = 1 L0(xj) = 0; j = 1, 2, ..., n

Métodos de obtenção do polinômio interpolador Método de Lagrange

Sendo assim, conclui-se que

17

nj

xx

xxxL

xxxxxx

xxxxxxxL

n

iji ij

ij

n

n

,....,1,0 ,)(

)(

...

... )(

1

12101

201

Métodos de obtenção do polinômio interpolador Método de Lagrange

Exemplo

Seja y = f(x) determinar o polinômio que interpola uma função dada nos pontos a

seguir utilizando o método de Lagrange e três casas decimais.

Tem-se

18

Métodos de obtenção do polinômio interpolador Método de Lagrange

Como

Então

Mesmo resultado da resolução do sistema de equações lineares!!!

19

1 2,333x - x667,0)x(L 2

6

xx)1(

2

2xx1

3

x2x4)x(L

222

Métodos de obtenção do polinômio interpolador Método de Lagrange

Exercício

20

Exemplo

Exercício

21

Exercício

22

Erro

23

Métodos de obtenção do polinômio interpolador Método das Diferenças Divididas

O Operador Diferenças Divididas

Dada uma função, y = f(x), a sua primeira derivada é definida como:

Sendo (xi, yi), i = 0, 1, ..., n; um conjunto de pontos da função, então:

Fazendo

Então

24

h

)f(x - h) x(flim )(x' f ii

0 hi

h

f(x) - h) x(flim (x)' f

0 h

i1 i

i1 i

x xi

x- x

)f(x - )x(flim )(x' f

1ii

h = xi + 1 - xi xi + h = xi + 1

Métodos de obtenção do polinômio interpolador Método das Diferenças Divididas – O operador

Definição

Sendo (xi, yi), i = 0, 1, ..., n; pontos de uma função y = f(x), define-se o operador diferença dividida de primeira ordem, sobre os pontos (xi, yi) e (xi + 1, yi + 1), como:

Ou

Aproximação do valor numérico da 1a derivada de uma função em um ponto.

25

1-n ..., 1, 0, i ,xx

)x(fx(fDy

i1i

i1ii

1-n ..., 1, 0, i ,xx

yyDy

i1i

i1ii

Métodos de obtenção do polinômio interpolador Método das Diferenças Divididas – O operador

De modo análogo são definidos os operadores de ordens superiores.

Ordem 2

Ordem 3

Ordem k

Sendo D0yi = yi, i = 0, 1, ..., n

26

2 -n ..., 1, 0, i , x- x

yD - yD yD

i2 i

i1 ii

2

3 -n ..., 1, 0, i , x- x

yD - yD yD

i3 i

i2

1 i2

i3

k-n ..., 1, 0, i

n ..., 2, 1, k ,

x- x

yD - yD yD

ik i

i

1 -k

1 i

1 -k

i

k

Métodos de obtenção do polinômio interpolador Método das Diferenças Divididas

O polinômio interpolador

Neste método, o polinômio, y=p(x), que interpola uma função, y=f(x), em um conjunto de pontos (xi, yi), i = 0, 1, ..., n; é considerado na forma

Como p(xi) = yi, i = 0,1, ..., n, então

p(x0) = a0

p(x1) = y0 + a1.(x1 – x0) = y1

Portanto

27

1n10n102010 xx.......xxxxa .......xxxxaxxaa)x(p

01

011

x- x

y - y a

0

0

0 yD a 00 y a

01 Dy a

Demonstra-se que ai = Diy0, i = 0, 1, ..., n.

1n100n

1002

000 xx.......xxxxyD .......xxxxyDxxDyy)x(p

Métodos de obtenção do polinômio interpolador Método das Diferenças Divididas

Teorema

Se y = f(x) é uma função com (n + 1) derivadas continuas em um intervalo [x0, xn]; então existe ξ (x0, xn) tal que

Corolário

Sob as hipóteses do teorema anterior, tem-se que

Exemplos

28

!k

)x(ff(x)D

kk

!n

fyD

n

0n

Exemplo

29

Exemplo

30

k-n ..., 1, 0, i

n ..., 2, 1, k ,

x- x

yD - yD yD

ik i

i

1 -k

1 i

1 -k

i

k

Exemplo

31

Exercício

32

Depto de Computação – Instituto de Ciências Exatas e Biológicas – Universidade Federal de Ouro Preto

Prof. José Álvaro Tadeu Ferreira - Notas de aulas de Cálculo Numérico

16

conforme mostra a figura a seguir. Usando interpolação polinomial, Método das Diferen-

ças Divididas, pede-se estimar

a) a altura, em relação ao solo, de um ponto da barra localizado a 2m da parede A;

b) qual deve ser a altura da barra no ponto localizado a 2m da parede A, para que o trecho

compreendido até 5m da mesma seja representado por um polinômio de grau um.

d=12m

pare

de

A

pare

de

B

SOL O

3 m

8 m

Solução

a) Os pontos a considerar são os da t abela a seguir.

i xi V = yi Dyi D2yi

0 0 8 - 1,6 0,169

1 5 0 0,429

2 12 3

p(x) = y0 + (x - x0).Dy0 + (x - x0).(x – x1).D2y0

p(2) = 8 + (2 - 0).(- 1,6) + (2 - 0).(2 – 5).(0,169) p(2) = 3,786m

b) Pede-se para determinar a altura y da barra a 2m da parede A. Os pontos a considerar e

as diferenças divididas estão na tabela a seguir.

i xi yi Dyi D2yi

0 0 8

1 2 y

2 5 0

Para que este trecho seja representado por um polinômio de grau um, é necessário que a

diferença dividida de segunda ordem seja nula. Então, fazendo:

y = 4,8m

Depto de Computação – Instituto de Ciências Exatas e Biológicas – Universidade Federal de Ouro Preto

Prof. José Álvaro Tadeu Ferreira - Notas de aulas de Cálculo Numérico

16

conforme mostra a figura a seguir. Usando interpolação polinomial, Método das Diferen-

ças Divididas, pede-se estimar

a) a altura, em relação ao solo, de um ponto da barra localizado a 2m da parede A;

b) qual deve ser a altura da barra no ponto localizado a 2m da parede A, para que o trecho

compreendido até 5m da mesma seja representado por um polinômio de grau um.

d=12m

pare

de

A

pare

de

B

SOLO

3 m

8 m

Solução

a) Os pontos a considerar são os da t abela a seguir.

i xi V = yi Dyi D2yi

0 0 8 - 1,6 0,169

1 5 0 0,429

2 12 3

p(x) = y0 + (x - x0).Dy0 + (x - x0).(x – x1).D2y0

p(2) = 8 + (2 - 0).(- 1,6) + (2 - 0).(2 – 5).(0,169) p(2) = 3,786m

b) Pede-se para determinar a altura y da barra a 2m da parede A. Os pontos a considerar e

as diferenças divididas estão na tabela a seguir.

i xi yi Dyi D2yi

0 0 8

1 2 y

2 5 0

Para que este trecho seja representado por um polinômio de grau um, é necessário que a

diferença dividida de segunda ordem seja nula. Então, fazendo:

y = 4,8m

Exercício

33

Depto de Computação – Instituto de Ciências Exatas e Biológicas – Universidade Federal de Ouro Preto

Prof. José Álvaro Tadeu Ferreira - Notas de aulas de Cálculo Numérico

16

conforme mostra a figura a seguir. Usando interpolação polinomial, Método das Diferen-

ças Divididas, pede-se estimar

a) a altura, em relação ao solo, de um ponto da barra localizado a 2m da parede A;

b) qual deve ser a altura da barra no ponto localizado a 2m da parede A, para que o trecho

compreendido até 5m da mesma seja representado por um polinômio de grau um.

d=12m

pare

de

A

pare

de

B

SOL O

3 m

8 m

Solução

a) Os pontos a considerar são os da t abela a seguir.

i xi V = yi Dyi D2yi

0 0 8 - 1,6 0,169

1 5 0 0,429

2 12 3

p(x) = y0 + (x - x0).Dy0 + (x - x0).(x – x1).D2y0

p(2) = 8 + (2 - 0).(- 1,6) + (2 - 0).(2 – 5).(0,169) p(2) = 3,786m

b) Pede-se para determinar a altura y da barra a 2m da parede A. Os pontos a considerar e

as diferenças divididas estão na tabela a seguir.

i xi yi Dyi D2yi

0 0 8

1 2 y

2 5 0

Para que este trecho seja representado por um polinômio de grau um, é necessário que a

diferença dividida de segunda ordem seja nula. Então, fazendo:

y = 4,8m

Exercício

34

Depto de Computação – Instituto de Ciências Exatas e Biológicas – Universidade Federal de Ouro Preto

Prof. José Álvaro Tadeu Ferreira - Notas de aulas de Cálculo Numérico

16

conforme mostra a figura a seguir. Usando interpolação polinomial, Método das Diferen-

ças Divididas, pede-se estimar

a) a altura, em relação ao solo, de um ponto da barra localizado a 2m da parede A;

b) qual deve ser a altura da barra no ponto localizado a 2m da parede A, para que o trecho

compreendido até 5m da mesma seja representado por um polinômio de grau um.

d=12m

pare

de

A

pare

de

B

SOL O

3 m

8 m

Solução

a) Os pontos a considerar são os da t abela a seguir.

i xi V = yi Dyi D2yi

0 0 8 - 1,6 0,169

1 5 0 0,429

2 12 3

p(x) = y0 + (x - x0).Dy0 + (x - x0).(x – x1).D2y0

p(2) = 8 + (2 - 0).(- 1,6) + (2 - 0).(2 – 5).(0,169) p(2) = 3,786m

b) Pede-se para determinar a altura y da barra a 2m da parede A. Os pontos a considerar e

as diferenças divididas estão na tabela a seguir.

i xi yi Dyi D2yi

0 0 8

1 2 y

2 5 0

Para que este trecho seja representado por um polinômio de grau um, é necessário que a

diferença dividida de segunda ordem seja nula. Então, fazendo:

y = 4,8m

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

O Operador Diferenças Finitas Ascendentes

Definição

Sejam (xi, yi), i = 0, 1, . . . , n; pontos de uma função, y = f(x), igualmente espaçados, isto é, tais que xi + 1 – xi = h = constante. Sendo assim, define-se a diferença finita ascendente de primeira ordem como:

∆f(x) = f(x + h) – f(x)

Em um ponto xi

∆f(xi) = f(xi + h) – f(xi)

∆yi = yi + 1 – yi, i = 0, 1, 2, ..., n – 1

35

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

O Operador Diferenças Finitas Ascendentes

As diferenças finitas ascendentes de ordem superior são definidas, por recorrência.

Ordem 2: Δ2yi= Δyi+1- Δyi, i = 0, 1, ..., n – 2

Ordem 3: Δ3yi= Δ2yi+1- Δ

2yi, i = 0, 1, ..., n – 3

Portanto

Ordem k: Δk yi= Δk -1yi+1 - Δk-1yi, i = 0, 1, ..., n - k

Sendo Δ0yi=yi, i = 0, 1, ..., n

36

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

Teorema

Sendo y = f(x) uma função com derivadas contínuas até a ordem k, tem-se que:

∆kf(x) = hk.f (k)(k)

para algum k (x, x + k.h).

Corolário

Tendo em vista o teorema anterior, [∆kf(x) / hk] é uma aproximação para f (k)(x) e o erro cometido tende a zero quando h → 0.

37

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

Teorema

Se (xi, yi), i = 0, 1, . . . , n; são pontos de uma função, y = f(x), tais que xi + 1 – xi = h, para todo i = 0, 1, . . . , n – 1, então vale a seguinte relação entre diferenças divididas e diferenças finitas ascendentes.

38

k -n ..., 2, 1, 0, = i

n ..., 2, 1, 0, =k ,

!k.kh

yk ykD i

i

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

O polinômio interpolador

Seja a variável:

Tem-se, então, que:

x - x0 = h.z

.

.

.

x – xn - 1 = h.[z – (n - 1)]

39

h

x-x z 0 h.zxx 0

hxx 01 x-x h)x(x 0 hz.h 1)z.(h

2 x-x h).2x(x 0 h.2xx 0 h.2z.h )2z.(h

Métodos de obtenção do polinômio interpolador Método das Diferenças Finitas Ascendentes

O polinômio interpolador

Efetuando as substituições no polinômio interpolador com diferenças divididas, obtém-se o polinômio interpolador com diferenças finitas ascendentes.

Exemplos

40

0n

03

02

000 y!n

)]1 n(z[ ... )1z(z ... y

!3

)2z)(1z(zy

!2

)1z(zy.zyh.z) x(p

Exemplo

41

Exemplo

42

Exercício

43

Exercício

44

Exercício

45

Exercício

46

Métodos de obtenção do polinômio interpolador Complexidade dos Método de interpolação

n é o grau do polinômio

47

Método Adições Multiplicações Divisões Total

Lagrange 2.n2 + 3.n 2.n2 + n - 1 n + 1 4.n2 + 5.n

Diferenças divididas

Diferenças finitas

ascendentes n2 + n + 1 n

n.2

5 n.

2

3 2 2

n

2

n 2

2

n

2

n 2

n.2

7 n.

2

5 2

2

n

2

n 2

1 n.2

5 n.

2

3 2

Interpolação Polinomial Considerações finais

1- Os métodos que utilizam diferenças divididas ou finitas ascendentes são eficientes quando se deseja aumentar (ou diminuir) o grau do polinômio obtido, pois basta, simplesmente, acrescentar (ou retirar) termos. Logo, para cálculos exploratórios, estes métodos, em geral, são preferíveis.

2- No método de Lagrange a alteração do grau do polinômio exige que os cálculos sejam, todos, refeitos.

3- O método de Lagrange ocupa menos memória, uma vez que não é necessário o cálculo e o armazenamento uma tabela de diferenças.

48

Interpolação Polinomial Considerações finais

4- A desvantagem na utilização do Método das Diferenças Finitas Ascendentes é a exigência de que as abscissas dos pontos para a interpolação devem ser, necessariamente, equidistantes.

5- Nos métodos que utilizam diferenças divididas ou finitas ascendentes, a estimativa do erro de truncamento pode ser facilmente integrada ao algoritmo, uma vez que utiliza uma diferença.

6- No método de Lagrange, a estimativa do erro de truncamento pode ser obtida apenas se a função interpolada for conhecida analiticamente.

7- O método de Lagrange é um pouco mais fácil de ser implementado.

49

Cálculo Numérico – BCC760 Interpolação Polinomial

Referência

Prof. Paulo Laerte Natti.

Departamento de Matemática

Universidade Estadual de Londrina

Disponível em:

http://www.mat.uel.br/plnatti/Calculo%20Numerico/Aulas/aulas2009.htm

Acessado em 08.4.2010

50