Buscar

Unidade 3 - Interpolacao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 140 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 140 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 140 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Métodos Numéricos Prof. Mário Duarte 206 
 
 
3.1 – Introdução 
 Interpolar uma função f(x) consiste em aproximar essa função por outra função g(x), escolhida 
entre uma classe de funções conhecidas que satisfaça algumas propriedades. 
 A função g(x) é então usada em substituição à função f(x). 
 A necessidade de se efetuar esta substituição pode surgir em decorrência de: 
(a) desconhecimento funcional existente entre os valores de um conjunto. 
(b) mesmo conhecendo algum relacionamento funcional, a função em estudo tem uma expressão 
complexa tal que operações como a diferenciação e a integração são difíceis de serem 
realizadas. 
(c) necessidade de obter um valor intermediário que não consta de uma tabela. 
 Dados experimentais, tabelas estatísticas e de funções complexas são exemplos desta situação. 
 O conceito de interpolação não é importante somente na obtenção de valores intermediários em 
tabelas. Ele é fundamental em outras áreas, como por exemplo, integração numérica, cálculo de raízes 
de equações e soluções de equações diferenciais ordinárias. 
Unidade 3 – Interpolação 
Métodos Numéricos Prof. Mário Duarte 207 
 Consideremos (𝑛 + 1) pontos distintos: 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 chamados nós da interpolação, e os 
valores de f(x) nesses pontos: 𝑓(𝑥0) , 𝑓(𝑥1) , ⋯ , 𝑓(𝑥𝑛). 
 A forma de interpolação de f(x) que veremos a seguir consiste em se obter uma determinada função 
