| | | |

Matemática numérica II

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

3.5 Quadratura Gauss-Legendre

Quadraturas gaussianas são quadraturas numéricas de máximo grau de exatidão. Especificamente, quadraturas de Gauss-Legendre são quadraturas gaussianas para integrais da forma

I=∫−11f⁢(x)⁢𝑑x. (3.120)

Vamos começar considerando o problema de determinar a quadratura de Gauss-Legendre de apenas um ponto, i.e.

S=f⁢(x1)⁢ω1. (3.121)

Começamos por exigir a integração exata de polinômios de o grau 0, o que nos leva a

ω1⁢x10=∫−11x0⁢𝑑x (3.122)
ω1=x|−11=2. (3.123)

Agora, exigindo a integração exata de polinômios de grau 1, obtemos

ω1⁢x11=∫−11x1⁢𝑑x (3.124)
2⁢x1=x22|−11=0 (3.125)
x1=0. (3.126)

Com isso, concluímos que a quadratura de um nodo de maior grau de exatidão para tais integrais é a de nodo x1=0 e peso ω1=2. Observamos que esta é a regra do ponto médio para o intervalo de integração [−1,1].

Seguindo esse raciocínio, ao buscarmos por uma quadratura de n pontos com maior grau de exatidão possível para integrais no intervalo [−1,1], acabamos tendo que resolver um sistema de equações

∑i=1nxik⁢ωi=∫−11xk⁢𝑑x, (3.127)

para k=0,1,2,…⁢,2⁢n−1. I.e., no que temos 2⁢n incógnitas (n nodos e n pesos) a determinar, podemos exigir o grau de exatidão máximo de 2⁢n−1.

O sistema (3.127) é um sistema não linear para os nodos e a determinação de soluções para n grande não é uma tarefa trivial. Alternativamente, veremos que os nodos da quadratura de Gauss-Legendre de n nodos são as raízes do polinômio de Legendre de grau n. Por definição, o polinômio de Legendre de grau n, denotado por Pn⁢(x), satisfaz a seguinte propriedade de ortogonalidade

∫−11p⁢(x)⁢Pn⁢(x)⁢𝑑x=0, (3.128)

para todo polinômio p⁢(x) de grau menor que n. Com isso, estabelecemos o seguinte resultado.

Teorema 3.5.1.

A quadratura de Gauss-Legendre de n nodos tem as raízes do polinômio de Legendre de grau n como seus nodos e seus pesos são dados por

ωi=∫−11∏j≠ij=1nx−xjxi−xj⁢d⁢x. (3.129)
Demonstração.

Sejam x1,x2,…,xn as raízes do polinômio de Legendre de grau n. Queremos mostrar que

∫−11p⁢(x)⁢𝑑x=∑i=1np⁢(xi)⁢ωi, (3.130)

para todo polinômio p⁢(x) de grau menor ou igual 2⁢n−1. Primeiramente, suponhamos que p⁢(x) seja um polinômio de grau menor que n. Então, tomando sua representação por polinômio de Lagrange nos nodos xi, i=1,2,…,n, temos

∫−11p⁢(x)⁢𝑑x=∫−11∑i=1np⁢(xi)⁢∏j≠ij=1nx−xjxi−xj⁢d⁢x (3.131)
=∑i=1np(xi)∫−11∏j≠ij=1nx−xjxi−xjdx (3.132)
=∑i=1np(xi)ωi. (3.133)

Isto mostra o resultado para polinômios p⁢(x) de grau menor que n. Agora, suponhamos que p⁢(x) é um polinômio de grau maior ou igual que n e menor ou igual a 2⁢n−1. Dividindo p⁢(x) pelo polinômio de Legendre de grau n, Pn⁢(x), obtemos

p⁢(x)=q⁢(x)⁢Pn⁢(x)+r⁢(x), (3.134)

onde q⁢(x) e r⁢(x) são polinômio de grau menor que n. Ainda, nas raízes x1,x2,…,xn temos p⁢(xi)=r⁢(xi) e da ortogonalidade dos polinômios de Legendre (veja, equação (3.128)), temos

