Transcript
Page 1: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Derivação e Integração Numérica

1 Derivação Numérica

Dado um conjunto de pontos (xi, yi)ni=1, a derivada

(dydx

)ipode ser calculada de várias formas. Na próxima

seção trabalharemos com diferenças �nitas, que é mais adequada quando as abcissas estão próximas e os dadosnão sofrem perturbações signi�cativas. Na seção subsequente trataremos os casos quando os dados oscilamvia ajuste ou interpolações de curvas.

1.1 Aproximação da derivada por diferenças �nitas

A derivada f ′(x0) de uma função f(x) no ponto x0 é

f ′(x0) = limh→0

f(x0 + h)− f(x0)

h.

Da de�nição, se h = 0 é pequeno (não muito pequeno para evitar o cancelamento catastró�co), é esperadoque uma aproximação para a derivada no ponto x0 seja dada por

f ′(x0) ≈f(x0 + h)− f(x0)

h.

Observe que se h for exatamente a distância entre x0 e x1, então x0 + h = x1 e

f ′(x0) ≈f(x1)− f(x0)

h=

y1 − y0h

.

Exemplo 1. Calcule a derivada numérica da função f(x) = cos(x) no ponto x = 1 usando h = 0.1, h = 0.01,h = 0.001 e h = 0.0001.

A tabela abaixo mostra a derivada numérica para cada valor de h.

h f(1 + h)f(1 + h)− f(1)

h

0.1 f(1.1) = cos(1.1) = 0.45359610.4535961− 0.5403023

0.1= −0.8670618

0.01 f(1.01) = cos(1.01) = 0.45359610.5318607− 0.5403023

0.01= −0.8441584

0.001 f(1.001) = cos(1.001) = 0.45359610.5403023− 0.5403023

0.001= −0.841741

0.0001 f(1.0001) = cos(1.0001) = 0.45359610.5403023− 0.5403023

0.0001= −0.841498

Observe que quanto menor h, melhor é a aproximação, visto que o valor exato para a derivada é f ′(1) =− sin(1) = −0.8414710. Porém, quando h = 10−13, a derivada numérica é −0.8404388, resultado pior queaquele para h = 0.0001 (usando aritmética de computador no scilab). Além disso, quando h = 10−16, aderivada numérica calculada no scilab é zero (cancelamento catastró�co). Isso nos motiva a pensar qual é omelhor h.

Essa aproximação para a derivada é denominada diferenças progressivas. A derivada numérica tambémpode ser aproximada usando de�nições equivalentes:

f ′(x0) ≈f(x0)− f(x0 − h)

h=

yi − yi−1

h

1

Page 2: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

que é denominada diferenças regressivas ou

f ′(x0) ≈f(x0 + h)− f(x0 − h)

2h=

yi+1 − yi−1

2h

que é denominada diferenças centrais.

Exemplo 2. Calcule a derivada numérica da função f(x) = cos(x) no ponto x = 1 usando diferençasprogressivas, diferenças regressivas e diferenças centrais com h = 0.1, h = 0.01 e h = 0.001.

A tabela abaixo mostra a derivada numérica para cada valor de h.

h diferenças progressivas diferenças regressivas diferenças centrais

0.1 −0.8670618cos(1)− cos(0.9)

0.1= −0.8130766

cos(1.1)− cos(0.9)

0.2= −0.8412007

0.01 −0.8441584cos(1)− cos(0.99)

0.01= −0.8387555

cos(1.01)− cos(0.99)

0.02= −0.8414570

0.001 −0.841741cos(1)− cos(0.999)

0.001= −0.8412007

cos(1.001)− cos(0.999)

0.002= −0.8414708

1.2 Erros de truncamento

Seja D+,hf(x0) a aproximação da derivada de f em x0 por diferenças progressivas, D−,hf(x0) a aproximaçãopor diferenças regressivas e D0,hf(x0) a aproximação por diferenças centrais, então

D+,hf(x0)− f ′(x0) =f(x0 + h)− f(x0)

h− f ′(x0)

=f(x0) + hf ′(x0) +

h2

2f ′′(x0) +O(h3)− f(x0)

h− f ′(x0)

=h

2f ′′(x0) +O(h2) = O(h).

Analogamente,

D−,hf(x0)− f ′(x0) =f(x0)− f(x0 − h)

h− f ′(x0)

=f(x0)−

(f(x0)− hf ′(x0) +

h2

2f ′′(x0) +O(h3)

)h

− f ′(x0)

= −h

2f ′′(x0) +O(h2) = O(h).

Também,

D0,hf(x0)− f ′(x0) =f(x0 + h)− f(x0 − h)

2h− f ′(x0)

=f(x0) + hf ′(x0) +

h2

2f ′′(x0) +O(h3)−

(f(x0)− hf ′(x0) +

h2

2f ′′(x0) +O(h3)

)2h

− f ′(x0)

= O(h2).

2

Page 3: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Exemplo 3. Calcule a derivada numérica e o erro de truncamento de f(x) = e−x em x = 1.5 pela fórmulade diferença progressiva para h = 0.1, h = 0.01 e h = 0.001.

Como |f ′′(x)| = |e−x| < 1, então |f ′+(x0)− f ′(x0)| < h

2.

h diferenças progressivas erro = h2

0.1 −0.2123364 0.050.01 −0.2220182 0.0050.001 −0.2230186 0.0005

O valor exato da derivada é f ′(1.5) = −0.2231302.

1.3 Erros de arredondamento

Para entender como os erros de arredondamento se propagam ao calcular as derivadas numéricas vamosconsiderar o operador de diferenças �nitas progressivas

D+,hf(x) =f(x+ h)− f(x)

h.

Nesse contexto temos o valor exato f ′(x) para a derivada, a sua aproximação numérica D+,hf(x) e a repre-sentação em número de máquina do operador D+,hf(x) que denoraremos por D+,hf(x). Seja ε(x, h) o errode arredondamento ao calcularmos a derivada e consideremos

D+,hf(x) = D+,hf(x)(1 + ε(x, h)) =f(x+ h)− f(x)

h(1 + ε(x, h)).

Também, consideremos|f(x+ h)− f(x+ h)| = δ(x, h) ≤ δ

e|f(x)− f(x)| = δ(x, 0) ≤ δ,

onde f(x+ h) e f(x) são as representação em ponto �utuante dos números f(x+ h) e f(x), respectivamente.A diferença do valor da derivada e sua aproximação representada em ponto �utuante pode ser estimada daseguinte forma:∣∣∣f ′(x)−D+,hf(x)

∣∣∣ =

∣∣∣∣∣f ′(x)− f(x+ h)− f(x)

h(1 + ε(x, h))

∣∣∣∣∣=

∣∣∣∣∣f ′(x)−

(f(x+ h)− f(x)

h+

f(x+ h)− f(x+ h)

h+

f(x)− f(x)

h

)(1 + ε)

∣∣∣∣∣=

∣∣∣∣∣f ′(x) +

(−f(x+ h)− f(x)

h− f(x+ h)− f(x+ h)

h+

f(x)− f(x)

h

)(1 + ε)

∣∣∣∣∣≤

∣∣∣∣f ′(x)− f(x+ h)− f(x)

h

