Comentários

0%

NÃO PODE FALTAR

Interpolação

Ricardo Puziol de Oliveira

lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dignissim euismod urna tincidunt sagittis. Vivamus id vehicula eros, non scelerisque eros.

Fonte: Shutterstock.

Deseja ouvir este material?

Áudio disponível no material digital.

Praticar para aprender

Caro aluno, nesta seção iremos entender o conceito de interpolação polinomial, que consiste em aproximar uma função usando polinômios. Para isso, dois métodos serão considerados: o método de Lagrange e o método de Newton. A vantagem do uso da interpolação polinomial, por exemplo, é que se uma dada função com forma complexa puder ser aproximada por um polinômio, então o nosso trabalho na modelagem facilita bastante, pois os polinômios são mais flexíveis para se trabalhar.
Como exemplo do uso do polinômio interpolador, considere a situação em que você precisa modelar o lucro trimestral de sua empresa. Como, em geral, a curva do lucro é complexa, você pode utilizar o polinômio de Lagrange para aproximá-la e fazer a previsão do lucro. Uma alternativa a isso são os métodos estatísticos que serão trabalhados posteriormente em outras seções.
Em determinada empresa de solventes químicos, deseja-se achar uma forma mais eficiente de trabalhar com a demanda dos produtos. Pensando nisso, a empresa resolveu ajustar o modelo que descrevia a demanda usando um polinômio interpolador a partir método de Lagrange. No entanto, nenhum dos funcionários tinha conhecimento sobre como fazer isso. Devido a essa carência, a empresa então lhe contratou para resolver o problema. Sabendo que os pontos de demanda eram baseados nos pontos , foi lhe requisitado a equação do polinômio interpolar que passava por esses pontos a fim de entender como estava funcionando a demanda da empresa. Dessa forma, você deveria apresentar a solução passo a passo de como foi encontrado tal polinômio sem o uso de métodos computacionais.
Que tal começar esse entendimento agora? Você será acompanhado em todo o processo! Iniciaremos com os conceitos fundamentais de interpolação polinomial. Em seguida, trabalharemos com métodos de interpolação, especialmente o mais popular, que é o de Newton! 

conceito-chave

Anteriormente, exploramos os conceitos relativos a erros e encontrar soluções de fx=0 a partir de métodos iterativos. Agora, o nosso foco será encontrar um polinômio que aproxima a função fx, chamado de polinômio interpolador. Para começar nossos trabalhos neste tópico, vamos supor que que temos n + 1 pontos distintos x0, x1, . . . , xn, que iremos chamar de “nós”, e que os pontos y0, y1, . . . , yn foram obtidos por meio de alguma função f desconhecida, isto é, yi = fxi, i = 0, 1, . . . , n. Queremos, então, conhecer ou estimar fxr para algum valor xr que não seja necessariamente tabelado. Um modo de fazer isso é interpolar f por uma função polinomial, uma vez que, em geral, temos conhecimento apenas dos pares de pontos xi, fxi e não da expressão de f em si.
Inicialmente, então, vamos verificar a questão da existência do polinômio interpolador. Isto é, dados os n + 1 pontos x0, fx0, x1, fx1, . . . , xn, fxn, onde x0, x1, . . . , xn são n + 1 pontos distintos. Nosso objetivo é encontrar uma função polinomial pnx, de grau máximo n, que satisfaça:
fxi= pnxi, i = 0, 1, . . . , n.
Como pnx tem a forma
pnx = anxn + an1xn1+ · · · + a1x +a0,
então fxi se transforma em:
anx0n+an1x0n1++a1x0=fx0anxnn+an1xnn1++a1xn=fxn
Com base nos conceitos de Álgebra Linear, podemos reescrever o sistema anterior em forma de matriz como:
1x0x0n1xnxnna0an=fx0fxn
Em que A=1x0x0n1xnxnn é a matriz, tal que detA0, pois os pontos x0, x1, . . . , xn são distintos e A é necessariamente uma matriz de Vandermonde. Desse modo, o sistema linear em questão admite uma única solução a0, a1, . . . , an. Em outras palavras, existe apenas um polinômio pnx = anxn + an1xn1 + · · · + a1x + a0 de grau menor ou igual a n que interpola a função f. Esse polinômio é chamado de polinômio interpolador.

Assimile

Matematicamente, uma matriz é dita matriz de Vandermonde se todos os termos de cada uma de suas linhas formam uma progressão geométrica.

Assim, podemos enunciar o seguinte resultado (ANDRADE, 2012):
Teorema: Dados x0, x1, . . . , xn pontos distintos, existe um único polinômio pnx, de grau máximo n, que interpola f nos pontos xi, fxi, i = 0, . . . , n.
Existem diversos métodos para encontrar o polinômio interpolador, no entanto, nesta seção, iremos trabalhar com dois desses métodos: (i) o método de Lagrange e (ii) o método de Newton.
Iniciemos, então, com o método de Lagrange. Para esse método, vamos considerar dados n + 1 pontos distintos x0, x1, . . . , xnyi = fxi, i = 0, 1, . . . , n. Para cada k = 0, 1, . . . , n seja:
Lkx=x  x0x  x1. . . x  xk1x  xk+1. . . x  xnxk x0xk x1. . . xk xk1xk xk+1. . . xk xn
Ou resumidamente,
Lkx=i=0,iknxxixkxi, k=0,1,, n.
É fácil notar que:

  1. Lkxk = 1,
  2. Lkxj= 0,  jk,
  3. Lkx é um polinômio de grau n.

Com isso, temos o seguinte resultado:
Teorema (Lagrange): Sejam x0, x1, . . . , xn pontos distintos  e yi = fxii = 0, 1, . . . , n dados. Então, existe um polinômio i = 0, 1, . . . , n de grau menor ou igual a pnx que interpola f nesses pontos. Além disso, pnx é dado por:
pnx = y0L0x + y1L1x + · · · + ynLnx,
onde:
Lkx=i=0,iknxxixkxi, k=0,1,, n.

Exemplificando

Vamos colocar em prática o método de Lagrange para encontrar o polinômio que interpola os pontos xk, yk= 1,0, 0,1, 1,2, 2,7. Assim, pelo método de Lagrange, obtemos:
L0x=xx1xx2xx3x0x1x0x2x0x3=xx1x26
L1x=xx0xx2xx3x1x0x1x2x1x3=x+1x1x22
L2x=xx0xx1xx3x2x0x2x1x2x3=x+1xx22
L3x=xx0xx1xx2x3x0x3x1x3x2=x+1xx16
Portanto, segue que o polinômio interpolador, segundo o método de Lagrange, é dado por px= y0L0x+ y1L1x+y2L2x+ y3L3x=23x3+13x+1.

E como estimamos o erro com base no método de Lagrange? Vamos considerar n + 1 nós distintos x0, x1,. . . , xn no intervalo a, bf:a, b   de uma função. Então, para cada x  a, b existe ξxa, b, tal que:
fx= pnx+fn+1ξxn + 1!x  x0x  x1· · · x  xn.
Assim, o erro para o polinômio de Lagrange é dado pela diferença |f(x)pn(x)|.
Dessa forma, encerramos as questões teóricas do método de Lagrange. Mas, para encerrar o conteúdo do método de Lagrange, vamos escrever um código que pode ser utilizado no software Maple para encontrarmos o polinômio interpolador de Lagrange (ANDRADE, 2012).

> restart;
> interpoLa := proc(pts) local i, j, k, polin, gr1, gr2, ‘check arguments’;
> if type(pts, ‘list’) = false then
ERROR(‘o argumento deve ser uma lista de pontos do R^2’) fi;
> ‘check arguments’ := (pt) -> if type(pt, ‘list’) = false or nops(pt) <> 2 then
ERROR(‘o argumento não é um ponto do R^2’, pt) else pt fi;
> map(‘check arguments’, pts);
> polin := sort(expand(sum(product((x-pts[j][1])/(pts[i][1]-pts[j][1]), j = 1..i-1) * product((x-pts[k][1])/(pts[i][1]-pts[k][1]), k= i+1...nops(pts)) * pts[i][2], i =1..nops(pts))),x);
print(polin);	
> gr1 := plot(polin, x = 0..pts[nops(pts)][1];
> gr2 := plot(pts, style = point, symbol = circle, color = blue);
> plots[display]({gr1, gr2});
>end:
# Exemplo
interpoLa([[0,5], [1,3], [2,1], [3,3], [4,-3]])

Esse código transcreve exatamente o método de Lagrange aplicado no Exemplificando dado anteriormente. Mas note que o método de Lagrange ainda apresenta uma problemática grande quando adicionamos um ponto xn+1, yn+1 no sistema. Por quê? Note que ao usar esse método, adicionar um novo ponto implica que devemos recalcular todos os polinômios Lkx, i =0, 1, . . . , n + 1. Como resolver essa questão? Bem, trabalhamos com o método de Newton (ou método das diferenças divididas).
No método de Newton para o polinômio interpolador, ele é obtido a partir de uma construção recursiva utilizando um operador que chamamos de operador das diferenças divididas. Assim, para encontrar o polinômio interpolador pnx que interpola f nos pontos x0, x1, . . . , xn pelo método de Newton, utilizamos (ANDRADE, 2012):
fx0 = fx0, ordem zero
fx0, x1=fx1 fx0x1 x0=fx1 fx0x1 x0, ordem 1
fx0, x1, x2=fx1, x2 fx0, x1x2 x0, ordem 2
fx0, x1, x2, x3=fx1, x2, x3 fx0, x1, x2x3 x0, ordem 3
fx0, x1, x2, x3,  , xn=fx1, x2, x3, , xn fx0, x1, x2, , xn1xn x0, ordem n
Chamamos fx0, x1, x2, . . . , xk de diferença dividida de ordem k entre os k + 1 pontos x0, x1, x2, . . . , xk. Um ponto importante que podemos destacar é que as diferenças divididas fx0, x1, x2, . . . , xk são funções simétricas nos seus argumentos (ANDRADE, 2012). Com base nesse operador, podemos construir a seguinte tabela de diferenças divididas para o método de Newton:

Lorem ipsum Lorem ipsum Column 3 Column 4
xk fxk fxk,xk+1 fxk,xk+1,xk+2 fxk,xk+1,xk+2,xk+3
x0 fx0
fx0,x1
x1 fx1 fx0,x1,x2
fx1,x2 fx0,x1,x2,x3
x2 fx2 fx1,x2,x3
fx2,x3
x3 fx3

Ou, no caso geral,

Lorem ipsum Lorem ipsum Column 3 Column 4
xk ORDEM 0 ORDEM 1 ... ORDEM N
x0 fx0
fx0,x1
x1 fx1 fx0,x1,x2
fx0,x1,,xn
fxn2,xn1,xn
fxn1,xn
xn fx3

Bom, agora que sabemos como funciona o operador de diferenças divididas, vamos trabalhar com a construção do polinômio pnx que interpola fx nos pontos x0, x1, x2, . . . , xn segundo o método de Newton. Começando com o polinômio que interpola fx em x = x0 e assim sucessivamente, construiremos pkx, que interpola fx em x0, x1, x2, . . . , xk, k=1, , n. Assim, seja então p0x o polinômio de grau zero, que interpola fxem x = x0, tal que p0x = fx0. Nesse caso, para xx0x  a, b, temos que:
fx0, x=fx fx0x  x0=fx fx0x  x0,
tal que:
fx= fx0+ x  x0fx0, x,
onde p0x=fx0. Então, chamaremos E0x=fxp0x de erro ao se aproximar fx por p0x. Agora, seja p1x o polinômio de grau menor do que 1 que interpola fx em x0x1. Temos que:
fx0, x1,x=fx,x0 fx1, x0x  x1=fx fx0xx0fx1,x0xx0x  x1,
tal que:
fx= fx0+xx0fx1,x0+ x  x0xx1fx0,x1 x,
onde p1x= fx0+xx0fx1,x0. Então, chamaremos E1x=fxp1x de erro cometido ao se aproximar fx por p1x. De modo geral, repetindo o procedimento anterior n vezes, obtemos:
fx=fx0++xx0xxn1fx0,, xn+xx0xxnfx0,,xn, x, onde pnx=fx0+xx0fx0,x1++xx0xxn1fx0,, xnEnx=xx0xxnfx0,,xn, x são o erro cometido ao se aproximar fx por pnx

Assimile

A forma de Newton para o polinômio pnx que interpola fx em  pontos distintos é dada por pnx= d0 + d1x  x0+  · · · + dnx  x0 · · · x  xn1, onde dk são as diferenças divididas de ordem k dadas por dk=fx0, x1, x2, . . . , xk. Além disso, se f é n + 1 vezes diferenciável no intervalo a, b que contém os pontos xi, o erro Enx é dado por Enx=fxpnx=x  x0x  x1x  xnfx0, x1, . . . , xn, x (ANDRADE, 2012).

Exemplificando

Vamos colocar em prática o método de Newton para encontrar o polinômio interpolador nos pontos xk, yk= 1,0, 0,1, 1,2, 2,7. Assim, pelo método de Newton, obtemos:

Lorem ipsum Lorem ipsum Column 3 Column 4
xk ORDEM 0 ORDEM 1 ORDEM 2 ORDEM 3

-1

0
100(1)=1

0

1 20(1(1))1(1(1))(10)=0
1 23
1 2 2
5
2 7

Dessa maneira, o polinômio interpolador é dado por:

p3x=d0+d1xx0+d2xx0xx1+d3xx0xx1xx2

=x+1+23x+1xx1

Reflita

Pensando no método de Lagrange e no método de Newton, qual dos dois trazem uma aproximação mais concisa de fx? Em qual deles o erro cometido é menor? Na prática, qual é mais viável usar? Pense sobre essas questões, especialmente em âmbito de custo computacional de tempo de processamento.

Por fim, é válido ressaltar que os erros de interpolação são fundamentais, especialmente quando trabalhamos com modelagem. Em qualquer trabalho que envolva aproximação numérica, sempre estamos buscando pelo menor erro possível e a magnitude desse erro nos traz a versatilidade do nosso modelo. Pensando nesse aspecto, em métodos numéricos, existe um conceito chamado fenômeno Runge que consiste em dizer que o erro é menor na zona central do intervalo e maior nos extremos. Para evitar esse fenômeno, podemos considerar pontos não igualmente espaçados juntamente com polinômios ortonormais, splines ou aproximação por mínimos quadrados.
Com isso, finalizamos a nossa seção sobre polinômio interpolador, que é um dos objetos fundamentais quando trabalhamos aproximações numéricas.

Faça valer a pena

Questão 1

Interpolação de polinômios é baseada em métodos numéricos simples que nos traz diversas informações sobre a função em questão. Dentre os métodos de interpolação, destacam-se dois deles: o método de Lagrange e o método de Newton.
Sobre o método de Lagrange, assinale o que for correto.

Tente novamente...

Esta alternativa está incorreta, leia novamente a questão e reflita sobre o conteúdo para tentar outra vez.

Tente novamente...

Esta alternativa está incorreta, leia novamente a questão e reflita sobre o conteúdo para tentar outra vez.

Tente novamente...

Esta alternativa está incorreta, leia novamente a questão e reflita sobre o conteúdo para tentar outra vez.

Tente novamente...

Esta alternativa está incorreta, leia novamente a questão e reflita sobre o conteúdo para tentar outra vez.

Correto!

No método de Lagrange, para cada k = 0, 1, . . . , n seja:
Lkx=x  x0x  x1. . . x  xk1x  xk+1. . . x  xnxk x0xk x1. . . xk xk1xk xk+1. . . xk xn
Ou resumidamente,
Lkx=i=0,iknxxixkxi, k=0,1,, n.
É fácil notar que:
a. Lkxk = 1.,
b. Lkxj= 0,  jk,
c. Lkx é um polinômio de grau n.

Questão 2

Uma das grandes desvantagens do método de Lagrange é que a adição de mais um ponto nos obriga a realizar todos os cálculos dos novos polinômios L, o que pode ser um grande problema caso tenhamos muitos pontos. Porém, usando o método de Newton, não temos esse problema.
A respeito do método de Newton, assinale o que for correto.

Correto!

Pela própria definição do método de Newton, concluímos que para o polinômio interpolador, com diferenças divididas, podemos acrescentar ou retirar pontos, uma vez que esse método faz uma construção recursiva simples utilizando um operador de diferença dividida.

Questão 3

Quando trabalhamos com interpolação polinomial, devemos ter em mente que, em geral, não melhoramos a precisão aumentando a quantidade de pontos ou nós e, portanto, aumentando o grau do polinômio interpolador. Nesses aspectos, temos grandes perdas na aproximação quando se trata dos extremos do intervalo. Esse fenômeno é chamado de fenômeno Runge.
Sobre o fenômeno Runge, assinale o que for correto.

Correto!

Em geral, o fenômeno Runge pode ser simplesmente definido como: o erro é menor na zona central do intervalo e maior nos extremos. Para evitar esse fenômeno, podemos considerar pontos não igualmente espaçados juntamente com polinômios ortogonais, splines ou aproximação por mínimos quadrados.

Referências

ANDRADE, D. Cálculo numérico. In: NOTAS de aula. [S. l.], 2012.
FERNANDES, D. B. Cálculo Numérico. São Paulo: Editora Pearson, 2015.
FRANCO, N. B. Cálculo Numérico. São Paulo: Editora Pearson, 2006.
LOPES, Á. P.; COSTA, M. J. S. Comparação entre métodos de aproximação numérica utilizando o programa MATLAB. Revista Margens Interdisciplinar, v. 11, n. 17, p. 14, 2018. Disponível em: https://periodicos.ufpa.br/index.php/revistamargens/article/view/5447. Acesso em: 23 jun. 2021.
VALLE, M. E. MS211 - Cálculo Numérico Aula 15 – Interpolação Polinomial. [s. d.]. Campinas: Unicamp. Disponível em: https://www.ime.unicamp.br/~valle/Teaching/MS211/Aula15.pdf. Acesso em: 26 mar. 2021.

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!