UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADES DE CIÊNCIAS INTEGRADAS DO PONTAL Notas de aula: Cálculo Numérico Parte V Prof. Dr. Homero Ghioti da Silva 2013 1 1 Interpolação e Aproximação de funções de uma Variável real A proposta desta seção é aprender maneiras de aproximar por funções ou polinômios para um dado conjunto finito de dados em funções de teor mais complexo. Exemplo: Pm Sendo f uma função, então considere f∗ = i=1 ci φi uma combinação linear de funções φi ; i = 1, ..., m sendo uma aproximação para f. Conhecendo-se um número finito de pontos do gráfico de f i a saber {(xj ,f(xj )); i = 1, ..., n}. Tomando φi (xj ) = f(xj ) para qualquer i = 1, ..., m, temos que, a determinação dos coeficientes Ci dá origem ao sistema linear: c1 φ(x1 ) + c2 φ(x2 ) + ... + cm φ(xm ) = f (x1 ) c1 φ(x1 ) + c2 φ(x2 ) + ... + cm φ(xm ) = f (x2 ) ................. c1 φ(x1 ) + c2 φ(x2 ) + ... + cm φ(xm ) = f (xn ). Sendo m o número de icógnitas e n o número de equações. Se m = n e as funções φi forem linearmente independentes, estão o sistema acima tem uma única solução e teremos, portanto, uma interpolação de f . Se n > m, o sistema tem mais equações do que icógnitas e o sistema pode ser sobredeterminado. Neste caso, a sobredeterminação pode ser usado para reduzir o erro aleatório na aproximação dessa funções, dando ao sistema uma forma regular. Exemlo de Interpolação: FIGURA Nem todo ponto deve fazer parte da interpolação, deve-se usar extrapolação neste caso. Interpolação pode resultar em um grande erro de aproximação. Exemplo de interpolação de um conjunto de dados por um polinômio. Resumindo... 1. Interpolação: Busca de uma função interpoladora para os dados ou função de mais complexo tratamento. Maior a quantidade de dados, melhor a aproximação para a interpolação. (pontos muito fora deve-se extrapolar ou cancelar). 2. Sobredeterminação: Busca de qual equação da reta, ou função exponencial ou polinômios mais aproximados com os conjuntos de dados 2 informados. (Problema de minimização de erro pontual da curva obtida e os dados informados. Exemplo FIGURA Exemplo de sobredeterminação. A melhor reta que aproxima estes resultados. Malha com o ponto (xi ,f(xi )), f∗ uma reta gerada por duas funções φ0 = 1 e φ0 = x. Interpolação: As funções interpolantes mais comuns são as combinações lineares formados por {gi }i=1 n , onde gi são monômios {xk }, 0 ≤ k ≤ n, funçẽs trigonométricas {sen(kx), coss(kx)}, e as exponenciais {ebk x }; 0 ≤ k ≤. 1.1 Interpolação por Monômios ou Polinômial São os mais simples e sempre existem, garantidos pelo seguinte Teorema de Weirstrass: Se f é uma função contı́nua num intervalo fechado [a,b], então, dado > 0, existe algum polinomial de ordem n, Pn com n = n(), tal que: |f (x) − Pn (x)| < , parax ∈ [a, b] O teorema acima da existência do polinômio, mas não ensina como obtêPn lo. Supondo que Pn (x) = i=0 ai xi . Achar os coeficientes ai resulta diferentes métodos de interpolação, estes diferentes métodos de interpolação define diferentes formas para o erro de truncamento e que devem ser estudados cuidadosamente. 1.2 Interpolação Polinomial por Diferençãs Divididas Finitas (DDF) Considere uma função f , contı́nua em [a,b] diferenciavel em (a,b). Seja x0 ∈ [a,b] então ∀ x ∈ [a,b]; x 6= x0 temos: Definição: A diferença dividida finita de primeira ordem de f é definido por: f (x) − f (x0 ) x − x0 Definição de DDF para ordem superiors também pode ser definida segundo a tabela abaixo. f [x, x0 ] = 3 Ordem 0 1 2 ... n DDF f[x0 ] f[x1 , x0 ] f[x2 , x1 , x0 ] ... f[xn , xn−1 , ..., x1 , x0 ] Valor f(x0 ) f (x1 )−f (x0 ) x1 −x0 f [x2 ,x1 ]−f [x1 ,x0 ] x2 −x0 ... f [xn ,xn−1 ,...,x1 ]−f [xn−1 ,xn−2 ,...,x0 ] xn −x0 Exercı́cio: Calcular DDfs da pg 139. Propriedades: • Irrelevância da ordem dos argumentos da DDF: (x1 ) (x0 ) = f (xx00)−f = f[x1 , x0 ]. f[x1 , x0 ] = f (xx11)−f −x0 −x1 Generalizando por indução temos: f [xn , xn−1 , ..., x1 , x0 ] = f [xα0 , xα1 , xα2 , ..., xαn ] onde α1 , α2 , ..., αn é qualquer permutação dos inteirosn, n-1, ..., 2, 1, 0. • Simetria das DDFs: f (x1 ) f (x0 ) + x1 − x0 x0 − x1 Por indução e manipulação algébrica nas diferenças, demonstra-se que: f [x1 , x0 ] = f [x0 , x1 ] = f [xn , xn−1 , ..., x1 , x0 ] = n X f (xi ) k=0;k6=i (xi − xk ) Qn i−0 que é a forma simétrica geral das DDFs. Interpolação Linear com DDF Usa-se quando se conhece apenas dois pontos de f , isto é (x0 , f(x0 )) e (x1 , f(x1 )). Suponha f sendo linear (Trivial). FIGURA é possı́vel ver que F[x, x0 ] = f[x1 , x0 ] (*) (x0 ) Assim, f (x)−f = f[x1 , x0 ] ⇔ x−x0 f (x) = f (x0 ) + (x − x0 )F [x1 , x0 ] = P1 (x) f não linear Sendo assim (*) não se verifica 4 FIGURA Assim, P1 (x) ' f(x); x0 ≤ x ≤ x1 Assim, f (x) = P1 (x) + R1 (x) = f (x0 ) + (x − x0 )f [x1 , x0 ] + R1 (x) (1) ou seja, o erro de interpolação: R1 (x) = f (x) − f (x0 ) − (x − x0 )f [x1 , x0 ] = (x − x0 ){f [x, x0 ]} = (x − x0 )(x − x1 )f [x, x1 , x0 ]. (2) Supondo conhecido um terceiro ponto (x2 , f(x2 )) de gráfico de f , pode-se estimar R1 (x), como: R1 (x) ≈ (x − x0 )(x − x1 )f [x2 , x1 , x0 ] 1.3 Interpolação de Ordem Superior n = 2 (segunda ordem). Supõe-se que conhecemos os pontos ((x0 , f(x0 )), (x1 , f(x1 )), (x2 , f(x2 ))) do gráfico f. Suponhamos que ∀ x0 ≤ x ≤ x2 R1 (x) = (x − x0 )(x − x1 )f [x, x1 , x0 ] Assim R1 (x) }| { z f (x) = f (x0 ) + (x − x0 )f [x1 , x0 ] + (x − x0 )(x − x1 )f [x2 , x1 , x0 ] = P2 (x) (3) Assim, P2 passa pelos pontos {(xi , f(xi )}, i = 1, 2, 3. Caso a igualdade f[x,x1 ,x0 ] = f[x2 ,x1 ,x0 ] não é satisfeita, pode se dizer apenas que: f (x) ' P2 (x) FIGURA 5 Para se restabelecer a igualdade, insere-se um termo para o erro, isto é: f (x) = P2 (x) + R2 (x) onde, R2 (x) segue: R1 (x) = = = = = f (x) − P2 (x) f (x) − f (x0 ) − (x − x0 )f [x1 , x0 ] − (x − x0 )(x − x1 )f [x2 , x1 , x0 ] (x − x0 )f [x, x0 ] − f [x1 , x0 ] − (x − x0 )(x − x1 )f [x2 , x1 , x0 ] (x − x0 )(x − x1 )f [x, x1 , x0 ] − f [x2 , x1 , x0 ] (x − x0 )(x − x1 )(x − x2 )f [x, x2 , x1 , x0 ] (4) Este mesmo procedimento pode ser assumido até para uma aproximação de ordem n onde: f (x) = Pn (x) + Rn (x) conhecendo-se os pontos (xi ,f(x1 )); 0 ≤ i ≤ n, onde Pn (x) = f (x0 )+(x−x0 )f [x1 , x0 ]+(x−x0 )(x−x1 )f [x2 , x1 , x0 ]+(x−x0 )(x−x1 )(x−x−2)f [x3 , x2 , x1 x0 e Rn (x) = n Y (x − xi )f [x, xn , xn−1 , ..., x1 , x0 ] i=0 Ver exemplo da página 139. Fazer um programa para calcular Polinômios interpolador deste exemplo e plotar em um gráfico. Estimativa do Erro no uso de Interpolação Polinomial ou DDF ou Interpolação de Newton Q Temos que Rn (x) = ni=0;i6=k (xi − x − n)f [xn , xn−1 , ..., x0 ] Teorema: Sejam f uma função contı́nua de ordem n + 1 (diferenciável até a ordem n) em [a,b] e Pn a polinomial interpoladora, de ordem n, usando DDF, nos pontos a = x0 < x1 < ... < xn . Então para cada x ∈ [a,b], existe ξ ∈ (a,b), tal que: n Y f n+1 (ξ) Rn (x) = (x − x1 ) ; ξ ∈ (a, b) (n + 1)! i=0 Exemplo 5.2 6