Interpolação Polinomial

Сomentários

Transcrição

Interpolação Polinomial
4 – APROXIMAÇÃO DE FUNÇÕES
4.1- INTERPOLAÇÃO POLINOMIAL
Introdução: A interpolação
Interpolar uma função f(x) consiste em aproximar essa função por uma outra
função g(x), escolhida entre uma classe de funções definida a priori e 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 surge em várias situações, como por
exemplo:
a.) quando são conhecidos somente os valores numéricos da função para um
conjunto de pontos e é necessário calcular o valor da função em um ponto não
tabelado;
b.) quando a função em estudo tem uma expressão tal que operações como a
diferenciação e a integração são difíceis (ou mesmo impossíveis) de serem
realizadas.
4.1.1- Interpretação geométrica
Consideremos (n +1 ) pontos distintos: x0 , x1 , ... , xn , chamamos nós da
interpolação, e os valores de f(x) nesses pontos: f(x0 ), f(x1 ), ..., f(xn).
A forma de interpolação de f(x) que veremos a seguir, consiste em se obter uma
determinada função g(x) tal que:
g (x0 ) = f ( x0 )
 g (x ) = f (x )
1
 1
g( x2 ) = f (x 2 )

⋅
 ⋅
 ⋅
⋅

 ⋅
⋅

g(x n ) = f (x n )
Geometricamente, um esboço da interpolante g(x) sobre a função f(x) é visto na
figura 3.1.
Em particular, se g(x) = Pn (x), onde Pn é um polinômio de grau n, então a
interpolação é denominada de interpolação polinomial.
Observamos que:
i.)
existem outras formas de interpolação polinomial como, por exemplo, a
fórmula de Taylor, a interpolação por polinômios de Hermite e do tipo
“spline”, para as quais as condições são outras;
ii.)
Assim como g(x) foi escolhida entre as funções polinomiais, poderíamos
ter escolhido g(x) como função racional, função trigonométrica, etc. Um
68
iii.)
caso que explora combinaçãoes de funções trigonométricas, em campo real
ou complexo, é o aproximante definido a partir da série de Fourier;
existe também o caso polinomial não interpolante, tal como, o aproximante
de funções por mínimos quadrados.
Em qualquer um dos casos citados, estes encontram-se inseridos em um tópico
mais geral chamado aproximação de funções.
A interpolação polinomial que será vistá será a de Lagrange e a de Newton.
Figura 4.1 – esboço de uma função f(x) e de sua interpolante g(x), para n = 4 ( 05
nós).
Definição 4.1- Interpolação Polinomial
Dados os pontos (x0 , f(x0 )), (x1 , f(x1 )), ..., (xn , f(xn )), portanto (n + 1) pontos,
queremos aproximar f(x) por um polinômio pn (x), de grau menor ou igual a n, tal que:
f(xk ) = pn (xk ) k = 0, 1, 2, ..., n
Surgem aqui as perguntas: existe sempre um polinômio pn(x) que satisfaça estas
condições? Caso exista, ele é único?
Representaremos pn (x) por:
pn (x) = a0 + a1 x + a2x2 + ... + an xn .
Portanto, obter p n (x) significa obter os coeficientes a0, a1 , ..., an.
Da condição pn (xk ) = f(xk ), ∀ k = 0, 1, 2, ..., n, montamos o seguinte sistema
linear:
69
a
 0
a 0
.

.
.

a 0
+
+
a1x 0
a1x1
.
.
.
+ a1x n
a 2 x 20
a 2 x12
.
+ L + a n x n0
+ L + a n x1n
.
.
.
.
+ a 2 x 2n
.
.
.
.
+ L + a n x nn
+
+
=
=
=
f (x 0 )
f (x1 )
.
.
.
f (x n )
com n + 1 equações e n + 1 variáveis: a0 , a1 , ..., an .
A matriz A dos coeficientes é
2
n
1 x
0 x0 L x0 

1 x1 x12 L xn1 


. .
.
. 
A= 
. .
.
. 


.
. 
. .
2
n
1 x

