Você está na página 1de 21

____________________________________________________________________________________________________________________

Bacharelado em Sistemas de Informação


Bacharelado em Ciência da Computação
Métodos Numéricos Computacionais (4713, 4616)
Profa. Márcia A. Zanoli Meira e Silva

INTERPOLAÇÃO POLINOMIAL

Interpolar uma função 𝑓(𝑥) consiste em aproximar essa função por outra função 𝑔(𝑥),
escolhida entre uma classe de funções definida a priori e que satisfaça algumas propriedades. A
função 𝑔(𝑥) é então usada em substituição à função 𝑓(𝑥).

A necessidade de se efetuar esta substituição surge em várias situações, como por exemplo:
• São conhecidos somente os valores numéricos da função para um conjunto de pontos
e é necessário calcular o valor da função em um ponto não tabelado;
• A função em estudo tem uma expressão tal que operações como a diferenciação e a
integração são difíceis de serem realizadas.

Interpretação geométrica

Considere 𝑛 + 1 pontos distintos 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 , chamados de pontos de interpolação, e os


valores de 𝑓(𝑥) nesses pontos: 𝑓 (𝑥0 ), 𝑓 (𝑥1 ), ⋯ , 𝑓 (𝑥𝑛 ).

A forma de interpolação de 𝑓(𝑥) consiste em determinar uma função 𝑔(𝑥) tal que:
𝑔(𝑥0 ) = 𝑓 (𝑥0 )
𝑔(𝑥1 ) = 𝑓 (𝑥1 )
𝑔(𝑥2 ) = 𝑓 (𝑥2 )

