Método de Lagrange

Os casos vistos anterioremente são casos de Interpolação de Lagrange, nesses métodos é sempre possível construir um polinômio único \(P_{n-1}(x)\) de grau \(n-1\) que passa através de \(n\) pontos distintos.

Uma maneira de obter esse polinômio é através da fórmula de Lagrange:

\[P_{n-1}(x) = \sum\limits_{i=1}^{n}{y_i\ell _i(x)} \]

Onde:

\[\ell _i(x) = \frac{x-x_1}{x_i-x_1}\times \frac{x-x_2}{x_i-x_2} \ldots \frac{x-x_{i-1}}{x_i-x_{i-1}}\times \frac{x-x_{i+1}}{x_i-x_{i+1}} \ldots \frac{x-x_{n}}{x_i-x_{n}}\] \[=\prod\limits_{\begin{matrix} j= 1\\ j\neq i \end{matrix} }^{n}{\frac{x-x_{j}}{x_i-x_{j}}},i = 1, 2, \ldots, n\]

São as chamadas funções cardinais

Por exemplo, se \(n = 2\), a função de interpolação é uma linha: \(P_{1}(x) = y_1\ell _1(x)+y_2\ell _2(x)\)

onde:

\[ \begin{matrix} \ell _1(x) = \frac{x-x_{2}}{x_1-x_{2}} & \ell _2(x) = \frac{x-x_{1}}{x_2-x_{1}} \end{matrix} \]

Com \(n = 3\), a função de interpolação é uma parábola: \(P_{2}(x) = y_1\ell _1(x)+y_2\ell _2(x)+y_3\ell _3(x)\) e:

\[ \begin{matrix} \ell _1(x) = \frac{(x-x_{2})(x-x_{3})} {(x_1-x_{2})(x_1-x_{3})} \\ \ell _2(x) = \frac{(x-x_{1})(x-x_{3})} {(x_2-x_{1})(x_2-x_{3})} \\ \ell _3(x) = \frac{(x-x_{1})(x-x_{2})} {(x_3-x_{1})(x_3-x_{2})} \\ \end{matrix} \]

Assim, de forma genérica, temos a Fórmula de Lagrange:

Exemplo 1

Dados os pontos, determine a função de Interpolação:

\[ \begin{matrix} \textbf{x} &0 &3.5 &5.5 \\ \hline \textbf{y} &3 &-49.5 &-123.5 \end{matrix} \]

Desenvolvendo a Fórmula de Lagrange:

\[ \begin{matrix} P_{2}(x) =3\times \frac{(x - 3.5)(x - 5.5)}{(0 - 3.5)(0 - 5.5)} -49.5 \times \frac{(x - 0)(x - 5.5)}{(3.5 - 0)(3.5 - 5.5)} -123.5 \times \frac{(x - 0)(x - 3.5)}{(5.5 - 0)(5.5 - 3.5)} \\ \textrm{} \\ P_{2}(x) =3 \times \frac{x^2 - 9x + 19.25}{19.25} -49.5 \times \frac{x^2 - 5.5x + 0}{-7} -123.5 \times \frac{x^2 - 3.5x + 0}{11} \end{matrix} \]

Resultando no polinômio:

\[ P_{2}(x) = -4x^2 - x + 3 \]

Exemplo 2

Outro exemplo, dados os pontos, determine a função de Interpolação:

\[ \begin{matrix} \textbf{x} &1 &3 &4.5 &5.5 &7.5 \\ \hline \textbf{y} &-2 &92 &470.938 &1039.19 &3513.69 \end{matrix} \]

Desenvolvendo:

\[ \begin{matrix} \begin{matrix} P_{4}(x) =-2 \times \frac{(x - 3)(x - 4.5)(x - 5.5)(x - 7.5)}{(1 - 3)(1 - 4.5)(1 - 5.5)(1 - 7.5)} + \\ 92 \times \frac{(x - 1)(x - 4.5)(x - 5.5)(x - 7.5)}{(3 - 1)(3 - 4.5)(3 - 5.5)(3 - 7.5)} + \\ 470.938 \times \frac{(x - 1)(x - 3)(x - 5.5)(x - 7.5)}{(4.5 - 1)(4.5 - 3)(4.5 - 5.5)(4.5 - 7.5)} +\\ 1039.19 \times \frac{(x - 1)(x - 3)(x - 4.5)(x - 7.5)}{(5.5 - 1)(5.5 - 3)(5.5 - 4.5)(5.5 - 7.5)} +\\ 3513.69 \times \frac{(x - 1)(x - 3)(x - 4.5)(x - 5.5)}{(7.5 - 1)(7.5 - 3)(7.5 - 4.5)(7.5 - 5.5)} \end{matrix} \\ \textrm{} \\ \begin{matrix} P_{4}(x) =-2 \times \frac{x^4 - 20.5x^3 + 152.25x^2 - 484.88x + 556.88}{204.75} + \\ 92 \times \frac{x^4 - 18.5x^3 + 117.25x^2 - 285.38x + 185.62}{-33.75} + \\ 470.938 \times \frac{x^4 - 17x^3 + 96.25x^2 - 204x + 123.75}{15.75} +\\ 1039.19 \times \frac{x^4 - 16x^3 + 84.75x^2 - 17x + 101.25}{-22.5} +\\ 3513.69 \times \frac{x^4 - 14x^3 + 67.75x^2 - 129x + 74.25}{175.5} \end{matrix} \end{matrix} \]

