Erro na Interpolação

Teoria Completa

Introdução

Fala meus amigos, tudo certinho? Veja bem, quando nós estudamos anteriormente os polinômios interpoladores nós vimos que são aproximações de uma função real, e essas aproximações podem ser tãaaaaaaao próximas quanto nós quisermos. O lance é, como toda aproximação, nossa função terá um erro (tava demorando né?).

Então, vamos dar uma estudada nesse erro da interpolação! Vamos aprender um negócio que basicamente é apresentar um limitante pro erro envolvido na aproximação de uma função feita por um polinômio interpolador.

Antes de começar a falar de limitante, vamos falar do cálculo do erro exato, tiramos a diferença entre o valor real da função no ponto e do polinômio aproximador, cálculo do erro acaba sendo bem intuitivo. Tendo uma função f x e sua função interpoladora p n x , calculamos o erro como:

E x = f x - p n x

Onde p n x é o polinômio interpolador de f nos pontos x 0 , x 1 , ..., x n .

A fórmula para o erro acaba tendo uso beeem limitado na prática, já que são poucas as vezes em que conheceremos f n + 1 ( x ) , e o ponto ξ x   ( r a i z ) nunca é conhecido.

Então, para cada ponto x dentro de um conjunto de pontos [ x 0 , x n ], existe um número ξ x (na maioria das vezes desconhecido) em] x 0 , x n [.

Tranquilo né? Bom, fazendo umas manipulações algébricas bem chatinhas com derivadas a gente sai dessa fórmula aí de cima para essa aqui de baixo:

E x = x - x 0 x - x 1 x - x 2 … x - x n f n + 1 ξ x n + 1 !

onde ξ x ∈ x 0 , x n e f x possui derivadas até ordem n + 1 para todo x ∈ x 0 , x n .

Eita! Começou a ficar um pouco esquisito, mas nós já vamos entender! Uma coisa que precisa de atenção:

Muuuuuita gente confunde, f n + 1 ξ x é o valor da derivada de ordem n + 1 de f x avaliada no ponto ξ x !

Então, fica esperto! Isso NÃO É UMA MULTIPLICAÇÃO haha.

O valor desse ξ x depende do x onde será calculado o erro. Se a gente conhecer f x podemos calcular ξ x . Ele nem é importante na verdade, e daqui a pouco vamos ver porquê.

Limitante para o erro

Na prática de experimentos, nos testes e etc., costumamos ter 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?

Opaaa, agora começou a ficar legal. Nós já falamos de limitante em outros momentos em cálculo numérico. Isso acontece, já que algumas vezes vai ser pedido pra você um limitante para o erro ao invés do erro de fato.

Ou seja, ele quer saber o erro máximo que seu polinômio interpolador vai ter naquele intervalo que você está aproximando f x . E como fazemos isso?

Veja bem, se f n + 1 x existe e for contínua em x 0 , x n .

E o M n + 1 o valor máximo do módulo das derivadas de ordem n + 1 de f x no intervalo x 0 , x n , ou seja, o maior valor em módulo das derivadas da função aplicadas no intervalo x 0 , x n .

M n + 1 = max x ∈ x 0 , x n ⁡ f n + 1 x .

Sabendo que ξ x ∈ x 0 , x n , então:

f n + 1 ξ x ≤ M n + 1

x - x 0 x - x 1 … x - x n f n + 1 ξ x n + 1 ! ≤ x - x 0 x - x 1 … x - x n M n + 1 n + 1 !

E x ≤ x - x 0 x - x 1 … x - x n M n + 1 n + 1 !

Faz sentido né? E isso nos dá um limitante para o erro!

Para pontos equidistantes, um limitante superior para o erro é dado, baseado no seguinte resultado,

Seja f x uma função definida e (n+1) vezes diferenciável num intervalo [a,b]. Nós temos os pontos x 0 , x 1 , ..., x n , (n+1), que são pontos distintos e equidistantes deste intervalo. Se P x interpola f x nestes pontos, então o limitante superior para o erro é dado:

E x ≤ h n + 1 M n + 1 4 n + 1

Mas, o que são pontos equidistantes? São onde os nós de interpolação forem igualmente espaçados. Ou seja, se x 1 - x 0 = x 2 - x 1 = … = x n - x n - 1 = h , então:

Show? Até aqui tudo bem? Vamos seguir adiante.

Estimativa para o erro

Veja bem, o problema vem agora. Geralmente não conhecemos nossa f x (daí a necessidade de encontrarmos uma aproximação), e o nosso ξ x nunca é conhecido, na maioria dos casos não podemos calcular o erro e nem um limitante para ele!

Além disso, nem sempre a aproximação baseada em todos os pontos é a que se aproxima mais do valor verdadeiro.

Bom, por sorte algum maluco percebeu que:

M n + 1 n + 1 ! ≈ max   ⁡ d n + 1

Onde d n + 1 são os operadores diferenças divididas de ordem n + 1 ! Nesse caso, dizemos que:

E x ≈ x - x 0 x - x 1 … x - x n max   ⁡ d n + 1

Então vamos ver um exemplo pra garantir que ficou tudo claro?

Ex.: Seja f x = ln ⁡ x + 3 x 2 . Usando a tabela abaixo encontre um polinômio interpolador de grau 2 e calcule uma aproximação para f 2.5 , o erro dessa aproximação, um limitante para o erro e uma aproximação para o erro assumindo que f x não é conhecida.

Primeira dica que eu dou pra vocês. Se o exercício pedir uma aproximação para o erro faça pelo método de Newton. A menos que ele mande você fazer por outro método, é claro. Isso porque para calcular a aproximação do erro precisamos da tabela de diferenças divididas! Então já que vamos ter que montá-la de qualquer jeito, aproveitamos e já fazemos por Newton.

Segunda dica, se o polinômio que ele quer é de grau 2 faça a tabela até d 3 , já que precisamos do maior operador diferenças divididas de ordem n + 1 ! De modo geral, se você quer estimar o erro em um polinômio de grau n , calcule os operadores até grau n + 1 .

Passo 1. Dito isso, vamos montar nossa tabela! Ela fica assim:

Repare que com 5 nós poderíamos ter calculado até a Ordem 4 , mas como não vamos precisar dela melhor evitarmos trabalho haha.

Passo 2. Como queremos uma aproximação para f 2.5 , vamos usar x 0 = 1 , x 1 = 2 e x 2 = 3 . Da tabela, temos:

d 0 = 3

d 1 = 9.6931

d 2 = 2.8562

Nosso polinômio de grau 2 é:

p 2 x = d 0 + d 1 x - x 0 + d 2 x - x 0 x - x 1

p 2 x = 3 + 9.6931 x - 1 + 2.8562 x - 1 x - 2

p 2 x = 2.8562 x 2 + 1.1245 x - 0.9807

Passo 3. Nossa aproximação será:

p 2 2.5 = 19.6818

O erro exato é:

E 2.5 = p 2 2.5 - f 2.5 = 19.6818 - 19.6663 = 0.0155

Passo 4. Para encontrarmos um limitante para o erro precisamos da derivada terceira de f x :

f 3 x = 2 x 3

Como essa função é contínua, decrescente e positiva no intervalo 1,3 , ela terá seu maior valor em módulo em x = 1 , onde:

f 3 1 = 2

Logo,

E 2.5 ≤ 2.5 - 1 2.5 - 2 2.5 - 3 2 3 ! = 0.125

Como os valores de x são igualmente espaçados de h = 1 , também poderíamos ter feito:

E x ≤ h n + 1 M n + 1 4 n + 1 = 1 3 ∙ 2 4 3 = 0.1667

Repare que usando essa forma, o resultado independe do valor x , ou seja, obtemos o valor máximo do erro no intervalo 1,3 .

Passo 5. Por fim, imaginamos que não conhecemos a f x e vamos calcular uma aproximação para o erro. O maior operador diferenças divididas de ordem 3 é 0.0283 , então:

E 2.5 ≈ 2.5 - 1 2.5 - 2 2.5 - 3 0.0283 = 0.0106

Que é uma aproximação razoável para 0.0155 .

Como o cálculo do erro vai depender do que a gente conhece e em todos os casos é simplesmente a aplicação de uma fórmula não tem necessidade de descrever um algoritmo para ele. Você pode simplesmente adicionar uma linha de código com a fórmula do erro quando precisar calculá-lo. Sendo assim, vamos praticar um pouco isso aí!

Expandir

Exercício Resolvido #1

Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 256, exercício 2

Verifique que na interpolação linear

E x ≤ h 2 M 2 8

onde h = x 1 - x 0 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

-

Como na interpolação linear nós só temos dois pontos, sempre podemos dizer que os pontos são igualmente espaçados haha. Logo, sempre é válida a fórmula:

E x ≤ h n + 1 M n + 1 4 n + 1

Substituindo n = 1 já que estamos usando interpolação linear,

E x ≤ h 2 M 2 8

Resposta

Exercício Resolvido #2

Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 257, exercício 5

Queremos construir uma tabela que contenha valores de cos ⁡ x para pontos igualmente espaçados no intervalo I = 1,2 .

Qual deve ser o menor número de pontos desta tabela para se obter, a partir dela, o cos ⁡ x , usando interpolação linear com erro menor que 10 - 6 para qualquer x no intervalo 1,2 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Nesse caso usaremos o número de pontos como uma forma de “dimensionar o h ”. Em uma interpolação linear temos apenas dois pontos separados por uma distância h . Logo, sempre podemos dizer que:

E x ≤ h 2 M 2 8

Vamos começar encontrando M 2