{𝑔(𝑥𝑛 ) = 𝑓 (𝑥𝑛 )

Para 𝑛 = 4 (5 pontos), temos a representação:

______________________________________________________________________________________________________________ 1 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Interpolação Polinomial

A interpolação por meio de polinômios consiste em dados 𝑛 + 1 pontos distintos


(𝑥0 , 𝑓(𝑥0 )), (𝑥1 , 𝑓(𝑥1 )), ⋯ , (𝑥𝑛 , 𝑓(𝑥𝑛 )) aproximar 𝑓(𝑥) por um polinômio 𝑝𝑛 (𝑥) de grau ≤ 𝑛,
tal que:
𝑓(𝑥𝑖 ) = 𝑝𝑛 (𝑥𝑖 ), 𝑖 = 0, 1, ⋯ , 𝑛
além disso, 𝑝𝑛 (𝑥𝑖 ) existe e é único desde que 𝑥𝑖 ≠ 𝑥𝑗 , 𝑖 ≠ 𝑗 (se houver um 𝑥 igual a outro “joga-
se” um fora).

Notação:
𝑝: polinômio (minúsculo)
𝑃: ponto (maiúsculo)
𝑛: número inteiro positivo que representa o grau do polinômio
𝑘: índice inicial qualquer
𝑝k,k+𝑛 (𝑥): polinômio de grau 𝑛 que interpola os (𝑛 + 1) pontos consecutivos
𝑃𝑘 , 𝑃𝑘+1 , ⋯ , 𝑃𝑘+𝑛 .

𝒑𝒌,𝒌+𝒏 (𝒙)

𝑥𝑘 𝑥𝑘+1 𝑥𝑘+2 𝑥𝑘+𝑛 𝑥

𝑝𝑛 (𝑥𝑖 ) = 𝑦𝑖 para 𝑥0 ≤ 𝑥𝑖 ≤ 𝑥𝑛

Quando 𝑛 = 0, 𝑝k,k (𝑥) é um polinômio de grau zero (linha horizontal no gráfico a baixo)
passando através de um único ponto 𝑃𝑘 (𝑥𝑘 , 𝑦𝑘 ).

𝑝k,k (𝑥) = 𝑓(𝑥𝑘 ) = 𝑦𝑘 Interpolação Constante

𝑦𝑘 𝒑𝒌,𝒌 (𝒙)

𝑥𝑘 𝑥

______________________________________________________________________________________________________________ 2 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Quando 𝑛 = 1, 𝑝k,k+1(𝑥) é um polinômio de grau um (reta inclinada) passando pelos


pontos 𝑃𝑘 (𝑥𝑘 , 𝑦𝑘 ) e 𝑃𝑘+1 (𝑥𝑘+1 , 𝑦𝑘+1 ).
𝑝k,𝑘+1 (𝑥𝑘 ) = 𝑓(𝑥𝑘 ) = 𝑦𝑘 ⇒ ax𝑘 + 𝑏 = 𝑦𝑘
{  Interpolação Linear
𝑝𝑘,𝑘+1 (𝑥𝑘+1 ) = 𝑓(𝑥𝑘+1 ) = 𝑦𝑘+1 ⇒ ax𝑘+1 + 𝑏 = 𝑦𝑘+1

ax𝑘 + 𝑏 = 𝑦𝑘
{
ax𝑘+1 + 𝑏 = 𝑦𝑘+1

Resolvendo o sistema linear de ordem dois, obtém-se:


𝑦𝑘 − 𝑦𝑘+1 𝑥𝑘∗ 𝑦𝑘+1 − 𝑥𝑘+1∗ 𝑦𝑘
𝑝k,𝑘+1 (𝑥) = ∗𝑥+
𝑥𝑘 − 𝑥𝑘+1 𝑥𝑘 − 𝑥𝑘+1

𝒑𝒌,𝒌+𝟏 (𝒙)
𝑦𝑘+1
+1

𝑦𝑘

𝑥𝑘 𝑥𝑘+1 𝑥

Quando 𝑛 = 2, 𝑝k,k+2(𝑥) é um polinômio de grau dois (uma parábola) passando pelos


pontos 𝑃𝑘 (𝑥𝑘 , 𝑦𝑘 ), 𝑃𝑘+1 (𝑥𝑘+1 , 𝑦𝑘+1 ) e 𝑃𝑘+2 (𝑥𝑘+2 , 𝑦𝑘+2 ).
𝑝k,k+2(𝑥𝑘 ) = 𝑓(𝑥𝑘 ) = 𝑦𝑘 = 𝑎𝑥𝑘2 + 𝑏𝑥𝑘 + 𝑐
2
𝑝k,k+2(𝑥𝑘+1 ) = 𝑓(𝑥𝑘+1 ) = 𝑦𝑘+1 = 𝑎𝑥𝑘+1 + 𝑏𝑥𝑘+1 + 𝑐
2
{ 𝑝k,k+2(𝑥𝑘+2 ) = 𝑓(𝑥𝑘+2 ) = 𝑦𝑘+2 = 𝑎𝑥𝑘+2 + 𝑏𝑥𝑘+2 + 𝑐

𝑦𝑘+1
𝒑𝒌,𝒌+𝟐 (𝒙)

𝑦𝑘+2 = 𝑦𝑘

𝑥𝑘 𝑥𝑘+1 𝑥𝑘+2 𝑥

______________________________________________________________________________________________________________ 3 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Considerações Práticas

O Método da Força Bruta apresentado anteriormente é chamado Método dos Coeficientes


Indeterminados. Este método pode ser usado para converter um polinômio 𝑝k,𝑘+𝑛 (𝑥) de grau 𝑛
em um sistema linear de ordem 𝑛 + 1, entretanto esse método não produz uma fórmula geral para
𝑝k,k+𝑛 (𝑥) e, logo não é conveniente para manipulação computacional para 𝑛 > 2.

O Método dos Coeficientes Indeterminados, mesmo não tendo grande utilidade


computacional, mostra implicitamente que, com 𝑛 + 1 pontos, pode-se obter um único polinômio
interpolador de grau 𝑛 (matriz de Vandermonde).

De forma prática, a representação de 𝑝𝑛 (𝑥) é dada por:


𝑝𝑛 (𝑥) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 + ⋯ + 𝑎𝑛 𝑥 𝑛 .

Desta forma, obter 𝑝𝑛 (𝑥) consiste em obter os coeficientes 𝑎0 , 𝑎1 , 𝑎2 , ⋯ , 𝑎𝑛 . Da condição


𝑝𝑛 (𝑥𝑘 ) = 𝑓(𝑥𝑘 ), ∀ 𝑘 = 0, 1, 2, . . . , 𝑛, tem-se o seguinte sistema linear:
𝑎0 + 𝑎1 𝑥0 + 𝑎2 𝑥02 + ⋯ + 𝑎𝑛 𝑥0𝑛 = 𝑓(𝑥0 )

𝑎0 + 𝑎1 𝑥1 + 𝑎2 𝑥12 + ⋯ + 𝑎𝑛 𝑥1𝑛 = 𝑓(𝑥1 )

⋮ ⋮ ⋮ ⋮ ⋮

{ 𝑎0 + 𝑎1 𝑥𝑛 + 𝑎2 𝑥𝑛2 + ⋯ + 𝑎𝑛 𝑥𝑛𝑛 = 𝑓(𝑥𝑛 )


com 𝑛 + 1 equações e 𝑛 + 1 variáveis: 𝑎0 , 𝑎1 , 𝑎2 , ⋯ , 𝑎𝑛 .

A matriz dos coeficientes do sistema é dada por:


1 𝑥0 𝑥02 𝑥0𝑛
1 𝑥1 𝑥12 𝑥1𝑛
𝐴=
⋮ ⋮ ⋮ ⋮
( 1 𝑥𝑛 𝑥𝑛2 𝑥𝑛𝑛 )

Esta matriz é conhecia como Matriz de Vandermonde e, desde que 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 sejam


pontos distintos, tem-se 𝑑𝑒𝑡(𝐴) ≠ 0 e, então, o sistema linear admite solução única.

Teorema: Existência e unicidade do Polinômio Interpolador


Seja 𝑓(𝑥) definida em 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 , 𝑛 + 1 pontos distintos de um intervalo [𝑎, 𝑏].
Então existe um único polinômio 𝑝(𝑥) de grau menor ou igual a 𝑛 tal que
𝑝(𝑥𝑖 ) = 𝑓(𝑥𝑖 ) = 𝑦𝑖 , 𝑖 = 0, . . . , 𝑛.

______________________________________________________________________________________________________________ 4 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Encontrando o melhor 𝒌 em um 𝒑k,k+𝒏 (𝒙) para 𝒇(𝒛)

Suponha que se deseja determinar 𝑓(𝑧), mas 𝑧 não é um valor tabelado. Uma estratégia
natural para esta situação é usar 𝑝k,k+𝑛 (𝑥) para obter um valor aproximado.

A questão é:
Como escolher 𝑛 e 𝑘 para fazer 𝑝k,k+𝑛 (𝑥)
ser a melhor aproximação para 𝑓(𝑧)?

A resposta óbvia é “usar todos os pontos”, mas dessa forma não se consegue boa precisão.
Na realidade, esta questão não é tão simples quanto parece.

Uma vez o grau 𝑛 tendo sido escolhido, existe muitos pontos diferentes dos 𝑛 + 1 pontos
tabelados para 𝑝k,k+𝑛 (𝑧), dependendo do 𝑘. O polinômio que é mais provável de melhorar a
precisão para 𝑓(𝑧) será denotado por 𝑝̂ 𝑛 (𝑧) e chamado o melhor polinômio interpolador de grau
n para 𝑓(𝑧).

Para 𝑛 = 0, o melhor interpolador de grau zero (constante) de 𝑓(𝑧) é


𝑝̂ 0 (𝑧) = 𝑝𝑘,𝑘 (𝑧) = 𝑦𝑘
onde 𝑥𝑘 é o ponto mais próximo de 𝑧.

Para 𝑛 = 1, o melhor interpolador de grau 1 de 𝑓(𝑧) é


𝑝̂ 1 (𝑧) = 𝑝𝑘,𝑘+1 (𝑧) (interpolação linear)
onde 𝑧 está entre 𝑥𝑘 e 𝑥𝑘+1.

Para 𝑛 > 1, utiliza-se o seguinte critério indutivo:


𝑝̂ 𝑛 (𝑧) é o 𝑝𝑘,𝑘+𝑛 (𝑧) que usa 𝑛 + 1 pontos de forma que 𝑧 esteja
o mais próximo possível do centro do intervalo [𝑥𝑘 , 𝑥𝑘+𝑛 ].

Deste modo, para um dado 𝑧, pode-se ter os sucessivos melhores interpoladores: 𝑝̂ 0 (𝑧),
𝑝̂1 (𝑧), 𝑝̂ 2 (𝑧), ..., obtidos pela adição de um ponto por vez, tentando sempre manter 𝑧 o mais
próximo possível do centro do intervalo [𝑥𝑘 , 𝑥𝑘+𝑛 ].

𝑥0 𝑥1 𝑧1 𝑥2 𝑥3 𝑥4 𝑥

As setas na figura anterior indicam a ordem em que os pontos 𝑥𝑖 devem ser acrescentados
para melhor centralização de 𝑧 = 𝑧1 entre 𝑥1 e 𝑥2 , ou seja, 𝑥2 , 𝑥1 , 𝑥3 , 𝑥0 ,e 𝑥4 .

______________________________________________________________________________________________________________ 5 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Pode-se ver que quando o espaçamento entre os pontos é razoavelmente uniforme, as


adições dos pontos que melhor centralizam 𝑧 serão de lados alternados de 𝑧, desde que estes pontos
estejam disponíveis.

Considerações

1) A precisão conseguida com a interpolação polinomial em 𝑧 depende da posição, dos


espaçamentos dos pontos tabelados mais próximos a 𝑧 e do comportamento de 𝑓(𝑧) na
vizinhança de 𝑧. Quando os pontos tabelados estão muito afastados entre si perto de 𝑧,
normalmente a precisão é baixa.
2) Não necessariamente se 𝑛 → ∞ o polinômio 𝑝𝑛 (𝑥) converge para 𝑓(𝑥). Por exemplo,
1
temos a função 𝑓(𝑥) = . Para este caso têm-se três alternativas:
1+25𝑥 2
1
i. ⇒ não aproximar por polinômio;
𝑝2 (𝑥)
ii. Usar pontos de Chebyshev ao invés de pontos igualmente espaçados;
iii. Usar função Spline.
3) A determinação do polinômio por meio de solução de sistemas é muito trabalhosa
podendo ocorrer erros de arredondamento, fazendo com que a solução obtida não seja
real. Assim, serão apresentados outros métodos para determinar tais polinômios.

______________________________________________________________________________________________________________ 6 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Polinômio de Interpolação na Forma de Newton

Uma das vantagens deste tipo de polinômio consiste na facilidade de passar de um


polinômio de grau 𝑛 para um polinômio de grau 𝑛 + 1. Alguns tipos de polinômios necessitam
refazer todos os cálculos.

Na forma de Newton, para o polinômio interpolador não existe este inconveniente, pois se
passa de um polinômio de grau 𝑛 para um de grau 𝑛 + 1 apenas acrescentando mais um termo ao
polinômio de grau 𝑛.

Para a construção do polinômio de interpolação pelo método de Newton é necessário o


conhecimento de Diferença Dividida de uma função.

Diferença Dividida ( n y i ou 𝐷 𝑛 𝑦𝑖 )

Seja 𝑓(𝑥) uma função contínua, 𝑛 + 1 vezes diferenciável e definida em 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛


pontos distintos e ordenados de um intervalo [𝑎, 𝑏].

Define-se diferença dividida por:

0 y i = 𝑓 [𝑥𝑖 ] = 𝑓 (𝑥𝑖 ) = 𝑦𝑖 Ordem zero


𝑓(𝑥𝑖+1 ) − 𝑓(𝑥𝑖 ) 𝑦𝑖+1 − 𝑦𝑖
1y i = 𝑓[𝑥𝑖 , 𝑥𝑖+1 ] = = Ordem 1
𝑥𝑖+1 − 𝑥𝑖 𝑥𝑖+1 − 𝑥𝑖

𝑓(𝑥𝑖+1 , 𝑥𝑖+2 ) − 𝑓(𝑥𝑖 , 𝑥𝑖+1 ) y i +1 − yi


2 y i = 𝑓 [𝑥𝑖 , 𝑥𝑖+1 , 𝑥𝑖+2 ] = = Ordem 2
𝑥𝑖+2 − 𝑥𝑖 xi + 2 − xi

Genericamente
n −1y i+1 − n −1y i
Δ y i =
n
x i + n − xi

n
Nota-se que  y i depende apenas dos 𝑛 + 1 pontos consecutivos.

Para melhor visualização pode-se tabelar de forma conveniente as diferenças divididas,


notando-se que as diferenças de ordem 1 são calculadas a partir da diferença de ordem zero, as
diferenças de ordem 2, a partir da diferença de ordem 1 e, assim sucessivamente, como segue:

______________________________________________________________________________________________________________ 7 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

𝑥 0 yi 1y i 2 yi 3 yi ... n y i


𝑥0 𝑦0
1y 0
𝑥1 𝑦1 2 y 0
1y1 3 y 0
𝑥2 𝑦2 2 y1 

1y 2 3 y1
𝑥3 𝑦3 2 y 2 n y 0
1y 3 
𝑥4 𝑦4  
 3 y n-3
  2 y n-2
1y n-1
𝑥𝑛 𝑦𝑛

Considerando, por exemplo, 5 pontos a tabela de Diferenças Divididas pode ser montada
da seguinte forma:

𝑥 0 yi 1y i 2 yi 3 yi 4 y i

𝑥0 𝑦0 1y 0 2 y 0 3 y 0 4 y 0


𝑥1 𝑦1 1y1 2 y1 3 y1
𝑥2 𝑦2 1y 2 2 y 2
𝑥3 𝑦3 1y 3
𝑥4 𝑦4

𝑥 𝐷 0 𝑦𝑖 𝐷𝑦𝑖 𝐷 2 𝑦𝑖 𝐷 3 𝑦𝑖 𝐷 4 𝑦𝑖

𝑥0 𝑦0 𝐷𝑦0 𝐷 2 𝑦0 𝐷 3 𝑦0 𝐷 4 𝑦0
𝑥1 𝑦1 𝐷𝑦1 𝐷 2 𝑦1 𝐷 3 𝑦1
𝑥2 𝑦2 𝐷𝑦2 𝐷 2 𝑦2
𝑥3 𝑦3 𝐷𝑦3
𝑥4 𝑦4

______________________________________________________________________________________________________________ 8 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Interpretação Geométrica

Desde que y i é a inclinação do segmento de reta 𝑃𝑖 𝑃𝑖+1 .


• y i > 0 sugere que 𝑝i,𝑖+1 (𝑥) é crescente no intervalo [𝑥𝑖 , 𝑥𝑖+1 ]
• y i < 0 sugere que 𝑝i,𝑖+1 (𝑥) é decrescente no intervalo [𝑥𝑖 , 𝑥𝑖+1 ]

A Diferença Dividida de ordem 2, 2 yi , é dada por


Δ y i +1 − Δ y i
2 yi =
x i+2 − x i

Como 2 yi é obtido da variação da inclinação no intervalo considerado em 𝑥, 2 yi


informa o comportamento da derivada segunda de 𝑓 no intervalo [𝑥𝑖 , 𝑥𝑖+2 ] (três pontos).
• 2 yi > 0 sugere que 𝑝i,𝑖+2 (𝑥) tem concavidade para cima no intervalo [𝑥𝑖 , 𝑥𝑖+2 ]

• 2 yi < 0 sugere que 𝑝i,𝑖+2 (𝑥) tem concavidade para baixo no intervalo [𝑥𝑖 , 𝑥𝑖+2 ]

Generalizando, a Diferença Dividida de ordem 𝑛, 𝑛 > 0, é dada por:


n −1 y i+1 − n −1 y i
n
 y i =
xi + n − xi

Exemplo 1: Construir a tabela de diferenças divididas a partir da função 𝑓(𝑥) tabelada:


𝑥 -2 -1 0 1 2
𝑓(𝑥) -2 29 30 31 62

Resolução
𝑥 0 yi 1y i 2 yi 3 yi 4 y i
-2 -2 31 -15 5 0
-1 29 1 0 5
0 30 1 15
1 31 31
2 62

______________________________________________________________________________________________________________ 9 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Polinômio

Considere uma função 𝑓(𝑥) contínua definida em 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 𝑛 + 1 pontos distintos e


ordenados de um intervalo [𝑎, 𝑏].

Se alguns pontos consecutivos 𝑥𝑖 , 𝑖 = 0, . . . , 𝑛 pertencem ao polinômio de grau 𝑛 diz-se


que as diferenças divididas para 𝑥 ∈ [𝑥0 , 𝑥𝑛 ] são:
𝑝𝑛 (𝑥) − 𝑝𝑛 (𝑥0 ) 𝑝𝑛 (𝑥) − 𝑦0
y = = (1)
𝑥 − 𝑥0 𝑥 − 𝑥0
y − y 0
2 y = (2)
x − x1

n −1 y − n−1 y 0
n y = (3)
x − x n-1

De (1) tem-se:
pn (x) = y0 + ( x − x 0 ) Δ y (4)

Substituindo y de (2) em (4) tem-se


pn (x) = y0 + ( x − x 0 ) Δ y0 + ( x − x 0 ) ( x − x1 ) Δ 2 y

e assim sucessivamente tem-se:


pn (x) = y0 + ( x − x 0 ) Δ y0 + ( x − x 0 ) ( x − x1 ) Δ 2 y0
+ ( x − x 0 ) ( x − x1) ( x − x 2 ) Δ 3 y0 +  + (5)
+ ( x − x 0 ) ( x − x1 )  ( x − x n -1 ) Δ y0 + En (x)
n

onde En (x) = ( x − x 0 )  ( x − x n ) Δ n +1 y .

Pode-se observar que 𝐸𝑛 (𝑥) pode ser eliminado de (5), pois para qualquer 𝑥𝑖 , 𝑖 = 0, 1, . . . , 𝑛
pertencente a tabela de pontos tem-se 𝐸𝑛 (𝑥𝑖 ) = 0, 𝑖 = 0, 1, . . . , 𝑛 não interferindo no polinômio.

Assim, o Polinômio Interpolador na Forma de Newton é dado por:

pn (x) = y0 + ( x − x 0 ) Δ y0 + ( x − x 0 ) ( x − x1 ) Δ 2 y0
+ ( x − x 0 ) ( x − x1) ( x − x 2 ) Δ 3 y0 +  +
+ ( x − x 0 ) ( x − x1 )  ( x − x n -1 ) Δ n y0

e o erro é dado por En (x) = ( x − x 0 )  ( x − x n ) Δ n +1 y

Observação: Na implementação é conveniente (para diminuir os cálculos) utilizar a fórmula


com parênteses encaixados:
pn(x) = y0 + ( x − x 0 ){Δ y0 + ( x − x1 ) [ Δ 2 y0 + ( x − x 2 ) Δ 3 y0 +  ] }

______________________________________________________________________________________________________________ 10 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Exercícios

1. Usando a forma de Newton, construir o polinômio que interpola 𝑓(𝑥) nos pontos tabelados e
calcular 𝑓(0.3).

𝑥 0 0.2 0.4
𝑓(𝑥) 1 2 4

Resolução
p2 (x) = y0 + ( x − x 0 ) Δ y0 + ( x − x 0 ) ( x − x1 ) Δ 2 y0

𝑥 0 y i 1y i 2 y i 𝑦1 − 𝑦0 2−1


𝐷𝑦0 = = =5
𝑥1 − 𝑥0 0.2 − 0
0 1 5 25/2 𝑦𝑖+1 − 𝑦𝑖
𝐷𝑦𝑖 = ⟶
0.2 2 10 𝑥𝑖+1 − 𝑥𝑖 𝑦2 − 𝑦1 4−2
𝐷𝑦1 = = = 10
0.4 4 { 𝑥2 − 𝑥1 0.4 − 0.2

𝐷𝑦𝑖+1 − 𝐷𝑦𝑖
25 𝐷2 𝑦𝑖 =
𝑝2 (𝑥) = 1 + (𝑥 − 0)(5) + (𝑥 − 0)(𝑥 − 0.2) ( ) 𝑥𝑖+2 − 𝑥𝑖
2
𝐷𝑦1 − 𝐷𝑦𝑜 10 − 5 25
25 2 5 ⟶ 𝐷2 𝑦0 = = =
𝑥 2 − 𝑥0 0.4 − 0 2
𝑝2 (𝑥) = 𝑥 + 𝑥+1
2 2
𝑓(0.3) ≅ 𝑝2 (0.3) = 2.875

2. Usando a forma de Newton, determine o polinômio 𝑝2 (𝑥), que interpola 𝑓(𝑥) nos pontos dados.
Calcule 𝑓 (−0.5) e 𝑓(1.2)

𝑥 -1 0 2
𝑓(𝑥) 4 1 -1

Resolução
p2 (x) = y0 + ( x − x 0 ) Δ y0 + ( x − x 0 ) ( x − x1 ) Δ 2 y0

𝑥 0 y i 1y i 2 y i


-1 4 -3 2/3
0 1 -1
2 -1

2 2 2 7
𝑝2 (𝑥) = 4 + (𝑥 + 1)(−3) + (𝑥 + 1)(𝑥 − 0) ⟹ 𝑝2 (𝑥) = 𝑥 − 𝑥+1
3 3 3
7
𝑓(−0.5) ≅ 𝑝2 (−0.5) = ≅ 2.3333
3
𝑓(1.2) ≅ 𝑝2 (1.2) = −0.8400

______________________________________________________________________________________________________________ 11 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

3. Calcular 𝑓(1) usando o Polinômio Interpolador de Newton de ordem 2 dada a tabela:

𝑥 -1 0 2
𝑓(𝑥) -2 -1 7

Solução: 𝑓(1) ≅ 𝑝2 (1) = 2

4. Determinar o valor de 𝑓(0.35) usando o Polinômio Interpolador de Newton de grau 3 dada a


tabela:
𝑥 0 0.2 0.5 0.8
𝑓(𝑥) 0 0.1987 0.4794 0.7174

Solução: 𝑓(0.35) ≅ 𝑝3 (0.35) = 0.3429

5. Dada a tabela construir o polinômio de interpolação de Newton de 𝑓(𝑥) e calcular 𝑓(0.6).

𝑥 0 0.5 1 1.5
𝑓(𝑥) -1.0 -1.25 -3.0 -6.25

Solução: 𝑓(0.6) ≅ 𝑝3 (0.6) = −1.48

6. Dada a tabela
a) Calcular 𝑓(1.0) usando o Polinômio Interpolador de Newton de grau 2.
b) Dar uma estimativa para o erro.

𝑥 0.5 0.6 0.9 1.2 1.5


𝑓(𝑥) 4.0 3.0 4.5 3.2 4.8

Resolução
𝑥 𝑓(𝑥) = 𝑦 y 2 y 3 y 4 y
0.5 4.0 -10 37.5000 -75.7936 110.9786
0.6 3.0 5 -15.5555 35.1850 ---
1 0.9 4.5 -4.3333 16.1110 --- ---
1.2 3.2 5.3333 --- --- ---
1.5 4.8 --- --- --- ---

1.0 ∈ [0.9 1.2] ⇒ Os pontos escolhidos são:


𝑥0 = 0.9
𝑥1 = 1.2
𝑥2 = 1.5

p 2 (x) = y 0 + ( x − x 0 ) Δ y 0 + ( x − x 0 ) ( x − x 1 ) Δ 2 y 0

______________________________________________________________________________________________________________ 12 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

= 4.5 + (𝑥 − 0.9)(−4.3333) + (𝑥 − 0.9)(𝑥 − 1.2)(16.1110)

∴ 𝑝2 (𝑥) = 16.1111𝑥 2 − 38.1664𝑥 + 25.7999

Logo,
𝑓(1.0) ≅ 𝑝2 (1.0) = 3.7446

b) Estimativa para o Erro (Leitura Complementar)