∣∣∣∣+(∣∣∣∣∣f(x+ h)− f(x+ h)

h

∣∣∣∣∣+∣∣∣∣∣f(x)− f(x)

h

∣∣∣∣∣)|1 + ε|

+

∣∣∣∣f(x+ h)− f(x)

h

∣∣∣∣ ε≤ Mh+

(∣∣∣∣ δh∣∣∣∣+ ∣∣∣∣ δh

∣∣∣∣) |1 + ε|+ |f ′(x)|ε

≤ Mh+

(2δ

h

)|1 + ε|+ |f ′(x)|ε

3

Page 4: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

onde

M =1

2max

x≤y≤x+h|f ′′(y)|

está relacionado com o erro de truncamento.Esta estimativa mostra que se o valor de h for muito pequeno o erro ao calcular a aproximação numérica

cresce. Isso nos motiva a procurar o valor ótimo de h que minimiza o erro.

Exemplo 4. Estude o comportamento da derivada de f(x) = e−x2no ponto x = 1.5 quando h �ca pequeno.

Segue a tabela com os valores da derivada para vários valores de h.

h 10−2 10−4 10−6 10−7 10−8 10−9

D+,hf(1.5) −0.3125246 −0.3161608 −0.3161973 −0.3161976 −0.3161977 −0.3161977

h 10−10 10−11 10−12 10−13 10−14 10−15

D+,hf(1.5) −0.3161976 −0.3161971 −0.3162332 −0.3158585 −0.3178013 −0.3747003

Observe que o valor exato é −0.3161977 e o h ótimo é algo entre 10−8 e 10−9.

1.4 Fórmula de três e cinco pontos para a derivada primeira

Para aproximar a derivada de uma função f(x) em x0, x1 ou x2 usaremos os três pontos vizinhos (x0, f(x0)),(x1, f(x1)) e (x2, f(x2)). Uma interpolação usando polinômios de Lagrange para esses três pontos é da forma:

f(x) = f(x0)(x− x1)(x− x2)

(x0 − x1)(x0 − x2)+ f(x1)

(x− x0)(x− x2)

(x1 − x0)(x1 − x2)+ f(x2)

(x− x0)(x− x1)

(x2 − x0)(x2 − x1)

+f ′′′(ξ(x))

6(x− x0)(x− x1)(x− x2).

A derivada de f(x) é

f ′(x) = f(x0)2x− x1 − x2

(x0 − x1)(x0 − x2)+ f(x1)

2x− x0 − x2

(x1 − x0)(x1 − x2)+ f(x2)

2x− x0 − x1

(x2 − x0)(x2 − x1)

+f ′′′(ξ(x))

6((x− x1)(x− x2) + (x− x0)(2x− x1 − x2))

+ Dx

(f ′′′(ξ(x))

6

)(x− x0)(x− x1)(x− x2). (1)

Trocando x por x0, temos

f ′(x0) = f(x0)2x0 − x1 − x2

(x0 − x1)(x0 − x2)+ f(x1)

2x0 − x0 − x2

(x1 − x0)(x1 − x2)+ f(x2)

2x0 − x0 − x1

(x2 − x0)(x2 − x1)

+f ′′′(ξ(x0))

6((x0 − x1)(x0 − x2) + (x0 − x0)(2x0 − x1 − x2))

+ Dx

(f ′′′(ξ(x0))

6

)(x0 − x0)(x0 − x1)(x0 − x2).

Considerando uma malha equiespaçada onde x1 = x0 + h e x2 = x0 + 2h, temos:

f ′(x0) = f(x0)−3h

(−h)(−2h)+ f(x1)

−2h

(h)(−h)+ f(x2)

−h

(2h)(h)+

f ′′′(ξ(x0))

6((−h)(−2h))

=1

h

[−3

2f(x0) + 2f(x1)−

1

2f(x2)

]+ h2f

′′′(ξ(x0))

3

4

Page 5: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Similarmente, trocando x por x1 ou trocando x por x2 na expressão (1), temos outras duas expressões

f ′(x1) =1

h

[−1

2f(x0) +

1

2f(x2)

]+ h2f

′′′(ξ(x1))

6

f ′(x2) =1

h

[1

2f(x0)− 2f(x1) +

3

2f(x2)

]+ h2f

′′′(ξ(x2))

3

Podemos reescrever as três fórmulas da seguinte forma:

f ′(x0) =1

h

[−3

2f(x0) + 2f(x0 + h)− 1

2f(x0 + 2h)

]+ h2f

′′′(ξ(x0))

3

f ′(x0 + h) =1

h

[−1

2f(x0) +

1

2f(x0 + 2h)

]+ h2f

′′′(ξ(x0 + h))

6

f ′(x0 + 2h) =1

h

[1

2f(x0)− 2f(x0 + h) +

3

2f(x0 + 2h)

]+ h2f

′′′(ξ(x0 + 2h))

3

ou ainda

f ′(x0) =1

2h[−3f(x0) + 4f(x0 + h)− f(x0 + 2h)] + h2f

′′′(ξ(x0))

3(2)

f ′(x0) =1

2h[f(x0 + h)− f(x0 − h)] + h2f

′′′(ξ(x0))

6(3)

f ′(x0) =1

2h[f(x0 − 2h)− 4f(x0 − h) + 3f(x0)] + h2f

′′′(ξ(x0))

3(4)

Observe que uma das fórmulas é exatamente as diferenças centrais obtida anteriormente.Analogamente, para construir as fórmulas de cinco pontos tomamos o polinômio de Lagrange para cinco

pontos e chegamos a cinco fórmulas, sendo uma delas a seguinte:

f ′(x0) =1

12h[f(x0 − 2h)− 8f(x0 − h) + 8f(x0 + h)− f(x0 + 2h)] +

h4

30f (5)(ξ(x0)) (5)

Exemplo 5. Calcule a derivada numérica de f(x) = e−x2em x = 1.5 pela fórmula de três e cinco pontos

para h = 0.1, h = 0.01 e h = 0.001.

A tabela mostra os resultados:

h h = 0.1 h = 0.01 h = 0.001diferenças progressivas −0.2809448 −0.3125246 −0.3158289diferenças regressivas −0.3545920 −0.3199024 −0.3165667três pontos usando (2) −0.3127746 −0.3161657 −0.3161974três pontos usando (3) −0.3177684 −0.3162135 −0.3161978três pontos usando (4) −0.3135824 −0.3161665 −0.3161974cinco pontos usando (5) −0.3162384 −0.316197677 −0.3161976736860

O valor exato da derivada é f ′(1.5) = −0.3161976736856.

1.5 Aproximação para a derivada segunda por diferenças centrais

Para aproximar a derivada segunda, considere as expansões em série de Taylor

f(x0 + h) = f(x0) + hf ′(x0) +h2

2f ′′(x0) +

h3

6f ′′′(x0) +O(h4)

5

Page 6: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

f(x0 − h) = f(x0)− hf ′(x0) +h2

2f ′′(x0)−

h3

6f ′′′(x0) +O(h4).

Somando as duas expressões, temos:

f(x0 + h) + f(x0 − h) = 2f(x0) + h2f ′′(x0) +O(h4)

ou seja, uma aproximação de segunda ordem para a derivada segunda em x0 é

f ′′(x0) =f(x0 + h)− 2f(x0) + f(x0 − h)

h2+O(h2) := D2

