Fenômeno de Runge
Que tal aumentar o número de pontos de interpolação e ver o que acontece?
Vamos lá?
Se o polinômio interpolador não foi uma boa aproximação para a função, será que aumentar o grau do polinômio, considerando mais pontos de interpolação, pode ser uma solução para conseguir uma aproximação melhor?
- 1
- 2
O que é o fenômeno de Runge?
- A. É o aumento do grau do polinômio interpolador, a medida que mais pontos de interpolação são considerados.
- B. É a diminuição do erro de interpolação, pela correta alocação dos pontos de interpolação.
- C. É o aumento do erro de interpolação, quando o grau do polinômio interpolador cresce.
- D. É o adensamento de pontos de interpolação nos extremos do intervalo.
É correto dizer que...
- A. ao considerar mais pontos de interpolação, o grau do polinômio interpolador aumenta.
- B. ao aumentar a quantidade de pontos de interpolação, mantendo-os igualmente espaçados, o erro de interpolação pode piorar.
- C. é possível construir polinômios interpoladores de grau cada vez maiores, de tal forma que o erro máximo de interpolação vá a zero.
- D. é melhor, se possível, utilizar pontos de interpolação regularmente distribuídos no intervalo de interesse.
Se uma função for amostrada apenas em dois pontos muito provavelmente o polinômio interpolador construído com esses dois pontos não será uma boa aproximação. Intuitivamente, ao fornecer mais pontos para a interpolação, parece razoável que o polinômio interpolador gradativamente se aproxime da função. Isto é o que a animação a seguir sugere.
Em preto uma função a ser interpolada. Em vermelho, exibem-se sucessivos polinômios interpoladores, de grau 1, 2, 3 e 4, sempre em pontos regularmente distribuídos no intervalo
Na animação, a função
Este exemplo parece sugerir que aumentar o número de pontos igualmente espaçados, e por conseguinte aumentar o grau do polinômio interpolador, gradativamente reduz o erro de interpolação. Antes de tirar conclusões com base neste único exemplo, vejamos um outro.
Em preto a função
Neste exemplo vemos em preto o gráfico da função
Vimos em outra aula que o erro de interpolação é dado por
A situação é completamente diferente se os pontos de interpolação, ao invés de serem regularmente distribuídos no intervalo, forem cuidadosamente escolhidos. No gráfico abaixo, ainda para
Esses pontos especiais são os pontos de Chebyshev que, para o intervalo
Sempre que possível devemos utilizar como nós de interpolação os pontos de Chebyshev. Entretanto, o usual é que tenhamos dados amostrados em pontos regulares ou em pontos sem qualquer padrão. Neste caso, considerar polinômios interpoladores de alto grau é um risco, uma vez que podemos incorrer no fenômeno de Runge.
Ficamos com a questão: como evitar o fenômeno de Runge, se não for possível amostrar a função nos pontos de Chebyshev? Uma solução é nos restringir a polinômios interpoladores de grau baixo, evitando que o fenômeno de Runge se manifeste. Mas e se, com essa restrição no grau, a qualidade da interpolação não for satisfatória? Responder essa pergunta é o tema da próxima aula.
Interpolando no Octave
Os gráficos desta aula foram construídos no Octave usando duas funções para a determinação e avaliação do polinômio interpolador, são as funções polyfit
e polyval
, respectivamente.
Por exemplo, para gerar os gráficos da primeira animação desta página, podemos proceder como abaixo.
f = @(x) x.*exp(-x); # Função xx = linspace(0,4,51); # Malha densa para exibição dos gráficos plot(xx, f(xx), 'k'); hold on for n = 1:4; # Grau do polinômio interpolador x = linspace(0,4,n+1); # Malha regular y = f(x); # Avaliação de f sobre a malha p = polyfit(x,y,n); # Determinação do polinômio interpolador yy = polyval(p,xx); # Avaliação do polinômio interpolador plot(xx,yy,'r'); pause endfor hold off
1. Seja
- Usando o Octave, determine
, polinômio interpolador para em 11 pontos igualmente espaçados em Exiba os gráficos de e de Em qual dos subintervalos ocorreu a maior diferença entre e ? Estime - Repita o item anterior, determinando
, polinômio interpolador para em pontos de Chebyshev em - Sabendo que o erro de interpolação em 11 pontos está limitado por
onde conjecture o que poderia justificar as diferenças observadas nos itens (a) e (b).
2. Neste exercício vamos analisar a função
- Para
exiba os gráficos de para - Para
exiba os gráficos de para - O que você observou comparando os itens acima? Nestes dois experimentos, que aspectos são comuns/similares e que aspectos são contrastantes?
Se estiver com dificuldade para criar o código Octave para este exercício, veja um exemplo.
a = -1; b = 1; # vetor denso em [a,b] apenas para fazer o gráfico xx = linspace(a,b,201); clf for n=2:10 X = linspace(a,b,n+1)'; # n+1 pontos igualmente espaçados # Construção da função w_n(x) w = @(x) (x-X(1)); for k = 2:n+1; w = @(x) w(x).*(x-X(k)); endfor plot(xx,w(xx)); hold on pause endfor hold off
3. Para
4. Repita o exercício 2, mas usando os pontos de Chebyshev, ao invés de pontos igualmente espaçados.
5. Considere