E 2 ( x)  ( x − x0 )( x − x1 )( x − x 2 ) * max 3 y

|𝐸2 (1.0)| ≅ |(1.0 − 0.9)(1.0 − 1.2)(1.0 − 1.5)| ∗ 𝑚𝑎𝑥{|−75.7936|, |35.1850|}


= |0.0100| ∗ |75.7936|
∴ |𝐸2 (1.0)| ≅ 0.7579

7. Dada a tabela
𝑥 -2 -1 0 1
𝑓(𝑥) 15 0 -1 0

a) Construir a tabela de Diferenças Divididas


b) Determinar o polinômio de interpolação de Newton de grau 3
c) Calcular 𝑓(0.5) e 𝑓(−1.5)

Solução: 𝑝3 (𝑥) = −2𝑥 3 + 𝑥 2 + 2𝑥 − 1


𝑓(0.5) ≅ 𝑝3 (0.5) = 0
𝑓(−1.5) ≅ 𝑝3 (−1.5) = 5

8. Dada a tabela

𝑥 1 4 6 7 9 15
𝑓(𝑥) -39 -1704 -4664 -5601 1 325447

a) Determinar a expressão do polinômio de interpolação de Newton


b) Determine o valor de 𝑓(5)

Solução: 𝑝5 (𝑥) = 𝑥 5 − 8𝑥 4 − 8𝑥 3 − 8𝑥 2 − 8𝑥 − 8
𝑓(5) ≅ 𝑝5 (5) = −3123

