Use o botão abaixo para reportar erros ou dar sugestões.

Cálculo Numérico - Versão Scilab

9.7 Quadratura de Gauss-Legendre


Utilizando n pontos para aproximar a integral de f(x) em [-1,1] podemos encontrar a regra de quadratura de Gauss-Legendre

-11f(t)dt j=1nw jf(tj) (9.202)

cuja ordem de exatidão é 2n - 1.

  • Note que temos n coeficientes wj e n pontos tj para determinar. O problema de encontrar os n pesos e n abscissas é equivalente a um sistema não linear com 2n equações e 2n incógnitas.
  • Pode-se mostrar que este problema sempre tem solução e que a solução é única se t1 < t2 < < tn
  • Os nós xj são dados pelos zeros do polinômio de Legendre, Pn(t).
  • Os pesos são dados por
    wj = 2 1 - tj2 [Pn(tj)]2. (9.203)

A Tabela 9.1 lista os nós e os pesos da quadratura de Gauss-Legendre para n = 1, 2, 3, 4 e 5.


Tabela 9.1: Nodos e pesos para quadratura de Gauss-Legendre.
n tj wj



   
1 0 2



2 ± 3 3 1



3
0 8 9
±3 5 5 9



4
±3 - 265 7 18+30 36
±3 + 265 7 18-30 36



5
0 128 225
± 1 35 - 210 7 322 + 1370 900
   
± 1 35 + 210 7 322 - 1370 900



   

Exemplo 9.7.1. Aproxime

I =-111 + x2dx (9.204)

pelo método de Gauss-Legendre com 2, 3, 4 e 5 pontos.

Solução. A aproximação desta integral usando o método de Gauss-Legendre consiste em computar

I =-11f(x)dx i=1nw if(ti), (9.205)

onde f(x) = 1 + x2, wi é o i-ésimo peso, ti é o i-ésimo nodo, i = 1,,n, e n é o número de nodos (ou pesos) da quadratura. Usando os nodos e pesos dados na Tabela 9.1, obtemos os seguintes resultados:

n I


2 2,3094011
3 2,2943456
4 2,2957234
5 2,2955705


No Scilab, temos:

deff(’y=f(x)’,’y=sqrt(1 + x^2)’)  
 
//G-L n=2  
x2 = sqrt(3)/3  
w2 = 1  
I2 = w2(1)*f(x2(1)) + w2(1)*f(-x2(1))  
disp(I2)  
 
//G-L n=3  
x3 = [0 -sqrt(3/5) sqrt(3/5)]  
w3 = [8/9 5/9 5/9]  
I3 = w3(1)*f(x3(1)) + w3(2)*f(x3(2)) + w3(2)*f(-x3(2))  
disp(I3)  
 
//G-L n=4  
x4 = [sqrt((3-2*sqrt(6/5))/7) sqrt((3+2*sqrt(6/5))/7)]  
w4 = [(18+sqrt(30))/36 (18-sqrt(30))/36]  
I4 = w4(1)*f(x4(1)) + w4(1)*f(-x4(1)) ...  
   + w4(2)*f(x4(2)) + w4(2)*f(-x4(2))  
disp(I4)  
 
//G-L n=5  
x5 = [0 1/3*sqrt(5-2*sqrt(10/7)) 1/3*sqrt(5+2*sqrt(10/7))]  
w5 = [128/225 (322+13*sqrt(70))/900 (322-13*sqrt(70))/900]  
I5 = w5(1)*f(x5(1)) + w5(2)*f(x5(2)) + w5(2)*f(-x5(2)) ...  
     + w5(3)*f(x5(3)) + w5(3)*f(-x5(3))  
disp(I5)

Mudança de intervalo

Os coeficientes da quadratura de Gauss-Legendre foram obtidos no intervalo [-1,1]. Para aproximar a integral de f(x) no intervalo [a,b] devemos fazer a mudança de variável

x̄i = αti + β,α = (b - a)2,β = (b + a)2 (9.206)

tal que

abf(x)dx i=1nw if(x̄i)(b - a)2 (9.207)

Quando subdividimos o intervalo inicial [a,b] em N intervalos com extremos [xi,xi+1] a transformação torna-se

x̄i = αti + β,α = (xi+1 - xi)2,β = (xi+1 + xi)2 (9.208)

e

xixi+1 f(x)dx i=1nw if(x̄i)(xi+1 - xi)2 (9.209)

Exemplo 9.7.2. Aproximar

I =011 + x2dx (9.210)

pelo método de Gauss-Legendre com 3 pontos.

Solução. Para tanto, fazemos a mudança de variáveis u = 2x - 1:

I =011 + x2dx = 1 2-111 + u + 1 2 2du. (9.211)

E, então aplicamos a quadratura gaussiana nesta última integral, o que nos fornece I 1,1478011. No Scilab, podemos computar estas aproximações com o seguinte código:

deff(’y = f(u)’, ’y = sqrt(1+(u+1)^2/4)/2’)  
 
x3 = [0 -sqrt(3/5) sqrt(3/5)]  
w3 = [8/9 5/9 5/9]  
I3 = f(x3(1))*w3(1) + f(x3(2))*w3(2) + f(-x3(2))*w3(2)  
disp(I3)

9.7.1 Código Scilab: Quadratura gaussiana com N intervalos


Exemplo 9.7.3. Aproxime a integral de sen (x) em [0,1] utilizando 5 intervalos iguais e em cada intervalo utilize uma quadratura gaussiana com 3 nós.

O código Scilab abaixo é uma implementação da quadratura gaussiana com subdivisão de intervalos. Devemos definir a função f(x) = sen (x) e chamar a função gaussiana(0,1,5).

function S=gaussiana(a,b,n)  
h=(b-a)/n             // n intervalos  
x=linspace(a,b,n+1)  
 
w1=5/9; t1=-sqrt(3/5);  
w2=8/9; t2=0;  
w3=w1;  t3=-t1;  
 
S=0  
for i=1:n  
    alpha=(x(i+1)-x(i))/2  
    bet  =(x(i+1)+x(i))/2  
    x1=alpha*t1+bet;  
    x2=alpha*t2+bet;  
    x3=alpha*t3+bet;  
 
    A =(w1*f(x1)+w2*f(x2)+w3*f(x3))* h/2  
    S=S+A  
end  
endfunction

Exercícios resolvidos


Esta seção carece de exercícios resolvidos. Clique em e inicie a editá-la agora mesmo. Veja outras formas de participar clicando aqui.

Exercícios


E 9.7.1. Encontre aproximações para a integral

-11x4ex5 dx (9.212)

usando a quadratura de Gauss-Legendre com 2, 3, 4 e 5 pontos. Então, compare com o seu valor exato.

Resposta.

n G-L Exato Erro Absoluto
hline 2 0,2227
0,4701
2,47E -01
3 0,4157 5,44E -02
4 0,4437 2,64E -02
5 0,4616 8,47E -03

E 9.7.2. Encontre aproximações para as seguintes integrais via Gauss-Legendre com 4 e 5 pontos:

a)
01e-x4 dx
b)
14 log(x + ex)dx
c)
01e-x2 dx

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 30/7/2018 às 13:16:34.

Informe erros ou edite você mesmo!