∫−11p⁢(x)⁢𝑑x=∫−11q⁢(x)⁢Pn⁢(x)+r⁢(x)⁢d⁢x (3.135)
=∫−11r(x)dx. (3.136)

Agora, do resultado anterior aplicado a r⁢(x), temos

∫−11p⁢(x)⁢𝑑x=∑i=1nr⁢(xi)⁢ωi=∑i=1np⁢(xi)⁢ωi. (3.137)

Isto complete o resultado para polinômios de grau menor ou igual a 2⁢n−1. ∎

Exemplo 3.5.1.(Gauss-Legendre de 2 pontos)

Considaremos a quadratura de Gauss-Legendre de 2 nodos. Do Teorema 3.5.1, seus nodos são as raízes do polinômio de Legendre de grau 2

P2⁢(x)=32⁢x2−12, (3.138)

as quais são

x1=−33, (3.139)
x2=33. (3.140)

Os pesos são, então

ω1=∫−11x−x1x2−x1⁢𝑑x (3.141)
=32[x22+33x]−11 (3.142)
=1 (3.143)

e

ω2=∫−11x−x2x1−x2⁢𝑑x (3.144)
=−32[x22−33x]−11 (3.145)
=1 (3.146)

Ou seja, a quadratura de Gauss-Legendre de 2 pontos tem o seguinte conjunto de nodos e pesos {(x1=−3/3,ω1=1),(x2=3/3,ω2=1)}. Esta, por sua vez, é exata para polinômios de grau menor ou igual a 3. De fato, verificando para potência de xk temos:

  • •

    k=0:

    ∫−11x0⁢𝑑x=2 (3.147)
    x10⁢ω1+x20⁢ω2=(−33)0+(33)0=2. (3.148)
  • •

    k=1:

    ∫−11x1⁢𝑑x=0 (3.149)
    x11⁢ω1+x21⁢ω2=(−33)1+(33)1=0. (3.150)
  • •

    k=2:

    ∫−11x2⁢𝑑x=23 (3.151)
    x12⁢ω1+x22⁢ω2=(−33)2+(33)2=23. (3.152)
  • •

    k=3:

    ∫−11x3⁢𝑑x=0 (3.153)
    x13⁢ω1+x23⁢ω2=(−33)3+(33)3=0. (3.154)
  • •

    k=4:

    ∫−11x4⁢𝑑x=25 (3.155)
    x14⁢ω1+x24⁢ω2=(−33)4+(33)4=29. (3.156)
Tabela 3.5: Conjunto de nodos e pesos da quadratura de Gauss-Legendre. Fonte: Wikipedia:Gauss-Legendre Quadrature.
n xi ωi
1 0 2
2 ±33 1
3 0 89
±35 59
4 ±37−27⁢65 18+3036
±37+27⁢65 18−3036
5 0 128225
±13⁢5−2⁢107 322+13⁢70900
±13⁢5+2⁢107 322−13⁢70900
Exemplo 3.5.2.

Considere o problema de obter uma aproximação para I=∫−11cos⁡(x)⁢𝑑x usando a quadratura de Gauss-Legendre. Calculemos algumas aproximações com n=1, 2 e 3 pontos:

  • •

    n=1:

    ∫−11cos⁡(x)⁢𝑑x≈2⁢cos⁡0 (3.157)
    =2. (3.158)
  • •

    n=2:

    ∫−11x⁢e−x2⁢𝑑x≈cos⁡(−3/3)+cos⁡(−3/3) (3.159)
    =1.67582. (3.160)
  • •

    n=3:

    ∫−11x⁢e−x2⁢𝑑x≈89⁢cos⁡0+59⁢cos⁡(−3/5)
    +59⁢cos⁡(3/5)=1,68300. (3.161)