______________________________________________________________________________________________________________ 13 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Polinômio Interpolador de Newton-Gregory

No caso em que os pontos da interpolação 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 são igualmente espaçados, pode-


se usar a forma de Newton-Gregory para obter 𝑝𝑛 (𝑥).

Definição: Seja 𝑓(𝑥) uma função contínua no intervalo [𝑎, 𝑏] e sejam 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 os n+1 pontos
de [𝑎, 𝑏] que se sucedem com passo ℎ, isto é, 𝑥𝑗 = 𝑥0 + 𝑗ℎ. Define-se Operador de
Diferenças Finitas (Ordinárias) a sequência:
Δ0 𝑦𝑖 = 𝑦𝑖
Δ𝑦𝑖 = 𝑦𝑖+1 − 𝑦𝑖
Δ2 𝑦𝑖 = Δ𝑦𝑖+1 − Δ𝑦𝑖

Δn 𝑦𝑖 = Δn−1 𝑦𝑖+1 − Δn−1 𝑦𝑖

Conhecido 𝑓(𝑥) e seus valores em 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 , pode-se construir uma tabela de diferenças


ordinárias:

𝑥 Δ0 𝑦𝑖 Δ1 𝑦𝑖 Δ2 𝑦𝑖 Δ3 𝑦𝑖 ⋯
𝑥0 𝑦0 Δ1 𝑦0 Δ2 𝑦0 Δ3 𝑦0 ⋯

