Quadratura Gaussiana

Teoria Completa

Fórmulas de Newton-Cotes

Até agora nós vimos as fórmulas de Newton-Cotes. Mais especificamente as fórmulas fechadas de Newton-Cotes pois utilizamos os extremos de integração para o cálculo da aproximação.

Vimos como essas fórmulas ficam aproximando-se da função f x a ser integrada por um polinômio de grau 1 e 2 dando origem as regras do Trapézio e 1/3 de Simpson.

Mas ela tem um problema. A falha das fórmulas de Newton-Cotes está no fato de precisarmos dividir um intervalo em subintervalinhos igualmente espaçados. Mas porque isso é ruim? Bom, imagine que aproximamos a curva abaixo pela regra dos Trapézios:

Ficou uma porcaria. Claro que nós poderíamos resolver isso dividindo esse intervalo em vários menores, mas essa é uma forma trabalhosa de se resolver e que iria requerer muitos pontos para chegarmos num erro pequeno.

E se pudéssemos aproximar a integral assim:

Ou seja, não usando os pontos extremos da função, mas usando outros pontos quaisquer de forma que a área extra contada (a área acima da curva) anulasse a área que não foi contada (a parte em branco abaixo da curva)!

Continuaríamos usando apenas dois pontos sem precisar dividir várias vezes o intervalo mas obteríamos um erro pequeno da mesma forma! O problema agora é: como escolher esses pontos?

Quadratura Gaussiana

Se tem algo que você deve ter aprendido até agora é que o desgraçado do Gauss fez tanta coisa que até na biologia deve ter alguma coisa com o nome do cara. E em integração numérica não foi diferente haha.

(Qualquer área da matemática: *existe* ----> Gauss: )

O método da Quadratura Gaussiana escolhe pontos de forma a otimizar a aproximação da integral ao invés de simplesmente escolher alguns pontos igualmente espaçados!

E como ele faz isso? Bom, vamos começar com calma. Primeiro vamos mostrar como funciona para a integral de uma função f x no intervalo - 1,1 usando n = 2 pontos. Depois vamos ver como funciona para mais pontos e para intervalos genéricos!

Nós vamos aproximar a integral pelo seguinte:

∫ - 1 1 f x d x ≈ c 1 f x 1 + c 2 f x 2

Onde essa aproximação vai nos dar o valor exato da integral para polinômios de grau menor ou igual a 2 n - 1 . Nesse caso, onde n = 2 , a aproximação não deve ter erro para polinômios de grau menor ou igual a 3 . Então essas funções abaixo podem ser aproximadas sem erro:

f x = 1

f x = x

f x = x 2

f x = x 3

Substituindo cada uma delas na aproximação:

c 1 ∙ 1 + c 2 ∙ 1 = ∫ - 1 1 1 d x = 2

c 1 ∙ x 1 + c 2 ∙ x 2 = ∫ - 1 1 x d x = 0

c 1 ∙ x 1 2 + c 2 ∙ x 2 2 = ∫ - 1 1 x 2 d x = 2 3

c 1 ∙ x 1 3 + c 2 ∙ x 2 3 = ∫ - 1 1 x 3 d x = 0

Acabamos com um sistema de 4 variáveis e 4 equações:

c 1 + c 2 = 2 c 1 x 1 + c 2 x 2 = 0 c 1 x 1 2 + c 2 x 2 2 = 2 3 c 1 x 1 3 + c 2 x 2 3 = 0

Resolvendo esse sisteminha chegamos em:

c 1 = 1 ; c 2 = 1

x 1 = - 3 3 ≈ - 0,5773502692 ; x 2 = 3 3 ≈ 0,5773502692

O que nos dá a fórmula de aproximação:

∫ - 1 1 f x d x ≈ f - 3 3 + f 3 3

Então, tivemos o seguinte passo a passo:

- Identificamos o intervalo de integração ( [ - 1,1 ] ) e quantos pontos usaríamos (foram dois pontos, x 1 e x 2 )

- Usamos a aproximação para a integral: ∫ - 1 1 f x d x ≈ c 1 f x 1 + c 2 f x 2

- Identificamos polinômios que não terão erro quando usarmos o método (que são os polinômios até o grau 3)

- Jogamos na fórmula e resolvemos o sistema

Vamos ver como isso vai ficar para n maiores que 2.

n Maiores

Nós vimos como fica a aproximação para n = 2 . Para n maiores faríamos o mesmo passo a passo.

A diferença é que a cada n que acrescentamos aparecem 2 novas variáveis e 2 novas equações. Maaaasss, por outro lado, a cada n que acrescentamos, diminuímos o erro do método também, já que vimos que esse método dá o valor exato para polinômios de grau 2 n - 1 ou menor.

Mas, por sorte alguém já teve esse trabalho e tabelou os valores das constantes c i e x i para cada n . Ta aqui uma tabela até n = 5 que é capaz de aproximar a integral de polinômios de grau menor ou igual a 9 sem erro algum:

Se você reparar, os valores de x 1 , x 2 , c 1 e c 2 que achamos no exemplo anterior são exatamente os primeiros valores dessa tabela.

Repare que os x i sempre vem em pares de sinais diferentes com c i iguais. Quando temos um número ímpar de x i o que tiver sem par vai ser um zero.

Vamos ver um exemplo disso aí em ação:

Aproxime ∫ - 1 1 e - x sin ⁡ x d x usando Quadratura Gaussiana com n = 3 .

Usando a tabela a gente fica com:

∫ - 1 1 e - x sin ⁡ x d x ≈ 0 . 5 ¯ e - 0.7745966692 sin ⁡ 0.7745966692 + 0 . 8 ¯ sin ⁡ 0 + 0 . 5 ¯ e 0.7745966692 sin ⁡ - 0.7745966692 = - 0.664001

Isso nos dá um erro de aproximadamente 0.000507 . Ou seja, algo em torno de 0.5 × 10 - 3 .

Para efeitos de comparação, utilizando a fórmula do limitante do erro para a regra 1/3 de Simpson repetida precisaríamos de 8 intervalos e para a regra dos trapézios repetida seriam necessários 64 intervalos!!!

E usando esse método fizemos a conta em duas linhas com os valores tabelados! O que seria de nós sem Gauss?

Bom, a maioria dos professores é sensato o suficiente para cobrar exercícios desse método na prova apenas com n = 2 . Pelo menos eu nunca vi ninguém cobrar mais que isso haha.

Ao invés de complicar aumentando o n eles normalmente complicam alterando o intervalo de integração para algo diferente de - 1,1 que é o que vamos ver agora.

Intervalos Genéricos de Integração

Falar de cara que a mudança de variável vai servir para termos um novo intervalo, sendo esse novo intervalo indo de -1 a 1. Trazer o exemplo de cara e então demostrar como fazemos a mudança de variável e usar os valores do exemplo, acho que ficaria mais concreto. Pular linhas na resolução e usar sempre e elevado a.

Agora imagina que você não quer mais integrar no - 1,1 mas quer integrar em um a , b qualquer. Fazemos tudo de novo para o novo intervalo? Claro que não né haha. É só aplicarmos uma mudança marota de variáveis, que vai servir para termos um novo intervalo (spoiler alert: o intervalo será - 1 ,   1 ). Se liga na formuleta:

x = 1 2 b - a t + a + b

d x = b - a 2 d t

Assim, temos:

∫ a b f x d x = ∫ - 1 1 f 1 2 b - a t + a + b b - a 2 d t

Ou seja, trocamos um x que ia de a para b por um t que vai de - 1 a 1 , agora tá tudo certo!

Vamos ver um exemplo só pra ficar bem claro?

Calcula aí a integral ∫ 5 10 e x d x usando Quadratura Gaussiana com dois pontos.

Primeiro temos que fazer a mudança de variáveis:

x = 1 2 10 - 5 t + 10 + 5 = 5 t + 15 2

d x = 10 - 5 2 = 5 2 d t

∫ 5 10 e x d x = ∫ - 1 1 e 5 t + 15 2 5 2 d t =

= 5 2 e 5 3 3 + 15 2 + 5 2 e - 5 3 3 + 15 2 = 20209.83207

O valor exato da integral é 21878 e tivemos um erro absoluto de quase 1700 . Não foi uma aproximação tão boa, mas devemos levar em consideração que usamos apenas 2 pontos haha. Usando 3 pontos o erro caí para aproximadamente 80 !

Algoritmo

O problema desse método é a necessidade de utilizar a função f x que muda com o problema. Sendo assim, antes de usá-lo é necessário definir essa função separadamente.

Sempre que a função f x aparecer aqui no algoritmo vai estar se referindo a função a ser integrada que você já deve ter definido em outra parte do seu programa ok?

Outro problema é que o seu algoritmo deve ter definido nele as constantes x i e c i a serem usadas para cada n ou deve deduzi-las na hora o que daria um belo trabalho haha. O algoritmo que eu vou apresentar aqui terá apenas os valores tabelados de n = 2 e n = 3 mas você pode adicionar os outros.

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

  1. Número de pontos n
  2. Intervalo a , b

Passo 2. Se n = 2 , vá para o passo 3. Se n = 3 , vá para o passo 4.

Passo 3. Retornamos o valor:

b - a 2 f 0.5773502692 b - a + a + b 2 + f - 0.5773502692 b - a + a + b 2

Passo 4. Retornamos o valor:

b - a 2 0.5555555556 ∙ f 0.7745966692 b - a + a + b 2 + 0.5555555556 ∙ f - 0.7745966692 b - a + a + b 2 + 0.8888888889 ∙ f a + b 2

Ou seja, nada muito complicado. Você literalmente só precisa escrever a fórmula. Repare que eu joguei direto na fórmula para um intervalo genérico. Você também poderia usar um teste para verificar se o intervalo é ou não igual a - 1,1 e dependendo do resultado usar uma fórmula mais simples. Isso reduziria o custo computacional quando o intervalo fosse - 1,1 .

Expandir

Exercício Resolvido #1

Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 314, exercício 12

Deduza a fórmula de integração da forma

∫ - 1 1 f x d x ≈ w 0 f - 0.5 + w 1 f 0 + w 2 f 0.5

que integre exatamente polinômios de grau ≤ 2 .

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Então pra resolver isso vamos usar a mesma lógica lá da teoria quando deduzimos a fórmula da quadratura gaussiana de dois pontos. Como a fórmula deve integrar exatamente polinômios de grau ≤ 2 , então nossa aproximação passa a ser uma igualdade nesses casos:

f x = 1

f x = x

f x = x 2

Onde temos:

w 0 ∙ 1 + w 1 ∙ 1 + w 2 ∙ 1 = ∫ - 1 1 1 d x = 2

w 0 - 0.5 + w 2 0.5 = ∫ - 1 1 x d x = 0

w 0 0.25 + w 2 0.25 = ∫ - 1 1 x 2 d x = 2 3