| | | |

Matemática numérica I

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

5.1 Interpolação polinomial

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

p⁢(x)=p1⁢xn−1+p2⁢xn−2
+⋯+pn−1⁢x+pn (5.4)

tal que

yi=p⁢(xi), (5.5)

para todo i=1,2,…,n.

Das condições (5.4), temos

p1⁢x1n−1+p2⁢x1n−2+⋯+pn=y1 (5.6)
p1⁢x2n−1+p2⁢x2n−2+⋯+pn=y2 (5.7)
⋮
p1⁢xnn−1+p2⁢xnn−2+⋯+pn=yn. (5.8)

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

A⁢𝒑=𝒚, (5.9)

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

A=[x1n−1x1n−2…x11x2n−1x2n−2…x21⋮⋮⋮⋮⋮xnn−1xnn−2…xn1], (5.10)

𝒑=(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)=p1⁢x2+p2⁢x+p3. (5.11)

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

A=[x12x11x22x21x32x31]. (5.12)

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

p⁢(x)=−1.25⁢x2+0.75⁢x+1. (5.13)

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)}.


−1,6¯⁢x2+1.5⁢x+2.1⁢6¯
E. 5.1.2.

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


0.58⁢3¯⁢x3−1.25⁢x2+0.1⁢6¯⁢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)}.


−0.26190476⁢x4+1.10714286⁢x3−0.98809524⁢x2−0.35714286⁢x+1

.

E. 5.1.4.

Considere a matriz de Vandermonde V=[𝒙n−j]j=1n, com 𝒙=(x1,x2,…,xn), sendo xi=(i−1)⁢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?


n κ⁢(V)
5 1.03⁢e+4
10 2.57⁢e+7
100 9.11⁢e+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.


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


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
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.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |