You are on page 1of 6

Cálculo Numérico Diego A.

Oliveira - Vitória da Conquista/BA

Interpolação Por Lagrange


Contato: nibblediego@gmail.com

Escrito por Diego Oliveira - Publicado em 04/03/2016 - Atualizado em 24/11/2017

O que é?
Trata-se de uma forma de determinar uma função polinomial que passa por um
determinado conjunto de pontos dados.

Como funciona?
Para entender a Interpolação de Lagrange repare bem nessas sequencias:

 − 1  − 2  − 3  − n
L0 = · · ...
0 − 1 0 − 2 0 − 3 0 − n
 − 0  − 2  − 3  − n
L1 = · · ...
1 − 0 1 − 2 1 − 3 1 − n
 − 0  − 1  − 3  − n
L2 = · · ...
2 − 0 2 − 1 2 − 3 2 − n

..
.
 − 0  − 1  − 3  − n−1
Ln = · · ...
n − 0 n − 1 n − 2 n − n−1

Note que em L0 não é feito  − 0 no numerador muito menos 0 − 0 no denom-


inador, o que resultaria numa singularidade. Raciocínio semelhante ocorre para L1 ,
L2 e assim por diante.

O que a interpolação de Lagrange nos diz é que: dado um conjunto de pontos


(x0 , y0 ),...,(xn , yn ) então um polinômio (de grau n) que se ajusta a esses pontos é:

p() = y0 L0 () + y1 L1 () + y2 L2 () + y3 L3 () + · · · + yn Ln ()

1
Cálculo Numérico Diego A. Oliveira - Vitória da Conquista/BA

Exemplo 1: Dado os pontos (1, 3); (2, 6); (4, 8) e (7, 12) encontre um polinômio
interpolador de grau 3 por meio de Lagrange.

Solução:

Os pontos dados são:

(x0 , y0 ) = (1, 3);

(x1 , y1 ) = (2, 6);

(x2 , y2 ) = (4, 8);

(x3 , y3 ) = (7, 12);

Com base neles calculamos L0 , L1 , L2 e L3 .

−2 −4 −7 1


L0 = · · =− (3 − 132 + 50 − 56)
1−2 1−4 1−7 18
−1 −4 −7 1
L1 = · · = (3 − 122 + 39 − 28)
2−1 2−4 2−7 10
−1 −2 −7
L2 = · · = 3 − 102 + 23 − 14
4−1 4−2 4−7
−1 −2 −4 1
L3 = · · = (3 − 72 + 14 − 8)
7−1 7−2 7−4 90

Assim, o polinômio interpolador será:

p() = 3L0 () + 6L1 () + 8L2 () + 12L3 ()

1 1
  
⇒ p() = 3 − ( − 13 + 50 − 56) + 6
3 2 ( − 12 + 39 − 28)
3 2
18 10
1
 
+8  − 10 + 23 − 14 + 12 ( − 7 + 14 − 8)

3 2 3 2
90

ou mais simplificadamente:

257 2579 3014 1808


p() = 3 − 2 + −
30 30 15 15

2
Cálculo Numérico Diego A. Oliveira - Vitória da Conquista/BA

Na próxima página é apresentado uma implementação do algoritmo interpo-


lador de Lagrange escrito em Pascal. Utilizando os pontos (1, 3); (2, 6); (4, 8)
e (7, 12) como entrada e a variável valor igual a um. O resultado será igual
a 3, que é o mesmo resultado que encontraríamos se calculássemos p(1) para
257 2579 3014 1808
p() = 3 − 2 + − .
30 30 15 15

3
Cálculo Numérico Diego A. Oliveira - Vitória da Conquista/BA

Interpolação por Lagrange em Pascal

1 {A constante N marca o numero de pontos que serao utilizados. E a variavel


valor contem o valor utilizado para x}
2
3 Program Lagrange;
4 //Total de pontos que serao usados
5 Const N = 4;
6 var px, valor: Real;
7

8 var L: array[0..(N-1)] of real;


9 var x: array[0..(N-1)] of real;
10 var y: array[0..(N-1)] of real;
11
12 var i, j: integer;
13 Begin
14 WriteLn(’Entre com os valores de x:’);
15 for i:=0 to (N-1) do
16 begin
17 ReadLn(x[i]);
18 end;
19 WriteLn(’Entre com os valores de y:’);
20 for i:=0 to (N-1) do
21 begin
22 ReadLn(y[i]);
23 end;
24
25 {Calcula p(1). Para calcular p(n) mude o valor desta linha para n}
26 valor:=1;
27
28 for i:=0 to (N-1) do
29 begin
30 L[i] :=1;
31 end;
32
33 for i:=0 to (N-1) do
34 Begin
35 for j:=0 to (N-1) do
36 begin
37 if (i <> j) then
38 begin
39 L[i]:=(valor-x[j])/(x[i]-x[j])*L[i];
40 end;
41 end;
42 j := 0;
43 end;
44
45 //Calculando o polinomio
46 px:=0;
47 for i:=0 to (N-1) do
48 begin
49 px:=y[i]*L[i] + px;

4
Cálculo Numérico Diego A. Oliveira - Vitória da Conquista/BA

50 end;
51
52 //Imprimindo resultado
53 WriteLn();
54 WriteLn(px);
55 End.

5
Cálculo Numérico Diego A. Oliveira - Vitória da Conquista/BA

Este trabalho está licenciado com uma


Licença Creative Commons -
Atribuição-NãoComercial-
CompartilhaIgual 4.0 Internacional.

Esse documento está sujeito a constante atualização ou mesmo correções, por


isso, certifique se que o que você têm em mãos é de fato a última versão do
mesmo. Para saber, bem como ter acesso a vários outros exercícios resolvidos
de matemática, acesse: www.number.890m.com

E se alguma passagem ficou obscura ou se algum erro foi cometido por favor
entre em contato para que possa ser feito a devida correção.

.ƒ cebook.com/ theNmberType

nbbedego@gm.com

.nmber.890m.com

You might also like