g(x) tal que: 
{
 
 
 
 
𝑔(𝑥0) = 𝑓(𝑥0)
𝑔(𝑥1) = 𝑓(𝑥1)
𝑔(𝑥2) = 𝑓(𝑥2)
⋮ ⋮
𝑔(𝑥𝑛) = 𝑓(𝑥𝑛)
 
Graficamente, se n = 5 
 
Figura 3.1 – Interpretação gráfica da interpolação com n = 5. 
Métodos Numéricos Prof. Mário Duarte 208 
 Seja a Tabela 3.1 a seguir: 
Tabela 3.1 – Dados para interpolação. 
x 0,1 0,6 0,8 
y 1,221 3,320 4,953 
 
 O problema consiste em encontrar o valor correspondente de y, dado um x não pertencente à 
tabela. 
 Um modo de resolver este problema é obter uma função que relaciona as variáveis x e y. 
 Considerando que os polinômios são as mais simples das funções conhecidas, então eles são os 
mais utilizados para determinar esta relação. 
 Neste texto consideraremos que g(x) pertence à classe das funções polinomiais. 
 Um polinômio construído para interpolar uma função é denominado polinômio interpolador. 
 Existem vários métodos para construir um polinômio interpolador a partir de um conjunto de pares 
(x , y). 
 O esquema mais simples, em termos conceituais, envolve a solução de um sistema de equações 
lineares. 
Métodos Numéricos Prof. Mário Duarte 209 
3.2 – Polinômios Interpoladores 
 Dados os pontos (𝑥0 , 𝑦0) , (𝑥1 , 𝑦1) , ⋯ , (𝑥𝑛 , 𝑦𝑛) , portanto (n + 1) pontos, queremos 
aproximar f(x) por um polinômio 𝑝𝑛(𝑥), de grau menor ou igual a n, tal que: 
𝑓(𝑥𝑘) = 𝑦𝑘 = 𝑝𝑛(𝑥𝑘) , 𝑘 = 0 , 1 , 2 , ⋯ , 𝑛 
 
Teorema 3.1 
Existe um único polinômio 𝑝𝑛(𝑥), de grau  n, tal que: 𝑝𝑛(𝑥𝑘) = 𝑓(𝑥𝑘) = 𝑦𝑘 = , 𝑘 = 0 , 1 , 2 , ⋯ , 𝑛 , 
desde que 𝑥𝑘 ≠ 𝑥𝑘+1. 
Representaremos 𝑝𝑛(𝑥) por: 
 𝑝𝑛(𝑥) = 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥
2 +⋯+ 𝑎𝑛𝑥
𝑛 
 
Portanto, obter 𝑝𝑛(𝑥) significa obter os coeficientes 𝑎0 , 𝑎1 , ⋯ , 𝑎𝑛 . 
 
 
Métodos Numéricos Prof. Mário Duarte 210 
Da condição 𝑝𝑛(𝑥𝑘) = 𝑓(𝑥𝑘) = 𝑦𝑘 ∀ 𝑘 = 0 , 1 , 2 , ⋯ , 𝑛 montamos o seguinte sistema linear: 
{
 
 
𝑎0 + 𝑎1𝑥0 + 𝑎2𝑥0
2 + ⋯ + 𝑎𝑛𝑥0
𝑛 = 𝑦0
𝑎0 + 𝑎1𝑥1 + 𝑎2𝑥1
2 + ⋯ + 𝑎𝑛𝑥1
𝑛 = 𝑦1
⋮ ⋮ ⋮ ⋮ ⋮
𝑎0 + 𝑎1𝑥𝑛 + 𝑎2𝑥𝑛
2 + ⋯ + 𝑎𝑛𝑥𝑛
𝑛 = 𝑦𝑛
 
com (𝑛 + 1) equações e (𝑛 + 1) variáveis: 𝑎0 , 𝑎1 , ⋯ , 𝑎𝑛 . 
 A matriz A dos coeficientes é: 
[
 
 
 
1 𝑥0 𝑥0
2 ⋯ 𝑥0
𝑛
1 𝑥1 𝑥1
2 ⋯ 𝑥1
𝑛
⋮ ⋮ ⋮ ⋱ ⋮
1 𝑥𝑛 𝑥𝑛
2 ⋯ 𝑥𝑛
𝑛]
 
 
 
 
 
que é uma matriz de Vandermonde e, portanto, desde que 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 sejam PONTOS 
DISTINTOS, temos det (A)  0 e, então, o sistema linear admite solução única. 
 O polinômio pn(x) que interpola f(x) em x0, x1, ..., xn é único. No entanto, existem várias formas 
para se obter tal polinômio. Uma das formas é a resolução do sistema linear Ax = b dado acima. 
 
Métodos Numéricos Prof. Mário Duarte 211 
- Interpolação linear 
 Sejam dois pontos-base (𝑥0 , 𝑦0) , (𝑥1 , 𝑦1), com 𝑥0 ≠ 𝑥1, de uma função 𝑦 = 𝑓(𝑥). 
 Para obter uma aproximação de 𝑓(𝑧), 𝑧 ∈ (𝑥0 , 𝑥1) , faz-se: 
𝑓(𝑥) ≈ 𝑃1(𝑥) = 𝑎0 + 𝑎1𝑥 , 
onde 𝑃1(𝑥) é um polinômio interpolador de grau 1. 
 
 Impondo que o polinômio interpolador passe pelos dois pontos-base, tem-se o seguinte sistema de 
equações lineares de ordem 2: 
𝑃1(𝑥0) = 𝑦0
𝑃1(𝑥1) = 𝑦1
 ⟶ {
𝑎0 + 𝑎1𝑥0 = 𝑦0
𝑎0 + 𝑎1𝑥1 = 𝑦1
 ⟺ [
1 𝑥0
1 𝑥1
] [
𝑎0
𝑎1
] = [
𝑦0
𝑦1
] 
 
Resolvendo esse sistema linear teremos: 
𝑎1 =
𝑦1−𝑦0
𝑥1−𝑥0
 e 𝑎0 = 𝑦0 − 𝑎1𝑥0 
Portanto, o polinômio interpolador torna-se: 
𝑃1(𝑥) = 𝑎0 + 𝑎1𝑥 = 𝑦0 − 𝑎1𝑥0 + 𝑎1𝑥 
Métodos Numéricos Prof. Mário Duarte 212 
𝑃1(𝑥) = 𝑦0 +
𝑦1 − 𝑦0
𝑥1 − 𝑥0
(𝑥 − 𝑥0) (1) 
 
 Como o determinante da matriz do sistema linear acima é diferente de zero, então o sistema admite 
uma única solução. 
 
 Pode ser verificado que 𝑃1(𝑥0) = 𝑦0 e 𝑃1(𝑥1) = 𝑦1 conforme imposto ao se construir o sistema 
linear. 
 
 
Métodos Numéricos Prof. Mário Duarte 213 
Exemplo 1 
Calcular 𝑃1(0,2) e 𝑃1(0,3) a partir da tabela: 
i 0 1 
𝑥𝑖 0,1 0,6 
𝑦𝑖 1,221 3,320 
 
Pelo uso da expressão 𝑃1(𝑥) = 𝑦0 − 𝑎1𝑥0 +
𝑦1−𝑦0
𝑥1−𝑥0
(𝑥 − 𝑥0) teremos: 
𝑃1(0,2) = 1,221 +
3,320−1,221
0,6−0,1
(0,2 − 0,1) → 𝑃1(0,2) = 1,641 e 
𝑃1(0,3) = 1,221 +
3,320 − 1,221
0,6 − 0,1
(0,3 − 0,1) → 𝑃1(0,3) = 2,061 
 
- Sabendo que a função, neste exemplo, é 𝑓(𝑥) = 𝑒2𝑥 , então os erros cometidos foram: 
em 𝑥 = 0,2 tem-se 1,641 − 𝑒2×0,2 = 0,149 e 
em 𝑥 = 0,3 tem-se 2,061 − 𝑒2×0,3 = 0,239 . 
Métodos Numéricos Prof. Mário Duarte 214 
 - Quanto mais próximo o valor a ser interpolado for de um ponto-base, melhor será o resultado 
obtido pela interpolação. 
 
 
Métodos Numéricos Prof. Mário Duarte 215 
- Interpolação quadrática 
 Sejam três pontos (𝑥0 , 𝑦0) , (𝑥1 , 𝑦1) e (𝑥2 , 𝑦2), com 𝑥𝑖 distintos, de uma função 𝑦 = 𝑓(𝑥). 
 Para aproximar 𝑓(𝑧), 𝑧 ∈ (𝑥0 , 𝑥2) , faz-se: 
𝑓(𝑥) ≈ 𝑃2(𝑥) = 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥
2 , 
onde 𝑃2(𝑥) é um polinômio interpolador de grau 2. 
 Impondo que o polinômio interpolador passe pelos três pontos-base, tem-se o seguinte sistema de 
equações lineares de ordem 3: 
𝑃2(𝑥0) = 𝑦0
𝑃2(𝑥1) = 𝑦1
𝑃2(𝑥2) = 𝑦2
 ⟶ {
𝑎0 + 𝑎1𝑥0 + 𝑎2𝑥0
2 = 𝑦0
𝑎0 + 𝑎1𝑥1 + 𝑎2𝑥1
2 = 𝑦1
𝑎0 + 𝑎1𝑥2 + 𝑎2𝑥2
2 = 𝑦2
 ⟺ [
1 𝑥0 𝑥0
2
1 𝑥1 𝑥1
2
1 𝑥2 𝑥2
2
] [
𝑎0
𝑎1
𝑎2
] = [
𝑦0
𝑦1
𝑦2
] 
 
 Como a matriz dos coeficientes é a matriz de Vandermonde, e o sistema de equações lineares 
admite uma única solução, pois det(𝑋) = (𝑥2 − 𝑥0)(𝑥2 − 𝑥1)(𝑥1 − 𝑥0) ≠ 0. 
 Consequentemente, por três pontos passa um único polinômio de grau 2. 
 Este fato pode ser generalizado, dizendo-se que por 𝑛 + 1 pontos passa um único polinômio de 
grau n. 
Métodos Numéricos Prof. Mário Duarte 216 
Exemplo 2 
Calcular 𝑃2(0,2) usando os dados da Tabela 3.1. 
Solução 
- lembrando os valores da tabela 3.1: 
i 0 1 2 
𝑥𝑖 0,1 0,6 0,8 
𝑦𝑖 1,221 3,320 4,953 
 
- Os coeficientes do polinômio interpolador são determinados pela solução do sistema linear: 
[
1 𝑥0 𝑥0
2
1 𝑥1 𝑥1
2
1 𝑥2 𝑥2
2
] [
𝑎0
𝑎1
𝑎2
] = [
𝑦0
𝑦1
𝑦2
] → [
1 0,1 0,01
1 0,6 0,36
1 0,8 0,64
] [
𝑎0
𝑎1
𝑎2
] = [
1,221
3,320
4,953
]- Resolvendo este sistema com o algoritmo LU, por exemplo, obtemos: 
𝑎 = [1,141 0,231 5,667]𝑇 
Métodos Numéricos Prof. Mário Duarte 217 
- Logo, o polinômio procurado tem a forma: 
𝑃2(𝑥) = 1,141 + 0,231 𝑥 + 5,667 𝑥
2 → 𝑃2(0,2) = 1,414 
 
 Esta metodologia de determinar os coeficientes do polinômio interpolador por meio da resolução 
de um sistema de equações lineares, apesar de ser conceitualmente simples, requer certo esforço 
computacional. 
 Considerando que por 𝑛 + 1 pontos passa um único polinômio de grau n, devemos procurar uma 
metodologia alternativa de modo a evitar a solução de um sistema de equações lineares. 
 Veremos, a seguir, outras formas de obter um polinômio interpolador, as quais apresentam uma 
menor ordem de complexidade computacional. 
 
 
Métodos Numéricos Prof. Mário Duarte 218 
3.3 – Polinômios de Lagrange 
 Sejam dados 𝑛 + 1 pontos (𝑥0 , 𝑦0) , (𝑥1 , 𝑦1) , ⋯ , e (𝑥𝑛 , 𝑦𝑛), sendo 𝑥𝑖 distintos, tais que 
𝑦𝑖 = 𝑓(𝑥𝑖) e 𝑥 ∈ (𝑥0 , 𝑥𝑛). Deseja-se construir um polinômio 𝐿𝑛(𝑥) de grau não superior a n e 
possuindo o mesmo valor da função 𝑓(𝑥) , nos pontos 𝑥𝑖 , isto é, 
𝐿𝑛(𝑥𝑖) = 𝑦𝑖 , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 (2) 
 
- Fórmula de Lagrange 
 Sejam os polinômios de grau n, 𝑃𝑖(𝑥), 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 tais que: 
𝑃𝑖(𝑥𝑖) ≠ 0 e 𝑃𝑖(𝑥𝑗) = 0 , ∀ 𝑖 ≠ 𝑗. 
Assim, 
𝑃0(𝑥) = (𝑥 − 𝑥1)(𝑥 − 𝑥2)(𝑥 − 𝑥3)⋯ (𝑥 − 𝑥𝑛) , 
𝑃1(𝑥) = (𝑥 − 𝑥0)(𝑥 − 𝑥2)(𝑥 − 𝑥3)⋯ (𝑥 − 𝑥𝑛) , 
𝑃2(𝑥) = (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥3)⋯ (𝑥 − 𝑥𝑛) , 
⋮ 
𝑃𝑛(𝑥) = (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2)⋯ (𝑥 − 𝑥𝑛−1) , 
Métodos Numéricos Prof. Mário Duarte 219 
ou seja, 
𝑃𝑖(𝑥) =∏(𝑥 − 𝑥𝑗)
𝑛
𝑗=0
𝑗≠𝑖
 , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 
(3) 
 
 Considerando que 𝐿𝑛(𝑥) é de grau não superior a n, ele pode ser escrito como uma combinação 
linear dos polinômios 𝑃𝑖(𝑥), isto é, 
𝐿𝑛(𝑥) = 𝑐0 𝑃0(𝑥) + 𝑐1 𝑃1(𝑥) + 𝑐2 𝑃2(𝑥) + ⋯+ 𝑐𝑛 𝑃𝑛(𝑥) 
𝐿𝑛(𝑥) =∑𝑐𝑖 𝑃𝑖(𝑥)
𝑛
𝑖=0
 (4) 
 
Comparando (2) e (4) e lembrando que 𝑃𝑖(𝑥𝑗) = 0 , ∀ 𝑖 ≠ 𝑗 tem-se: 
𝐿𝑛(𝑥𝑖) = 𝑦𝑖 = 𝑐𝑖 𝑃𝑖(𝑥𝑖) → 𝑐𝑖 =
𝑦𝑖
𝑃𝑖(𝑥𝑖)
 
 
Métodos Numéricos Prof. Mário Duarte 220 
 Substituindo o valor de 𝑐𝑖 em (4) tem-se: 
𝐿𝑛(𝑥) =∑
𝑦𝑖
𝑃𝑖(𝑥𝑖)
 𝑃𝑖(𝑥)
𝑛
𝑖=0
 
 
Considerando a equação (3), tem-se a fórmula do polinômio interpolador de Lagrange de grau n: 
𝐿𝑛(𝑥) =∑𝑦𝑖 ∏
(𝑥 − 𝑥𝑗)
(𝑥𝑖 − 𝑥𝑗)
𝑛
𝑗=0
𝑗≠𝑖
𝑛
𝑖=0
 
(5) 
 
 
Métodos Numéricos Prof. Mário Duarte 221 
Exemplo 1 
Calcular 𝐿1(0,2) a partir dos dados do Exemplo 1 da seção 3.2. 
Solução 
- As informações do Exemplo 1 são: 
i 0 1 
𝑥𝑖 0,1 0,6 
𝑦𝑖 1,221 3,320 
 
- Usando a expressão da equação (5) com 𝑛 = 1, tem-se: 
𝐿1(𝑥) = 𝑦0
𝑥 − 𝑥1
𝑥0 − 𝑥1
+ 𝑦1
𝑥 − 𝑥0
𝑥1 − 𝑥0
 , 
𝐿1(0,2) = 1,221
0,2 − 0,6
0,1 − 0,6
+ 3,320
0,2 − 0,1
0,6 − 0,1
 → 𝐿1(0,2) = 1,641 
 
- Este resultado é igual ao obtido no Exemplo 1 usando a fórmula de interpolação linear (1). 
De fato, a equação (5) com 𝑛 = 1 é idêntica à equação (1) 
𝑃1(𝑥) = 𝑦0 +
𝑦1 − 𝑦0
𝑥1 − 𝑥0
(𝑥 − 𝑥0) =
𝑦0𝑥1 − 𝑦0𝑥0 + 𝑦1𝑥 − 𝑦1𝑥0 − 𝑦0𝑥 + 𝑦0𝑥0
𝑥1 − 𝑥0
 = 
𝑃1(𝑥) =
𝑦0(𝑥1 − 𝑥) + 𝑦1(𝑥 − 𝑥0)
𝑥1 − 𝑥0
 = 𝑦0 
(𝑥 − 𝑥1)
𝑥0 − 𝑥1
+ 𝑦1 
(𝑥 − 𝑥0)
𝑥1 − 𝑥0
 ⟹ 𝑃1(𝑥) = 𝐿1(𝑥) 
Métodos Numéricos Prof. Mário Duarte 222 
Exemplo 2 
Calcular 𝐿2(0,2) usando os dados da tabela do Exemplo 1. 
Solução 
- As informações do Exemplo 2 são: 
i 0 1 2 
𝑥𝑖 0,1 0,6 0,8 
𝑦𝑖 1,221 3,320 4,953 
 
- A fórmula de Lagrange (5) com 𝑛 = 2 torna-se: 
𝐿2(𝑥) = 𝑦0
(𝑥 − 𝑥1)(𝑥 − 𝑥2)
(𝑥0 − 𝑥1)(𝑥0 − 𝑥2)
+ 𝑦1
(𝑥 − 𝑥0)(𝑥 − 𝑥2)
(𝑥1 − 𝑥0)(𝑥1 − 𝑥2)
+ 𝑦2
(𝑥 − 𝑥0)(𝑥 − 𝑥1)
(𝑥2 − 𝑥0)(𝑥2 − 𝑥1)
 
 
𝐿2(0,2) = 1,221
(0,2 − 0,6)(0,2 − 0,8)
(0,1 − 0,6)(0,1 − 0,8)
+ 3,320
(0,2 − 0,1)(0,2 − 0,8)
(0,6 − 0,1)(0,6 − 0,8)
+ 4,953
(0,2 − 0,1)(0,2 − 0,6)
(0,8 − 0,1)(0,8 − 0,6)
 
→ 𝐿2(0,2) = 1,414 
- Considerando que 𝑓(0,2) = 𝑒2×0,2 ≈ 1,492, o erro cometido foi menor do que quando 𝐿1(0,2) foi 
utilizado. Portanto, quando o grau do polinômio interpolador é aumentado, a exatidão do resultado é 
melhorada. 
Métodos Numéricos Prof. Mário Duarte 223 
- Dispositivo prático 
 Um dispositivo prático pode ser construído para facilitar o uso dos polinômios de Lagrange. 
 Para tal, seja a matriz: 
𝐺 =
[
 
 
 
 
(𝑥 − 𝑥0) (𝑥0 − 𝑥1) (𝑥0 − 𝑥2) ⋯ (𝑥0 − 𝑥𝑛)
(𝑥1 − 𝑥0) (𝑥 − 𝑥1) (𝑥1 − 𝑥2) ⋯ (𝑥1 − 𝑥𝑛)
(𝑥2 − 𝑥0) (𝑥2 − 𝑥1) (𝑥 − 𝑥2) ⋯ (𝑥2 − 𝑥𝑛)
⋮ ⋮ ⋮ ⋱ ⋮
(𝑥𝑛 − 𝑥0) (𝑥𝑛 − 𝑥1) (𝑥𝑛 − 𝑥2) ⋯ (𝑥 − 𝑥𝑛) ]
 
 
 
 
≡
[
 
 
 
 
𝐺0
𝐺1
𝐺2
𝐺𝑛]
 
 
 
 
 
 
 Acrescentando o termo 
(𝑥 − 𝑥𝑖)
((𝑥 − 𝑥𝑖))
⁄ na fração da equação (5), esta não se modificará 
numericamente: 
𝐿𝑛(𝑥) =∑𝑦𝑖 ∏
(𝑥 − 𝑥𝑗)
(𝑥𝑖 − 𝑥𝑗)
𝑛
𝑗=0
𝑗≠𝑖
𝑛
𝑖=0
×
(𝑥 − 𝑥𝑖)
(𝑥 − 𝑥𝑖)
 ⟹ 𝐿𝑛(𝑥) = 𝐺𝑑 ∑ 
𝑦𝑖
𝐺𝑖
𝑛
𝑖=0
 
(6) 
onde 𝐺𝑑 é o produto dos elementos da diagonal principal da matriz G e 𝐺𝑖 é o produto dos elementos da 
(i + 1)-ésima linha de G. (Obs: A primeira linha recebe a identificação com índice zero). 
Métodos Numéricos Prof. Mário Duarte 224 
Exemplo 3 
Determinar 𝐿2(0,2) usando a equação (6) e os dados da tabela do Exemplo 2. 
Solução 
- A matriz G é: 
𝐺 = [
(0,2 − 0,1) (0,1 − 0,6) (0,1 − 0,8)
(0,6 − 0,1) (0,2 − 0,6) (0,6 − 0,8)
(0,8 − 0,1) (0,8 − 0,6) (0,2 − 0,8)
] = [
0,1 −0,5 −0,7
0,5 −0,4 −0,2
0,7 0,2 −0,6
] 
- Consequentemente, 
𝐺𝑑 = (0,1)(−0,4)(−0,6) = 0,024 , 
𝐺0 = (0,1)(−0,5)(−0,7) = 0,035 , 
𝐺1 = (0,5)(−0,4)(−0,2) = 0,040 𝑒 
𝐺2 = (0,7)(0,2)(−0,6) = −0,084 
- Usando a equação (6) com 𝑛 = 2, tem-se: 
𝐿2(𝑥) = 𝐺𝑑 (
𝑦0
𝐺0
+
𝑦1
𝐺1
+
𝑦2
𝐺2
) , 
𝐿2(0,2) = 0,024 (
1,221
0,035
+
3,320
0,040
+
4,953
−0,084
) → 𝐿2(0,2) = 1,414. 
Métodos Numéricos Prof. Mário Duarte 225 
- Algoritmo e complexidade computacional 
 Um algoritmo para interpolação, usando os polinômios de Lagrange, é mostrado a seguir. 
 
 Os parâmetros de entrada são: 
 o número m de pontos, 
 o vetor x contendo as m abscissas 𝑥𝑖, 
 o vetor y com as m ordenadas 𝑦𝑖 e 
 o ponto z a ser interpolado. 
 
 O parâmetro de saída é: 
 a ordenada r do polinômio de Lagrange de grau m – 1 avaliado no ponto z. 
 
 A equação (5) é implementada de forma a reduzir, o máximo possível, o número de operações de 
divisão. 
 
 
Métodos Numéricos Prof. Mário Duarte 226 
 Algoritmo Polinomio_Lagrange 
 { Objetivo: Interpolar valor em tabela usando polinômio de Lagrange } 
 { Declarar variáveis } 
 Parâmetros de entrada M , X , Y , Z 
 { número de pontos, abscissas, ordenadas e valor a interpolar } 
 Parâmetros de saída R 
 { valor interpolado } 
 { Entrada de dados } 
 { ... } 
 { Iniciar variáveis } 
 R ← 0 
 { ... } 
 { Cálculos necessários } 
 para I ← 1 até M faça 
 C ← 1 
Métodos Numéricos Prof. Mário Duarte 227 
 D ← 1 
 para J ← 1 até M faça 
 se 𝐼 ≠ 𝐽 então 
 C ← C x (Z – X(J)) 
 D ← D x (X(I) – X(J)) 
 fim se 
 fim para 
 R ← R + Y(I) x C / D 
 fim para 
 { Saída de dados } 
 { ... } 
 Fim algoritmo 
 
 
Métodos Numéricos Prof. Mário Duarte 228 
 A complexidade computacional do algoritmo “Polinômio_Lagrange” é mostrada na Tabela 3.2. 
 
Tabela 3.2 – Complexidade da interpolação de Lagrange 
(n: graudo polinômio interpolador) 
Operações Complexidade 
Adições 2𝑛2 + 3𝑛 + 1 
Multiplicações 2𝑛2 + 3𝑛 + 1 
Divisões 𝑛 + 1 
 
 
 
Métodos Numéricos Prof. Mário Duarte 229 
Exemplo 4 
Resolver o problema do Exemplo 2 utilizando uma implementação do algoritmo Polinômio_Lagrange. 
Solução 
% Os parâmetros de entrada 
m = 3 
𝑥 = 0.1000 0.6000 0.8000 
𝑦 = 1.2110 3.3200 4.9530 
𝑧 = 0.2000 
 
% fornecem o resultado 
𝑟 = 1.4141 
 
Métodos Numéricos Prof. Mário Duarte 230 
3.4 – Polinômios de Newton 
- Operador de diferença dividida 
 Seja a função 𝑦 = 𝑓(𝑥), que passa pelos pontos (𝑥𝑖 , 𝑦𝑖) , 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛. 
 O operador de diferença dividida ⍋𝑖 de ordem i é definido como: 
 
(a) ordem 0: ⍋0𝑦𝑖 = 𝑦𝑖 = [𝑥𝑖] , 
 
(b) ordem 1: ⍋1
 
𝑦𝑖 =
⍋0𝑦𝑖+1 − ⍋
0𝑦𝑖
𝑥𝑖+1 − 𝑥𝑖
=
𝑦𝑖+1 − 𝑦𝑖
𝑥𝑖+1 − 𝑥𝑖
= [𝑥𝑖 , 𝑥𝑖+1] , 
 
(c) ordem 2: ⍋2𝑦𝑖 =
⍋1
 
𝑦𝑖+1 − ⍋
1𝑦𝑖
𝑥𝑖+2 − 𝑥𝑖
= [𝑥𝑖 , 𝑥𝑖+1 , 𝑥𝑖+2] , 
⋮ 
(d) ordem n: ⍋𝑛𝑦𝑖 =
⍋𝑛−1𝑦𝑖+1 − ⍋
𝑛−1𝑦𝑖
𝑥𝑖+𝑛 − 𝑥𝑖
= [𝑥𝑖 , 𝑥𝑖+1 , 𝑥𝑖+2 , ⋯ , 𝑥𝑖+𝑛] 
 
 
Métodos Numéricos Prof. Mário Duarte 231 
 Escrevendo de outra forma em uma tabela das diferenças divididas com este conceito temos: 
 
x Ordem 0 Ordem 1 Ordem 2 Ordem 3 ⋯ Ordem n 
x0 [x0] 
 [x0 , x1] 
x1 [x1] [x0 , x1 , x2] 
 [x1 , x2] [x0 , x1 , x2 , x3] 
x2 [x2] [x1 , x2 , x3] ⋱ 
 
 [x2 , x3] [x1 , x2 , x3 , x4] 
x3 [x3] [x2 , x3 , x4] ⋮ ⋰ 
[x0 , x1 , x2 , … , xn] 
 [x3 , x4] ⋮ 
 
x4 [x4] ⋮ 
[xn-3 , xn-2 , xn-1 , xn] 

 
⋮ 
[xn-2 , xn-1 , xn] 
 [xn-1 , xn] 
xn [xn] 
 
 
Métodos Numéricos Prof. Mário Duarte 232 
 O Teorema 3.1 mostra uma importante propriedade das diferenças divididas de um polinômio. 
 Essa propriedade é fundamental para a construção dos polinômios de Newton. 
 
Teorema 3.1 
 Se 𝑦 = 𝑓(𝑥) for um polinômio de grau n, então suas diferenças divididas de ordem n + 1 são 
identicamente nulas, isto é, 
 
 [𝑥𝑖 , 𝑥𝑖+1 , 𝑥𝑖+2 , ⋯ , 𝑥𝑖+𝑛] = 0 ∀ 𝑥 
 
 
Métodos Numéricos Prof. Mário Duarte 233 
Exemplo 1 
Verificar a tabela de diferenças divididas do polinômio 𝑦 = 5𝑥3 − 2𝑥2 − 𝑥 + 3 para alguns pontos 𝑥𝑖 
no intervalo [0 ; 0,9]. 
Solução 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1𝑦𝑖 ⍋
2𝑦𝑖 ⍋
3𝑦𝑖 ⍋
4𝑦𝑖 
0 0,0 3,000 -1,20 0,5 5 0 
1 0,2 2,760 -1,05 2,5 5 0 
2 0,3 2,655 -0,55 5,0 5 
3 0,4 2,600 1,45 8,0 
4 0,7 3,035 5,45 
5 0,9 4,125 
 
 
Métodos Numéricos Prof. Mário Duarte 234 
- Fórmula de Newton 
 Sejam os 𝑛 + 1 pontos (𝑥𝑖 , 𝑦𝑖) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 , com 𝑥𝑖 distintos, tais que 𝑦𝑖 = 𝑃(𝑥𝑖), sendo 
𝑃(𝑥) um polinômio de grau n. 
 Seja 𝑃0(𝑥) o polinômio de grau "0" que interpola 𝑓(𝑥) em 𝑥 = 𝑥0. 
 Então, 𝑃0(𝑥) = 𝑓(𝑥0) = [𝑥0] . (Ordem 0) 
 A diferença dividida de Ordem 1 é: 
[𝑥0 , 𝑥] =
𝑃(𝑥) − 𝑃(𝑥0)
𝑥 − 𝑥0
 
ou 
𝑃(𝑥) = 𝑃(𝑥0) + 
+ [𝑥0 , 𝑥] (𝑥 − 𝑥0) 
(7) 
 
 Mas, a diferença dividida de ordem 2 é: 
[𝑥0 , 𝑥1 , 𝑥] = [𝑥1 , 𝑥0 , 𝑥] =
[𝑥0 , 𝑥] − [𝑥1 , 𝑥0]
𝑥 − 𝑥1
 → [𝑥0 , 𝑥] = [𝑥1 , 𝑥0] + [𝑥1 , 𝑥0 , 𝑥] (𝑥 − 𝑥1) 
 
Métodos Numéricos Prof. Mário Duarte 235 
 Substituindo esta equação em (7), tem-se: 
𝑃(𝑥) = 𝑃(𝑥0) + [𝑥1 , 𝑥0] (𝑥 − 𝑥0) + 
+ [𝑥1 , 𝑥0 , 𝑥] (𝑥 − 𝑥0)(𝑥 − 𝑥1) 
(8) 
 
 Contudo, a diferença dividida de ordem 3 
[𝑥 , 𝑥0 , 𝑥1 , 𝑥2] = [𝑥2 , 𝑥1 , 𝑥0 , 𝑥] =
[𝑥1 , 𝑥0 , 𝑥] − [𝑥2 , 𝑥1 , 𝑥0]
𝑥 − 𝑥2
 ⟹ 
 [𝑥1 , 𝑥0 , 𝑥] = [𝑥2 , 𝑥1 , 𝑥0] + [𝑥2 , 𝑥1 , 𝑥0 , 𝑥] (𝑥 − 𝑥2) 
 
 Substituindo a equação acima em (8), obtém-se: 
𝑃(𝑥) = 𝑃(𝑥0) + [𝑥1 , 𝑥0] (𝑥 − 𝑥0) + [𝑥1 , 𝑥0 , 𝑥] (𝑥 − 𝑥0)(𝑥 − 𝑥1) + 
+ [𝑥2 , 𝑥1 , 𝑥0 , 𝑥] (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) 
(9) 
 
 
Métodos Numéricos Prof. Mário Duarte 236 
 Continuando o desenvolvimento de [𝑥2 , 𝑥1 , 𝑥0 , 𝑥], chega-se a: 
𝑃(𝑥) = 𝑃(𝑥0) + [𝑥1 , 𝑥0] (𝑥 − 𝑥0) + [𝑥2 , 𝑥1 , 𝑥0] (𝑥 − 𝑥0)(𝑥 − 𝑥1)
+ [𝑥3 , 𝑥2 , 𝑥1 , 𝑥0] (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) + ⋯
+ [𝑥𝑛 , 𝑥𝑛−1 , ⋯ , 𝑥0] (𝑥 − 𝑥0)(𝑥 − 𝑥1)⋯ (𝑥 − 𝑥𝑛−1)
+ [𝑥𝑛 , 𝑥𝑛−1 , 𝑥𝑛−2 , ⋯ , 𝑥0 , 𝑥] (𝑥 − 𝑥0)(𝑥 − 𝑥1)⋯ (𝑥 − 𝑥𝑛) 
 Considerando que 𝑃(𝑥) é um polinômio de grau n, então pelo Teorema 3.1 resulta que 
[𝑥𝑛 , 𝑥𝑛−1 , 𝑥𝑛−2 , ⋯ , 𝑥0 , 𝑥] = 0. 
 
 Fazendo 𝑦0 = 𝑃(𝑥0) e usando a notação de diferenças divididas com o operador ⍋, tem-se o 
polinômio de Newton de grau n: 
𝑃𝑛(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) + ⋯+⍋
𝑛𝑦0 (𝑥 − 𝑥0)⋯ (𝑥 − 𝑥𝑛−1) 
𝑃𝑛(𝑥) = 𝑦0 +∑⍋
𝑖 𝑦0
𝑛
𝑖=1
 ∏(𝑥 − 𝑥𝑗)
𝑖−1
𝑗=0
 (10) 
 Uma vantagem dos polinômios de Newton sobre os de Lagrange é que para aumentar o grau basta 
acrescentar um novo termo em vez de montar todo o polinômio novamente. 
Métodos Numéricos Prof. Mário Duarte 237 
Exemplo 2 
Calcular 𝑃1(0,2) a partir dos dados 
x 0,1 0,6 
y 1,221 3,320 
Solução 
- Pelo uso da equação (10) com 𝑛 = 1, tem-se que: 
𝑃1(𝑥) = 𝑦0 +⍋
1 𝑦0 (𝑥 − 𝑥0) 
É fácil verificar que: 𝑃1(𝑥) = 𝑦0 +⍋
1 𝑦0 (𝑥 − 𝑥0) ≡ 𝑦0 +
𝑦1− 𝑦0
𝑥1−𝑥0
 (𝑥 − 𝑥0) (𝑒𝑞. 1). 
- A tabela de diferenças divididas é: 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1 𝑦𝑖 
0 0,1 1,221 4,198 
1 0,6 3,320 
 
- 𝑃1(0,2) = 1,221 + 4,198 (0,2 − 0,1) → 𝑃1(0,2) = 1,641 
 
Métodos Numéricos Prof. Mário Duarte 238 
Exemplo 3 
Determinar 𝑃2(1,2) usando os dados: 
x 0,9 1,1 2,0 
y 3,211 2,809 1,614 
Solução 
- Usando a equação (10) com 𝑛 = 2, tem-se que: 
𝑃2(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) 
- A tabela de diferenças divididas é: 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1 𝑦𝑖 ⍋
2𝑦𝑖 
0 0,9 3,211 -2,010 0,620 
1 1,1 2,809 -1,328 
2 2,0 1,614 
 
- 𝑃2(1,2) = 3,211 + (−2,010) (1,2 − 0,9) + (0,620)(1,2 − 0,9)(1,2 − 1,1) → 𝑃2(1,2) = 2,627 
 
Métodos Numéricos Prof. Mário Duarte 239 
Exemplo 4 
Calcular 𝑃4(0,2) a partir de: 
x 0,1 0,3 0,4 0,6 0,7 
y 0,3162 0,5477 0,6325 0,7746 0,8367 
Solução 
- Usando a equação (10) com 𝑛 = 4, tem-se que: 
𝑃4(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) +⍋
3𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2)
+⍋4𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2)(𝑥 − 𝑥3) 
- A tabela de diferenças divididas é: 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1 𝑦𝑖 ⍋
2𝑦𝑖 ⍋
3𝑦𝑖 ⍋
4𝑦𝑖 
0 0,1 0,3162 1,1575 -1,0317 1,1468 -1,2447 
1 0,3 0,5477 0,8480 -0,4583 0,4000 
2 0,4 0,6325 0,7105 -0,2983 
3 0,6 0,7746 0,6210 
4 0,7 0,8367 
 
- 𝑃4(0,2) = 0,3162 + (1,1575) (0,1) + (−1,0317)(0,1)(−0,1) + (1,1468)(0,1)(−0,1)(−0,2) +
(−1,2447)(0,1)(−0,1)(−0,2)(−0,4) → 𝑃4(0,2) = 0,4456 
Métodos Numéricos Prof. Mário Duarte 240 
- Algoritmo e complexidade computacional 
 Um algoritmo para interpolar um valor z , em uma tabela definida pelos vetores x e y, usando um 
polinômio de Newton de diferenças divididas de grau n, é mostrado a seguir. 
 Para tal, o polinômio da equação (10) 
𝑃(𝑥) = 𝑦0 +∑⍋
𝑖 𝑦0
𝑛
𝑖=1
 ∏(𝑥 − 𝑥𝑗)
𝑖−1
𝑗=0
 
é escrito de forma a ser avaliado pelo processo de Horner 
𝑃𝑛(𝑧) = (⋯(⍋
𝑛𝑦0(𝑧 − 𝑥𝑛−1) +⍋
𝑛−1𝑦0)(𝑧 − 𝑥𝑛−2) + ⋯+⍋
2𝑦0)(𝑧 − 𝑥1) +⍋
1𝑦0)(𝑧 − 𝑥0) + 𝑦0. 
 
 Os parâmetros de entrada são: 
 o número m de pontos, 
 o vetor x contendo as m abscissas 𝑥𝑖, 
 o vetor y com as m ordenadas 𝑦𝑖 e 
 o ponto z a ser interpolado. 
 
 O parâmetro de saída é: 
 a ordenada r do polinômio de Newton de grau m – 1 avaliado no ponto z.Métodos Numéricos Prof. Mário Duarte 241 
 Algoritmo Polinômio_Newton 
 { Objetivo: Interpolar valor em tabela usando polinômio de Newton } 
 { Declarar variáveis } 
 Parâmetros de entrada M , X , Y , Z 
 { número de pontos, abscissas, ordenadas e valor a interpolar } 
 Parâmetros de saída R 
 { valor interpolado } 
 { Entrada de dados } 
 { ... } 
 { Iniciar variáveis } 
 { ... } 
 { Cálculos necessários } 
 para I ← 1 até M faça 
 Dely(I) ← Y(I) 
 fim para 
Métodos Numéricos Prof. Mário Duarte 242 
 { construção das diferenças divididas } 
 para K ← 1 até (M – 1) faça 
 para I ← M até (K + 1) passo (-1) faça 
 Dely(I) ← (Dely(I) – Dely(I - 1)) / (X(I) – X(I - K)) 
 fim para 
 fim para 
 { avaliação do polinômio pelo processo de Horner } 
 R ← Dely(M) 
 para I ← (M – 1) até (1) passo (-1) faça 
 R ← R * (Z – X(I)) + Dely(I) 
 fim para 
 { Saída de dados } 
 { ... } 
 Fim algoritmo 
 
Métodos Numéricos Prof. Mário Duarte 243 
 Este algoritmo utiliza um vetor auxiliar Dely, no qual é construída a tabela de diferenças divididas. 
 Para economizar espaço de memória, os valores de ⍋0𝑦0 , ⍋
1𝑦0 , ⋯ , ⍋
𝑛𝑦0 são armazenados nas 
primeiras 𝑛 + 1 posições de Dely, conforme o esquema para cinco pontos abaixo: 
𝑖 𝑥𝑖 𝑦𝑖 𝐷𝑒𝑙𝑦𝑖
(1)
 𝐷𝑒𝑙𝑦𝑖
(2)
 𝐷𝑒𝑙𝑦𝑖
(3)
 𝐷𝑒𝑙𝑦𝑖
(4)
 
1 𝑥0 𝑦0 ⍋
0𝑦0 ⍋
0𝑦0 ⍋
0𝑦0 ⍋
0𝑦0 
2 𝑥1 𝑦1 ⍋
1𝑦0 ⍋
1𝑦0 ⍋
1𝑦0 ⍋
1𝑦0 
3 𝑥2 𝑦2 ⍋
1𝑦1 ⍋
2𝑦0 ⍋
2𝑦0 ⍋
2𝑦0 
4 𝑥3 𝑦3 ⍋
1𝑦2 ⍋
2𝑦1 ⍋
3𝑦0 ⍋
3𝑦0 
5 𝑥4 𝑦4 ⍋
1𝑦3 ⍋
2𝑦2 ⍋
3𝑦1 ⍋
4𝑦0 
 
onde 𝐷𝑒𝑙𝑦𝑖
(𝐾)
 significa i-ésima posição do vetor Dely na K-ésima repetição do comando: 
 para K ← 1 até (M – 1) faça . 
 
 
Métodos Numéricos Prof. Mário Duarte 244 
 A complexidade computacional do algoritmo “Polinômio_Newton” é mostrada na Tabela 3.3. 
 
Tabela 3.3 – Complexidade da interpolação de Newton 
(n: grau do polinômio interpolador) 
Operações Complexidade 
Adições 𝑛2 + 4𝑛 
Multiplicações 𝑛 
Divisões 1
2
𝑛2 +
1
2
𝑛 
 
 
 
Métodos Numéricos Prof. Mário Duarte 245 
Exemplo 5 
Calcular 𝑃4(0,2) a partir dos dados da tabela abaixo usando o algoritmo “Polinômio_Newton”. 
x 0,1 0,3 0,4 0,6 0,7 
y 0,3162 0,5477 0,6325 0,7746 0,8367 
Solução 
% Os parâmetros de entrada 
m = 5 
𝑥 = 0.1000 0.3000 0.4000 0.6000 0.7000 
𝑦 = 0.3162 0.5477 0.6325 0.7746 0.8367 
𝑧 = 0.2000 
 
% produzem o resultado 
𝑟 = 0.4456 
 
Métodos Numéricos Prof. Mário Duarte 246 
A sequência de vetores Dely produzida pelo algoritmo é: 
𝑖 𝑥𝑖 𝑦𝑖 𝐷𝑒𝑙𝑦𝑖
(1)
 𝐷𝑒𝑙𝑦𝑖
(2)
 𝐷𝑒𝑙𝑦𝑖
(3)
 𝐷𝑒𝑙𝑦𝑖
(4)
 
1 0,1 0,3162 0,3162 0,3162 0,3162 0,3162 
2 0,3 0,5477 1,1575 1,1575 1,1575 1,1575 
3 0,4 0,6325 0,8480 -1,0317 -1,0317 -1,0317 
4 0,6 0,7746 0,7105 -0,4583 1,1468 1,1468 
5 0,7 0,8367 0,6210 -0,2983 0,400 -1,2447 
 
 
Métodos Numéricos Prof. Mário Duarte 247 
Exemplo 6 
Calcular 𝑃1(0,2) , 𝑃2(0,2) e 𝑃3(0,2) a partir dos dados da tabela abaixo usando o algoritmo 
“Polinômio_Newton”. 
x 0,1 0,3 0,4 0,6 0,7 
y 0,3162 0,5477 0,6325 0,7746 0,8367 
Solução 
- Cálculo de 𝑃1(0,2) 
% Os parâmetros de entrada 
m = 2 
𝑥 = 0.1000 0.3000 
𝑦 = 0.3162 0.5477 
𝑧 = 0.2000 
% produzem o resultado 
𝑟 = 0.4320 
 
 
 
 
Métodos Numéricos Prof. Mário Duarte 248 
- Cálculo de 𝑃2(0,2) 
% Os parâmetros de entrada 
m = 3 
𝑥 = 0.1000 0.3000 0.4000 
𝑦 = 0.3162 0.5477 0.6325 
𝑧 = 0.2000 
% produzem o resultado 
𝑟 = 0.4423 
 
- Cálculo de 𝑃3(0,2) 
% Os parâmetros de entrada 
m = 4 
𝑥 = 0.1000 0.3000 0.4000 0.6000 
𝑦 = 0.3162 0.5477 0.6325 0.7746 
𝑧 = 0.2000 
% produzem o resultado 
𝑟 = 0.4446 
Métodos Numéricos Prof. Mário Duarte 249 
 Considerando que 𝑦 = √𝑥, portanto, o valor exato é √0,2 ≈ 0,4472. 
 A partir dos resultados acima e mais o valor de 𝑃4(0,2) obtido no Exemplo 11, pode-se verificar 
que a diferença entre o valor interpolado e o exato diminui à medida que o grau do polinômio 
interpolador aumenta: 
 
𝑛 𝑃𝑛(0,2) |𝑃𝑛(0,2) − √2| 
1 0,4320 0,0152 
2 0,4423 0,0049 
3 0,4446 0,0026 
4 0,4456 0,0016 
 
 
Métodos Numéricos Prof. Mário Duarte 250 
3.5 – Polinômios de Gregory-Newton 
 Quando os valores das abscissas 𝑥𝑖 forem igualmente espaçados, a fórmula de Newton pode ser 
simplificada, resultando na fórmula de Gregory-Newton. 
 Portanto, o polinômio de Gregory-Newton é um caso particular do polinômio de Newton para 
pontos igualmente espaçados. 
 
- Operador de diferença finita ascendente 
 Seja a função 𝑦 = 𝑓(𝑥), que passa pelos pontos (𝑥𝑖 , 𝑦𝑖) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 , 
 sendo 𝑥𝑖+1 − 𝑥𝑖 = ℎ ∀ 𝑖 . 
 O operador de diferença finita ascendente ∆𝑖 de ordem i é definido como: 
(a) ordem 0: ∆0𝑦𝑖 = 𝑦𝑖 , 
(b) ordem 1: ∆1
 
𝑦𝑖 = ∆
0𝑦𝑖+1 − ∆
0𝑦𝑖 = 𝑦𝑖+1 − 𝑦𝑖 , 
(c) ordem 2: ∆2𝑦𝑖 = ∆
1 𝑦𝑖+1 − ∆
1 𝑦𝑖 , 
⋮ 
(d) ordem n: ∆𝑛𝑦𝑖 = ∆
𝑛−1𝑦𝑖+1 − ∆
𝑛−1𝑦𝑖 
Métodos Numéricos Prof. Mário Duarte 251 
Exemplo 1 
Verificar a tabela de diferenças finitas: 
 
𝑖 𝑥𝑖 𝑦𝑖 ∆
1 𝑦𝑖 ∆
2𝑦𝑖 ∆
3𝑦𝑖 ∆
4𝑦𝑖 
0 3,5 9,82 1,09 0,05 -0,10 2,11 
1 4,0 10,91 1,14 -0,05 2,01 
2 4,5 12,05 1,09 1,96 
3 5,0 13,14 3,05 
4 5,5 16,19 
 
- A relação entre os operadores de diferença dividida e diferença finita é dada pela expressão: 
⍋𝑛𝑦𝑖 =
∆𝑛𝑦𝑖
𝑛! ℎ𝑛
 (11) 
 
 
Métodos Numéricos Prof. Mário Duarte 252 
- Fórmula de Gregory-Newton 
 Seja a fórmula do polinômio interpolador de Newton na forma: 
 
𝑃𝑛(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) + ⋯+⍋
𝑛𝑦0 (𝑥 − 𝑥0)⋯ (𝑥 − 𝑥𝑛−1) 
 
e uma variável auxiliar: 
𝑢𝑥 = 𝑢(𝑥) =
𝑥 − 𝑥0
ℎ
 
 
da qual verifica-se que 
𝑥 − 𝑥0 = ℎ 𝑢𝑥 ⟹ 𝑥 − 𝑥0 = ℎ (𝑢𝑥 − 0), 
𝑥 − 𝑥1 = 𝑥 − (𝑥0 + ℎ) = 𝑥 − 𝑥0 − ℎ = ℎ 𝑢𝑥 − ℎ ⟹ 𝑥 − 𝑥1 = ℎ(𝑢𝑥 − 1) , 
𝑥 − 𝑥2 = 𝑥 − (𝑥0 + 2 ℎ) = 𝑥 − 𝑥0 − 2 ℎ = ℎ 𝑢𝑥 − 2 ℎ ⟹ 𝑥 − 𝑥2 = ℎ(𝑢𝑥 − 2) , 
⋮ 
𝑥 − 𝑥𝑛−1 = 𝑥 − (𝑥0 + (𝑛 − 1)ℎ) = 𝑥 − 𝑥0 − (𝑛 − 1)ℎ ⟹ 𝑥 − 𝑥𝑛−1 = ℎ(𝑢𝑥 − 𝑛 + 1) . 
 
Métodos Numéricos Prof. Mário Duarte 253 
 Substituindo esses valores na fórmula de Newton e aplicando a relação da equação (11) entre 
operadores, tem-se: 
𝑃𝑛(𝑥) = 𝑦0 +
∆1𝑦0
1! ℎ
 ℎ𝑢𝑥 +
∆2𝑦0
2! ℎ2
 ℎ𝑢𝑥 ℎ (𝑢𝑥 − 1) +⋯+
∆𝑛𝑦0
𝑛! ℎ𝑛
 ℎ 𝑢𝑥ℎ (𝑢𝑥 − 1)⋯ℎ (𝑢𝑥 − 𝑛 + 1) 
 
Assim, 
𝑃𝑛(𝑥) = 𝑦0 +
∆1𝑦0
1!
 𝑢𝑥 +
∆2𝑦0
2!
 𝑢𝑥 (𝑢𝑥 − 1) + ⋯+
∆𝑛𝑦0
𝑛!
 𝑢𝑥(𝑢𝑥 − 1)⋯(𝑢𝑥 − 𝑛 + 1) 
 
𝑃𝑛(𝑥) = 𝑦0 +∑
∆𝑖 𝑦0
𝑖!
𝑛
𝑖=1
 ∏(𝑢𝑥 − 𝑗)
𝑖−1
𝑗=0
 (12) 
 
 
Métodos Numéricos Prof. Mário Duarte 254 
Exemplo 2 
Calcular 𝑃1(0,2) usando os dados da tabela abaixo. 
𝑖 0 1 
𝑥𝑖 0,1 0,6 
𝑦𝑖 1,221 3,320 
 
- Pelo uso da equação (12) com 𝑛 = 1, obtém-se: 
𝑃1(𝑥) = 𝑦0 + ∆
1𝑦0 𝑢𝑥 
 
- A tabela de diferenças finitas é: 
𝑖 𝑥𝑖 𝑦𝑖 ∆
1 𝑦𝑖 
0 0,1 1,221 2,099 
1 0,6 3,320 
 
- A variável 
𝑢𝑥 =
𝑥 − 𝑥0
ℎ
=
0,2 − 0,1
0,5
= 0,2 
- Então 
𝑃1(0,2) = 𝑦0 + ∆
1𝑦0 𝑢𝑥 = 1,221 + 2,099 (0,2) → 𝑃1(0,2) = 1,641 
Este resultado é o mesmo obtido pela equação (1). De fato, 
𝑃1(𝑥) = 𝑦0 + ∆
1𝑦0 𝑢𝑥 = 𝑦0 +
(𝑦1−𝑦0)
(𝑥1−𝑥0)
 (𝑥 − 𝑥0) 
Métodos Numéricos Prof. Mário Duarte 255Exemplo 3 
Calcular 𝑃2(115) usando os dados da tabela abaixo. 
𝑖 0 1 2 
𝑥𝑖 110 120 130 
𝑦𝑖 2,041 2,079 2,114 
 
- Usando a equação (12) com 𝑛 = 2 , tem-se: 
𝑃2(𝑥) = 𝑦0 + ∆
1𝑦0 𝑢𝑥 +
∆2𝑦0
2!
𝑢𝑥(𝑢𝑥 − 1) 
 
- A tabela de diferenças finitas é: 
𝑖 𝑥𝑖 𝑦𝑖 ∆
1 𝑦𝑖 ∆
2𝑦𝑖 
0 110 2,041 0,038 -0,003 
1 120 2,079 0,035 
2 130 2,114 
 
- e a variável 𝑢𝑥 =
𝑥−𝑥0
ℎ
=
115−110
10
= 0,5 , então 
𝑃2(115) = 2,041 + (0,038)(0,5) +
−0,003
2
(0,5)(0,5 − 1) → 𝑃2(115) = 2,060 
Métodos Numéricos Prof. Mário Duarte 256 
- Algoritmo e complexidade computacional 
 Um algoritmo para interpolar um valor z , em uma tabela definida pelos vetores x e y, de 
dimensões m, usando um polinômio de Gregory-Newton de diferenças finitas de grau (m - 1), é 
mostrado a seguir. 
 
 Os parâmetros de entrada são: 
 o número m de pontos, 
 o vetor x contendo as m abscissas 𝑥𝑖, 
 o vetor y com as m ordenadas 𝑦𝑖 e 
 o ponto z a ser interpolado. 
 
 O parâmetro de saída é a ordenada r do polinômio de Newton de grau (m – 1) avaliado no ponto z. 
 
 
Métodos Numéricos Prof. Mário Duarte 257 
 Algoritmo Polinômio_Gregory_Newton 
 { Objetivo: Interpolar valor em tabela usando polinômio de Gregory-Newton } 
 { Declarar variáveis } 
 Parâmetros de entrada M , X , Y , Z 
 { número de pontos, abscissas, ordenadas e valor a interpolar } 
 Parâmetros de saída R 
 { valor interpolado } 
 { Entrada de dados } 
 { ... } 
 { Iniciar variáveis } 
 { ... } 
 { Cálculos necessários } 
 para I ← 1 até M faça 
 Dely(I) ← Y(I) 
 fim para 
Métodos Numéricos Prof. Mário Duarte 258 
 { construção das diferenças finitas } 
 para K ← 1 até (M – 1) faça 
 para I ← M até (K + 1) passo (-1) faça 
 Dely(I) ← (Dely(I) – Dely(I-1)) 
 fim para 
 fim para 
 { avaliação do polinômio pelo processo de Horner } 
 U ← (Z – X(1)) / (X(2) – X(1)) 
 R ← Dely(M) 
 para I ← (M – 1) até (1) passo (-1) faça 
 R ← R * (U – I + 1) / I + Dely(I) 
 fim para 
 { Saída de dados } 
 { ... } 
 Fim algoritmo 
Métodos Numéricos Prof. Mário Duarte 259 
 Também neste caso, o polinômio da equação (12) 
𝑃𝑛(𝑥) = 𝑦0 +∑
∆𝑖 𝑦0
𝑖!
𝑛
𝑖=1
 ∏(𝑢𝑥 − 𝑗)
𝑖−1
𝑗=0
 
Pode ser escrito de forma a ser avaliado pelo processo de Horner: 
𝑃𝑛(𝑧) = (((⋯(∆
𝑛𝑦0
𝑢𝑥 − 𝑛 + 1
𝑛
) + ⋯+ ∆2𝑦0)
𝑢𝑥 − 1
2
+ ∆1𝑦0)
𝑢𝑥 − 0
1
) + 𝑦0 
 
 De forma análoga ao método de Newton, este algoritmo utiliza um vetor auxiliar Dely, no qual é 
construída a tabela de diferenças finitas. 
 Os valores de ∆0𝑦0 , ∆
1𝑦0 , ⋯ , ∆
𝑛𝑦0 são armazenados nas primeiras 𝑛 + 1 posições de Dely, 
conforme o esquema para quatro pontos abaixo: 
𝑖 𝑥𝑖 𝑦𝑖 𝐷𝑒𝑙𝑦𝑖
(1)
 𝐷𝑒𝑙𝑦𝑖
(2)
 𝐷𝑒𝑙𝑦𝑖
(3)
 
1 𝑥0 𝑦0 ∆
0𝑦0 ∆
0𝑦0 ∆
0𝑦0 
2 𝑥1 𝑦1 ∆
1𝑦0 ∆
1𝑦0 ∆
1𝑦0 
3 𝑥2 𝑦2 ∆
1𝑦1 ∆
2𝑦0 ∆
2𝑦0 
4 𝑥3 𝑦3 ∆
1𝑦2 ∆
2𝑦1 ∆
3𝑦0 
onde 𝐷𝑒𝑙𝑦𝑖
(𝐾)
 significa i-ésima posição do vetor Dely na K-ésima repetição do comando: 
 para K ← 1 até (M – 1) faça . 
Métodos Numéricos Prof. Mário Duarte 260 
 A complexidade computacional do algoritmo “Polinômio_Gregory_Newton” é mostrada na 
Tabela 3.3. 
 Comparando com a complexidade do algoritmo de Newton, dado na Tabela 3.3, verifica-se que o 
algoritmo de Gregory-Newton apresenta uma complexidade menor em relação à operação de divisão. 
 
Tabela 3.4 – Complexidade da interpolação de Gregory-Newton 
(n: grau do polinômio interpolador) 
Operações Complexidade 
Adições 𝑛2 + 4𝑛 + 2 
Multiplicações 𝑛 
Divisões 𝑛 + 1 
 
 
Métodos Numéricos Prof. Mário Duarte 261 
Exemplo 4 
Calcular 𝑃2(115) com os dados da tabela do Exemplo 3 usando o algoritmo 
“Polinômio_Gregory_Newton”. 
Solução 
% Os parâmetros de entrada 
𝑚 = 3 
𝑥 = 110 120 130 
𝑦 = 2.0410 2.0790 2.1140 
𝑧 = 115 
 
% produzem o resultado 
𝑟 = 2.0604 
 
Métodos Numéricos Prof. Mário Duarte 262 
3.6 – Escolha dos pontos para interpolação. 
 Uma questão importante que surge no uso da interpolação é como fazer a escolha dos pontos a 
serem utilizados. 
 Até agora foram vistos exemplos nos quais todos os pontos da tabela eram utilizados na 
composição do polinômio interpolador. 
 No entanto, na prática, faz-se necessário escolher 𝑛 + 1 pontos dentre os m valores de uma tabela, 
sendo 𝑚 > 𝑛 + 1, para que seja construído um polinômio interpolador de grau n. 
 Esta escolha é importante, pois polinômios de grau elevado não devem ser construídos por causa 
do erro de arredondamento. 
 O ponto a ser estimado (z) deve estar o mais próximo e o mais centralizado possível dos 𝑛 + 1 
pontos utilizados na interpolação. 
 Também deve ser evitada uma extrapolação, situação na qual o valor a ser estimado esteja fora do 
intervalo dos pontos utilizados para construir o polinômio. 
 
 
Métodos Numéricos Prof. Mário Duarte 263 
Exemplo 1 
Interpolar 𝑧 = 1,4 usando um polinômio de terceiro grau com os dados: 
x 0,7 1,2 1,3 1,5 2,0 2,3 2,6 
y 0,043 1,928 2,497 3,875 9,000 13,467 19,176 
Solução 
- Para determinar um polinômio interpolador de grau 3 são necessários 4 pontos. 
- O ponto a ser estimado deve ser o mais próximo possível destes 4 pontos. 
- Inicialmente são escolhidos 2 pontos, devendo o valor a ser interpolado (1,4) estar entre eles, 
a saber: 1,3 e 1,5. 
- O terceiro ponto será 1,2 e não 2,0 por que (1,4 − 1,2) < (2,0 − 1,4). 
- Analogamente, o quarto ponto será 2,0 e não 0,7, pois (2,0 − 1,4) < (1,4 − 0,7). 
- Assim, a interpolação cúbica utilizará os quatro pontos: 
𝑖 0 1 2 3 
𝑥𝑖 1,2 1,3 1,5 2,0 
𝑦𝑖 1,928 2,497 3,875 9,000 
 
 
Métodos Numéricos Prof. Mário Duarte 264 
- Usando o polinômio de Lagrange, a matriz G é: 
𝐺 = [
(1,4 − 1,2) (1,2 − 1,3) (1,2 − 1,5) (1,2 − 2,0)
(1,3 − 1,2) (1,4 − 1,3) (1,3 − 1,5) (1,3 − 2,0)
(1,5 − 1,2) (1,5 − 1,3) (1,4 − 1,5) (1,5 − 2,0)
(2,0 − 1,2) (2,0 − 1,3) (2,0 − 1,5) (1,4 − 2,0)
] = [
0,2 −0,1 −0,3 −0,8
0,1 0,1 −0,2 −0,7
0,3 0,2 −0,1 −0,5
0,8 0,7 0,5 −0,6
] 
- Consequentemente, 
𝐺𝑑 = (0,2)(0,1)(−0,1)(−0,6) = 1,2 × 10
−3 , 
𝐺0 = (0,2)(−0,1)(−0,3)(−0,8) = −4,8 × 10
−3 , 
𝐺1 = (0,1)(0,1)(−0,2)(−0,7) = 1,4 × 10
−3 , 
𝐺2 = (0,3)(0,2)(−0,1)(−0,5) = 3,0 × 10
−3 𝑒 
𝐺3 = (0,8)(0,7)(0,5)(−0,6) = −1,68 × 10
−1 
 
- Usando a equação (6) com 𝑛 = 3, tem-se: 
𝐿3(1,4) = 𝐺𝑑 (
𝑦0
𝐺0
+
𝑦1
𝐺1
+
𝑦2
𝐺2
+
𝑦3
𝐺3
) , 
𝐿3(1,4) = 1,2 × 10
−3 (
1,928
−4,8×10−3
+
2,497
1,4×10−3
+
3,875
3,0×10−3
+
9,000
−1,68×10−1
) → 𝐿3(1,4) = 3,144. 
Métodos Numéricos Prof. Mário Duarte 265 
3.7 – Erro de truncamento da interpolação polinomial. 
 Erro de truncamento é o erro cometido ao aproximar uma função 𝑓(𝑥) por um polinômio 
interpolador. 
 Pode ser mostrado que se 𝑃𝑛(𝑥) for um polinômio interpolador de grau n de Lagrange, Newton ou 
Gregory-Newton, então o erro de truncamento é dado pela expressão: 
 
𝑇𝑛(𝑥) =
𝑓𝑛+1(𝜉)
(𝑛 + 1)!
∏(𝑥 − 𝑥𝑖)
𝑛
𝑖=0
 , 𝑥0 < 𝜉 < 𝑥𝑛 (13) 
(Hildebrand, F. B., 1974, apud de Campos, F. F., 2007). 
 Sendo 𝑓(𝑥) definida no intervalo [𝑎 , 𝑏] que contém os pontos 𝑥0 , 𝑥1 , ⋯ , 𝑥𝑛 e supondo que a 
derivada 𝑓𝑛+1(𝑥) existe e é contínua no intervalo (𝑎 , 𝑏), então, devido à dificuldade de localizar 𝜉 , na 
prática, ele é tomado como o ponto no intervalo [𝑥0 , 𝑥𝑛] ⊂ (𝑎 , 𝑏), onde 𝑓
𝑛+1(𝑥) apresenta o maior 
valor em módulo. 
 Deste modo, a equação (13) fornecerá a cota máximado erro de truncamento cometido. 
 
Métodos Numéricos Prof. Mário Duarte 266 
Exemplo 1 
Sendo 𝑓(𝑥) = 2𝑥4 + 3𝑥2 + 1, calcular 𝑃2(0,1) e 𝑇2(0,1) a partir da tabela: 
x 0,0 0,2 0,4 
y 1,0000 1,1232 1,5312 
 
- Cálculo de 𝑃2(0,1): 
Utilizando o polinômio de Gregory-Newton de grau 2, dado pela equação (12), tem-se: 
𝑃2(𝑥) = 𝑦0 +
∆1𝑦0
1! ℎ
 𝑢𝑥 +
∆2𝑦0
2!
 𝑢𝑥 (𝑢𝑥 − 1) 
A tabela de diferenças finitas é: 
𝑖 𝑥𝑖 𝑦𝑖 ∆
1 𝑦𝑖 ∆
2𝑦𝑖 
0 0,0 1,0000 0,1232 0,2848 
1 0,2 1,1232 0,4080 
2 0,4 1,5312 
 
- e a variável 𝑢𝑥 =
𝑥−𝑥0
ℎ
=
0,1−0,0
0,2
= 0,5 , então 
𝑃2(0,1) = 1,0000 + (0,1232)(0,5) +
0,2848
2
(0,5)(0,5 − 1) → 𝑃2(0,1) = 1,0260 
 
Métodos Numéricos Prof. Mário Duarte 267 
- Cálculo de 𝑇2(0,1): 
𝑓(𝑥) = 2𝑥4 + 3𝑥2 + 1 
𝑓′(𝑥) = 8𝑥3 + 6𝑥 
𝑓′′(𝑥) = 24𝑥2 + 6 
𝑓′′′(𝑥) = 48𝑥 ⟹ 𝜉 = 0,4 
 
Logo, 
𝑇2(𝑥) =
𝑓′′′(𝜉)
(3)!
 (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) e 
𝑇2(0,1) =
48(0,4)
6
 (0,1 − 0,0)(0,1 − 0,2)(0,1 − 0,4) ⟹ 𝑇2(0,1) = 0,0096 
 
Pode ser verificado que, de fato, neste exemplo, a equação (13) fornece a cota máxima do erro de 
truncamento, pois o erro real cometido foi: 
|𝑓(0,1) − 𝑃2(0,1)| = |1,0302 − 1,0260| = 0,0042 < 𝑇2(0,1) 
 
Métodos Numéricos Prof. Mário Duarte 268 
 Apesar da equação (13) ter uso limitado na prática, visto que serão raras as situações em que se 
conheça 𝑓𝑛+1(𝑥) e o ponto 𝜉 , sua importância terá maior interesse na análise teórica da interpolação, 
uma vez que pode ser utilizada para estimativas de erro de truncamento. 
 Além disso, ela mostra que este erro é diretamente proporcional ao produto das distâncias entre o 
valor interpolado e os pontos-base. 
 Portanto, os pontos escolhidos para construir o polinômio interpolador devem ser os mais 
próximos do ponto a ser interpolado. 
 Assim, se a função 𝑓(𝑥) é dada na forma de tabela, o valor absoluto do erro |𝑇𝑛(𝑥)| só pode ser 
estimado. Neste caso, não é possível calcular 𝑚á𝑥𝑖𝑚𝑜 𝑑𝑒 𝑓𝑛+1(𝑥). 
 Porém, podemos construir a tabela de diferenças divididas até ordem 𝑛 + 1, podemos usar o maior 
valor (módulo) das diferenças como uma aproximação para 𝑚á𝑥𝑖𝑚𝑜 𝑑𝑒 𝑓𝑛+1(𝑥) no intervalo [𝑥0 , 𝑥𝑛]. 
 Neste caso, dizemos que: 
|𝑇𝑛(𝑥)| ≈ |𝑀á𝑥. 𝑑𝑎𝑠 𝑑𝑖𝑓𝑒𝑟𝑒𝑛ç𝑎𝑠 𝑑𝑖𝑣𝑖𝑑𝑖𝑑𝑎𝑠 𝑑𝑒 𝑜𝑟𝑑𝑒𝑚 (𝑛 + 1)| ∏(𝑥 − 𝑥𝑖)
𝑛
𝑖=0
 
 
Métodos Numéricos Prof. Mário Duarte 269 
Exemplo 2 
Seja a tabela da função 𝑓(𝑥) = 𝑒𝑥 − 𝑥2 − 𝑥 
x 1,1 1,4 1,9 2,1 2,5 3,0 3,2 
y 0,6942 0,6952 1,1759 1,6562 3,4325 8,0855 11,0925 
 
Para calcular 𝑃2(2,2), são necessários 3 pontos. 
A fim de garantir que não seja efetuada uma extrapolação, devem ser usados os pontos de abscissas 
𝑥 = 2,1 e 𝑥 = 2,5. 
O terceiro ponto será escolhido pela menor distância entre o valor a ser estimado e 𝑥(𝑎) = 1,9 ou 
𝑥(𝑏) = 3,0 , ou seja: 𝑥(𝑎) = 1,9. 
Como os pontos não são igualmente espaçados, o método de Lagrange ou de Newton deve ser utilizado. 
- Cálculo de 𝑃2,(𝑎)(2,2) pelo método de Newton utilizando os pontos: 
x 1,9 2,1 2,5 
y 1,1759 1,6562 3,4325 
Com o uso da equação (10) com 𝑛 = 2, 
𝑃2(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) 
Métodos Numéricos Prof. Mário Duarte 270 
A tabela de diferenças divididas é: 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1 𝑦𝑖 ⍋
2𝑦𝑖 
0 1,9 1,1759 2,4015 3,3988 
1 2,1 1,6562 4,4408 
2 2,5 3,4325 
 
𝑃2,(𝑎)(2,2) = 1,1759 + 2,4015 (2,2 − 1,9) + 3,3988 (2,2 − 1,9)(2,2 − 2,1) 
𝑃2,(𝑎)(2,2) = 1,9983 
 
O erro de truncamento, calculado pela equação (13), é: 
𝑇2(𝑥) =
𝑓′′′(𝜉)
(3)!
 (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) , para algum 𝜉, 𝑥0 < 𝜉 < 𝑥2. 
 
Como 𝑓′′′(𝑥) = 𝑒𝑥, então para 𝜉 = 2,5 , |𝑇2,(𝑎)(2,2)| é a cota máxima do erro de truncamento. 
𝑇2,(𝑎)(2,2) =
𝑒2,5
6
 (2,2 − 1,9)(2,2 − 2,1)(2,2 − 2,5) → 𝑇2,(𝑎)(2,2) = −0,0183 , 
onde o sinal negativo indica que a interpolação foi por excesso, isto é, 𝑃2,(𝑎)(2,2) > 𝑓(2,2). 
Métodos Numéricos Prof. Mário Duarte 271 
O erro real cometido é: 
|𝑓(2,2) − 𝑃2,(𝑎)(2,2)| = |1,9850 − 1,9983| = 0,0133 < |𝑇2,(𝑎)(2,2)|. 
 
- Cálculo de 𝑃2,(𝑏)(2,2) pelo método de Newton utilizando os pontos: 
x 2,1 2,5 3,0 
y 1,6562 3,4325 8,0855 
 
Com o uso da equação (10) com 𝑛 = 2, 
𝑃2(𝑥) = 𝑦0 +⍋
1𝑦0 (𝑥 − 𝑥0) +⍋
2𝑦0 (𝑥 − 𝑥0)(𝑥 − 𝑥1) 
A tabela de diferenças divididas é: 
𝑖 𝑥𝑖 𝑦𝑖 ⍋
1 𝑦𝑖 ⍋
2𝑦𝑖 
0 2,1 1,6562 4,4408 5,4058 
1 2,5 3,4325 9,3060 
2 3,0 8,0855 
 
𝑃2,(𝑏)(2,2) = 1,6562 + 4,4408 (2,2 − 2,1) + 5,4058 (2,2 − 2,1)(2,2 − 2,5) 
𝑃2,(𝑏)(2,2) = 1,9381 
Métodos Numéricos Prof. Mário Duarte 272 
O erro de truncamento, calculado pela equação (13), é: 
𝑇2(𝑥) =
𝑓′′′(𝜉)
(3)!
 (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) , para algum 𝜉, 𝑥0 < 𝜉 < 𝑥2. 
 
Como 𝑓′′′(𝑥) = 𝑒𝑥, então para 𝜉 = 3,0 , |𝑇2,(𝑏)(2,2)| é a cota máxima do erro de truncamento. 
𝑇2,(𝑏)(2,2) =
𝑒3,0
6
 (2,2 − 2,1)(2,2 − 2,5)(2,2 − 3,0) → 𝑇2,(𝑏)(2,2) = 0,0803 , 
onde o sinal positivo indica que a interpolação foi por falta, isto é, 𝑃2,(𝑏)(2,2) < 𝑓(2,2). 
O erro real cometido é: 
|𝑓(2,2) − 𝑃2,(𝑏)(2,2)| = |1,9850 − 1,9381| = 0,0469 < |𝑇2,(𝑏)(2,2)|. 
 
Consequentemente, como o ponto-base 𝑥(𝑎) = 1,9 está mais próximo do valor interpolado 𝑧 = 2,2 do 
que 𝑥(𝑏) = 3,0, tem-se que 
 
|𝑓(2,2) − 𝑃2,(𝑎)(2,2)| < |𝑓(2,2) − 𝑃2,(𝑏)(2,2)| 𝑒 |𝑇2,(𝑎)(2,2)| < |𝑇2,(𝑏)(2,2)| 
 
Métodos Numéricos Prof. Mário Duarte 273 
3.8 – Comparação das complexidades. 
 A Tabela 3.5 apresenta as informações sobre as complexidades dos algoritmos de interpolação 
utilizando polinômios de Lagrange, Newton e Gregory-Newton. 
Tabela 3.5 – Complexidade dos algoritmos de interpolação 
(n: grau do polinômio interpolador) 
 
Polinômio Adições Multiplicações Divisões 
Lagrange 2𝑛2 + 3𝑛 + 1 2𝑛2 + 3𝑛 + 1 𝑛 + 1 
Newton 𝑛2 + 4𝑛 𝑛 1
2
𝑛2 +
1
2
𝑛 
Gregory-Newton 𝑛2 + 4𝑛 + 2 𝑛 𝑛 + 1 
 
 
 A Figura 3.2 exibe os gráficos dos polinômios de complexidade da interpolação para as operações 
de adição (a) e divisão (b). 
 
 
Métodos Numéricos Prof. Mário Duarte 274 
 
(a) Adição (b) Divisão 
Figura 3.2- Valores dos polinômios de complexidade para interpolação. 
 
 Pela Figura 3.2(a), os polinômios de Newton são os que apresentam menor complexidade para a 
operação de adição. 
 No que diz respeito à operação de divisão, as complexidades dos algoritmos de Lagrange e 
Gregory-Newton são lineares, enquanto o de Newton é quadrático. 
Métodos Numéricos Prof. Mário Duarte 275 
 Entretanto, pela Figura 3.2(b), o polinômio de Newton é o mais indicado quando 𝑛 ≤ 2. 
 Fica claro, pela Tabela 3.5, que os polinômios de Lagrange são os menos eficientes em termos da 
operação de multiplicação. 
 Logo, para polinômios de grau 𝑛 ≤ 2 é preferível utilizar a fórmula de Newton; caso contrário, um 
polinômio de Gregory-Newton é o mais indicado se os pontos forem igualmente espaçados. 
 
Métodos Numéricos Prof. Mário Duarte 276 
3.9 – Splines cúbicos. 
 Sejam 𝑛 + 1 pontos (𝑥𝑖 , 𝑦𝑖) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 , com 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑛−1 < 𝑥𝑛 . 
 Uma função 𝑆𝑝(𝑥) é denominada spline de grau p com nós nos pontos 𝑥𝑖 , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 , se 
satisfizer as seguintes condições: 
(a) Em cada subintervalo [𝑥𝑖 , 𝑥𝑖+1] , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 , 
𝑆𝑝(𝑥) deve ser um polinômio de grau p. 
(b) 𝑆𝑝(𝑥) deve ser contínua e ter derivada contínua até ordem (p – 1). 
 
Além disso, 𝑆𝑝(𝑥) também deverá satisfazer a condição: 
(c) 𝑆𝑝(𝑥𝑖) = 𝑓(𝑥𝑖) , 𝑖 = 0 , 1, 2 , ⋯ , 𝑛 , 
 
Atendendo aos requisitos, ela será denominada spline interpolante de ordem p. 
 
 
Métodos Numéricos Prof. Mário Duarte 277 
 Uma spline cúbica interpolante, 𝑆3(𝑥), é uma função polinomial por partes, contínua, onde cada 
parte, 𝑠𝑖(𝑥), é um polinômio de grau 3 no intervalo [𝑥𝑖 , 𝑥𝑖+1] , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 . 
 𝑆3(𝑥) tem a primeira e segunda derivadas contínuas, o que faz com que a curva 𝑆3(𝑥) não tenha 
picos e nem troque abruptamente de curvatura nos nós. 
 Deseja-se construir 𝑛 polinômios interpoladores cúbicos 𝑠𝑖(𝑥) , denominados splines cúbicos, que 
passem por dois pontos sucessivos (𝑥𝑖 , 𝑦𝑖) e (𝑥𝑖+1 , 𝑦𝑖+1) , ou seja, cada polinômio é utilizado no 
intervalo [𝑥𝑖 , 𝑥𝑖+1] , sendo da forma: 
 
𝑠𝑖(𝑥) = 𝑎𝑖(𝑥 − 𝑥𝑖)
3 + 𝑏𝑖(𝑥 − 𝑥𝑖)
2 + 𝑐𝑖(𝑥 − 𝑥𝑖) + 𝑑𝑖 , 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛 − 1 (14) 
 
ou 
 
𝑆3(𝑥) =
{
 
 
𝑠0(𝑥) = 𝑎0(𝑥 − 𝑥0)
3 + 𝑏0(𝑥 − 𝑥0)
2 + 𝑐0(𝑥 − 𝑥0) + 𝑑0 , 𝑠𝑒 𝑥0 ≤ 𝑥 ≤ 𝑥1
𝑠1(𝑥) = 𝑎1(𝑥 − 𝑥1)
3 + 𝑏1(𝑥 − 𝑥1)
2 + 𝑐1(𝑥 − 𝑥1) + 𝑑1 , 𝑠𝑒 𝑥1 ≤ 𝑥 ≤ 𝑥2
⋮ ⋮
𝑠𝑛−1(𝑥) = 𝑎𝑛−1(𝑥 − 𝑥𝑛−1)
3 + 𝑏𝑛−1(𝑥 − 𝑥𝑛−1)
2 + 𝑐𝑛−1(𝑥 − 𝑥𝑛−1) + 𝑑𝑛−1 , 𝑠𝑒 𝑥𝑛−1 ≤ 𝑥 ≤ 𝑥𝑛
 
 
Métodos Numéricos Prof. Mário Duarte 278 
E que satisfaçam às condições: 
𝑠𝑖(𝑥𝑖) = 𝑦𝑖 , 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛 − 1 𝑒 𝑠𝑛−1(𝑥𝑛) = 𝑦𝑛 , (15) 
𝑠𝑖(𝑥𝑖+1) = 𝑠𝑖+1(𝑥𝑖+1) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 2 , (16) 
de modo a garantir que os splines cúbicos passem pelos pontos (𝑥𝑖 , 𝑦𝑖) e sejam contínuos. 
 
 Para garantir também que as inclinações e curvaturas sejam contínuas, impõe-se que: 
𝑠𝑖
′(𝑥𝑖+1) = 𝑠𝑖+1
′ (𝑥𝑖+1) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 2 , (17) 
𝑠𝑖
′′(𝑥𝑖+1) = 𝑠𝑖+1
′′ (𝑥𝑖+1) , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 2 . (18) 
 
 Desta forma, o cálculo de 𝑆3(𝑥) , por meio da equação (14), exige a determinação de 𝑛 equações 
com 4𝑛 incógnitas 𝑎𝑖 , 𝑏𝑖 , 𝑐𝑖 𝑒 𝑑𝑖 . 
 É preciso determinar 4 coeficientes para cada i. 
 No entanto, as condições (15) a (18) fornecem apenas 4𝑛 − 2 equações, sendo necessárias mais 
duas equações para calcular todas as 4𝑛 incógnitas. 
 
Métodos Numéricos Prof. Mário Duarte 279 
- Cálculo dos coeficientes 
 Para 𝑥 = 𝑥𝑖 , na equação (14), e comparando com a equação (15): 
𝑠𝑖(𝑥𝑖) = 𝑑𝑖 , 
𝑑𝑖 = 𝑦𝑖 , para 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 1 (19) 
 Para 𝑥 = 𝑥𝑖+1 , na equação (14), e comparando com a equação (16) considerando a equação (15): 
𝑠𝑖(𝑥𝑖+1) = 𝑠𝑖+1(𝑥𝑖+1) = 𝑦𝑖+1 , 
𝑎𝑖(𝑥𝑖+1 − 𝑥𝑖)
3 + 𝑏𝑖(𝑥𝑖+1 − 𝑥𝑖)
2 + 𝑐𝑖(𝑥𝑖+1 − 𝑥𝑖) + 𝑑𝑖 = 𝑦𝑖+1 
Definindo: 
ℎ𝑖 = 𝑥𝑖+1 − 𝑥𝑖 , (20) 
e substituindo a equação (19) no polinômio acima, obtém-se a equação 21. 
𝑎𝑖(ℎ𝑖)
3 + 𝑏𝑖(ℎ𝑖)
2 + 𝑐𝑖(ℎ𝑖) + 𝑦𝑖 = 𝑦𝑖+1 (21) 
 
Por outro lado, as derivadas da equação (14) são: 
𝑠𝑖
′(𝑥) = 3 𝑎𝑖(𝑥 − 𝑥𝑖)
2 + 2 𝑏𝑖(𝑥 − 𝑥𝑖) + 𝑐𝑖 , (22) 
𝑠𝑖
′′(𝑥) = 6 𝑎𝑖(𝑥 − 𝑥𝑖) + 2 𝑏𝑖 . (23) 
Métodos Numéricos Prof. Mário Duarte 280 
Para 𝑥 = 𝑥𝑖 , na equação (23) 
𝑠𝑖
′′(𝑥𝑖) = 6 𝑎𝑖(𝑥𝑖 − 𝑥𝑖) + 2 𝑏𝑖 . 
𝑏𝑖 =
𝑠𝑖
′′(𝑥𝑖)
2
 para 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 1 (24) 
 
Para 𝑥 = 𝑥𝑖+1 , na equação (23) 
𝑠𝑖
′′(𝑥𝑖+1) = 6 𝑎𝑖(𝑥𝑖+1 − 𝑥𝑖) + 2 𝑏𝑖 . 
 
Considerando a equação (18) e substituindo as equações (20) e (24) teremos: 
𝑠𝑖+1
′′ (𝑥𝑖+1) = 6 𝑎𝑖ℎ𝑖 + 2 
𝑠𝑖
′′(𝑥𝑖)
2
 . 
𝑎𝑖 =
𝑠𝑖+1
′′ (𝑥𝑖+1)−𝑠𝑖
′′(𝑥𝑖)
6 ℎ𝑖
 para 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛 − 1 (25) 
 
Substituindo as equações (19), (24) e (25) na equação (21) obtemos: 
𝑠𝑖+1
′′ (𝑥𝑖+1)−𝑠𝑖
′′(𝑥𝑖)
6 ℎ𝑖
 ℎ𝑖
3 +
𝑠𝑖
′′(𝑥𝑖)
2
 ℎ𝑖
2 + 𝑐𝑖 ℎ𝑖 + 𝑦𝑖 = 𝑦𝑖+1 , 
logo, 
Métodos Numéricos Prof. Mário Duarte 281 
𝑐𝑖 = ⍋
1𝑦𝑖 − 
𝑠𝑖+1
′′ (𝑥𝑖+1) + 2 𝑠𝑖
′′(𝑥𝑖)
6
 ℎ𝑖 para 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 1 (26) 
 
sendo o operador diferença dividida ⍋1𝑦𝑖 : 
⍋1𝑦𝑖 =
𝑦𝑖+1 − 𝑦𝑖
ℎ𝑖
 (27) 
 
- Sistema linear subdeterminado 
 Impondo a condição da equação (17), onde as inclinações de dois splines cúbicos adjacentes, 
 𝑠𝑖−1(𝑥) e 𝑠𝑖(𝑥) , 
sejam iguais no ponto comum (𝑥𝑖 , 𝑦𝑖): 
𝑠𝑖−1
′ (𝑥𝑖) = 𝑠𝑖
′(𝑥𝑖) 
 
e, considerando a equação (22), tem-se: 
3 𝑎𝑖−1(𝑥𝑖 − 𝑥𝑖−1)
2 + 2 𝑏𝑖−1(𝑥𝑖 − 𝑥𝑖−1) + 𝑐𝑖−1 = 3 𝑎𝑖(𝑥𝑖 − 𝑥𝑖)
2 + 2 𝑏𝑖(𝑥𝑖 − 𝑥𝑖) + 𝑐𝑖 
 
Métodos Numéricos Prof. Mário Duarte 282 
Substituindo as equações (20), (24), (25) e (26), temos: 
 
3 
𝑠𝑖
′′(𝑥𝑖)−𝑠𝑖−1
′′ (𝑥𝑖−1)
6 ℎ𝑖−1
 ℎ𝑖−1
2 + 2 
𝑠𝑖−1
′′ (𝑥𝑖−1)−𝑠𝑖−1
′′ (𝑥𝑖−1)
2
 ℎ𝑖−1 +
𝑦𝑖 − 𝑦𝑖−1
ℎ𝑖−1
−
𝑠𝑖
′′(𝑥𝑖)+2 𝑠𝑖−1
′′ (𝑥𝑖−1)
6
 ℎ𝑖−1
=
𝑦𝑖+1 − 𝑦𝑖
ℎ𝑖
−
𝑠𝑖+1
′′ (𝑥𝑖+1)+2 𝑠𝑖
′′(𝑥𝑖)
6
 ℎ𝑖 
e, simplificando, obtém-se a i-ésima equação para 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛 − 1 
 
ℎ𝑖−1 𝑠𝑖−1
′′ (𝑥𝑖−1) + 2(ℎ𝑖−1 + ℎ𝑖)𝑠𝑖
′′(𝑥𝑖) + ℎ𝑖 𝑠𝑖+1
′′ (𝑥𝑖+1) = 6 (⍋
1𝑦𝑖 −⍋
1𝑦𝑖−1) (28) 
 
que é um sistema linear subdeterminado com 𝑛 − 1 equações e 𝑛 + 1 incógnitas 𝑠𝑖
′′(𝑥𝑖), 
𝑖 = 0 , 1 , 2 ,⋯ , 𝑛. 
 
 
Métodos Numéricos Prof. Mário Duarte 283 
 O sistema linear decorrente da equação (28) é da forma: 
[
 
 
 
 
ℎ0 2 (ℎ0 + ℎ1) ℎ1
ℎ1 2 (ℎ1 + ℎ2) ℎ2
ℎ2 2 (ℎ2 + ℎ3) ℎ3
⋱ ⋱ ⋱ ⋱
ℎ𝑛−2 2 (ℎ𝑛−2 + ℎ𝑛−1) ℎ𝑛−1]
 
 
 
 
 
[
 
 
 
 
 
𝑠0
′′(𝑥0)
𝑠1
′′(𝑥1)
𝑠2
′′(𝑥2)
⋮
𝑠𝑛−1
′′ (𝑥𝑛−1)
𝑠𝑛
′′(𝑥𝑛) ]
 
 
 
 
 
= 6 
[
 
 
 
 
 
 
⍋1𝑦1 −⍋
1𝑦0
⍋1𝑦2 −⍋
1𝑦1
⍋1𝑦3 −⍋
1𝑦2
⋮
⍋1𝑦𝑛−1 −⍋
1𝑦𝑛−2
]
 
 
 
 
 
 
 
 
 Para resolvermos esse sistema, de forma única, duas condições devem ser consideradas e, 
normalmente, condições baseadas no conhecimento prévio da dinâmica funcional do sistema modelado. 
 
 As condições mais utilizadas para a formulação spline são: 
I) Considerar que as derivadas segundas nos extremos do intervalo são nulas. 
𝑠0
′′(𝑥0) = 0
𝑠𝑛
′′(𝑥𝑛) = 0
} 
 Esta escolha é equivalente a supor que os polinômios, nos intervalos extremos, ou são lineares ou 