Na Tabela 3.6, temos as aproximações de I com a quadratura de Gauss-Legendre de n=1, 2, 3, 4 e 5 pontos (detonado por I~, bem como, o erro absoluto com respeito ao valor analítico da integral.

Tabela 3.6: Resultados referentes ao Exemplo 3.5.2.
n I~ |I−I~|
1 2.00000 3.2⁢e−01
2 1.67582 7.1⁢e−03
3 1.68300 6.2⁢e−05
4 1.68294 2.8⁢e−07
5 1.68294 7.9⁢e−10
1import numpy as np
2from numpy.polynomial.legendre import leggauss
3
4# integrando
5f = lambda x: np.cos(x)
6# quadratura
7n = 4
8x,w = leggauss(n)
9# aproximação
10S = np.sum(f(x)*w)
11print(f'{n}: S = {S:.5e}')

3.5.1 Intervalos de integração arbitrários

A quadratura de Gauss-Legendre é desenvolvida para aproximar integrais definidas no intervalo [−1,1]. Por sorte, uma integral definida em um intervalo arbitrário [a,b] pode ser reescrita como uma integral no intervalo [−1,1] através de uma mudança de variável apropriada.

Assumindo a mudança de variável

x=b−a2⁢(u+1)+a (3.162)

temos

d⁢x=b−a2⁢d⁢u (3.163)

e, portanto,

∫abf⁢(x)⁢𝑑x=∫−11f⁢(b−a2⁢(u+1)+a)⋅b−a2⁢𝑑u. (3.164)

Portanto, para computarmos ∫abf⁢(x)⁢𝑑x podemos aplicar a quadratura de Gauss-Legendre na integral definida no [−1,1] dada conforme acima.

Exemplo 3.5.3.

Usemos a quadratura de Gauss-Legendre com 2 pontos para aproximar a integral

∫01x⁢e−x2⁢𝑑x. (3.165)

Fazendo a mudança de variável x=u/2+1/2, temos

∫01x⁢e−x2⁢𝑑x=∫−11(u2+12)⁢e−(u2+12)2⁢𝑑u. (3.166)

Então, aplicando a quadratura temos

∫01x⁢e−x2⁢𝑑x=(−36+12)⁢e−(−36+12)2
+(36+12)⁢e−(36+12)2 (3.167)
=3.12754e−1. (3.168)
1import numpy as np
2from numpy.polynomial.legendre import leggauss
3
4# integral
5a = 0
6b = 1
7f = lambda x: x*np.exp(-x**2)
8# quadratura
9n = 2
10x,w = leggauss(n)
11# mud de var
12x = (b-a)/2*(x+1)+a
13w = (b-a)/2*w
14# aproximação
15S = np.sum(f(x)*w)
16print(f'{n}: S = {S:.5e}')

3.5.2 Exercícios

E. 3.5.1.

Aproxime

∫−11sen⁡(x+2)−e−x2x2+ln⁡(x+2)⁢𝑑x (3.169)

usando a quadratura de Gauss-Legendre com:

  1. a)

    n=1 ponto.

  2. b)

    n=2 pontos.

  3. c)

    n=3 pontos.

  4. d)

    n=4 pontos.

  5. e)

    n=5 pontos.


a) −2.61712⁢e−1; b) 2.55351⁢e−1; c) 8.97510⁢e−2; d) 1.27411⁢e−1; e) 1.21016⁢e−1.

E. 3.5.2.

Aproxime

∫01sen⁡(x+2)−e−x2x2+ln⁡(x+2)⁢𝑑x (3.170)

usando a quadratura de Gauss-Legendre com:

  1. a)

    n=1 ponto.

  2. b)

    n=2 pontos.

  3. c)

    n=3 pontos.

  4. d)

    n=4 pontos.

  5. e)

    n=5 pontos.


a) −1.54617⁢e−1; b) −1.50216⁢e−1; c) −1.47026⁢e−1; d) −1.47190⁢e−1; e) −1.47193⁢e−1.

E. 3.5.3.

Aproxime

∫−11sen⁡(x+2)−e−x2x2+ln⁡(x+2)⁢𝑑x (3.171)

usando a quadratura de Gauss-Legendre com:

  1. a)

    n=5 ponto.

  2. b)

    n=10 pontos.

  3. c)

    n=20 pontos.


a) 1.21016⁢e−1; b) 1.21744⁢e−1; c) 1.21744⁢e−1

E. 3.5.4.

Use uma quadratura de Gauss-Legendre para computar a integral

I=∫−12x⁢sen⁡(x3)⁢𝑑x (3.172)

com 6 dígitos significativos corretos.


5.93738⁢e−1


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |