Escolar Documentos
Profissional Documentos
Cultura Documentos
Cálculo Numérico
Macapá, 2023
Sumário
1 Preliminares Matemáticos e Análise de Erros 3
1.1 Polinômios e Séries de Taylor . . . . . . . . . . . . . . . . . . . . 3
1.2 Erros de arredondamento e aritmética no computador . . . . . . . . 8
1.3 Números de máquina decimais . . . . . . . . . . . . . . . . . . . . 9
1.4 Erro real, erro absoluto e erro relativo . . . . . . . . . . . . . . . . 10
1.5 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1
Capı́tulo 1
Preliminares Matemáticos e
Análise de Erros
1.1 Polinômios e Séries de Taylor
Os polinômios de Taylor são amplamente usados na análise numérica.
Para as definições que veremos a seguir, denotaremos o conjunto de todas as
funções que têm n derivadas contı́nuas em X como Cn (X), e o conjunto das funções
que têm derivadas de todas as ordens em X será denotado por C∞ (X). Funções poli-
nomiais, racionais, trigonométricas, exponenciais e logarı́tmicas estão em C∞ (X),
onde X consiste em todos os números para os quais as funções estão definidas.
Quando X for um intervalo da reta real, omitiremos os parênteses nessa notação.
Teorema de Taylor: Suponha que f ∈ Cn [a, b], que f (n+1) exista em [a, b] e que
x0 ∈ [a, b]. Para todo x ∈ [a, b], existe um número ξ (x) entre x0 e x com
onde
2
série infinita.
f ′ (x) = − sen x, f ′′ (x) = − cos x, f ′′′ (x) = sen x e f (4) (x) = cos x
e
f (0) = 1, f ′ (0) = 0, f ′′ (0) = −1 e f ′′′ (0) = 0
a) O polinômio de Taylor de ordem 2 fica:
1 2 1 3 10−6
cos(0, 01) = 1 − (0, 01) + (0, 01) sen ξ (0, 01) = 0, 99995 + sen ξ (0, 01)
2 6 6
3
A aproximação para cos(0, 01) determinada pelo polinômio de Taylor é, portanto,
0, 99995. O erro de truncamento, ou resto, relativo a essa aproximação é
10−6
sen ξ (0, 01) = 0, 16 × 10−6 sen ξ (0, 01)
6
onde usamos a barra sobre o 6 em 0, 16 para indicar que esse algarismo repete-se
indefinidamente. Assim, o erro que ocorre se usarmos a aproximação 0,99995 para
o valor do cos(0, 01) é limitado por
4
Exemplo: Vamos usar o terceiro polinômio de Taylor e seu resto, encontrados no
Z 0,1
exemplo anterior, para aproximar cos xdx.
0
Solução: Temos
Z 0,1 Z 0,1
1 0,1 4
1 2
Z
cos x dx = 1 − x dx + x cos ξ (x) dx
0 0 2 24 0
1 3 0,1 1 0,1 4
Z
= x− x + x cos ξ (x) dx
6 0 24 0
1 1 0,1 4
Z
3
= 0, 1 − (0, 1) + x cos ξ (x) dx
6 24 0
Portanto, Z 0,1
1
cos x dx ≈ 0, 1 − (0, 1)3 = 0, 09983
0 6
Um limitante para o erro nessa aproximação é determinado pela integral do resto
de Taylor e o fato de que | cos ξ (x)| ≤ 1 para todo x:
Z 0,1
1 1 0,1 4
Z
4
x cos ξ (x) dx ≤ x | cos ξ (x)| dx
24 0 24 0
1 0,1 4 (0, 1)5
Z
≤ x dx = = 8, 3 × 10−8
24 0 120
Como o valor verdadeiro da integral é
Z 0,1 i0,1
cos x dx = sen x = sen (0, 1) = 0, 099833416647
0 0
o erro real da aproximação é 8, 3314 × 10−8 , o qual está dentro da limitação do erro.
EXERCÍCIOS:
1. Seja f (x) = x3 .
a) Determine o polinômio de Taylor de ordem dois P2 (x) em torno de x0 = 0.
b) Determine R2 (0, 5) e o erro real ao usar P2 (0, 5) para aproximar f (0, 5).
c) Repita a parte (a) usando x0 = 1.
d) Repita a parte (b) usando o polinômio da parte (c).
√
2. Determine o polinômio
√ de Taylor
√ de
√ ordem três
√ 3 P (x) para a função f (x) = x+1
em x0 = 0. Aproxime 0, 5, 0, 75, 1, 25 e 1, 5 usando P3 (x) e determine os er-
ros reais.
5
1.2 Erros de arredondamento e aritmética no compu-
tador
A aritmética executada por uma calculadora ou computador é diferente daquela dos
nossos cursos de álgebra e cálculo. Você pode esperar que tenhamos
√ 2 sempre como
afirmações verdadeiras coisas como 2 + 2 = 4, 4 · 8 = 32 e ( 3) . Entretanto, na
√ 2 resultados exatos para 2 + 2 = 4, 4 · 8 = 32,
aritmética computacional, esperamos
mas não temos precisamente ( 3) .
Em nosso mundo da matemática tradicional, permitimos números com uma √ quan-
tidade infinita de algarismos. A aritmética que usamos nesse mundo define 3 como
o único número positivo que, quando multiplicado por si mesmo, produz o inteiro
3. No mundo da computação, entretanto, cada número representável tem apenas um
número fixo e finito de algarismos.
O erro que é produzido quando uma calculadora ou um computador é usado
para realizar cálculos com números reais é chamado erro de arredondamento. Isso
ocorre porque a aritmética efetuada em uma máquina envolve apenas números com
uma quantidade finita de algarismos, com o resultado de que os cálculos são efetua-
dos apenas com representações aproximadas dos números corretos.
±0, d1 d2 · · · dk × 10n , 1 ≤ d1 ≤ 9 e 0 ≤ di ≤ 9
y = 0, d1 d2 · · · dk × 10n
6
trunca o resultado para obter um número da forma
f l(y) = 0, σ1 σ2 · · · σk × 10n
|p − p∗ |
≤ 5 × 10−t
|p|
1.5 Algoritmos
Ao longo do texto examinaremos os procedimentos de aproximação, chamados al-
goritmos, envolvendo sequências de cálculos. Um algoritmo é um procedimento que
descreve, sem ambiguidades, uma sequência finita de passos a serem feitos em uma
ordem especı́fica. O objetivo do algoritmo é implementar um procedimento para
resolver um problema ou aproximar uma solução do problema.
Usamos um pseudocódigo para descrever os algoritmos. Esse pseudocódigo es-
pecifica a forma da entrada a ser fornecida e a forma de saı́da desejada. Nem todos
os procedimentos numéricos fornecem saı́das satisfatórias para entradas arbitrari-
7
amente escolhidas. Como consequência, uma técnica de parada independente da
técnica numérica é incorporada em cada algoritmo para evitar laços infinitos.
Dois sı́mbolos de pontuação são usados nos algoritmos:
• Um ponto final (.) indica o término de um passo.
• Um ponto-e-vı́rgula (;) separa tarefas dentro de um passo.
Técnicas de laços nos algoritmos são ou controladas por um contador, como em
Para i = 1, 2, ..., n
Faça xi = ai + i · h
EXERCÍCIOS:
1. Utilize o MATLAB (ou Scilab) para programar a seguinte soma:
N
∑ i2
i=1
8
Capı́tulo 2
dN(t)
= λ N(t)
dt
A solução dessa equação é N(t) = N0 eλt , onde N0 denota a população inicial.
Esse modelo exponencial é válido apenas quando a população é isolada, sem imigração.
Se a imigração for permitida a uma taxa constante v, a equação diferencial se torna
dN(t)
= λ N(t) + v
dt
cuja solução é
v
N(t) = N0 eλt + (eλt − 1)
λ
Suponha que uma população tenha inicialmente N(0) = 1.000.000 indivı́duos,
que 435.000 imigrem para a comunidade no primeiro ano, e que N(1) = 1.564.000
indivı́duos estejam presentes ao fim de um ano. Para determinar a taxa de natalidade
dessa população, precisamos determinar λ na equação
435.000 λ
1.564.000 = 1.000.000eλ + (e − 1)
λ
Não é possı́vel isolar λ nesta equação, mas os métodos numéricos discutidos
neste capı́tulo podem ser usados para encontrar soluções aproximadas de equações
deste tipo com precisão arbitrariamente alta.
9
2.1 O método da bissecção
Aqui consideramos um dos problemas básicos mais importantes da aproximação
numérica, o problema da determinação de uma raiz. Esse processo envolve a
determinação de uma raiz, ou solução, de uma equação da forma f (x) = 0, para
dada função f . Uma raiz dessa equação também é denominada zero da função f .
Técnica da bissecção:
A primeira técnica, com base no teorema do valor intermediário, é denominada
método da bissecção.
Suponha que f seja uma função contı́nua definida no intervalo [a, b], com f (a) e
f (b) de sinais opostos. De acordo com o teorema do valor intermediário, existe um
número p em (a, b) com f (p) = 0.
Para simplificar o problema, suponhamos que a raiz nesse intervalo seja única,
apesar de o procedimento poder ser aplicado quando existir mais de uma raiz no
intervalo (a, b). O método requer repetidas divisões na metade de subintervalos de
[a, b] e, a cada passo, a localização da metade contendo p.
Inicialmente, defina a1 = a e b1 = b e considere p1 o ponto médio de [a, b], ou
seja,
b1 − a1 a1 + b1
p1 = a1 + =
2 2
• Se f (p1 ) = 0, então p = p1 e resolvemos o problema.
• Se f (p1 ) ̸= 0, então f (p1 ) tem o mesmo sinal de f (a) ou de f (b).
– Se f (p1 ) e f (a1 ) têm o mesmo sinal, p ∈ (p1 , b1 ). Definimos a2 = p1 e
b2 = b1 .
– Se f (p1 ) e f (a1 ) têm sinais opostos, p ∈ (a1 , p1 ). Definimos a2 = a1 e
b2 = p1 .
Depois, reaplicamos o processo ao intervalo [a2 , b2 ].
ALGORITMO - Bissecção:
Para determinar uma solução de f (x) = 0, dada a função contı́nua f no intervalo
[a, b], onde f (a) e f (b) têm sinais opostos.
ENTRADA extremidades a, b; tolerância T OL; número máximo de iterações
N0
SAÍDA solução aproximada p ou mensagem de erro.
Passo 1 Faça i = 1;
FA = f (a)
Passo 2 Enquanto i ≤ N0 , execute os passos 3 a 6.
Passo 3 Faça p = a + (b − a)/2; (Calcule pi )
10
FP = f (p).
Passo 4 Se FP = 0 ou (b − a)/2 < T OL, então
SAÍDA (p); (Procedimento concluı́do com sucesso.)
PARE.
Passo 5 Faça i = i + 1.
Passo 6 Se FA · FP > 0, então faça a = p; (Calcule ai , bi )
FA = FP.
senão faça b = p. (FA não muda)
|pN − pN−1 |
<ε com ε > 0
|pN |
Quando um computador é utilizado para gerar aproximações, é boa prática definir
um limite superior para o número de iterações. Isso foi efetuado no Passo 2 do
Algoritmo, no qual o limite N0 foi definido e o procedimento encerrado se i > N0 .
Observe que, para iniciarmos o algoritmo de bissecção, devemos determinar um
intervalo [a, b] com f (a) · f (b) < 0. Em cada passo, o comprimento do intervalo que
contém um zero de f é reduzido por um fator 2 e, desse modo, é vantajoso escolher
o menor intervalo inicial [a, b] possı́vel.
Exemplo: Mostre que f (x) = x3 + 4x2 − 10 = 0 tem uma raiz em [1, 2] e use o
método da bissecção para determinar uma aproximação da raiz que tenha precisão
de pelo menos 0,002.
Solução: O passo a passo fica da seguinte forma:
11
1. Como f (1) = −5 < 0 e f (2) = 14 > 0, o teorema do valor intermediário ga-
rante que essa função contı́nua tenha uma raiz em [1, 2].
12
EXERCÍCIOS: √
1. Utilize o método da bissecção para determinar p3 para f (x) = x −cos x em [0, 1].
2. Seja f (x = 3(x + 1)(x − 12 )(x − 1) = 0. Utilize o método da bissecção nos
intervalos a seguir para determinar p3 .
a) [−2, 1, 5] b) [−1, 25, 2, 5]
3. Utilize o método da bissecção para determinar as soluções com precisão de
−2
10 para x3 − 7x2 + 14x − 6 = 0 em cada intervalo.
a) [0, 1] b) [1, 3, 2] c) [3, 2, 4]
4. Utilize o método da bissecção para determinar as soluções com precisão de
−2
10 para x4 − 2x3 − 4x2 + 4x + 4 = 0 em cada intervalo.
a) [−2, −1] b) [0, 2] c) [2, 3] d) [−1, 0]
(p − p0 )2 ′′
f (p) = f (p0 ) + (p − p0 ) f ′ (p0 ) + f (ξ (p))
2
onde ξ (p) está entre p e p0 . Uma vez que f (p) = 0, essa equação fornece
(p − p0 )2 ′′
0 = f (p0 ) + (p − p0 ) f ′ (p0 ) + f (ξ (p))
2
Para deduzir o método de Newton, vamos supor que, como |p − p0 | é pequeno, o
termo envolvendo (p − p0 )2 será muito menor, de modo que
0 ≈ f (p0 ) + (p − p0 ) f ′ (p0 )
Isolando p, obtemos
f (p0 )
p ≈ p0 − ≡ p1
f ′ (p0 )
Isso fornece a estrutura para a aplicação do método de Newton, que começa com
uma aproximação inicial p0 e gera a sequência {pn }∞n=0 por
f (pn−1 )
pn ≈ pn−1 − , para n ≥ 1
f ′ (pn−1 )
A Figura abaixo mostra como as aproximações são obtidas por meio de tan-
13
gentes sucessivas. Começando com a aproximação inicial p0 , a aproximação p1 é a
interseção da reta tangente ao gráfico de f em (p0 , f (p0 )) com eixo x, a aproximação
p2 é a intersecção da reta tangente ao gráfico de f em (p1 , f (p1 )) com o eixo x, e
assim por diante.
14
Assim,
cos(p0 ) − p0 π cos π4 − π4
p1 = p0 − = − ≈ 0, 7395361337
− sen (p0 ) − 1 4 − sen π4 − 1
Teorema: Seja f ∈ C2 [a, b]. Se p ∈ (a, b) tal que f (p) = 0 e f ′ (p) ̸= 0, então,
existe um δ > 0, tal que o método de Newton gera uma sequência {pn }∞ n=1 que con-
verge para p para qualquer aproximação inicial p0 ∈ [p − δ , p + δ ].
EXERCÍCIOS:
1. Utilize o método de Newton para encontrar soluções com precisão de 10−4 (ou
n = 5) para os problemas a seguir.
a) x3 − 2x2 − 5 = 0, [1, 4]
b) x3 + 3x2 − 1 = 0, [−3, −2]
c) x − cos x = 0, [0, π/2]
15
d) x − 0, 8 − 0, 2 sen x = 0, [0, π/2]
e) ex + 2−x + 2 cos x − 6 = 0, [1, 2]
f) ln(x − 1) + cos(x − 1) = 0, [1, 3, 2]
(Dica: escolha o p0 sendo o ponto médio do intervalo)
16
Capı́tulo 3
Interpolação e aproximação
polinomial
Um censo da população norte-americana é realizado a cada dez anos. A tabela a
seguir fornece a população, em milhares de pessoas, de 1960 a 2010.
Revendo esses dados, poderı́amos perguntar se eles podem ser utilizados para
fornecer uma estimativa razoável da população, digamos, em 1975 ou até mesmo no
ano de 2020. Previsões desse tipo podem ser obtidas utilizando-se uma função que
ajuste os dados fornecidos. Esse processo é chamado interpolação.
onde n é um inteiro não negativo e a0 , ..., an são constantes reais. Uma razão para
sua importância é que eles aproximam as funções contı́nuas uniformemente. Dada
qualquer função definida e contı́nua em um intervalo fechado e limitado, existe um
polinômio que está tão próximo da função dada quanto quisermos.
Teorema da aproximação de Weierstrass: Suponha que f seja definida e contı́nua
em [a, b]. Para cada ε > 0, existirá um polinômio P(x), com a propriedade que
17
Polinômios interpoladores de Lagrange:
O problema de determinação de um polinômio de grau um que passa pelos pon-
tos distintos (x0 , y0 ) e (x1 , y1 ) é o mesmo que aproximar uma função f para a qual
f (x0 ) = y0 e f (x1 ) = y1 por meio de um polinômio interpolador de primeiro grau, ou
seja, um polinômio que coincida com os valores de f nos pontos estipulados. O uso
deste polinômio para aproximar dentro do intervalo determinado pelas extremidades
é chamado interpolação polinomial.
Em primeiro lugar, definimos as funções:
x − x1 x − x0
L0 (x) = e L1 (x) =
x0 − x1 x1 − x0
O polinômio interpolador de Lagrange linear por (x0 , y0 ) e (x1 , y1 ) é
x − x1 x − x0
P(x) = L0 (x) f (x0 ) + L1 (x) f (x1 ) = f (x0 ) + f (x1 )
x0 − x1 x1 − x0
Observe que
e
P(x1 ) = 0 · f (x0 ) + 1 · f (x1 ) = f (x1 ) = y1
Assim, P é o único polinômio de grau no máximo 1 que passa por (x0 , y0 ) e
(x1 , y1 ).
18
onde, para cada k = 0, 1, 2, ..., n
Escreveremos Ln,k (x) simplesmente como Lk (x) quando não houver nenhuma
confusão quanto ao seu grau.
2
P(x) = ∑ f (xk )Lk (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + f (x2 )L2 (x)
k=0
(x − x1 )(x − x2 ) (x − 2, 75)(x − 4) 2
L0 (x) = = = (x − 2, 75)(x − 4)
(x0 − x1 )(x0 − x2 ) (2 − 2, 75)(2 − 4) 3
(x − x0 )(x − x2 ) (x − 2)(x − 4) 16
L1 (x) = = = − (x − 2)(x − 4)
(x1 − x0 )(x1 − x2 ) (2, 75 − 2)(2, 75 − 4) 15
(x − x0 )(x − x1 ) (x − 2)(x − 2, 75) 2
L2 (x) = = = (x − 2)(x − 2, 75)
(x2 − x0 )(x2 − x1 ) (4 − 2)(4 − 2, 75) 5
Além disso, como f (x) = 1/x, temos:
19
de modo que
P(x) = f (x0 )L0 (x) + f (x1 )L1 (x) + f (x2 )L2 (x)
1 2 4 16
= (x − 2, 75)(x − 4) + − (x − 2)(x − 4)
2 3 11 15
1 2
+ (x − 2)(x − 2, 75)
4 5
1 64 1
= (x − 2, 75)(x − 4) − (x − 2)(x − 4) + (x − 2)(x − 2, 75)
3 165 10
1 2 35 49
= x − x+
22 88 44
(b) Uma aproximação para f (3) = 1/3 = 0, 33333333... é
9 105 49 29
f (3) ≈ P(3) = − + = ≈ 0, 32955
22 88 44 88
O próximo passo é calcular um resto ou limitante para o erro envolvido na
aproximação de uma função por um polinômio interpolador.
f (n+1)(ξ (x))
f (x) = P(x) + (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!
EXERCÍCIOS:
1. Para as funções f (x) dadas, sejam x0 = 1, x1 = 1, 25 e x2 = 1, 6. Construa po-
linômios interpoladores de grau no máximo um e no máximo dois para determinar
uma aproximação de f (1, 4), e encontre o erro absoluto.
a) f (x) = √
sen πx
b) f (x) = 3 x − 1
c) f (x) = e2x − x
20
Capı́tulo 4
Derivação e integração
numérica
Mencionamos, anteriormente, que a razão para a utilização de polinômios algébricos
para obter uma aproximação de um conjunto de dados arbitrário é que, dada qual-
quer função contı́nua definida em um intervalo fechado, existe um polinômio que
é arbitrariamente próximo à função em todos os pontos do intervalo. As derivadas
e as integrais dos polinômios também são facilmente obtidas e calculadas. Não é
surpreendente, então, que a maioria dos procedimentos para obter aproximações de
integrais e derivadas use os polinômios que aproximam a função.
f (x0 + h) − f (x0 )
f ′ (x0 ) = lim
h→0 h
Essa fórmula fornece uma maneira óbvia de gerar uma aproximação de f ′ (x0 );
simplesmente calcule
f (x0 + h) − f (x0 )
h
para valores pequenos de h. Embora isso pareça óbvio, não é muito bem-sucedido
em razão dos nossos velhos erros de arredondamento. Mas certamente é o melhor
lugar para começar.
Para obter uma aproximação de f ′ (x0 ), suponha primeiro que x0 ∈ (a, b), onde
f ∈ C2 [a, b], e que x1 = x0 + h para algum h ̸= 0 que seja suficientemente pequeno
para garantir que x1 ∈ [a, b]. Construı́mos o primeiro polinômio de Lagrange P0,1 (x)
21
para f determinado por x0 e x1 , com seu termo de erro:
(x − x0 )(x − x1 ) ′′
f (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + f (ξ (x))
2!
x − x1 x − x0 (x − x0 )(x − x1 ) ′′
= f (x0 ) + f (x1 ) + f (ξ (x))
x0 − x1 x1 − x0 2
x − (x0 + h) x − x0 (x − x0 )(x − (x0 + h)) ′′
= f (x0 ) + f (x0 + h) + f (ξ (x))
x0 − (x0 + h) (x0 + h) − x0 2
f (x0 )(x − x0 − h) f (x0 + h)(x − x0 ) (x − x0 )(x − x0 − h)) ′′
= + + f (ξ (x))
−h h 2
x[ f (x0 + h) − f (x0 )] − x0 [ f (x0 + h) − f (x0 )] + h f (x0 )
= +
h
(x − x0 )(x − x0 − h)) ′′
+ f (ξ (x))
2
para algum ξ (x) entre x0 e x1 .
A derivação resulta em
′ f (x0 + h) − f (x0 ) (x − x0 )(x − x0 − h)) ′′
f (x) = + Dx f (ξ (x))
h 2
f (x0 + h) − f (x0 ) 2(x − x0 ) − h ′′ (x − x0 )(x − x0 − h))
= + f (ξ (x)) + Dx [ f ′′ (ξ (x))]
h 2 2
Quando x é x0 a fórmula é simplificada para
f (x0 + h) − f (x0 ) h ′′
f ′ (x0 ) = − f (ξ )
h 2
Para pequenos valores de h, o quociente de diferenças [ f (x0 + h) − f (x0 )]/h pode
ser usado para obter uma aproximação de f ′ (x0 ) com um erro limitado por M|h|/2,
em que M é um limitante de | f ′′ (x)| para x entre x0 e x0 + h. Essa fórmula é conhe-
cida como fórmula de diferenças progressivas se h > 0 e fórmula de diferenças
regressivas se h < 0.
22
Exemplo: Use a fórmula de diferenças progressivas para aproximar a derivada de
f (x) = ln x em x0 = 1, 8 usando h = 0, 1, h = 0, 05, e h = 0, 01 e determine limitantes
para os erros de aproximação.
Solução: A fórmula de diferenças progressivas
f (1, 8 + h) − f (1, 8)
h
com h = 0, 1 dá
ln 1, 9 − ln 1, 8 0, 64185389 − 0, 58778667
= = 0, 5406722
0, 1 0, 1
Como f ′′ (x) = −1/x2 e 1, 8 < ξ < 1, 9, um limitante para este erro de aproximação
é
|h f ′′ (ξ )| |h| 0, 1
= 2< = 0, 0154321
2 2ξ 2(1, 8)2
As aproximações e os limitantes de erro quando h = 0, 05 e h = 0, 01 são encon-
trados de forma parecida, e os resultados são mostrados na Tabela
Como f ′ (x) = 1/x, o valor exato de f ′ (1, 8) é 0, 555... e os limitantes de erro são
bastante próximos do erro de aproximação verdadeiro.
Para obter fórmulas gerais de aproximação de derivadas, suponha que {x0 , ..., xn }
são (n + 1) números distintos em certo intervalo I e que f ∈ Cn+1 (I). Temos
n
(x − x0 ) · · · (x − xn ) (n+1)
f (x) = ∑ f (xk )Lk (x) + f (ξ (x))
k=0 (n + 1)!
′
n f (n+1) (ξ (x j )) n
f (x j ) = ∑ f (xk )Lk′ (x j ) + ∏ (x j − xk )
k=0 (n + 1)! k=0,k̸ =j
23
Primeiro, deduziremos algumas fórmulas de três pontos úteis e consideraremos
aspectos de seus erros. Como
(x − x1 )(x − x2 ) 2x − x1 − x2
L0 (x) = , temos L0′ (x) =
(x0 − x1 )(x0 − x2 ) (x0 − x1 )(x0 − x2 )
Analogamente,
2x − x0 − x2 2x − x0 − x1
L1′ (x) = e L2′ (x) =
(x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Consequentemente,
′ 2x j − x1 − x2 2x j − x0 − x2
f (x j ) = f (x0 ) + f (x1 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
2x j − x0 − x1
2
1 (3)
+ f (x2 ) + f (ξ j ) ∏ (x j − xk )
(x2 − x0 )(x2 − x1 ) 6 k=0,k̸= j
1 h2
f ′ (x0 ) = [−3 f (x0 ) + 4 f (x0 + h) − f (x0 + 2h)] + f (3) (ξ0 )
2h 3
e
′ 1 h2 (3)
f (x0 ) = [ f (x0 − 2h) − 4 f (x0 − h) + 3 f (x0 )] + f (ξ0 )
2h 3
• Fórmula de três pontos no ponto médio:
1 h2
f ′ (x0 ) = [ f (x0 + h) − f (x0 − h)] − f (3) (ξ1 )
2h 6
24
Fórmula de cinco pontos:
O termo de erro para essas fórmulas é O(h4 ). Uma fórmula de cinco pontos comum
é usada para determinar aproximações para a derivada no ponto médio.
′ 1 h4 (5)
f (x0 ) = [ f (x0 − 2h) − 8 f (x0 − h) + 8 f (x0 + h) − f (x0 + 2h)] + f (ξ )
12h 30
′′ 1 h2 (4)
f (x0 ) = 2 [ f (x0 − h) − 2 f (x0 ) + f (x0 + h)] − f (ξ )
h 12
para algum ξ em x0 − h e x0 + h.
Exemplo: São dados valores para f (x) = xex . Utilize todas as fórmulas de três e
cinco pontos aplicáveis para aproximar f ′ (2, 0).
1
f ′ (2, 0) = [−3 f (2, 0) + 4 f (2, 0 + h) − f (2, 0 + 2h)]
2h
1
= [−3 f (2, 0) + 4 f (2, 1) − f (2, 2)]
0, 2
= 5[−3(14, 778112) + 4(17, 148957) − 19, 855030]
= 22, 032310
25
ii) Usando a fórmula no ponto médio com h = 0, 1, obtemos
1
f ′ (2, 0) = [ f (2, 0 + h) − f (2, 0 − h)]
2h
1
= [ f (2, 1) − f (1, 9)]
0, 2
= 5(17, 148957 − 12, 703199)
= 22, 228790
iii) A única fórmula de cinco pontos para a qual a tabela fornece pontos suficien-
tes é a fórmula de ponto médio com h = 0, 1. Isto dá
1
f ′ (2, 0) = [ f (2, 0 − 2h) − 8 f (2, 0 − h) + 8 f (2, 0 + h) − f (2, 0 + 2h)]
12h
1
= [ f (1, 8) − 8 f (1, 9) + 8 f (2, 1) − f (2, 2)]
1, 2
1
= [10, 889365 − 8(12, 703199) + 8(17, 148957) − 19, 855030]
1, 2
= 22, 166999
EXERCÍCIOS:
1. Use as fórmulas de diferenças progressivas e regressivas para completar as seguin-
tes tabelas:
2. Use a fórmula de três pontos mais precisa para completar as seguintes tabelas.
26
3. Em um circuito com voltagem aplicada ε(t) e indutância L, a primeira lei de
Kirchhoff fornece a relação di
ε(t) = L + Ri
dt
onde R é a resistência no circuito e i é a corrente. Suponha que medimos a corrente
em vários valores de t e obtivemos em que t é medido em segundos, i em amperes, a
27
onde N1 (h) é uma aproximação inicial para um determinado passo h.
h4 5h6
M = N2 (h) − K2 − K3 +···
4 16
28
Definindo
h 1 h
N3 (h) = N2 + N2 − N2 (h)
2 15 2
obtemos a fórmula de aproximação com erro de truncamento O(h6 ):
h6
M = N3 (h) − K3 + · · ·
64
Continuando esse processo, obtemos, para cada j = 2, 3, ..., a aproximação O(h2 j ):
29
EXERCÍCIOS:
1. Aplique o processo de extrapolação descrito no Exemplo anterior para determi-
nar N3 (h), uma aproximação para f ′ (x0 ), para as funções e os tamanhos de passo a
seguir.
a) f (x) = ln x, x0 = 1, 0, h = 0, 4
b) f (x) = x + ex , x0 = 0, h = 0, 4
c) f (x) = 2x sen x, x0 = 1, 05, h = 0, 4
d) f (x) = x3 cos x, x0 = 2, 3, h = 0, 4
A regra do trapézio:
Para deduzir a regra do trapézio, sejam x0 = a, x1 = b, h = b − a, e vamos utilizar o
polinômio linear de Lagrange:
(x − x1 ) (x − x0 )
P1 (x) = f (x0 ) + f (x1 )
(x0 − x1 ) (x1 − x0 )
Assim,
Z b Z x1
(x − x1 ) (x − x0 )
f (x)dx = f (x0 ) + f (x1 ) dx
a x0 (x0 − x1 ) (x1 − x0 )
1 x1 ′′
Z
+ f (ξ (x))(x − x0 )(x − x1 )dx
2 x0
x1
(x − x1 )2 (x − x0 )2 h3 ′′
= f (x0 ) + f (x1 ) − f (ξ )
2(x0 − x1 ) 2(x1 − x0 ) x0 12
(x1 − x0 ) h3
= [ f (x0 ) + f (x1 )] − f ′′ (ξ )
2 12
Como h = x1 − x0 , temos a seguinte regra:
h3 ′′
Z b
h
f (x)dx = [ f (x0 ) + f (x1 )] − f (ξ )
a 2 12
Para generalizar esse procedimento para uma integral arbitrária, escolha um in-
teiro n. Subdivida o intervalo [a, b] em n subintervalos.
30
Teorema: Sejam f ∈ C2 [a, b], h = (b − a)/n e x j = a + jh para todo j = 0, 1, ..., n.
Existe um µ ∈ (a, b) para o qual a regra do trapézio composta para n subintervalos
pode ser escrita com seu termo de erro como
Z b n−1
h b − a 2 ′′
f (x)dx = [ f (a) + 2 ∑ f (x j ) + f (b)] − h f (µ)
a 2 j=1 12
Regra de Simpson:
A regra de Simpson resulta da integração em [a, b] do segundo polinômio de La-
grange com nós igualmente espaçados x0 = a, x2 = b e x1 = a + h, em que h =
(b − a)/2.
Z b Z x2
(x − x1 )(x − x2 ) (x − x0 )(x − x2 )
f (x)dx = f (x0 ) + f (x1 )
a x0 (x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
+ f (x2 )
(x2 − x0 )(x2 − x1 )
Z x2
(x − x0 )(x − x1 )(x − x2 ) (3)
+ f (ξ (x))dx
x0 6
Isso resulta na regra de Simpson:
h5 (4)
Z x2
h
f (x)dx = [ f (x0 ) + 4 f (x1 ) + f (x2 )] − f (ξ )
x0 3 90
Para generalizar esse procedimento para uma integral arbitrária, escolha um in-
teiro n par. Subdivida o intervalo [a, b] em n subintervalos e aplique a regra de
Simpson em cada par consecutivo de subintervalos.
31
subintervalos pode ser escrita com seu termo de erro como
Z b (n/2)−1 n/2
h b − a 4 (4)
f (x)dx = [ f (a) + 2 ∑ f (x2 j ) + 4 ∑ f (x2 j−1 ) + f (b)] − h f (µ)
a 3 j=1 j=1 180
INTERPRETANDO OS TEOREMAS:
Para n = 4:
Z b
h b − a 2 ′′
f (x)dx = [ f (x0 ) + 2 f (x1 ) + 2 f (x2 ) + 2 f (x3 ) + f (x4 )] − h f (µ)
a 2 12
Para n = 4:
Z b
h b − a 4 (4)
f (x)dx = [ f (x0 ) + 4 f (x1 ) + 2 f (x2 ) + 4 f (x3 ) + f (x4 )] − h f (µ)
a 3 180
32
n = 4 para obter uma aproximação da seguinte integral:
Z 2
ln x dx
1
b−a 2−1 1
h= = = = 0, 25
n 4 4
Pela Regra do Trapézio:
Z b
h b − a 2 ′′
f (x)dx = [ f (x0 ) + 2 f (x1 ) + 2 f (x2 ) + 2 f (x3 ) + f (x4 )] − h f (µ)
a 2 12
Assim,
Z 2
0, 25
ln x dx = [ f (1) + 2 f (1, 25) + 2 f (1, 5) + 2 f (1, 75) + f (2)]
1 2
Temos
• f (1) = ln 1 = 0
• f (1, 25) = ln 1, 25 = 0, 2231435513142
• f (1, 5) = ln 1, 5 = 0, 4054651081081
• f (1, 75) = ln 1, 75 = 0, 55961578793542
• f (2) = ln 2 = 0, 6931471805599
Assim
Z 2
0, 25
ln x dx = [ f (1) + 2 f (1, 25) + 2 f (1, 5) + 2 f (1, 75) + f (2)])
1 2
0, 25
= [ln(1) + 2 ln(1, 25) + 2 ln(1, 5) + 2 ln(1, 75) + ln(2)])
2
= 0, 383699509409442
EXERCÍCIOS:
1. Utilize a regra do trapézio composta e a regra de Simpson composta com os valo-
res indicados de n para obter uma aproximação das seguintes integrais.
Z 2
a) x ln x dx n=4
Z1 2
b) x3 ex dx n=4
Z −2
2 2
c) 2
dx n = 6
Z0 π x + 4
d) x2 cos x dx n = 6
Z 02
e) e2x sen 3x dx n=8
0
35
Z 1
Exemplo: Obtenha uma aproximação de ex cos xdx utilizando a quadratura
−1
de Gauss (teorema anterior) com n = 3.
Solução: Os itens da tabela para n = 3 fornecem:
Assim,
Z 1
ex cos xdx ≈ c1 f (x1 ) + c2 f (x2 ) + c3 f (x3 )
−1
= (0, 555...)e0,7745596692 cos(0, 7745596692) + (0, 888...)e0 cos(0)
+(0, 555...)e−0,7745596692 cos(−0, 7745596692)
= 1, 9333904
36
• Além disso, temos
1 1 2(t + 2)
x = [(b − a)t + a + b] = x = [(3 − 1)t + 1 + 3] = = t +2
2 2 2
e
(b − a) (3 − 1) 2
dx = dt = dt = dt = dt
2 2 2
Logo,
Z 3 Z 1
(b − a)t + (b + a) (b − a)
x6 − x2 sen (2x)dx = f dt
1 −1 2 2
Z 1
= f (t + 2)dt
−1
Logo,
Z 3 Z 1
6 2
x − x sen (2x)dx = F(t)dt
1 −1
≈ c1 F(x1 ) + c2 F(x2 ) + c3 F(x3 )
Portanto,
Z 3 Z 1
6 2
x − x sen (2x)dx = F(t)dt
1 −1
≈ c1 F(x1 ) + c2 F(x2 ) + c3 F(x3 )
≈ (0, 555...)F(0, 7745966692) + (0, 888...)F(0)
+(0, 555...)F(−0, 7745966692)
≈ 317, 2641516.
37
Solução: A quadratura de Gauss aplicada a este problema exige que primeiro a in-
tegral seja transformada em um problema cujo intervalo de integração seja [−1, 1].
Assim, com a = 0 e b = 1, temos
1 1 1
x = [(b − a)t + a + b] = x = [(1 − 0)t + 0 + 1] = (t + 1)
2 2 2
e
(1 − 0) 1
dx = dt = dt
2 2
Logo,
Z 1 Z 1
2 (b − a)t + (b + a) (b − a)
x sen (2x)dx = f dt
0 −1 2 2
Z 1
1 1
= f (t + 1) dt
−1 2 2
| {z }
F(t)
t +1 2
1 1 t +1 1
F(t) = f (t + 1) = sen 2
2 2 2 2 2
11
= (t + 1)2 sen (t + 1)
24
1
= (t + 1)2 sen (t + 1)
8
Logo, para n = 2, temos
Z 1 Z 1
2
x sen (2x)dx = F(t)dt
0 −1
≈ c1 F(x1 ) + c2 F(x2 )
38
Portanto,
Z 1 Z 1
2
x sen (2x)dx = F(t)dt
0 −1
≈ c1 F(x1 ) + c2 F(x2 )
≈ (1, 0000)F(0, 5773502692) + (1, 0000)F(−0, 5773502692)
≈ (1)(0, 310997554529097) + (1)(0, 009158915562088)
≈ 0, 320156470091185
Para n = 3, temos
Logo,
Z 1 Z 1
2
x sen (2x)dx = F(t)dt
0 −1
≈ c1 F(x1 ) + c2 F(x2 ) + c3 F(x3 )
≈ (0, 5555555)F(0, 7745966692) + (0, 8888888)F(0)
+(0, 555555555556)F(−0, 7745966692)
≈ (0, 5555555)(0, 38550239734) + (0, 8888888)(0, 10518387310)
+(0, 555555555556)(0, 001419407984973)
≈ 0, 308453334601614
EXERCÍCIOS:
1. Obtenha uma aproximação das integrais a seguir utilizando a quadratura de Gauss
com n = 2, 3 e 4 e compare seus resultados aos valores exatos das integrais.
Z 1,5
a) x2 ln x dx
Z1 1
b) x2 e−x dx
Z 00,35
2
c) dx
Z0
x2 − 4
π/4
d) x2 sen x dx
0
39
Capı́tulo 5
40
sempre que (t, y1 ) e (t, y2 ) estiverem em D. A constante L é chamada de constante
de Lipschitz para f .
∂f
(t, y) ≤ L, para todo (t, y) ∈ D
∂y
então f satisfaz uma condição de Lipschitz em D na variável y, com constante de
Lipschitz L.
Teorema: Suponha que D = {(t, y)| a ≤ t ≤ b e − ∞ < y < ∞} e que f (t, y) seja
contı́nua em D. Se f satisfizer uma condição de Lipschitz em D na variável y, então
o problema de valor inicial
• Existirem constantes ε0 > 0 e k > 0 tais que, para qualquer ε, em (0, ε0 ), sem-
pre que δ (t) for contı́nua com |δ (t)| < ε para todo t em [a, b] e quando |δ0 | < ε,
o problema de valor inicial
dz
= f (t, z) + δ (y), a ≤ t ≤ b, z(a) = α + δ0
dt
41
tem uma única solução z(t) que satisfaz
Teorema: Suponha que D = {(t, y)| a ≤ t ≤ b e − ∞ < y < ∞}. Se f for contı́nua e
satisfizer a uma condição de Lipschitz na variável y no conjunto D, então o problema
de valor inicial
dy
= f (t, y), a ≤ t ≤ b, y(a) = α
dt
é bem-posto.
42
para cada i = 0, 1, 2, 3, ..., N. A distância comum entre os pontos h é chamada tama-
nho do passo.
Usaremos o Teorema de Taylor para deduzir o método de Euler. Suponha que
y(t), a única solução da equação diferencial, tenha duas derivadas contı́nuas em [a, b],
de forma que, para cada i = 1, 2, ..., N − 1,
′ (ti+1 − ti )2 ′′
y(ti+1 ) = y(ti ) + (ti+1 − ti )y (ti ) + y (ξi )
2
para algum número ξi em (ti ,ti+1 ). Como h = ti+1 − ti , temos
′ h2 ′′
y(ti+1 ) = y(ti ) + hy (ti ) + y (ξi )
2
e, como y(t) satisfaz a equação diferencial,
h2 ′′
y(ti+1 ) = y(ti ) + h f (ti , y(ti )) + y (ξi )
2
O método de Euler constrói wi ≈ y(ti ) para cada i = 1, 2, ..., N, desprezando o
resto. Assim, o método de Euler é
w0 = α
wi+1 = wi + h f (ti , wi )
w0 = y(0) = 0, 5
w1 = w0 + h f (t0 , w0 )
= 0, 5 + 0, 5(0, 5 − (0, 0)2 + 1)
= 1, 25
43
Seguindo para i = 1, 2, 3 e utilizando o resultado anterior, w1 = 1, 25, resulta:
EXERCÍCIOS:
1. Use o método de Euler para obter uma aproximação para as soluções de cada um
dos seguintes problemas de valor inicial.
a) y′ = te3t − 2y, 0 ≤ t ≤ 1, y(0) = 0, com h = 0, 5.
b) y′ = 1 + (t − y)2 , 2 ≤ t ≤ 3, y(2) = 1, com h = 0, 5.
c) y′ = 1 + y/t, 1 ≤ t ≤ 2, y(1) = 2, com h = 0, 25.
d) y′ = cos 2t + sen 3t, 0 ≤ t ≤ 1, y(0) = 1, com h = 0, 25.
e) y′ = et−y , 0 ≤ t ≤ 1, y(0) = 1, com h = 0, 5.
44
5.3 Método de Taylor
O método de Taylor de ordem n é
w0 = α
wi+1 = wi + hT (n) (ti , wi ), para cada i = 0, 1, ..., N − 1
em que
h hn−1 (n−1)
T (n) (ti , wi ) = f (ti , wi ) + f ′ (ti , wi ) + · · · + f (ti , wi )
2 n!
O método de Euler é o método de Taylor de primeira ordem.
Teorema: Suponha que f (t, y) e que todas as suas derivadas parciais de ordem me-
nor ou igual a n + 1 sejam contı́nuas em D = {(t, y) | a ≤ t ≤ b, c ≤ y ≤ d}, e seja
(t0 , y0 ) ∈ D. Para cada (t, y) ∈ D, existem ξ entre t e t0 e µ entre y e y0 tais que
em que
∂f ∂f
Pn (t, y) = f (t0 , y0 ) + (t − t0 ) (t0 , y0 ) + (y − y0 ) (t0 , y0 )
∂t ∂y
2
(t − t0 ) ∂ f2 ∂2 f
+ (t0 , y0 ) + (t − t0 )(y − y0 ) (t0 , y0 )
2! ∂t 2 ∂t∂ y
(y − y0 )2 ∂ 2 f
+ (t0 , y0 ) + · · ·
2! ∂ y2
" #
1 n n nf
∂
+ ∑ (t − t0 )n− j (y − y0 ) j n− j j (t0 , y0 )
n! j=0 j ∂t ∂ y
45
e
n+1
∂ n+1 f
1 n+1 n+1− j j
Rn (t, y) = ∑ j (t − t0)
(n + 1)! j=0
(y − y0 ) n+1− j j (ξ , µ)
∂t ∂y
A função Pn (t, y) é chamada de enésimo polinômio de Taylor em duas variáveis
para a função f em torno de (t0 , y0 ) e Rn (t, y) é o resto associado à Pn (t, y).
df ∂f ∂f
f ′ (t, y) = (t, y) = (t, y) + (t, y) · y′ (t) e y′ (t) = f (t, y)
dt ∂t ∂y
temos
h∂ f h∂ f
T (2) (t, y) = f (t, y) + (t, y) + (t, y) · f (t, y)
2 ∂t 2 ∂y
Expandindo a1 f (t + α1 , y + β1 ) em seu polinômio de Taylor de primeiro grau em
torno de (t, y), teremos
∂f ∂f
a1 f (t + α1 , y + β1 ) = a1 f (t, y) + a1 α1 (t, y) + a1 β1 (t, y) + a1 R1
∂t ∂y
Igualando os coeficientes de f e de suas derivadas nas equações anteriores, obte-
mos as três equações
h h
a1 = 1, α1 = e β1 = f (t, y)
2 2
de modo que
(2) h h
T (t, y) = f t + , y + f (t,t) − R1 [O(h2 )]
2 2
Este é um método de Runge-Kutta especı́fico conhecido como o método do ponto
médio.
w0 = α
h h
wi+1 = wi + h f ti + , wi + f (ti , wi ) , para cada i = 0, 1, ..., N − 1
2 2
46
Apenas três parâmetros estão presentes em a1 f (t + α1 , y + β1 ) e todos são ne-
cessários na aproximação de T (2) (t, y). A forma mais apropriada com quatro parâmetros
para a aproximação de
h h2
T (3) (t, y) = f (t, y) + f ′ (t, y) + f ′′ (t, y)
2 6
é
a1 f (t, y) + a2 f (t + α2 , y + δ2 f (t, y))
O fato de a equação acima ter quatro parâmetros dá uma flexibilidade à sua esco-
lha, de modo que diversos métodos O(h2 ) podem ser deduzidos. Um dos mais impor-
1
tantes é o método de Euler modificado, o qual corresponde às escolhas a1 = a2 =
2
e α2 = δ2 = h e tem a seguinte forma de equação de diferença.
w0 = α
h
wi+1 = wi + [ f (ti , yi ) + f (ti+1 , wi + h f (ti , wi ))]
2
Exemplo: Use o método do ponto médio e o método de Euler modificado com
N = 10, h = 0, 2, ti = 0, 2i e w0 = 0, 5 para aproximar a solução da EDO:
y′ = y − t 2 + 1, 0 ≤ t ≤ 2, y(0) = 0, 5
Assim,
– Para i = 0:
47
– Para i = 1:
Assim,
• Para i = 0:
• Para i = 1:
h
wi+1 = wi + [ f (ti , wi ) + f (ti+1 , wi + h f (ti , wi ))]
2
Sabemos que f (t, y) = y − t 2 + 1, h = 0, 2, w0 = 0, 5 e ti = 0, 2i. Assim,
48
• Para i = 0:
h
w1 = w0 + [ f (t0 , w0 ) + f (t1 , w0 + h f (t0 , w0 ))]
2
0, 2
= 0, 5 + [ f (0; 0, 5) + f (0, 2; 0, 5 + 0, 2 · f (0; 0, 5))]
2
0, 2 h 2 2
i
= 0, 5 + [0, 5 − 0 + 1] + f (0, 2; 0, 5 + 0, 2 · [0, 5 − 0 + 1])
2
= 0, 5 + 0, 1 [1, 5 + f (0, 2; 0, 8)]
= 0, 5 + 0, 1 [3, 26]]
= 0, 5 + 0, 326
= 0, 826
EXERCÍCIOS:
1. Use o método de Euler modificado e o método do ponto médio para encontrar
aproximações das soluções de cada um dos seguintes problemas de valor inicial e
compare os resultados com os valores reais.
a) y′ = te3t − 2y, 0 ≤ t ≤ 1, y(0) = 0, com h = 0, 5; solução real y(t) =
1 3t 1 3t 1 −2t
te − e + e .
5 25 25
b) y′ = 1 + (t − y)2 , 2 ≤ t ≤ 3, y(2) = 1, com h = 0, 5; solução real
1
y(t) = 2t + .
1−t
y
c) y′ = 1 + , 1 ≤ t ≤ 2, y(1) = 2, com h = 0, 25; solução real y(t) =
t
t lnt + 2t.
f (t + α1 , y + δ1 f (t + α2 , y + δ2 f (t, y)))
49
Método de Runge-Kutta de quarta ordem:
Para cada i = 0, 1, ..., N − 1:
w0 = α
k1 = h f (ti , wi ),
h 1
k2 = h f ti + , wi + k1 ,
2 2
h 1
k 3 = h f t i + , wi + k 2 ,
2 2
k4 = h f (ti + h, wi + k3 ) ,
1
wi+1 = wi + (k1 + 2k2 + 2k3 + k4 )
6
Esse método tem erro de truncamento local O(h4 ), desde que a solução y(t) tenha
cinco derivadas contı́nuas. O motivo para apresentação da notação k1 , k2 , k3 e k4 no
método é para eliminar a necessidade de encaixes sucessivos na segunda variável de
f (t, y).
50
ti = 0, 2i e w0 = 0, 5 para aproximar a solução da EDO:
y′ = y − t 2 + 1, 0 ≤ t ≤ 2, y(0) = 0, 5
w0 = 0, 5
k1 = h f (t0 , w0 )
h 1
k2 = h f t0 + , w0 + k1
2 2
h 1
k3 = h f t0 + , w0 + k2
2 2
k4 = h f (t0 + h, w0 + k3 )
1
w1 = w0 + (k1 + 2k2 + 2k3 + k4 )
6
Assim, para h = 0, 2, t0 = 0 e f (t, y) = y − t 2 + 1, temos:
w0 = 0, 5
k1 = h f (t0 , w0 ) = 0, 2 f (0, 0, 5) = 0, 2(1, 5) = 0, 3
h 1
k2 = h f t0 + , w0 + k1 = 0, 2 f (0, 1, 0, 65) = 0, 328
2 2
h 1
k3 = h f t0 + , w0 + k2 = 0, 2 f (0, 1, 0, 664) = 0, 3308
2 2
k4 = h f (t0 + h, w0 + k3 ) = 0, 2 f (0, 2, 0, 8308) = 0, 35816
1
w1 = w0 + (k1 + 2k2 + 2k3 + k4 )
6
1
= 0, 5 + (0, 3 + 2(0, 328) + 2(0, 3308) + 0, 35816)
6
= 0, 8292933.
51
Para i = 1, resulta:
w1 = 0, 8292933
k1 = h f (t1 , w1 ) = 0, 2 f (0, 0, 5) = 0, 2(1, 5) = 0, 3
h 1
k2 = h f t1 + , w1 + k1 = 0, 2 f (0, 1, 0, 65) = 0, 328
2 2
h 1
k3 = h f t1 + , w1 + k2 = 0, 2 f (0, 1, 0, 664) = 0, 3308
2 2
k4 = h f (t1 + h, w1 + k3 ) = 0, 2 f (0, 2, 0, 8308) = 0, 35816
1
w2 = w1 + (k1 + 2k2 + 2k3 + k4 )
6
1
= 0, 8292933 + (0, 3 + 2(0, 328) + 2(0, 3308) + 0, 35816)
6
= 1, 2140762.
Comparações computacionais:
O principal esforço computacional na aplicação dos métodos de Runge-Kutta é o
cálculo de f . Nos métodos de segunda ordem, o erro de truncamento local é O(h2 ) e
o custo é de dois cálculos da função por passo. O método de Runge-Kutta de quarta
ordem requer quatro cálculos de função por passo, e o erro de truncamento local é
O(h4 ).
Butcher estabeleceu a relação entre o número de cálculos de função por passo e
a ordem do erro de truncamento local exibida na Tabela abaixo.
Essa tabela indica por que os métodos de ordem menor que cinco com tamanho
de passo menor são preferı́veis aos métodos de ordem superior usando um tamanho
de passo maior.
52
EXERCÍCIOS:
1. Use o método de Runge-Kutta de quarta ordem para encontrar aproximações das
soluções de cada um dos seguintes problemas de valor inicial e compare os resulta-
dos com os valores reais.
a) y′ = te3t − 2y, 0 ≤ t ≤ 1, y(0) = 0, com h = 0, 5; solução real y(t) =
1 3t 1 3t 1 −2t
te − e + e .
5 25 25
b) y′ = 1 + (t − y)2 , 2 ≤ t ≤ 3, y(2) = 1, com h = 0, 5; solução real
1
y(t) = 2t + .
1−t
y
c) y′ = 1 + , 1 ≤ t ≤ 2, y(1) = 2, com h = 0, 25; y(t) = t lnt + 2t.
t
d) y′ = et−y , 0 ≤ t ≤ 1, y(0) = 1, com h = 0, 5; solução real y(t) =
ln(et + e − 1).
2 − 2ty 2t + 1
e) y′ = 2 , 0 ≤ t ≤ 1, y(0) = 1, com h = 0, 1; y(t) = 2 .
t +1 t +1
53
para a ≤ t ≤ b, com condições iniciais
O objetivo é encontrar m funções u1 (t), u2 (t), ..., um (t) que satisfaçam cada uma
das equações diferenciais junto com todas as condições iniciais.
Os métodos para resolver sistemas de equações diferenciais de primeira ordem
são generalizações dos métodos para uma única equação de primeira ordem apresen-
tados anteriormente neste capı́tulo.
Por exemplo, o método clássico de Runge-Kutta de quarta ordem é generalizado
como segue:
Escolha um número inteiro N > 0 e tome h = (b − a)/N. Divida o intervalo [a, b]
em N subintervalos com os pontos de malha
t j = a + jh
Suponha que os valores w1, j , w2, j , ..., wm, j tenham sido calculados. Temos
y′′ − 2y′ + 2y = e2t sen t, para 0 ≤ t ≤ 1, com y(0) = −0, 4, y′ (0) = −0, 6
54
no sistema
du
= v
dt
dv
= e2t sen t − 2u + 2v
dt
com condições iniciais u(0) = −0, 4 e v(0) = −0, 6. Temos f1 (t, u, v) = v e f2 (t, u, v) =
e2t sen t − 2u + 2v. Além disso, w1,0 = −0, 4 e w2,0 = −0, 6.
Sabendo que f1 (t, u, v) = v, f2 (t, u, v) = e2t sen t − 2u + 2v e, além disso, w1,0 =
−0, 4 e w2,0 = −0, 6, o método de Runge-Kutta fornece:
Portanto,
1
w1,1 = w1,0 + (k1,1 + 2k2,1 + 2k3,1 + k4,1 ) = −0, 4617333423
6
e
1
w2,1 = w2,0 + (k1,2 + 2k2,2 + 2k3,2 + k4,2 ) = −0, 6316312421
6
O valor w1,1 aproxima u(0, 1) = y(0, 1).
Os demais valores da aproximação estão na tabela:
EXERCÍCIOS:
1. Use o método de Runge-Kutta para sistemas para encontrar a aproximação da
solução do seguinte sistema de equações diferenciais de primeira ordem e compare
o resultado à solução real.
com 0 ≤ t ≤ 1 e h = 0, 2.
55
2. Use o Algoritmo de Runge-Kutta para sistemas para encontrar uma aproximação
da solução do seguinte sistema de equações diferenciais de ordem superior e compare
os resultados à solução real.
tem uma equação de diferença para encontrar a aproximação wi+1 no ponto ti+1 da
malha representada pela equação a seguir, em que m é um número inteiro maior que
1:
56
para i = m − 1, m, ..., N − 1, em que h = (b − a)/N e a0 , a1 , ..., am−1 e b0 , b1 , ..., bm
são constantes, e os valores iniciais
são especificados.
Quando bm = 0 o método é chamado explı́cito ou aberto, pois a equação anterior
fornece então wi+1 explicitamente em termos de valores previamente determinados.
Quando bm ̸= 0 o método é chamado implı́cito ou fechado, pois wi+1 ocorre em
ambos os lados da equação anterior e somente é especificado implicitamente.
Alguns dos métodos de passo múltiplo explı́citos, junto com seus valores iniciais
necessários e seus erros de truncamento locais, estão a seguir:
57
em que i = 3, 4, ..., N − 1. O erro de truncamento local é
251 (5)
τi+1 (h) = y (µi )h4
720
para algum µi ∈ (ti−3 ,ti+1 ).
y′ = y − t 2 + 1, 0 ≤ t ≤ 2, y(0) = 0, 5
h
wi+1 = wi + [55 f (ti , wi ) − 59 f (ti−1 , wi−1 ) + 37 f (ti−2 , wi−2 ) − 9 f (ti−3 , wi−3 )]
24
E para n = 3, segue que:
h
w4 = w3 + [55 f (t3 , w3 ) − 59 f (t2 , w2 ) + 37 f (t1 , w1 ) − 9 f (t0 , w0 )]
24
As primeiras quatro aproximações já encontramos anteriormente utilizando o
Método de Runge-Kutta de ordem 4 com h = 0, 2. Temos:
• y(0) = w0 = 0, 5
• y(0, 2) ≈ w1 = 0, 8292933
• y(0, 4) ≈ w2 = 1, 2140762
• y(0, 6) ≈ w3 = 1, 6489220
e
h
y(1, 0) ≈ w5 = w4 + [55 f (t4 , w4 ) − 59 f (t3 , w3 ) + 37 f (t2 , w2 ) − 9 f (t1 , w1 )]
24
= 2, 6410533
EXERCÍCIOS:
58
1. Use todos os métodos de Adams-Bashforth para encontrar aproximações das
soluções dos problemas de valor inicial. Em cada caso, use valores iniciais exatos e
compare os resultados com os valores reais.
a) y′ = te3t − 2y, 0 ≤ t ≤ 1, y(0) = 0, com h = 0, 2; solução real y(t) =
1 3t 1 3t 1 −2t
te − e + e .
5 25 25
b) y′ = 1 + (t − y)2 , 2 ≤ t ≤ 3, y(2) = 1, com h = 0, 2; solução real
1
y(t) = t + .
1−t
y
c) y′ = 1 + , 1 ≤ t ≤ 2, y(1) = 2, com h = 0, 2; solução real y(t) =
t
t lnt + 2t.
O método de Gauss-Seidel:
(k)
As componentes de x(k−1) são utilizadas para calcular todas as componentes xi de
(k) (k)
x(k) . Mas, para i > 1, as componentes x1 , ..., xi−1 de x(k) já foram calculadas e são
(k−1) (k−1)
aproximações melhores para as soluções verdadeiras x1 , ..., xi−1 que x1 , ..., xi−1 .
(k)
Assim, parece mais razoável calcular xi usando estes valores mais recentemente
calculados. Isto é, podemos utilizar
" #
i−1 n
(k) 1 (k) (k−1)
xi = − ∑ (ai j x j ) − ∑ (ai j x j ) + bi
aii j=1 j=i+1
59
ximadas de
10x1 − x2 + 2x3 = 6
−x1 + 11x2 − x3 + 3x4 = 25
2x1 − x2 + 10x3 − x4 = −11
3x2 − x3 + 8x4 = 15
começando com x = (0, 0, 0, 0)t e iterando até k = 5.
Solução: Para o método de Gauss-Seidel, escrevemos o sistema, para cada k =
1, 2, ..., como
60
Para k = 2, temos
(2) 1 (1) 1 (1) 3
x1 = x − x +
10 2 5 3 5
(2) 1 (2) 1 (1) 3 (1) 25
x2 = x + x3 − x +
11 1 11 11 4 11
(2) 1 (2) 1 (2) 1 (1) 11
x3 = − x1 + x + x −
5 10 2 10 4 10
(2) 3 (2) 1 (2) 15
x4 = − x + x +
8 2 8 3 8
E, assim, temos:
(2)
x1 = 1, 030
(2)
x2 = 2, 037
(2)
x3 = −1, 014
(2)
x4 = 0, 9844
EXERCÍCIOS:
1. Encontre as 3 primeiras iterações do método de Gauss-Siedel para os seguintes
sistemas lineares, utilizando x(0) = 0:
3x1 − x2 + x3 = 1
a) 3x1 + 6x2 + 2x3 = 0
3x1 + 3x2 + 7x3 = 4
10x1 − x2 = 9
b) −x1 + 10x2 − 2x3 = 7
− 2x2 + 10x3 = 6
61
Referências Bibliográficas
[1] Burden, Richard L., J. Douglas Faires, Annette M. Análise Numérica -
Tradução da 10ª edição norte-americana. Cengage Learning, 2015.
62