𝑥1 𝑦1 Δ1 𝑦1 Δ2 𝑦1 ⋮

𝑥2 𝑦2 Δ1 𝑦2 ⋮

𝑥3 𝑦3 ⋮
⋮ ⋮

Exemplo 2: Construir a tabela de diferenças ordinárias da função 𝑓(𝑥)a partir da tabela:

𝑥 -1 0 1 2
𝑓(𝑥) = 𝑦 1 2 3 -1

Resolução:

𝑥 Δ0 𝑦𝑖 Δ1 𝑦𝑖 Δ2 𝑦𝑖 Δ3 𝑦𝑖
-1 1 1 0 -5
0 2 1 -5
1 3 -4
2 -1

Comparando Δ𝑦𝑖 com y i tem-se:

______________________________________________________________________________________________________________ 14 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

yi+1 − yi Δyi
yi = =
xi+1 − xi xi+1 − xi

Como os pontos são equidistantes tem-se 𝑥𝑖+1 − 𝑥𝑖 = ℎ. Logo,


Δyi
yi =
h
Analogamente,
Δyi+1 Δyi
yi+1 − yi − Δ 2 yi
 yi =
2
= h h ⇒ 2 yi =
xi+ 2 − xi 2h 2h2

Calculando 3yi tem-se

2yi+1 2yi

