Exercícios Resolvidos de Forma de Lagrange

Ver Teoria

Enunciado

4. O código abaixo tem o objetivo de aplicar o método de interpolação de Lagrange para preencher o ponto f(3.7) a partir dos pontos destacados no código. Nesse contexto, preencha os espaços vazios corretamente.

Passo 1

Falaaaa, galera!! Neste exercício vamos desenvolver parte do algoritmo do método de interpolação de Lagrange. Ficou confuso? Vem comigo!

Esse método nos ajuda a determinar um polinômio que contém um conjunto de pontos tabelados. O enunciado já nos forneceu esses pontos, logo nas primeiras duas linhas do código. Temos x 1 = 3.0 , x 2 = 3.5 ,   x 3 = 4.0 e x 4 = 4.5 , onde f ( x 1 ) = 1.099 ,   f ( x 2 ) = 1.253 ,   f ( x 3 ) = 1.386 e f ( x 4 ) =   1.504 . Logo, o polinômio interpolador P ( x ) terá grau menor ou igual à 3, pois para n pontos, sempre encontramos um polinômio de grau menor ou igual a n - 1 .

Passo 2

Antes de entender o algoritmo, vamos relembrar o passo a passo do método de Lagrange. Basicamente temos um polinômio com essa cara:

P ( x ) = f ( x 0 ) ⋅ L 0 ( x ) + f ( x 1 ) ⋅ L 1 ( x ) +   . . .   + f ( x n - 1 ) ⋅ L n - 1 ( x ) e

L i ( x ) = ( x - x j ) ( x - x j + 1 ) . . . ( x - x n - 1 ) ( x i - x j ) ( x i - x j + 1 ) . . . ( x i - x n - 1 )  

Em que n é o número de pontos tabelados, j = 0,1 , 2 , . . . ,   n - 1 e j ≠ i . Lembrando que a contagem dos pontos começa em 0 e por isso paramos em n - 1 .

Passo 3

Nosso código vai ficar assim:

Nós começamos declarando todas as variáveis usadas no código. Já comentamos que os pontos tabelados (armazenados nos vetores x[4] e fx[4]), foram descritos na primeira e na segunda linha. Na terceira, temos i e j, variáveis auxiliares para os laços de repetição. Na quarta, temos o ponto que queremos preencher pelo polinômio interpolador, fornecido no enunciado! Ou seja, xNovo = 3.7 e fxNovo = P(3.7). E por fim, temos mais dois auxiliares que nos ajudarão a construir nosso polinômio, sendo que lagrangeNumerador conterá os fatores do numerador e lagrangeDenominador, do denominador.

O primeiro laço de repetição for roda para os valores i = 0 ,   1 ,   2   e   3 , sendo que para cada rodada, iremos definir o "sub polinômio" L i ( x ) . Como estamos trabalhando com produtos, devemos inicializar lagrangeNumerador e lagrangeDenominador como valendo 1 , que é o número neutro da multiplicação.

O segundo laço de repetição for roda para os valores j = 0,1 , 2   e   3 , mas desta vez estão associados diretamente aos valores de x tabelados. O condicional if executa os dois comandos seguintes apenas para valores de j diferentes de i , pois como vimos na definição de L i ( x ) anteriormente, não temos fatores dependendo de x i .

Em seguida, fazemos lagrangeNumerador = lagrangeNumerador * (xNovo - x[j]) e lagrangeDenominador = lagrangeDenominador * (x[i] - x[j]). Nestas linhas estamos definindo o numerador e o denominador de L i ( x ) , para cada um dos valores de j , como vimos na definição. Observe que já incluímos xNovo no cálculo, para obtermos fxNovo ao fim da execução do algoritmo.

Uma vez que o segundo laço executa suas quatro rodadas, uma para cada um dos pontos tabelados, podemos multiplicar o polinômio L i ( x ) obtido por f ( x i ) e somar este produto ao polinômio interpolador P ( x ) , que no nosso caso seria fxNovo.

Ao fim das quatro rodadas do primeiro laço, temos nosso polinômio interpolador e portanto o valor de fxNovo, que é impresso na última linha do código!

Tranquilo, galera?

Resposta

O algoritmo retorna: f(3.7) = 1.308384.

Exercícios de Livros Relacionados

13. Sendo p n x = ∑ k = 0 n L k x f ( x k ) o polinômio que interpola f ( x ) em x 0 , x 1 , … . , x n na forma de Lagrange mostre que... ∑ k = 0 n L k ( x ) = 1 ,∀ x (Sugestão: Interpole a função f x
A integral elíptica completa é definida por: K k = ∫ 0 π 2 d x 1 - k 2 sin 2 ⁡ x 1 2 Por uma tabela de valores dessa integral encontramos:K 1 =1.5708 ;K 2 = 1.5719 ;K 3 = 1.5739 Determinar K ( 2.5 ) ,
Construir os polinômios de interpolação, na forma de Lagrange, para a função y = sin ⁡ π x , escolhendo os pontos: x 0 = 0;x 1 = 1 6;x 2 = 1 2.
Dar uma outra prova de unicidade do polinômio de interpolação P n ( f ; x ) de uma função y= f ( x ) sobre o conjunto de pontos x 0 , x 1 , .. ., x n . D n ( x ) = P n ( f ; x ) - Q n ( f ; x ) .
Conhecendo-se a tabela:calcular um limitante superior para o erro de truncamento quando calculamos cos ⁡ 1,05 usando polinômio de interpolação sobre 4 pontos.