próximos de funções lineares. 
 
Métodos Numéricos Prof. Mário Duarte 284 
II) Considerar que as derivadas terceiras, de subintervalos adjacentes, nos extremos do intervalo são 
iguais. 
𝑠0
′′′(𝑥1) = 𝑠1
′′′(𝑥1)
𝑠𝑛−2
′′′ (𝑥𝑛−1) = 𝑠𝑛−1
′′′ (𝑥𝑛−1)
} 
 
III) Considerar que as derivadas segundas nos extremos do intervalo são iguais àquelas imediatamente 
justapostas. 
𝑠0
′′(𝑥0) = 𝑠1
′′(𝑥1)
𝑠𝑛
′′(𝑥𝑛) = 𝑠𝑛−1
′′ (𝑥𝑛−1)
} 
 Esta escolha é equivalente a supor que as cúbicas são aproximadamente parábolas, nos extremos. 
 
IV) Considerar valores arbitrários para as inclinações em cada extremo gerando duas novas equações: 
𝑆3
′ (𝑥0) = 𝐴
𝑆3
′ (𝑥𝑛) = 𝐵
} ⟹ {
𝑠1
′ (𝑥0) = 3 𝑎1 ℎ
2 − 2 𝑏1 ℎ + 𝑐1 = 𝐴
𝑠𝑛
′ (𝑥𝑛) = 𝑐𝑛 = 𝐵
 
 
 
Métodos Numéricos Prof. Mário Duarte 285 
- Resumo do procedimento de determinação das splines cúbicas: 
 
1) Estabelecer condições das duas últimas equações e calcular as derivadas do sistema resultante. 
 
2) Calcular os parâmetros 𝑎𝑖 ; 𝑏𝑖 ; 𝑐𝑖 𝑒 𝑑𝑖 para cada subintervalo: 
𝑎𝑖 =
𝑠𝑖+1
′′ (𝑥𝑖+1)−𝑠𝑖
′′(𝑥𝑖)
6 ℎ𝑖
 𝑏𝑖 =
𝑠𝑖
′′(𝑥𝑖)
2
 𝑐𝑖 = ⍋
1𝑦𝑖 − 
𝑠𝑖+1
′′ (𝑥𝑖+1) + 2 𝑠𝑖
′′(𝑥𝑖)
6
 ℎ𝑖 𝑑𝑖 = 𝑦𝑖 , 
 
3) Montar equação do subintervalo. 
𝑠𝑖(𝑥) = 𝑎𝑖(𝑥 − 𝑥𝑖)
3 + 𝑏𝑖(𝑥 − 𝑥𝑖)
2 + 𝑐𝑖(𝑥 − 𝑥𝑖) + 𝑑𝑖 , 𝑖 =0 , 1 , 2 ,⋯ , 𝑛 − 1 
 
 
Métodos Numéricos Prof. Mário Duarte 286 
3.10 – Splines cúbicos naturais. 
 A forma mais simples e frequentemente usada de eliminar duas incógnitas do sistema decorrente 