0,hf(x0) +O(h2),

onde

D20,hf(x0) =

f(x0 + h)− 2f(x0) + f(x0 − h)

h2.

Exemplo 6. Calcule a derivada segunda numérica de f(x) = e−x2em x = 1.5 para h = 0.1, h = 0.01 e

h = 0.001.

A tabela mostra os resultados:

h h = 0.1 h = 0.01 h = 0.001D2

0,hf(1.5) 0.7364712 0.7377814 0.7377944

Observe que f ′′(x) = (4x2 − 2)e−x2e f ′′(1.5) = 0.7377946.

1.6 Problemas de valor contorno

Nesta seção usaremos a aproximação numérica da derivada para resolver problemas de valor de contorno daforma

−uxx = f(x, u), a < x < b.u(a) = ua

u(b) = ub

Resolver numericamente o problema acima exige uma discretização do domínio [a, b], ou seja, dividir o domínioem N partes iguais, de�nindo

h =b− a

N

O conjunto de abcissas xi, i = 1, ..., N + 1 formam uma malha para o problema discreto. Nosso objetivo éencontrar as ordenadas ui = u(xi) que satisfazem a versão discreta: −ui+1−2ui+ui−1

h2 = f(xi, ui), 2 ≤ i ≤ N.u1 = ua

uN+1 = ub

O vetor solução (ui)N+1i=1 do problema é solução do sistema acima, que é linear se f for linear em u e não linear

caso contrário.

Exemplo 7. Encontre uma solução numérica para o problema de contorno−uxx + u = e−x, 0 < x < 1.u(0) = 1u(1) = 2

6

Page 7: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Observe que

h =1

Ne a versão discreta da equação é −ui+1−2ui+ui−1

h2 + ui = e−xi , 2 ≤ i ≤ N.u1 = 1uN+1 = 2

ou seja, u1 = 1−ui+1 + (2 + h2)ui − ui−1 = h2e−xi , 2 ≤ i ≤ N.uN+1 = 2

que é um sistema linear. A sua forma matricial é:

1 0 0 · · · 0 0 0−1 2 + h2 −1 · · · 0 0 00 −1 2 + h2 · · · 0 0 0...

. . .0 0 0 · · · −1 2 + h2 −10 0 0 · · · 0 0 1

u1

u2

u3...uN

uN+1

=

1h2e−x2

h2e−x3

...h2e−xN

2

Para N = 10, temos a seguinte solução:

1.1.07350831.14870321.22719791.31055641.40031721.49801591.60520671.72348361.8545022

2

1.7 Derivada via ajuste ou interpolação

Dado os valores de uma função em pontos {(xi, yi)}Ni=1, as derivadas(dydx

)ipodem ser obtidas através da

derivada de uma curva que melhor ajusta ou interpola os pontos. Esse tipo de técnica é necessário quandoos pontos são muito espaçados entre si ou quando a função oscila muito. Por exemplo, dado os pontos (0, 1),(1, 2), (2, 5), (3, 9), a parábola que melhor ajusta os pontos é

Q(x) = 0.95 + 0.45x+ 0.75x2.

Usando esse ajuste para calcular as derivadas, temos

Q′(x) = 0.45 + 1.5x

e

y′(x1) ≈ Q′(x1) = 0.45, y′(x2) ≈ Q′(x2) = 1.95,

y′(x3) ≈ Q′(x3) = 3.45 e y′(x4) ≈ Q′(x4) = 4.95

7

Page 8: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Agora olhe o grá�co da seguinte tabela de pontos.

x y0. 1.951 1.672 3.713 3.374 5.125 5.796 7.507 7.558 9.339 9.4110 11.48

Observe que as derivadas calculadas por diferenças �nitas oscilam entre um valor pequeno e um grandeem cada intervalo e além disso, a fórmula progressiva difere da regressiva signi�cantemente. Por exemplo,por diferenças regressivas f ′(7) ≈ (7.55−7.50)

1= 0.05 e por diferenças progressivas f ′(7) ≈ (9.33−7.55)

1= 1.78. A

melhor forma de calcular a derivada aqui é fazer um ajuste de curva. A reta que melhor ajusta os dados databela é y = f(x) = 1.2522727 + 0.9655455x. Usando esse ajuste, temos f ′(7) ≈ 0.9655455.

2 Integração

2.1 Introdução

Considere o problema de calcular a área entre uma função positiva, o eixo x e as retas x = a e x = b. O valorexato dessa área é calculada fazendo uma aproximação por retângulos com bases iguais e depois tomando olimite quando o número de retãngulos tende ao in�nito:

A = limn→∞

n∑i=1

f(xi)hn,

8

Page 9: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

onde hn = b−an

é o tamnho da base dos retângulo e f(xi), 1 ≤ i ≤ n, a + (i − 1)h ≤ xi ≤ a + ih, é a alturados retângulos. Essa de�nição é generalizada para cálculo de integrais num intervalo [a, b]:∫ b

a

f(x)dx = limn→∞

n∑i=1

f(xi)hn.

A �gura abaixo mostra um exemplo quando f(x) = x2+1, 0 ≤ x ≤ 2. Temos a aproximação por um retângulocom base h1 = 2, depois com dois retângulos de base h2 = 1 e, �nalmente com quatro retângulo de basesh3 = 0.5.

Os valores aproximados para a integral são dados na tabela:

h1 = 2 h2 = 1 h3 = 0.5 h4 = 0.25∫ 2

0(x2 + 1)dx h1f(1) = 4 h2f(0.5) + h2f(1.5) = 4.5 4.625 4.65625

Observe que ∫ 2

0

(x2 + 1)dx =

[x3

3+ x

]20

=8

3+ 2 = 4.6666667

2.2 Regras de Integração Numérica

A integral de uma função num intervalo [a, b], também chamada de quadratura numérica, é aproximada pelasoma ∫ b

a

f(x)dx ≈n∑

i=1

aif(xi),

onde xi, 1 ≤ i ≤ n, são pontos distintos do intervalo [a, b]. Nessa de�nição, a integral∫ 2

0(x2 + 1)dx (dada na

seção 2.1) usando uma aproximação por retângulo usa apenas um ponto, o ponto médio do intervalo (x1 = 1),e a soma se reduz a uma parcela ((2 − 0)f(1)). A fórmula geral para essa caso, chamado de regra do pontomédio é: ∫ b

a

f(x)dx ≈ (b− a)f

(a+ b

2

):= hf(x1). (6)

9

Page 10: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

A forma natural de obter as regras de integração é usar o polinômio de Lagrange que passa pelo pontos{(xi, f(xi))}ni=1

f(x) = Pn(x) + termo de erro =n∑

i=1

f(xi)Li(x) +n∏

i=1

(x− xi)f (n+1)(ξ(x))

(n+ 1)!.

e integramos ∫ b

a

f(x)dx =n∑

i=1

[f(xi)

∫ b

a

Li(x)dx

]+

1

(n+ 1)!

∫ b

a

n∏i=1

(x− xi)f(n+1)(ξ(x))dx.

A fórmula de quadratura então é ∫ b

a

f(x)dx ≈n∑

i=1

aif(xi),

onde

ai =

∫ b

a

Li(x)dx

2.2.1 Regra do ponto médio

