Interpolação por Sistema Linear
Teoria
Introdução
Faaaaalaa aí meus caros, tudo certinho? Vamos começar a falar de um assunto muito usado em V-Á-R-I-A-S matérias...
Se prepara então, que estamos entrando em Interpolação! Mas, na real... tu sabes o que é interpolar?
Podemos citar diferentes exemplos, tipo na física 1, quando estamos estudando a variação da posição percorrida por um carro em relação ao tempo. Geralmente conseguimos uma série de pontos de tempo (eixo x) e a posição (que varia em função do tempo), com esses valores podemos montar gráficos, tabelas e etc.
Então, a primeira informação que sabemos é que temos uma série de pontos:
Perceba o que temos aqui, uma série de valores numéricos de uma função, e esses valores me dão vários conjuntos de pontos, mas e se nós quisermos calcular um valor não tabelado? Imagine que nosso fusquinha está andando (pensa num fusca rápido).
Qual é a posição percorrida em 5 segundos? Nesse caso é fácil né, olhando no gráfico, é fácil inferir que o valor está crescendo de forma linear e que a cada 3 segundos o fusquinha anda 60 metros (PASME!). E encontrando a função vemos que .
Mas e se a solução não for tão óbvia assim? Aí o bicho pega! Como é que eu vou adivinhar ? Sem condições pra isso parceiro!
Então... veja bem, eu disse lá em cima que na interpolação nós precisamos de um conjunto de pontos. Basicamente o que acontece é: se qualquer função definida e contínua dentro de um intervalo. EXISTE um polinômio () muuuuuuuuito próxima da função real (). Deu pra pescar a ideia?
Mesmo em casos que nós já conhecemos a função, é bem interessante encontrarmos uma interpolação simples de derivar e integrar, já que derivar polinômio é moleza!
E como fazemos isso?
Bom, vamos começar com uma definição importante. é uma função de interpolação de grau de se para pontos conhecidos (chamados nós de interpolação), temos:
Nós tiramos duas coisas daí. Primeiro que o valor da interpolação nos nós é o mesmo da função nos nós. Até aí tudo bem né? A segunda coisa é que precisamos de nós para encontrarmos um polinômio de grau . Sabe aquela história de que precisamos de pontos para determinar uma parábola (grau )? Então, é a mesma ideia, só extrapolamos para graus maiores.
Voltando, um palpite simples e que pode trazer bons resultados é ligar os pontos por uma reta, por exemplo. Imagine que queremos encontrar . Onde e queremos interpolar no intervalo .
Como , se aproximarmos nossa para uma reta, temos que . Substituindo o valor na função de fato temos . Não foi nenhuma maravilha de aproximação, mas não foi um erro tão grande né? Vou fazer um desenho pra você visualizar melhor o que a gente fez agora:
Temos que a linha laranja é a nossa função, os pontos azuis são os pontos que conhecemos e as linhas azuis representam a aproximação linear que a gente fez. Deu pra ver que a aproximação é realmente razoável né?
Esse método, no entanto, é bem limitado e muito pouco confiável como podemos ver no exemplo abaixo com a função :
Deu bem longe né? Mas, de acordo com nossa definição, essa aberração azul aí é uma função de interpolação! Só não é uma muito boa haha. Então agora que já sabemos com o que estamos lidando vamos aos métodos!
Interpolação Polinomial
Uma das interpolações mais conhecidas é a Interpolação Polinomial, basicamente vamos pegar um conjunto de pontos e transforma-los em um polinômio, também existem outras formas de interpolação como a exponencial e a trigonométrica.
Sendo assim, pode ser escrita como:
E também sabemos que , para todo de a . Então, podemos escrever o sistema:
Passando pra forma de matriz ficamos com:
Veja bem, se todos os pontos forem diferentes, nosso sistema terá uma solução única.
Ou seja, existe apenas um polinômio de grau que interpola nos pontos conhecidos e a nossa solução vai ser tãooooo próxima quanto quisermos!
E a primeira forma de achar esse polinômio nós acabamos de ver aqui haha. É só resolver esse sistema! Vamos ver um exemplo:
Encontre o polinômio que interpola os pontos da tabela abaixo:
Jogando esses pontos num gráfico, temos:
Como temos nós de interpolação, nosso polinômio será de grau (já que para um polinômio de grau , temos pontos):
Para que interpole precisamos que:
Jogando numa matriz, teríamos:
Então ficamos com:
Substituindo na equação :
Substituindo e a expressão para na equação :
Substituindo na equação :
Logo, temos que:
Vamos ver como fica esse polinômio junto com os pontos? Fica assim:
Ele representa bem os pontos dados!!
Bem tranquilo né? O único cuidado que precisamos ter aqui é com a nossa matriz de coeficientes. Lembra que nos métodos de solução de sistemas lineares tínhamos uma série de problemas como, por exemplo, o pivô ser zero ou próximo de zero?
Então imagina se sua matriz de coeficientes só tiver números próximos de zero! Tipo assim:
Nós provavelmente não chegaríamos a uma função de interpolação devido aos problemas nos métodos de solução de sistemas lineares. Mas relaxa que vamos nos preocupar com isso mais pra frente haha.
Algoritmo
Achou que ia ter algum algoritmo? Relaxa, era só isso mesmo. Basicamente nós resolvemos sistemas lineares.
O que nós fazemos é pegar o nosso conjuntinho de pontos (os nós de interpolação) e transforma-los em um sisteminha. Bora fazer exercício!
Interpolação Polinomial
Algoritmo
Exercícios Resolvidos
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 1a.
Dada a tabela abaixo, calcule usando um polinômio de interpolação sobre três pontos.
Passo 1
Bom, esse é um exercício bem tranquilo né? É só pra gente dar uma treinada, uma fixada. Vamos lá!
Como queremos saber o valor de em , vamos escolher pontos próximos de . Poderiam ser outros? Sim, nada impede, já que o intuito da interpolação é justamente achar um polinômio que interpole fora de um intervalo dado. Mas vamos pegar pontos perto do que a gente quer para melhorar nossa precisão. Afinal, vai que a gente pegue valores distantes e nossa interpolação não fique fiel o suficiente em , tudo é possível né rs. Estamos pegando apenas 3 pontos dentre os 8 disponíveis, erros podem acontecer, ok?
Bem, como estamos interpolando usando pontos chegaremos a um polinômio de segundo grau:
E como o polinômio interpolador deve ter o mesmo valor da função nos nós de interpolação:
Agora passando para a forma matricial:
Passo 2
Agora calculamos esse sistema aí da forma que achar melhor. Vamos por eliminação de Gauss:
Disso temos:
Passo 3
Show, achamos o polinômio interpolador, mas nosso trabalho não terminou ainda! Temos que jogar o na função:
Resposta
Exercício Resolvido #2
Lista 4 – Professor Mauro – UFRJ – Questão 6a
Considere a tabela abaixo:
Usando um Polinômio Interpolador de grau dois, calcule a altura aproximada de uma pessoa com peso de .
Passo 1
Pra ficar mais fácil da gente visualizar vamos botar em ordem crescente de peso:
Como ele quer um polinômio interpolador de grau dois precisamos escolher pontos. Vamos usar:
Então temos:
Passando para a forma matricial:
Passo 2
Agora calculamos esse sistema aí da forma que achar melhor. Vamos por eliminação de Gauss:
Disso temos:
Passo 3
Agora jogamos os quilos na nossa função:
Resposta
Exercício Resolvido #3
Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 114, exercício 1 adaptada.
Para as funções abaixo, sejam , e . Encontre funções de interpolação de grau e para aproximar e encontre o erro absoluto.
Passo 1
Vamos encontrar o valor de nos pontos dados:
Vamos usar os pontos e para a função de interpolação de grau :
Logo,
Então,
Calculando o valor em :
O erro absoluto é:
Passo 2
Agora usamos os pontos para encontrarmos o polinômio interpolador de grau :
Passando pra forma matricial e já aproveitando que da primeira equação.
Então,
Calculando o valor em :
O erro absoluto é:
Passo 3
Vamos encontrar o valor de nos pontos dados:
Vamos usar os pontos e para a função de interpolação de grau :
Logo,
Então,
Calculando o valor em :
O erro absoluto é:
Passo 4
Agora usamos os pontos para encontrarmos o polinômio interpolador de grau :
Passando pra forma matricial e já aproveitando que da primeira equação.
Então,
Calculando o valor em :
O erro absoluto é:
Passo 5
Vamos encontrar o valor de nos pontos dados:
Vamos usar os pontos e para a função de interpolação de grau :
Logo,
Então,
Calculando o valor em :
O erro absoluto é:
Passo 6
Agora usamos os pontos para encontrarmos o polinômio interpolador de grau :
Passando pra forma matricial e já aproveitando que da primeira equação.
Então,
Calculando o valor em :
O erro absoluto é:
Passo 7
Vamos encontrar o valor de nos pontos dados:
Vamos usar os pontos e para a função de interpolação de grau :
Logo,
Então,
Calculando o valor em :
O erro absoluto é:
Passo 8
Agora usamos os pontos para encontrarmos o polinômio interpolador de grau :
Passando pra forma matricial e já aproveitando que da primeira equação.
Então,
Calculando o valor em :
O erro absoluto é:
Resposta
; ;
; ;
; ;
; ;
; ;
; ;
; ;
; ;
Exercício Resolvido #4
Lista 4 – Professora Susana – Questão 11
Verifique que os polinômios e interpolam a tabela:
Explique porque isso não contradiz o teorema da existência e unicidade do polinômio interpolador.
Passo 1
Se os polinômios interpolam a tabela, então eles passam pelos pontos da tabela. Vamos verificar:
Passo 2
Beleza, mostramos que eles interpolam a tabela. Agora porque isso não contradiz o teorema da existência e unicidade?
Esse teorema diz que, dados nós de interpolação , se todos esses nós forem diferentes, nosso sistema terá uma solução única. Ou seja, existe apenas um polinômio de grau que interpola nos pontos conhecidos.
Reparou que especificamos o grau de ? Como no enunciado temos nós de interpolação, então o teorema nos diz que existe uma única função de grau 1 que interpola esses nós. Ou seja, o fato de existir uma função do segundo grau não contradiz de maneira nenhuma o teorema.
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #5
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 258, exercício 11 adaptado.
Construa uma tabela para a função usando os pontos: , , , , e . Obtenha um polinômio de grau para estimar .
Passo 1
Bora montar essa tabela então:
Queremos uma função interpoladora de grau . Logo, precisamos escolher pontos. Como queremos saber o valor de em , vamos escolher os pontos mais próximos dele. Ficamos então com:
Agora passando para a forma matricial:
Passo 2
Vamos calcular esse mostro então:
Daí temos que:
Passo 3
Agora jogamos no nosso :