Interpolação Polinomial
Transcrição
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
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 maisGRÁ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 maisInterpolaçã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 maisProf. 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