aula interpol cao

43

Upload: thiago-davi

Post on 15-Dec-2015

248 views

Category:

Documents


0 download

DESCRIPTION

Interpolação

TRANSCRIPT

Interpolação Polinomial

Prof. Dr. Santos Alberto Enriquez-Remigio

Famat-Ufu

11 de novembro de 2009

Introdução ao conceito de interpolação

A interpolação consiste em determinar uma função que assumevalores conhecidos em certos pontos

A classe de funções escolhidas para a interpolação é a priori

arbitrária, e deve ser adequada às características que pretendemosque a função possua

I Um dos objetivos da interpolação é a determinação de umafunção g que passe pelos pontos informados da função f .Baseando-se na nova função g , pode-se estimar, valoresintermediários entre os dados conhecidos de f

I Outro dos objetivos é usar a função g para aproximar asderivadas e aintegrla da função f pelas respectivas derivadas eintegral da função g

f′(x) ≈ g

′(x)ˆ b

a

f (x)dx ≈ˆ b

a

g(x)dx

Problema geral de Interpolação

Considere a tabela abaixo com (n + 1) pontos distintos de f

x x0 x1 x2 . . . xn

f (x) f (x0) f (x1) f (x3) · · · f (xn)

A interpolação da função f consiste em se obter uma função g(x),tal que:

g(x0) = f (x0), g(x1) = f (x1), g(x2) = f (x2), · · · g(xn) = f (xn)

Observe-se que no caso de interpolação, tem-se que:

dk = |yk − g(xk)|= |f (xk)− g(xk)|= 0

Gra�camente

Durante o curso consideraremos que g(x) pertence à classe dasfunções polinomiaisObservação

I Existem outras formas de interpolação polinomial como, porexemplo, a fórmula de Taylor para a qual as condições deinterpolação são outras.

I Assim como g(x) foi escolhida entre as funções polinomiais,poderiamos ter escolhido g(x) como função racional, funçãotrigonométrica, etc.

Expressão geral dos polinômios

I Polinômio de grau 1

p1(x) = a0 + a1x

I Polinômio de grau 2

p2(x) = a0 + a1x + a2x2

I Polinômio de grau 3

p3(x) = a0 + a1x + a2x2 + a3x

3

...

I Polinômio de grau n

pn(x) = a0 + a1x + a2x2 + . . .+ anx

n

Polinômio Interpolador

Consideremos o intervalo [a, b] ⊂ R, os pontosx0, x1, x2, . . . xn ∈ [a, b] e uma função f cujos valores sãoconhecidos naqueles pontos, isto é, f (xi ) = fi , i = 0, 1, 2, . . . , n.Um polinômio P , de grau menor do que ou igual a n que satisfaz:

P(xi ) = fi , i = 0, 1, 2, . . . , n,

chama-se polinômio interpolador de f nos pontos x0, x1, x2, . . . , xn

Teorema (Existência e Unicidade)Dado um conjunto de (n + 1) pontos distintos de uma função f ,isto é

(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn),

com xk 6= xj para k 6= j . Existe um único polinômio p(x) de graumenor ou igual a n, tal que:

p(xi ) = fi , i = 0, 1, 2, n

Demonstração do TeoremaSeja p(x) = a0 + a1x + a2x

2 + . . . anxn. Para obter os ai usamos a

condição de interpolação p(xi ) = fi para i = 0, 1, 2, . . . , n. Logo,tem-se:

f0 = p(x0) = a0 + a1x0 + a2x20 + . . . anx

n0

f1 = p(x1) = a0 + a1x1 + a2x21 + . . . anx

n1

fn = p(xn) = a0 + a1xn + a2x2n + . . . anx

nn

Temos n + 1 equações e n + 1 incógnitas. O sistema linearassociado tem a seguinte forma:

1 x0 x20

. . . xn0

1 x1 x21

. . . xn1

1 x2 x22

. . . xn2

......

.... . .

...1 xn x2n . . . xn

n

a0a1a2...an

=

f0f1f2...fn

(1)

Vamos denominar a matriz dos coe�cientes do sistema linear (1)por A e os vetores incógnitas e de termos independentes por x e b,respectivamente. Então, temos:

A =

1 x0 x2

0. . . xn

0

1 x1 x21

. . . xn1

1 x2 x22

. . . xn2

......

.... . .

...1 xn x2n . . . xn

n

x =

a0a1a2...an

, b =

f0f1f2...fn

O sistema anterior é da forma Ax = b, onde a matriz doscoe�cientes A é uma matriz de Vandermonde, com determinantedado por:

|A| =∏l>k

(xl − xk)

Como xl 6= xk para l 6= k , segue se que o determinate da matriz A

é diferente de zero.Portanto sistema linear (1) admite uma única solução.Isto é, existe um único polinômio de grau ≤ n que passa pelospontos (xl , fl ) l = 0, 1, 2, , n

Exemplo 1: Considere a seguinte tabela de pontos de uma funçãof .

x 0.0 0.2 0.4

f (x) 4 3.84 3.76

Determine o polinômio de grau menor ou igual a 2 que passa poresses pontos.Solução.

x0 = 0, x1 = 0.2, x2 = 0.4

f0 = 4, f1 = 3.84, f2 = 3.76

p2(x) = a0 + a1x + a2x2

Sistema linear a ser resolvido: 1 x0 x20

1 x1 x21

1 x2 x22

a0a1a2

=

f0f1f2

Susbstituindo-se os valores de x0, x1, x2, f0, f1, f2 dados na tabelaacima, tem-se: 1 0 0

1 0.2 0.041 0.4 0.16

a0a1a2

=

43.843.76

Resolvendo-se o sistema linear acima, tem-se:a0 = 4, a1 = −1, a2 = 1.Então, o polinômio interpolador é:

p2(x) = 4− x + x2

Polinômios de Lagrange

Sejam x0, x1, x2, . . . xn (n + 1 valores) com xl 6= xk para l 6= k .Os polinômios de Lagrange Lk(x), k = 0, 1, 2, . . . , n associados aosvalores xl l = 0, 1, 2, . . . , n são polinômios de grau n dados por:

Lk(x) =(x − x0)(x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn)

