Você está na página 1de 11

UNIVERSIDADE ZAMBEZE

FACULDADE DE CIÊNCIAS E TECNOLOGIA

CURSO ENGENHARIA MECATRÔNICA LABORAL

Cadeira: Métodos Numéricos

Tema: Interpolação polinomial de funções

Discente: Docente:

Dominik da Isabel Armando Dr. Jarafe Augusto Abdala

Beira, Março de 2021


INTERPOLAÇÃO POLINOMIAL DE FUNÇÕES

Interpolação de Newton com diferenças divdidas

Interpolação é um método que permite construir um novo conjunto de dados a partir de


um conjunto discreto de dados pontuais conhecidos. Em engenharia e ciências, dispõese
habitualmente de dados pontuais, obtidos a partir de uma amostragem ou
experimento. Através da interpolação pode-se construir uma função que
aproximadamente se "ajuste" nestes dados pontuais.

Conceito de Diferenças Divididas

Seja y = f(x) uma função que contém pontos distintos (xi,yi), onde i = 0,1,2,3.........n .
Representaremos diferença divididas, por f[ ] . Definiremos diferença dividida de ordem
zero a própria função, isto é, f0[x1] = f(x1) = y.

A diferença dividida de 1ª ordem para os argumentos x0 e x1 é uma aproximação da 1ª


derivada, isto é,

f ( x 1)−f ( x 0)
f 1[x0,x1] = ,
x 1−x 0

onde temos a seguinte propriedade f[x1,x0] = f[x0,x1]. Considerando yi = f(xi), podemos


escrever as diferenças divididas de 1º ordem, de forma geral, por:

y i+1− y
f [xi,xi+1] = .
x i+1−x

A diferença dividida de 2ª ordem para os argumentos x0 , x1 e x2 é dada por:

f 1 [ x 1 , x 2 ]−f 1 [x 0 , x 1 ]
f [ x 0, x 1, x 2] =
2
.
x 2−x 0

A diferença dividida de 2ª ordem para os argumentos x0 , x1, x2 e x3 é dada por:

3 f 2 [ x 1 , x 2 , x 3]−f 2 [ x 0 , x 1, x 2]
f [x0,x1,x2,x3] = .
x3 −x 0

Genericamente, a diferença dividida de ordem n é dada por:

fn[xi,xi+1,xi+2,xi+3.....,xi+n-1] =
f n−1 [ x i , x i+ 1, x i+2 , x i+ 3... , x i+n]−f n−1 [ x i , x i+1 , x i+2 , x i+3 ... , x i+n−1]
.
x i+n−x i

A fórmula de recorrência de interpola, de Newton com diferenças dividida, depende do


número de pontos existente na tabela.

2
1º Caso: Existem só dois pontos na tabela.

A fórmula, de interpolação, é obtida a partir da expressão de diferença divididas de


primeira ordem,

f ( x 1)−f ( x 0)
f1[x0,x1] = ,
x 1−x 0

onde isolando , para obter a fórmula de interpolação:


f (x 0) = f (x 1) + ( x 1−x 0).f1[x0,x1].

Assumiremos x= x0, onde é qualquer valor dentro do intervalo [x0,x1].

2º Caso: Existem só três pontos na tabela

A fórmula de interpolação, neste caso, é obtida a partir da expressão de diferença


divididas de segunda ordem,

f 1 [ x 1 , x 2 ]−f 1 [x 0 , x 1 ]
f [ x 0, x 1, x 2] =
2
.
x 2−x 0

f 1 [x 0 , x 1 ] = f 1 [x 1 , x 2 ]+( x ¿ ¿ 2−x0 ). f 2 ¿[ x 0, x 1, x 2].

Substituindo na primeira fórmula de interpolação, temos

f 1 ( x0 ) = f(x1) + (x0 - x1){f1[x1,x2] + f2{x0,x1,x2]} ,

que pode ser escrita por:

f 1 ( x0 ) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1).(x0 - x2)f2{x0,x1,x2]

que é a fórmula de interpolação para este caso, onde assumiremos x=x0 , onde x é
qualquer valor dentro do intervalo [x0, x]

3º Caso: Existem só quatro pontos na tabela


A fórmula de interpolação, neste caso, é obtida a partir da expressão de diferença
divididas de terceira ordem,

