Você está na página 1de 14

aula 4 - unidade 3

Interpolação polinomial

Introdução

Interpolação é o processo de obter uma aproximação da função 𝑓(𝑥) a partir de um


conjunto discreto de certos pontos (chamados de nós de interpolação) dentro de um
intervalo. Esta função 𝑓(𝑥) pode ser uma função da qual não dispomos de sua forma
analítica ou que ela tenha uma forma analítica considerada muito complexa.

x y
x0 y0
x1 y1
x2 y2
... ...
xn yn
O gráfico a seguir mostra a “população, em mil habitantes, em uma cidade” (y) nos anos
(x) de 1980 a 2010. Qual o valor aproximado da população em 2003, ou seja, o valor de
y(2003)?

População
Ano
(em mil)

1980 620

1990 850

2000 1600

2010 2200

Para responder à pergunta, precisamos ajustar algum modelo matemático aos pontos
mostrados no gráfico e algum desses modelos poderiam ser

modelo linear 𝑦(𝑡) = 𝑚∙𝑡 + 𝑏

modelo exponencial 𝑦(𝑡) = 𝑎∙𝑒 𝑚∙𝑡

modelo quadrática 𝑦(𝑡) = 𝑎∙𝑡 2 + 𝑏∙𝑡 + 𝑐

Interpolação vs extrapolação

Obter a população em 𝑡 = 2003 ∈ [1980 ; 2010] → seria uma interpolação

Obter a população em 𝑡 = 2030 ∉ [1980 ; 2010] → seria uma extrapolação.


Polinômio interpolador

Na interpolação polinomial são usadas apenas polinômios (de grau no máximo 𝑛) para
aproximar a função 𝑦 = 𝑓(𝑥)

𝑦 = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + ⋯ + 𝑎2 𝑥 2 + 𝑎1 𝑥 + 𝑎0

• A preferência em usar polinômios é que eles conseguem representar


satisfatoriamente as funções que surgem no dia a dia e suas derivadas e integrais
são muito fáceis de serem calculadas

• O polinômio interpolador é determinado pelos coeficientes 𝑎𝑛 , 𝑎𝑛−1 , … , 𝑎1 , 𝑎0


obtidos ao resolver um sistema linear.

• Para reduzir a quantidade de operações envolvidas na resolução do sistema


linear, são sugeridos utilizar métodos mais eficientes como, por exemplo, o
método de Lagrange, método de Newton e método de Gregory-Newton.
Interpolação linear

Sejam dois pontos distintos (𝑥0 , 𝑦0 ) e (𝑥1 , 𝑦1 ) de uma função 𝑓(𝑥) um


polinômio interpolador linear para aproximar f(x) é da forma

𝑃1 (𝑥) = 𝑎0 + 𝑎1 𝑥 … (1)

onde, os coeficientes 𝑎0 e 𝑎1 são obtidos resolvendo um sistema linear com os


pontos (xi, yi) substituídos em (1)

