Forma de Lagrange

Teoria Completa

Introdução

Falaaaaaa meus jovenzitos, no tópico sobre Interpolação por sistema linear nós vimos um basicão sobre interpolação. Basicamente, quando eram conhecidos apenas valores numéricos da função para um conjunto de pontos e era necessário calcular um ponto não tabelado. Hmmmm... show, um dos métodos mais conhecidos pra resolver esse tipo de situação é usando Interpolação polinomial.

Interpo... o quê??? Era um método que dizia que qualquer função definida e contínua em um intervalo fechado, existe um polinômio que está tãoooooo próximo da função quanto quisermos.

Maaaaaaas, apesar da facilidade de aplicação desse método, ele tem alguns problemas que se devem aos métodos numéricos para a resolução de sistemas lineares. Por exemplo, se tivéssemos pontos muito próximos de zero, já que o sistema linear a ser resolvido seria algo do tipo:

1 0.001 0.002 1 0.003 0.005 1 0.007 0.007 a 0 a 1 a 2 17 - 5 7

Sendo assim, precisamos de métodos mais confiáveis para a obtenção da nossa função de interpolação e é aí que entra a forma de Lagrange.

Polinômios Interpoladores de Lagrange

A ideia é parecida com a da interpolação linear. Dá pra fazer isso generalizando o conceito de interpolação linear. Veja bem, vamos montar um polinômio de grau n (onde a maiooooooor potência de x será n ) que vai interpolar nossa função f x nos pontos x 0 ,   x 1   e   x n . Os coeficientes a k de p n x devem ser tais que:

f x k =   p n x k

1 se           i = k

0 se           i ≠ k

L i   ( x k )

Nosso objetivo nesse método é escrever nosso polinômio p n x como combinação de polinômios L 0 ,   L 1 ,   … ,   L n de grau n . Assim oh:

p n x = y 0 L 0 x + y 1 L 1 x + … + y n L n x

onde y i = f x i .

Para que p n x i = f x i = y i definimos os polinômios L k como:

L k x = x - x 0 x - x 1 … x - x k - 1 x - x k + 1 … x - x n x k - x 0 x k - x 1 … x k - x k - 1 x k - x k + 1 … x k - x n

Veja bem, se: x 0 ,   x 1 … x n são diferentes e a f ( x ) é uma função de valores são dados esses números. Então existe um ÚNICO POLINÔMIO DE GRAU MÁXIMO N.

p n x i = f x i

Meio confuso? Vamos ver um exemplo para ficar melhor, pode ser? Determine o polinômio interpolador para os pontos:

Primeiro: Analisar o número de i presentes na função dada. No caso temos três pontos i = 0,1   e   2 . Isso significa que temos TRÊS NÓS, mas o grau do polinômio é 2. Então uma regrinha legal de marcar é que o grau de polinômio sempre vai ser n ú m e r o   t o t a l   d e   p o n t o s   - 1 , ou seja, se temos n pontos, o polinômio será de grau n - 1 .

Como temos 3 nós de interpolação, nosso polinômio será de grau 2 . E definindo x 0 = - 1 ,   x 1 = 0 e x 2 = 1 , temos:

p 2 x = y 0 L 0 + y 1 L 1 + y 2 L 2

Onde:

y 0 = f x 0 = 6

y 1 = f x 1 = 1

y 2 = f x 2 = 0

Segundo: a PRÓXIMA coisa importante para se fazer é analisar que termos nós temos e como montar os interpoladores de Lagrange. Seguindo a fórmula geral:

L k x = x - x 0 x - x 1 … x - x k - 1 x - x k + 1 … x - x n x k - x 0 x k - x 1 … x k - x k - 1 x k - x k + 1 … x k - x n

Veja bem, nós temos nesse caso :   x 0 ,   x 1   e   x n = x 2 . Isso significa que temos que montar L 0 ,   L 1   e   L 2 . Um bom macete pra montar essa estrutura é:

Quem manda no L 0 é o grau 0, então x 0 fica no quociente e manda sempre subtrair os outros termos. E ele nuuuuuunca vai aparecer em cima. Já os outros 2 pontos ( x 1 e   x 2 ) aparecem em cima e embaixo. Fica assim:

L 0 = x - x 1 x - x 2 x 0 - x 1 x 0 - x 2 = x - 0 x - 1 - 1 - 0 - 1 - 1 = x 2 - x 2

Quem manda no L 1 é o grau 1, então x 1 fica no quociente e manda sempre subtrair os outros termos. E ele nuuuuuunca vai aparecer em cima. Já os outros 2( x 0 e   x 2 ) aparecem em cima e embaixo. Fica assim:

L 1 = x - x 0 x - x 2 x 1 - x 0 x 1 - x 2 = x - - 1 x - 1 0 - - 1 0 - 1 = ( x + 1 ) ( x - 1 ) - 1 = x 2 - 1 - 1

Quem manda no L 2 é o grau 2, então x 2 fica no quociente e manda sempre subtrair os outros termos. E ele nuuuuuunca vai aparecer em cima. Já os outros 2( x 0 e   x 1 ) aparecem em cima e embaixo. Fica assim:

L 2 = x - x 0 x - x 1 x 2 - x 0 x 2 - x 1 = x - - 1 x - 0 1 - - 1 1 - 0 = x 2 + x 2

Terceiro: Agora juntamos tudo no polinômio:

p 2 x = y 0 L 0 + y 1 L 1 + y 2 L 2

p 2 x = 6 x 2 - x 2 + 1 . x 2 - 1 - 1 + 0 x 2 + x 2 =   2 x 2 - 3 x + 1

Olha como ficam essas coisas todos no gráfico. Os pontos são:

E o polinômio que achamos fica:

Não é fácil, nem difícil. Mas se fizer com calma e paciência fica bem automático pra responder né?

O chato aqui é que à medida que aumentamos o grau de p n nós não só precisamos calcular mais polinômios L i como eles também se tornam mais trabalhosos de se calcular. Fora que o cálculo final de p n x também vai ficando cada vez mais chato à medida que aumentamos o grau do nosso polinômio interpolador.

Algoritmo

Agora nosso algoritmo vai sofrer uma mudança haha. Vamos lá:

Passo 1. Dados iniciais (o que seu programa vai receber de você):

a. Vetor de valores x = x 0 , x 1 , … , x n

b. Vetor de valores f x = f x 0 , f x 1 , … , f x n

c. Valor x - onde se quer avaliar f x

Passo 2. Para i de 0 a n faça os passos de 3 a 4:

Passo 3. L i = 1

Passo 4. Para j de 0 a n faça o passo 5:

Passo 5. Se j ≠ i : L i = L i ∙ x - - x j x i - x j

Passo 6. Nossa aproximação para f x ¯ será o valor y 0 L 0 + y 1 L 1 + … + y n L n

Como nosso objetivo final em geral é aproximar f x em algum ponto x ¯ , o algoritmo já calcula diretamente o valor de p n x nesse ponto x ¯ ao invés de nos dar a função de interpolação (o que seria bem mais trabalhoso).

Expandir

Exercício Resolvido #1

Lista 4 – Professora Angela – UFRJ – Questão 1

Dada a tabela da população de uma vila no início de cada ano, estimar a população em setembro de 1972, usando o polinômio de Lagrange de grau 2 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Antes de fazer qualquer coisa precisamos achar a função de interpolação certo? Ele quer um polinômio de Lagrange de grau 2 , então precisamos de 3 pontos. Os anos mais próximos de setembro de 1972 são:

x 0 = 1972

x 1 = 1973

x 2 = 1974

E temos:

y 0 = 6600

y 1 = 7200

y 2 = 8000

Nosso p 2 x será da forma:

p 2 x = y 0 L 0 + y 1 L 1 + y 2 L 2

Passo 2

Calculando os polinômios L i :

L 0 = x - x 1 x - x 2 x 0 - x 1 x 0 - x 2 = x - 1973 x - 1974 1972 - 1973 1972 - 1974 = x 2 - 3947 x + 3894702 2

L 1 = x - x 0 x - x 2 x 1 - x 0 x 1 - x 2 = x - 1972 x - 1974 1973 - 1972 1973 - 1974 = - x 2 + 3946 x - 3892728

L 2 = x - x 0 x - x 1 x 2 - x 0 x 2 - x 1 = x - 1972 x - 1973 1974 - 1972 1974 - 1973 = x 2 - 3945 x + 3890756 2

Passo 3

Jogando tudo na fórmula:

p 2 x = 100 x 2 - 393900 x + 387899000

Agora tem que tomar cuidado com uma coisa. Nós usamos a população do começo de cada ano para fazer essa aproximação. Mas ele pede a população em setembro de 1972! Então como fazemos isso? Bom, o ano tem 12 meses e setembro é o mês 9 . Se considerarmos o mês como sendo uma parte decimal do ano teremos que setembro de 1972 equivale ao ano 1972.75 . Substituindo esse valor na nossa função de interpolação:

p 2 1972.75 = 7031.25

Logo, temos aproximadamente 7031 pessoas nessa vila em setembro de 1972.

Resposta

A população dessa vila em setembro de 1972 é de aproximadamente 7031 pessoas.

Exercício Resolvido #2

Lista 4 – Professor Mauro – UFRJ – Questão 8 adaptada

A tabela abaixo representa a inflação bimestral medida pelo I N P C no ano de 2000 .