da equação (28) consiste em atribuir: 
 
𝑠0
′′(𝑥0) = 0
𝑠𝑛
′′(𝑥𝑛) = 0
} (29) 
 
Esta escolha é equivalente a: 
supor que os polinômios, nos intervalos extremos, ou são lineares ou próximos de funções lineares. 
 
 
Métodos Numéricos Prof. Mário Duarte 287 
- Cálculo das derivadas 
 Substituindo o valor de 𝑠0
′′(𝑥0) na primeira equação do sistema de equações (28) e 𝑠𝑛
′′(𝑥𝑛) na última 
equação, obtemos o sistema linear tri diagonal simétrico da equação (30), cuja solução fornece as derivadas 𝑠𝑖
′′(𝑥𝑖), 
para 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 1: 
 
[
 
 
 
 
2 (ℎ0 + ℎ1) ℎ1
ℎ1 2 (ℎ1 + ℎ2) ℎ2
ℎ2 2 (ℎ2 + ℎ3) ℎ3
⋱ ⋱ ⋱
ℎ𝑛−2 2 (ℎ𝑛−2 + ℎ𝑛−1)]
 
 
 
 
 
[
 
 
 
 
𝑠1
′′(𝑥1)
𝑠2
′′(𝑥2)
𝑠3
′′(𝑥3)
⋮
𝑠𝑛−1
′′ (𝑥𝑛−1)]
 
 
 
 
= 6 
[
 
 
 
 
 
⍋1𝑦1 −⍋
1𝑦0
⍋1𝑦2 −⍋
1𝑦1
⍋1𝑦3 −⍋
1𝑦2
⋮
⍋1𝑦𝑛−1 −⍋
1𝑦𝑛−2]
 
 
 
 
 
 (30) 
 
 Com essas derivadas têm-se os chamados splines cúbicos naturais, que devem ser usados quando 