𝑎0 + 𝑎1 𝑥0 = 𝑦0 1 𝑥0 𝑎0 𝑦0
{ [ ] ∙ [𝑎 ] = [𝑦 ] → 𝐴𝑥 = 𝑏
𝑎0 + 𝑎1 𝑥1 = 𝑦1 → 1 𝑥1 1 1

O sistema linear acima tem solução única, já que temos


𝑑𝑒𝑡(𝐴) ≠ 0

lembre-se de que os
𝐝𝐞𝐭(𝑨) = (𝟏 ⋅ 𝒙𝟏 ) − (𝟏 ⋅ 𝒙𝟎 ) = 𝒙𝟏 − 𝒙𝟎 ≠ 𝟎
pontos x´s são distintos
EXEMPLO 1 - Dados os pontos (0.52 , 0.5) e (1.57 , 1) da função f(x) = sen(x)
determine o valor aproximado de seno de 50 graus usando um polinômio linear.

solução -------------------------------------------------------------------------------------------------------

𝑎0 + 𝑎1 ∙ 0.52 = 0.5 1 0.52 𝑎0 0.5


{ ↔ [ ] ∙ [𝑎 ] = [ ]
𝑎0 + 𝑎1 ∙ 1.57 = 1 1 1.57 1 1

Isolando a0 na primeira equação


a0 = 0.5 – 0.52·a1
que substituído na segunda equação
0.5 – 0.52·a1 + 1.57·a1 = 1
é obtido a1 = 0.476
e após voltar na primeira equação, temos a0 = 0.252

Portanto, o polinômio obtido é


𝑃1 (𝑥) = 0.252 + 0.476𝑥

Sabendo que 50 graus é 0.87 rad, o valor estimado de f(0.87) é

1800 --- 𝜋 rad


500 --- x rad 𝑓(0.87) ≈ 𝑃1 (0,87) = 0.252 + 0.476 ∙ (0.87) = 0.67
x = 0.87 rad
Erros na interpolação

Os resultados do método são afetados por dois tipos de erros:


a) Erros de arredondamentos 𝐸𝐴 cometidos nos arredondamentos durante a
execução das operações.
b) Erros de truncamento 𝐸𝑇 cometidos, quando se utiliza a fórmula do polinômio
interpolador.

O erro de truncamento 𝐸𝑇 (𝑥) cometido no


ponto 𝑥̃ dado por

𝐸𝑇 (𝒙
̃) = 𝑉𝑒𝑥𝑎𝑡𝑜 − 𝑉𝑎𝑝𝑟𝑜𝑥 = 𝑓(𝒙
̃) − 𝑃1 (𝒙
̃)

Repare que o tamanho do erro depende do valor da localização do ponto 𝑥̃, sendo zero,
quando coincidir com 𝑥0 e 𝑥1 . Assim podemos reescrever o 𝐸𝑇 (𝒙
̃) como

𝐸𝑇 (𝒙
̃) = 𝐻(𝒙
̃ − 𝑥0 )(𝒙
̃ − 𝑥1 )

onde H é uma constante a ser obtida. É possível demonstrar que esta constante é
𝑓 ′′ (𝜀)
𝐻= , 𝜀 ∈ [𝑥0 ; 𝑥1 ]
2!
Assim, o erro de truncamento é
𝒇′′ (𝜺)
𝐸𝑇 (𝒙
̃) = (𝒙
̃ − 𝑥0 )(𝒙
̃ − 𝑥1 ) ⋅ 𝜀 ∈ [𝑥0 ; 𝑥1 ] … (2)
2!

̃ pode ser obtido considerando


O maior erro de truncamento na interpolação no ponto 𝒙
′′
o valor de 𝜀 que maximiza o módulo da função |𝑓 (𝜀)| no intervalo [𝑥0 , 𝑥1 ]
Interpolação quadrática

Dados três pontos distintos (𝑥0 , 𝑦0 ), (𝑥1 , 𝑦1 ) e (𝑥2 , 𝑦2 ) da função 𝑓(𝑥), um


polinômio quadrático que aproxima a função 𝑓(𝑥) é da forma

𝑃2 (𝑥) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 … (3)

onde, os coeficientes 𝑎0 , 𝑎1 e 𝑎2 devem ser determinados substituindo os pontos em (3)


e resolvendo o sistema linear.