A regra do ponto médio (6) pode ser deduzida mais formalmente usando a expansão de Taylor

f(x) = f(x1) + f ′(x1)(x− x1) +f ′′(ξ(x))

2(x− x1)

2

que leva a integral∫ b

a

f(x)dx =

∫ b

a

f(x1)dx+ f ′(x1)

∫ b

a

(x− x1)dx+

∫ b

a

f ′′(ξ(x))

2(x− x1)

2dx.

Usando o teorema do valor médio para integrais e que h = b− a e x1 = (a+ b)/2, temos:∫ b

a

f(x)dx = hf(x1)dx+ f ′(x1)

∫ b

a

(x− x1)dx+ f ′′(η)

∫ b

a

1

2(x− x1)

2dx.

= hf(x1) + f ′(η)

[(x− x1)

2

2

]ba

+ f ′′(η)

[1

6(x− x1)

3

]ba

= hf(x1) + f ′(η)

[(b− x1)

2

2− (a− x1)

2

2

]+ f ′′(η)

[1

6(b− x1)

3 − 1

6(a− x1)

3

]= hf(x1) +

h3f ′′(η)

3.

para a ≤ η ≤ b.

Exemplo 8. Use a regra do ponto médio para aproximar a integral∫ 1

0

e−x2

dx.

Depois divida a integral em duas ∫ 1/2

0

e−x2

dx+

∫ 1

1/2

e−x2

dx.

e aplica a regra do ponto médio em cada uma delas. Finalmente, repita o processo dividindo em quatrointegrais.

10

Page 11: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Usando o intervalo [0, 1], temos h = 1 e x1 = 1/2. A regra do ponto médio resulta em∫ 1

0

e−x2

dx ≈ 1 · e−1/4 = 0.7788008

Usando dois intervalos, [0, 1/2] e [1/2, 1] e usando a regra do ponto médio em cada um dos intervalos, temos:∫ 1

0

e−x2

dx ≈ 0.5 · e−1/16 + 0.5 · e−9/16) = 0.4697065 + 0.2848914 = 0.7545979

Agora, usando quatro intervalos, temos∫ 1

0

e−x2

dx ≈ 0.25 · e−1/64 + 0.25 · e−9/64 + 0.25 · e−25/64 + 0.25 · e−49/64 = 0.7487471

Observe que o valor da integral é ∫ 1

0

e−x2

dx = 0.7468241330.

2.2.2 Regra do Trapézio

A regra do trapézio consiste em aproximar a integral por um trapézio em vez de um retângulo, como �zemos.Para isso, o polinômio de Lagrange deve ser uma reta, como mostra a �gura.

O polinômio de Lagrange de primeira ordem que passa por (x0, f(x0)) := (a, f(a)) e (x1, f(x1)) := (b, f(b))é dado por

P1(x) = f(x0)(x− x0)

(x1 − x0)+ f(x1)

(x− x1)

(x0 − x1)= f(x0)

(x− x0)

h− f(x1)

(x− x1)

h,

onde h = x1 − x0. Podemos integrar a função f(x) aproximando-a por esse polinômio:∫ b

a

f(x)dx = f(x0)

∫ b

a

(x− x0)

hdx− f(x1)

∫ b

a

(x− x1)

hdx+

1

2!

∫ b

a

(x− x0)(x− x1)f′′(ξ(x))dx.

11

Page 12: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Pelo teorema do valor médio, existe a ≤ η ≤ b tal que∫ b

af(ξ(x))g(x)dx = f(η)

∫ b

ag(x)dx e, portanto,∫ b

a

f(x)dx = f(x0)

[(x− x0)

2

2h

]x1

x0

− f(x1)

[(x− x1)

2

2h

]x1

x0

+f ′′(η)

2

[x3

3− x2

2(x1 + x0) + x0x1x

]x1

x0

= f(x0)(x1 − x0)

2

2h+ f(x1)

(x0 − x1)2

2h

+f ′′(η)

2

(x31

3− x2

1

2(x1 + x0) + x0x1x1 −

x30

3+

x20

2(x1 + x0)− x0x1x0

)= f(x0)

h2

2h+ f(x1)

h2

2h

+f ′′(η)

2

2x31 − 3x2

1(x1 + x0) + 6x21x0 − 2x3

0 + 3x20(x1 + x0)− 6x1x

20

6

=h

2(f(x0) + f(x1)) +

f ′′(η)

12

(x30 − 3x2

0x1 + 3x21x0 + x3

1

)=

h

2(f(x0) + f(x1))−

h3f ′′(η)

12

Exemplo 9. Use a regra do trapézio para aproximar a integral∫ 1

0

e−x2

dx.

Depois divida a integral em duas ∫ 1/2

0

e−x2

dx+

∫ 1

1/2

e−x2

dx.

e aplica a regra do trapézio em cada uma delas. Finalmente, repita o processo dividindo em quatro integrais.

Usando o intervalo [0, 1], temos h = 1, x0 = 0 e x1 = 1. A regra do trapézio resulta em∫ 1

0

e−x2

dx ≈ 1

2(e0 + e−1) = 0.6839397

Usando dois intervalos, [0, 1/2] e [1/2, 1] e usando a regra do trapézio em cada um dos intervalos, temos:∫ 1

0

e−x2

dx ≈ 0.5

2(e0 + e−1/4) +

0.5

2(e−1/4 + e−1) = 0.4447002 + 0.2866701 = 0.7313703

Agora, usando quatro intervalos, temos∫ 1

0

e−x2

dx ≈ 0.25

2(e0 + e−1/16) +

0.25

2(e−1/16 + e−1/4) +

0.25

2(e−1/4 + e−9/16) +

0.25

2(e−9/16 + e−1)

= 0.7429841

2.2.3 Regra de Simpson

A regra de Simpson consiste em aproximar a integral usando três pontos do intervalo:

x0 = a, x1 :=a+ b

2= x0 + h e x2 := b = x1 + h.

Para isso, o polinômio de Lagrange deve ser uma parábola:

P2(x) = f(x0)(x− x1)(x− x2)

(x0 − x1)(x0 − x2)+ f(x1)

(x− x0)(x− x2)

(x1 − x0)(x1 − x2)+ f(x2)

(x− x0)(x− x1)

(x2 − x0)(x2 − x1).

12

Page 13: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Se usarmos o mesma metodologia da regra dos trapézios, calcularemos∫ b

a

f(x)dx =

∫ b

a

P2(x)dx+

∫ b

a

(x− x0)(x− x1)(x− x2)

6f ′′′(ξ(x))dx

e obteremos o fórmula de Simpson com um erro de quarta ordem. O fato é que a regra de Simpson tem ordemcinco e, para isso, usaremos uma abordagem alternativa. Considere o polinômio de Taylor

f(x) = f(x1) + f ′(x1)(x− x1) +f ′′(x1)

2(x− x1)

2 +f ′′′(x1)

6(x− x1)

3 +f (4)(ξ(x))

12(x− x1)

4,

onde x0 ≤ ξ(x) ≤ x2 e integre no intervalo [a, b] = [x0, x2]:∫ b

a

f(x)dx =

[f(x1)(x− x1) + f ′(x1)

(x− x1)2

2+

f ′′(x1)

2(x− x1)

3 +f ′′′(x1)

18(x− x1)

3

]x2