2yi+1 − 2yi 2h 2
3
2h 2 = Δ y i
3 yi = =
xi+3 − xi 3h 6h3
Logo,
Δ3 y i
3yi =
3! h3

Generalizando:
Δn y i
n yi =
n!hn

Assim, supondo o 𝑥𝑖 ′𝑠 igualmente espaçados de h, podem-se substituir as Diferenças


Divididas na Forma de Newton pelas Diferenças Finitas, obtendo:
Δ𝑦0 Δ2 𝑦0 Δn 𝑦0
𝑝𝑛 (𝑥) = 𝑦0 + (𝑥 − 𝑥0 ) + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) + ⋯ + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥𝑛−1 )
ℎ 2!ℎ2 𝑛!ℎ𝑛

Este polinômio é conhecido como Polinômio Interpolador na Forma de Newton Gregory.

O polinômio interpolador de Newton-Gregory pode ser simplificado utilizando-se uma


mudança de variável:
𝑥 − 𝑥0
𝑠= ⇒ 𝑥 = 𝑠ℎ + 𝑥0

e como os pontos são equidistantes, 𝑥𝑗 = 𝑥0 + 𝑗ℎ, tem-se
𝑥 − 𝑥𝑗 = ℎ(𝑠 − 𝑗)
Portanto, o Polinômio Interpolador de Newton Gregory pode ser escrito como:
Δ2 𝑦0 Δ𝑛 𝑦0
𝑝𝑛 (𝑠) = 𝑦0 + 𝑠Δ𝑦0 + 𝑠(𝑠 − 1) + ⋯ + 𝑠(𝑠 − 1) … (𝑠 − 𝑛 + 1)
2! 𝑛!
com
𝑥 − 𝑥0
𝑠=

______________________________________________________________________________________________________________ 15 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Exercícios

1. Obtenha a expressão do Polinômio Interpolador de Newton Gregory e determine 𝑓(5)


considerando os pontos tabelados:
𝑥 0 2 4 6
𝑓(𝑥) 1 3 2 5

Resolução
𝑥 y=𝛥0 𝑦𝑖 𝛥1 𝑦𝑖 𝛥2 𝑦𝑖 𝛥3 𝑦𝑖
0 1 2 -3 7
2 3 -1 4
4 2 3
6 5

Δy0 Δ2 y0 Δ3 y0
p3 (x) = y0 + (x − x0 ) + (x − x0 )(x − x1 ) + (x − x 0 )(x − x 1 )(x − x 2 )
h 2! h2 3! h3
2 (−3) (7)
= 1 + (𝑥 − 0) + (𝑥 − 0)(𝑥 − 2) + (𝑥 − 0)(𝑥 − 2)(𝑥 − 4)
2 2∗4 6∗8
1 7𝑥 3 5𝑥 2 35𝑥
𝑝3 (𝑥) = (7𝑥 3 − 60𝑥 2 + 140𝑥 + 48) = − + +1
48 48 4 12

123
𝑓(5) ≅ 𝑝3 (5) = = 2.5625
48

2. Determine o polinômio de interpolação de Newton-Gregory para a função tabelada e calcule


𝑓(0.5).
𝑥 -2 -1 0 1
𝑓(𝑥) 4 3 1 -1

Resolução
𝑥 Δ0 yi Δ1 yi Δ2 yi Δ3 yi
-2 4 -1 -1 1
-1 3 -2 0
0 1 -2
1 -1
𝛥𝑦0 𝛥2 𝑦0 𝛥3 𝑦0
a) 𝑝3 (𝑥) = 𝑦0 + (𝑥 − 𝑥0 ) + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )
ℎ 2!ℎ 2 3!ℎ3

(-1) (-1) 1
= 4 + (𝑥 + 2) + (𝑥 + 2)(𝑥 + 1) 2 + (𝑥 + 2)(𝑥 + 1)(𝑥 + 0)
1 2(1) 6(1)3
1
𝑝3 (𝑥) = [𝑥 3 − 13𝑥 + 6]
6

⟹ 𝑓(0.5) ≅ 𝑝3 (0.5) = −0.0625

______________________________________________________________________________________________________________ 16 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

𝛥2 𝑦0 𝛥3 𝑦0
b) 𝑝3 (𝑠) = 𝑦0 + 𝑠𝛥𝑦0 + 𝑠(𝑠 − 1) + 𝑠(𝑠 − 1)(𝑠 − 2)
2! 3!

(−1) 1
= 4 + 𝑠(−1) + 𝑠(𝑠 − 1) + 𝑠(𝑠 − 1)(𝑠 − 2)
2 6
1 3
𝑝3 (𝑠) = [𝑠 − 6𝑠2 − 𝑠 + 24
6

𝑥 − 𝑥0 0.5 − (−2)
𝑠= = = 2.5
ℎ 1

𝑝3 (2.5) = −0.0625

3. Dada a tabela calcule 𝑓(0.67) utilizando Newton-Gregory.


𝑥 0.1 0.4 0.7 1
𝑓(𝑥) = 𝑐𝑜𝑠(𝑥) 0.9950 0.9211 0.7648 0.5403

Solução: 𝑓(0.67) ≅ 0.7833

4. Calcule 𝑓(0.5) utilizando Newton Gregory e a tabela:


𝑥 -1 0 1 2
𝑓(𝑥) 3 1 -1 0

Solução: 𝑓(0.5) ≅ −0.1875

5. Determine o polinômio interpolador de Newton-Gregory da função tabelada e avalie 𝑓(0.35).


𝑥 0.1 0.2 0.3 0.4
𝑓(𝑥) 1.01 1.05 1.12 1.23

Solução: 𝑝3 (𝑠) = 0.00017𝑠3 + 0.0099𝑠2 + 0.0284𝑠 + 1.01


𝑓(0.35) ≅ 𝑝3 (1.5) = 1.1694

______________________________________________________________________________________________________________ 17 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Comparação entre os métodos de interpolação

No quadro a seguir é mostrado o número de operações efetuadas quando são empregadas


as fórmulas de interpolação para um conjunto de 𝑚 pontos.

Nº de Nº de
Nº de Adições Total
Multiplicações Divisões
𝑚2 − 𝑚 3𝑚2 + 5𝑚 − 10
Newton 𝑚2 + 𝑚 − 2 2𝑚 − 3
2 2
Newton 𝑚2 + 3𝑚 − 4 𝑚2 + 9𝑚 − 12
2𝑚 − 3 𝑚−1
Gregory 2 2
Fonte: BARROSO, L. C. et all. Cálculo Numérico (com aplicações) 2. Ed., São Paulo, Harbra, 1987

Assim, em relação ao número de operações tem-se que o Método de Newton Gregory é


melhor, seguido do Método de Newton e por último o Método de Lagrange.

Como exemplo, considerando 𝑚 = 4 pontos tem-se:

Nº de Nº de Nº de
Total
Adições Multiplicações Divisões
Newton 18 5 6 29
Newton Gregory 12 5 3 20

______________________________________________________________________________________________________________ 18 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

LEITURA COMPLEMENTAR

Estudo do erro na Interpolação

Embora o polinômio interpolador 𝑝(𝑥) coincida com a função nos pontos de interpolação,
𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 , espera-se que 𝑝(𝑥̄ ) ≅ 𝑓(𝑥̄ ) para 𝑥̄ ≠ 𝑥𝑖 , 𝑖 = 0,1, . . . , 𝑛, ou seja, estimando 𝑓(𝑥) pelo
polinômio interpolador comete-se um erro nesta aproximação dado por:
𝐸(𝑥̄ ) = 𝑓(𝑥̄ ) − 𝑝𝑛 (𝑥̄ )

Teorema: Resto de Lagrange


Seja 𝑓(𝑥) uma função definida em 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 , 𝑛 + 1 pontos distintos e ordenados de
um intervalo [𝑎, 𝑏] e 𝑛 + 1 vezes diferenciável. Se 𝑝(𝑥) interpola 𝑓(𝑥) nesses pontos,
então o erro cometido 𝐸(𝑥) é dado por:
𝑓 (𝑛+1) (𝜉𝑥 )
𝐸𝑛 (𝑥) = 𝑓(𝑥) − 𝑝𝑛 (𝑥) = (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) ⋯ (𝑥 − 𝑥𝑛 )
(𝑛 + 1)!
em que 𝜉𝑥 ∈ (𝑥0 , 𝑥𝑛 ).

Observa-se que, ao aproximarmos 𝑓(𝑥) por um polinômio de interpolação de grau ≤ 𝑛, o


erro cometido está relacionado com a derivada de ordem 𝑛 + 1 de 𝑓(𝑥).

Limitante Superior para o erro

Na expressão do erro, (𝐸𝑛 (𝑥)), o parâmetro 𝜉𝑥 nunca é conhecido no intervalo [𝑥0 , 𝑥𝑛 ] e,


portanto, não é possível calcular o valor numérico de 𝑓 (𝑛+1) (𝜉).

Desta forma, a estimativa para o erro é dada por:


𝑀𝑛+1
|𝐸𝑛 (𝑥 )| = |𝑓 (𝑥 ) − 𝑝𝑛 (𝑥 )| ≤ |(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ). . . (𝑥 − 𝑥𝑛 )|
(𝑛 + 1)!
em que 𝑀𝑛+1 = max |𝑓 (𝑛+1) (𝑥 )|.
𝑥∈[𝑥0 ,𝑥𝑛 ]

Se os pontos são igualmente espaçados, 𝑥1 − 𝑥0 = 𝑥2 − 𝑥1 = ⋯ = 𝑥𝑛 − 𝑥𝑛−1 = ℎ, então


ℎ𝑛+1 𝑀𝑛+1
|𝑓 (𝑥 ) − 𝑝𝑛 (𝑥 )| < .
4(𝑛 + 1)

Observe que o majorante acima independe do ponto 𝑥 considerado, 𝑥 ∈ [𝑥0 , 𝑥𝑛 ].

______________________________________________________________________________________________________________ 19 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Exemplo 3: Seja 𝑓(𝑥) = 𝑒 𝑥 + 𝑥 − 1 tabelada a seguir.


Obter 𝑓(0.7) por interpolação linear (grau 1) e um Limite Superior para o erro.

𝑥 0 0.5 1.0 1.5


𝑓(𝑥) 0.0 1.1487 2.7183 4.9811

Resolução

𝑝1 (𝑥) = 𝑦0 + (𝑥 − 𝑥0 ) 1y 0

𝑥 = 0.7 ∈ (0.5, 1), então 𝑥0 = 0.5 e 𝑥1 = 1


2.7183 − 1.1487
𝑝1 (𝑥) = 1.1487 + (𝑥 − 0.5) ( ) = 1.1487 + (𝑥 − 0.5)(3.1392)
1 − 0.5
𝑝1 (0.7) = 1.7765

Erro exato:
|𝐸1 (0.7)| = |𝑓(0.7) − 𝑝1 (0.7)| = |1.7138 − 1.7765| = |−0.0627| = 0.0627

Limite Superior: em 𝑥 = 0.7


𝑀2
𝒂) |𝐸1 (0.7)| ≤ |(0.7 − 0.5)(0.7 − 1)|
2
com 𝑀2 = max |𝑓´´(𝑥)|
𝑥 ∈ [0.5, 1]