n x n L xn 
que é uma matriz de Vandermonde e, portanto, desde que x0, x1 , ..., xn sejam pontos
distintos, temos det (A) ≠ 0 e, então, o sistema linear admite solução única.
Demonstramos assim o seguinte teorema:
Teorema 4.1 – Existência e unicidade do Polinômio Interpolador
Existe um único polinômio pn (x), de grau ≤ n, tal que: pn (xk ) = f(xk ), k = 0, 1, 2,
..., n, desde que xk ≠ xj, j ≠ k.
4.2- Forma de Lagrange do Polinômio de Interpolação
Sejam x0 , x1 , ...,xn , (n + 1) pontos distintos e yi = f(xi), i = 0, ..., n.
Seja pn (x) o polinômio de grau ≤ n que interpola f em x0, ..., xn. Podemos
representar pn(x) na forma pn (x) = y0L0 (x) + y1 L1 (x) + ... + yn Ln (x), onde os polinômios
Lk (x) são de grau n. Para cada i, queremos que a condição pn (xi) = yi seja satisfeita, ou seja:
pn (xi) = y0L0 (xi) + y1L1 (xi) + ... + yn Ln (xi) = yi
A forma mais simples de se satisfazer esta condição é impor:
0 se k ≠ i
Lk (xi) = 
e, para isso, definimos Lk(x) por
1 se k = i
Lk (x) =
(x − x 0 )(x − x1)K(x − x k −1)(x − x k +1)K(x − x n ) .
(x k − x 0 )(x k − x1 )K(x k − xk −1 )(xk − x k +1 )K(xk − x n )
70
É fácil verificar que realmente
Lk (xk) = 1 e
Lk (xi) = 0 se i ≠ k.
Como o numerador de Lk (x) é um produto de n fatores da forma:
(x − xi ) , i = 0, ..., n, i ≠ k, então Lk é um polinômio de grau n e, assim, pn (x) é
um polinômio de grau menor ou igual a n.
Além disso, para x = xi, i = 0, ..., n temos:
p n (x i ) =
n
∑ y k L k (x i ) = y i L i (x i ) = y i
k= 0
Então, a forma de Lagrange para o polinômio interpolador é:
n
pn (x) =
∑ y k L k (x )
k =0
onde
∏ (x − x j )
n
j=0
j≠ k
L k (x ) =
n
∏ (x k − x j )
.
j= 0
j≠ k
Exemplo 4.2.1: (Interpolação Linear)
Faremos aqui um exemplo teórico para interpolação em dois pontos distintos: (x0 ,
f(xo )) e (x1 , f(x1 )).
Assim, n é igual a 1 e, por isto, a interpolação por dois pontos é chamada
interpolação linear.
Usando a forma de Lagrange teremos:
p1 (x) = y 0 L 0 (x ) + y1 L1 (x ) , onde
(x − x 0 )
(x − x 1 )
L0 (x) =
, L1 (x) =
.
(x 0 − x 1 )
(x 1 − x 0 )
(x − x1 ) + y (x − x 0 )
Assim, p1 (x) = y 0
, ou seja,
(x 0 − x1 ) 1 (x1 − x 0 )
71
p1 (x) =
(x 1 − x )y 0 + (x − x 0 )y1
(x1 − x 0 )
que é exatamente a equação da reta que passa por (x0 , f(x0 )) e (x1 , f(x1 )).
Exemplo 4.2.2:
Seja a tabela:
x
-1
0
2
f(x)
4
1
-1
Pela forma de Lagrange, temos que:
p2 (x) = y 0 L 0 (x ) + y1 L1 (x ) + y 2 L 2 (x ) , onde:
L0 (x) =
L1 (x) =
L2 (x) =
(x − x 1 )(x − x 2 ) = (x − 0)(x − 2) = x 2 − 2x
(x 0 − x 1 )(x 0 − x 2 ) (− 1 − 0)(− 1 − 2 )
3
2
(x − x 0 )(x − x 2 ) (x + 1)(x − 2) x − x − 2
=
=
(x 1 − x 0 )(x 1 − x 2 ) (0 + 1)(0 − 2 )
−2
2
(x − x 0 )( x − x1 ) (x + 1)(x − 0) x + x
=
=
(x 2 − x 0 )( x 2 − x1 ) (2 + 1)(2 − 0)
6
Assim na forma de Lagrange,
 x 2 − 2x   x 2 − x − 2 
 2

 + 1
 + (− 1) x + x 
p2 (x) = 4

 

 6 
3
−2

 



Agrupando os termos semelhantes, obtemos que p2 (x) = 1 −
7
2
x + x2.
3
3
4.3 - Forma de Newton do Polinômio de Interpolação
A forma de Newton para o polinômio pn (x) que interpola f(x) em x0 , x1, ..., xn ,
(n + 1) pontos distintos é a seguinte:
pn (x) = d 0 + d1(x − x 0 ) + d 2 (x − x 0 )(x − x 1 ) + L + d n (x − x 0 )(x − x 1 )L(x − x n−1 )
No que segue, estudaremos:
i)
o operador diferenças divididas, uma vez que os coeficientes dk , k = 0, 1,
..., n acima são diferenças divididas de ordem k entre os pontos (xj, f(xj)),
j = 0, 1, ..., k.
ii)
a dedução da expressão de pn (x) dada por:
pn (x) = d 0 + d1 (x − x 0 ) + d 2 (x − x 0 )(x − x 1 ) + L + d n (x − x 0 )(x − x 1 )L (x − x n −1 )
72
4.3.1- Operador diferenças divididas
Seja f(x) uma função tabelada em n + 1 pontos distintos: x0, x1 , ..., xn.
Definimos o operador diferenças divididas por:
(Ordem Zero)
f [x 0 ] = f (x 0 )

[ ] [ ] ( ) ( )
f [x 0 , x1 ] = f x1 − f x 0 = f x1 − f x 0

x1 − x 0
x1 − x 0

f [x , x , x ] = f [x 1 , x 2 ] − f [x 0 , x 1 ]
 0 1 2
x 2 − x0

f [x , x , x , x ] = f [x 1 , x 2 , x 3 ] − f [x 0 , x1 , x 2 ]
 0 1 2 3
x3 − x 0

.
 .

.
 .
 .
.

f [x , x , x , L , x ] = f [x1 , x 2 , L , x n ] − f [x 0 , x1 , x 2 , L , x n −1 ]
n
 0 1 2
x n − x0
(Ordem 1)
(Ordem 2)
(Ordem 3)
(Ordem n)
Dizemos que f[x0 , x1, ..., xk ] é a diferença dividida de ordem k da função f(x) sobre
os k + 1 pontos: x0 , x1 , ..., xk .
Dada uma função f(x) e conhecidos os valores que f(x) assume nos pontos
distintos x0 , x1 , ..., xn , podemos construir a tabela:
x
x0
Ordem 0
f[x0 ]
Ordem 1
Ordem 2
Ordem 3
...
Ordem n
F[x0 , x1 ]
x1
f[x1 ]
f[x0 , x1, x2 ]
F[x1 , x2 ]
x2
f[x2 ]
f[x0 , x1 , x2, x3 ]
f[x1 , x2, x3 ]
F[x2 , x3 ]
x3
f[x3 ]
F[x3 ,x4]
x4
.
.
.
xn
f[x4 ]
.
.
.
f[xn ]
.
.
.
F[xn-1 , xn ]
.
f[x1 , x2 , x3, x4 ]
f[x2 , x3, x4 ]
.
.
.
f[xn-2 , xn-1 , xn ]
73
.
.
.
.
.
f[x0 , x1, x2 , ..., xn]
.
.
f[xn-3, xn-2 , xn-1 , xn ] .
Exemplo 4.3.1:
Seja f(x) tabelada abaixo
X
f(x)
-1
1
0
1
1
0
2
-1
3
-2
Sua tabela de diferenças divididas é:
x
-1
Ordem 0
1
Ordem 1
Ordem 2
Ordem 3
Ordem 4
0
0
1
−
1
2
-1
1
1
6
0
0
-1
2
−
1
24
0
-1
0
-1
3
-2
Onde
f [x1 ] − f [x 0 ] 1 − 1
=
=0
x1 − x0
1
f [x 2 ] − f [x1 ] 0 − 1
f[x1 , x2 ] =
=
= −1
x 2 − x1
1− 0
.
.
.
f [x1 , x 2 ] − f [x0 , x1 ] − 1 − 0 − 1
=
=
f[x0 , x1 , x2] =
x 2 − x0
1+ 1
2
f [x 2 , x3 ] − f [x1, x 2 ] − 1 + 1
f[x1 , x2 , x3] =
=
=0
x3 − x1
2−0
.
.
.
f [x1, x 2 , x3 ] − f [x 0 , x1 , x 2 ] 0 + 1 2 1
f[x0, x1 , x2, x3 ] =
=
=
x3 − x 0
2 +1
6
Procede-se desta forma até obter-se todos os termos da tabela de diferenças
divididas.
f[x0 , x1 ] =
74
Propriedade 4.3.1
As formas de diferenças divididas satisfazem a propriedade a seguir:
f[x0 , x1 , ..., xk ] é simétrica nos argumentos, ou seja, f[x0 , x1, ..., xk ] = f[xj0, xj1 , ...,
xjk ] onde j 0 , j1 , ..., jk é qualquer permutação de 0, 1, ..., k.
Por exemplo,
f [x1 ] − f [x0 ] f [x 0 ] − f [x1 ]
=
= f [x1 , x 0 ] .
f[x0, x1] =
x1 − x 0
x 0 − x1
Para k = 2 teremos:
f[x0 , x1 , x2] = f[x0 , x2, x1 ] = f[x1, x0 , x2 ] = f[x1 , x2 , x0] = f[x2 , x0, x1 ] = f[x2, x1 , x0 ].
4.3.2- A Forma de Newton do polinômio interpolador
Seja f(x) contínua e com tantas derivadas contínuas quantas necessárias num
intervalo [a, b].
Sejam a = x0 < x1 < x2 < ... < xn = b, (n + 1) pontos.
Construiremos o polinômio pn (x) que interpola f(x) em x0 , x1 , ..., xn . Iniciaremos a
construção obtendo p0(x) que interpola f(x) em x = x0 . E assim, sucessivamente,
construiremos pk (x) que interpola f(x) em x0 , x1, ..., xk , k = 0, 1, ..., n.
Seja p0 (x) o polinômio de grau 0 que interpola f(x) em x = x0 . Então, p0 (x) = f(x0 )
= f[x0 ].
Temos que, para todo x ∈ [a, b], x ≠ x0
f [x ] − f [x 0 ] f (x ) − f (x0 )
f [x0 , x] =
=
⇒
x − x0
x − x0
⇒ (x − x 0 )f [x0 , x] = f (x ) − f (x0 ) ⇒
⇒ f (x ) = f (x0 ) + (x − x 0 )f [x0 , x]
123 1442443
po ( x)
E 0(x )
⇒ E 0 (x ) = f (x ) − p0 (x ) = (x − x 0 )f [x 0 , x]
Note que E0 (x) = f(x)-p0 (x) é o erro cometido ao se aproximar f(x) por p0(x).
Seja agora construir p1 (x), o polinômio de grau ≤ 1 que interpola f(x) em x0 e x1 .
Temos que
f [x0 , x1 , x ] = f [x1 , x0 , x ] =
f [x 0 , x ] − f [x1, x0 ]
=
x − x1
f (x ) − f (x0 )
− f [x1 , x0 ]
x − x0
f (x ) − f (x 0 ) − (x − x 0 )f [x1 , x0 ]
=
=
( x − x1)
(x − x1 )(x − x 0 )
75
⇒ f [x0 , x1 , x ] =
f (x ) − f ( x0 ) − (x − x0 )f [x1, x 0 ]
⇒
(x − x 0 )(x − x1)
⇒ f (x ) = f (x0 ) + (x − x 0 )f [x1 , x 0 ] + (x − x 0 )(x − x1 )f [x 0 , x1, x ]
1444424444
3 1444 4244443
p1 (x )
E1 (x )
Assim,
p1 (x) = f (x 0 ) + (x − x 0 )f [x 0 , x 1 ] e
123 144
42444
3
p0 ( x)
q1 (x )
E1 (x) = (x − x 0 )(x − x1 )f [x 0 , x 1, x ] .
Verificação:
p1 (x) interpola f(x) em x0 e em x1 ?
p1 (x0) = f(x0 )
f (x1 ) − f (x 0 )
= f (x 1 ) .
p1 (x1) = f(x0 ) + (x1 – x0 )
x1 − x0
Seja agora construir p2 (x) , o polinômio de grau ≤ 2 que interpola f(x) em x0 , x1 ,
x2 .
Temos que:
f[x0 , x1 , x2, x] = f[x2 , x1 , x0, x] =
f [x 1 , x 0 , x] − f [x 2 , x 1 , x 0 ]
=
x − x2
f [x 0 , x] − f [x 1 , x 0 ]
− f [x 2 , x 1 , x 0 ]
x − x1
=
=
(x − x 2 )
f (x ) − f (x 0 )
− f [x1 , x 0 ]
(x − x 0 )
− f [x 2 , x1 , x 0 ]
(x − x 1 )
=
=
(x − x 2 )
f (x ) − f (x 0 ) − (x − x 0 )f [x1 , x 0 ] − (x − x 0 )(x − x1 )f [x 2 , x1 , x 0 ]
=
⇒
(x − x 0 )(x − x1 )(x − x 2 )
⇒
f (x ) = f (x 0 ) + (x − x 0 )f [x 0 , x 1 ] + (x − x 0 )(x − x1 )f [x 0 , x 1 , x 2 ] +
+ (x − x 0 )(x − x1 )(x − x 2 )f [x 0 , x 1 , x 2 , x ]
Então,
p2 (x) = f (x 0 ) + ( x − x 0 )f [x 0 , x1 ] + (x − x 0 )(x − x 1 )f [x 0 , x1 , x 2 ] e
14 44424 4443 144444244444
3
p1 (x )
q 2 (x )
E2 (x) = (x – x0 )(x – x1 )(x – x2 )f[x0 , x1 , x2 , x].
76
Observamos que, assim como para p1 (x) e p2 (x), pk (x) = pk–1 (x) + qk (x), onde q k (x)
é um polinômio de grau k.
Aplicando sucessivamente o mesmo raciocínio para
x0 , x1, x2 , x3 ;
x0 , x1, x2 , x3 , x4;
.
.
.
x0 , x1, x2 , ..., xn,
teremos a forma de Newton para o polinômio de grau ≤ n que interpola f(x) em x0 , ..., xn:
pn (x) = f(x0 ) + (x – x0)f[x0, x1 ] + (x – x0 )(x – x1)f[x0 , x1 , x2 ] + ... +
+ ... + (x – x0 )(x – x1 )...(x – xn–1 )f[x0 , x1 , ..., xn]
e o erro é dado por:
En (x) = (x – x0 )(x – x1 ) ... (x – xn )f[x0, x1 , ..., xn, x]
De fato, pn(x) interpola f(x)em x0 , x1 , ..., xn , pois sendo
f(x) = pn (x) + En(x), então para todo nó xk, k = 0, ..., n, temos:
f(xk ) = pn (xk ) + E n (x k ) = p n (x k ) .
1
424
3
=0
Exemplo 4.3.2:
Usando a forma de Newton, o polinômio p2 (x), que interpola f(x) nos pontos dados
abaixo, é:
x
f(x)
-1
4
0
1
2
-1
p2 (x) = f(x0 ) + (x – x0)f[x0, x1 ] + (x – x0 )(x – x1)f[x0 , x1 , x2 ].
x
-1
Ordem 0
4
0
1
2
-1
Ordem 1
Ordem 2
-3
2/3
-1
p2 (x) = 4 + (x + 1)(-3) + (x + 1)(x - 0)(2/3)
Observamos que, agrupando os termos semelhantes, obtemos
2
7
p2 (x) = x 2 − x + 1, que é a mesma expressão obtida no exemplo 2.
3
3
77
Observamos ainda que é conveniente deixar o polinômio na forma de Newton,
sem agrupar os termos semelhantes, pois, quando calcularmos o valor numérico de pn (x),
para x = α , evitaremos o cálculo de potências. O número de operações pode ainda ser
reduzido se usarmos a forma dos parênteses encaixados descrita a seguir:
Dado:
pn (x) = f(x0 ) (x – x0 )f[x0 , x1 ] + (x – x0 )(x –x1 )f[x0 , x1 , x2 ] +
+ (x – x0 )(x – x1 )(x – x2 )f[x0, x1 , x2 , x3] + ... +
+ (x – x0 )(x – xi)...(x – xn–1 )f[x0 , x1 , x2, ..., xn ]
temos que:
pn (x) = f(x0 ) + (x – x0 ){f[x0 , x1] + (x – x1){f[x0, x1 , x2 ] +
+ (x – x2 ){f[x0 , x1, x2 , x3 ] + ... + (x – xn–1 )f[x0 , x1, ..., xn ]...}}}.
Um algoritmo para se calcular pn ( α ) usando esta forma de parênteses encaixados
será visto na lista de exercícios no final deste capítulo.
78