x0

+1

24

∫ x2

x0

f (4)(ξ(x))(x− x1)4dx,

Pelo teorema do valor médio, existe x0 ≤ η ≤ x2 tal que∫ b

a

f(x)dx =

[f(x1)(x− x1) + f ′(x1)

(x− x1)2

2+

f ′′(x1)

2(x− x1)

3 +f ′′′(x1)

18(x− x1)

3

]x2

x0

+f (4)(η)

24

∫ x2

x0

(x− x1)4dx

=

[f(x1)(x− x1) + f ′(x1)

(x− x1)2

2+

f ′′(x1)

2(x− x1)

3 +f ′′′(x1)

18(x− x1)

3

]x2

x0

+f (4)(η)

120

[(x− x1)

5]x2

x0

Usando o fato que(x2 − x1)

3 − (x0 − x1)3 = 2h3,

(x2 − x1)4 − (x0 − x1)

4 = 0

e(x2 − x1)

5 − (x0 − x1)5 = 2h5,

temos ∫ b

a

f(x)dx = 2hf(x1) +h3

3f ′′(x1) +

h5f (4)(η)

60.

Usando a diferenças �nitas centrais para a derivada segunda:

f ′′(x1) =f(x0)− 2f(x1) + f(x2)

h2+

h2

12f (4)(η1),

x0 ≤ η1 ≤ x2, temos∫ b

a

f(x)dx = 2hf(x1) +h3

3

(f(x0)− 2f(x1) + f(x2)

h2+

h2

12f (4)(η1)

)+

h5f (4)(η)

60.

=h

3(f(x0) + 4f(x1) + f(x2))−

h5

12

(1

3f (4)(η1)−

1

5f (4)(η)

).

Pode-se mostrar que é possível escolher η2 que substitua η e η1 com a seguinte estimativa∫ b

a

f(x)dx =h

3(f(x0) + 4f(x1) + f(x2))−

h5

90f (4)(η2).

13

Page 14: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Exemplo 10. Use a regra de Simpson para aproximar a integral∫ 1

0

e−x2

dx.

Depois divida a integral em duas ∫ 1/2

0

e−x2

dx+

∫ 1

1/2

e−x2

dx.

e aplica a regra de Simpson em cada uma delas.

Usando o intervalo [0, 1], temos h = 1/2, x0 = 0, x1 = 1/2 e x2 = 1. A regra de Simpson resulta em∫ 1

0

e−x2

dx ≈ 0.5

3(e0 + 4e−1/4 + e−1) = 0.7471804

Usando dois intervalos, [0, 1/2] e [1/2, 1] e usando a regra do trapézio em cada um dos intervalos, temos:∫ 1

0

e−x2

dx ≈ 0.25

3(e0 + 4e−1/16 + e−1/4) +

0.25

3(e−1/4 + 4e−9/16 + e−1) = 0.7468554

2.3 Regras compostas

Vimos que em todas as estimativas de erro que derivamos, o erro depende do tamanho do intervalo deintegração. Um estratégia para reduzir o erro consiste em dividir o intervalo de integração em diversossubintervalos menores: ∫ b

a

f(x)dx =

Ni∑k=1

∫ bk

ak

f(x)dx

ondea = a1 < b1 = a2 < b2 = a3 < . . . < bNi−1 = aNi

< bNi= b

Depois, aplica-se um método simples em cada subintervalo.A regra composta dos trapézios assume a seguinte forma:∫ b

a

f(x)dx =

Ni∑k=1

∫ bk

ak

f(x)dx ≈Ni∑k=1

bk − ak2

[f(ak) + f(bk)]

Se assumirmos que todos os intervalos têm o mesmo comprimento h, temos:∫ b

a

f(x)dx ≈ h

2

Ni∑k=1

[f(ak) + f(bk)]

De�nimosxk = a+ (k − 1)h

portantoak = xk, bk = xk+1

E temos:∫ b

a

f(x)dx ≈ h

2

Ni∑k=1

[f(xk) + f(xk+1)] =h

2[f(x1) + 2f(x2) + 2f(x3) + · · ·+ 2f(xNi

) + f(xNi+1)]

14

Page 15: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Já a regra composta de Simpson assume a seguinte forma:∫ b

a

f(x)dx =

Ni∑k=1

∫ bk

ak

f(x)dx ≈Ni∑k=1

bk − ak6

[f(ak) + 4f

(ak + bk

2

)+ f(bk)

]Se mais uma vez assumirmos que todos os intervalos têm o mesmo comprimento 2h, temos:∫ b

a

f(x)dx ≈ 2h

6

Ni∑k=1

[f(ak) + 4f

(ak + bk

2

)+ f(bk)

]De�nimos

xk = a+ (k − 1)h, k = 1, . . . 2Ni + 1

portantoak = x2k−1, bk = x2k+1

E temos: ∫ b

a

f(x)dx ≈ h

3

Ni∑k=1

[f(x2k−1) + 4f(x2k) + f(x2k+1)] =

h

3[f(x1) + 4f(x2) + 2f(x3) + 4f(x4) + · · ·+ 4f(x2Ni

) + f(x2Ni+1)]

Exemplo 11. Calcule numericamente a integral∫ 2

0

x2ex2

dx

pelas regras compostas do ponto médio, trapézio e Simpson variando o número de intervalosNi = 1, 2, 3, 6, 12, 24, 48, 96.

Ni ponto médio Trapézios Simpson1 5.4365637 218.3926 76.4219092 21.668412 111.91458 51.7504693 31.678746 80.272022 47.8765056 41.755985 55.975384 46.49578512 45.137529 48.865685 46.38024824 46.057757 47.001607 46.37237348 46.292964 46.529682 46.3718796 46.352096 46.411323 46.371838

2.4 O método de Romberg

O método de Romberg é um método simpli�cado para construir quadraturas de alta ordem.Considere o método de trapézios composto aplicado à integral∫ b

a

f(x)dx

De�na I(h) a aproximação desta integral pelo método dos trapézios composto com malha de largura constanteigual a h. Aqui h = b−a

Nipara algum Ni inteiro, i.e.:

I(h) =h

2

[f(a) + 2

Ni∑j=2

f(xj) + f(b)

], Ni =

b− a

h

15

Page 16: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Teorema 1. Se f(x) é uma função analítica no intervalo (a, b), então a função I(h) admite uma representaçãona forma

I(h) = I0 + I2h2 + I4h

4 + I6h6 + . . .

Para um demonstração, veja [1]. Em especial observamos que∫ b

a

f(x)dx = limh→0

I(h) = I0

Ou seja, o valor exato da integral procurada é dado pelo coe�ciente I0.A ideia central do método de Romberg, agora, consiste em usar a extrapolação de Richardson para construir

métodos de maior ordem a partir do métodos dos trapézios para o intervalo (a, b)

Exemplo 12. Construção do método de quarta ordem.

I(h) = I0 + I2h2 + I4h

4 + I6h6 + . . .

I

(h

2

)= I0 + I2

h2

4+ I4

h4

16+ I6

h6

64+ . . .

Usamos agora uma eliminação gaussiana para obter o termo I0:

4I(h/2)− I(h)

3= I0 −

1

4I4h

4 − 5

16I6h

6 + . . .

Lembramos que

I(h) =h