𝑎0 + 𝑎1 𝑥0 + 𝑎2 𝑥02 = 𝑦0 1 𝑥0 𝑥02 𝑎0 𝑦0
2
{𝑎0 + 𝑎1 𝑥1 + 𝑎2 𝑥1 = 𝑦1 → [1 𝑥1 𝑥1 ] ∙ [𝑎1 ] = [𝑦1 ] → 𝐴𝑥 = 𝑏
2

𝑎0 + 𝑎1 𝑥2 + 𝑎2 𝑥22 = 𝑦2 1 𝑥2 𝑥22 𝑎2 𝑦2

A matriz dos coeficientes A é chamada de Matriz das Potências ou Matriz de


Vandermonde, cujo determinante é calculado como

det(𝐴) = (𝑥0 − 𝑥1 )(𝑥0 − 𝑥2 )(𝑥1 − 𝑥2 ) = ∏ (𝑥𝑖 − 𝑥𝑗 )


0≤ 𝑖 < 𝑗 ≤ 𝑛

Como os pontos x´s dados são distintos, temos det (𝑋) ≠ 0 e, dessa forma, o sistema
linear terá solução única.

OBS:
A matriz de Vandermonde é uma matriz em que os termos de cada coluna estão
em progressão geométrica.
Matriz de Vandermonde

A matriz de Vandermonde usando os valores x = {2, 4, 0, 3} é

1 2 22 23 1 2 4 8
𝑉 = [1 4 42 3
4 ] = [1 4 16 64
]
1 0 02 03 1 0 0 0
1 3 32 33 1 3 9 27

cujo determinante é
det(𝑉) = (2 − 4)(2 − 0)(2 − 3)(4 − 0)(4 − 3)(0 − 3) = −96

Erro de truncamento

O erro de truncamento do interpolador quadrático no ponto interpolado 𝑥̃ é

𝑓 ′′′ (𝜀)
𝐸𝑇 (𝒙
̃) = (𝒙
̃ − 𝑥0 )(𝒙
̃ − 𝑥1 )(𝒙
̃ − 𝑥2 ) ⋅ 𝜀 ∈ [𝑥0 ; 𝑥2 ] … (4)
3!

Generalizando
Para um polinômio interpolador de grau no máximo 𝑛, o erro de truncamento é

𝑓 (𝑛+1) (𝜀)
𝐸𝑇 (𝒙
̃) = (𝒙
̃ − 𝑥0 )(𝒙
̃ − 𝑥1 ) … (𝒙
̃ − 𝑥𝑛 ) ⋅ … (5)
(𝑛 + 1)!

̃ pode ser obtido considerando


O maior erro de truncamento na interpolação no ponto 𝒙
o valor de 𝜀 que maximiza o módulo da função |𝑓 (𝑛+1) (𝜀)| no intervalo [𝑥0 , 𝑥𝑛 ]
EXEMPLO 2 - Seja a função 𝑓(𝑥) com os três pontos dados na tabela a seguir.

𝑥 𝑦
0 -2
1.2 -0.32
1.4 0.52

a) Calcule o valor aproximado da função 𝑓(𝑥) no ponto x = 0.8 usando o


polinômio interpolador quadrático.
b) Sabendo que a função real f(x) é 𝑓 (𝑥) = 2𝑥 2 − 𝑥 − 2, calcule o maior erro
de truncamento em (b) usando a fórmula de ET.

solução ----------------------------------------------------------------------------------------------
a). 𝑃2 (𝑥) = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2

𝑎0 + 0𝑎1 + 02 𝑎2 = −2 1 0 02 𝑎0 −2
{𝑎0 + 1.2𝑎1 + 1.22 𝑎2 = −0.32 → [1 2 ] ∙ [𝑎1 ] = [−0.32]
1.2 1.2
𝑎0 + 1.4𝑎1 + 1.42 𝑎2 = 0.52 1 1.4 1.42 𝑎2 0.52

Agora, basta resolver o sistema linear acima para encontrar a0, a1 e a2. Usando o método
de escalonamento de Gauss na matriz aumentada

1 0 0 −2 𝑜𝑝𝑒𝑟𝑎çõ𝑒𝑠 1 0 0 −2
𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑎𝑟𝑒𝑠
[1 1.2 1.44 −0.32] → [0 1 0 −1]
1 1.4 1.96 0.52 0 0 1 2

A solução do sistema é 𝑎0 = −2, 𝑎1 = −1, 𝑎2 = 2 e 𝑓(𝑥) ≈ 𝑃2 (𝑥) = −2 − 𝑥 + 2𝑥 2


𝑓(0.8) ≈ 𝑃2 (0.8) = −2 − (0.8) + 2(0.8)2 = −1.52

b). Se f(x)= 2x2 - x - 2, então f’(x) = 4x -1, f’’(x) = 4 e f’’’(x) = 0, o erro de truncamento
será igual a zero. Veja que o polinômio quadrático é IGUAL ao f(x).