f 2 [ x 1 , x 2 , x 3]−f 2 [ x 0 , x 1, x 2]
f 3[ [x0,x1,x2,x3] = .
x3 −x 0

onde isolamos f 2 [x 1, x 2, x 3 ], para obter:


2
f 2 [x 0 , x 1 , x 2]= f [x 1, x 2, x 3 ]+(x 3−x 0 ). f 3[x0,x1,x2,x3]

3
Substituindo na segunda fórmula de interpolação, temos

f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ {f 2 [x 1, x 2, x 3 ] + ( x 3−x 0 ). f 3


[x0,x1,x2,x3]}. que pode ser expresso por:

f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 ) f 2 [ x 1 , x 2 , x 3]¿ + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

que é a fórmula de interpolação para este caso, onde assumiremos x = x0 , onde x é


qualquer valor dentro do intervalo [ x0 ,x3 ] .

4º Caso: Generalização para n pontos na tabela


Para uma tabela de n pontos, a fórmula de interpolação pode ser expressa, segundo o
mesmo raciocínio, por:
n i−1
f ( x0 )=¿¿ f ( xi) + ∑ f i[x0,...., xi]. ∏ (x−x j )
i=0 j=0

onde assumiremos x = x0 , onde x é qualquer valor dentro do intervalo [ x0 ,xn ] .

Exemplo 1: Determinar o polinomio interpolador de Newton da forma f(x) = AX3 +


BX2 + CX +D para a função.

I xi yi = f [ ]
0 0,0 1.008
1 0,2 1.064
2 0,3 1.125
3 0,5 1.343

Resolução:
I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ]
0 0,0 1.008
0,28
1 0,2 1.064 1,1
0,61 1
2 0,3 1.125 1,6
1,09
3 0,5 1.343

Utilizamos os valores em vermelho no momento das substituições.


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0.

f(x0) = 1,008 + (x - 0).0,28 + (x – 0)( x−0,2) + (x - 0)( x−0,2)(x−0,3).1

4
f(x0) = 1,008 + 0,28x + ( x 2- 0,2x).1,1 + x(x – 0,2).(x – 0,3).1

f(x0) = 1,008 + 0,28x + 1,1 x 2- 0,22x + x[ x 2- 0,5x + 0,06]

f(x0) = 1,008 + 0,28x + 1,1 x 2- 0,22x + x 3 – 0,5 x 2+ 0,06x

f(x0) = x 3 + 0,55 x 2 + 0,12x + 1,008

Exemplo 2: Obter o polinômio interpolador de grau 3 usando as fórmulas das


diferenças
divididas de Newton para os dados abaixo:

I xi yi = f [ ]
0 0 -5
1 1 1
2 3 25
3 4 55

Resolução:

I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ]
0 0 -5
6
1 1 1 2
12 1
2 3 25 6
30
3 4 55

Utilizamos os valores em verde no momento das substituições.


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0
f(x0) = -5 + (x0 - 0).6 + (x0 - 0)( x ¿¿ 0−1).2 ¿ + (x0 - 0)( x ¿¿ 0−1)(x 0−3)¿.1
f(x0) = -5 + 6x0 + x0 ( x ¿¿ 0−1).2 ¿ + x0( x ¿¿ 0−1)(x 0−3)¿
f(x0) = -5 + 6x0 + 2x02 - 2x0 + x0(x02 - 4x0 +3)
f(x0) = -5 + 6x0 + 2x02 - 2x0 + x03 - 4x02 +3x0
f(x0) = x03 - 2x02 + 7x0 - 5 ou f(x) = x 3 - 2 x 2 + 7x – 5

Exemplo 3: Determinar o polinomio interpolador de Newton da forma f(x) = AX3 +


BX2 + CX +D para a função;
I xi yi = f [ ]
0 0,0 0,1

5
1 0,2 0.1080
2 0,4 0.1640
3 0,6 0.3160

Resolução:

I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ]
0 0,0 0,1
0,04
1 0,2 0.1080 0,6
0,28 1
2 0,4 0.1640 1,2
0,76
3 0,6 0.3160

Utilizamos os valores em azul no momento das substituições..


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0

f(x0) = 0,1 + (x0 - 0).0,04 + (x0 - 0)( x ¿¿ 0−0,2) . 0,6 ¿ + (x0 - 0)( x ¿¿ 0−0,2)(x 0−0,4)¿ .
1
f(x0) = 0,1 + 0,04x0 + x0 ( x ¿¿ 0−0,2) . 0,6 ¿ + x0( x ¿¿ 0−0,2)(x 0−0,4)¿
f(x0) = 0,1 + 0,04x0 + 0,6x02 – 0,12x0 + x0(x02 – 0,6x0 +0,08)
f(x0) = 0,1 + 0,04x0 + 0,6x02 – 0,12x0 + x03 – 0,6x02 +0,08x0
f(x0) = x03 + 0,1 ou f(x) = x3 + 0,1

ESTUDO DO ERRO NA INTERPOLAÇÃO

Embora o polinômio interpolador p(x) coincida com a função nos pontos de


interpolação, x0, x1, ..., xn, espera-se que p(x )≅ f (x ) para x ≠ xi, i = 0, 1, ..., n, ou seja,
estimando f(x) pelo polinômio interpolador cometemos um erro nesta aproximação dado
por: E( x )=f (x)−p n (x)

Teorema: Resto de Lagrange

6
Seja f(x) uma função definida em x0, x1, ..., xn, (n + 1) pontos distintos de um intervalo
[a, b] e (n + 1) vezes diferenciável. Se p(x) interpola f(x) nesses pontos, então o erro
cometido E(x) é dado por:
f n+1 (ξ x )
En (x )=f ( x)−p n ( x) = ( x−x 0 )(x−x 1)(x−x 2)......( x−x n )
( n+1) !
Em que ξ x E (xo , xn).

Limitante Superior para o erro

Na expressão do erro, (En(x)) o parâmetro ξ x nunca é conhecido no intervalo I = [x 0, xn]


e, portanto, não é possível calcular o valor numérico de f n+1 (ξ). Desta forma, um
limitante superior para o erro é dado por:

M n+1
¿ En ( x )∨¿∨f (x )− pn (x )∨¿ ≤∨( x−x 0)( x −x1 )( x−x 2)......( x−x n )∨
(n+1)!
máx n+1
Em que M n+1= ¿ f (x )|
xEI
Se os pontos forem igualmente espaçados, ou seja, x1 – x0 = x2 – x1 = ... = xn – xn–1 = h,
então
hn+1 M n+1
¿ f ( x)− p n ( x)∨¿ ¿
4( n+1)

Estimativa para o erro

Se a função f(x) é dada na forma de tabela, o valor absoluto do erro só pode ser
estimado, pois, não é possível calcular Mn+1. Entretanto, se construirmos a tabela de
diferenças divididas até ordem n + 1, podemos usar o maior valor (em módulo) destas
diferenças como uma aproximação para no intervalo [x0, xn]

Neste caso, dizemos que:


| En (x )∨¿ ≈ ¿( x −x0 )(x−x 1)(x− x2 )......( x−x n )∨¿ (máx| diferenças divididas de ordem
n+1| )

Exemplo 4: Dado os dados abaixo:


a) Determinar o polinomio interpolador de Newton da forma f(x) = AX3 + BX2 + CX
+D para a função.

I xi yi = f [ ]
0 0,0 1.008
1 0,2 1.064
2 0,3 1.125

7
3 0,5 1.343
4 0,6 1,494

Resolução:

I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ] f 4[ ]
0 0,0 1.008
0,28
1 0,2 1.064 1,1
0,61 1
2 0,3 1.125 1,6 - 2,5
1,09 - 0,5
3 0,5 1.343 1,4
1,51
4 0,6 1,494

Utilizamos os valores em vermelho no momento das substituições.


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0.

f(x0) = 1,008 + (x - 0).0,28 + (x – 0)( x−0,2) + (x - 0)( x−0,2)(x−0,3).1

f(x0) = 1,008 + 0,28x + ( x 2- 0,2x).1,1 + x(x – 0,2).(x – 0,3).1

f(x0) = 1,008 + 0,28x + 1,1 x 2- 0,22x + x[ x 2- 0,5x + 0,06]

f(x0) = 1,008 + 0,28x + 1,1 x 2- 0,22x + x 3 – 0,5 x 2+ 0,06x

f(x0) = x 3 + 0,55 x 2 + 0,12x + 1,008

b) Calcular f (0,25)?

f(x0) = (0 , 2 5)3 + 0,55.(0 , 2 5)2 + 0,12.(0,25) + 1,008

8
f(x0) = 1,088.

c) Dar uma estimativa para o erro de truncamento.


| En (x )∨¿ ≈ ¿( x −x1 )( x−x 2)( x−x 3 )......( x−x n )∨¿ (máx| f [x0,x1,x2,......... x n+1]
| En (0,25)∨¿ ≈ ¿( 0,25−0)(0,25−0,2)(0,25−0,3)( 0,25−0,5)∨¿ -2,5 ¿
| En (0,25)∨¿ ≈ 0,000390625

Exemplo 5: Dado os dados abaixo;


Determinar o polinomio interpolador de Newton da forma f(x) = AX3 + BX2 + CX +D
para a função;
I xi yi = f [ ]
0 0,0 0,1
1 0,2 0.1080
2 0,4 0.1640
3 0,6 0.3160
4 0,9 0,612

Resolução:

I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ] f 4[ ]
0 0,0 0,1
0,04
1 0,2 0.1080 0,6
0,28 1
2 0,4 0.1640 1,2 0
0,76 1
3 0,6 0.3160 1,9
1,71
4 0,9 0,829

Utilizamos os valores em azul no momento das substituições..


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0

f(x0) = 0,1 + (x0 - 0).0,04 + (x0 - 0)( x ¿¿ 0−0,2) . 0,6 ¿ + (x0 - 0)( x ¿¿ 0−0,2)(x 0−0,4)¿ .
1
f(x0) = 0,1 + 0,04x0 + x0 ( x ¿¿ 0−0,2) . 0,6 ¿ + x0( x ¿¿ 0−0,2)(x 0−0,4)¿

9
f(x0) = 0,1 + 0,04x0 + 0,6x02 – 0,12x0 + x0(x02 – 0,6x0 +0,08)
f(x0) = 0,1 + 0,04x0 + 0,6x02 – 0,12x0 + x03 – 0,6x02 +0,08x0
f(x0) = x03 + 0,1 ou f(x) = x3 + 0,1

b) Calcular o f(0,3)?
f(x) = x3 + 0,1
f(x) = (0,3)3 + 0,1
f(x) = 0,127

c) Dar uma estimativa para o erro de truncamento.


| En (x )∨¿ ≈ ¿( x −x1 )( x−x 2)( x−x 3 )......( x−x n )∨¿ (máx| f [x0,x1,x2,......... x n+1]
En (0 ,3)∨¿ ≈ ¿( 0,3−0)(0,3−0,2)(0,3−0,4)(0,3−0,6)∨0∨¿
En (0,3)∨¿ ≈ 0

Observações;
 As diferenças divididas de ordem maior que n de um polinômio de grau n
são todas iguais a zero.

 Assim, ao examinamos uma tabela de diferenças de uma função, se as


diferenças de ordem k são praticamente constantes, isto significa que a
função é próxima de um polinômio de grau k.

Exemplo 6: Dado os dados abaixo


a) Obter o polinômio interpolador de grau 3 usando as fórmulas das diferenças divididas
de Newton.

I xi yi = f [ ]
0 0 -5
1 1 1
2 3 25
3 4 55
5 5 105

Resolução:

I xi yi = f [ ] f 1[ ] f 2[ ] f 3[ ] f 4[ ]
0 0 -5
6
1 1 1 2
12 1
2 3 25 6 0
30 1

10
3 4 55 10
50
4 5 105

Utilizamos os valores em verde no momento das substituições.


f(x0) = f(x1) + (x0 - x1)f1[x1,x2] + (x0 - x1)( x ¿ ¿ 0−x 2 )¿ { f 2 [x 1, x 2, x 3 ] + (x0 - x1)
( x ¿ ¿ 0−x 2 )(x 0−x 3) ¿. f 3[x0,x1,x2,x3]

Recordando que x = x0
f(x0) = -5 + (x0 - 0).6 + (x0 - 0)( x ¿¿ 0−1).2 ¿ + (x0 - 0)( x ¿¿ 0−1)(x 0−3)¿.1
f(x0) = -5 + 6x0 + x0 ( x ¿¿ 0−1).2 ¿ + x0( x ¿¿ 0−1)(x 0−3)¿
f(x0) = -5 + 6x0 + 2x02 - 2x0 + x0(x02 - 4x0 +3)
f(x0) = -5 + 6x0 + 2x02 - 2x0 + x03 - 4x02 +3x0
f(x0) = x03 - 2x02 + 7x0 - 5 ou f(x) = x 3 - 2 x 2 + 7x – 5

b) Calcular o f(1,5)?
f(x) = x 3 - 2 x 2 + 7x – 5
f(x) = (1,5)3 - 2.(1,5)2 + 7(1,5) – 5
f(x) = 13,375

c) Dar uma estimativa para o erro de truncamento.


| En (x )∨¿ ≈ ¿( x −x1 )( x−x 2)( x−x 3 )......( x−x n )∨¿ (máx| f [x0,x1,x2,......... x n+1]
En (1 , 5)∨¿ ≈ ¿(1,5−0)(1,5−1)(1,5−3)(1,5−4)∨0∨¿
En (1 , 5)∨¿ ≈ 0

Observações;
 As diferenças divididas de ordem maior que n de um polinômio de grau n
são todas iguais a zero.

 Assim, ao examinamos uma tabela de diferenças de uma função, se as


diferenças de ordem k são praticamente constantes, isto significa que a
função é próxima de um polinômio de grau k.

11

Você também pode gostar