Erro na Interpolação

Ver Todos os Exercícios

Teoria

Introdução Erro Exato

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.

Imagina a seguinte situação:

Seja f x = l n   x   + 3 x 2 . Usando a tabela abaixo encontre um polinômio interpolador de grau 2 e calcule:

(a) uma aproximação para f 2.5

(b) o erro desta aproximação

(c) um limitante para o erro

(d) uma aproximação para o erro assumindo que f x não é conhecida.

Usaremos esse exemplo para explicar a teoria, vem comigo!

Primeiro o item (a).

O exercício está pedindo uma aproximação para f 2.5 . Já aprendemos vários métodos para calcular uma aproximação e podemos usar qualquer um deles porém, como em seguida o exercício pede o erro, faça pelo método de Newton (a menos que o enunciado 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 a aproximação pelo método de Newton.

Uma dica: se você quer estimar o erro em um polinômio de grau n , calcule os operadores até grau n + 1 já que vamos precisamos do maior operador diferenças divididas de ordem n + 1 ! (não se preocupe logo fará sentido!). Nesse caso, o polinômio que o exercício quer é de grau 2 então vamos fazer a tabela até d 3 ,

Passo 1. 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

Erro Exato

Para resolver o item (b), precisamos saber o que é o erro exato.

Como já falamos anteriormente, sempre que realizamos uma aproximação não obtemos o valor verdadeiro da função certo? (justamente por se tratar de uma aproximação). Existe um erro entre o polinômio e a função, e a diferença entre os dois nós chamamos de Erro Exato.

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

Pronto! já sabemos responder o item (b) do nosso exemplo:

O erro exato é:

E x = f x - p n x

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

Limitante para o erro

O item (c) pede uma limitante para o erro. 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?

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 igualmente espaçados.

Ou seja, se x 1 - x 0 = x 2 - x 1 = … = x n - x n - 1 = h 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

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 = f n + 1 x  

Mas, o que são pontos não serem equidistantes? Então:

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

Vamos tentar resolver o item (c) agora?

Para encontrarmos um limitante para o erro precisamos da derivada terceira de f x para calcular o valor Máximo M n + 1 :

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:

M n + 1 = f n + 1 x   = f 3 1 = 2 1 3 = 2

Como os valores de x são igualmente espaçados de h = 1 :

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 .

Estimativa para o erro

No último item do nosso exemplo pede uma aproximação para o erro assumindo que f x não é conhecida. 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.

Lembra que lá no começo, na hora de calcular a aproximação pelo método de Newton, eu falei para calcularmos d n + 1 ? Uma ordem acima da necessária para o polinômio? Então agora que ele entra em cena.

Bom, por sorte algum maluco percebeu que:

M n + 1 n + 1 ! ≈ 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 d n + 1  

Voltando agora para o nosso exemplo:

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 é:

d 3 = 0,0283

Aplicando agora a fórmula:

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

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 .

Pronto galera! Concluímos o exemplo. Partiu botar em prática agora!

Erro Exato

Limitante para o erro

Estimativa para o erro

Exercícios Resolvidos

Exercício Resolvido #1

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 .

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 . Precisamos da derivada segunda de cos ⁡ x :

f x = cos ⁡ x

f ' x = - sin ⁡ x

f ' ' x = - cos ⁡ x

Como o erro deve ser menor que 10 - 6 no intervalo 1,2 , usamos o valor máximo de - cos ⁡ x nesse intervalo como M 2 . E esse valor é em 1 , onde - cos ⁡ 1 ≅ 0.54 .

Passo 2

Agora precisamos escrever h em função do número de pontos. Então vamos montar uma tabelinha:

Com essa relação podemos substituir tudo na fórmula:

E x ≤ 1 n - 1 2 0.54 8 = 0.54 8 n 2 - 2 n + 1 = 10 - 6

n 2 - 2 n + 1 = 67.5 × 10 3

Resolvendo a equação de segundo grau, temos:

n = - 258.808   o u   260.808

Como não faz sentido termos um número de pontos negativo e nem quebrado, n = 261 pontos.

Resposta

n = 261

Exercício Resolvido #2

Deseja-se construir uma tabela da função f x = e x no intervalo 0,1 com pontos x i igualmente espaçados. Seja h o passo. Qual o valor máximo de h para que o erro da interpolação linear em qualquer ponto do intervalo seja menor ou igual a ϵ = 10 - 2 .

Passo 1

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 . A derivada segunda de e x é ela mesma. Também sabemos que e x é crescente e positiva em 0,1 , logo tem seu maior valor em x = 1 , onde e 1 = 2.7183 .

Passo 2

Agora basta substituirmos tudo na fórmula:

E x ≤ h 2 ∙ 2.7183 8 = 0.34 h 2 = 10 - 2

h = ± 0.1715

Como a diferença entre os pontos é medida em módulo, h = 0.1715 .

Resposta

h = 0.1715

Exercício Resolvido #3

Seja a função f x = x + 1 - 1 , calcule uma aproximação para f 0.8 , utilizando o polinômio de Newton sabendo que f 0 = 1 ; f 0.5 = 0.6667 ; f 1 = 0.5 . Dar um limitante superior para o erro.

Passo 1

Vamos começar montando a tabela de operadores diferenças divididas:

Como temos apenas 3 pontos, vamos encontrar um polinômio interpolador de grau 2 .

Passo 2

Definimos x 0 = 0 , x 1 = 0.5 e x 2 = 1 e tiramos da tabela que:

d 0 = 1

d 1 = - 0.6666

d 2 = 0.3332

Substituindo no polinômio temos:

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

p 2 x = 1 - 0.6666 x + 0.3332 x x - 0.5

p 2 x = 0.3332 x 2 - 0.8332 x + 1

Passo 3

Nossa aproximação será:

p 2 0.8 = 0.546688

Passo 4

Como os pontos estão igualmente espaçados, um limitante superior para o erro pode ser dado por:

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

Temos que h = 0.5 e n = 2 . Só falta acharmos M 3 . Para isso, precisamos da derivada terceira de f x :

f x = x + 1 - 1

f ' x = - x + 1 - 2

f ' ' x = 2 x + 1 - 3

f ' ' ' x = - 6 x + 1 - 4

Como queremos o maior módulo de f ' ' ' x em 0,1 , basta acharmos o máximo de g x = 6 x + 1 - 4 . Como g x é decrescente e positiva em 0,1 , seu máximo está em x = 0 , onde temos g 0 = 6 .

Substituindo tudo na nossa equação:

E x ≤ 0.5 3 ∙ 6 12 = 0.0625

Resposta

p 2 0.8 = 0.546688

E x ≤ 0.0625

Exercício Resolvido #4

Sabendo-se que a equação x - e - x = 0 admite uma raiz no intervalo 0,1 , determine o valor desta raiz usando interpolação quadrática. Estime o erro cometido, se possível.

Passo 1

Vamos começar montando uma tabela com alguns pontos:

O que vamos fazer agora é escrever x como função de y e não mais y como função de x . Ficamos com:

Assim nós não precisamos encontrar o zero do polinômio interpolador. Podemos jogar o zero direto no que vamos encontrar! Agora é só seguirmos o passo a passo de sempre ;)

Como ele quer uma função de interpolação quadrática, precisamos de 3 pontos. Vamos usar y 0 = - 1 , y 1 = - 0.1065 e y 2 = 0.6321 . Além disso para estimarmos a incerteza precisamos de um quarto ponto para obtermos um operador diferenças divididas de ordem 4 . Vamos usar então o y 3 = 1.2769 . A tabela fica:

Passo 2

Da tabela tiramos que:

d 0 = 0

d 1 = 0.5596

d 2 = 0.0719

Substituindo no polinômio:

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

p 2 y = 0.5596 y + 1 + 0.0719 y + 1 y + 0.1065

p 2 y = 0.0719 y 2 + 0.639157 y + 0.567257

Substituindo y = 0 ,

p 2 0 = 0.5673

Passo 3

Agora para estimar o erro usamos a fórmula:

E y ≈ y - y 0 y - y 1 y - y 2 max   ⁡ d 3

E 0 = 1 ∙ 0.1065 ∙ - 0.6321 ∙ 0.00032 = 0.2154 × 10 - 4

Resposta

x = 0.5673

E 0 = 0.2154 × 10 - 4

Exercício Resolvido #5

Suponha que f x = sin ⁡ x é aproximada em 0,1 por um polinômio interpolador em n + 1 pontos distintos equidistantes 0 = x 0 < x 1 < … < x n - 1 < x n = 1 . Determine n tal que o erro seja menor que 10 - 4   ∀ x ∈ 0,1

Passo 1

Como temos pontos equidistantes podemos usar a fórmula:

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

Temos muitas incógnitas aí né? Vamos diminuir isso um pouco. Primeiro escrevemos h em função de n . Lembrando que aqui n é o número de partes em que o intervalo foi dividido e não o número de pontos!

Passo 2

Agora vamos dar um jeito nesse M n + 1 .

Bom, se n for ímpar, a derivada de ordem n + 1 de seno será um seno. O sinal do seno não importa já que estamos interessados no módulo dele. Nesse caso, M n + 1 = 0.8415 que é o valor de sin ⁡ 1 .

Se n for par, a derivada de ordem n + 1 de seno será um cosseno. Nesse caso, M n + 1 = 1 que é o valor de cos ⁡ 0 .

Então para cuidar desses dois casos vamos usar a variável k = 0,1 , 2,3 , … :

n = 2 k   n   p a r

n = 2 k - 1   n   i m p a r

Vamos substituir ambos os casos na nossa fórmula e achar o k mínimo que satisfaz a equação.

Passo 3

Caso n par:

1 2 k 2 k + 1 1 8 k + 4 ≤ 10 - 4

1 2 k 2 k + 1 ∙ 8 k + 4 ≤ 10 - 4

Se k = 1 , temos:

0.01042 > 10 - 4

Se k = 2 , temos:

0.48828 × 10 - 4 < 10 - 4

Logo, k = 2 ⇒ n = 2 k = 4 .

Passo 4

Caso n ímpar:

1 2 k - 1 2 k 0.8415 8 k ≤ 10 - 4

0.8415 2 k - 1 2 k ∙ 8 k ≤ 10 - 4

Se k = 1 , temos:

0.10519 > 10 - 4

Se k = 2 , temos:

6.49306 × 10 - 4 > 10 - 4

Se k = 3 , temos:

0.02244 × 10 - 4 < 10 - 4

Logo, k = 3 ⇒ n = 2 k - 1 = 5

Passo 5

Sendo assim, o menor n é 4 .

Resposta

n = 4