CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br
Aula 12 Interpolação Parte 1
INTERPOLAÇÃO Cálculo Numérico 3/57
MOTIVAÇÃO A seguinte tabela relaciona densidade da água e temperatura: Temperatura ( o C) 20 25 30 35 40 Densidade (kg/m 3 ) 998,0 997,0 996,0 994,0 992,1 Suponha que se queira calcular: A densidade da água à 32,5 o C; A temperatura para a qual a densidade é 993,3 kg/m 3. Cálculo Numérico 4/57
MOTIVAÇÃO A seguinte tabela fornece os resultados do censo no Brasil, em milhões de pessoas, entre 1960 e 2010. Ano 1960 1970 1980 1991 2000 2010 População (em milhões) 70 93,1 119 146,8 169,8 190,755 Poderíamos nos perguntar: Esses dados podem ser utilizados para fornecer uma estimativa razoável da população, digamos em 1983? Cálculo Numérico 5/57
Quando aplicar A interpolação nos ajuda a resolver estes tipos de problemas. Quando são somente conhecidos os valores numéricos da função para um conjunto de pontos, e é necessário calcular o valor de um ponto não tabelado. Quando a expressão da função é complicada demais para ser integrada ou diferenciada. Cálculo Numérico 6/57
INTERPOLAÇÃO POLINOMIAL Cálculo Numérico 7/57
Uma das classes mais conhecidas e úteis de funções que levam o conjunto de números reais em si mesmo é a classe dos : P n ( x) = a + a x + a x 2 +!+ a x n 0 1 2 n n % = a x i ',& i i=0 (' a i R, i n Ζ + Cálculo Numérico 8/57
PORQUE POLINÔMIOS??? Dada qualquer função definida e contínua em um intervalo fechado, existe um polinômio que está tão próximo da função dada quanto quisermos. Cálculo Numérico 9/57
PORQUE POLINÔMIOS??? Cálculo Numérico 10/57
PORQUE POLINÔMIOS??? Suponha f definida e contínua em [a, b]. Para cada ε > 0, existe um polinômio P (x), tal que: f ( x) P( x) < ε, x [ a, b] Cálculo Numérico 11/57
PORQUE POLINÔMIOS???? Outra razão para considerar a classe de polinômios na aproximação de funções é que derivadas e integrais de polinômios são também polinômios, têm tratamento analítico simples. Cálculo Numérico 12/57
COMO DETERMINÁ-LOS??? Os polinômios de Taylor são uma opção, mas nem sempre são satisfatórios (podem divergir). Eles têm uma boa aproximação para pontos específicos. Um bom polinômio interpolador precisa fornecer uma aproximação relativamente precisa sobre todo o intervalo. Cálculo Numérico 13/57
Polinômios e Série de Taylor Cálculo Numérico 14/57
Teorema de Taylor f C n a, b [ ] f n+1 Suponha que, que exista em [a, b] e que. Para todo, existe um número ξ x ( ) entre x 0 e x, tal que f x ( ) x 0 [a, b] x [a, b] ( ) = P ( n x) + R ( n x), onde: P n ( x) = f ( x ) 0 + f '( x )( 0 x x ) 0 + f " ( x ) 0 +!+ f ( n ) ( x ) 0 n! ( x x ) n 0 2! ( x x ) 2 0 Cálculo Numérico 15/57
Teorema de Taylor ou ainda: P n ( x) = n k=0 ( f k ) ( x ) 0 k! ( x x ) k 0 P n (x) é chamado polinômio de Taylor de grau n de f em x 0 e R n R n (x) é chamado resto (ou erro de truncamento) relativo a P n (x). ( x) = f ( n+1 ) n +1! ( ξ ( x) ) ( ) n+1 Erro x x 0 envolvido na utilização de uma adição truncada ou finita Cálculo Numérico 16/57
ξ é um valor que depende de x, porém não sabemos determiná-lo explicitamente. O Teorema de Taylor apenas garante que tal função existe e que seu valor está entre x e x 0. PROBLEMA nos métodos numéricos: Determinar uma limitação realística para o valor de quando está definido em um intervalo específico, tal que a aproximação f (x) P n (x) seja razoável. ( f n+1 ) ( ξ ( x) ) Cálculo Numérico 17/57
POLINÔMIOS INTERPOLADORES DE LAGRANGE Cálculo Numérico 18/57
Forma de Lagrange Iremos encontrar polinômios aproximadores que são determinados, simplesmente, especificando-se certos pontos no plano pelos quais eles devem passar. Caso mais simples Interpolação Linear P 1 ( x) = a + a x 0 1 Cálculo Numérico 19/57
Interpolação Linear Vamos supor, que temos valores para f (x) em apenas dois pontos, x 0 e x 1. Agora, queremos obter uma função que represente f (x) em todos os pontos x no intervalo [x 0, x 1 ]. Cálculo Numérico 20/57
Interpolação Linear Os coeficientes a 0 e a 1 de P 1 (x) devem ser tais que: P ( x ) = f x 1 0 0 ( ) e P x 1 1 ( ) = f ( x ) 1 ou seja, o função f nos malhas de interpolação). P 1 (x) coincide com a x 0 e x 1 (também chamados Cálculo Numérico 21/57
Interpolação Linear Definiremos, então: P 1 ( x) = L ( x) f ( x ) + L ( x) f ( x ) 0 0 1 1 onde: L 0 ( x) = x x 1, L ( x) = x x 0 x x 1 x x 0 1 1 0 Cálculo Numérico 22/57
Interpolação Linear P 1 (x) é a única função linear que passa por (x 0, f (x 0 )) e (x 1, f (x 1 )) y y = f (x) y = P 1 (x) y 1 = f (x 1 ) y 0 = f (x 0 ) x 0 x 1 Cálculo Numérico 23/57 x
Interpolação Polinomial de ordem n Para generalizar o conceito de interpolação linear, vamos considerar a construção de um polinômio de grau n (maior potência de x é, possivelmente, n) que interpola f nos pontos x 0, x 1,..., x n. Os coeficientes a k de P n (x) devem ser tais que: P n ( x ) = f ( x ), k k k (1) Cálculo Numérico 24/57
Definiremos as funções L i (x) com a seguinte propriedade: L i ( x ) = δ = k ik " $ # %$ 1, se i = k 0, se i k, i = 0,1,!, n Delta de Kronecker Cálculo Numérico 25/57
Caso tais funções existam: P n n ( x) = L ( x) f ( x ) k = 0 n, k k satisfaz, por construção, a eq. (1). Determinando as funções L i (x), P n (x) é facilmente obtido. Cálculo Numérico 26/57
Para satisfazer L n,k (x i ) = 0, para cada i k, é necessário que o numerador de L n,k (x i ) contenha o termo: ( x x )( x x )!( x x )( x x )!( x x ) 0 1 k 1 k+1 n Para satisfazer L n,k (x k ) = 1, para cada i = k, o denominador de L n,k (x i ) deve ser igual ao numerador calculado em x = x k. L n,k = ( x x 0 )!( x x )( k 1 x x k+1 )!( x x ) n ( x k x 0 )!( x k x )( k 1 x k x k+1 )!( x k x ) n Cálculo Numérico 27/57
N-ésimo polinômio interpolador Se x 0, x 1,..., x n são n+1 números distintos e f é uma função cujos valores são dados nesses números, então existe um único polinômio P(x) de grau no máximo n com: f ( x ) = P( x ), k k para cada k = 0,1,!, n Cálculo Numérico 28/57
N-ésimo polinômio interpolador Esse polinômio é dado por: P n ( x) = f ( x 0 )L ( n,0 x) +!+ f ( x n )L ( n,n x) n k=0 = f ( x k )L n,k x onde, para cada k = 0, 1,..., n: L n,k ( x) = n i=0 i k ( ) ( x x ) i ( x k x ) i Cálculo Numérico 29/57
Exemplo 3 Use os nós x 0 = 2, x 1 = 2,5, x 2 = 4 para determinar o segundo polinômio interpolador para f (x) = 1/x. Cálculo Numérico 30/57
EXERCÍCIO Determine o polinômio interpolador para os pontos: i x i f (x i ) 0-1 6 1 0 1 2 1 0 A resposta será: P 2 ( x) = 2x 2 3x +1 Cálculo Numérico 31/57
Qual o erro envolvido??? Agora, vamos apresentar um para o erro envolvido na aproximação de uma função por um polinômio interpolador. Cálculo Numérico 32/57
Suponha x 0 < x 1 <... < x n, (n + 1) pontos distintos em [x 0, x n ] e que. Então, para cada x em [x 0, x n ], existe um número ξ (x) (geralmente desconhecido) em ] x 0, x n [, tal que: onde P n (x) é o polinômio interpolador de f nos pontos x 0, x 1,..., x n. f C n+1 R x ( ) = f x ( ) P n x [ a,b] ( ) = f ( n+1 ) ( ξ ( x) ) ( n +1)! ( x x )( 0 x x 1 )!( x x ) n Cálculo Numérico 33/57
Observe que a forma do erro para o polinômio de Lagrange é bastante semelhante àquela do polinômio de Taylor. Polinômio de Taylor de ordem n em torno de x 0 ( f n+1 ) Informações em x 0 ( ξ ( x) ) ( n +1)! ( x x ) n+1 0 Informações em x 0, x 1,..., x n Polinômio de Lagrange de ordem n ( f n+1 ) ( ξ ( x) ) ( n +1)! ( x x )( 0 x x 1 )!( x x ) n Cálculo Numérico 34/57
A fórmula para o erro tem uso limitado na prática, dado que serão raras as situações em que conheceremos f (n+1) (x), e o ponto ξ x nunca é conhecido. Cálculo Numérico 35/57
Sob as hipóteses do Teorema 2, podemos escrever a seguinte relação: R n ( x) = f ( x) P ( n x) ( x x )( 0 x x 1 )!( x x ) n M n+1 n +1 ( )! onde: M = n+ 1 máx x [ x, x ] 0 n f ( n+ 1 ) ( x) Cálculo Numérico 36/57
Se além das hipóteses anteriores, os pontos forem igualmente espaçados, ou seja: então: x 1 x 0 = x 2 x 1 =! = x n x n 1 = h f ( x) P ( n x) < hn+1 M n+1 4( n +1) Observe que este majorante do erro independe do ponto x considerado, x [ x 0, x n ]. Cálculo Numérico 37/57
Exemplo 4 Determine o limitante para o erro cometido na aproximação de f (x) = 1/x por P 2 (x) do exemplo 3. Polinômio de Lagrange de ordem 2 ( f 2+1 ) ( ξ ( x) ) ( 2 +1)! ( x x )( 0 x x )( 1 x x ) 2 Cálculo Numérico 38/57
Na prática, geralmente, teremos apenas um conjunto de pontos que representa um problema, portanto não conhecemos f (x). Qual será o erro cometido devido à uma certa interpolação polinomial? Neste caso, não podemos fazer uma estimativa para o erro. Cálculo Numérico 39/57
Nem sempre a aproximação baseada em é a que se aproxima mais do valor verdadeiro. Cálculo Numérico 40/57
Exemplo 6 A tabela abaixo fornece os valores de uma função em vários pontos. Compare as aproximações para f (1,5) obtidas pelos diversos polinômios de Lagrange. x f (x) 1,0 0,7651977 1,3 0,6200860 1,6 0,4554022 1,9 0,2818186 2,2 0,1103623 Cálculo Numérico 41/57
Exemplo 6 A função que está sendo aproximada é a função de Bessel de primeira espécie e ordem zero, cujo valor em 1,5 é conhecido como sendo 0,5118277. P n ( x) = f ( x 0 )L ( n,0 x) +!+ f ( x n )L ( n,n x) n k=0 = f ( x k )L n,k x L n,k ( x) = n i=0 i k ( ) ( x x ) i ( x k x ) i Cálculo Numérico 42/57
Exemplo 6 A função que está sendo aproximada é a função de Bessel de primeira espécie e ordem zero, cujo valor em 1,5 é conhecido como sendo 0,5118277. P n (1,5) P 1 P 2 ˆP 2 P 3 ˆP 3 P 4 Valor 0,5102968 0,5112857 0,5124715 0,5118302 0,5118127 0,5118200 precisão de 2 10-5 Cálculo Numérico 43/57
Exemplo 6 Como coincidem até uma precisão de 2 10-5, espera-se essa ordem de precisão para essas aproximações. P 3 ( 1, 5), ˆP 3 ( 1, 5), P 4 ( 1, 5) Espera-se, também, que P 4 (1,5) seja a aproximação mais precisa, pois utiliza mais dados fornecidos. Cálculo Numérico 44/57
Exemplo 6 Comparação das aproximações com o valor exato f (1,5) = 0,5118277. P ( 1 1, 5) f ( 1, 5) 1, 53 10 3 P ( 2 1, 5) f ( 1, 5) 5, 42 10 4 ˆP ( 2 1, 5) f ( 1, 5) 6, 44 10 4 P ( 3 1, 5) f ( 1, 5) 2, 50 10 6 ˆP ( 3 1, 5) f ( 1, 5) 1, 50 10 5 P ( 4 1, 5) f ( 1, 5) 7, 70 10 6 Embora P 3 (1,5) seja a aproximação mais precisa, se não conhecermos o valor real de f (1,5) aceitaríamos P 4 (1,5) como a melhor aproximação Cálculo Numérico 45/57