𝑓´´(𝑥) = 𝑒 𝑥 , como 𝑒 0.5 = 1.6487 e 𝑒 1 = 2.7183


2.7183
|𝐸1 (0.7)| ≤ |(0.7 − 0.5)(0.7 − 1)| = 0.0815
2
Portanto, |𝐸1 (0.7)| ≤ 0.0815.

ℎ𝑛+1 𝑀𝑛+1 ℎ2 𝑀2 (0.5)2 2.7183


𝒃) |𝐸1 (0.7)| < = = = 0.0849
4(𝑛 + 1) 4(2) 8

______________________________________________________________________________________________________________ 20 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli
____________________________________________________________________________________________________________________

Estimativa para o erro

Se a função 𝑓(𝑥) é dada na forma de tabela, o valor absoluto do erro |𝐸𝑛 (𝑥 )| só pode ser
estimado, pois não é possível calcular 𝑀𝑛+1 . Entretanto, se a tabela de diferenças divididas for
construída até ordem n+1, pode-se usar o maior valor (em módulo) destas diferenças como uma
𝑀𝑛+1
aproximação para ( no intervalo [𝑥0 , 𝑥𝑛 ].
𝑛+1)!

Neste caso,

|𝐸𝑛 (𝑥 )| ≅ |(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) ⋯ (𝑥 − 𝑥𝑛 )|* max n + 1y i

Exemplo 4: Dada a tabela, obter 𝑓(0.47) usando um polinômio de grau 2 e estimar o erro.

𝑥 0.2 0.34 0.4 0.52 0.6


𝑓(𝑥) 0.16 0.22 0.27 0.29 0.32

Resolução

𝑥 𝒚𝒊 1y i 2 y i 3 y i 4 y i


0.2 0.16 0.4286 2.0235 –17.8963 90.3643

0.34 0.22 0.8333 –3.7033 18.2494

𝑥0 = 0.4 0.27 0.1667 1.0415

𝑥1 = 0.52 0.29 0.375

𝑥2 = 0.6 0.32

Deve-se escolher 3 pontos de interpolação.


Como 0.47 ∈ (0.4, 0.52), 2 pontos deverão ser considerados: 0.4 e 0.52.
O outro pode ser tanto 0.34 como 0.6.
São escolhidos 𝑥0 = 0.4, 𝑥1 = 0.52 e 𝑥2 = 0.6.

 1y i +(𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) 2 y i


𝑝2 (𝑥) = 𝑦0 + (𝑥 − 𝑥0 ) 

= 0.27 + (𝑥 − 0.4)0.1667 + (𝑥 − 0.4)(𝑥 − 0.52)(1.0415)

a) 𝑓(0.47) ≅ 𝑝2 (0.47) = 0.2780

b) |𝐸(0.47)| ≅ |(0.47 − 0.4)(0.47 − 0.52)(0.47 − 0.6)| ∗ |18.2492| ≅ 8.303𝑥10−3

______________________________________________________________________________________________________________ 21 / 21
Métodos Numéricos Computacionais
Profa. Márcia Zanoli

Você também pode gostar