You are on page 1of 41

Interpolação

Objetivo
 Interpolar uma função f(x) consiste em
aproximar essa função por uma outra função
g(x), escolhida entre uma classe de funções
definidas (polinômios). g(x) é usada em
substituição à função f.

Problemática
 Essa necessidade de efetuar esta substituição
surge quando:

Quando são somente conhecidos os valores
numéricos da função para um conjunto de pontos
e é necessário calcular o valor de um ponto no
tabelado.
Quando a expressão da função é complicada de
mais para ser integrada ou diferenciada.

Em equação
 Consideremos n+1 valores distintas: x0, ..., xn
(nós da interpolação) e os valores de f(x)
nesses pontos: f(x0), ..., f(xn).
Queremos determinar a função g(x) tal que:
g(x0)=f(x0)
....
g(xn)=f(xn)

Graficamente .

Classe de funções  Em nosso caso.+anxn . consideramos a função g(x) com um elemento da classe de funções polinomiais..  Tentaremos aproximar a função f(x) a partir de um conjunto de valores com uma função do tipo: a0+a1x+..

..f(x0)). k=0. .n  Questões: esse polinômio existe? Ele é único? .1.Interpolação polinomial  Dados os n+1 pontos (x0.. (xn. queremos aproximar f(x0) por um polinômio pn(x) de grau menor ou igual a n:  f(xk)=pn(xk) .f(xn))....

1.n produz o sistema seguinte de n+1 equações ..... a  a x  .. k=0......+anxn .  a x n  f ( x ) n n n  0 1 n . n+1 variáveis: a0  a1 x0  ..  an x1  f ( x1 )  . a condição f(xk)=pn(xk) ...  an x0 n  f ( x0 )  n a0  a1 x1  .Interpolação polinomial  Considerando que p o polinômio escreve-se pn(x)= a0+a1x+........

... ...   n xn . xn são pontos distintos... . desde que x0.. .. Então o sistema admite uma solução única. x0 n  n  x1 .... temos det A0..Interpolação polinomial: matriz  A matriz do sistema é: 1  1  A 1  1 x0 . xn   Essa matriz é uma matriz de Vandermonde. ... x1  .

. ..  a n x0 n 1 .. 1 xn ..... i0 ...Prova  Podemos proceder da forma seguinte: O determinante pode ser considerado como um polinômio em x0: 1 x0 ... ele pode ser escrito aP(xi-x0). xn n  E um polinômio de grau n com n raízes: x1 a xn... x1n  a 0  a1 x0  a 2 x0 2  .. x0 n 1 x1 . .

x1   ( x j  xi ) 1 . x0 n 1 x1 .. xn n . 0i  j  n 1 xn . ........Determinante de Vandermonde  O determinante da matriz de Vandermonde pode ser escrito da forma seguinte: n 1 x0 . .....

1.... .Interpolação polinomial: teorema  Em outros termos podemos dizer que: Existe um único polinômio pn(x) de grau n tal que pn(xk)=f(xk).n desde que xixj por jk. k=0..

. .Obter pn(x)  Para obter o polinômio pn(x). performance computacional. existem diversos métodos. o mais direto sendo a resolução do sistema linear...  A escolha do método depende de várias condições: a estabilidade do sistema.

Temos o sistema:a 0 -a1 +a 2 =4 7 2   a 0  1. a1   .Resolução do sistema  Vamos encontrar o polinômio de grau 2 que interpola os pontos da tabela: x -1 f(x) 4 0 1 2 -1 Considerando p2(x)=a0+a1x+a2x2. a 2  a 0 =1 3 3 a +2a +4a =-1 1 2  0 .

Como existe uma solução única. qualquer método que determina uma solução. mas o sistema pode ser mal condicionado e sua resolução com numeração a ponto flutuante produzir resultados errados. determina a solução única.Condicionamento  A determinação dos coeficientes pela resolução do sistema é um processo simples. .  Existem outros métodos para determinar os polinômios de interpolação.

. .+ynLn(x). (xn. onde Lk(x) são polinômios de grau n e a condição pn(xi)=yi. i=0..yn= f(xn)) e o polinômio interpolador pn(x).......Forma de Lagrange  Considerando os n+1 pontos (x0..y0=f(x0)). Lagrange propôs de representar o polinômio pn(x) da forma: pn(x)=y0L0(x)+.n seja satisfeita.

. consideramos: ( x  x0 )( x  x1 )... é impor: 1 se k  i Lk (x i )=  0 se k  i  Por isso.( x  xk 1 )( x  xk 1 )..( x  xn ) Lk ( x)  ( xk  x0 )( xk  x1 ).( xk  xn ) ....( xk  xk 1 )( xk  xk 1 )...Forma de Lagrange  A melhor forma de ter a condição: pn(xi)=yi i=0...n..

Lk ( x)  k 0 j  0.  Podemos verificar também que: 1 se k  i Lk (x i )=  0 se k  i  A forma de Lagrange para o polinômio n interpolador é:  (x  x j ) n pn ( x)   yk Lk ( x). j  k ( xk  x j ) .Forma de Lagrange  O numerador de Lk(x) é um produto de n fator em x. então Lk(x) é de grau n. j  k n  j  0.

y1=f(x1)). temos: pn ( x)  y0 ( x  x0 ) ( x1  x) y0  ( x  x0 ) y1 ( x  x1 )  y1  ( x0  x1 ) ( x1  x0 ) ( x1  x0 ) .  Usando a forma de Lagrange.Interpolação linear  Interpolação de dois pontos (x0.y0=f(x0)) e (x1.

Exemplo x -1  Seja a tabela: f(x) 4  Temos: 0 1 2 -1 ( x  x1 )( x  x2 ) ( x  0)( x  2) x2  2x L0 ( x)    ( x0  x1 )( x0  x2 ) (1  0)(1  2) 3 ( x  x0 )( x  x2 ) ( x  1)( x  2) x 2  x  2 L1 ( x)    ( x1  x0 )( x1  x2 ) (0  1)(0  2) 2 ( x  x0 )( x  x1 ) ( x  1)( x  0) x 2  x L2 ( x)    ( x2  x0 )( x2  x1 ) (2  1)(2  0) 6 x2  2x x2  x  2 x2  x 7 2 2 pn ( x)  4    1 x  x 3 2 6 3 3 .

..n são diferenças divididas de ordem k entre os pontos (xj....k .... k=0.f(xn)) e o polinômio interpolador pn(x).f(xj)).f(x0))....(x-xn-1) Os coeficientes dk.Forma de Newton  Considerando os n+1 pontos (x0. . (xn.+dn(x-x0).. Newton propôs de representar o polinômio pn(x) da forma: pn(x)=d0+d1(x-x0)+d2(x-x0)(x-x1)+... j=0..

. xn ]  f [ x0 .xn.... x2 ]  f [ x0 . x ]  f [ x1 ..... x1 ] 0 1 2  x2  x0   f [ x . x .. xn 1 ] 0 n  xn  x0 ordem 0 ordem1 ordem 2 ordem n ....  Os operadores de diferenças divididas são definidos por:  f [ x0 ]  f ( x0 )   f [ x0 . x ]  f [ x1 ...Operador diferenças divididas  f(x) é uma função tabelada em x0.. x1 ]  f [ x1 ]  f [ x0 ]  x1  x0   f [ x ..

x2] x2 f[x2] f[x1...x1] x1 f[x1] f[x0..xn] f[xn-2. xn f[xn] f[xn-1. xn-1.x2] f[x1.x1.. xn] . Ordem n x0 f[x0] f[x0..x2.. xn] ..Operador diferenças divididas x Ordem 0 Ordem 1 Ordem 2 ..x3] f[x0..

Operador diferenças divididas  Exemplo: x f(x) -1 1 x -1 0 1 1 0 1 2 -1 2 -2 1 0 0 3 Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4 1 -1/2 -1 0 1/6 0 -1 -1 3 -2 0 0 -1 -1/24 .

.. x jk ] Onde j0.Forma de Newton  Podemos provar que as diferenças divididas satisfazem a propriedade seguinte: f [ x0 ... xk ]  f [ x j0 ... . k...... jk é qualquer permutação de 0. .... .

......n . . Sejam a=x0<x1<. xn...Forma de Newton  Forma de Newton para o polinômio interpolador:    Seja uma função f(x) contínua e com tantas derivadas contínuas necessárias num intervalo [a.b].. construindo sucessivamente os polinômios pk(x).<xn=b Vamos construir o polinômio pn(x) que interpola f(x) em x0. k=0.

Forma de Newton  Para x[a.b]. x]  x  x0  f ( x)  f ( x0 )  ( x  x0 ) f [ x0 . x] p0 ( x) E0 ( x)  Podemos notar que E0(x) é o erro cometido aproximando f(x) por p0(x) . xx0  Temos: f ( x)  f ( x0 ) f [ x0 .

x0 ]  ( x  x0 )( x  x1 ) f [ x0 . x] P1 ( x) E1 ( x) . x]  f [ x1 . x1 . x]  f [ x1 . x0 . x0 ] f [ x0 . x]   x  x1 f ( x)  f ( x0 )  ( x  x0 ) f [ x1 .Forma de Newton f [ x0 . x1 .

x1 . x]   x  x2 f ( x)  f ( x0 )  ( x  x0 ) f [ x1 . x]  f [ x2 . x0 ] f [ x0 . x0 . x] P2 ( x)  ( x  x0 )( x  x1 )( x  x2 ) f [ x0 . x1 . x0 . x] E2 ( x) .Forma de Newton f [ x1 . x0 ]  ( x  x0 )( x  x1 ) f [ x0 . x]  f [ x2 . x2 . x1 . x1 . x1 . x2 .

...x1]+.xn]  O erro é dado por: En(x)=(x-x0).xn...x] .......(x-xn)f[x0. +(x-x0).Forma de Newton  Continuando assim para todos pk(x).. temos pn(x)=f(x0)+(x-x0)f[x0.(x-xn-1) f[x0.

Forma de Newton  Considerando a tabela: x -1 f(x) 4 x -1 Ord 0 4 Ord 1 1 2/3 -1 2 -1 2 -1 Ord 2 -3 0 0 1 2 2 7 p3 ( x)  x  x  1 3 3 .

Estudo do erro  A aproximar a função f(x) por um polinômio. comete-se um erro: En(x)=f(x)-pn(x) .

<xn...Estudo do erro  Teorema: Sejam x0<..( x  xn ) . o erro é dado por: f ( n1) ( x ) En ( x)  ( x  x0 ).xn].. Em qualquer ponto x do intervalo [x0. onde  x [ x0 . seja f(x) com derivadas até ordem (n+1) para x no intervalo [x0..xn]. xn ] (n  1)! .

. podemos deduzir que: f ( n1) ( x ) f [ x0 .. xn ] (n  1)! Se além disso. x]  .Estudo do erro  Do teorema precedente.  x [ x0 ...=xn-xn-1=h h n 1 En ( x)  M n1 4(n  1) .. En ( x)  ( x  x0 ). x1 .. x1-x0=x2-x1=.. xn ]  Dois corolários:  (n  1)! Se f(n+1)(x) é contínua em [x0. x  [ x0 . xn . M n1  max ( f ( n1) ( x) ) x[ x 0.xn]...( x  xn )  M n1 . xn ].

( x  xn ) max(diferencias divididas de ordem n  1) .. podemos usar o maior valor destas diferenças como aproximação para: M n1 (n  1)!  Nesse caso.Estudo do erro  Se a função é dada na forma de uma tabela. só podemos estimar o valor absoluto do erro.  Mas a tabela de diferencias divididas é construída até ordem n+1.. o valor do erro pode ser majorado com: En ( x)  ( x  x0 ).

Interpolação inversa  Trata-se de. Uma solução consiste em interpolar f(x) é em seguida resolver a equação f(x)=y. Com a interpolação inversa. a resolução da equação pode ser difícil e não temos avaliação do erro cometido. podemos calcular uma avaliação do erro cometido.  Uma outra solução consiste em efetuar uma interpolação inversa. A interpolação inversa só poder ser feita com uma função monótona. ou seja determinar um polinômio interpolador de f-1(x). aproximar um valor de x tal que f(x)=y. No caso de graus elevados (>2).f(xn)). conhecendo um valor y de (f(x0).  .

. Se na vizinhança do ponto de interesse. as diferenças divididas de ordem k são praticamente constantes.Grau do polinômio  Trata-se de determinar o grau do polinômio para interpolar uma função em um ponto:   Deve-se construir a tabela de diferenças divididas. podemos concluir que um polinômio de grau k é suficiente.

....xn são igualmente espaçados..Newton-Gregory  No caso em que os x0..  Diférenças ordinarias:    Df(x)=f(x+h)-f(x) D2f(x)=Df(x+h)-Df(x) D3f(x)=D2f(x+h)-D2f(x).. podemos usar a forma de Gregory-Newton....... .

..Newton-Gregory  Podemos construir a tabela de diferenças ordinárias da mesma forma que a tabela de diferenças divididas. n Se: n D Então: f [ x .... x ]  f ( x0 ) 0 n n h n! .. j  0...  Teorema:   x j  x0  jh.1.

.  ( x  x0 )..........( x  xn 1 ) hn n! .....Newton-Gregory  No caso em que os x0.. podemos escrever o polinômio interpolador: Df ( x0 ) D 2 f ( x0 ) pn ( x)  f ( x0 )  ( x  x0 )  ( x  x0 )( x  x1 )  2 h 2h D n f ( x0 ) .xn são igualmente espaçados..

..Newton-Gregory  Usando uma mudança de variáveis: s=(x-x0)/h  Temos: (x-xj)=(s-j)h e pn(x)=f(x0)+sDf(x0)+s(s-1)D2f(x0)/2+..