unesp CAMPUS DE GUARATINGUETÁ Computação e Cálculo Numérico: Elementos de Cálculo Numérico Prof. G.J. de Sena - Depto. de Matemática – Rev. 2005 CAPÍTULO 4 INTERPOLAÇÃO 4.1 INTRODUÇÃO Considere a seguinte tabela relacionando calor específico da água(c) e temperatura (T): T (oC) 25 30 35 40 c 0.99852 0.99826 0.99818 0.99828 Suponha se queira determinar: (i) c para T = 32.5 oC; (ii) T para c = 0.99825. Este tipo de problema pode ser resolvido com a ajuda da interpolação. Interpolar uma função f(x) consiste em "substituir" esta função por outra função, g(x), que é uma aproximação da função dada. Há a necessidade de se efetuar uma interpolação em várias situações, como por exemplo: (a) Quando a função é conhecida apenas em um conjunto finito e discreto de pontos, não se dispondo de sua forma analítica; (b) Quando a forma analítica da funçã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.2 PROBLEMA GERAL DE INTERPOLAÇÃO Sejam x0, x1,..., xn (n+1) pontos distintos, chamados pontos de interpolação e sejam f(x0), f(x1), ..., f(xn) os valores de f(x) nesses pontos. Objetiva-se obter uma função de interpolação g(x) para a função f(x), a partir dos pontos de interpolação, com a condição de que os valores numéricos de f e g sejam coincidentes nesses pontos de interpolação, ou seja: g(x0) = f(x0) g(x1) = f(x1) …… g(xn) = f(xn) 73 Graficamente: Observe-se que: (a) a função g(x) pode pertencer à classe das funções exponenciais, logarítmicas, trigonométricas ou polinomiais; (b) para o caso da interpolação polinomial, há as formas dadas, por exemplo, pela fórmula de Taylor e pelos polinômios de Hermite, em que as condições de interpolação são outras 4.3 INTERPOLAÇÃO POLINOMIAL 4.3.1 EXISTÊNCIA E UNICIDADE DO POLINÔMIO INTERPOLADOR Dados os pontos (x 0 , f (x 0 )), (x 1 , f (x 1 )),..., (x n , f (x n )) , portanto (n + 1) pontos, queremos aproximar f ( x ) por um polinômio de grau ≤ n, Pn ( x ) , tal que: f ( x k ) = Pn ( x k ) k = 0,1,2,..., n Dado que Pn ( x ) é da forma a 0 + a 1 x + a 2 x 2 + ... + a n x n obter Pn ( x ) significa obter os coeficientes a 0 , a1 , a 2 , ... , a n Da condição Pn ( x k ) = f ( x k ) , obtém-se o sistema linear: 74 a0 + a1x0 + a2 x02 +L+ an x0n = f ( x0 ) a0 + a1x1 + a2 x12 +L+ an x1n = f ( x1 ) Sn +1 M M M M M 2 n a0 + a1xn + a2 xn +L+ an xn = f ( xn ) com n+1 equações e n+1 variáveis: a 0 , a1 ,L , a n . A matriz A dos coeficientes: 1 x0 1 x1 A= M M 1 xn x02 L x0n x12 L x1n M M xn2 L xnn é uma matriz de Vandermonde. Portanto, desde que x0, x1, ..., xn sejam pontos distintos, tem-se que det A ≠ 0 e que o sistema admite solução única. Concluindo: se x k ≠ x j , j ≠ k , então existe um único polinômio Pn(x), de grau ≤ n, tal que Pn ( x k ) = f ( x k ), k = 0,1,2, ... , n . Exemplo: Obter um polinômio de grau ≤ 2 que interpole os pontos da tabela x 1.0 1.1 1.2 f(x) 2.718 3.004 3.320 Determinar o valor aproximado de f(1.05) Solução: Forma do polinômio: P2 ( x) = a o + a1x + a 2 x2 Condição de interpolação: P2 ( x k ) = f ( x k ) k = 0,1,2 ∴ P2 ( x 0 ) = P2 (10 . ) = a 0 + a 1 + a 2 = f ( x 0 ) = f (10 . ) = 2.718 P2 ( x 1 ) = P2 (11 . ) = a 0 + a 1 (11 . ) + a 2 (11 . ) 2 = f (11 . ) = 3.004 P2 ( x 2 ) = P2 (12 . ) = a 0 + a 1 (12 . ) + a 2 (12 . ) 2 = f (12 . ) = 3.320 Os coeficientes ao, a1 e a2 são obtidos, portanto, da solução do sistema: 75 a 0 + a 1 + a 2 = 2.718 S 3 : a 0 + 1.1a 1 + 1.21a 2 = 3.004 a + 1.2a + 1.44a = 3.320 1 2 0 Usando o dispositivo prático para o método de eliminação de Gauss, obtém-se: a0 a1 a2 1 1 1 1 1.1 1.2 0.1 0.2 1 1.21 1.44 0.21 0.44 2.718 3.004 3.320 0.286 0.602 0.002 0.003 a2 = 0.003 = 15 . 0.002 0.286 − (0.21)(1.5) = −0.29 0.1 a0 = 2.718 - 1.5 + 0.29 = 1.508 a1 = ∴ P2 ( x ) = 1.508 − 0.29 x + 1.5x 2 f (1.05) ≅ P2 (1.05) = 1.508 − (0.29)(1.05) + (1.5)(1.05) 2 = 2.857 Obs.: sabendo-se que f(x) = ex, tem-se que f (1.05) = e1.05 = 2.8576511 A matriz A dos coeficientes pode ser, no caso geral, mal condicionada. Portanto, não será sempre conveniente obter o polinômio de interpolação da forma indicada no exemplo. 4.3.2 OBTENÇÃO DE Pn(x) - FORMA DE LAGRANGE 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. Supor que Pn(x) é da forma: Pn ( x) = y 0 L0 ( x) + y1 L1 ( x) + ... + y n Ln ( x) onde cada Lk ( x), (k = 0,1,2,..., n) , é um polinômio de grau ≤ n. Da condição de interpolação: Pn(xi) = yi vem que y 0 L0 ( xi ) + y1 L1 ( xi ) + ... + y n Ln ( xi ) = yi Esta condição será satisfeita se se impuser: 76 1, se k = i Lk ( xi ) = 0, se k ≠ i o que é obtido com a seguinte definição de Lk(x): Lk ( x) = ( x − x0 )( x − x1 )...( x − x k −1 )( x − xk +1 )...( x − x n ) ( x k − x0 )( xk − x1 )...( xk − x k −1 )( xk − xk +1 )...( xk − xn ) pois: Lk ( xk ) = 1e Lk ( xi ) = 0 se i ≠ k Como Lk(x) tem n fatores da forma (x - xi), Lk(x) é um polinômio de grau n. Assim, Pn(x) é um polinômio de grau ≤ n. Esta é a forma de Lagrange para o polinômio interpolador: n Pn( x) = ∑ y k Lk ( x) k =0 onde n π ( x − xi ) Lk ( x) = i =0 i ≠k n π ( x k − xi ) i =0 i ≠k Exemplo: Considere a função f(x) dada na forma tabelar a seguir. Use a forma de Lagrange para obter: (a) o valor aproximado para f(1.05), considerando todos os pontos da tabela; (b) o polinômio de interpolação de grau ≤ 2, da forma P2 ( x) = a o + a1 x + a 2 x 2 , que interpole todos os pontos da tabela. x 1.0 1.1 1.2 f(x) 2.718 3.004 3.320 Resolução: (a) P2 ( x) = y 0 L0 ( x) + y1 L1 ( x) + y 2 L2 ( x) (1) 77 L0 ( x) = ( x − x1 )( x − x2 ) ( x − 1.1)( x − 1.2) = ( x0 − x1 )( x0 − x2 ) (1.0 − 1.1)(1.0 − 1.2) (2) L1 ( x) = ( x − x0 )( x − x2 ) ( x − 1)( x − 1.2) = ( x1 − x0 )( x1 − x2 ) (1.1 − 1)(1.1 − 1.2) (3) L2 ( x) = ( x − x0 )( x − x1 ) ( x − 1)( x − 1.1) = ( x2 − x0 )( x2 − x1 ) (1.2 − 1)(1.2 − 1.1) (4) Substituindo-se x=1.05 nas expressões (2), (3) e (4), obtém-se: L0 (1.05) = (1.05 − 1.1)(1.05 − 1.2) = 0.375 (1.0 − 1.1)(1.0 − 1.2) L1 (1.05) = (1.05 − 1)(1.05 − 1.2) = 0.75 (1.1 − 1)(1.1 − 1.2) L2 (1.05) = (1.05 − 1)(1.05 − 1.1) = −0.125 (1.2 − 1)(1.2 − 1.1) Substituindo-se estes valores na equação (1): f (1.05) ≅ P2 (1.05) = 2.718 × 0.375 + 3.004 × 0.75 + 3.320 × (−0.125) = 2.857 (b) Para obter o polinômio na forma solicitada, é preciso desenvolver as expressões (2), (3) e (4) acima, como indicado a seguir: L0 ( x) = ( x − 1.1)( x − 1.2) x 2 − 2.3x + 1.32 = = 50 x 2 − 115 x + 66 (1.0 − 1.1)(1.0 − 1.2) 0.02 (5) L1 ( x) = ( x − 1)( x − 1.2) x 2 − 2.2 x + 1.2 = = −100 x 2 + 220 x − 120 (1.1 − 1)(1.1 − 1.2) − 0.01 (6) L2 ( x) = ( x − 1)( x − 1.1) x 2 − 2.1x + 1.1 = = 50 x 2 − 105 x + 55 (1.2 − 1)(1.2 − 1.1) 0.02 (7) Substituindo (5), (6) e (7) em (1), e efetuando-se a redução dos termos semelhantes, obtém-se: ∴ P2 ( x) = 2.718(50 x 2 − 115 x + 66) +3.004(−100 x 2 + 220 x − 120) +3.320(50 x 2 − 105 x + 55) ⇒ P2 ( x) = 1.5 x 2 − 0.29 x + 1.508 Observação: P2 (1.0) = (1.5)(1) 2 − (0.29)(1) + 1.508 = 2.718 P2 (1.1) = (1.5)(1.1) 2 − (0.29)(1.1) + 1.508 = 3.004 P2 (1.2) = (1.5)(1.2) 2 − (0.29)(1.2) + 1.508 = 3.320 (pois a função e o polinômio de interpolação devem coincidir nos pontos tabelados). 78 Exemplo: Seja a função f(x) conhecida apenas nos pontos tabelados: x 0 0.1 0.3 0.6 1 f(x) 1 2.001 4.081 8.296 21 Determinar o valor aproximado para f(0.2) aplicando-se a fórmula de Lagrange, para as formas de interpolação (a) linear e (b) quadrática. Resolução: (a) Interpolação linear ( P1 ( x) ) Deve-se considerar um intervalo com dois pontos, contendo a abscissa de interesse (0.2), ou seja: 0.1 0.3 2.001 4.081 Forma de P1 ( x) : P1 ( x) = y0 L0 ( x) + y1L1 ( x) onde: ( x − x1 ) ( x − 0.3) L0 ( x) = = ( x0 − x1 ) (0.1 − 0.3) ( x − x0 ) ( x − 0.1) L1 ( x) = = ( x1 − x0 ) (0.3 − 0.1) Substituindo-se x=0.2, obtêm-se os valores L0 (0.2) = 0.5 e L1 (0.2) = 0.5. Substituindo-se estes valores na expressão de P1 ( x) obtém-se: P1 (0.2) = 2.001 × 0.5 + 4.081 × 0.5 = 3.041 ∴ f (0.2) ≅ 3.041 (b) Interpolação quadrática ( P2 ( x) ) Deve-se considerar um intervalo com três pontos, contendo a abscissa de interesse (0.2). O intervalo escolhido deve ser tal que o ponto de interesse se situe o mais internamente possível à ele (ou seja, o mais distante possível de qualquer das extremidades). Um possível conjunto de pontos seria: 0 0.1 0.3 1 2.001 4.081 Também poderiam ser utilizados os pontos: 0.1 0.3 0.6 2.001 4.081 8.296 Utilizaremos o primeiro intervalo neste exemplo. Forma de P2 ( x ) : P2 ( x) = y 0 L0 ( x) + y1 L1 ( x) + y 2 L2 ( x) 79 onde: ( x − x1 )( x − x 2 ) ( x − 0.1)( x − 0.3) = ( x0 − x1 )( x0 − x 2 ) (0 − 0.1)(0 − 0.3) ( x − x0 )( x − x 2 ) ( x − 0)( x − 0.3) L1 ( x) = = ( x1 − x0 )( x1 − x 2 ) (0.1 − 0)(0.1 − 0.3) ( x − x 0 )( x − x1 ) ( x − 0)( x − 0.1) L2 ( x ) = = ( x 2 − x 0 )( x 2 − x1 ) (0.3 − 0)(0.3 − 0.1) L0 ( x) = Substituindo-se x=0.2, obtêm-se os valores: L0 (0.2) = -0.333, L1 (0.2) = 1 L2 (0.2) = 0.333. Substituindo-se estes valores na expressão de P2 ( x ) , obtém-se: P2 (0.2) = 1 × (−0.333) + 2.001 × 1 + 4.081 × 0.333 = 3.027 e ∴ f (0.2) ≅ 3.027 Exercício: Resolver o item(b) do exercício anterior considerando o segundo conjunto de pontos possível. Exemplo: (Interpolação Linear) (a) obter a forma de Lagrange para o polinômio P1 (x) que interpole os pontos (x0,f(x0)) e (x1,f(x1)). (b) obter a equação da reta que passa por (x0,f(x0)) e (x1,f(x1)). Resolução: (a) P1 ( x) = y 0 L 0 ( x) + y 1 L 1 ( x) L 0 ( x) = (x − x 1 ) (x 0 − x1 ) L 1 ( x) = (x − x 0 ) (x1 − x 0 ) ∴ P1 ( x) = y 0 x x0 x1 f(x) f(x0) f(x1) (x − x1 ) (x − x 0 ) ( x 1 − x) (x − x 0 ) (y1 − y 0 ) (y x − y1x 0 ) + y1 = y0 + y1 = x+ 0 1 (x 0 − x1 ) (x1 − x 0 ) (x1 − x 0 ) (x1 − x 0 ) (x1 − x 0 ) (x1 − x 0 ) 1424 3 1424 3 a (b) 80 b tgα = y1 − y 0 P1 ( x) − y 0 = x1 − x0 x − x0 ⇒ P1 ( x) = ( y1 − y 0 ) ( x − x0 ) + y 0 ( x1 − x0 ) ⇒ P1 ( x) = ( y1 − y 0 ) ( y − y1 ) x0 + ( x1 − x0 ) y 0 x+ 0 ( x1 − x0 ) ( x1 − x0 ) ⇒ P1 ( x) = ( y1 − y0 ) (y x − y x ) x+ 0 1 1 0 ( x1 − x0 ) ( x1 − x0 ) 1 424 3 1 424 3 a b Exercício: Seja a função f(x) conhecida apenas nos pontos tabelados: x 0 0.2 0.4 0.5 f(x) 0 2.008 4.064 5.125 Determinar o valor aproximado para f(0.3) aplicando-se a fórmula de Lagrange, . para as formas de interpolação (a) linear e (b) quadrática. Exercício: Usar a forma de Lagrange para obter um polinômio de grau ≤ 3 que interpole os pontos da tabela: x 0 1 3 4 f(x) -5 1 25 55 Calcular P3 (0), P3 (1), P3 (3)e P3 (4) , utilizando Briot-Ruffini. Resp.: P3 ( x) = x 3 − 2 x 2 + 7 x − 5 4.3.3 OBTENÇÃO DE Pn(x) - FORMA DE GREGORY - NEWTON PARA O POLINÔMIO INTERPOLADOR 4.3.3.1 TABELA DE DIFERENÇAS FINITAS Definição: Sejam x0 , x1 ,..., x n pontos que se sucedem com passo h, isto é, x n = x0 + jh . 81 Define-se o operador de diferenças finitas como segue: ∆0 f ( x) = f ( x) ∆f ( x ) = f ( x + h ) − f ( x ) ∆2 f ( x) = ∆f ( x + h) − ∆f ( x) M ∆n f ( x) = ∆n −1 f ( x + h) − ∆n −1 f ( x) Conhecidos os valores de f(x) em x0 , x1 ,..., x n , constrói-se a seguinte tabela de diferenças finitas: x f(x) x0 f(x0) ∆2f(x) ∆f(x) ∆f(x0) x1 ∆2f(x0) f(x1) ... ∆f(x1) x2 ∆2f(x1) f(x2) ∆f(x2) x3 f(x3) M M M M Exemplo: Seja f(x) dada na forma tabular: x -1 0 1 2 3 f(x) 2 1 2 5 10 A tabela de diferenças finitas para esta função é mostrada a seguir: x f(x) -1 2 0 1 ∆f(x) ∆2f(x) ∆3f(x) -1 2 1 1 2 0 2 3 2 5 2 5 3 0 10 82 4.3.2 O POLINÔMIO DE INTERPOLAÇÃO Estabelece-se a seguinte forma para o polinômio de interpolação (forma de GregoryNewton): ∆f ( x0 ) ∆2 f ( x0 ) ∆n f ( x0 ) Pn ( x) = f ( x0 ) + ( x − x0 ) + ( x − x0 )(x − x1 ) + ... + ( x − x )( x − x )...( x − x ) 0 1 n−1 h 2h 2 h n .n! Observar que os pontos de interpolação devem ser igualmente espaçados, com um passo h, ou seja: x1 = x0 + h x n = x n −1 + h x 2 = x1 + h ... ou, equivalentemente, x j = x0 + jh, j = 0,1,..., n . Exemplo: Dada a função y=f(x), conhecida pelos pontos da tabela abaixo, pede-se obter uma aproximação para f(0.25) empregando a fórmula de Gregory-Newton, para as formas de interpolação (a) linear, e (b) quadrática. x 0.10 0.20 0.30 0.40 0.50 f(x) 0.125 0.064 0.027 0.008 0.001 Resolução: (a) Interpolação Linear ( P1 ( x) ): Constrói-se P1 ( x) o polinômio interpolador de f(x) no intervalo: 0.20 0.30 0.064 0.027 Tabela de diferenças finitas: x f(x) xo = 0.20 ∆f(x) 0.064 -0.037 0.30 0.027 Forma de P1 ( x) : ∆f ( x0 ) h Substituindo os valores da tabela, obtém-se: P1 ( x) = f ( x0 ) + ( x − x0 ) P1 ( x) = 0.064 + ( x − 0.2) (−0.037) 0.1 Substituindo-se x=0.25, obtém-se: P1 (0.25) = 0.046 ∴ f (0.25) ≅ 0.046 (b) Interpolação Quadrática ( P2 ( x ) ): 83 Constrói-se P2 ( x ) , o polinômio interpolador de f(x) no intervalo: 0.10 0.20 0.30 0.125 0.064 0.027 Tabela de diferenças finitas: x f(x) ∆f(x) ∆2f(x) xo = 0.10 0.125 -0.061 0.024 0.20 0.064 -0.037 0.30 0.027 Forma de P2 ( x ) P2 ( x) = f ( x0 ) + ( x − x0 ) ∆f ( x0 ) ∆2 f ( x0 ) + ( x − x0 )(x − x1 ) h 2h 2 Substituindo-se os valores da tabela, obtém-se: P2 ( x) = 0.125 + ( x − 0.1) (−0.061) 0.024 + ( x − 0.1)(x − 0.2) 0.1 2 × (0.1) 2 Substituindo-se x=0.25, obtém-se: P2 (0.25) = 0.043 ∴ f (0.25) ≅ 0.043 Observe-se que neste caso não foi preciso construir a tabela de diferenças finitas para todos os pontos da tabela de dados. Abaixo é mostrada a tabela de diferenças finitas completa: x f(x) ∆2f(x) ∆f(x) ∆3f(x) ∆4f(x) xo = 0.10 0.125 -0.061 0.20 0.064 0.024 -0.037 -0.006 0.30 0.027 0.018 -0.019 0.000 -0.006 0.40 0.008 0.012 -0.007 0.50 0.001 Observe-se que, como o número de pontos na tabela de dados é cinco, a tabela de diferenças finitas permite calcular até a diferença de ordem quatro, que é o grau máximo que um polinômio de interpolação pode ter para este número de pontos. No entanto, o 84 valor desta última diferença na tabela acima é nulo, isto significando que o grau do polinômio de interpolação, ao se considerar todos os pontos da tabela, será igual a três e não a quatro. Exemplo: Obter, usando a forma de Gregory-Newton, o polinômio P2 ( x) = a o + a1 x + a 2 x 2 , que interpola f(x) nos pontos dados abaixo: x 1.0 1.1 1.2 f(x) 2.718 3.004 3.320 P2 ( x) da forma Resolução: (a) Construção da tabela das diferenças finitas x f(x) xo = 1.0 2.718 ∆2f(x) ∆f(x) 0.286 1.1 0.03 3.004 0.316 1.2 3.320 (b) obtenção de P2(x): ∆f ( x0 ) ∆2 f ( x0 ) + ( x − x0 )( x − x1 ) h 2h 2 0.286 0.03 ∴ P2 ( x) = 2.718 + ( x − 1) + ( x − 1)( x − 1.1) 0.1 (0.1) 2 .2 P2 ( x) = f ( x0 ) + ( x − x0 ) ⇒ P2 ( x) = 1.5 x 2 − 0.29 x + 1.508 Exercício: dada a função y = f(x), conhecida pelos pontos da tabela abaixo, calcular uma aproximação para f(3.7), empregrando a fórmula de Gregory-Newton. x 1 2 3 4 Obs.: f(x) 0 0.6931 1.0986 1.3863 f(x) = ln x Exercício: obter, usando a fórmula de Gregory-Newton, uma aproximação para f(0.7), onde f é uma função conhecida apenas nos pontos tabelados a seguir: 85 x 0 0.5 1 1.5 2.0 f(x) 0.0 1.1487 2.7183 4.9811 8.3890 4.3.4 OBTENÇÃO DE Pn(x) - FORMA DE NEWTON COM DIFERENÇAS DIVIDIDAS 4.3.4.1 TABELA DE DIFERENÇAS DIVIDIDAS Definição: Seja f(x) uma função tabelada em x 0 , x 1 ,K, x n , (n + 1) pontos distintos. Define-se o operador de diferenças divididas como segue: f [x 0 ] = f ( x 0 ) f [x1 ] − f [x 0 ] f ( x1 ) − f ( x0 ) = x1 − x 0 x1 − x0 f [x1 , x2 ] − f [x0 , x1 ] f [x0 , x1 , x2 ] = x 2 − x0 f [x0 , x1 ] = f [x0 , x1 , x2 , x3 ] = f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] x3 − x 0 M f [x0 , x1 , x2 ,K, xn ] = f [x1 , x2 ,K, xn ] − f [x0 , x1 ,K, xn −1 ] xn − x0 Define-se f [x0 , x1 ,K, x k ] como sendo a diferença dividida de ordem k da função f(x) sobre os (k+1) pontos: x0 , x1 ,K, x k Tabela de diferenças divididas Conhecidos os valores de f(x) em x0 , x1 ,K , x n , , constrói-se a seguinte tabela de diferenças divididas. 86 x ordem 0 x0 f x0 ordem 1 [ [ [ ] f x 0 , x1 , x 2 [ [ f x 0 , x1 , x 2 , x 3 [ [ ] f x1 , x 2 , x 3 [ O ] [ M [ ] f x 0 , x1 , x 2 , K , x n [ f x n−3 , x n−2 , x n−1 , x n [ M f x n − 2 , x n −1 , x n [ ] N M f x3 f x n −1 , x n xn ] ] M M ordem n ] ] f x2 f x 2 , x3 x3 ... ] f x1 f x1 , x 2 x2 ordem 3 [ ] f x 0 , x1 x1 ordem 2 ] ] ] [ ] f xn Exemplo: Construir a tabela de diferenças divididas para a função f(x) tabelada a seguir: x f(x) -1 1 0 1 1 0 2 -1 3 -2 Resolução: x -1 ordem 0 1 ordem 1 ordem 2 ordem 3 ordem 4 1−1 =0 0 − ( −1) 0 1 −1 − 0 1 =− 1 − ( −1) 2 0 −1 = −1 1− 0 1 0 0 − ( −1 2 ) 1 = 2 − ( −1) 6 −1 − ( −1) =0 2−0 −1 − 0 = −1 2 −1 2 -1 0−0 =0 3− 0 −1 − ( −1) =0 3 −1 −2 − ( −1) = −1 3−2 3 0 −1 6 1 =− 3 − ( −1) 24 -2 87 4.3.4.2 FORMA DE NEWTON PARA O POLINÔMIO INTERPOLADOR A forma de Newton para o polinômio Pn (x) que interpola f(x) em x 0 , x1 , K , x n , (n+1) pontos distintos, é a seguinte: () Pn x = f ( x ) + ( x − x ) f [ x , x ] + ( x − x )( x − x ) f [ x , x , x ] + K + ( x − x )( x − x ) K ( x − x ) f [ x , x ,..., x ] 0 0 0 1 0 1 0 1 2 0 1 n −1 0 1 n Exemplo: Dada a função y = f(x), conhecida pelos pontos da tabela abaixo, obter uma aproximação para f(0.27), empregando a fórmula de Newton (com diferenças divididas), para as formas de interpolação (a) linear e (b) quadrática. x f(x) 0.10 0.125 0.20 0.064 0.30 0.027 0.40 0.008 0.50 0.001 Resolução: (a) Interpolação Linear ( P1 ( x ) ): Obtém-se o polinômio P1 ( x) que interpola f(x) nos pontos do intervalo: 0.20 0.064 0.30 0.027 Tabela de diferenças divididas: x ordem 0 0.20 0.064 ordem 1 0.027 − 0.064 = −0.37 0.30 − 0.20 0.30 0.027 Forma de P1 ( x) : P1 ( x ) = f ( x ) + ( x − x ) f [ x , x ] 0 0 0 1 Substituindo-se os valores da tabela, obtém-se: P1 (x ) = 0.064 + ( x − 0.2) (-0.37) Calculando-se em x=0.27, obtém-se: P1 (0.27 ) = 0.038 ∴ f (0.27) ≅ 0.038 (b) Interpolação Quadrática ( P2 ( x) ): Obtém-se o polinômio P2 ( x) que interpola f(x) nos pontos do intervalo: 0.20 0.064 0.30 0.027 0.40 0.008 Recorde-se que devem ser escolhidos três pontos de forma que (i) contenham a abscissa de interesse (no caso, x=0.27), e (ii) que este valor se situe o mais “internamente” possível ao intervalo considerado. Assim , pelo critério (ii), o intervalo a seguir não deve ser usado, mesmo contendo a abscissa de interesse: 0.10 0.125 0.20 0.064 88 0.30 0.027 Tabela de diferenças divididas: x ordem 0 0.20 0.064 ordem 1 ordem 2 0.027 − 0.064 = −0.37 0.30 − 0.20 0.30 0.027 −0.19 − ( −0.37) = 0.9 0.40 − 0.20 0.008 − 0.027 = −0.19 0.40 − 0.30 0.40 0.008 Forma do polinômio P2 ( x) : P2 ( x ) = f ( x ) + ( x − x ) f [ x , x ] + ( x − x )( x − x ) f [ x , x , x ] 0 0 0 1 0 1 0 1 2 Substituindo-se os valores da tabela, obtem-se: P2 ( x ) = 0.064 + ( x − 0.2)( −0.37 ) + ( x − 0.2)( x − 0.3) 0.9 Calculando-se em x=0.27, obtém-se: ∴ f (0.27 ) ≅ 0.036 P2 (0.27 ) = 0.036 Observe-se que, para este exemplo, não foi necessário calcular todos os valores da tabela de diferenças divididas. A tabela completa é mostrada a seguir. Note-se que a diferença dividida de ordem 4 é nula. Ou seja, o grau máximo de um polinômio de interpolação para esta tabela é três. x ordem 0 0.10 0.125 ordem 1 ordem 2 ordem 3 ordem 4 -0.61 0.20 0.064 1.2 -0.37 0.30 -1 0.027 0.9 0 -0.19 0.40 -1 0.008 0.6 -0.07 0.50 0.001 Exemplo: obter, usando a forma de Newton, o polinômio P2 ( x) = a o + a1 x + a 2 x 2 que interpola f (x) nos pontos dados abaixo: x f(x) 1.0 2.718 1.1 3.004 Resolução: 89 1.2 3.320 P2 ( x) da forma (a) Tabela das diferenças divididas x ordem 0 1.0 2.718 ordem 1 3.004 − 2.718 ordem 2 = 2.86 1.1 − 1.0 1.1 3.16 − 2. 86 = 1. 5 1. 2 − 1. 0 3.004 3.320 − 3.004 = 3.16 1.2 − 1.1 1.2 3.320 (b) obtenção de P2 (x): P2 ( x ) = f ( x0 ) + ( x − x 0 ) f [x 0 , x1 ] + (x − x0 )( x − x1 ) f [x 0 , x1 , x 2 ] P2 ( x ) = 2.718 + ( x − 1)(2.86 ) + ( x − 1)( x − 1.1)(1.5) P2 ( x ) = 1.5 x 2 − 0.29 x + 1.508 4.3.4.3 ESTUDO DO ERRO NA INTERPOLAÇÃO Ao se aproximar uma função f(x) por um polinômio interpolador de grau ≤ n comete-se um erro, ou seja: E n ( x ) = f ( x ) − Pn ( x ), ∀x ∈ [x 0 , x n ] Teorema 1: Sejam x0 < x1 < x 2 < K < x n , (n + 1) pontos: Seja f(x) com derivadas até ordem (n + 1), ∀x ∈ [x0 , x n ] . Seja Pn(x) o polinômio interpolador de f(x) nos pontos x 0 , x1 , K , x n . Então, ∀x ∈ [x0 , x n ] , tem-se que: E n (x ) = f (x ) − Pn (x ) = (x − x 0 )(x − x 1 )(x − x 2 )K (x − x n ) f (n +1) (ε x ) (n + 1)! onde ε x ∈ ( x0 , xn ) Obs.: A fórmula anterior para En (x) tem uso limitado na prática, dado que são raras as situações em que conhecemos f (n +1) ( x) e que o ponto ε x nunca é conhecido. Teorema 2: f [x0 , x1 ,K, x n , x ] = f (n +1) (ε x ) , x ∈ (x , x ) e ε ∈ (x , x ) 0 n x 0 n (n + 1)! Observação: Este teorema mostra a relação existente entre a diferença dividida de ordem (n+1) e a derivada de ordem (n+1). 90 Corolário 1: Sob as hipóteses do Teorema 1, e se f ( n +1) ( x ) for contínua em I = [x0 , x n ], pode-se escrever a seguinte relação: M n +1 E n (x ) = f ( x ) − Pn ( x ) ≤ (x − x0 )( x − x1 )K ( x − x n ) (n + 1)! onde M n +1 = máx f ( n+1) ( x ) x∈I Se a função f (x) é dada na forma de uma tabela, o valor absoluto do erro, E n ( x ) , somente pode ser estimado. Se construirmos a tabela de diferenças divididas até ordem (n+1), podemos usar o maior valor (em módulo) das diferenças divididas de ordem (n+1) Mn + 1 como uma aproximação para no intervalo [xo , xn ], ou seja: (n + 1)! E n ( x) ≅ ( x − x 0 )( x − x1 )...( x − x n ) × Max n +1 onde: Max n +1 = Max diferenças divididas de ordem (n + 1) Exemplo: No primeiro exemplo do item 4.3.4.2, foram determinadas aproximações para f(0.27) a partir dos dados da tabela abaixo, utilizando-se as formas de interpolação linear e quadrática. Pede-se estimar os erros para cada uma destas formas. x f(x) 0.10 0.125 0.20 0.064 0.30 0.027 0.40 0.008 0.50 0.001 Resolução: a) Interpolação Linear No caso geral, E n ( x) pode ser estimado por: E n ( x) ≅ ( x − x0 )( x − x1 )K ( x − x n ) × Max n +1 Assim o erro E1 ( x) para interpolação linear pode ser estimado por: E1 ( x) ≅ ( x − x0 )( x − x1 ) × Max 2 onde: Max 2 = Max diferenças divididas de ordem 2 Recorde-se, do exemplo mencionado acima, que P1 ( x) foi construído sobre os pontos (0.2,0.064) e (0.3,0.027), e que Max2 = 1.2. Substituindo-se os valores na expressão de E1 ( x) , obtém-se: E1 ( x) ≅ ( x − 0.2)( x − 0.3) × 1.2 Calculando-se para x=0.27, obtém-se: E1 (0.27) ≅ 2.52 × 10 −3 b) Interpolação Quadrática : 91 A partir da expressão para E n ( x) obtém-se a seguinte expressão para a estimação de E 2 ( x) , que corresponde ao erro para interpolação quadrática: E 2 ( x) ≅ ( x − x0 )( x − x1 )( x − x 2 ) × Max3 onde: Max3 = Max diferenças divididas de ordem 3 Recorde-se, do exemplo mencionado acima, que P2 ( x) foi construído sobre os pontos (0.2,0.064), (0.3,0.027) e (0.4,0.008) e que Max3 = 1.0. Substituindo-se os valores na expressão de E 2 ( x) , obtém-se: E 2 ( x) ≅ ( x − 0.2)( x − 0.3)( x − 0.4) × 1.0 Calculando-se para x=0.27, obtém-se: E 2 (0.27) ≅ 2.73 × 10 −4 Exemplo: Seja f(x) dada na forma tabelar: x f(x) 0.2 0.16 0.34 0.22 0.4 0.27 0.52 0.29 0.6 0.32 0.72 0.37 (a) obter uma aproximação para f(0.47) utilizando um polinômio de interpolação de grau 2; (b) obter uma estimativa para o erro. Solução: (a) Tabelas de diferenças divididas: Para se calcular uma aproximação para f(0.47) utilizando P2 ( x) , seria necessário construir a tabela de diferenças divididas apenas para os valores do conjunto de dados a seguir: 0.4 0.27 0.52 0.29 0.6 0.32 No entanto, como o problema pede para que seja determinada também uma estimativa do erro da aproximação, é preciso construir a tabela de diferenças divididas considerando todos os pontos da tabela de dados e calculando-se até os termos de ordem 3, ou seja: x ordem 0 0.2 0.16 0.34 0.22 ordem 1 ordem 2 ordem 3 0.4286 2.0235 0.8333 x0=0.4 0.27 x1=0.52 0.29 x2=0.6 0.32 0.72 0.37 -17.8963 -3.7033 0.1667 1.0415 0.375 -2.6031 0.2085 0.4167 92 18.2492 A partir desta tabela, constrói-se o polinômio P2 ( x) como indicado: ∴ P2 (x ) = f ( x0 ) + ( x − x0 ) f [x0 , x1 ] + ( x − x0 )( x − x1 ) f [x0 , x1 , x2 ] = 0.27 + ( x − 0.4 )(0.1667) + (x − 0.4 )( x − 0.52)(1.0415) que é utilizado para obter a aproximação solicitada: ∴ f (0.47 ) ≅ P2 (0.47 ) = 0.27(0.47 − 0.4 )(0.1667 ) + (0.47 − 0.4 )(0.47 − 0.52 )(1.0415) ∴ f (0.47 ) ≅ 0.2780 (b) E n (x ) ≅ ( x − x 0 )( x − x1 )K (x − x n ) ⋅ Max n +1 ∴ E 2 ( x ) ≅ (x − x 0 )( x − x1 )( x − x 2 ) ⋅ Max3 onde: Max3 = Max diferenças divididas de ordem 3 ∴ E 2 (0.47 ) ≅ (0.47 − 0.4 )(0.47 − 0.52 )(0.47 − 0.6 )(18.2492 ) ⇒ E 2 (0.47 ) ≅ 8.303x10 −3 4.3.5 INTERPOLAÇÃO INVERSA Dada a Tabela: x f(x) x0 f(x0) x1 f(x1) x2 f(x2) xn f(xn) … … o problema de Interpolação Inversa consiste em, dado y ∈ ( f (xo ), f ( xn )) , obter x uma aproximação para o valor de x tal que f (x ) = y. FORMAS DE SE RESOLVER ESTE PROBLEMA (I) Obter Pn (x ) que interpole f(x) em x 0 , x1 , K , x n , e em seguida encontrar x tal que Pn (x ) = y . Exemplo: Dada a tabela a seguir, encontrar x uma aproximação para x tal que f (x ) = 2. x f(x) 0.5 1.65 0.6 1.86 0.7 2.01 0.8 2.23 0.9 2.46 utilizando interpolação quadrática sobre x o = 0.6, x 1 = 0.7, e x 2 = 0.8 Resolução: Tabela de Diferenças Divididas: (Construída apenas para os pontos de interesse e até a ordem 2) 93 1.0 2.72 x ordem 0 0.6 1.86 0.7 2.01 ordem 1 ordem 2 1.5 3.5 2.2 0.8 2.23 Polinômio de Interpolação ∴ P2 ( x ) = f ( x0 ) + ( x − x0 ) f [x0 , x1 ] + ( x − x0 )( x − x1 ) f [x0 , x1 , x2 ] ∴ P2 (x ) = 1.86 + (x - 0.6)1.5 + (x - 0.6)(x - 0.7)(3.5) ∴ P2 ( x ) = 3.5 x 2 − 3.05 x + 2.43 P2 (x ) = 2.0 ⇒ f (x ) ≅ 2 3.5 x 2 − 3.05 x + 2.43 = 2.0 ⇒ 3.5 x 2 − 3.05 x + 0.43 = 0 x = 0.6945 ou x = 0.177 ∴ x = 0.6945 (pois x = 0.6945 ∈ (0.6,0.7) ) (II) Interpolação Inversa Se f(x) for inversível num intervalo contendo y então fazemos a interpolação de x = f −1 ( y ) = g ( y ) . Uma condição para que uma função contínua num intervalo [a, b] seja inversível é que seja monótona crescente (ou decrescente) neste intervalo. Se f(x) é dada na forma tabelar, supondo que f(x) seja contínua em (x o , x n ), f (x ) será considerada monótona crescente se f (x o ) < f (x 1 ) < K < f (x n ) e decrescente se f (x o ) > f (x1 ) > K > f (x n ) . Exemplo: Dada a tabela a seguir, encontrar x uma aproximação para x tal que f (x ) = 2. Estimar o erro cometido com esta aproximação. x f(x) 0.5 1.65 0.6 1.86 0.7 2.01 0.8 2.23 0.9 2.46 1.0 2.72 (Utilizar interpolação quadrática) Resolução: Neste caso, como além da aproximação para x, solicita-se uma estimativa do erro incorrido com esta aproximação, é preciso construir a tabela de diferenças divididas (i) considerando todos os pontos da tabela de dados, e (ii) calculando-se os valores das diferenças até a ordem 3, uma vez que será utilizada interpolação quadrática. Como será utilizada interpolação inversa, a tabela será construída colocando-se “x como função de y”, como mostrado a seguir. (O cálculo dos valores das diferenças divididas segue o mesmo esquema anterior). 94 y ordem 0 1.65 0.5 y0=1.86 0.6 ordem 1 ordem 2 ordem 3 0.4762 0.5292 0.6667 y1=2.01 0.7 y2=2.23 0.8 2.46 0.9 2.72 1.0 -1.9012 -0.5735 0.4545 0.8828 -0.0438 0.4348 -0.0825 -0.1024 0.3846 A forma do polinômio de interpolação será a mesma anterior, apenas substituindo x por y e f por g ( = f −1 ), como mostrado a seguir: P2 ( y ) = g ( yo ) + ( y − yo )g [ yo , y1 ] + ( y − yo )( y − y1 )g [ yo , y1 , y2 ] ∴ P2 ( y ) = 0.6 + ( y − 1.86 )(0.6667 ) + ( y − 1.86)( y − 2.01)(− 0.5735) ∴ P2 (2.00 ) = 0.6 + (2 − 1.86 )(0.6667 ) + (2 − 1.86 )(2 − 2.01)(− 0.5735) = 0.6941 ∴ x = 0.6941 Exercício: Seja a Tabela: x f(x) 0.15 0.12 0.20 0.16 0.25 0.19 0.30 0.22 0.35 0.25 0.40 0.27 Usando um polinômio interpolador de grau 2, trabalhe de dois modos diferentes para obter o valor estimado de x para o qual f(x) = 0.23. Dê uma estimativa do erro cometido em cada caso, se possível. Resp.: (I) 0.3166666 (II) 0.3166666; erro ≅ 1.666664 x10 −3 Exercício: Construa uma tabela para a função f(x) = cos(x) usando os pontos: 0.8, 0.9, 1.0, 1.1, 1.2, 1.3. Obtenha um polinômio de 3o grau para estimar cos(1.07) Forneça um limitante superior para o erro ao se calcular cos(1.07) pelo polinômio obtido. Resp.: cos(1.07 ) ≅ 0.4801232 E(1.07 ) ≤ 1.2020383x10 − 6 Exercício: O calor específico da água, como função da temperatura, é dado por: 95 Temperatua, oC Calor Específico 20 25 30 35 40 45 50 0.99907 0.99852 0.99826 0.99818 0.99828 0.99849 0.99878 (a) use interpolação linear para estimar o calor específico da água a 37oC; (b) use interpolação quadrática para estimar o calor específico a 37oC; Obs.: usar o polinômio interpolante de Newton com diferenças divididos, estimar o erro cometido em cada caso: 4.3.6 INTERPOLAÇÃO LINEAR DUPLA Seja determinar uma aproximação para f (x c , y c ) , utilizando a teoria de Interpolação. Supor que xc e yc satisfaçam às restrições: x j−1 ≤ x c ≤ x j y i −1 ≤ y c ≤ y i Graficamente: r Inicialmente interpolamos z = f (x j −1 , y ) e obtemos uma expressão para f (x j −1 , y c ) , onde r f (x j−1 , y c ) é uma aproximação para f (x j −1 , y c ) . Depois interpolamos z = f (x j , y ) e obtemos uma expressão para f (x j , y c ). Interpolamos então z = f ( x, y c ) e obtemos então uma expressão para f ( xc , y c ) . O detalhamento segue: y c − y i −1 f (x j −1 , y i ) − f (x j −1 , y i −1 ) y i − y i −1 y − y i −1 f (x j , y c ) = f (x j , y i −1 ) + c f (x j , y i ) − f (x j , y i −1 ) y i − y i −1 [ f (x j −1 , y c ) = f (x j −1 , y i −1 ) + ] [ ] 96 f ( xc , y c ) = f (x j −1 , y c ) + xc − x j −1 x j − x j −1 [ f (x , y ) − f (x j c j −1 ] , yc ) Notar que as expressões para f (x j −1 , y c ) e f (x j , y c ) são obtidas a partir da interpolação de z como função de y, mantidos constantes os correspondentes valores de x. Notar também que a expressão para f (x c , y c ) é obtida a partir da interpolação de z como função de x, em r y constante é igual a yc . Observar, por final, que os valores para f (x j −1 , y c ) e f (x j , y c ), calculados através das duas primeiras expressões, são utilizados no cálculo de f ( xc , y c ) . Exemplo: A integral elíptica de primeira espécie é definida como sendo: dϕ ϕ F (Θ, ϕ ) = ∫ 0 1 − sen 2 Θ sen 2 ϕ Mostra-se, a seguir, uma tabela parcial do valor desta função: 50 55 60 65 70 75 80 50 60 70 80 90 0.9401 1.0500 1.1643 1.2833 1.4068 1.5345 1.6660 0.9647 1.0848 1.2125 1.3489 1.4944 1.6492 1.8125 0.9876 1.1186 1.2619 1.4199 1.5959 1.7927 2.0119 1.0044 1.1444 1.3014 1.4810 1.6918 1.9468 2.2653 1.0107 1.1542 1.3170 1.5065 1.7354 2.0276 2.4362 ( ) Seja determinar F 73 o ,77 o , utilizando interpolação linear dupla. Resolução: Notação utilizada: x 1 = 50, x 2 = 60, x 3 = 70, x 4 = 80, x 5 = 90 y 1 = 50, y 2 = 55, y 3 = 60, y 4 = 65, y 5 = 70, y 6 = 75, y 7 = 80 Cálculo de uma aproximação para f (73,77 ) 97 f (70,75) = 1.7927 f (70,80) = 2.0119 f (80,75) = 1.9468 f (80,80) = 2.2653 77 − 75 (2.0119 − 1.7927 ) = 1.8804 80 − 75 77 − 75 (2.2653 − 1.9468) = 2.0742 (ii) f (80,77 ) = 1.9468 + 80 − 75 73 − 70 (2.0742 − 1.8804) = 1.9385 (iii) f (73,77 ) = 1.8804 + 80 − 70 (i) f (70,77 ) = 1.7927 + 4.3.7 ASPECTOS COMPUTACIONAIS: IMPLEMENTAÇÃO DO MÉTODO DE NEWTON COM DIFERENÇAS DIVIDIDAS Esquema para construção da tabela de diferenças divididas: X ordem 0 X(0) D(0,0) ordem 1 D ( 0,1) = D (1,0 ) − D ( 0, 0 ) ordem 2 D ( 0, 2 ) = X (1) − X ( 0 ) X(1) D(1,0) D (1,1) = D ( 2, 0) − D (1, 0) D (1,1) − D ( 0,1) D(2,0) D ( 2,1) = D ( 3, 0 ) − D ( 2,0 ) D ( 2, 2 ) = D ( 2,1) − D (1,1) D ( 3, 2 ) = D(3,0) D ( 3,1) = D ( 4, 0 ) − D ( 3, 0 ) D ( 3,1) − D ( 2,1) X (4) − X ( 2) D ( 4, 2 ) = D ( 4,1) − D (3,1) X ( 4 ) − X ( 3) M M M X ( 5) − X ( 3) M D( N − 1,2) = D( N,1) − D( N − 1,1) X ( N) − X ( N − 1) X(N-1) D(N-1,0) D( N ,1) = D( N ,0) − D( N − 1,0) X ( N ) − X ( N − 1) X(N) D(N,0) 98 ordem N D(1, N − 2) − D(0, N − 2) D(0, N − 1) = ... D(1, N − 1) − D(0, N − 1) D(0, N ) = X ( N − 1) − X (0) D(2, N − 2) − D(1, N − 2) D(1, N − 1) = X ( 3) − X (1) X ( 3) − X ( 2 ) X(3) ... X ( 2) − X ( 0) X ( 2) − X (1) X(2) ordem (N-1) X ( N) − X (1) X ( N ) − X (0) Seja M = N + 1, o número de pontos da tabela. Os elementos de D podem ser obtidos, de uma forma genérica, a partir das expressões: D ( I ,0) = F ( X ( I )), I = 0, N D( I , J ) = D ( I + 1, J − 1) − D ( I , J − 1) X (I + J ) − X (I ) , J = 1, 2..., N , I = 0,1, 2,..., M − J + 1 O polinômio de interpolação de Newton com diferenças divididas, em uma determinada abscissa A, é dado por: P ( A) = D (0,0) + ( A − X ( 0)) D ( 0,1) + ( A − X ( 0))( A − X (1)) D (0, 2) + ... + ( A − X (0))( A − X (1))...( X − X ( N − 2)) D (0, N − 1) + + ( A − X (0))( A − X (1))...( A − X ( N − 1)) D ( 0, N ) N J −1 = ∑ ( A − X ( K ) ) D(0, J ) K =0 J =0 π com −1 π ( A − X (k ) ) = 1 K =0 Segue o algoritmo: Início ! Método de Newton com Diferenças Divididas ! entrada de dados Solicite o número de pontos Leia o número de pontos (M) Solicite os valores de (X,F(X)) N = M – 1 Para I de 0 até N Faça Leia X(I), D(I,0) Fim Para ! construção da tabela de diferenças divididas Para J de 1 até N Faça Para I de 0 até M-J+1 Faça D( I , J ) = D ( I + 1, J − 1) − D ( I , J − 1) X (I + J ) − X (I ) Fim para Fim para ! cálculo do valor aproximado Solicite o valor da abscissa em que se quer aproximar F Leia o valor da abscissa (A) F = 0 Para J de 0 até N Faça P = 1 Para K de 0 até J-1 Faça P = P * (A – X(K)) Fim Para F = F + D(0,J)*P Fim para 99 (* saída do valor aproximado *) Escreve ‘Aproximação = ‘, F Fim ! Método de Newton com Diferenças Divididas Exercícios: (1) Considere a função y = f (x) conhecida através dos pontos da tabela: x f(x) 0.000 1.000 0.100 0.761 0.300 0.067 0.400 -0.376 Através da forma de Lagrange, determine: (a) o valor aproximado de f(0.32) usando um polinômio interpolador de 2o grau, ou seja, calcule P2 (0.32) (b) P3(0.32) Sabendo que a função f(x) é x3 - 4x2 - 2x + 1, calcule f(0.32) exatamente. Obs.: trabalhar com quatro decimais Resp.: P2 (0.32) = -0.0165 P3(0.32) = -0.0168 (2) A tabela a selguir relaciona o calor específico da água (c) em função da temperatura (T). Calcular o calor especifico da água a uma temperatura de 25oC interpolando os pontos da tabela com um polinômio de 3o grau, obtido através: (a) da fórmula de Lagrange. (b) da fórmula de Newton com diferenças divididas. Comparar os resultados obtidos com o valor real 0.99852 T (oC) 20 30 45 55 C 0.99907 0.99826 0.99849 0.99919 Resp.: P3(25) = 0.99854 (3) A tabela a seguir relaciona a velocidade (v) de um foguete lançado do solo com o tempo (t). Calcule a velocidade aproximada do foguete 25s após o lançamento, interpolando os pontos da tabela com um polinômio de 4o grau, obtido através da fórmula de Newton com diferenças divididas. t (s) v (m/s) 0 0.000 8 52.032 20 160.450 Resp.: P4(25) = 219.612 m/s 100 30 275.961 45 370.276 (4) A tabela a seguir relaciona a distância (d) percorrida por uma bala ao longo do cano de um canhão com o tempo (t). Encontrar a distância percorrida pela bala 5 segundos após ter sido disparada, interpolando os pontos da tabela através de um polinômio de 4o grau obtido através da fórmula de Gregory-Newton. t (s) d (m) 0 0.000 2 0.049 4 0.070 6 0.087 8 0.103 Resp.: P4(5) = 0.078 (5) Considerando a tabela a seguir, onde estão representados alguns pontos da função f ( x ) = 3 x , determine o valor aproximado de 0.53. x f(x) 0.000 0.000 0.008 0.200 0.064 0.400 0.216 0.600 0.512 0.800 Agradecimentos: Ao Pólo Computacional, em particular à equipe de digitação, cujo apoio foi essencial para a produção do presente trabalho. Aos colegas do DMA, pelo apoio, críticas e sugestões recebidas. BIBLIOGRAFIA 1. RUGGIERO, M.A.G. & LOPES, V.L.R. Cálculo Numérico Aspectos Teóricos e Computacionais. McGraw-Hill, 1988. 2. DORN, W.S. & MAcCRACKEN, D.D. Cálculo Numérico com Estudo de Casos em Fortran IV. Campus,1978. 3. BARROSO, L.C. & outros. Cálculo Numérico (com aplicações). Editora Harbra Ltda, 1987. 4. SCHEID, F. Análise Numérica. McGraw-Hill, 1991. 5. ALBRECHT, P. Análise Numérica: um curso moderno. Livros Técnicos e Científicos, 1973. 6. PACITTI, T. & ATKINSON, C.P. Programação e Métodos Computacionais (Vol. 2). Livros Técnicos e Científicos, 1981. 7. CHAPRA, S.C. & CANALE, R.P. Numerical Methods for Engineers (with Personal Computer Applications). McGraw-Hill, 1987. 101