2[f(a) + f(b)]

I(h/2) =h

4[f(a) + 2f (c) + f(b)] , c =

a+ b

2

4I(h/2)− I(h)

3=

h

3[f(a) + 2f (c) + f(b)]− h

6[f(a) + f(b)]

=h

6[f(a) + 4f (c) + f(b)]

Observe que esquema coincide com o método de Simpson.

A partir de agora, usaremos a seguinte notação

R1,1 = I(h)

R2,1 = I(h/2)

R3,1 = I(h/4)...

Rn,1 = I(h/2n−1)

Observamos que os pontos envolvidos na quadratura Rk,1 são os mesmos pontos envolvidos na quadraturaR(k − 1, 1) acrescidos dos pontos centrais, assim, temos a seguinte fórmula de recorrência:

Rk,1 =1

2Rk−1,1 +

h

2k−1

2k−2∑i=1

f

(a+ (2i− 1)

h

2k−1

)

16

Page 17: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

De�nimos Rk,2 para k ≥ 2 como o esquema de ordem quatro obtido da fórmula do exemplo 12:

Rk,2 =4Rk,1 −Rk−1,1

3

Os valores Rk,2 representam então os valores obtidos pelo método de Simpson composto aplicado a uma malhacomposta de 2k−1 + 1 pontos.

Similarmente os valores de Rk,j são os valores obtidos pela quadratura de ordem 2j obtida via extrapolaçãode Richardson. Pode-se mostrar que

Rk,j = Rk,j−1 +Rk,j−1 −Rk−1,j−1

4j−1 − 1.

Exemplo 13. Construa o esquema de Romberg para aproximar o valor de∫ 1

0e−x2

dx com erro de ordem 8.

1.01831560.8770373 0.82994450.8806186 0.8818124 0.88527030.8817038 0.8820655 0.8820824 0.8820318

Exemplo 14. Construa o esquema de Romberg para aproximar o valor de∫ 2

0x2ex

2dx com erro de ordem 12.

218.3926111.91458 76.42190966.791497 51.750469 50.10570651.892538 46.926218 46.604601 46.54902847.782846 46.412949 46.378731 46.375146 46.37446446.72661 46.374531 46.37197 46.371863 46.37185 46.371847

2.5 Ordem de precisão

Todos os métodos de quadratura que vimos até o momento são da forma∫ b

a

f(x)dx ≈N∑j=1

wjf(xj)

Exemplo 15. (a) Método do trapézio∫ b

a

f(x)dx ≈ [f(a) + f(b)]b− a

2

=b− a

2f(a) +

b− a

2f(b)

:= w1f(x1) + w2f(x2) =2∑

j=1

wjf(xj)

(b) Método do trapézio com dois intervalos∫ b

a

f(x)dx ≈[f(a) + 2f

(a+ b

2

)+ f(b)

]b− a

4

=b− a

4f(a) +

b− a

2f

(a+ b

2

)+

b− a

4f(b)

:= w1f(x1) + w2f(x2) + w3f(x3) =3∑

j=1

wjf(xj)

17

Page 18: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

(c) Método de Simpson ∫ b

a

f(x)dx ≈[f(a) + 4f

(a+ b

2

)+ f(b)

]b− a

6

=b− a

6f(a) +

2(b− a)

3f

(a+ b

2

)+

b− a

6f(b)

:=3∑

j=1

wjf(xj)

(d) Método de Simpson com dois intervalos∫ b

a

f(x)dx ≈[f(a) + 4f

(3a+ b

4

)+ 2f

(a+ b

2

)+ 4f

(a+ 3b

4

)+ f(b)

]b− a

12

=b− a

12f(a) +

b− a

3f

(3a+ b

4

)+

b− a

6f

(a+ b

2

)+

b− a

3f

(a+ 3b

4

)+

b− a

12f(b)

:=5∑

j=1

wjf(xj)

A principal técnica que temos usado para desenvolver os métodos numéricos é o polinômio de Taylor:

f(x) = a0 + a1x+ a2x2 + . . .+ anx

n +Rn(x)

Integrando termo a termo, temos:

∫ b

a

f(x)dx =

∫ b

a

a0dx+

∫ b

a

a1xdx+

∫ b

a

a2x2dx+ . . .+

∫ b

a

anxndx+

∫ b

a

Rn(x)dx

= a0(b− a) + a1b2 − a2

2+ a2

b3 − a3

3+ . . .+ an

bn+1 − an+1

n+ 1+

∫ b

a

Rn(x)dx

Neste momento, é natural invertigar o desempenho de um esquema numérico aplicado a funções do tipof(x) = xn.

De�nição 1. A ordem de precisão ou ordem de exatidão de um esquema de quadratura numérica comoo maior inteiro positivo n para o qual o esquema é exato para todas as funções do tipo xk com 0 ≤ k ≤ n, ouseja,

Um esquema é dito de ordem n se

n∑j=1

wjf(xj) =

∫ b

a

f(x)dx, f(x) = xk, k = 0, 1, . . . n

ou, equivalentemente:n∑

j=1

wjxkj =

∫ b

a

xkdx =bk+1 − ak+1

k + 1, k = 0, 1, . . . n

Observação 1. Se o método tem ordem 0 ou mais, então

n∑j=1

wj = b− a

18

Page 19: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Exemplo 16. A ordem de precisão do esquema de trapézios é 1:∫ b

a

f(x)dx ≈ [f(a) + f(b)]b− a

2=

2∑j=1

wjf(xj)

onde wj =b−a2, x1 = a e x2 = b.

n∑j=1

wj = b− a (k = 0)

n∑j=1

wjxj = (a+ b) b−a2

= b2−a2

2(k = 1)

n∑j=1

wjx2j = (a2 + b2) b−a

2= b3−a3

3(k = 2)

Exemplo 17. A ordem de precisão do esquema de Simpson é 3:∫ b

a

f(x)dx ≈[f(a) + 4f

(a+ b

2

)+ f(b)

]b− a

6=

3∑j=1

wjf(xj)

onde w1 = w3 =b−a6,w2 = 4 b−a

6, x1 = a, x2 =

a+b2

e x3 = b

n∑j=1

wj = (1 + 4 + 1) b−a6

= b− a (k = 0)

n∑j=1

wjxj = (a+ 4a+b2

+ b) b−a6

= (a+ b) b−a2

= b2−a2

2(k = 1)

n∑j=1

wjx2j = (a2 + 4

(a+b2

)2+ b2) b−a

6= (3a2 + 4ab+ 3b2) b−a

2= b3−a3

3(k = 2)

n∑j=1

wjx3j = (a3 + 4

(a+b2

)3+ b3) b−a

6= b4−a4

4(k = 3)

n∑j=1

wjx4j = (a4 + 4

(a+b2

)4+ b4) b−a

6= b5−a5

4(k = 3)

Problema 1. Encontre os pesos wj e as abscissas xj tais que o esquema de dois pontos∫ 1

−1

f(x)dx = w1f(x1) + w2f(x2)

é de ordem 3.

Solução:

Temos um sistema de quatro equações e quatro incógnitas dado por:

w1 + w2 = 2

x1w1 + x2w2 = 0

x21w1 + x2

2w2 =2

3x31w1 + x3

2w2 = 0

19

Page 20: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Da segunda e quarta equação, temos:w1