𝑦 = 𝑓(𝑥) apresentar um comportamento linear nas proximidades dos extremos 𝑥0 e 𝑥𝑛. 
 
 
Métodos Numéricos Prof. Mário Duarte 288 
Exemplo 1 
Dados os pontos (1 , 2) , (2 , 4) , (4 , 1) , (6 , 3) e (7 , 3), calcular as segundas derivadas 𝑠𝑖
′′(𝑥𝑖) , para 
𝑖 = 0 , 1 , 2 , 3 , 4 , dos splines cúbicos naturais. 
- Da equação (20) ℎ𝑖 = 𝑥𝑖+1 − 𝑥𝑖 : 
ℎ0 = 𝑥1 − 𝑥0 = 2 − 1 ⟹ ℎ0 = 1 ℎ1 = 𝑥2 − 𝑥1 = 4 − 2 ⟹ ℎ1 = 2 
ℎ2 = 𝑥3 − 𝑥2 = 6 − 4 ⟹ ℎ2 = 2 ℎ3 = 𝑥4 − 𝑥3 = 7 − 6 ⟹ ℎ3 = 1 
 
- Usando a equação (27) ⍋1𝑦𝑖 =
𝑦𝑖+1−𝑦𝑖
ℎ𝑖
 : 
⍋1𝑦0 =
𝑦1−𝑦0
ℎ0
=
4−2
1
 ⟹ ⍋1𝑦0 = 2 ⍋
1𝑦1 =
𝑦2−𝑦1
ℎ1
=
1−4
2
 ⟹ ⍋1𝑦1 = −1,5 
⍋1𝑦2 =
𝑦3−𝑦2
ℎ2
=
3−1
2
 ⟹ ⍋1𝑦2 = 1 ⍋
1𝑦3 =
𝑦4−𝑦3
ℎ3
=
3−3
1
 ⟹ ⍋1𝑦3 = 0 
 
Substituindo os valores acima na equação (30), tem-se: 
[
2 (1 + 2) 2
2 2 (2 + 2) 2
2 2 (2 + 2)
] [
𝑠1
′′(𝑥1)
𝑠2
′′(𝑥2)
𝑠3
′′(𝑥3)
] = 6 [
−1,5 − 2
1 − (−1,5)
0 − 1
] → 𝑠′′(𝑥) = [
−4,7
3,6
−2,2
] 
 
- A partir da equação (29) e da solução do sistema acima, obtêm-se as segundas derivadas: 
𝑠0
′′(𝑥0) = 0 ; 𝑠1
′′(𝑥1) = −4,7 𝑠2
′′(𝑥2) = 3,6 𝑠3
′′(𝑥3) = −2,2 𝑠4
′′(𝑥4) = 0 
Métodos Numéricos Prof. Mário Duarte 289 
Exemplo 2 
A partir dos pontos do Exemplo 1, determinar as equações dos quatro splines cúbicos naturais na forma 
da equação (14). (6 , 3) e (7 , 3) 
- Determinação do spline 𝑠0(𝑥) do intervalo [𝑥0 , 𝑥1] ou [1 , 2]: 
𝑎0 =
𝑠1
′′(𝑥1) − 𝑠0
′′(𝑥0)
6 ℎ0
=
−4,7 − 0
6 × 1
= ⟹ 𝑎0 = −
47
60
 ; 
𝑏0 =
 𝑠0
′′(𝑥0)
2
=
 0
2
= ⟹ 𝑏0 = 0 ; 
𝑐0 = ⍋
1𝑦0 − 
𝑠1
′′(𝑥1) + 2 𝑠0
′′(𝑥0)
6
 ℎ0 = 2 − 
−4,7 + 2 ×0
6
 × 1 ⟹ 𝑐0 =
167
60
 ; 
𝑑0 = 𝑦0 ⟹ 𝑑0 = 2 ; 
 
𝑠0(𝑥) = −
47
60
(𝑥 − 1)3 + 0 (𝑥 − 1)2 +
167
60
(𝑥 − 1) + 2 . 
 
 
Métodos Numéricos Prof. Mário Duarte 290 
- Determinação do spline 𝑠1(𝑥) do intervalo [𝑥1 , 𝑥2] ou [2 , 4]: 
𝑎1 =
𝑠2
′′(𝑥2) − 𝑠1
′′(𝑥1)
6 ℎ1
=
3,6 − (−4,7)
6 × 2
= ⟹ 𝑎1 =
83
120
 ; 
