Obtenção da Fórmula

A primeira regra de Simpson é obtida aproximando-se a função \(f(x)\) por um polinômio interpolador de 2º Grau:

\[f(x) \doteq P_2(x) = y_1 +z \Delta_{y_1} + \frac{(z)(z-1)}{2!}\cdot \Delta^2_{y_1}\]

Logo:

\[I = h\left[2y_1+2(y_2-y_1) + \frac{1}{3}(y_3-2y_2+y_1) \right] \]

Resultando:

Fórmula Composta

Como foi feito com a regra de trapézios, deve-se subdividir o intervalo de integração \([a, b]\) em \(n\) subintervalos iguais de amplitude \(h\) e a cada par de subintervalos aplicar a 1ª regra de Simpson

Como a regra de Simpson é aplicada em pares de subintervalos, o número \(n\) de subintervalos deverá ser sempre par.

\[n = \frac{b-a}{n}\] \[I = \int_{a}^{b}{f(x)}dx \]

Aplicando para os subintervalos:

\[I=\frac{h}{3}\underbrace{(y_1+4y_2+y_3)}_{\textrm{1º subintervalo}}+ \frac{h}{3}\underbrace{(y_2+4y_3+y_4)}_{\textrm{2º subintervalo}} + \cdots + \frac{h}{3}\underbrace{(y_{n-2}+4y_{n-1}+y_n)}_{\textrm{nº subintervalo}}\]

Em evidência:

Exemplo 1

Calcule o valor da integral definida através da 1ª Regra de Simpson com \(n=4\):

\[\int_{0.8}^{2.2}{x^3-\sqrt{e^{x^2}}+1}dx\]

De forma gráfica:

Integral

Inicialmente vamos definir a altura dos pontos:

\[h=\frac{2.2 - 0.8}{4} = 0.35\]

Com isso, vamos calcular os valores de \(y_i\)

\(i\) \(x_i\) \(y_i\)
1 0.8 0.134872
2 1.15 0.583663
3 1.5 1.29478
4 1.85 1.79575
5 2.2 0.402141

Ajustando a expressão genérica para a quantidade \(n\) de elementos:

\[I = \frac{h}{3}(y_1+4y_2+2y_3+4y_4+y_5)\]

E desenvolvendo o cálculo:

\[I = \frac{0.35}{3} \times ( 0.134872 + (4 \times 0.583663) + (2 \times 1.29478) + (4 \times 1.79575) + 0.402141 ) = 1.47516\]

Esse resultado pode ser visto no gráfico:

Integral

Exemplo 2

Calcule o valor da integral abaixo através da 1ª Regra de Simpson desta vez com \(n=8\):

\[\int_{0.8}^{2.2}{ x^3-\sqrt{e^{x^2}}+1}dx\]

Calculando a altura dos pontos:

\[h=\frac{2.2 - 0.8}{8} = 0.175\]

Os valores de \(y_i\)

\(i\) \(x\) \(y\)
1 0.8 0.134872
2 0.975 0.318343
3 1.15 0.583663
4 1.325 0.920571
5 1.5 1.29478
6 1.675 1.6328
7 1.85 1.79575
8 2.025 1.53344
9 2.2 0.402141

A expressão genérica para \(n = 8\):

\[I = \frac{h}{3}(y_1+4y_2+2y_3+4y_4+2y_5 + 4y_6 + 2y_7 + 4y_8 + y_9)\]

E desenvolvendo o cálculo:

\[I = \frac{0.175}{3} \times ( 0.134872 + (4 \times 0.318343) + (2 \times 0.583663) + \] \[(4 \times 0.920571) + (2 \times 1.29478) + (4 \times 1.6328) + (2 \times 1.79575) + \] \[(4 \times 1.53344) + 0.402141 ) = 1.48785\]

Esse resultado pode ser visto no gráfico:

Integral

Aplicativo interativo:

Utilize o aplicativo a seguir para simular outros casos:

Exemplo 3

Dessa vez, é dada a função \( y = f(x)\) e a tabela de valores de \(y\). Calcular o valor de:

\[i=\int_{-1.5}^{0.5}{f(x)}dx\]
\(i\) \(y\)
1 3.44574
2 1.98118
3 1.25112
4 1.00258
5 0.990773
6 0.981514
7 0.752583