Documentos relacionados

1 Integr. Num. Simples

1 Integr. Num. Simples As fórmulas de integração são de manejo fácil e prático e nos permite, quando a função f(x) é conhecida, ter uma idéia do erro cometido na integração numérica, como veremos mais adiante. Os argumen...

Leia mais

GRÁFICOS DE POLINÔMIOS

GRÁFICOS DE POLINÔMIOS não está associado à x. Se o polinômio está na forma decomposta, pode ser calculado por P(0). Sinal do Coeficiente Líder Os únicos pontos onde o gráfico de P(x) intercepta (cruzando ou não) o eixo ...

Leia mais

Interpolação - FACOM

Interpolação - FACOM Polinômio Interpolador de Lagrange Teorema (Lagrange): Seja f uma função definida num intervalo [a, b]] e conhecida nos p pontos ((xi, fi) i = 0,..., , , n. Existe um e um só polinómio Pn de grau m...

Leia mais

Prof. Marcelo Cóser Polinômios 01) (UFRGS) Se p(x) e q(x) são

Prof. Marcelo Cóser Polinômios 01) (UFRGS) Se p(x) e q(x) são 10) (UFRGS) Quais das afirmações abaixo estão corretas? I - Se p(x) e q(x) são polinômios de grau n, então o grau do polinômio p(x) + q(x) é 2n. II - O resto da divisão de p(x) = mx³ + x² - x por q...

Leia mais