0
𝐸𝑇 (𝟎. 𝟖) = (𝟎. 𝟖 − 0)(𝟎. 𝟖 − 1.2)(𝟎. 𝟖 − 1.4) ⋅ =0
6
EXEMPLO 3 - Dados três pontos (0.52, 0.5), (1.57, 1) e (1.92, 0.94) da função
𝑓(𝑥) = 𝑠𝑒𝑛 (𝑥)

a). Aproxime a função f(x) por um polinômio quadrático;


b). Determine o valor aproximado de sen(500);
c). Determine o erro de truncamento cometido em (b) usando a fórmula ET?

solução ----------------------------------------------------------------------------------------------------
a)
f(x)  P2(x) = -0.125 + 1.44x -0.46x2

# No Octave
A = [1, 0.52, 0.52^2 ; 1, 1.57, 1.57^2 ; 1, 1.92, 1.92^2]
b = [0.5 ; 1; 0.94]
M = [A b]
rref(M) # escalonamento Gauss-Jordan

b) 500 = 0.87 rad → f(500) = f(0.87)  P2(0.87) = 0.779965

c) Erro de truncamento
𝑓′′′(𝜀)
𝐸𝑇 (𝒙) = (𝒙 − 𝑥0 )(𝒙 − 𝑥1 )(𝒙 − 𝑥2 ) ⋅ ( )
3!

𝑓 (𝑥) = 𝑠𝑒𝑛(𝑥) → 𝑓 ′ = cos(𝑥) → 𝑓 ′′ = −𝑠𝑒𝑛(𝑥) → 𝑓 ′′′ (𝑥) = −cos (𝑥)

−cos(𝜀)
𝐸𝑇 (𝟎. 𝟖𝟕) = (𝟎. 𝟖𝟕 − 0.52)(𝟎. 𝟖𝟕 − 1.57)(𝟎. 𝟖𝟕 − 1.92) ⋅ ( )
3!

Como não sabemos o valor exato de 𝜀, o maior valor de ao interpolar em x = 0.87 é


obtido maximizando o módulo |𝑓 ′′′ (𝜀)| = cos(𝜀) no intervalo (x0, x2) = (0.52, 1.92)

Esboçando o gráfico de cosseno, vemos que, no intervalo (0.52, 1.92), o cosseno é


máximo no ponto x = 0.52

cos(0.52)
|𝐸𝑇 (𝟎. 𝟖𝟕)| ≤ |(𝟎. 𝟖𝟕 − 0.52)(𝟎. 𝟖𝟕 − 1.57)(𝟎. 𝟖𝟕 − 1.92) ⋅ ( )| = 0.037
6
Gráfico de cosseno no intervalo (0.52 , 1.92)

0.52 1.92
2
EXEMPLO 4 - Determine a função interpoladora quadrática que se aproxima da
função f(x) usando três pontos no intervalo 𝑥 = [0 ; 0.78] igualmente espaçados

2𝑠𝑒𝑛2 (𝑥) valores de x em


𝑓(𝑥) =
𝑥+1 radianos (rad)

solução --------------------------------------------------------------------------------------------------------
RESPOSTA: 𝑃2 (𝑥) = 0.45𝑥 2 + 0.37𝑥
EXEMPLO 5 - Considerando a população (em mil) de uma cidade nos anos de 1980 a
2010, dê o valor aproximado da população em 2003 usando:

a). um interpolador linear;


b). um interpolador quadrático.

População
Ano
(em mil)
1980 620
1990 850
2000 1600
2010 2200
EXEMPLO 6 - A função f(x) apresenta o gráfico abaixo no intervalo de –1 a +1.

a) Dê uma aproximação para o valor 𝑓(0.7) usando um interpolador de grau 6 (use


alguma ferramenta computacional para resolver o sistema linear);
b) Encontre a raiz da função f(x) no intervalo [0.4, 0.8], usando um polinômio linear;
c) Encontre a raiz da função f(x) no intervalo [0, 0.8], usando um polinômio
quadrático (você irá precisar de três pontos (x, y) )

Você também pode gostar