No cálculo de \(h\), lembrando que o números de pontos é igual a \(n = i-1\):

\[h = \frac{b-a}{n} =\frac{0.5-(-1.5)}{6} = 0.33333\]

A forma genérica:

\[I = \frac{h}{3}(y_1+ 4y_2 + 2y_3 + 4y_4 + 2y_5+ 4y_6 + y_7)\]

Desenvolvendo o cálculo:

\[I = \frac{0.33333}{3} \times ( 3.44574 + (4 \times 1.98118) + (2 \times 1.25112) + \] \[(4 \times 1.00258) + (2 \times 0.990773) + (4 \times 0.981514) + 0.752583 ) = 2.72702\]

Dicas de programação em HP PPL

O comando APPLY

Depois de criado a lista de pontos \(x\) através do comando MAKELIST, podemos aplicar a lista de valores de \(x\) a função \(f\) e com isso obter a lista de valores de \(y\)

Por exemplo, dada a lista \(x=\{1, 1.5, 2, 2.5, 3\}\) e a função \(f(x) = x^3- 3 x^2+x -2\), o cálculo ficaria:

\(i\) \(x_i\) \(y_i\)
1 1 \(f(1) = 1^3- 3\times(1)^2 + 1 -2 = -3\)
2 1.5 \(f(1.5) = 1.5^3- 3\times(1.5)^2 + 1.5 -2 = -3.875\)
3 2 \(f(2) = 2^3- 3\times(2)^2 + 2 -2 = -4\)
4 2.5 \(f(2.5) = 2.5^3- 3\times(2.5)^2 + 2.5 -2 = -2.625\)
5 3 \(f(3) = 3^3- 3\times(3)^2 + 3 -2 = 1\)

Resultando na lista de valores:

\[y = \{-3, -3.875, -4, -2.625, 1\}\]

Veja como ficaria isso em HP PPL:

EXPORT teste()
BEGIN
    PRINT();
    F1 := "X^3- 3*X^2+X -2";
    LOCAL x := {1, 1.5, 2, 2.5, 3};
    LOCAL y := apply(F1, x);

    PRINT(y);
END;

Resultando:

Comando APPLY

Lembrando que a função \(f(x) = x^3- 3 x^2+x -2\) pode ser inserida diretamente no app Function:

Comando APPLY

E o programa ficaria:

EXPORT aplicar()
BEGIN
    PRINT();
    LOCAL x := {1, 1.5, 2, 2.5, 3};
    LOCAL y := apply(F1, x);

    PRINT(y);
END;

A sintaxe do comando apply é:

apply(Fnc(f),Lst(l))

onde: Fnc(f) é a função que será aplicada

e Lst(l) a lista de valores.

Lst(l) deve obrigatoriamente ser uma lista ou vetor.

Outra maneira de aplicar a função

Outra possibilidade de aplicar os valores à função é diretamente através da função:

EXPORT aplicar()
BEGIN
    PRINT();
    F1 := "X^3- 3*X^2+X -2";
    LOCAL x := {1, 1.5, 2, 2.5, 3};
    LOCAL y := F1(x);

    PRINT(y);
END;

Esse método irá funcionar apenas se os valores forem atribuídos em formato de lista, caso for utilizado vetor será necessário utilizar o operador .. Esse operador é inserido antes de cada operação e indica para ser realizada uma operação para cada elemento do vetor:

EXPORT aplicar()
BEGIN
    PRINT();
    F1 := "X.^3- 3.*X.^2.+X .-2";
    LOCAL x := [1, 1.5, 2, 2.5, 3];
    LOCAL y := F1(x);

    PRINT(y);
END;

O incoveniente desse modo é que a função precisa ser reescrita.

Atividade

Utilizando a 1ª regra de Simpson, calcule o valor da integral com a quantidade de pontos definidos.

  • \[ \int_{1}^{8}{\frac{x^4}{e^x}}dx \]

    Com \(n = 2\)

  • \[ \int_{1}^{8}{\frac{x^4}{e^x}}dx \]

    Com \(n = 4\)

  • \[ \int_{1}^{8}{\frac{x^4}{e^x}}dx \]

    Com \(n = 8\)