| | | | |

5.1 Interpolação Polinomial

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

Dado um conjunto de n pontos {(xi,yi)}i=1n, o problema de interpolação consiste em encontrar o polinômio4646endnote: 46Chamado de polinômio interpolador. de grau n1

p(x) =p1xn1+p2xn2 (5.4)
++pn1x+pn

tal que

yi=p(xi), (5.5)

para todo i=1,2,,n.

Das condições (5.4), temos

p1x1n1+p2x1n2++pn=y1 (5.6)
p1x2n1+p2x2n2++pn=y2
p1xnn1+p2xnn2++pn=yn.

Isto é, os coeficientes do polinômio interpolador (5.4) satisfazem o sistema linear

A𝒑=𝒚, (5.7)

onde A é a matriz de Vandermonde4747endnote: 47Alexandre-Théophile Vandermonde, 1735 - 1796, matemático francês. Fonte: Wikipédia: Alexandre-Theóphile Vandermonde.

A=[x1n1x1n2x11x2n1x2n2x21xnn1xnn2xn1], (5.8)

𝒑=(p1,p2,,pn) é o vetor das incógnitas e 𝒚=(y1,y2,,yn) é o vetor dos termos constantes.

Exemplo 5.1.1.

Consideramos o problema de encontrar o polinômio interpolador do conjunto de pontos {(1,1),(0,1),(1,1/2)}. Como temos 3 pontos, o polinômio tem grau 2 e pode ser escrito na forma

p(x)=p1x2+p2x+p3. (5.9)

Seguindo a abordagem acima, temos 𝒑=(p1,p2,p3), 𝒙=(1,0,1), 𝒚=(1,1,1/2) e

A=[x12x11x22x21x32x31]. (5.10)

Então, resolvendo A𝒑=𝒚, obtemos o polinômio interpolador

p(x)=1.25x2+0.75x+1. (5.11)

A Figura 5.1 mostra os esboços do polinômio interpolador p(x) e dos pontos dados.

Refer to caption
Figura 5.1: Polinômio interpolador referente ao Exemplo 5.1.1.
Código 12: poliInterp.py
1import numpy as np
2import numpy.linalg as npla
3
4def poliInterp(x, y):
5  # num. pts
6  n = x.size
7  # Vandermonde
8  A = np.empty((n,n))
9  for j in range(n):
10    A[:,j] = x**(n-1-j)
11  # coefs
12  p = npla.solve(A, y)
13  return p
14
15# exemplo
16x = np.array([-1., 0, 1])
17y = np.array([-1., 1, 1/2])
18
19# poli interp
20p = poliInterp(x, y)
21
22# verificação
23print(np.polyval(p, x))

5.1.1 Exercícios

E. 5.1.1.

Obtenha o polinômio interpolador do conjunto de pontos {(1,1), (0.5,1), (1,2)}.

Resposta.
1,6¯x2+1.5x+2.16¯
E. 5.1.2.

Obtenha o polinômio interpolador do conjunto de pontos {(1,1), (0,1), (1,1/2), (2,1)}.

Resposta.
0.583¯x31.25x2+0.16¯x+1

.

E. 5.1.3.

Obtenha o polinômio interpolador do conjunto de pontos {(1,1), (0,1), (1,1/2), (2,1), (2.5,1)}.

Resposta.
0.26190476x4+1.10714286x30.98809524x20.35714286x+1

.

E. 5.1.4.

Considere a matriz de Vandermonde V=[𝒙nj]j=1n, com 𝒙=(x1,x2,,xn), sendo xi=(i1)h, h=0.1 e i=1,2,,n. Compute o número de condicionamento de V para n=5,10,100. De que forma os resultados obtidos impactam no problema de interpolação polinomial?

Resposta.
n κ(V)
5 1.03e+4
10 2.57e+7
100 9.11e+109
E. 5.1.5.

Aproxime a função f(x)=cos(x) por um polinômio interpolador p no intervalo [0,π]. Escolhas pontos nesse intervalo de forma a obter p que aproxime f com boa precisão.

Resposta.

Dica: use os pontos xi=(i1)π4, i=1,2,3,4.


Envie seu comentário

As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!