(xk − x0)(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (x − xn)

ou

Lk(x) =

∏nl=0, l 6=k(x − xl )∏nl=0, l 6=k(xk − xl )

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

Alguns dos polinômios de Lagrange:

L0(x) =(x − x1)(x − x2)(x − x3) . . . (x − xn)

(x0 − x1)(x0 − x2)(x0 − x3) . . . (x0 − xn)

L1(x) =(x − x0)(x − x2)(x − x3) . . . (x − xn)

(x1 − x0)(x1 − x2)(x1 − x3) . . . (x1 − xn)

L2(x) =(x − x0)(x − x1)(x − x3) . . . (x − xn)

(x2 − x0)(x2 − x1)(x2 − x3) . . . (x2 − xn)

...

Ln(x) =(x − x0)(x − x1)(x − x2) . . . (x − xn−1)

(xn − x0)(xn − x1)(xn − x2) . . . (xn − xn−1)

Propriedades dos polinômios de Lagrange

Lk(xl ) = δlk (Delta de Kronecker)n∑

k=0

Lk(x) = 1

Polinômio Interpolador na Forma de Lagrange

O polinômio interpolador de grau ≤ n de f relativamente aospontos (x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn) é dado pela seguintefórmula:

pn(x) =n∑

k=0

fkLk(x)

onde Lk(x) k = 0, 1, 2, . . . , n são os polinômios de Lagrangeassociado aos x0, x1, x2, . . . xn.

Pode-se veri�car que pn(xi ) = fi , i = 0, 1, 2, . . . , n

Exemplo 2. Considere a mesma tabela do exemplo 1, isto é:

x 0.0 0.2 0.4

f (x) 4 3.84 3.76

Usando a fórmula de Lagrande determine o polinômio interpoladorque passa por esses três pontos da função f .Solução.Os valores dos xi´s são: x0 = 0, x1 = 0.2, x2 = 0.4 e dos fi´ssão:

f0 = 4, f1 = 3.84, f2 = 3.76

O polinômio usando a fórmula de Lagrange é:

p2(x) =2∑

i=0

fiLi (x)

Valor de n = 2, então temos três polinômios de Lagrange

L0(x) =(x − x1)(x − x2)

(x0 − x1)(x0 − x2)=

(x − 0.2)(x − 0.4)

(0− 0.2)(0− 0.4)=

(x − 0.2)(x − 0.4)

0.08=

(x2 − 0.6x + 0.08)

0.08

L1(x) =(x − x0)(x − x2)

(x1 − x0)(x1 − x2)=

(x − 0)(x − 0.4)

(0.2− 0)(0.2− 0.4)=

x(x − 0.4)

−0.04= −

x2 − 0.4x

0.04

L2(x) =(x − x0)(x − x1)

(x2 − x0)(x2 − x1)=

(x − 0)(x − 0.2)

(0.4− 0)(0.4− 0.2)=

x(x − 0.2)

0.08=

x2 − 0.2x

0.08

Então,

p2(x) = f0Lo(x)+f1L1(x)+f2L2(x) = 4L0(x)+3.84L1(x)+3.76L2(x)

Ordenando e simpli�cando, tem-se:

p2(x) = x2 − x + 4

O mesmo polinômio obtido no exemplo 1.

Para o exemplo 2, os polinômios de Lagrange foram:

L0(x) =(x2 − 0.6x + 0.08)

0.08

L1(x) = −x2 − 0.4x0.04

L2(x) =x2 − 0.2x

0.08

A soma desses polinômios é:

L0(x)+L1(x)+L2(x) =(x2 − 0.6x + 0.08)

0.08+−x2 − 0.4x

0.04+x2 − 0.2x

0.08

L0(x) + L1(x) + L2(x) = 1

Forma de Newton para o Polinômio Interpolador

1. É outra forma de determinar-se o polinômio interpolador quepassa pelos pontos:

(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn).

2. A expressão do polinômio interpolador na forma de Newton édada por:

pn(x) = d0+d1(x−x0)+d2(x−x0)(x−x1)+· · ·+dn(x−x0)(x−x1) . . . (x−xn−1)

onde d0, d1, d2,. . . ,dn são constantes.

3. Quais são os valores das constantes d0, d1, d2,. . . ,dn−1 e dn?

Diferença dividida

De�nição. Sejam x0, x1, x2,. . . , xn (n+1) pontos distintos nointervalo [a, b], e sejam f0, f1,. . . , fn, (n + 1) valores de umafunção y = f (x) sobre x = xk , k = 0, 1, . . . , n. De�ne-se:

f [xk ] = f (xk), k = 0, 1, . . . , n

f [xL, xL+1, xL+2, . . . , xk ] =f [xL+1, xL+2, . . . , xk ]− f [xL+1, x1, . . . , xk−1]

xk − xL, L = 0, 1, 2, . . . , n−k , k = 1, 2, . . . , n

onde f [xL, xL+1, xL+2, . . . , xk ] é a diferença dividida de ordem(k − L) da função f sobre os pontos x0, x1, x2,. . . , xn.OBSERVAÇÃO:

I Nessa de�nição não se pede que os pontos x0, x1, x2,. . . , xnestejam ordenado em forma crescente.

Usando-se a de�nição, algumas diferenças divididas de ordem 1 são:

f [x0, x1] =f [x1]− f [x0]

x1 − x0

f [x1, x2] =f [x2]− f [x1]

x2 − x1

f [x2, x3] =f [x3]− f [x2]

x3 − x2

...

f [xn−1, xn] =f [xn]− f [xn−1]

xn − xn−1

Algumas diferenças divididas de ordem 2 são:

f [x0, x1, x2] =f [x1, x2]− f [x0, x1]

x2 − x0

f [x1, x2, x3] =f [x2, x3]− f [x1, x2]

x3 − x1

f [x2, x3, x4] =f [x3, x4]− f [x2, x3]

x4 − x2

...

f [xn−2, xn−1, xn] =f [xn−1, xn]− f [xn−2, xn−1]

xn − xn−2

Cálculo Sistemático das Diferenças Divididas

Para calcular as diferenças divididas de uma função f sobre ospontos (x0, f0), (x1, f1), (x2, f2),. . . , (xn, fn), constroia-se umatabela de diferenças divididas mostrada a seguir:

Ordem 0 Ordem 1 Ordem 2 . . .

xk f [xk ] f [xi , xj ] f [xi , xj , xk ]

x0 f [x0] = f0

f [x0, x1] = f [x1]−f [x0]x1−x0

x1 f [x1] = f1 f [x0, x1, x2] = f [x1,x2]−f [x0,x1]x2−x0

f [x1, x2] = f [x2]−f [x1]x2−x1

. . .

x2 f [x2] = f2 f [x1, x2, x3] = f [x2,x3]−f [x1,x2]x3−x1

f [x2, x3] = f [x3]−f [x2]x3−x2

. . .

x3 f [x3] = f3 f [x2, x3, x4] = f [x3,x4]−f [x2,x3]x4−x2

f [x3, x4] = f [x4]−f [x3]x4−x3

. . .

x4 f [x4] = f4...

Exemplo 3: Para os pontos x0 = 0, x1 = 1, x2 = 3, x3 = 4 e osvalores y0 = 0, y1 = 2, y2 = 8, y3 = 9 a tabela de diferençasdivididas é dada por:

Ordem 0 Ordem 1 Ordem 2 Ordem 3xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ]

