Tamanho atual da fonte:

Introdução

O método de interpolação descrito nessa seção foi desenvolvido por Joseph Louis de Lagrange, motivo pelo qual o método é conhecido por Interpolação de Lagrange.

Antes de apresentarmos a fórmula geral e para ilustrar bem como funciona o cálculo do Polinômio Interpolador de Lagrange vamos considerar os seguintes pontos $(x_i,y_i)$, $i = 0,\dots, 2$: $$ (-1;3), (2;6), (4;-2). $$ O único polinômio de grau 2 que passa exatamente por todos esses pontos é $-x^2+2x+6$.

A técnica de Lagrange fornece uma alternativa de como calcular esse mesmo polinômio que passa pelos três pontos utilizando três funções distintas (que também são polinômios), uma função $L_i(x)$ correspondente a cada ponto ($x_i,y_i)$, as quais possuem características bem definidas.

Essas funções são denominadas de polinômios de Lagrange $L_i(x$), e são calculadas da seguinte forma:

$$L_i(x) = \frac{(x-x_0)(x-x_1)...(x-x_{i+1})(x-x_n)}{(x_i-x_0)(x_i-x_1)...(x_i-x_{i+1})(x_i-x_n)}$$
Observe que o termo abaixo referente ao índice $i$, $$ \frac{(x-x_i)}{(x_i - x_i)}, $$ não aparece multiplicando o lado direito de $L_i(x)$ (isso faria com que o denominador fosse igual a zero).
Calculando o $L_0(x)$ obtemos o primeiro polinômio referente ao primeiro ponto.
$$L_0(x) = \frac{(x-2)(x-4)}{(-1-2)(-1-4)} = \frac{1}{15}{(x-2)(x-4)}$$
Perceba que ao substituirmos o $x$ do polinômio $L_0(x)$ pelo $x_0$ do nosso primeiro ponto obtemos o valor 1, ou seja, $L_0(1) = 1$, e ao substiruir o $x$ pelos $x$ dos outros pontos, $x_1 = 2$ e $x_2 = 4$, obtemos o valor zero, $L_0(2) = 0$ e $L_0(4) = 0$. Com isso, concluímos que os valores $x=2$ e $x=4$ são raízes do polinômio $L_0(x)$. Essas são as características que os polinômios de Lagrange devem possuir.

Dessa forma, para $(x_i,y_i)$, o polinômio $L_i(x)$ deve obedecer:
  1. $L_i(x_i) = 1 $
  2. $ L_i(x) = 0 \text{ para } x \neq x_i$.

Agora, vamos continuar com os cálculos para a obtenção do polinômio interpolador de Lagrange calculando o $L_1(x)$ para o ponto $(2,6)$ e o $L_2(x)$ para o ponto $(4,2)$:
$$L_1(x) = \frac{(x+1)(x-4)}{(2+1)(2-4)} = \frac{-1}{6}{(x+1)(x-4)}$$
$$L_2(x) = \frac{(x+1)(x-2)}{(4+1)(4-2)} = \frac{1}{10}{(x+1)(x-2)}$$
Veja que os polinômios $L_1(x)$ e $L_2(x)$ também obedecem às condições 1 e 2 mostradas para o primeiro ponto.

Concluído o cálculo dos polinônios $L_0(x)$, $L_1(x)$ e $L_2(x)$, devemos por fim encontrar um novo polinônio que passará exatamente por todos os três pontos e este será o Polinômio Interpolador de Lagrange que denotaremos por $P_n(x)$, onde o $n$ representará o grau do polinônio encontrado. A fórmula geral é: $$ P_n(x) = \sum_{i=0}^n y_i L_i(x). $$ Estendendo a fórmula para o nosso exemplo em que temos um polinômio de grau $n = 2$ e $n + 1$ pontos, ou seja, $3$ pontos. Temos:
$$ \begin{aligned} P_2(x) = &\, y_0\frac{(x - x_1)(x - x_2)}{(x_0 - x_1)(x_0 - x_2)} \\ &+ y_1\frac{(x - x_0)(x - x_2)}{(x_1 - x_0)(x_1 - x_2)} \\ &+ y_2\frac{(x - x_0)(x - x_1)}{(x_2 - x_0)(x_2 - x_1)}. \end{aligned} $$
Como solução do nosso exemplo, concluímos que o polinômio interpolador que passar exatemente pelos pontos $(-1,3) \ (2,6) \ (4,-2)$ é:
$$ \begin{aligned} P_2(x) = &\; 3\frac{1}{15}{(x-2)(x-4)} \\ &+ 6\frac{-1}{6}{(x+1)(x-4)} \\ &- 2\frac{1}{10}{(x+1)(x-2)}, \end{aligned} $$
ou, $$ P_2(x) = -x^2+2x+6. $$ Perceba que ao se calcular o produto $y_iL_i(x_i)$ temos como resultado o valor de $ P_n(x_i) = y_i $ no ponto $x_i$, isso nos assegura que o polinômio $P_n(x)$ passa exatamente pelo ponto $(x_i,y_i)$.

Como já foi mostrado anteriormente, uma das condições que o polinômio $L_i(x)$ deve obedecer é que $L_i(x_i) = 1$, logo, quando multiplicamos isso pelo $y_i$ temos como resultado o próprio valor de $y_i$. Quando $L_i(x_i) = 1$ for satisfeito para algum dos pontos, os outros termos de $P_n(x)$ serão iguais a zero. Isso se dá devido à segunda condição que $L_i(x_i)$ deve obedecer, essa condição trata os outros pontos analisados como raízes do polinômio.

Veja a ilustração que mostra o raciocínio por trás dos polinômios de Lagrange. A figura abaixo mostra o caso do exemplo feito anteriormente. Podemos ver cada um dos três termos da equação passando por um dos pontos dados e tendo valor zero nos outros pontos. Podemos ver também a soma dos três termos que resultou em um polinômio de segundo grau que passa exatamente por todos os três pontos.



Exemplo 1

Usando o método de Lagrange, encontre o polinômio interpolador que passa pelos quatro pontos da tabela abaixo:

${x}$ ${y}$
${1.3}$ ${3.2}$
${1.8}$ ${4.3}$
${2.6}$ ${0.5}$
${3.9}$ ${-1.7}$

Solução:
$$L_0 = \frac{(x-x_1)(x-x_2)(x-x_3)}{(x_0-x_1)(x_0-x_2)(x_0-x_3)} $$
$$L_1 = \frac{(x-x_0)(x-x_2)(x-x_3)}{(x_1-x_0)(x_1-x_2)(x_1-x_3)}$$
$$L_2 = \frac{(x-x_0)(x-x_1)(x-x_3)}{(x_2-x_0)(x_2-x_1)(x_2-x_3)}$$
$$L_3 = \frac{(x-x_0)(x-x_1)(x-x_2)}{(x_3-x_0)(x_3-x_1)(x_3-x_2)}$$
$$P_3(x) = y_0L_0 + y_1L_1 + y_2L_2 + y_3L_3$$

Substituindo os valores, teremos
$$L_0 = \frac{(x-1.8)(x-2.6)(x-3.9)}{(1.3-1.8)(1.3-2.6)(1.3-3.9)}$$
$$L_1 = \frac{(x-1.3)(x-2.6)(x-3.9)}{(1.8-1.3)(1.8-2.6)(1.8-3.9)}$$
$$L_2 = \frac{(x-1.3)(x-1.8)(x-3.9)}{(2.6-1.3)(2.6-1.8)(2.6-3.9)}$$
$$L_3 = \frac{(x-1.3)(x-1.8)(x-2.6)}{(3.9-1.3)(3.9-1.8)(3.9-2.6)}$$
$$P_3(x) = 3.2L_0 + 4.3L_1 + 0.5L_2 + (-1.7)L_3$$
Uma forma de conferir se a interpolação está correta é verificar se os quatro pontos dados pertencem ao polinômio $P_3(x)$. Por exemplo, se calcularmos $P_3(1.3)$, então a resposta tem que ser $3.2$ e assim por diante. Plotando a função obtida acima, temos o seguinte:



Podemos observar que o polinômio interpolador passa por todos os pontos dados.


Exemplo 2

Considere os pontos da tabela e encontre o melhor polinômio de Lagrange de segundo grau para estimar (interpolar) $f(4.5)$:

${x}$ ${y}$
${1}$ ${0.000}$
${2}$ ${0.6931}$
${3.5}$ ${1.2528}$
${5}$ ${1.6094}$
${7}$ ${1.9459}$

Solução:

Como iremos fazer uma interpolação para encontrar um polinômio de grau $2$, devemos escolher $n + 1$ pontos. Sendo $n = 2$ (grau do polinômio), devemos escolher os $3$ melhores pontos para calcular $f(4.5)$.

Ao analisar a tabela, podemos ver que os 3 valores mais proximos de $x$ são: $3.5, 5$ e $7$.
Observe que poderíamos utilizar o $x=2$ também, pois ele se encontra na mesma distância $(2.5)$ de $7$, em relação a $4.5$. Então, se fizermos tanto com $x=2$ quanto com $x=7$, o resultado final será compatível.

Para calcular o polinômio, precisaremos dos valores de $x$ e $y$ de cada um dos três pontos, conforme tabela à seguir:

${x}$ ${y}$
${3.5}$ ${1.2528}$
${5}$ ${1.6094}$
${7}$ ${1.9459}$

Neste exemplo, precisamos encontrar o polinômio de segundo grau que passa por 3 pontos. Então, precisamos determinar três polinômios de Lagrange:
$$L_0 = \frac{(x-5)(x-7)}{(3.5-5)(3.5-7)},$$
$$L_1 = \frac{(x-3.5)(x-7)}{(5-3.5)(5-7)},$$
$$L_2 = \frac{(x-3.5)(x-5)}{(7-3.5)(7-5)},$$
$$P_2(x) = (1.2528)L_0 + (1.6094)L_1 + (1.9459)L_2.$$
Ao substituir $x$ por $4.5$ em $P_2(x)$, obtemos $f(4.5) \approx P_2(4.5) = 1.5005$. Abaixo ilustra-se o resultado obtido:



Exemplo 3

Considerando a tabela onde estão representados alguns pontos da função $f(x) = \sqrt[3]{x}$, determine o valor aproximado de $0.5^{3}$.

${x}$ ${f(x)}$
${0}$ ${0}$
${0.008}$ ${0.2}$
${0.064}$ ${0.4}$
${0.216}$ ${0.6}$
${0.512}$ ${0.8}$

Solução:

Note inicialmente que interpolar entre pontos da tabela fornece estimativas para $\sqrt[3]{x}$. No entando, estamos interessados numa estimativa da função $x^3$ para $x = 0.5$. Perceba que $x^3$ é a função inversa de $\sqrt[3]{x}$.

Dessa forma teremos que fazer uma interpolação reversa, ou seja, em vez de utilizar os valores de $x$ para escrever o polinômio, utilizaremos os valores de $y$.

Então, vamos calcular um polinômio de grau $3$ usando os $4$ valores de $y$ mais proximos de $0.5$ e seus correspondes em $x$. Fazendo a escolha dos melhores pontos, teremos:

${y}$ ${x}$
${0.2}$ ${0.008}$
${0.4}$ ${0.064}$
${0.6}$ ${0.216}$
${0.8}$ ${0.512}$
Com os melhores pontos escolhidos, já podemos fazer a interpolação:
$$L_0 = \frac{(y-y_1)(y-y_2)(y-y_3)}{(y_0-y_1)(y_0-y_2)(y_0-y_3)}$$
$$L_1 = \frac{(y-y_0)(y-y_2)(y-y_3)}{(y_1-y_0)(y_1-y_2)(y_1-y_3)}$$
$$L_2 = \frac{(y-y_0)(y-y_1)(y-y_3)}{(y_2-y_0)(y_2-y_1)(y_2-y_3)}$$
$$L_3 = \frac{(y-y_0)(y-y_1)(y-y_2)}{(y_3-y_0)(y_3-y_1)(y_3-y_2)}$$
$$y = x_0L_0 + x_1L_1 + x_2L_2 + x_3L_3$$
Substituindo os valores de $x$ e $y$ ficaremos com
$$L_0 = \frac{(y-0.4)(y-0.6)(y-0.8)}{(0.2-0.4)(0.2-0.6)(0.2-0.8)}$$
$$L_1 = \frac{(y-0.2)(y-0.6)(y-0.8)}{(0.4-0.2)(0.4-0.6)(0.4-0.8)}$$
$$L_2 = \frac{(y-0.2)(y-0.4)(y-0.8)}{(0.6-0.2)(0.6-0.4)(0.6-0.8)}$$
$$L_3 = \frac{(y-0.2)(y-0.4)(y-0.6)}{(0.8-0.2)(0.8-0.4)(0.8-0.6)}$$
$$x = (0.008)L_0 + (0.064)L_1 + (0.216)L_2 + (0.512)L_3$$
Fazendo $y = 0.5$, teremos que $x = 0.125$. Ilustrando o resultado obtido:



Problemas com a interpolação de Lagrange

A interpolação de Lagrange tem um inconveniente: se tivermos feito essa interpolação para obter um polinômio interpolador para $n$ pontos e se quiséssemos acrescentar mais um ponto para melhorar a aproximação, por exemplo, teríamos que calcular o polinômio praticamente do zero.

Esse problema é solucionado com a interpolação de Newton, que veremos a seguir.

Exemplo com Geogebra

Considerando a tabela abaixo contendo 5 pontos, encontre um polinômio de grau 3 usando o método de Lagrange para estimar f(5)


${y}$ ${x}$
${0.84}$ ${0.64}$
${3.46}$ ${3.2}$
${6}$ ${-1}$
${9}$ ${4}$
${13}$ ${2.2}$

Solução:


Algoritmo para implementação computacional

Implementação Scilab

Exercícios - Interpolação de Lagrange

Enunciado