Polinômio resultante:

\[ P_{4}(x) = x^4 + x^3 - x^2 - 2x - 1 \]

Uso da variável X na HP Prime

Na calculadora HP Prime, podemos utilizar incógnitas, como a variável \(x\), para isso é necessário que esteja inserindo os cálculos no modo CAS (Computer Algebra System):

Modo CAS

Com isso, conseguimos inserir equações no formato:

Modo CAS

Porém a expressão ainda ficará no formato em que foi entrada, para simplificar a expressão, utiliza-se o comando normal:

Modo CAS Modo CAS

Programa com o modo CAS na HP Prime

Na programação, é necessário especificar a incógnita:

EXPORT modoCas()
BEGIN
  LOCAL x := CAS("x");
  LOCAL valor := (x-2)*(x+4);
  PRINT();
  PRINT("Expressão: " + valor);
  PRINT("Expressão simplificada: " + normal(valor));
END;

Ou utilizando a variável diretamente:

EXPORT modoCas()
BEGIN
  LOCAL valor := (CAS("x")-2)*(CAS("x")+4);
  PRINT();
  PRINT("Expressão: " + valor);
  PRINT("Expressão simplificada: " + normal(valor));
END;

De qualquer das formas, irá produzir o resultado:

Modo CAS

Atividade 1

Dados os pontos a seguir, encontre a função de interpolação correspodente:

  • x \( 1\) \( 3\)
    y \(-1\) \(-5\)
  • x \( -1\) \( 0\) \( 1.5\)
    y \(2\) \(3\) \(-6.75\)
  • x \( -2\) \( -0.5\) \( 1.5\) \( 3\)
    y \(-26\) \(-2.375\) \(1.125\) \(9\)

Atividade 2

Dados os pontos a seguir:

x \( 0\) \( 1.5\) \( 3\)
y \(-1\) \(-4.75\) \(-13\)

É desenvolvida pela seguinte sequência de passos:

\[ \begin{matrix} P_{2}(x) =-1 * \frac{(x - 1.5)(x - 3)}{(0 - 1.5)(0 - 3)} +\\ -4.75 * \frac{(x - 0)(x - 3)}{(1.5 - 0)(1.5 - 3)} +\\ -13 * \frac{(x - 0)(x - 1.5)}{(3 - 0)(3 - 1.5)} \end{matrix} \] \[ \begin{matrix} P_{2}(x) =-1 \times \frac{x^2 - 4.5x + 4.5}{4.5} + \\ -4.75 \times \frac{x^2 - 3x + 0}{-2.25} +\\ -13 \times \frac{x^2 - 1.5x + 0}{4.5} \end{matrix} \]

Resultando no polinômio interpolador:

\[P_2(x) = -1x^2 - 1x - 1\]

Uma parte do algoritmo do cálculo é apresentado a seguir:

EXPORT LagrangeParcial()
BEGIN

  M1:=	[[0, -1],
  	[1.5, -4.75],
  	[3, -13]];
  PRINT();
  LOCAL i, j;
  LOCAL x := CAS("x");

  FOR i FROM 1 TO 3 DO
        LOCAL eq01 := M1(i, 2);
        LOCAL eq02 := 1;
    	FOR j FROM 1 TO 3 DO
      		IF i <> j THEN
                    eq01 := eq01 * (x - M1(j, 1));   
                    eq02 := eq02 * (M1(i, 1) - M1(j, 1));   
      		END;
    	END;
	PRINT("\nEquação 1: " + eq01);
  	PRINT("Equação 1 simplificada: " + normal(eq01));

	PRINT("Equação 2: " + eq02);
  	
  END;
END;

Conclua o programa para o cálculo do polinômio interpolador dos pontos dados