0 02−01−0 = 2

1 2 3−23−0 = 1

3

8−23−1 = 3

− 2

3− 1

3

4−0 = −1

4

3 8 1−34−1 = −2

39−84−3 = 1

4 9

Como determinar as constantes d0, d1, d2,. . . ,dn−1 e dn dopolinômio interpolador dado na forma de Newton ?

Lembrar que a forma de Newton para o polinômio interpolador é

pn(x) = d0+d1(x−x0)+d2(x−x0)(x−x1)+· · ·+dn(x−x0)(x−x1) . . . (x−xn−1)(2)

e passa pelos pontos:

(x0, f0), (x1, f1), (x2, f2), . . . , (xn, fn),

então:pn(xi ) = fi , i = 0, 1, 2, . . . , n. (3)

Avaliando-se a expressão (2) em x = x0, tem-se:

pn(x0) = d0.

e usando-se a condição (3) para i = 0 (p(x0) = f0), obtém-se

d0 = f0 = f [x0] (4)

Avaliando-se a expressão (2) para x = x1, tem-se:

pn(x1) = d0 + d1(x1 − x0).

Usando-se a condição (3) para i = 1 (p(x1) = f1), obtém-se

d0 + d1(x1 − x0) = f1, (5)

Então:

d1 =f1 − d0

x1 − x0=

f1 − f0

x1 − x0(6)

d1 = f [x0, x1]

Seguindo o mesmo raciocínio anterior para determinar oscoe�cientes d0 e d1, tem-se que:

pn(x2) = d0 + d1(x2 − x0) + d2(x2 − x0)(x2 − x1) = f2

Disto, obtemos

d2 =f2 − d0 − d1(x2 − x0)

(x2 − x0)(x2 − x1). (7)

Substitui-se a expressão de d0 e d1na equação para d2 esimplica-se, obtemdo-se:

d2 =f2−f1x2−x1

− f1−f0x1−x0

x2 − x0(8)

d2 =f [x1, x2]− f [x0, x1]

x2 − x0= f [x0, x1, x2]

Pode-se observar que as constantes d0, d1e d2 são os primeiroselementos das diferenças divididas de ordem 0, ordem 1 e ordem 2,respectivamente.

Teorema Os valores das constantes d0, d1, d2,. . . ,dn−1 e dn, dopolinômio interpolador na representação de Newton, são

d0 = f0

d1 = f [x0, x1]

d2 = f [x0, x1, x2]

...

dn = f [x0, x1, x2, . . . , xn]

Exemplo 4. Determine o polinômio interpolador para os pontos def informados no Exemplo 3, conforme a tabela abaixo:

xk 0 1 3 4

fk 0 2 8 9