𝑏1 =
 𝑠1
′′(𝑥1)
2
=
−4,7
2
= ⟹ 𝑏1 = −
47
20
 ; 
𝑐1 = ⍋
1𝑦1 − 
𝑠2
′′(𝑥2) + 2 𝑠1
′′(𝑥1)
6
 ℎ1 = −1,5 − 
3,6 + 2 × (−4,7)
6
 × 2 ⟹ 𝑐1 =
13
30
 ; 
𝑑1 = 𝑦1 ⟹ 𝑑1 = 4 ; 
𝑠1(𝑥) =
83
120
(𝑥 − 2)3 −
47
20
 (𝑥 − 2)2 +
13
30
(𝑥 − 2) + 4 . 
 
- Determinação do spline 𝑠2(𝑥) do intervalo [𝑥2 , 𝑥3] ou [4 , 6]: 
𝑎2 =
𝑠3
′′(𝑥3) − 𝑠2
′′(𝑥2)
6 ℎ2
=
−2,2 − (3,6)
6 × 2
= ⟹ 𝑎2 = −
29
60
 ; 
𝑏2 =
 𝑠2
′′(𝑥2)
2
=
3,6
2
= ⟹ 𝑏2 =
9
5
 ; 
𝑐2 = ⍋
1𝑦2 − 
𝑠3
′′(𝑥3) + 2 𝑠2
′′(𝑥2)
6
 ℎ2 = 1 − 
−2,2 + 2 × (3,6)
6
 × 2 ⟹ 𝑐2 = −
2
3
 ; 
𝑑2 = 𝑦2 ⟹ 𝑑2 = 1 ; 
𝑠2(𝑥) = −
29
60
(𝑥 − 4)3 +
9
5
 (𝑥 − 4)2 −
2
3
(𝑥 − 4) + 1 . 
Métodos Numéricos Prof. Mário Duarte 291 
- Determinação do spline 𝑠3(𝑥) do intervalo [𝑥3 , 𝑥4] ou [6 , 7]: 
𝑎3 =
𝑠4
′′(𝑥4) − 𝑠3
′′(𝑥3)
6 ℎ3
=
0 − (−2,2)
6 × 1
= ⟹ 𝑎3 =
11
30
 ; 
𝑏3 =
 𝑠3
′′(𝑥3)
2
=
−2,2
2
= ⟹ 𝑏3 = −
11
10
 ; 
𝑐3 = ⍋
1𝑦3 − 
𝑠4
′′(𝑥4) + 2 𝑠3
′′(𝑥3)
6
 ℎ3 = 0 − 
0 + 2 × (−2,2)
6
 × 1 ⟹ 𝑐3 =
11
15
 ; 
𝑑3 = 𝑦3 ⟹ 𝑑3 = 3 ; 
𝑠3(𝑥) =
11
30
(𝑥 − 6)3 −
11
10
 (𝑥 − 6)2 +
11
15
(𝑥 − 6) + 3 . 
 
- As derivadas dos splines naturais são: 
𝑠0
′ (𝑥) = −
47
20
(𝑥 − 1)2 +
167
60
 e 𝑠0
′′(𝑥) = −
47
10
(𝑥 − 1) 
𝑠1
′(𝑥) =
83
40
(𝑥 − 2)2 −
47
10
(𝑥 − 2) +
13
30
 e 𝑠1
′′(𝑥) =
83
20
(𝑥 − 2) −
47
10
 
𝑠2
′ (𝑥) = −
29
20
(𝑥 − 4)2 +
18
5
 (𝑥 − 4) −
2
3
 e 𝑠2
′′(𝑥) = −
29
10
(𝑥 − 4) +
18
5
 
𝑠3
′ (𝑥) =
11
10
(𝑥 − 6)2 −
11
5
 (𝑥 − 6) +
11
15
 e 𝑠3
′′(𝑥) =
11
5
(𝑥 − 6) −
11
5
 
- É muito fácil verificar a continuidade dos polinômios e derivadas nos nós informados. 
Métodos Numéricos Prof. Mário Duarte 292 
Exemplo 3 
Interpolar os valores 𝑧 = 1,2 ; 2,9 ; 5,2 𝑒 6,7 usando os splines cúbicos naturais obtidos no 
Exemplo 2. 
 
Após a determinação de qual subintervalo os valores a serem interpolados pertencem, 
 
𝑠0(1,2) = −
47
60
(1,2 − 1)3 + 0 (1,2 − 1)2 +
167
60
(1,2 − 1) + 2=2,5504 ; 
𝑠1(2,9) =
83
120
(2,9 − 2)3 −
47
20
 (2,9 − 2)2 +
13
30
(2,9 − 2) + 4 = 2,9907 ; 
𝑠2(5,2) = −
29
60
(5,2 − 4)3 +
9
5
 (5,2 − 4)2 −
2
3
(5,2 − 4) + 1 = 1,9568 ; 
𝑠3(6,7) =
11
30
(6,7 − 6)3 −
11
10
 (6,7 − 6)2 +
11
15
(6,7 − 6) + 3 = 3,1001 
 
 
Métodos Numéricos Prof. Mário Duarte 293 
 A Figura 3.3 mostra os quatro splines cúbicos naturais. 
 Os pares (𝑥𝑖 , 𝑦𝑖) são representados por pontos °, os splines 𝑠0(𝑥) e 𝑠2(𝑥) são esboçados por uma 
linha tracejada − −, 𝑠1(𝑥) e 𝑠3(𝑥) por uma linha sólida ̅̅ ̅̅ ̅ enquanto os valores interpolados são 
representados por △ . 
 Os splines 𝑠𝑖(𝑥) foram esboçados além de seus intervalos de utilização [𝑥𝑖 , 𝑥𝑖+1], apenas para 
visualizar os seus comportamentos. 
 
Figura 3.3 – Splines cúbicos naturais 
Métodos Numéricos Prof. Mário Duarte 294 
- Algoritmo e complexidade computacional 
 Um algoritmo feito para calcular as derivadas 𝑠𝑖
′′(𝑥) dos splines cúbicos naturais é mostrado a 
seguir. 
 
 Os parâmetros de entrada são: 
 o número n de pontos dados, 
 o vetor x contendo as abscissas 𝑥𝑖, em ordem crescente, e 
 o vetor y com as ordenadas 𝑦𝑖 . 
 
 Os parâmetros de saída são: 
 o vetor solução 𝑠2 contendo as segundas derivadas e 
 a condição de erro CondErro. 
A condição CondErro = 1 significa que o número de pontos n < 3, situação em que o 
algoritmo não pode ser executado. 
 
 São utilizados dois vetores de trabalho d e e, de dimensões n – 2, para armazenarem a diagonal e a 
subdiagonal do sistema linear tri diagonal simétrico. 
 Para economizar espaço de memória o vetor de termos independentes é armazenado, 
temporariamente, no vetor solução s2. 
Métodos Numéricos Prof. Mário Duarte 295 
 Algoritmo Splines_Deriv_Seg_Naturais 
 { Objetivo: Calcular as segundas derivadas para os splines cúbicos naturais } 
 {Declarar variáveis } 
 Parâmetros de entrada N , X , Y 
 { número de pontos dados, abscissas em ordem crescente e ordenadas } 
 Parâmetros de saída S2 , CondErro 
 { se CondErro = 1 , número de pontos < 3 } 
 { Entrada de dados } 
 { ... } 
 se N < 3 então 
 CondErro ← 1 
 abandone 
 fim se 
 { Iniciar variáveis } 
 { ... } 
Métodos Numéricos Prof. Mário Duarte 296 
 { Cálculos necessários } 
 { construção do sistema tri diagonal simétrico } 
 M ← N – 2 
 Ha ← X(2) – X(1) 
 Deltaa ← (Y(2) – Y(1)) / Ha 
 para I ← 1 até M faça 
 Hb ← X(I + 2) – X(I + 1) 
 Deltab ← (Y(I + 2) – Y(I + 1)) / Hb 
 E(I) ← Hb 
 D(I) ← 2 * (Há + Hb) 
 S2(I + 1) ← 6 * (Deltab - Deltaa) 
 Ha ← Hb 
 Deltaa ← Deltab 
 fim para 
 { eliminação de gauss } 
Métodos Numéricos Prof. Mário Duarte 297 
 para I ← 2 até M faça 
 T ← E(I – 1) / D(I – 1) 
 D(I) ← D(I) – T * E(I – 1) 
 S2(I + 1) ← S2(I + 1) – T * S2(I) 
 fim para 
 { solução por substituições retroativas } 
 S2(M + 1) ← S2(M + 1) / D(M) 
 para I ← M até 2 passo (-1) faça 
 S2(I) ← (S2(I) – E(I – 1) * S2(I + 1)) / D(I – 1) 
 fim para 
 S2(1) ←0 
 S2(M+2) ← 0 
 { Saída de dados } 
 { ... } 
 Fim algoritmo 
Métodos Numéricos Prof. Mário Duarte 298 
 A complexidade computacional do algoritmo “Splines_Deriv_Seg_Naturais” é mostrada na 
Tabela 3.6. 
 Como pode ser observado, o algoritmo tem complexidade linear para todas as operações 
aritméticas. 
 
Tabela 3.6 – Complexidade da construção de splines cúbicos naturais 
(n: número de pontos, 𝑛 > 3) 
Operações Complexidade 
Adições 20𝑛 − 47 
Multiplicações 5 𝑛 − 13 
Divisões 3 𝑛 − 7 
 
 O sistema linear é tri diagonal e simétrico e o algoritmo é baseado no método de eliminação de 
Gauss. 
 Não foi necessário utilizar a estratégia de pivotação parcial por que a matriz é diagonal 
estritamente dominante, fazendo com que os pivôs já estejam na diagonal principal. 
Métodos Numéricos Prof. Mário Duarte 299 
Exemplo 4 
Resolver o Exemplo 1 usando o algoritmo “Splines_Deriv_Seg_naturais”. 
Solução 
% Os parâmetros de entrada 
𝑛 = 5 
𝑥 = 1 2 4 6 7 
𝑦 = 2 4 1 3 3 
 
% produzem os resultados 
𝑠2 = 0 −4.7000 3.6000 −2.2000 0 
𝐶𝑜𝑛𝑑𝐸𝑟𝑟𝑜 = 0 
 
Métodos Numéricos Prof. Mário Duarte 300 
3.11 – Splines cúbicos extrapolados. 
 Outra forma de eliminar duas incógnitas do sistema decorrente da equação (28) consiste em impor 
a condição: 
 
𝑠0
′′′(𝑥1) = 𝑠1
′′′(𝑥1)
𝑠𝑛−2
′′′ (𝑥𝑛−1) = 𝑠𝑛−1
′′′ (𝑥𝑛−1)
} (31) 
 
sendo 𝑠𝑖
′′′(𝑥) obtido da derivação da equação (23). 
A partir da equações (23) e (25) obtemos: 
 
𝑠𝑖
′′′(𝑥) =
𝑠𝑖+1
′′ (𝑥𝑖+1) − 𝑠𝑖
′′(𝑥𝑖)
ℎ𝑖
 , 𝑖 = 0 , 1 , 2 , ⋯ , 𝑛 − 1 (32) 
 
 
Métodos Numéricos Prof. Mário Duarte 301 
- Cálculo das derivadas 
 Considerando, na equação (31), que 𝑠0
′′′(𝑥1) = 𝑠1
′′′(𝑥1) e avaliando na equação (32) obtemos: 
𝑠1
′′(𝑥1) − 𝑠0
′′(𝑥0)
ℎ0
=
𝑠2
′′(𝑥2) − 𝑠1
′′(𝑥1)
ℎ1
 
𝑠0
′′(𝑥0) =
(ℎ0 + ℎ1)𝑠1
′′(𝑥1) − ℎ0 𝑠2
′′(𝑥2)
ℎ1
 
 
Analogamente, a partir da condição da equação (31), quando 𝑠𝑛−2
′′′ (𝑥𝑛−1) = 𝑠𝑛−1
′′′ (𝑥𝑛−1), tem-se: 
𝑠𝑛−1
′′ (𝑥𝑛−1) − 𝑠𝑛−2
′′ (𝑥𝑛−2)
ℎ𝑛−2
=
𝑠𝑛
′′(𝑥𝑛) − 𝑠𝑛−1
′′ (𝑥𝑛−1)
ℎ𝑛−1
 
𝑠𝑛
′′(𝑥𝑛) =
(ℎ𝑛−1 + ℎ𝑛−2)𝑠𝑛−1
′′ (𝑥𝑛−1) − ℎ𝑛−1 𝑠𝑛−2
′′ (𝑥𝑛−2)
ℎ𝑛−2
 
 
Substituindo o valor acima de 𝑠0
′′(𝑥0) na primeira equação do sistema de equações (28) e 𝑠𝑛
′′(𝑥𝑛) na 
última, teremos o sistema linear tri-diagonal não simétrico mostrado na equação (33). 
 
Métodos Numéricos Prof. Mário Duarte 302 
[
 
 
 
 
 
 
(ℎ0+ℎ1)(ℎ0+2ℎ1)
ℎ1
ℎ1
2−ℎ0
2
ℎ1
ℎ1 2 (ℎ1 + ℎ2) ℎ2
ℎ2 2 (ℎ2 + ℎ3) ℎ3
⋱ ⋱ ⋱
ℎ𝑛−2
2 −ℎ𝑛−1
2
ℎ𝑛−2
(ℎ𝑛−1+ℎ𝑛−2) (ℎ𝑛−1+2 ℎ𝑛−2)
ℎ𝑛−2 ]
 
 
 
 
 
 
 
[
 
 
 
 
 
 
𝑠1
′′(𝑥1)
𝑠2
′′(𝑥2)
⋮
𝑠𝑛−2
′′ (𝑥𝑛−2)
𝑠𝑛−1
′′ (𝑥𝑛−1)]
 
 
 
 
 
 
= 6 
[
 
 
 
 
 
⍋1𝑦1 −⍋
1𝑦0
⍋1𝑦2 −⍋
1𝑦1
⍋1𝑦3 −⍋
1𝑦2
⋮
⍋1𝑦𝑛−1 −⍋
1𝑦𝑛−2]
 
 
 
 
 
 
(33) 
 
a partir do qual obtêm-se as derivadas 𝑠𝑖
′′(𝑥𝑖) , 𝑖 = 0 , 1 , 2 ,⋯ , 𝑛 − 1. 
 As derivadas 𝑠0
′′(𝑥0) e 𝑠𝑛
′′(𝑥𝑛) são dadas pelas expressões: 
𝑠0
′′(𝑥0) =
(ℎ0 + ℎ1)𝑠1
′′(𝑥1) − ℎ0 𝑠2
′′(𝑥2)
ℎ1
𝑠𝑛
′′(𝑥𝑛) =
(ℎ𝑛−1 + ℎ𝑛−2)𝑠𝑛−1
′′ (𝑥𝑛−1) − ℎ𝑛−1 𝑠𝑛−2
′′ (𝑥𝑛−2)
ℎ𝑛−2 }
 
 
 
 
 (34) 
 
Métodos Numéricos Prof. Mário Duarte 303 
 A derivada 𝑠0
′′(𝑥0) é uma extrapolação linear de 𝑠1
′′(𝑥1) e 𝑠2
′′(𝑥2), enquanto 𝑠𝑛
′′(𝑥𝑛) é uma 
extrapolação linear de 𝑠𝑛−2
′′ (𝑥𝑛−2) e 𝑠𝑛−1
′′ (𝑥𝑛−1). 
 
 Com essas condições, os splines cúbicos se ajustam perfeitamente a 
 𝑦 = 𝑓(𝑥) quando a função 𝑓(𝑥) é cúbica. 
 
 Os splines cúbicos extrapolados devem ser usados 
 quando 𝑦 = 𝑓(𝑥) apresentar um ponto de inflexão nas proximidades dos pontos finais 𝑥0 e 𝑥𝑛. 
 
 Estes splines são também conhecidos como not-a-knot. 
 
 