w2

= −x2

x1

= −x32

x31

Como x1 = x2, temos x1 = −x2 e w1 = w2. Da primeira equação, temos w1 = w2 = 1. Da terceira equação,temos −x1 = x2 =

√33.

Esse esquema de ordem de precisão três e dois pontos chama-se quadratura de Gauss-Legendre com doispontos: ∫ 1

−1

f(x)dx = f

(√3

3

)+ f

(−√3

3

)Exemplo 18. Comparação

f(x) Exato Trapézio Simpson Gauss-Legendre (2)

ex e− e−1 ≈ 2.3504024e−1 + e≈ 3.0861613

e−1 + 4e0 + e1

3≈ 2.3620538

e−−√3

3 + e√

33

≈ 2.3426961

x2√3 + x3 16

9− 4

9

√2 ≈ 1.1492384 3.4142136 1.1380712 1.1541058

x2ex3 e−e−1

3≈ 0.7834675 3.0861613 1.0287204 0.6790505

2.6 Quadratura de Gauss-Legendre

A quadratura de Gauss-Legendre de N pontos é o esquema numérico∫ 1

−1

f(x)dx =N∑j=1

wjf(xj)

cuja ordem de exatidão é 2N − 1.

• O problema de encontrar os N pesos e N abscissas é equivalente a um sistema não-linear com 2Nequações e 2N incógnitas.

• Pode-se mostrar que este problema sempre tem solução e que a solução é única se x1 < x2 < . . . < xn

• As abscissas são das pelos zeros do enésimo polinômio de Legendre, PN(x).

• Os pesos são dados por

wj =2(

1− x2j

)[P ′

N(xj)]2.

• Estes dados são tabelados e facilmente encontrados.

20

Page 21: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

n xj wj

1 0 2

2 ±√33

1

0 89

3

±√

35

59

±√(

3− 2√

6/5)/7 18+

√30

36

4

±√(

3 + 2√6/5)/7 18−

√30

36

Exemplo 19. Aproximar ∫ 1

−1

√1 + x2dx

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

I3 =5

9f

(−√

3

5

)+

8

9f(0) +

5

9f

(√3

5

)=

4

9

√10 +

8

9≈ 2.2943456

No Scilab:

exec pesos.sci;

I3=f(0)*w3(1)+f(x3(2))*w3(2)+f(-x3(2))*w3(2)

Exemplo 20. Aproximar ∫ 1

−1

√1 + x2dx

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

I4=f(x4(1))*w4(1)+f(-x4(1))*w4(1)+f(x4(2))*w4(2)+f(-x4(2))*w4(2)

Exemplo 21. Aproximar ∫ 1

0

√1 + x2dx

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

Faz-se a mudança de variáveis u = 2x− 1∫ 1

0

√1 + x2dx =

1

2

∫ 1

−1

√1 +

(u+ 1

2

)2

du

21

Page 22: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

deff('y=f(u)','y=sqrt(1+(u+1)^2/4)/2')

I3=f(0)*w3(1)+f(x3(2))*w3(2)+f(-x3(2))*w3(2)

I4=f(x4(1))*w4(1)+f(-x4(1))*w4(1)+f(x4(2))*w4(2)+f(-x4(2))*w4(2)

I5=f(0)*w5(1)+f(x5(2))*w5(2)+f(-x5(2))*w5(2)+f(x5(3))*w5(3)+f(-x5(3))*w5(3)

3 Soluções Numéricas para problemas de valor inicial

Muitos problemas de valor inicial da forma

y′(t) = f(y(t), t)

y(t0) = y0 condição inicial

não podem ser resolvidos exatamente, ou seja, sabe-se que a solução existe e é única, porém não podemosexpressá-la em termos de funções elementares. Por isso é necessário calcular soluções numéricas. Nessepropósito, construímos uma malha de pontos no eixo t, {ti}Ni=1 e calculamos o valor aproximado da funçãosoluçao y(ti) em cada ponto da malha usando esquemas numéricos.

3.1 Método de Euler

Seja o problema de valor inicial

y′(t) = f(y(t), t)

y(0) = y0 condição inicial

Aproximamos a derivada y′(t) por um esquema de primeira ordem do tipo

y′(t) =y(t+ h)− y(t)

h+O(h), h > 0

assim temos

y(t+ h)− y(t)

h= f(y(t), t) +O(h)

y(t+ h) = y(t) + hf(y(t), t) +O(h2)

De�nindo y(k) como uma aproximação para y ((k − 1)h) e t(k) = (k − 1)h, temos

y(k+1) = y(k) + hf(y(k), t(k))

y(1) = y0 condição inicial

Exemplo 1: Considere o problema de valor inicial

y′(t) = 2y(t)

y(0) = 1

Sabemos da teoria elementar de equação diferenciais ordinárias, que a solução exata deste problema é únicae é dada por

y(t) = e2t.

22

Page 23: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

O método de Euler aplicada a este problema produz o seguinte esquema:

y(k+1) = y(k) + 2hy(k) = (1 + 2h)y(k)

y(1) = 1,

cuja solução é dada pory(k) = (1 + 2h)k−1.

Como t = (k − 1)h, a solução aproximada é

y(t) ≈ y(t) = (1 + 2h)th .

Fica óbvio que se h → 0, entãoy(t) → e2t.

Exemplo 22. Considere o problema de valor inicial

y′(t) = y(t)(1− y(t))

y(0) = 1/2

É fácil encontrar a solução exata desta equação pois

dy(t)

y(t)(1− y(t))= dt(

1

y+

1

1− y

)dy = dt

ln(y)− ln(1− y) = t+ C

ln

(y

1− y

)= t+ C

y

1− y= et+C

y = et+C(1− y)

y(1 + et+C) = et+C

y =et+C

1 + et+C

ainda y(0) = eC

1+eC= 1/2, temos eC = 1 e, portanto, C = 0.

Assim, a solução exata é dada por y = et

1+et

O método de Euler produz o seguinte esquema iterativo:

y(k+1) = y(k) + hy(k)(1− y(k))

y(1) = 1/2

23

Page 24: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Comparaçãot Exato Euler h = .1 Euler h = .01

0 1/2 .5 .5

1/2 e1/2

1+e1/2≈ 0.6224593 0.6231476 0.6225316

1 e1+e

≈ 0.7310586 0.7334030 0.7312946

2 e2

1+e2≈ 0.8807971 0.8854273 0.8812533

3 e3

1+e3≈ 0.9525741 0.9564754 0.9529609

Exemplo 3

y′ = −y + t

y(0) = 1

Cuja solução exata é y(t) = 2e−t + t− 1.O esquema recursivo de Euler �ca:

y(k+1) = y(k)− hy(k) + ht(k)

y(0) = 1

Comparaçãot Exato Euler h = .1 Euler h = .01

0 1 1 1

1 2e−1 ≈ 0.7357589 0.6973569 0.7320647

2 2e−2 + 1 ≈ 1.2706706 1.2431533 1.2679593

3 2e−3 + 2 ≈ 2.0995741 2.0847823 2.0980818

24

Page 25: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Exemplo 4

x′ = −y

y′ = x

x(0) = 1

y(0) = 0

Cuja solução exata é x(t) = cos(t) e y(t) = sin(t)Escreva

z(t) =

[x(t)y(t)

]e temos [

x(k+1)

y(k+1)

]=

[x(k)

y(k)

]+ h

[−y(k)

x(k)

]Equivalente a

x(k+1) = x(k) − hy(k)

y(k+1) = y(k) + hx(k)

Exemplo 5 Resolva o problema de valor inicial de segunda ordem dado por

y′′ + y′ + y = cos(t)

y(0) = 1

y′(0) = 0

e compare com a solução exata para h = 0.1 e h = 0.01.Procedemos com a substituição w = y′, de forma que obtermos o sistema:

y′ = w

w′ = −w − y + cos(t)

y(0) = 1

w(0) = 0

y(k+1) = y(k) + hw(k)

w(k+1) = w(k) − hw(k) − hy(k) + h cos(t(k))

y(1) = 1

w(1) = 0

3.2 Método de Euler modifcado

No método de Euler, usamos a seguinte iteração:

y(k+1) = y(k) + hf(y(k), t(k))

y(1) = yi condição inicial

25

Page 26: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

A idéia do método de Euler melhorado é substituir a declividade f(y(k), t(k)) pela média aritmética entref(y(k), t(k)) e f(y(k+1), t(k+1)).

No entanto, não dispomos do valor de y(k+1) pelo que aproximamos por

y(k+1) = y(k) + hf(y(k), t(k)).

y(k+1) = y(k) + hf(y(k), t(k))

y(k+1) = y(k) +h

2

[f(y(k), t(k)) + f(y(k+1), t(k+1))

]y(1) = yi condição inicial

Refaça o exemplo 2 via método de Euler melhorado.

3.3 Ordem de precisão

Considere o problema de valor inicial dado por

y′(t) = f(y(t), t)

y(0) = yi

No método de Euler, aproximamos a derivada y′(t) por um esquema de primeira ordem do tipo

y′(t) =y(t+ h)− y(t)

h+O(h), h > 0

de forma que tínhamos

y(t+ h) = y(t) + hf(y(t), t) +O(h2)

Se �xarmos um instante de tempo t = Nh, temos:

y(t) =[y(0) + hf(y(0), 0) +O(h2)

]+[y(h) + hf(y(h), h) +O(h2)

]+ . . .

[y(t− h) + hf(y(t− h), t− h) +O(h2)

]= yk +

N−1∑j=0

O(h2) = yk +O(h)

Por isso, o método de Euler é dito ter ordem global de precisão h.

4 Métodos de Runge-Kutta

Os métodos de Runge-Kutta consistem em métodos do tipo:

y(n+1) = y(n) + w1k1 + . . .+ wnkn

onde

k1 = hf(y(n), t(n))

k2 = hf(y(n) + α2,1k1, t(n) + β2h)

k3 = hf(y(n) + α3,1k1 + α3,2k2, t(n) + β3h)

...

kn = hf(y(n) + αn,1k1 + αn,2k2 + . . . αn,n−1kn−1, t(n) + βnh)

26

Page 27: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

Os coe�cientes são escolhidos de forma que a expansão em taylor de y(n+1) e y(n) + w1k1 + . . . + wnkncoincidam até ordem k + 1.

Exemplo:

y(n+1) = y(n) +k1 + k2

2onde k1 = hf(y(n), t(n)) e k2 = f(y(n) + k1, t

(n)+h)

4.1 Métodos de Runge-Kutta - Quarta ordem

y(n+1) = y(n) +k1 + 2k2 + 2k3 + k4

6onde

k1 = hf(y(n), t(n))

k2 = hf(y(n) + k1/2, t(n) + h/2)

k3 = hf(y(n) + k2/2, t(n) + h/2)

k4 = hf(y(n) + k3, t(n) + h)

Este método tem ordem de truncamento local de quarta ordem. Uma discussão heurística usando método deSimpson pode ajudar a compreender os estranhos coe�cientes:

y(t(n+1))− y(t(n)) =

∫ t(n+1)

t(n)

f(y(s), s)ds

≈ h

6

[f(y(t(n)), t(n)

)+ 4f

(y(t(n) + h/2), t(n) + h/2

)+ f

(y(t(n) + h), t(n) + h

)]≈

k1 + 4(k2+k32

) + k4

6onde k1 e k4 representam as inclinações nos extermos e k2 e k3 são duas aproximações diferentes para ainclinação no meio do intervalo.

4.2 Métodos de passo múltiplo - Adams-Bashforth

O método de Adams-Bashforth consiste de um esquema recursivo do tipo:

yn+1 = yn +k∑

j=0

wjf(y(n−j), t(n−j))

Exemplo: Adams-Bashforth de segunda ordem

yn+1 = yn +h

2

[3f(y(n), t(n)

)− f

(y(n−1), t(n−1)

)]Exemplo: Adams-Bashforth de terceira ordem

yn+1 = yn +h

12

[23f

(y(n), t(n)

)− 16f

(y(n−1), t(n−1)

)+ 5f

(y(n−2), t(n−2)

)]Exemplo: Adams-Bashforth de quarta ordem

yn+1 = yn +h

24

[55f

(y(n), t(n)

)− 59f

(y(n−1), t(n−1)

)+ 37f

(y(n−2), t(n−2)

)− 9f

(y(n−3), t(n−3)

)]Os métodos de passo múltiplo evitam os múltiplos estágios do métodos de Runge-Kutta, mas exigem ser

"iniciados"com suas condições iniciais.

27

Page 28: 1 Derivação Numérica - mat.ufrgs.brfabio/der_int.pdf · Derivação e Integração Numérica 1 Derivação Numérica Dado um conjunto de pontos (xi;yi)n i=1, a derivada (dy dx)

5 Métodos de passo múltiplo - Adams-Moulton

O método de Adams-Moulton consiste de um esquema recursivo do tipo:

yn+1 = yn +k∑

j=−1

wjf(y(n−j), t(n−j))

Exemplo: Adams-Moulton de quarta ordem

yn+1 = yn +h

24

[9f(y(n+1), t(n+1)

)+ 19f

(y(n), t(n)

)− 5f

(y(n−1), t(n−1)

)+ f

(y(n−2), t(n−2)

)]O método de Adams-Moulton é inplícito, ou seja, exige que a cada passo, uma equação em y(n+1) seja

resolvida.

5.1 Estabilidade

Consideremos o seguinte problema de teste: {y′ = −αy

y(0) = 1

cuja solução exata é dada por y(t) = e−αt.Considere agora o método de Euler aplicado a este problema com passa h:{

y(k+1) = y(k) − αhy(k)

y(1) = 1

A solução exata do esquema de Euler é dada por

y(k+1) = (1− αh)k

e, portanto,y(t) = y(k+1) = (1− αh)t/h

Fixamos um α > 0, de forma que y(t) → 0. Mas observamos que y(t) → 0 somente quando |1− αh| < 1e solução positivas somento quando αh < 1.

Conclusão: Se o passo h for muito grande, o método pode se tornar instável, produzindo solução espúrias.Problema Resolva o problema 1 pelos diversos métodos e ve�que heuristicamente a estabilidade para

diversos valores de h.

Referências

[1] Demailly, J. P. Analyse Numérique et Équations Di�erentielles, nouvelle Édition ed. EDP Sciences,Grenoble, 2006.

28


Top Related