Da tabela de diferenças divididas calculadas no exemplo 3, obtemosos seguintes dados:

f [x0] = 0, f [x0, x1] = 2, f [x0, x1, x2] = 1/3, f [x0, x1, x2, x3] = −1/4.

Logo,d0 = 0, d1 = 2, d2 = 1/3, d3 = −1/4

Portanto, o polinômio interpolador na forma de Newton é:

p3(x) = 0+2(x−x0)+13(x−x0)(x−x1)−

14(x−x0)(x−x1)(x−x2)

p3(x) = 2x +13x(x − 1)− 1

4x(x − 1)(x − 3)

O esboço do grá�co do polinômio interpoladorp3(x) = 2x + 1

3x(x − 1)− 1

4x(x − 1)(x − 3) e os dados de f são

mostrados na �gura abaixo:

Exemplo 5. Determine o polinômio interpolador que passa pelospontos de f informados na tabela abaixo:

xk 0 1 3 4 5

fk 0 2 8 9 1

Solução.A forma de Newton do polinômio interpolador é dada por:

p4(x) = d0 + d1(x − x0) + d2(x − x0)(x − x1) + d3(x − x0)(x − x1)(x − x2) +

+d4(x − x0)(x − x1)(x − x2)(x − x3)

p4(x) = d0+d1x+d2x(x−1)+d3x(x−1)(x−3)+d4x(x−1)(x−3)(x−4)

Onde os valores das constantes d0, d1, d2, d3 e d4 são obtidosatravés da tabela das diferenças divididas.

Observa-se que no exemplo 5 existe um dado a mais que noexemplo 4. Nesse caso, pode-se aproveitar a tabela de diferençasdivididas construída para o exemplo 4, isto é:

Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4

xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ] f [xi , xj , xk , xr , xs ]

0 0

2−01−0 = 2

1 23−23−0 = 1

3

8−23−1 = 3

− 2

3− 1

3

4−0 = − 1

4

3 81−34−1 = −2

3

9−84−3 = 1

4 9

5 1

Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4

xk f [xk ] f [xi , xj ] f [xi , xj , xk ] f [xi , xj , xk , xr ] f [xi , xj , xk , xr , xs ]

0 0

2−01−0 = 2

1 23−23−0 = 1

3

8−23−1 = 3

− 2

3− 1

3

4−0 = − 1

4

3 81−34−1 = −2

3

− 23

24+ 1

4

5−0 = − 17

120

9−84−3 = 1

−4.5+ 2

3

5−1 = −2324

4 9−8−15−3 = −4.5

1−95−4 = −8

5 1

Logo, o polinômio interpolador é:

p4(x) = 2x+13x(x−1)−1

4x(x−1)(x−3)− 17

120x(x−1)(x−3)(x−4)

O esboço do grá�co do polinômio interpolador e dos dados de f émonstrado na �gura abaixo

Erro na aproximação de f por seu polinômio interpolador

TeoremaSeja f contínua em [a, b] e suponhamos que f (n+1)(x) exista emcada ponto (a, b). Se a ≤ x0 < x1 < · · · < xn ≤ b, então:

En(f ; x) = f (x)− pn(x) =(x − x0)(x − x1) . . . (x − xn)

(n + 1)!f (n+1)(ε),

onde min{x0, x1, . . . , xn} < ε < max{x0, x1, . . . , xn}. O ponto εdepende de x , isto é, ε = ε(x)

A equação

En(f ; x) = f (x)− pn(x) =(x − x0)(x − x1) . . . (x − xn)

(n + 1)!f (n+1)(ε),

tem uso limitado na prática, pois raramente ε é conhecido. Suaprincipal aplicação é na estimativa do erro de truncamento para asfórmulas de interpolação, integração e diferenciação numérica.

Corolário. Seja En(f ; x) = f (x)− pn(x). Se f (x) e suasderivadas até ordem n + 1 são contínuas em [a, b] então:

|En(f ; x)| ≤ |(x − x0)||(x − x1)| . . . |(x − xn)|(n + 1)!

maxa≤t≤b

|f (n+1)(t)|