Métodos Numéricos Prof. Mário Duarte 304 
Exemplo 1 
Dados os pontos (1 , 2) , (2 , 4) , (4 , 1) , (6 , 3) e (7 , 3), calcular as segundas derivadas 𝑠𝑖
′′(𝑥𝑖) , para 
𝑖 = 0 , 1 , 2 , 3 , 4 dos splines cúbicos extrapolados. 
- Da equação (20) ℎ𝑖 = 𝑥𝑖+1 − 𝑥𝑖 : 
ℎ0 = 𝑥1 − 𝑥0 = 2 − 1 → ℎ0 = 1 ℎ1 = 𝑥2 − 𝑥1 = 4 − 2 → ℎ1 = 2 
ℎ2 = 𝑥3 − 𝑥2 = 6 − 4 → ℎ2 = 2 ℎ3 = 𝑥4 − 𝑥3 = 7 − 6 → ℎ3 = 1 
 
- Usando a equação (27) ⍋1𝑦𝑖 =
𝑦𝑖+1−𝑦𝑖
ℎ𝑖
 : 
⍋1𝑦0 =
𝑦1−𝑦0
ℎ0
=
4−2
1
 ⟹ ⍋1𝑦0 = 2 ⍋
1𝑦1 =
𝑦2−𝑦1
ℎ1
=
1−4
2
 ⟹ ⍋1𝑦1 = −1,5 
⍋1𝑦2 =
𝑦3−𝑦2
ℎ2
=
3−1
2
 ⟹ ⍋1𝑦2 = 1 ⍋
1𝑦3 =
𝑦4−𝑦3
ℎ3
=
3−3
1
 ⟹ ⍋1𝑦3 = 0 
 
Substituindo os valores acima na equação (33), tem-se: 
[
 
 
 
 
(1+2)(1+2×2)
2
22−12
2
0
2 2 (2 + 2) 2
0
22−12
2
(1 + 2)(1 + 2 × 2)
2 ]
 
 
 
 
 [
𝑠1
′′(𝑥1)
𝑠2
′′(𝑥2)
𝑠3
′′(𝑥3)
] = 6 [
−1,5 − 2
1 − (−1,5)
0 − 1
] → 𝑠′′(𝑥) =
[
 
 
 
 
 −
41
12⁄
37
12⁄
−17 12⁄ ]
 
 
 
 
 
 
 
Métodos Numéricos Prof. Mário Duarte 305 
- A partir da equação (34) e da solução do sistema acima, obtêm-se as segundas derivadas: 
𝑠0
′′(𝑥0) =
(1 + 2) × (−41 12⁄ ) − 1 × 
37
12⁄
2
= −20 13⁄
𝑠4
′′(𝑥4) =
(1 + 2) × −17 12⁄ − 1 ×
37
12⁄
2
= −11 3⁄ }
 
 
 
 
 
 
Portanto, as segundas derivadas são: 
 𝑠0
′′(𝑥0) = −
20
13⁄ ; 𝑠1
′′(𝑥1) = −
41
12⁄ 
 𝑠2
′′(𝑥2) =
37
12⁄ 𝑠3
′′(𝑥3) = −
17
12⁄ 
 𝑠4
′′(𝑥4) = −
11
3⁄ 
 
 
Métodos Numéricos Prof. Mário Duarte 306 
Exemplo 2 
A partir dos pontos do Exemplo 1, determinar as equações dos quatro splines cúbicos extrapolados na 
forma da equação (14). 
- Determinação do spline 𝑠0(𝑥) do intervalo [𝑥0 , 𝑥1] ou [1 , 2]: 
𝑎0 =
𝑠1
′′(𝑥1) − 𝑠0
′′(𝑥0)
6 ℎ0
=
−41 12⁄ − (−
20
3⁄ )
6 × 1
= ⟹ 𝑎0 =
13
24
 ; 
𝑏0 =
 𝑠0
′′(𝑥0)
2
=
−20 3⁄
2
= ⟹ 𝑏0 = −
10
3
 ; 
𝑐0 = ⍋
1𝑦0 − 
𝑠1
′′(𝑥1) + 2 𝑠0
′′(𝑥0)
6
 ℎ0 = 2 − 
−41 12⁄ + 2 ×(−
20
3⁄ )
6
 × 1 ⟹ 𝑐0 =
115
24
 ; 
𝑑0 = 𝑦0 ⟹ 𝑑0 = 2 ; 
 
𝑠0(𝑥) =
13
24
(𝑥 − 1)3 −
10
3
 (𝑥 − 1)2 +
115
24
(𝑥 − 1) + 2 . 
 
Métodos Numéricos Prof. Mário Duarte 307 
- Determinação do spline 𝑠1(𝑥) do intervalo [𝑥1 , 𝑥2] ou [2 , 4]: 
𝑎1 =
𝑠2
′′(𝑥2) − 𝑠1
′′(𝑥1)6 ℎ1
=
37
12⁄ − (−
41
12⁄ )
6 × 2
= ⟹ 𝑎1 =
13
24
 ; 
𝑏1 =
 𝑠1
′′(𝑥1)
2
=
−41 12⁄
2
= ⟹ 𝑏1 = −
41
24
 ; 
𝑐1 = ⍋
1𝑦1 − 
𝑠2
′′(𝑥2) + 2 𝑠1
′′(𝑥1)
6
 ℎ1 = −1,5 − 
37
12⁄ + 2 × (−
41
12⁄ )
6
 × 2 ⟹ 𝑐1 = −
1
4
 ; 
𝑑1 = 𝑦1 ⟹ 𝑑1 = 4 ; 
𝑠1(𝑥) =
13
24
(𝑥 − 2)3 −
41
24
 (𝑥 − 2)2 −
1
4
(𝑥 − 2) + 4 . 
 
- Determinação do spline 𝑠2(𝑥) do intervalo [𝑥2 , 𝑥3] ou [4 , 6]: 
𝑎2 =
𝑠3
′′(𝑥3) − 𝑠2
′′(𝑥2)
6 ℎ2
=
−1712− (
37
12)
6 × 2
= ⟹ 𝑎2 = −
3
8
 ; 
𝑏2 =
 𝑠2
′′(𝑥2)
2
=
37
12
2
= ⟹ 𝑏2 =
37
24
 ; 
𝑐2 = ⍋
1𝑦2 − 
𝑠3
′′(𝑥3) + 2 𝑠2
′′(𝑥2)
6
 ℎ2 = 1 − 
−17 12⁄ + 2 × (
37
12⁄ )
6
 × 2 ⟹ 𝑐2 = −
17
12
 ; 
𝑑2 = 𝑦2 ⟹ 𝑑2 = 1 ; 
𝑠2(𝑥) = −
3
8
(𝑥 − 4)3 +
37
24
 (𝑥 − 4)2 −
7
12
(𝑥 − 4) + 1 . 
 
Métodos Numéricos Prof. Mário Duarte 308 
- Determinação do spline 𝑠3(𝑥) do intervalo [𝑥3 , 𝑥4] ou [6 , 7]: 
𝑎3 =
𝑠4
′′(𝑥4) − 𝑠3
′′(𝑥3)
6 ℎ3
=
−11 3⁄ − (−
17
12⁄ )
6 × 1
= ⟹ 𝑎3 = −
3
8
 ; 
𝑏3 =
 𝑠3
′′(𝑥3)
2
=
−17 12⁄
2
= ⟹ 𝑏3 = −
17
24
 ; 
𝑐3 = ⍋
1𝑦3 − 
𝑠4
′′(𝑥4) + 2 𝑠3
′′(𝑥3)
6
 ℎ3 = 0 − 
−11 3⁄ + 2 × (−
17
12⁄ )
6
 × 1 ⟹ 𝑐3 =
13
12
 ; 
𝑑3 = 𝑦3 ⟹ 𝑑3 = 3 ; 
𝑠3(𝑥) = −
3
8
(𝑥 − 6)3 −
17
24
 (𝑥 − 6)2 +
13
12
(𝑥 − 6) + 3 . 
 
- As derivadas dos splines extrapolados são: 
𝑠0
′ (𝑥) =
13
8
(𝑥 − 1)2 +
20
3
(𝑥 − 1) +
115
24
 e 𝑠0
′′(𝑥) =
13
4
(𝑥 − 1) −
20
3
 e 𝑠0
′′′(𝑥) =
13
4
 
𝑠1
′(𝑥) =
13
8
(𝑥 − 2)2 −
41
12
(𝑥 − 2) −
1
4
 e 𝑠1
′′(𝑥) =
13
4
(𝑥 − 2) −
41
12
 e 𝑠1
′′′(𝑥) =
13
4
 
𝑠2
′ (𝑥) = −
9
8
(𝑥 − 4)2 +
37
12
 (𝑥 − 4) −
7
12
 e 𝑠2
′′(𝑥) = −
9
4
(𝑥 − 4) +
37
12
 e 𝑠2
′′′(𝑥) = −
9
4
 
𝑠3
′ (𝑥) = −8(𝑥 − 6)2 −
17
12
 (𝑥 − 6) +
13
12
 e 𝑠3
′′(𝑥) = −
9
4
(𝑥 − 6) −
17
12
 e 𝑠3
′′′(𝑥) = −
9
4
 
- É muito fácil verificar a continuidade dos polinômios e derivadas nos nós informados. 
Métodos Numéricos Prof. Mário Duarte 309 
Exemplo 3 
Interpolar os valores 𝑧 = 1,2 ; 2,9 ; 5,2 𝑒 6,7 usando os splines cúbicos extrapolados obtidos no 
Exemplo 2. 
 
Após a determinação de qual subintervalo os valores a serem interpolados pertencem, 
 
𝑠0(1,2) =
13
24
(1,2 − 1)3 − 10
3
 (1,2 − 1)2 +
115
24
(1,2 − 1) + 2=2,8293 ; 
𝑠1(2,9) =
13
24
(2,9 − 2)3 −
41
24
 (2,9 − 2)2 −
1
4
(2,9 − 2) + 4 = 2,7861 ; 
𝑠2(5,2) = −
3
8
(5,2 − 4)3 +
37
24
 (5,2 − 4)2 −
7
12
(5,2 − 4) + 1 = 1,8720 ; 
𝑠3(6,7) = −
3
8
(6,7 − 6)3 −
17
24
 (6,7 − 6)2 +
13
12
(6,7 − 6) + 3 = 3,2826 
 
 
Métodos Numéricos Prof. Mário Duarte 310 
 A Figura 3.4 mostra os quatro splines cúbicos extrapolados. 
 Os pares (𝑥𝑖 , 𝑦𝑖) são representados por pontos °, os splines 𝑠0(𝑥) e 𝑠2(𝑥) são esboçados por uma 
linha tracejada − −, 𝑠1(𝑥) e 𝑠3(𝑥) por uma linha sólida −, enquanto os valores interpolados são 
representados por △ . 
 Os splines 𝑠𝑖(𝑥) foram esboçados além de seus intervalos de utilização [𝑥𝑖 , 𝑥𝑖+1], apenas para 
visualizar os seus comportamentos. 
 
Figura 3.4 – Splines cúbicos extrapolados 
 
Métodos Numéricos Prof. Mário Duarte 311 
- Algoritmo e complexidade computacional 
 Um algoritmo feito para calcular as derivadas 𝑠𝑖
′′(𝑥) dos splines cúbicos extrapolados é mostrado a 
seguir. 
 
 Os parâmetros de entrada são: 
 o número n de pontos dados, 
 o vetor x contendo as abscissas 𝑥𝑖, em ordem crescente, e 
 o vetor y com as ordenadas 𝑦𝑖 . 
 
 Os parâmetros de saída são: 
 o vetor solução 𝒔𝟐 contendo as segundas derivadas e 
 a condição de erro CondErro. 
A condição CondErro = 1 significa que o número de pontos n < 4, situação em que o 
algoritmo não pode ser executado. 
 
 São utilizados três vetores de trabalho c , d e e, de dimensões n – 2, para armazenarem a diagonal e 
a subdiagonal do sistema linear tri diagonal não simétrico. 
 Para economizar espaço de memória o vetor de termos independentes é armazenado, 
temporariamente, no vetor solução s2. 
Métodos Numéricos Prof. Mário Duarte 312 
 Algoritmo Splines_Deriv_Seg_Extrapolados 
 { Objetivo: Calcular as segundas derivadas para os splines cúbicos extrapolados } 
 { Declarar variáveis } 
 Parâmetros de entrada N , X , Y 
 { número de pontos dados, abscissas em ordem crescente e ordenadas } 
 Parâmetros de saída S2 , CondErro 
 { se CondErro = 1 , número de pontos < 4 } 
 { Entrada de dados } 
 { ... } 
 se N < 4 então 
 CondErro ← 1 
 abandone 
 fim se 
 CondErro ← 0 
 { Iniciar variáveis } 
Métodos Numéricos Prof. Mário Duarte 313 
 { ... } 
 { Cálculos necessários } 
 { construção do sistema tri diagonal simétrico } 
 M ← N – 2 
 Ha ← X(2) – X(1) 
 Deltaa ← (Y(2) – Y(1)) / Ha 
 Hb ← X(3) – X(2) 
 Deltab ← (Y(3) – Y(2)) / Hb 
 D(1) ← (Ha + Hb) * (Ha + 2 * Hb) / Hb 
 C(2) ← (Hb2 - Ha2) / Hb 
 S2(2) ← 6 * (Deltab - Deltaa) 
 para I ← 2 até (M – 1) faça 
 Ha ← Hb } 
 Deltaa ← Deltab } 
 Hb ← X(I + 2) – X(I + 1) 
Métodos Numéricos Prof. Mário Duarte 314 
 Deltab ← (Y(I + 2) – Y(I + 1)) / Hb 
 D(I) ← 2 * (Ha + Hb) 
 E(I - 1) ← Ha 
 C(I + 1) ← Hb 
 S2(I + 1) ← 6 * (Deltab - Deltaa) 
 fim para 
 Ha ← Hb 
 Deltaa ← Deltab 
 Hb ← X(N) – X(N - 1) 
 Deltab ← (Y(N) – Y(N - 1)) / Hb 
 D(M) ← (Ha + Hb) * (Hb + 2 * Ha) / Ha 
 E(M - 1) ← (Ha2 – Hb2) / Ha 
 S2(M + 1) ← 6 * (Deltab - Deltaa) 
 { eliminação de Gauss } 
 para I ← 2 até M faça 
Métodos Numéricos Prof. Mário Duarte 315 
 T ← E(I – 1) / D(I – 1) 
 D(I) ← D(I) – T * C(I) 
 S2(I + 1) ← S2(I + 1) – T * S2(I) 
 fim para 
 { solução por substituições retroativas } 
 S2(M + 1) ← S2(M + 1) / D(M) 
 para I ← M até 2 passo (-1) faça 
 S2(I) ← (S2(I) – C(I) * S2(I + 1)) / D(I – 1) 
 fim para 
 Ha ← X(2) – X(1) 
 Hb ← X(3) – X(2) 
 S2(1) ← ((Ha + Hb) * S2(2) – Ha * S2(3)) / Hb 
 Ha ← X(N - 1) – X(N - 2) 
 Hb ← X(N) – X(N - 1) 
 S2(M + 2) ← ((Ha + Hb) * S2(M + 1) – Hb * S2(M)) / Ha 
 { Saída de dados } 
 { ... } 
 Fim algoritmo 
 
 
Métodos Numéricos Prof. Mário Duarte 316 
 A complexidade computacional do algoritmo “Splines_Deriv_Seg_Extrapoladas” é mostrada na 
Tabela 3.7. 
 Como pode ser observado, o algoritmo tem complexidade linear para todas as operações 
aritméticas. 
 
Tabela 3.7 – Complexidade da construção de splines cúbicos extrapolados 
(n: número de pontos, 𝑛 > 4) 
Operações Complexidade 
Adições 20𝑛 − 37 
Multiplicações 5 𝑛 − 3 
Divisões 3 𝑛 
 
 O sistema linear é tridiagonal não simétrico e o algoritmo é baseado no método de eliminação de 
Gauss. 
 Não foi necessário utilizar a estratégia da pivotação parcial por que a matriz é diagonal 
estritamente dominante, fazendo com que os pivôs já estejam na diagonal principal. 
Métodos Numéricos Prof. Mário Duarte 317 
Exemplo 4 
Resolver o Exemplo 1 usando o algoritmo “Splines_Deriv_Seg_Extrapolados”. 
Solução 
% Os parâmetros de entrada 
𝑛 = 5 
𝑥 = 1 2 4 6 7 
𝑦 = 2 4 1 3 3 
 
% produzem os resultados 
𝑠2 = −6.6667 −3.4167 3.0833 −1.4167 −3.6667 
𝐶𝑜𝑛𝑑𝐸𝑟𝑟𝑜 = 0 
 
 
Métodos Numéricos Prof. Mário Duarte 318 
3.12 – Avaliação

Outros materiais