Você está na página 1de 180

Métodos Numéricos

Por: Lisiane Ramires Meneses


Fevereiro de 2017
Prefácio

Esta apostila foi elaborada para servir de base para o desenvolvimento dos tópicos da
disciplina de Métodos Numéricos dos cursos de Engenharia Elétrica e Quı́mica do campus
Pelotas do Instituto Federal Sul-Rio-Grandense.
Conteúdo

1 Equações Não Lineares 5


1.1 Localização de Zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Refinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Critério de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Ordem de Convergência . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Método da Bissecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Método da Posição Falsa . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Método do Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Método da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Diferenciação Numérica 39
2.1 Derivadas de primeira ordem . . . . . . . . . . . . . . . . . . . . . . . 39
2.2 Derivadas de ordem superior . . . . . . . . . . . . . . . . . . . . . . . 50
2.3 Derivadas Parciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3 Sistemas Lineares 56
3.1 Métodos Exatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Métodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4 Sistemas Não Lineares 91

5 Interpolação Polinomial 97
5.1 O conceito de Interpolação . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2 Fórmula de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2.1 Esquema prático . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2.2 Fórmula de Lagrange para pontos igualmente espaçados . . 102
5.3 Fórmula de Newton para o polinômio
interpolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4 Fórmula de Newton-Gregory para o polinômio interpolador . . . . 106
5.5 Erro na Interpolação Polinomial . . . . . . . . . . . . . . . . . . . . . 108
5.6 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

3
6 Integração Numérica 118
6.1 Aproximando f por polinômios . . . . . . . . . . . . . . . . . . . . . . 118
6.1.1 Regra dos Trapézios . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1.2 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.1.3 Regra 38 de Simpson generalizada . . . . . . . . . . . . . . . . 124
6.2 Quadratura Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.3 Quadratura Adaptativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.4 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

7 Solução Numérica de EDO’s 132

8 Solução Numérica de EDP’s 156


8.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.1.1 Aspectos Matemáticos . . . . . . . . . . . . . . . . . . . . . . . 156
8.2 Problemas de Equilı́brio . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.3 Problemas Transientes . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.1 Equações Parabólicas . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.2 Equações Hiperbólicas . . . . . . . . . . . . . . . . . . . . . . . 160
8.4 Observações sobre as Condições Auxiliares . . . . . . . . . . . . . . 160
8.5 Método de Diferenças Finitas (MDF) . . . . . . . . . . . . . . . . . . 161
8.5.1 Discretização Espacial . . . . . . . . . . . . . . . . . . . . . . . . 161
8.5.2 Discretização Temporal . . . . . . . . . . . . . . . . . . . . . . . 167
8.6 Método dos Elementos Finitos . . . . . . . . . . . . . . . . . . . . . . 170
Capı́tulo 1

Equações Não Lineares

Em diversas aplicações fı́sicas, nos deparamos com o problema de determinar os zeros de


funções. Normalmente, estas equações não são lineares e, diversos pesquisadores desen-
volvem trabalhos para elaborar métodos de solução das mesmas.
Um número real ξ é um zero da função f ou raiz da equação f (x) = 0, se f (ξ) = 0.
Graficamente, os zeros reais são representados pelas abcissas dos pontos de intersecção
−−→
da curva com o eixo OX.
Neste capı́tulo serão apresentados e discutidos alguns métodos iterativos para deter-
minar aproximações para zeros de funções reais, ou seja, serão apresentados métodos para
resolver equações não lineares. Estes métodos baseiam-se na ideia de refinar a aproximação
para a raiz da equação f (x) = 0 a partir de uma aproximação inicial.

1.1 Localização de Zeros


O processo de localizar os zeros, consiste em obter um intervalo que contém a raiz. Para
realizar esta análise usamos o teorema a seguir.

Teorema 1 Se uma função contı́nua f assume valor de sinais opostos nos pontos extremos
do intervalo [a, b], ou seja, f (a)f (b) < 0, então existe pelo menos um ponto ξ ∈ (a, b), tal
que f (ξ) = 0.

Exemplo 1 Dadas as funções f , definidas por:


(a) f (x) = x3 + 3x − 1
(b) f (x) = x2 − sin(x)
pesquisar a existência de raı́zes reais das equações f (x) = 0 e isolá-las em intervalos.

Solução:
(a) Considerando a equação f (x) = x3 + 3x − 1 = 0, temos x3 = 1 − 3x. Fazendo-se
f1 (x) = x3 e f2 (x) = 1 − 3x, temos que as raı́zes da equação original f (x) = 0, são dadas
pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta o
esboço gráfico de f1 e f2 .

Observando o gráfico verificamos que a função f admite um zero real ξ ∈ (0, 1). De fato,
como f é contı́nua em [0, 1] e f (0) = −1 < 0 e f (1) = 3 > 0, pelo Teorema 1, podemos

5
garantir que existe pelo menos um zero real em (0, 1).

(b) Considerando a equação f (x) = x2 − sin x = 0, temos x2 = sin x. Fazendo-se


f1 (x) = sin x e f2 (x) = x2 , temos que as raı́zes da equação original f (x) = 0, são dadas
pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta o
esboço gráfico de f1 e f2 .


Observando o gráfico verificamos que a função f admite um zero real ξ ∈ 0, 5; π2 . De
 
fato, como f é contı́nua em 0, 5; π2 e f (0, 5) = (0, 5)2 − sin 0, 5 ≈ −0, 229426 < 0 e
 2 2
f π2 = π2 − sin π2 = π4 − 1 ≈ 1, 4674011 > 0, pelo Teorema 1, podemos garantir que

existe pelo menos um zero real em 0, 5; π2 .

1.2 Refinamento
Existem diferentes métodos de refinamento dos zeros de f . Estes baseiam-se em processos
iterativos.

6
Um método iterativo consiste em uma sequência de instruções que são executadas
passo a passo, algumas das quais são repetidas em ciclos. A execução de cada ciclo
recebe o nome de iteração. Cada iteração utiliza os resultados da iteração anterior e
efetua determinados testes para verificar se o resultado obtido é próximo o suficiente do
esperado.

1.2.1 Critério de Parada


Como saber se a aproximação x está suficientemente próxima do zero exato? Que tipo de
teste efetuar para verificar se x está suficientemente próxima do zero exato?

Inicialmente, devemos entender o significado de zero aproximado.

Definição 1 x é zero aproximado com precisão ε se:

|x − ξ| < ε ou |f (x)| < ε.

No entanto, a pergunta que surge, neste caso, é: “Como efetuar o teste |x − ξ| < ε se não
conhecemos ξ?”

Uma forma é reduzir o intervalo que contém a raiz a cada iteração. Ao se conseguir um
intervalo [a, b] de modo que, se ξ ∈ [a, b] e b − a < ε, então ∀x ∈ [a, b], |x − ξ| < ε. Assim,
qualquer x ∈ [a, b] pode ser tomado como x.

Nem sempre é possı́vel satisfazer as duas exigências satisfeitas simultaneamente. Os


métodos numéricos são desenvolvidos de forma a satisfazer pelo menos um dos critérios.

1.2.2 Ordem de Convergência


Definição 2 Seja {xk } o resultado da aplicação de um método numérico na iteração k,
se existirem um número p ≥ 1 e uma constante C¿0, tais que:

|ek+1 |
lim = C, (1.1)
k→∞ |ek |p

então p é denominado ordem de convergência.

1.3 Método da Bissecção


Seja a função f contı́nua no intervalo [a, b] e tal que f (a)f (b) < 0. Suponha, sem perda
de generalidade, que o intervalo (a, b) contenha uma única raiz da equação f (x) = 0.

O método da Bissecção reduz a amplitude do intervalo que contém a raiz até se atingir a
precisão requerida, usando para isto sucessivas divisões da amplitude de [a, b] ao meio.

7
Graficamente

Exemplo 2 Considere a função f : R → R, definida por f (x) = x2 − sin x. Determine o


primeiro zero positivo de f , utilizando o método da Bissecção.

Solução:

Iteração x f (x) b−a

Convergência
Suponha que [a0 , b0 ] seja o intervalo inicial e que a raiz ξ seja única no interior desse
intervalo. O método da bissecção gera três sequências:

{ak }: não decrescente e limitada superiormente por b0 , de modo que, existe r ∈ R tal
que
lim ak = r.
k→∞

{bk }: não crescente e limitada inferiormente por a0 , de modo que, existe s ∈ R tal que

lim bk = s.
k→∞

ak +bk
{xk }: por construção xk = 2
, temos ak < xk < bk , ∀k.

8
A amplitude de cada intervalo gerado é a metade da amplitude do intervalo anterior.
Assim, ∀k, temos:
b0 − a0 b0 − a0
bk − ak = ⇒ lim (bk − ak ) = lim =0
2k k→∞ k→∞ 2k
⇒ lim (bk − ak ) = 0
k→∞
⇒ lim bk = lim ak
k→∞ k→∞
⇒ s=r

Seja r = s = ℓ o limite das duas sequências. Como para todo k o ponto xk pertence ao
intervalo (ak , bk ), pelo teorema do Confronto (teorema do Sanduı́che) temos que

lim xk = ℓ.
k→∞

Agora, resta-nos provar que ℓ é o zero da função, ou seja, f (ℓ) = 0.


Note que, em cada iteração k, temos f (ak )f (bk ) < 0. Assim,

0 ≥ lim f (ak )f (bk ) = lim f (ak ) lim f (bk )


k→∞ k→∞ k→∞
= f ( lim ak )f ( lim bk )
k→∞ k→∞
= f (r)f (s)
= f (ℓ)f (ℓ)
= [f (ℓ)]2

Assim, temos 0 ≥ [f (ℓ)]2 ≥ 0. Portanto, f (ℓ) = 0.

Estimativa do Número de Iterações


Dada uma precisão ε e um intervalo inicial [a, b], é possı́vel determinar, a priori, quantas
iterações serão efetuadas pelo método da bissecção.
Note que,

bk−1 − ak−1 b0 − a0
bk − ak = = .
2 2k
Devemos obter o valor de k tal que bk − ak < ε, ou seja,
b0 − a0
< ε
2k
b0 − a0
2k >
ε
b0 − a0
k log 2 > log
ε
log(b0 − a0 ) − log ε
k >
log 2

9
Algoritmo - Método da Bissecção
Dados de entrada: extremidades a e b; precisão ε, número máximo de iterações N0 .
Passo 1: Se (b − a) < ε, então escolha para x qualquer x ∈ [a, b]. Fim.
Passo 2: Faça i = 1; FA=f(a)
Passo 3: Enquanto i ≤ N0 , execute os passos 4 a 7.
Passo 4: Faça x = a+b
2
; F x = f (x)
Passo 5: Se F x = 0 ou b−a2
< ε, então
Saı́da x;
Pare.
Passo 6: Faça i = i + 1.
Passo 7: Se F A · F x > 0, então faça a = x; F A = F x
Caso contrário faça b = x
Passo 8: Saı́da (“O método falhou após N0 iterações, N0 =”, N0 ); Pare.

1.4 Método da Posição Falsa


Seja f contı́nua no intervalo [a, b] e tal que f (a)f (b) < 0. Suponha que o intervalo (a, b)
contenha um único zero da função f . O método da Posição Falsa toma a média poderada
entre a e b com pesos |f (b)| e |f (a)|, respectivamente, de modo que as aproximações para
os zeros de f são dadas por:

a|f (b)| − b|f (a)| af (b) − bf (a)


x= = .
f (b) − f (a) f (b) − f (a)

Graficamente
−−→
Graficamente, este ponto x é a intersecção entre o eixo OX e a reta r que passa pelos
pontos (a, f (a)) e (b, f (b)).

De fato, considerando a equação da reta r, temos

f (b) − f (a)
Y − f (a) = (x − a)
b−a

10
−−→
O ponto de intersecção de r e o eixo OX é (x, 0). Assim, temos:

f (b) − f (a)
0 − f (a) = (x − a)
b−a
(b − a)
x−a = −f (a)
f (b) − f (a)
(b − a)
x = a − f (a)
f (b) − f (a)
a(f (b) − f (a)) − f (a)(b − a)
x =
f (b) − f (a)
af (b) − bf (a)
x =
f (b) − f (a)

Algoritmo - Método da Posição Falsa


Dados de entrada: extremidades a e b; precisão ε, número máximo de iterações N0 .
Passo 1: Se (b − a) < ε, então escolha para x qualquer x ∈ [a, b]. Fim.
Passo 2: Faça i = 1;
FA=f(a)
FB=f(b)
Passo 3: Enquanto i ≤ N0 , execute os passos 4 a 7.
aF B − bF A
Passo 4: Faça x = ;
FB − FA
F x = f (x)
Passo 5: Se F x = 0 ou b−a2
< ε, então
Saı́da x;
Pare.
Passo 6: Faça i = i + 1.
Passo 7: Se F A · F x > 0, então faça a = x; F A = F x
Caso contrário faça b = x, F B = F x
Passo 8: Saı́da (“O método falhou após N0 iterações, N0 =”, N0 ); Pare.

1.5 Método do Ponto Fixo


Seja f uma função contı́nua em [a, b], intervalo que contém uma raiz da equação f (x) = 0.
O Método do Ponto Fixo (ou Método Iterativo Linear) consiste em transformar esta
equação em uma equação equivalente x = ϕ(x) e a partir de uma aproximação inicial x0
gerar a sequência {xk } de aproximações para ξ pela relação xk+1 = ϕ(xk ).

Note que, a função ϕ(x) é tal que f (ξ) = 0 se e somente se ϕ(ξ) = ξ. Assim, transforma-
mos o problema de encontrar um zero de f (x) no problema de encontrar um ponto fixo
de ϕ(x). A função ϕ(x) é denominada função de iteração para a equação f (x) = 0.

11
Graficamente
Note que, a raiz da equação x = ϕ(x) é a abscissa do ponto de intersecção da reta y = x
e da curva y = ϕ. A figura a seguir ilustra a sequência de valores para xk obtidas pela
aplicação do método iterativo linear.

Exemplo 3 Considere a equação f (x) = 2x2 − 5x + 2 = 0, cujas raı́zes são x1 = 0.5 e


2x2k + 2
x2 = 2.0 e, o processo iterativo xk+1 = . Tomando x0 = 0, 3, obtemos:
5

2x20 + 2 2 · 0, 32 + 2
x1 = = = 0, 436
5 5
2
2x1 + 2 2 · 0, 4362 + 2
x2 = = = 0, 4760384
5 5
2x22 + 2 2 · 0, 47603842 + 2
x3 = = = 0, 490645023
5 5
2
2x3 + 2 2 · 0, 4906450232 + 2
x4 = = = 0, 496293015
5 5
2x24 + 2 2 · 0, 4962930152 + 2
x5 = = = 0, 498522702
5 5
2
2x5 + 2 2 · 0, 4985227022 + 2
x6 = = = 0, 499409954
5 5
..
.

Assim, podemos perceber que tomando x0 = 0, 3, a sequência {xk } gerada, converge para
ξ1 = 0, 5.

12
No entanto, se tomarmos x0 = 2, 2, obtemos:
2x20 + 2 2 · 2, 22 + 2
x1 = = = 2, 336
5 5
2
2x1 + 2 2 · 2, 3362 + 2
x2 = = = 2, 5827584
5 5
2x22 + 2 2 · 2, 58275842 + 2
x3 = = = 3, 068256381
5 5
2
2x3 + 2 2 · 3, 0682563812 + 2
x4 = = = 4, 165678888
5 5
2x24 + 2 2 · 4, 1656788882 + 2
x5 = = = 7, 341152239
5 5
2x25 + 2 2 · 7, 3411522392 + 2
x6 = = = 21, 95700648
5 5
..
.

Neste caso, vemos claramente que a sequência gerada pelo processo iterativo a partir de
x0 = 2, 2 não converge para nenhum dos zeros da função f .

Convergência
É fácil constatar que dada uma equação f (x) = 0, existem infinitas funções de iteração
ϕ(x) para esta. Pelo exemplo anterior, verificamos que o processo iterativo obtido pelo
método do ponto fixo pode gerar uma sequência que seja convergente para apenas um
dos zeros de f ou até mesmo, dependendo da aproximação inicial não seja convergente
para nenhum dos zeros. Assim, a pergunta que surge é: “Como podemos garantir que o
processo iterativo seja convergente?”

O teorema a seguir nos fornece condições suficientes para que o processo seja convergente.

Teorema 2 Sejam ξ uma raiz da equação f (x) = 0, isolada em um intervalo I centrado


em ξ e, ϕ(x) uma função de iteração para a equação dada.
Se

(i) ϕ(x) e ϕ′ (x) são contı́nuas em I;

(ii) |ϕ′ (x)| ≤ M < 1, ∀x ∈ I e

(iii) x0 ∈ I,

então a sequência {xk } gerada pelo processo iterativo xk+1 = ϕ(xk ) converge para ξ.

Demostração: Inicialmente provaremos que se x0 ∈ I, então xk ∈ I, ∀k e a seguir prova-


remos que lim xk = ξ.
k→∞

Como ξ é uma raiz da equação f (x) = 0, podemos escrever f (ξ) = 0 ⇒ ξ = ϕ(ξ). Além
disso, para qualquer k, temos xk+1 = ϕ(xk ). Logo,

xk+1 − ξ = ϕ(xk ) − ϕ(ξ). (1.2)

13
Pelo Teorema do Valor Médio, como ϕ(x) é contı́nua e diferenciável em I, se xk ∈ I,
existe ck entre xk e ξ tal que

ϕ′ (ck )(xk − ξ) = ϕ(xk ) − ϕ(ξ)

Assim, podemos escrever


xk+1 − ξ = ϕ′ (ck )(xk − ξ), ∀k.
Tomando o módulo da equação anterior e sabendo que, por hipótese, |ϕ′ (ck )| < 1 obtemos:

|xk+1 − ξ| = |ϕ′(ck )||xk − ξ| < |xk − ξ|. (1.3)

Pela desigualdade acima, percebemos que a distância entre xk+1 e ξ é estritamente menor
que a distância entre xk e ξ e, como I está centrado em ξ, temos que se xk ∈ I, então
xk+1 ∈ I. Assim, como por hipótese, x0 ∈ I, temos que xk ∈ I, ∀k.

Devemos, agora, provar que lim xk = ξ.


k→∞
Da equação (1.2), temos:

|x1 − ξ| = |ϕ(x0 ) − ϕ(ξ)| = |ϕ′ (c0 )||x0 − ξ| ≤ M|x0 − ξ|


|x2 − ξ| = |ϕ(x1 ) − ϕ(ξ)| = |ϕ′ (c1 )||x1 − ξ| ≤ M 2 |x0 − ξ|
|x3 − ξ| = |ϕ(x2 ) − ϕ(ξ)| = |ϕ′ (c2 )||x2 − ξ| ≤ M 3 |x0 − ξ|
..
.
|xk − ξ| = |ϕ(xk−1 ) − ϕ(ξ)| = |ϕ′ (ck−1 )||xk−1 − ξ| ≤ M k |x0 − ξ|

Tomando, o limite quando x → ∞, obtemos

0 ≤ lim |xk − ξ| ≤ lim M k |x0 − ξ| = 0.


k→∞ k→∞

Logo,
lim |xk − ξ| = 0 ⇒ lim xk = ξ.
k→∞ k→∞

Exemplo 4 Considere a equação dada no exemplo anterior f (x) = 2x2 − 5x + 2 = 0,


cujas raı́zes são x1 = 0.5 e x2 = 2.0 e os processos iterativos:
2x2k + 2
(a) xk+1 = ,
r5
5xk
(b) xk+1 = − 1.
2
Qual dos dois processos você utilizaria para obter a raiz x1 ? Por quê?

Solução: Para garantir a convergência do processo iterativo, devemos ter as hipóteses do


Teorema 2 atendidas, ou seja, ϕ deve ser uma função contı́nua, com derivadas primeira e
segunda contı́nuas em um intervalo I, centrado na raiz ξ1 , de modo que

|ϕ′(x)| < 1, em I.

14
2x2k +2 2x2 +2
Assim, considerando-se inicialmente o processo iterativo xk+1 = 5
, temos ϕ(x) = 5
e ϕ′ (x) = 4x
5
. Logo, |ϕ′ (x)| < 1 para − 54 < x < 45 .

Observe que considerando-se, por exemplo, I = [0, 1] teremos um intervalo I centrado em


x1 = 0, 5 de modo que ϕ e suas derivadas primeira e segunda são funções contı́nuas em
I e |ϕ′ (x)| < 1 em I. Assim, tomando-se x0 ∈ I, garantimos a convergência do processo
iterativo para a determinação da raiz ξ1 .

No entanto, note que não podemos garantir a convergência deste método para a obtenção
da raiz ξ2 = 2, pois para x ≥ 45 , temos |ϕ′ (x)| > 1.
q q
5xk 5x
Consideremos, agora, o processo iterativo xk+1 = − 1. Assim, ϕ(x) =
2 2
−1
 1

e ϕ′ (x) = 21 5x
2
5
− 1 2 · 25 = √ 5x . Fazendo-se |ϕ′ (x)| < 1, obtemos:
4 2
−1



q5 5

<1 ⇔ q <1
5x
5x
4 − 1 4 −1
2 2
r
5x 5
⇔ −1>
2 4
41
⇔ x> = 1, 025
40
Assim, embora ϕ e suas derivadas primeira e segunda sejam contı́nuas em I = (1, 025, +∞)
e |ϕ′ (x)| < 1 em I, não podemos garantir a convergência do método para a obtenção de
ξ1 = 0, 5, pois ξ1 6∈ I.

Note que, neste caso, podemos obter um intervalo I, centrado em ξ2 = 2, por exemplo,
|ϕ′ (x)| < 1 em I. Logo, tomando-se x0 ∈ I, garantimos que
I = [1, 5; 2, 5], de modo queq
5xk
o processo iterativo xk+1 = 2
− 1 gera uma sequência convergente para ξ2 .

Ordem de Convergência

Teorema 3 A ordem de convergência do método iterativo linear é linear, isto é, p = 1.

Demonstração: Suponha que todas as hipóteses do teorema do ponto fixo sejam atendi-
das. Consideremos ξ a solução da equação x = ϕ(x).

Como ϕ′ existe em [a, b], aplicando-se o Teorema do Valor Médio para a função ϕ, temos:

xk+1 = ϕ(xk ) ∴ xk+1 − ξ = ϕ(xk ) − ϕ(ξ) = ϕ′ (ck )(xk − ξ)


xk+1 − ξ
∴ = ϕ′ (ck ) (1.4)
xk − ξ

para ck ∈ [xk , ξ]. Como {xk }∞ ∞


k=0 converge para ξ, temos também {ck }k=0 convergindo
para ξ.

15
Assim, fazendo-se k → ∞ na equação (1.4), temos:
xk+1 − ξ
lim = lim ϕ′ (ck ) = ϕ′ ( lim ck ) = ϕ′ (ξ),
k→∞ xk − ξ k→∞ k→∞

ou equivalentemente,
|xk+1 − ξ|
lim = |ϕ′ (ξ)|. (1.5)
k→∞ |xk − ξ|

Fazendo-se ek+1 = xk+1 − ξ e ek = xk − ξ, a expressão (1.5) pode ser reescrita como


|ek+1 |
lim = |ϕ′ (ξ)| ≤ M.
k→∞ |ek |1

Portanto, considerando a definição de ordem de convergência, temos que para |ϕ′ (ξ)| =
6 0,
o método iterativo do linear apresenta convergência linear, ou seja, p = 1.

Algoritmo - Método do Ponto Fixo


Dados de entrada: aproximação inicial x0 ; precisão ε, número máximo de iterações N0 .
Passo 1: Faça i = 1
Passo 2: Enquanto i ≤ N0 , execute os passos 3 a 6.
Passo 3: Faça x = ϕ(x0 );

Passo 4: Se x−x
x
0
< ε ou |f (x)| < ε, então
Saı́da x;
Pare.
Passo 5: Faça i = i + 1.
Passo 6: Faça x0 = x.
Passo 7: Saı́da (“O método falhou após N0 iterações, N0 =”, N0 ); Pare.

1.6 Método de Newton-Raphson


Sabe-se que uma das condições de convergência na aplicação do método do ponto fixo é
que |ϕ′(x)| ≤ M < 1, ∀x ∈ I, sendo I um intervalo centrado na raiz ξ da equação f (x) = 0.

Analisando a equação (1.3) é fácil ver que quanto menor for o valor de |ϕ′ (ξ)| mais rápida
será a convergência do método. Assim, para garantir e acelerar a convergência do método
do ponto fixo, tomaremos uma função de iteração ϕ(x) tal que ϕ(ξ) = 0.

Seja f uma função contı́nua em I e ξ uma raiz da equação f (x) = 0. A forma geral para
a função de iteração ϕ(x) é dada por:

ϕ(x) = x + A(x)f (x), com A(ξ) 6= 0.

De fato, f (ξ) = 0 ⇔ ϕ(ξ) = ξ, pois

f (ξ) = 0 ⇒ ϕ(ξ) = ξ + A(ξ)f (ξ) ⇒ ϕ(ξ) = ξ


ϕ(ξ) = ξ ⇒ ξ = ξ + A(ξ)f (ξ) ⇒ A(ξ) f (ξ) = 0 ⇒ f (ξ) = 0
|{z}
6=0

16
Note que, queremos determinar uma função de iteração, de modo que ϕ′ (ξ) = 0. Assim,
temos:

ϕ′ (x) = 1 + A(x)f ′ (x) + A′ (x)f (x) ⇒ ϕ′ (ξ) = 1 + A(ξ)f ′(ξ) + A′ (ξ) f (ξ)
| {z } |{z}
=0 =0

⇒ 0 = 1 + A(ξ)f (ξ)
1
⇒ A(ξ) = − ′
f (ξ)
1
Portanto, tomando A(x) = − , obtemos:
f ′ (x)

f (x)
ϕ(x) = x −
f ′ (x)

Logo, tomando x0 como aproximação inicial para o zero de f , a sequência {xk } será gerada
por:

f (xk )
xk+1 = xk − , k = 0, 1, 2, ... (1.6)
f ′ (xk )

Graficamente
O valor xk+1 representa geometricamente a abscissa do ponto de intersecção da reta tan-
−−→
gente ao gráfico de f no ponto de coordenadas (xk , f (xk )) com o eixo OX.

De fato, considere a equação da reta tangente ao gráfico de f no ponto de coordenadas


(xk , f (xk )), dada por:
Y (x) − f (xk ) = f ′ (xk )(x − xk ).

17
Determinando o zero da reta cuja equação foi apresentada acima, obtemos:

Y (x) = 0 ⇒ −f (xk ) = f ′ (xk )(x − xk )


f (xk )
⇒ x = xk − ′
f (xk )

Convergência
Teorema 4 Se f , f ′ e f ′′ são contı́nuas em I, cujo centro ξ é solução de f (x) = 0 e se
f ′ (ξ) 6= 0, então a ordem de convergência do método de Newton é quadrática, ou seja,
p = 2.

Demostração: O esquema iterativo do método de Newton é dado por:


f (xk )
xk+1 = xk − = ϕ(xk ).
f ′ (xk )
f (x)
Considerando ϕ(x) = x − f ′ (x)
, e diferenciando ϕ em relação a x, temos:

f ′ (x) · f ′ (x) − f (x) · f ′′ (x) f (x) · f ′′ (x)


ϕ′ (x) = 1 − = .
[f ′ (x)]2 [f ′ (x)]2
Como ξ é solução da equação f (x) = 0, então ξ = ϕ(ξ). Assim, para xk+1 = ϕ(xk ), temos:

xk+1 − ξ = ϕ(xk ) − ϕ(ξ). (1.7)

Expandindo ϕ(xk ) em série de Taylor em torno de ξ, temos:


ϕ′′ (ck )
ϕ(xk ) = ϕ(ξ) + ϕ′ (ξ)(xk − ξ) + (xk − ξ)2 , (1.8)
2
onde ck está entre xk e ξ.
Note que
f (ξ) · f ′′ (ξ)
ϕ′ (ξ) = = 0,
[f ′ (ξ)]2
pois, f (ξ) = 0 e f ′ (ξ) 6= 0. Logo, a equação (1.8) pode ser reescrita como:
ϕ′′ (ck )
ϕ(xk ) = ϕ(ξ) + (xk − ξ)2 ,
2
ou, equivalentemente
ϕ(xk ) − ϕ(ξ) ϕ′′ (ck )
= . (1.9)
(xk − ξ)2 2
Considerando as equações (1.7) e (1.9), temos:
|xk+1 − ξ| |ϕ′′ (ck )|
= . (1.10)
|xk − ξ|2 2
Fazendo-se ek+1 = xk+1 − ξ, ek = xk − ξ e k → ∞ na equação anterior, obtemos:
|ek+1 | |ϕ′′ (ck )| |ϕ′′ (ξ)|
lim = lim = . (1.11)
k→∞ |ek |2 k→∞ 2 2
Portanto, considerando a definição de ordem de convergência, temos que para |ϕ′′ (ξ)| =
6 0,
o método de Newton apresenta convergência quadrática, ou seja, p = 2.

18
Algoritmo - Método de Newton-Raphson
Dados de entrada: aproximação inicial x0 ; precisão ε, número máximo de iterações N0 .
Passo 1: Faça i = 1
Passo 2: Enquanto i ≤ N0 , execute os passos 3 a 6.
Passo 3: Faça x = x0 − ff′(x 0)
(x0 )
;
x−x
Passo 4: Se x < ε ou |f (x)| < ε, então
0

Saı́da x;
Pare.
Passo 5: Faça i = i + 1.
Passo 6: Faça x0 = x.
Passo 7: Saı́da (“O método falhou após N0 iterações, N0 =”, N0 ); Pare.

Exemplo 5 Considere a equação x − 5e−x = 0. Obtenha a raiz positiva com quatro
casas decimais corretas. Usando (??) confirme que a ordem de convergência do método
de Newton é quadrática, isto é, p = 2.

Solução: Fazendo-se f (x) = x − 5e−x , temos f ′ (x) = 2√1 x + 5e−x . Assim, aplicando-se o

método de Newton, obtemos o zero de f (x), ou seja, a raiz da equação f (x) = x−5e−x =
0.

√ −x

x
Inicialmente,

considerando a equação x − 5e = 0, temos 5
= e−x . Fazendo-se
x
f1 (x) = 5 e f2 (x) = e−x , temos que as raı́zes da equação original f (x) = 0, são dadas
pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta o
esboço gráfico de f1 e f2 .

Observando o gráfico verificamos que a equação admite uma raiz real x ∈ (1, 2). Assim,
tomando x0 = 1, 4, a sequência obtida aplicando-se o método de Newton, considerando-se
o erro relativo inferior a 10−4 , é apresentada a seguir.

f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
Para k = 0, temos:

f (x0 ) = 1, 4 − 5e−1,4 = −0, 049768863,

19
f ′ (x0 ) = √1 + 5e−1,4 = 1, 655561947,
2 1,4

f (x0 ) (−0, 049768863)


x1 = x0 − ′ = 1, 4 − = 1, 430061613.
f (x0 ) 1, 655561947

x1 − x0 1, 430061613 − 1, 4
ERx1 = = = 0, 021013053 > 10−4
x1 1, 430061613

Para k = 1, temos:

f (x1 ) = 1, 430061613 − 5e−1,430061613 = −6, 1905507 × 10−4 ,
1
f ′ (x1 ) = 2√1,430061613 + 5e−1,430061613 = 1, 614582889,

f (x1 ) (−6, 1905507 × 10−4 )


x2 = x1 − ′ = 1, 430061613 − = 1, 430445028.
f (x1 ) 1, 614582889

x2 − x1 1, 430445028 − 1, 430061613
ERx2 = = = 2, 680388638 × 10−4 > 10−4
x2 1, 430445028

Para k = 2, temos:

f (x2 ) = 1, 430445028 − 5e−1,430445028 = −9, 845 × 10−8 ,
1
f ′ (x2 ) = 2√1,430445028 + 5e−1,430445028 = 1, 614068193,

f (x2 ) (−9, 845 × 10−8 )


x3 = x2 − ′ = 1, 430445028 − = 1, 430445089.
f (x2 ) 1, 614068193

x3 − x2 1, 430445089 − 1, 430445028
ERx3 =
= = 4, 263707881 × 10−8 < 10−4
x3 1, 430445089


Assim, a raiz da equação x − 5e−x = 0 com a precisão desejada é x = 1, 430445089.

Utilizaremos a equação (??) para confirmar que a ordem de convergência do método de


Newton é quadrática, isto é, p = 2. Considerando-se x = 1, 430445089, temos:

k xk ek = |xk − x|
0 1, 4 0, 030445089
1 1, 430061613 3, 83476 × 10−4
2 1, 430445028 6, 1 × 10−8

Assim,

ek+1 6, 1 × 10−8
ln
ln

ek 3, 83476 × 10−4
p = = = 1, 99939479.
ek 3, 83476 × 10−4
ln
ln

ek−1 0, 030445089

Portanto, verifica-se que quando k → ∞, temos p → 2.

20
1.7 Método da Secante
A grande desvantagem da aplicação do método de Newton-Raphson é a necessidade de
determinar f ′ (x) e calcular o seu valor numérico em cada iteração. O método da Secante
contorna o problema ao aproximar a derivada f ′ (x) pelo quociente das diferenças:

f (xk ) − f (xk−1)
f ′ (xk ) ≈ ,
xk − xk−1
onde xk e xk−1 são duas aproximações para a raiz.

Neste caso, temos:

f (xk )
xk+1 = xk − f (xk )−f (xk−1 )
xk −xk−1
xk − xk−1
= xk − f (xk )
f (xk ) − f (xk−1 )
xk (f (xk ) − f (xk−1 )) − f (xk )(xk − xk−1 )
=
f (xk ) − f (xk−1 )
xk−1 f (xk ) − xk f (xk−1 )
=
f (xk ) − f (xk−1 )

Graficamente
−−→
Graficamente, xk+1 representa a abscissa do ponto de intersecção entre o eixo OX e a reta
r que passa pelos pontos (xk−1 , f (xk−1 )) e (xk , f (xk )).

De fato, a equação da reta r que passa pelos pontos (xk−1 , f (xk−1)) e (xk , f (xk )) é dada
por:
f (xk ) − f (xk−1)
Y − f (xk ) = (x − xk ).
xk − xk−1

21
−−→
Assim, considerando o ponto de intersecção da reta r com o eixo OX, temos:

f (xk ) − f (xk−1 )
0 − f (xk ) = (x − xk )
xk − xk−1
xk − xk−1
x − xk = −f (xk )
f (xk ) − f (xk−1 )
xk − xk−1
x = xk − f (xk )
f (xk ) − f (xk−1 )
xk (f (xk ) − f (xk−1 )) − f (xk )(xk − xk−1 )
x =
f (xk ) − f (xk−1 )
xk−1 f (xk ) − xk f (xk−1 )
x =
f (xk ) − f (xk−1 )

Convergência
Como o método da secante é uma aproximação para o método de Newton, as condições
para a convergência do método são praticamente as mesmas. Pode-se provar que a ordem
de convergência do método da secante é p ≈ 1, 618...

Algoritmo - Método da Secante


Dados de entrada: aproximações x0 e x1 ; precisão ε, número máximo de iterações N0 .
Passo 1: Faça i = 2;
F x0 = f (x0 )
F x1 = f (x1 )
Passo 2: Enquanto i ≤ N0 , execute os passos 4 a 7.
x0 F x1 − x1 F x0
Passo 3: Faça x = ;
F x1 − F x0
F x = f (x)

Passo 4: Se F x = 0 ou x−x1 x
< ε, então
Saı́da x;
Pare.
Passo 5: Faça i = i + 1.
Passo 6: Faça x0 = x1 .
x1 = x
F x0 = F x1
F x1 = F x
Passo 7: Saı́da (“O método falhou após N0 iterações, N0 =”, N0 ); Pare.

Exemplo 6 Considere a equação 4 cos x − ex = 0. Obtenha a raiz positiva com quatro


casas decimais corretas. Usando (1.1) confirme que a ordem de convergência do método
das secantes é p ≈ 1.618.

Solução: Inicialmente obteremos o intervalo ao qual pertence a raiz positiva da equação


4 cos x − ex = 0. Fazendo-se f1 (x) = 4 cos x e f2 (x) = ex , temos que as raı́zes da equação
original, são dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a

22
seguir apresenta o esboço gráfico de f1 e f2 .

Analisando o gráfico verificamos que a equação admite uma raiz real positiva no intervalo
(0, 2). Assim, consideraremos como aproximações iniciais para inicializar o método das
secantes x0 = 1 e x1 = 2.
A seguir é apresentada a sequência de aproximações para a raiz positiva da equação dada,
considerando-se o erro relativo inferior a 10−3 .
xk−1 f (xk ) − xk f (xk−1 )
xk+1 = , para k = 1, 2, 3, ...
f (xk ) − f (xk−1 )
Para k = 1, temos
f (x0 ) = 4 cos(x0 ) − ex0 = 4 cos(1) − e1 = −0, 557072605
f (x1 ) = 4 cos(x1 ) − ex1 = 4 cos(2) − e2 = −9, 053643445
x0 f (x1 ) − x1 f (x0 ) 1(−9, 053643445) − 2(−0, 557072605)
x2 = = = 0, 934435595
f (x1 ) − f (x0 ) (−9, 053643445) − (−0, 557072605)

x2 − x1 0, 934435595 − 2
ERx2 =
= = 1, 140329424
x2 0, 934435595
Para k = 2, temos
f (x2 ) = 4 cos(x2 ) − ex2 = 4 cos(0, 934435595) − e0,934435595 = −0, 168686397
x1 f (x2 ) − x2 f (x1 ) 2(−0, 168686397) − 0, 934435595(−9, 053643445)
x3 = =
f (x2 ) − f (x1 ) (−0, 168686397) − (−9, 053643445)
= 0, 914205196

x3 − x2 0, 914205196 − 0, 934435595
ERx3 = = = 0, 022128947 > 10−3
x3 0, 914205196

Para k = 3, temos
f (x3 ) = 4 cos(x3 ) − ex3 = 4 cos(0, 914205196) − e0,914205196 = −0, 053110334
x2 f (x3 ) − x3 f (x2 ) 0, 934435595(−0, 053110334) − 0, 914205196(−0, 168686397)
x4 = =
f (x3 ) − f (x2 ) (−0, 053110334) − (−0, 168686397)
= 0, 904908779

x4 − x3 0, 904908779 − 0, 914205196
ERx4 =
= = 0, 010273319 > 10−3
x4 0, 904908779

23
Para k = 4, temos
f (x4 ) = 4 cos(x4 ) − ex4 = 4 cos(0, 904908779) − e0,904908779 = −6, 7717783 × 10−4

x3 f (x4 ) − x4 f (x3 )
x5 =
f (x4 ) − f (x3 )
0, 914205196(−6, 7717783 × 10−4 ) − 0, 904908779(−0, 053110334)
=
−6, 7717783 × 10−4 − (−0, 053110334)
= 0, 904788715

x5 − x4 0, 904788715 − 0, 904908779
ERx5 = = = 1, 326982366 × 10−4 < 10−3
x5 0, 904788715

Assim, a raiz positiva com quatro casas decimais corretas obtida utilizando-se o método
das secantes é x = 0, 904788715.

1.8 Exercı́cios
1. Justifique que a função f , definida por

π(x + 1)
f (x) = cos + 0.148x − 0.9062,
8
possui uma raiz no intervalo (−1, 0) e outra no intervalo (0, 1).

2. Justifique que a equação f (x) = 4x − ex = 0 possui uma raiz no intervalo (0, 1) e


outra no intervalo (2, 3).

3. Considere as seguintes funções:

(a) ψ1 (x) = 2x − 1
(b) ψ2 (x) = x2 − 2x + 2
(c) ψ3 (x) = x2 − 3x + 3

Verifique que 1 é a raiz de todas estas função. Qual delas você escolheria para obter
a raiz 1, utilizando o processo iterativo xk+1 = ψ(xk )? Com a sua escolha, exiba a
sequência gerada a partir da condição inicial x0 = 1.2.

4. Deseja-se obter a raiz positiva da equação: bx2 + x − a = 0, a > 0, b > 0, através


do processo iterativo definido por: xk+1 = a − bx2k . Qual a condição que devemos
impor para a e b para que haja convergência? Por quê?

24

5. A equação: x2 − a = 0 possui uma raiz x = a. Explicar algébrica e geometrica-
mente por que a sequência {xk }, obtida através do processo iterativo definido por:

xk+1 = xak , não converge para a qualquer que seja o valor de x0 .

6. Usando o método de Newton, com erro inferior a 10−2 , determinar uma raiz das
seguintes equações:

(a) 2x = tan x
(b) 5x3 + x2 − 12x + 4 = 0
(c) sin x − ex = 0
(d) x4 − 8 = 0

7. Considere a fórmula para determinar a raiz cúbica de Q:


 
1 Q
xk+1 = 2xk + 2 , k = 0, 1, 2, ...
3 xk

(a) Mostre que a fórmula acima é um caso especial de iteração de Newton.



(b) Usando a fórmula dada no item (a) calcule 3 4 com precisão de 10−2 , determi-
nando o valor inicial através de gráfico.

8. Usando o método de Newton, determine o valor de π com 3 algarismos significativos


corretos. Use como valor inicial x0 = 3.

9. Determinar, pelo método das secantes, uma raiz de cada uma das equações:

(a) x = 2.7 ln x
(b) log x − cos x = 0
(c) e−x − log x = 0

10. Trabalho: (Entrega: 08/03/2017) Implemente computacionalmente cada um dos


métodos e determine a raiz aproximada x, o valor de f (x), o erro cometido no
cáculo da aproximação de x e o número de iterações, sendo

(a) f (x) = ex − 4x2 ; ε = 10−5


(b) f (x) = x − x ln x; ε = 10−5

Compare os métodos, quanto a garantia de convergência, rapidez de convergência e


esforço computacional.

25
Anexo 1.1 - Programa Bissecção

Program Bisseccao
!------------------------------------------------------------------------------
! Este programa determina o valor aproximado do zero de uma funç~
ao f, a partir
! de um intervalo que contenha a raiz da equaç~
ao f(x)=0.
!------------------------------------------------------------------------------

! Declaraç~
ao das variáveis
Implicit None
Integer:: i, itermax
Double Precision:: a, b, x, fa, fb, fx, eps
! onde a e b representam os limitantes inferior e superior do intervalo que
! contenha o zero;
! x representa a aproximaç~ao para o zero na iteraç~
ao i;
! erro representa o erro cometido na aproximaç~ao x;
! eps a precis~ao desejada para a aproximaç~
ao.

a=1.0d0
b=2.0d0
eps=0.000001d0
itermax=10000
fa=valorf(a)
fb=valorf(b)
If (fa*fb>0) then
Write(*,*) ’Escolha um intervalo que contenha a raiz, ou seja, de modo
que fa*fb<0.’
stop
End If

Open(9,File=’Bisseccao.txt’)
Write(9,*) ’Método da Bissecç~
ao’
x=(a+b)/2.0d0
If (dabs(b-a)<eps) then
Write(9,*) ’O zero aproximado de f com precis~
ao’, eps, ’é: ’, x
Stop
End If

! Aplicando do método da Bissecç~


ao

Do i=1,itermax
x=(a+b)/2.0d0
fx=valorf(x)
Write(9,*) i, x, fx
If ((fa*fx)>0) then
a=x
If (dabs(b-a)<eps) then
Write(*,*) ’O processo convergiu após’, i, ’iteraç~
oes’
Write(*,*) ’O zero aproximado com precis~ao’, eps, ’é: ’, x
exit
End If
Else
b=x
If (dabs(b-a)<eps) then
Write(*,*) ’O processo convergiu após’, i, ’iteraç~
oes’
Write(*,*) ’O zero aproximado com precis~ao’, eps, ’é: ’, x
exit
End If
End If
End Do

Close(9)

!------------------------------------------------------------------------------
Contains

26
Double Precision Function valorf(x)
! Esta funç~
ao calcula o valor de f em x.
Double Precision:: x, valorf
valorf=x**3.0d0-x-1.0d0
End Function valorf
!------------------------------------------------------------------------------

End Program

Anexo 1.2 - Soluções dos exercı́cios propostos


Solução da questão 01. Como f é contı́nua no intervalo [−1, 0] e
π(−1 + 1)
f (−1) = cos + 0, 148 · (−1) − 0, 9062 = −0, 0542 < 0
8
e
π(0 + 1)
f (0) = cos + 0, 148 · 0 − 0, 9062 ≈ 0, 017679532 > 0,
8
temos pelo Teorema 1 que f admite pelo menos um zero real em (−1, 0).

Note que, f é contı́nua no intervalo [0, 1] e


π(0 + 1)
f (0) = cos + 0, 148 · 0 − 0, 9062 ≈ 0, 017679532 > 0
8
e
π(1 + 1)
f (1) = cos + 0, 148 · (1) − 0, 9062 ≈ −0, 051093218 < 0.
8
Assim, considerando o Teorema 1, temos que f admite pelo menos um zero real em (0, 1).

Solução da questão 02. Note que f é contı́nua no intervalo [0, 1] e, f (0) = 4·0−e0 = −1 < 0
e f (1) = 4 · 1 − e1 = 4 − e > 0. Assim, considerando o Teorema 1, temos que a equação
f (x) = 0 admite pelo menos uma raiz real no intervalo (0, 1).

Da mesma forma, como f é contı́nua em [2, 3] e, f (2) = 4 · 2 − e2 = 8 − e2 > 0 e


f (3) = 4 · 3 − e3 = 12 − e3 < 0, temos pelo Teorema 1, que a equação f (x) = 0 admite
pelo menos uma raiz real no intervalo (2, 3).

Solução da questão 03. Note que, para x = 1, temos:

x = ψ1 (x) ⇒ 1= 2·1−1= 1
x = ψ2 (x) ⇒ 1 = 12 − 2 · 1 + 2 = 1
x = ψ3 (x) ⇒ 1 = 12 − 3 · 1 + 3 = 1.

Como 1 = ψi (1), para i = 1, 2, 3, concluı́mos que 1 é raiz das funções dadas.

27
Para garantir a convergência do processo iterativo, devemos verificar se para cada uma
das funções de iteração ψ1 , ψ2 e ψ3 são contı́nuas e admitem derivadas primeira e segunda
contı́nuas em um intervalo I, centrado na raiz x = 1, de modo que |ψi′ (x)| < 1 em I
(Teorema 4).

Consideremos inicialmente ψ1 (x) = 2x−1. Note que, ψ1′ (x) = 2 e |ψ1′ (x)| = 2 > 1. Assim,
como as hipóteses do Teorema 4 não são atendidas, não podemos garantir a convergência
do método. Logo, ψ1 não é uma escolha adequada para o processo iterativo.

Consideremos agora ψ2 (x) = x2 − 2x + 2. Note que, ψ2′ (x) = 2x − 2 e |ψ2′ (x)| < 1
para 21 < x < 23 . Tomando, por exemplo, I = [0, 7; 1, 3], temos que ψ2 e duas derivadas
primeira e segunda são contı́nuas em I e |ψ2′ (x)| < 1 em I. Assim, podemos garantir que
o processo iterativo converge ∀x0 ∈ I. A seguir é apresentada a sequência gerada a partir
da condição inicial x0 = 1, 2.

x1 = ψ2 (x0 ) = x20 − 2 · x0 + 2 = 1, 22 − 2 · 1, 2 + 2 = 1, 04
x2 = ψ2 (x1 ) = x21 − 2 · x1 + 2 = 1, 042 − 2 · 1, 04 + 2 = 1, 0016
x3 = ψ2 (x2 ) = x22 − 2 · x2 + 2 = 1, 00162 − 2 · 1, 0016 + 2 = 1, 00000256
..
.
xk → 1 quando k → ∞

Para ψ3 (x) = x2 − 3x + 3, temos ψ3′ (x) = 2x − 3 e |ψ3′ (x)| < 1, para 1 < x < 2. Como não
há um intervalo I, centrado na raiz x = 1, de modo que |ψ3′ (x)| < 1 em I, não podemos
garantir a convergência do método. Assim, esta função de iteração não é uma escolha
adequada para a obtenção de x = 1.

Solução da questão 04. Neste caso, a função de iteração é definida por ψ(x) = a − bx2 e
ψ ′ (x) = −2bx. Assim, |ψ ′ (x)| < 1, para − 2b1 < x < 2b
1
.
Portanto, para garantir a convergência a raiz positiva da equação bx2 + x − a = 0 deve
pertencer a este intervalo. Logo,
  √
1 1 1 −1 + 1 + 4ab 1 √
x∈ − , ⇔ − < < ⇔ 0 < 1 + 4ab < 2.
2b 2b 2b 2b 2b

Como 0 < 1 + 4ab independente dos valores assumidos por a e b, devemos ter
√ 3
1 + 4ab < 2 → 1 + 4ab < 4 → ab < .
4
Portanto, para que o processo iterativo xk+1 = a − bx2k gere uma sequência convergente
para a raiz positiva da equação dada, devemos impor que ab < 34 .

28
Solução da questão 05. A função de iteração, neste caso, é definida por ψ(x) = xa . Assim,
√ √
ψ ′ (x) = − xa2 e |ψ ′ (x)| < 1 para (−∞, − a) ∪ ( a, +∞). Assim, não há um intervalo I,

centrado em x = a de modo que |ψ ′ (x)| < 1 em I. Portanto, não temos as hipóteses
do Teorema 4 satisfeitas. Logo, não podemos garantir a convergência do processo iterativo.

A figura a seguir apresenta a sequência de valores obtidos pelo método iterativo linear,
gerada a partir de uma aproximação x0 . Note que, o método iterativo linear gera duas

subsequências, {x2k } e {x2k+1 }. A primeira possui todos os elementos iguais a x0 e a


segunda possui todos os elementos iguais a x1 , com x0 6= x1 . Fazendo-se k → ∞, temos
x2k → x0 e x2k+1 → x1 . Portanto, 6 ∃ lim xk , isto é, a sequência xk diverge.
k→∞

Solução da questão 06. (a) Fazendo-se f (x) = 2x−tan x, temos f ′ (x) = 2−sec2 x. Assim,
aplicando-se o método de Newton, obtemos o zero de f (x), ou seja, a raiz da equação
f (x) = 2x − tan x = 0.

Para f1 (x) = 2x e f2 (x) = tan x, temos que as raı́zes da equação original 2x = tan x, são
dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta
o esboço gráfico de f1 e f2 .

Observando o gráfico verificamos que a equação admite uma raiz real x ∈ (1, 2). Assim,
tomando x0 = 1, 2, a sequência obtida aplicando-se o método de Newton, considerando-se

29
o erro relativo inferior a 10−2 , é apresentada a seguir.

f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
Para k = 0, temos:
f (x0 ) = 2x0 − tan x0 = 2 · 1, 2 − tan 1, 2 = −0, 172151622,
f ′ (x0 ) = 2 − sec2 x0 = 2 − sec2 1, 2 = −5, 615963967,

f (x0 ) (−0, 172151622)


x1 = x0 − ′ = 1, 2 − = 1, 169346024.
f (x0 ) −5, 615963967

x1 − x0 1, 169346024 − 1, 2
ERx1 = = = 0, 026214631 > 10−2
x1 1, 169346024

Para k = 1, temos:
f (x1 ) = 2x1 − tan x1 = 2 · 1, 169346024 − tan 1, 169346024 = −0, 01699936,
f ′ (x1 ) = 2 − sec2 x1 = 2 − sec2 1, 169346024 = −4, 549282014,

f (x1 ) (−0, 01699936)


x2 = x1 − ′ = 1, 169346024 − = 1, 165609311.
f (x1 ) −4, 549282014

x2 − x1 1, 165609311 − 1, 169346024
ERx2 = = = 3, 20580206 × 10−3 < 10−2
x2 1, 165609311

Assim, a primeira raiz positiva da equação 2x = tan x com erro relativo inferior a 10−2 é
x = 1, 165609311.

(b) Fazendo-se f (x) = 5x3 +x2 −12x+4, temos f ′ (x) = 15x2 +2x−12. Assim, aplicando-
se o método de Newton, obtemos o zero de f (x), ou seja, a raiz da equação f (x) = 0.

2
Para f1 (x) = x3 e f2 (x) = −x +12x−4
5
, temos que as raı́zes da equação original 5x3 + x2 −
12x + 4 = 0, são dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura
a seguir apresenta o esboço gráfico de f1 e f2 .

Observando o gráfico verificamos que a equação admite uma raiz real x ∈ (1, 2). Assim,
tomando x0 = 1, 2, a sequência obtida aplicando-se o método de Newton, considerando-se

30
o erro relativo inferior a 10−2 , é apresentada a seguir.

f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
Para k = 0, temos:
f (x0 ) = 5x30 + x20 − 12x0 + 4 = 5 · (1, 2)3 + (1, 2)2 − 12 · 1, 2 + 4 = −0, 32,
f ′ (x0 ) = 15x20 + 2x0 − 12 = 15 · (1, 2)2 + 2 · (1, 2) − 12 = 12,

f (x0 ) (−0, 32)


x1 = x0 − ′ = 1, 2 − = 1, 226666667.
f (x0 ) 12

x1 − x0 1, 226666667 − 1, 2
ERx1 = = = 0, 02173913 > 10−2
x1 1, 226666667

Para k = 1, temos:

f (x1 ) = 5x31 + x21 − 12x1 + 4


= 5 · (1, 226666667)3 + (1, 226666667)2 − 12 · (1, 226666667) + 4 = 0, 01360593,
f ′ (x1 ) = 15x21 + 2x1 − 12 = 15 · (1, 226666667)2 + 2 · (1, 226666667) − 12 = 13, 02400001,

f (x1 ) 0, 01360593
x2 = x1 − ′ = 1, 226666667 − = 1, 225621986.
f (x1 ) 13, 02400001

x2 − x1 1, 225621986 − 1, 226666667
ERx2 =
= = 8, 523683256 × 10−4 < 10−2
x2 1, 225621986

Assim, uma das raı́zes positivas da equação 5x3 + x2 − 12x + 4 = 0 com erro relativo
inferior a 10−2 é x = 1, 225621986.

(c) Fazendo-se f (x) = sin x − ex , temos f ′ (x) = cos x − ex . Assim, aplicando-se o método
de Newton, obtemos o zero de f (x), ou seja, a raiz da equação f (x) = sin x − ex = 0.

Para f1 (x) = sin x e f2 (x) = ex , temos que as raı́zes da equação original sin x − ex = 0,
são dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir
apresenta o esboço gráfico de f1 e f2 .

31
Observando o gráfico verificamos que a equação admite uma raiz real x ∈ (−3, 5; −2, 5).
Assim, tomando x0 = −π ≈ −3, 141592654, a sequência obtida aplicando-se o método de
Newton, considerando-se o erro relativo inferior a 10−2 , é apresentada a seguir.

f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
Para k = 0, temos:
f (x0 ) = sin x0 − ex0 = sin (−π) − e−π = −0, 043213918,
f ′ (x0 ) = cos x0 − ex0 = cos (−π) − e−π = −1, 043213918,

f (x0 ) (−0, 043213918)


x1 = x0 − ′ = −π − = −3, 183016486
f (x0 ) −1, 043213918

x1 − x0 −3, 183016486 − π
ERx1 =
= = 0, 013014017 > 10−2
x1 −3, 183016486

Para k = 1, temos:
f (x1 ) = sin x1 − ex1 = sin −3, 183016486 − e−3,183016486 = −4, 84149158 × 10−5,
f ′ (x1 ) = cos x1 − ex1 = cos −3, 183016486 − e−3,183016486 = −1, 040602557,

f (x1 ) (−4, 84149158 × 10−5 )


x2 = x1 − ′ = −3, 183016486 − = −3, 183063012
f (x1 ) −1, 040602557

x2 − x1 −3, 183063012 − (−3, 183016486)
ERx2 = = = 1, 461669148 × 10−5 < 10−2
x2 −3, 183063012

Assim, uma das raı́zes da equação sin x − ex = 0 com erro relativo inferior a 10−2 é
x = −3, 183063012.

(d) Fazendo-se f (x) = x4 − 8, temos f ′ (x) = 4x3 . Assim, aplicando-se o método de


Newton, obtemos o zero de f (x), ou seja, a raiz da equação f (x) = x4 − 8 = 0.

Para f1 (x) = x8 e f2 (x) = x3 , temos que as raı́zes da equação original x4 − 8 = 0, são


dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta
o esboço gráfico de f1 e f2 .

Observando o gráfico verificamos que a equação admite uma raiz real x ∈ (0, 2). Assim,
tomando x0 = 1, 7, a sequência obtida aplicando-se o método de Newton, considerando-se
o erro relativo inferior a 10−2 , é apresentada a seguir.

f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
Para k = 0, temos:
f (x0 ) = x40 − 8 = 1, 74 − 8 = 0, 3521,

32
f ′ (x0 ) = 4x30 = 4 · 1, 73 = 19, 652,

f (x0 ) 0, 3521
x1 = x0 − ′ = 1, 7 − = 1, 682083249
f (x0 ) 19, 652

x1 − x0 1, 682083249 − 1, 7
ERx1 =
= = 0, 010651524 > 10−2
x1 1, 682083249

Para k = 1, temos:
f (x1 ) = x41 − 8 = 1, 6820832494 − 8 = 5, 52731531 × 10−3,
f ′ (x1 ) = 4x31 = 4 · 1, 6820832493 = 19, 03717267,

f (x0 ) 5, 52731531 × 10−3


x1 = x0 − ′ = 1, 682083249 − = 1, 681792906
f (x0 ) 19, 03717267

x2 − x1 1, 681792906 − 1, 682083249
ERx2 = = = 1, 726389729 × 10−4 < 10−2
x2 1, 681792906

Assim, a raiz positiva da equação x4 − 8 = 0, com o erro relativo inferior a 10−2 é


x = 1, 681792906.

Solução da questão 07. (a) Consideremos a função f , definida por f (x) = x3 − Q, cujo
zero real é a raiz cúbica de Q. Assim, aplicando-se o método de Newton para a obtenção
deste zero, temos
f (xk )
xk+1 = xk − , para k = 0, 1, 2, 3, ...
f ′ (xk )
x3k − Q
xk+1 = xk − (1.12)
3x2k

Reduzindo a equação (1.12) ao mesmo denominador, obtemos

2x3k + Q
xk+1 = (1.13)
3x2k

33
Rearranjando os termos, a equação (1.13) pode ser reescrita como:
 
1 Q
xk+1 = 2xk + 2 , para k = 0, 1, 2, 3, ... (1.14)
3 xk

Portanto, vemos que a fórmula (1.14) é um caso especial de iteração de Newton.

(b) Para Q = 4, temos f (x) = x3 − 4. Assim, fazendo-se f1 (x) = x3 e f2 (x) = 4, temos


que o zero da função f é dado pelo ponto onde os gráficos de f1 e f2 se interceptam. A
Figura a seguir apresenta o esboço gráfico de f1 e f2 .

Observe que a função f admite um zero real no intervalo (1, 2). A seguir é apresentada

a sequência de aproximações para 3 4 aplicando-se a fórmula (1.14), tomando x0 = 1, 5 e
considerando-se o erro relativo inferior a 10−2 .
Para k = 0, temos:
   
1 4 1 4
x1 = 2x0 + 2 = 2 · 1, 5 + = 1, 592592593
3 x0 3 1, 52

x1 − x0 1, 592592593 − 1, 7
ERx1 = = = 0, 058139535 > 10−2
x1 1, 592592593

Para k = 1, temos:
   
1 4 1 4
x2 = 2x1 + 2 = 2 · 1, 592592593 + = 1, 587417957
3 x1 3 1, 5925925932

x2 − x1 1, 587417957 − 1, 592592593
ERx2 = = = 3, 259781696 × 10−3 < 10−2
x2 1, 587417957

Assim, o valor de 3 4, com erro relativo inferior a 10−2 é x = 1, 587417957.

Solução da questão 08. A função real de variáveis reais f , definida por f (x) = cos x + 1,
admite como zero real x = π. Assim, para determinar este zero utilizaremos o método de
Newton. Deste modo,

f (xk ) cos xk + 1
xk+1 = xk − ⇒ xk+1 = xk + , para k = 0, 1, 2, 3, ...
f ′ (xk ) sin xk

34
Tomando x0 = 3 como aproximação inicial, temos:
cos x0 + 1 cos 3 + 1
x1 = x0 + =3+ = 3, 070914844
sin
x0 sin 3
x1 − x0 3, 070914844 − 3
ERx1 = = = 0, 023092416
x1 3, 070914844
Para k = 1, temos:
cos x1 + 1 cos 3, 070914844 + 1
x2 = x1 + = 3, 070914844 + = 3, 106268467
sin x1 sin 3, 070914844

x2 − x1 3, 106268467 − 3, 070914844
ERx2 = = = 0, 01138138
x1 3, 106268467

Para k = 2, temos:
cos x2 + 1 cos 3, 106268467 + 1
x3 = x2 + = 3, 106268467 + = 3, 123932397
sin x2 sin 3, 106268467

x3 − x2 3, 123932397 − 3, 106268467
ERx3 = = = 5, 654389355 × 10−3
x3 3, 123932397

Para k = 3, temos:
cos x3 + 1 cos 3, 123932397 + 1
x4 = x3 + = 3, 123932397 + = 3, 132762755
sin x3 sin 3, 123932397

x4 − x3 3, 132762755 − 3, 123932397
ERx4 = = = 2, 818712574 × 10−3
x4 3, 132762755

Para k = 4, temos:
cos x4 + 1 cos 3, 132762755 + 1
x5 = x4 + = 3, 132762755 + = 3, 137177733
sin x4 sin 3, 132762755

x5 − x4 3, 137177733 − 3, 132762755
ERx5 =
= = 1, 407308838 × 10−3
x5 3, 137177733

Para k = 5, temos:
cos x5 + 1 cos 3, 137177733 + 1
x6 = x5 + = 3, 137177733 + = 3, 139385197
sin x5 sin 3, 137177733

x6 − x5 3, 139385197 − 3, 137177733
ERx6 =
= = 7, 031516432 × 10−4
x6 3, 139385197

Para k = 6, temos:
cos x6 + 1 cos 3, 139385197 + 1
x7 = x6 + = 3, 139385197 + = 3, 140488926
sin x6 sin 3, 139385197

x7 − x6 3, 140488926 − 3, 139385197
ERx7 =
= = 3, 514511995 × 10−4
x7 3, 140488926

Assim, o valor de π com três algarismos significativos é x = 3, 140488926.

Solução da questão 09. (a) Inicialmente obteremos o intervalo ao qual pertence a raiz da
equação x = 2, 7 ln x. Fazendo-se f1 (x) = x e f2 (x) = 2, 7 ln x, temos que as raı́zes da

35
equação original, são dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A
Figura a seguir apresenta o esboço gráfico de f1 e f2 .

Analisando o gráfico, verificamos que a equação x = 2, 7 ln x, não admite raiz real.

(b) Inicialmente obteremos o intervalo ao qual pertence a raiz da equação log x−cos x = 0.
Fazendo-se f1 (x) = log x e f2 (x) = cos x, temos que as raı́zes da equação original, são
dadas pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta
o esboço gráfico de f1 e f2 .

Analisando o gráfico verificamos que a equação dada admite um zero real no intervalo
(1, 2). Assim, utilizaremos como aproximações iniciais para inicialização do método das
secantes x0 = 1 e x1 = 2. A seguir é apresentada a sequência de aproximações para a raiz
da equação dada, considerando-se o erro relativo inferior a 10−3 .
xk−1 f (xk ) − xk f (xk−1 )
xk+1 = , para k = 1, 2, 3, ...
f (xk ) − f (xk−1 )
Para k = 1, temos
f (x0 ) = log x0 − cos x0 = log 1 − cos 1 = −0, 540302305
f (x1 ) = log x1 − cos x1 = log 2 − cos 2 = 0, 717176832
x0 f (x1 ) − x1 f (x0 ) 1(0, 717176832) − 2(−0, 540302305)
x2 = = = 1, 429670989
f (x1 ) − f (x0 ) 0, 717176832 − (−0, 540302305)

x2 − x1 1, 429670989 − 2
ERx2 = =
x2 1, 429670989

36
Para k = 2, temos
f (x2 ) = log x2 − cos x2 = log 1, 429670989 − cos 1, 429670989 = 0, 014578751
x1 f (x2 ) − x2 f (x1 ) 2(0, 014578751) − 1, 429670989(0, 717176832)
x3 = =
f (x2 ) − f (x1 ) 0, 014578751 − 0, 717176832
= 1, 417836791

x3 − x2 1, 417836791 − 1, 429670989
ERx3 =
= = 8, 34665744 × 10−3 > 10−3
x3 1, 417836791

Para k = 3, temos
f (x3 ) = log x3 − cos x3 = log 1, 417836791 − cos 1, 417836791 = −7, 37535651 × 10−4
x2 f (x3 ) − x3 f (x2 )
x4 =
f (x3 ) − f (x2 )
1, 429670989(−7, 37535651 × 10−4 ) − 1, 417836791(0, 014578751)
=
−7, 37535651 × 10−4 − (0, 014578751)
= 1, 418406651

x4 − x3 1, 418406651 − 1, 417836791
ERx4 = = = 4, 017606655 × 10−4 < 10−3.
x4 1, 418406651

Assim, a raiz da equação log x − cos x = 0, com erro relativo inferior a 10−3 é x =
1, 418406651.

(c) Inicialmente obteremos o intervalo ao qual pertence a raiz da equação e−x − log x = 0.
Fazendo-se f1 (x) = e−x e f2 (x) = log x, temos que as raı́zes da equação original, são dadas
pelos pontos onde os gráficos de f1 e f2 se interceptam. A Figura a seguir apresenta o
esboço gráfico de f1 e f2 .

Analisando o gráfico verificamos que a equação dada admite um zero real no intervalo
(1, 2). Assim, utilizaremos como aproximações iniciais para inicialização do método das
secantes x0 = 1 e x1 = 2. A seguir é apresentada a sequência de aproximações para a raiz
da equação dada, considerando-se o erro relativo inferior a 10−3 .
xk−1 f (xk ) − xk f (xk−1 )
xk+1 = , para k = 1, 2, 3, ...
f (xk ) − f (xk−1 )

37
Para k = 1, temos:
f (x0 ) = e−x0 − log x0 = e−1 − log 1 = 0, 367879441
f (x1 ) = e−x1 − log x1 = e−2 − log 2 = −0, 165694712

x0 f (x1 ) − x1 f (x0 ) 1(−0, 165694712) − 2(0, 367879441)


x2 = = = 1, 689462635
f (x1 ) − f (x0 ) −0, 165694712 − (0, 367879441)

x2 − x1 1, 689462635 − 2
ERx2 =
= = 0, 183808365
x2 1, 689462635

Para k = 2, temos:
f (x2 ) = e−x2 − log x2 = e−1,689462635 − log 1, 689462635 = −0, 043129886

x1 f (x2 ) − x2 f (x1 )
x3 =
f (x2 ) − f (x1 )
2(−0, 043129886) − 1, 689462635(−0, 165694712)
=
−0, 043129886 − (−0, 165694712)
= 1, 580186247

x3 − x2 1, 580186247 − 1, 689462635
ERx3 = = = 0, 069154119
x3 1, 580186247

Para k = 3, temos:
f (x3 ) = e−x3 − log x3 = e−1,580186247 − log 1, 580186247 = 7, 22846177 × 10−3

x2 f (x3 ) − x3 f (x2 )
x4 =
f (x3 ) − f (x2 )
1, 689462635(7, 22846177 × 10−3 ) − 1, 580186247(−0, 043129886)
=
7, 22846177 × 10−3 − (−0, 043129886)
= 1, 595871833

x4 − x3 1, 595871833 − 1, 580186247
ERx4 = = = 9, 828850692 × 10−3 > 10−3
x4 1, 595871833

Para k = 4, temos
f (x4 ) = e−x4 − log x4 = e−1,595871833 − log 1, 595871833 = −2, 66306292 × 10−4

x3 f (x4 ) − x4 f (x3 )
x5 =
f (x4 ) − f (x3 )
1, 580186247(−2, 66306292 × 10−4 ) − 1, 595871833(7, 22846177 × 10−3 )
=
−2, 66306292 × 10−4 − 7, 22846177 × 10−3
= 1, 595314488

x5 − x4 1, 595314488 − 1, 595871833
ERx5 = = = 3, 493636109 × 10−4 < 10−3
x5 1, 595314488

Assim, a primeira raiz positiva da equação e−x − log x = 0, obtida utilizando-se o método
das secantes, com erro relativo inferior a 10−3 é x = 1, 595314488.

38
Capı́tulo 2

Diferenciação Numérica

Neste capı́tulo serão apresentadas algumas técnicas para derivação numérica de funções.
Estas técnicas são utilizadas quando são conhecidos apenas os valores da função f em
alguns pontos, ou seja, quando não temos a lei de formação da função e sim, uma ta-
bela de pontos, ou quando conhecemos a função, mas queremos determinar apenas uma
aproximação para a derivada, como por exemplo, na solução de equações diferenciais.

2.1 Derivadas de primeira ordem


Por definição, a derivada de uma função f = f (x) em um ponto xi é dada por:

df f (xi + ∆x) − f (xi )
= lim . (2.1)
dx x=xi ∆x→0
∆x

De forma aproximada, utilizando um incremento ∆x pequeno, porém finito, pode-se es-


crever:

df f (xi + ∆x) − f (xi )
≈ . (2.2)
dx x=xi
∆x

A aproximação dada por (2.2) é denominada diferença progressiva, porque utiliza um


ponto a frente de xi , isto é, xi + ∆x.

De maneira análoga, pode-se definir uma diferença regressiva como:



df f (xi ) − f (xi − ∆x)
≈ . (2.3)
dx x=xi
∆x

Também podemos aproximar a derivada por uma diferença central, a qual é dada por:

df f (xi + ∆x) − f (xi − ∆x)
≈ . (2.4)
dx x=xi 2∆x

A Figura a seguir, ilustra os pontos utilizados em cada expressão para o cálculo da primeira
derivada de f por diferenças progressivas, regressivas e centrais.

39
Figura 2.1: Pontos utilizados em cada expressão para o cálculo da primeira derivada de
f por diferenças progressivas (a), regressivas (b) e centrais (c).

As aproximações (2.2), (2.3) e (2.4) podem ser obtidas através de séries de Taylor trun-
cadas, o que permite estimar o erro cometido em cada tipo de aproximação.

A expansão em série de Taylor do valor de f em x = xi + ∆x, em torno do valor de f em


x = xi , é dada por

df (∆x)2 d2 f (∆x)3 d3 f
f (xi + ∆x) = f (xi ) + (∆x) + + + ... (2.5)
dx x=xi 2! dx2 x=xi 3! dx3 x=xi
A expressão (7.-12) pode ser reescrita como:

df f (xi + ∆x) − f (xi ) ∆x d2 f (∆x)2 d3 f
= − − + ... (2.6)
dx x=xi ∆x 2! dx2 x=xi 3! dx3 x=xi
Desprezando os termos relativos às derivadas de ordem igual ou superior a dois, obtém-se
a expressão da diferença progressiva. Como o incremento ∆x é pequeno, o maior termo
desprezado é igual ao produto de ∆x por uma constante, ou seja, é da ordem de ∆x.
Assim, o erro cometido quando se substitui (2.1) por (2.2) é: O(∆x).

Analogamente, a expansão e série de Taylor do valor de f em x = xi − ∆x, em torno do


valor de f em x = xi , é dada por

df (∆x)2 d2 f (∆x)3 d3 f
f (xi − ∆x) = f (xi ) − (∆x) + − + ... (2.7)
dx x=xi 2! dx2 x=xi 3! dx3 x=xi
df
Isolando dx
na equação (2.7), obtém-se:

df f (xi ) − f (xi − ∆x) ∆x d2 f (∆x)2 d3 f
= + − + ... (2.8)
dx x=xi ∆x 2! dx2 x=xi 3! dx3 x=xi
Observe que, desprezando os termos relativos às derivadas de ordem igual ou superior a
dois, obtém-se a expressão da diferença regressiva, a qual também produz um erro O(∆x)
quando (2.1) é substituı́da por (2.3).

Subtraindo (2.7) de (7.-12), temos:



df 2(∆x)3 d3 f
f (xi + ∆x) − f (xi − ∆x) = 2(∆x) + + ... (2.9)
dx x=xi 3! dx3 x=xi

40
df
Note que, isolando dx , obtemos:

df f (xi + ∆x) − f (xi − ∆x) (∆x)2 d3 f
= − − ... (2.10)
dx x=xi 2∆x 3! dx3 x=xi

Para obter a expressão correspondente à derivada central são desprezados os termos


relativos às derivadas de ordem 3 ou superiores. Consequentemente, o erro cometido
quando se substitui (2.1) por (2.4) é O(∆x2 ), o que demonstra que o erro cometido pela
fórmula de diferença finita central é menor do que os erros das aproximações progressiva
e regressiva.

Exemplo 7 Aproximar a primeira derivada da função f (x) = 10 cos(x), em x = π4 e


x = π6 , usando diferenças finitas progressivas, diferenças finitas regressivas e diferenças
−1
finitas centrais. Compare o erro relativo desde ∆x = 10−1 a ∆x = 10240 , fazendo com
que cada valor de uma aproximação (∆xi ) corresponda à metade do valor da aproximação
anterior.

Solução:
Para resolver o problema proposto, implementamos um algoritmo para determinação da
derivada da função, através dos métodos citados na seção 2.1, utilizando linguagem For-
tran 1 .

Inicialmente, será realizada uma análise quantitativa da implementação do algoritmo.


Neste sentido as Tabelas 1, 2 e 3 apresentam a solução numérica obtida utilizando, res-
pectivamente, diferença finita progressiva, diferença finita regressiva e diferença finita
central, para calcular f ′ ( π4 ), bem como o erro relativo percentual em cada método para
diferentes valores de ∆x. As Tabelas 4, 5 e 6 mostram a solução numérica obtida utili-
zando, respectivamente, diferença finita progressiva, diferença finita regressiva e diferença
finita central, para calcular f ′ ( π6 ), bem como o erro relativo percentual em cada método
para diferentes valores de ∆x.

Note que, os valores exatos das derivadas nos pontos dados são f ′ ( π4 ) = −5 2 e f ′ ( π6 ) =
−5. Assim analisando as tabelas verificamos que os métodos geram boas aproximações
para as derivadas. E, como já era esperado, observa-se que o método de diferença finita
central apresenta menores valores para o erro relativo.

Os resultados são apresentados de forma qualitativa através das Figuras 2.2 e 2.3, que
−1
ilustram o erro relativo para as aproximações com 10−1 ≤ ∆x ≤ 10240 .

1
O algoritmo implementado encontra-se em anexo

41
Tabela 2.1: Aproximação por diferenças finitas progressivas para f ′ ( π4 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -7.412547450958931E+000 4.829251368802353E+000
5.000000000000000E-002 -7.244861771760753E+000 2.457817751424289E+000 1.964853319984297E+000
2.500000000000000E-002 -7.158715009503638E+000 1.239518556038855E+000 1.982880965718471E+000
1.250000000000000E-002 -7.115077269295327E+000 6.223877156997835E-001 1.991553696790430E+000
6.250000000000000E-003 -7.093118791339208E+000 3.118479423536445E-001 1.995805106175682E+000
3.125000000000000E-003 -7.082104837436418E+000 1.560871125068702E-001 1.997909611787574E+000
1.562500000000000E-003 -7.076589205245227E+000 7.808429400843232E-002 1.998956569806655E+000
7.812500000000000E-004 -7.073829228282875E+000 3.905232548847618E-002 1.999478725830910E+000
3.906250000000000E-004 -7.072448699952929E+000 1.952870661397460E-002 1.999739473812906E+000
1.953125000000000E-004 -7.071758300876354E+000 9.764989238552662E-003 1.999869752736060E+000
9.765625000000001E-005 -7.071413067615140E+000 4.882653636639052E-003 1.999934864369028E+000
4.882812500000000E-005 -7.071240442546696E+000 2.441366506645669E-003 1.999967486793945E+000
2.441406250000000E-005 -7.071154127916088E+000 1.220693294283921E-003 1.999983548756869E+000
1.220703125000000E-005 -7.071110970064183E+000 6.103490994065679E-004 1.999991964386906E+000
6.103515625000000E-006 -7.071089391101850E+000 3.051764874799946E-004 1.999987300615937E+000
3.051757812500000E-006 -7.071078601293266E+000 1.525855511256362E-004 2.000035293176074E+000
1.525878906250000E-006 -7.071073206607252E+000 7.629316987583818E-005 1.999989663215706E+000
7.629394531250000E-007 -7.071070509264246E+000 3.814697925093916E-005 1.999979326645107E+000
3.814697265625000E-007 -7.071069160010666E+000 1.906565213213987E-005 2.000822158431864E+000
1.907348632812500E-007 -7.071068487130106E+000 9.549683991789578E-006 1.996469427525741E+000
9.536743164062501E-008 -7.071068147197366E+000 4.742309083515727E-006 2.013720283434139E+000
4.768371582031250E-008 -7.071067988872528E+000 2.503257756374481E-006 1.894454964311829E+000
2.384185791015625E-008 -7.071067914366722E+000 1.449586543602130E-006 1.726877065341711E+000
1.192092895507813E-008 -7.071067839860916E+000 3.959153308297793E-007 3.661354917891190E+000
5.960464477539063E-009 -7.071067839860916E+000 3.959153308297793E-007 1.000000000000000E+000
2.980232238769531E-009 -7.071067988872528E+000 2.503257756374481E-006 1.581600335888668E-001
1.490116119384766E-009 -7.071067690849304E+000 1.711427094714922E-006 1.462672739087058E+000
7.450580596923829E-010 -7.071067094802856E+000 1.014079679689373E-005 1.687665307758811E-001
3.725290298461914E-010 -7.071068286895752E+000 6.717942607463884E-006 1.509509293161708E+000
1.862645149230957E-010 -7.071070671081543E+000 4.043542141617911E-005 1.661400418786259E-001
9.313225746154786E-011 -7.071065902709961E+000 2.699953620125135E-005 1.497633926552600E+000
4.656612873077393E-011 -7.071056365966797E+000 1.618694514361123E-004 1.667982189456403E-001
2.328306436538696E-011 -7.071075439453125E+000 1.078703790336096E-004 1.500592218978651E+000
1.164153218269348E-011 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
5.820766091346741E-012 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
2.910383045673371E-012 -7.070922851562500E+000 2.050048264724165E-003 5.261845825279805E-002
1.455191522836685E-012 -7.070922851562500E+000 2.050048264724165E-003 1.000000000000000E+000
7.275957614183426E-013 -7.071533203125000E+000 6.581626310306933E-003 3.114805016373774E-001
3.637978807091713E-013 -7.072753906250000E+000 2.384497546036913E-002 2.760173237018315E-001
1.818989403545857E-013 -7.070312500000000E+000 1.068172283975526E-002 2.232315499857648E+000
9.094947017729283E-014 -7.070312500000000E+000 1.068172283975526E-002 1.000000000000000E+000

42
Tabela 2.2: Aproximação por diferenças finitas regressivas para f ′ ( π4 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -6.706029729039891E+000 5.162418075146140E+000
5.000000000000000E-002 -6.891382031986044E+000 2.541140668710772E+000 2.031535734605850E+000
2.500000000000000E-002 -6.981947521134764E+000 1.260351238340046E+000 2.016216266869859E+000
1.250000000000000E-002 -7.026690072530926E+000 6.275960083437721E-001 2.008220609411008E+000
6.250000000000000E-003 -7.048924761376014E+000 3.131500231450712E-001 2.004138470246988E+000
3.125000000000000E-003 -7.060007768507148E+000 1.564126331777958E-001 2.002076282349333E+000
1.562500000000000E-003 -7.065540664036689E+000 7.816567420709453E-002 2.001039903569326E+000
7.812500000000000E-004 -7.068304956835618E+000 3.907267054093649E-002 2.000520392513234E+000
3.906250000000000E-004 -7.069686564123003E+000 1.953379290400106E-002 2.000260304435466E+000
1.953125000000000E-004 -7.070377232944338E+000 9.766260761601366E-003 2.000130180918712E+000
9.765625000000001E-005 -7.070722533644585E+000 4.882971427748949E-003 2.000065105050925E+000
4.882812500000000E-005 -7.070895175565966E+000 2.441445961237345E-003 2.000032564830646E+000
2.441406250000000E-005 -7.070981494398438E+000 1.220713325523509E-003 2.000015818775730E+000
1.220703125000000E-005 -7.071024653341738E+000 6.103536960092500E-004 2.000009721420625E+000
6.103515625000000E-006 -7.071046232595108E+000 3.051769681795018E-004 1.999999212424991E+000
3.051757812500000E-006 -7.071057022258174E+000 1.525880897767308E-004 2.000005168332872E+000
1.525878906250000E-006 -7.071062416653149E+000 7.629982443010767E-005 1.999848504455012E+000
7.629394531250000E-007 -7.071065114578232E+000 3.814540199885887E-005 2.000236474959425E+000
3.814697265625000E-007 -7.071066463831812E+000 1.906407488005958E-005 2.000904960710040E+000
1.907348632812500E-007 -7.071067136712372E+000 9.548106739709283E-006 1.996634034344701E+000
9.536743164062501E-008 -7.071067476645112E+000 4.740731831435431E-006 2.014057550439051E+000
4.768371582031250E-008 -7.071067653596401E+000 2.238262701101098E-006 2.118040848870537E+000
2.384185791015625E-008 -7.071067728102207E+000 1.184591488328747E-006 1.889480654853344E+000
1.192092895507813E-008 -7.071067765355110E+000 6.577558819425716E-007 1.800959171707070E+000
5.960464477539063E-009 -7.071067690849304E+000 1.711427094714922E-006 3.843318152282356E-001
2.980232238769531E-009 -7.071067988872528E+000 2.503257756374481E-006 6.836799328222663E-001
1.490116119384766E-009 -7.071067690849304E+000 1.711427094714922E-006 1.462672739087058E+000
7.450580596923829E-010 -7.071067094802856E+000 1.014079679689373E-005 1.687665307758811E-001
3.725290298461914E-010 -7.071068286895752E+000 6.717942607463884E-006 1.509509293161708E+000
1.862645149230957E-010 -7.071070671081543E+000 4.043542141617911E-005 1.661400418786259E-001
9.313225746154786E-011 -7.071065902709961E+000 2.699953620125135E-005 1.497633926552600E+000
4.656612873077393E-011 -7.071056365966797E+000 1.618694514361123E-004 1.667982189456403E-001
2.328306436538696E-011 -7.071075439453125E+000 1.078703790336096E-004 1.500592218978651E+000
1.164153218269348E-011 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
5.820766091346741E-012 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
2.910383045673371E-012 -7.070922851562500E+000 2.050048264724165E-003 5.261845825279805E-002
1.455191522836685E-012 -7.070922851562500E+000 2.050048264724165E-003 1.000000000000000E+000
7.275957614183426E-013 -7.071533203125000E+000 6.581626310306933E-003 3.114805016373774E-001
3.637978807091713E-013 -7.070312500000000E+000 1.068172283975526E-002 6.161577499288242E-001
1.818989403545857E-013 -7.070312500000000E+000 1.068172283975526E-002 1.000000000000000E+000
9.094947017729283E-014 -7.070312500000000E+000 1.068172283975526E-002 1.000000000000000E+000

43
Tabela 2.3: Aproximação por diferenças finitas centrais para f ′ ( π4 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -7.059288589999411E+000 1.665833531718936E-001
5.000000000000000E-002 -7.068121901873399E+000 4.166145864324141E-002 3.998500258917790E+000
2.500000000000000E-002 -7.070331265319201E+000 1.041634115059561E-002 3.999625016204389E+000
1.250000000000000E-002 -7.070883670913126E+000 2.604146321994357E-003 3.999906250512978E+000
6.250000000000000E-003 -7.071021776357611E+000 6.510403957133575E-004 3.999976559274704E+000
3.125000000000000E-003 -7.071056302971783E+000 1.627603354627683E-004 3.999994186926975E+000
1.562500000000000E-003 -7.071064934640958E+000 4.069009933110279E-005 3.999998479688084E+000
7.812500000000000E-004 -7.071067092559247E+000 1.017252623015799E-005 3.999999450526937E+000
3.906250000000000E-004 -7.071067632037966E+000 2.543145013231867E-006 3.999978836138245E+000
1.953125000000000E-004 -7.071067766910346E+000 6.357615243517425E-007 4.000155586365498E+000
9.765625000000001E-005 -7.071067800629862E+000 1.588955549482402E-007 4.001128442887153E+000
4.882812500000000E-005 -7.071067809056331E+000 3.972729583769540E-008 3.999656951165339E+000
2.441406250000000E-005 -7.071067811157263E+000 1.001561979394380E-008 3.966533939488948E+000
1.220703125000000E-005 -7.071067811702960E+000 2.298301341021310E-009 4.357835769913923E+000
6.103515625000000E-006 -7.071067811848479E+000 2.403497535753123E-010 9.562320355369739E+000
3.051757812500000E-006 -7.071067811775720E+000 1.269325547298311E-009 1.893523328880313E-001
1.525878906250000E-006 -7.071067811630201E+000 3.327277134744309E-009 3.814907793654089E-001
7.629394531250000E-007 -7.071067811921239E+000 7.886260401476866E-010 4.219080990682488E+000
3.814697265625000E-007 -7.071067811921239E+000 7.886260401476866E-010 1.000000000000000E+000
1.907348632812500E-007 -7.071067811921239E+000 7.886260401476866E-010 1.000000000000000E+000
9.536743164062501E-008 -7.071067811921239E+000 7.886260401476866E-010 1.000000000000000E+000
4.768371582031250E-008 -7.071067821234465E+000 1.324975276366915E-007 5.952005703156218E-003
2.384185791015625E-008 -7.071067821234465E+000 1.324975276366915E-007 1.000000000000000E+000
1.192092895507813E-008 -7.071067802608013E+000 1.309202755563962E-007 1.012047424079977E+000
5.960464477539063E-009 -7.071067765355110E+000 6.577558819425716E-007 1.990408282929301E-001
2.980232238769531E-009 -7.071067988872528E+000 2.503257756374481E-006 2.627599496166998E-001
1.490116119384766E-009 -7.071067690849304E+000 1.711427094714922E-006 1.462672739087058E+000
7.450580596923829E-010 -7.071067094802856E+000 1.014079679689373E-005 1.687665307758811E-001
3.725290298461914E-010 -7.071068286895752E+000 6.717942607463884E-006 1.509509293161708E+000
1.862645149230957E-010 -7.071070671081543E+000 4.043542141617911E-005 1.661400418786259E-001
9.313225746154786E-011 -7.071065902709961E+000 2.699953620125135E-005 1.497633926552600E+000
4.656612873077393E-011 -7.071056365966797E+000 1.618694514361123E-004 1.667982189456403E-001
2.328306436538696E-011 -7.071075439453125E+000 1.078703790336096E-004 1.500592218978651E+000
1.164153218269348E-011 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
5.820766091346741E-012 -7.071075439453125E+000 1.078703790336096E-004 1.000000000000000E+000
2.910383045673371E-012 -7.070922851562500E+000 2.050048264724165E-003 5.261845825279805E-002
1.455191522836685E-012 -7.070922851562500E+000 2.050048264724165E-003 1.000000000000000E+000
7.275957614183426E-013 -7.071533203125000E+000 6.581626310306933E-003 3.114805016373774E-001
3.637978807091713E-013 -7.071533203125000E+000 6.581626310306933E-003 1.000000000000000E+000
1.818989403545857E-013 -7.070312500000000E+000 1.068172283975526E-002 6.161577499288242E-001
9.094947017729283E-014 -7.070312500000000E+000 1.068172283975526E-002 1.000000000000000E+000

44
Figura 2.2: Valor de ER% em função do espaçamento ∆x, no cálculo de f ′ ( π4 ) por DFP,
DFR e DFC.

45
Tabela 2.4: Aproximação por diferenças finitas progressivas para f ′ ( π6 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -5.424322810575202E+000 8.486456211504015E+000
5.000000000000000E-002 -5.214378176282786E+000 4.287563525655695E+000 1.979319060982586E+000
2.500000000000000E-002 -5.107726720346761E+000 2.154534406935209E+000 1.990018591420263E+000
1.250000000000000E-002 -5.053995675650782E+000 1.079913513015622E+000 1.995099034290944E+000
6.250000000000000E-003 -5.027030653751865E+000 5.406130750372816E-001 1.997571947258489E+000
3.125000000000000E-003 -5.013523497905226E+000 2.704699581044955E-001 1.998791580499365E+000
1.562500000000000E-003 -5.006763787584987E+000 1.352757516997194E-001 1.999397192076787E+000
7.812500000000000E-004 -5.003382402933312E+000 6.764805866621869E-002 1.999698947270335E+000
3.906250000000000E-004 -5.001691328684501E+000 3.382657369000341E-002 1.999849564610511E+000
1.953125000000000E-004 -5.000845696140459E+000 1.691392280916304E-002 1.999924799921519E+000
9.765625000000001E-005 -5.000422856010118E+000 8.457120202347566E-003 1.999962446373648E+000
4.882812500000000E-005 -5.000211429978663E+000 4.228599573234958E-003 1.999981330906135E+000
2.441406250000000E-005 -5.000105715444079E+000 2.114308881555615E-003 1.999991396774411E+000
1.220703125000000E-005 -5.000052857794799E+000 1.057155895960449E-003 1.999997246985716E+000
6.103515625000000E-006 -5.000026428897400E+000 5.285779479713425E-004 2.000000000033607E+000
3.051757812500000E-006 -5.000013214303181E+000 2.642860635937438E-004 2.000022024558449E+000
1.525878906250000E-006 -5.000006606569514E+000 1.321313902558074E-004 2.000176211588207E+000
7.629394531250000E-007 -5.000003303866833E+000 6.607733665120462E-005 1.999647639451258E+000
3.814697265625000E-007 -5.000001648440957E+000 3.296881912362436E-005 2.004237288676675E+000
1.907348632812500E-007 -5.000000819563866E+000 1.639127729546885E-005 2.011363637459672E+000
9.536743164062501E-008 -5.000000409781933E+000 8.195638638852641E-006 2.000000002167442E+000
4.768371582031250E-008 -5.000000186264515E+000 3.725290280698345E-006 2.200000005722046E+000
2.384185791015625E-008 -5.000000074505806E+000 1.490116101621197E-006 2.500000017881393E+000
1.192092895507813E-008 -5.000000000000000E+000 1.776356839400250E-014 8.388607900000000E+007
5.960464477539063E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.980232238769531E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.490116119384766E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
7.450580596923829E-010 -4.999997615814209E+000 4.768371583807606E-005 3.725290297074135E-010
3.725290298461914E-010 -5.000000000000000E+000 1.776356839400250E-014 2.684354561000000E+009
1.862645149230957E-010 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
9.313225746154786E-011 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
4.656612873077393E-011 -4.999961853027344E+000 7.629394531427635E-004 2.328306436484486E-011
2.328306436538696E-011 -5.000000000000000E+000 1.776356839400250E-014 4.294967296100000E+010
1.164153218269348E-011 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
5.820766091346741E-012 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.910383045673371E-012 -4.999389648437500E+000 1.220703125001776E-002 1.455191522834568E-012
1.455191522836685E-012 -5.000000000000000E+000 1.776356839400250E-014 6.871947673610000E+011
7.275957614183426E-013 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
3.637978807091713E-013 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.818989403545857E-013 -4.990234375000000E+000 1.953125000000177E-001 9.094947017728455E-014
9.094947017729283E-014 -5.000000000000000E+000 1.776356839400250E-014 1.099511627776100E+013

46
Tabela 2.5: Aproximação por diferenças finitas regressivas para f ′ ( π6 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -4.559018854107606E+000 8.819622917847896E+000
5.000000000000000E-002 -4.781455677852904E+000 4.370886442941941E+000 2.017811039701049E+000
2.500000000000000E-002 -4.891231645538170E+000 2.175367089236619E+000 2.009263845430232E+000
1.250000000000000E-002 -4.945743909717066E+000 1.085121805658691E+000 2.004721569405867E+000
6.250000000000000E-003 -4.972904242208642E+000 5.419151558271728E-001 2.002383203330739E+000
3.125000000000000E-003 -4.986460226061240E+000 2.707954787752164E-001 2.001197207125489E+000
1.562500000000000E-003 -4.993232143405066E+000 1.353571318986901E-001 2.000600005161878E+000
7.812500000000000E-004 -4.996616579812780E+000 6.766840374440973E-002 2.000300353026612E+000
3.906250000000000E-004 -4.998308416998043E+000 3.383166003915860E-002 2.000150263572247E+000
1.953125000000000E-004 -4.999154240285861E+000 1.691519428279164E-002 2.000075167541919E+000
9.765625000000001E-005 -4.999577128091914E+000 8.457438161730833E-003 2.000037595229654E+000
4.882812500000000E-005 -4.999788566055941E+000 4.228678881208480E-003 2.000019012868116E+000
2.441406250000000E-005 -4.999894283537287E+000 2.114329254272462E-003 2.000009635520823E+000
1.220703125000000E-005 -4.999947141914163E+000 1.057161716762067E-003 2.000005506015055E+000
6.103515625000000E-006 -4.999973571102601E+000 5.285779480068696E-004 2.000011012090742E+000
3.051757812500000E-006 -4.999986785696819E+000 2.642860636292709E-004 2.000022024424019E+000
1.525878906250000E-006 -4.999993393430486E+000 1.321313902913346E-004 2.000176211319282E+000
7.629394531250000E-007 -4.999996698461473E+000 6.603077055800098E-005 2.001057827657353E+000
3.814697265625000E-007 -4.999998351559043E+000 3.296881915915150E-005 2.002824858216741E+000
1.907348632812500E-007 -4.999999180436134E+000 1.639127733099599E-005 2.011363635267601E+000
9.536743164062501E-008 -4.999999590218067E+000 8.195638674379778E-006 1.999999997832558E+000
4.768371582031250E-008 -4.999999813735485E+000 3.725290316225482E-006 2.199999994277954E+000
2.384185791015625E-008 -4.999999925494194E+000 1.490116137148334E-006 2.499999982118607E+000
1.192092895507813E-008 -5.000000000000000E+000 1.776356839400250E-014 8.388608099999999E+007
5.960464477539063E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.980232238769531E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.490116119384766E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
7.450580596923829E-010 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
3.725290298461914E-010 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.862645149230957E-010 -5.000009536743164E+000 1.907348632634864E-004 9.313225747022147E-011
9.313225746154786E-011 -5.000000000000000E+000 1.776356839400250E-014 1.073741823900000E+010
4.656612873077393E-011 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.328306436538696E-011 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.164153218269348E-011 -5.000152587890625E+000 3.051757812482236E-003 5.820766091380622E-012
5.820766091346741E-012 -5.000000000000000E+000 1.776356839400250E-014 1.717986918390000E+011
2.910383045673371E-012 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.455191522836685E-012 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
7.275957614183426E-013 -5.002441406250000E+000 4.882812499998223E-002 3.637978807093036E-013
3.637978807091713E-013 -5.000000000000000E+000 1.776356839400250E-014 2.748779069439000E+012
1.818989403545857E-013 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
9.094947017729283E-014 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000

47
Tabela 2.6: Aproximação por diferenças finitas centrais para f ′ ( π6 ).
∆x Calculado ER% Quociente do ER%
1.000000000000000E-001 -4.991670832341404E+000 1.665833531719407E-001
5.000000000000000E-002 -4.997916927067845E+000 4.166145864312298E-002 3.998500258930288E+000
2.500000000000000E-002 -4.999479182942466E+000 1.041634115070522E-002 3.999625016150931E+000
1.250000000000000E-002 -4.999869792683924E+000 2.604146321534273E-003 3.999906251261747E+000
6.250000000000000E-003 -4.999967447980254E+000 6.510403949455678E-004 3.999976563285294E+000
3.125000000000000E-003 -4.999991861983233E+000 1.627603353604456E-004 3.999994184724352E+000
1.562500000000000E-003 -4.999997965495027E+000 4.069009948537427E-005 3.999998462007903E+000
7.812500000000000E-004 -4.999999491373046E+000 1.017253909552096E-005 3.999994406833040E+000
3.906250000000000E-004 -4.999999872841272E+000 2.543174577596119E-006 3.999937395228421E+000
1.953125000000000E-004 -4.999999968213160E+000 6.357368143028451E-007 4.000357569956032E+000
9.765625000000001E-005 -4.999999992051016E+000 1.589796916334762E-007 3.998855500163636E+000
4.882812500000000E-005 -4.999999998017302E+000 3.965398676086806E-008 4.009172963924095E+000
2.441406250000000E-005 -4.999999999490683E+000 1.018635842342519E-008 3.892852098123434E+000
1.220703125000000E-005 -4.999999999854481E+000 2.910400809241764E-009 3.499984741304069E+000
6.103515625000000E-006 -5.000000000000000E+000 1.776356839400250E-014 1.638410000000000E+005
3.051757812500000E-006 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.525878906250000E-006 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
7.629394531250000E-007 -5.000000001164153E+000 2.328304660181857E-008 7.629400352020533E-007
3.814697265625000E-007 -5.000000000000000E+000 1.776356839400250E-014 1.310719000000000E+006
1.907348632812500E-007 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
9.536743164062501E-008 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
4.768371582031250E-008 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.384185791015625E-008 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.192092895507813E-008 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
5.960464477539063E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
2.980232238769531E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
1.490116119384766E-009 -5.000000000000000E+000 1.776356839400250E-014 1.000000000000000E+000
7.450580596923829E-010 -4.999998807907105E+000 2.384185792791981E-005 7.450580591372714E-010
3.725290298461914E-010 -5.000000000000000E+000 1.776356839400250E-014 1.342177281000000E+009
1.862645149230957E-010 -5.000004768371582E+000 9.536743162286142E-005 1.862645149577902E-010
9.313225746154786E-011 -5.000000000000000E+000 1.776356839400250E-014 5.368709119000000E+009
4.656612873077393E-011 -4.999980926513672E+000 3.814697265802635E-004 4.656612872860553E-011
2.328306436538696E-011 -5.000000000000000E+000 1.776356839400250E-014 2.147483648100000E+010
1.164153218269348E-011 -5.000076293945313E+000 1.525878906232236E-003 1.164153218282901E-011
5.820766091346741E-012 -5.000000000000000E+000 1.776356839400250E-014 8.589934591900000E+010
2.910383045673371E-012 -4.999694824218750E+000 6.103515625017762E-003 2.910383045664900E-012
1.455191522836685E-012 -5.000000000000000E+000 1.776356839400250E-014 3.435973836809999E+011
7.275957614183426E-013 -5.001220703125000E+000 2.441406249998223E-002 7.275957614188719E-013
3.637978807091713E-013 -5.000000000000000E+000 1.776356839400250E-014 1.374389534719000E+012
1.818989403545857E-013 -4.995117187500000E+000 9.765625000001774E-002 1.818989403545526E-013
9.094947017729283E-014 -5.000000000000000E+000 1.776356839400250E-014 5.497558138880999E+012

48
Figura 2.3: Valor de ER% em função do espaçamento ∆x, no cálculo de f ′ ( π6 ) por DFP,
DFR e DFC.

49
Os resultados apresentados nas Tabelas 2.1, 2.2 e 2.3 e na Figura 2.2, mostram que as
aproximações melhoram a medida que reduzimos ∆x. No entanto, para valores muito
pequenos de ∆x, temos uma oscilação do erro relativo percentual. Isto se deve ao fato
de que ocorrem erros de arredondamento nos cálculos, devido a aritmética de Ponto Flu-
tuante (número finito de dı́gitos na mantissa). Neste caso, além dos erros inerentes ao
método, temos os erros de arredondamento de máquina, os quais começam a dominar o
erro local de truncamento da série. Logo, para valores muito pequenos de ∆x o erro de
arredondamento de máquina torna-se significativo fazendo com que o erro relativo per-
centual efetivamente aumente. Observe que podemos concluir o mesmo analizando as
Tabelas 2.4, 2.5 e 2.6 e a Figura 2.3.

2.2 Derivadas de ordem superior


As derivadas de ordem superior também podem ser aproximadas por fórmulas de dife-
renças, as quais também podem ser obtidas através das séries de Taylor ou do emprego
das expressões anteriores.

As equações (7.-12) e (2.7) podem, por exemplo, ser somadas, resultando em:

(∆x)2 d2 f (∆x)4 d4 f
f (xi + ∆x) + f (xi − ∆x) = 2f (xi ) + 2 +2 + ... (2.11)
2! dx2 x=xi 4! dx4 x=xi

d2 f
Isolando dx2
, obtemos:

d2 f f (xi + ∆x) − 2f (xi ) + f (xi − ∆x) (∆x)2 d4 f
= − − ... (2.12)
dx2 x=xi ∆x2 12 dx4 x=xi

Note que, a aproximação para a derivada de ordem dois é uma aproximação do tipo
diferença central e o erro cometido é O(∆x2 ) quando se faz:

d2 f f (xi + ∆x) − 2f (xi ) + f (xi − ∆x)
2
≈ (2.13)
dx x=xi
∆x2

2.3 Derivadas Parciais


Todas as expressões mostradas até aqui valem também para funções de mais de uma

variável. Supondo f = f (x, y), uma aproximação de O(∆x2 ) para ∂f
∂x x ,y
é dada por
i j


∂f fi+1,j − fi−1,j
= + O(∆x2 ),
∂x xi ,yj
2∆x

onde o ı́ndice j está associado à coordenada y (ver Figura 2.4).

50
Figura 2.4: Região bidimensional.

A partir da expansão em série de Taylor de f (x, y) em torno do ponto (xi , yi ), dada por

∂f ∂f (∆x)2 ∂ 2 f
f (xi + ∆x, yi + ∆y) = f (xi , yi ) + (∆x) + (∆y) + +
∂x i,j ∂y i,j 2! ∂x2 i,j

(∆x)(∆y) ∂ 2 f (∆y)2 ∂ 2 f
2 + + ... (2.14)
2! ∂x∂y i,j 2! ∂y 2 i,j

podemos determinar expressões envolvendo derivadas mistas.

2.4 Exercı́cios
1. Manipule as expansões

∂f (α∆x)2 ∂ 2 f
f (xi − α∆x) = f (xi ) − (α∆x) + + O(∆x)3 (2.15)
∂x i 2! ∂x2 i

∂f (β∆x)2 ∂ 2 f
f (xi + β∆x) = f (xi ) + (β∆x) + + O(∆x)3 (2.16)
∂x i 2! ∂x2 i

para obter a relação



∂f α2 fi+1 − β 2 fi−1 + (β 2 − α2 )fi
= + O(∆x)2 . (2.17)
∂x i (αβ 2 + α2 β)∆x

   
∂ ∂f ∂ ∂f
2. Mostre que as aproximações de diferenças centrais para e são
∂x ∂y ∂y ∂x
idênticas.

3. Utilizando os quatro pontos igualmente espaçados xi−2 , xi−1 , xi e xi+1 , encontre


∂3f
uma aproximação para no ponto de grade i. Qual a ordem dessa aproximação?
∂x3

51
Anexo 2.1 - Diferenças Progressiva, Regressiva e Cen-
tral
Program Derivadas
!-------------------------------------------------------------------------------------------------------------
! Este programa calcula a derivada de uma funç~
ao f=f(x) em um ponto x=x0 utilizando diferença progressiva,
! regressiva e central.
!-------------------------------------------------------------------------------------------------------------

! Declaraç~
ao de variáveis
Implicit None
Double Precision:: x0, Pi, deltax, DFP, DFR, DFC, Exato
Double Precision:: ErroDFP, ErroDFR, ErroDFC
Integer:: i

! DFP representa a derivada utilizando diferença finita progressiva;


! DFR representa a derivada utilizando diferença finita regressiva;
! DFC representa a derivada utilizando diferença finita central;
! ErroDFP, ErroDFR e ErroDFC representam os erros relativos percentuais
! calculados para as aproximaç~
oes da derivada por diferenças finitas
! progressiva, regressiva e central, respectivamente.
! O valor exato da derivada no ponto x=x0.

!-------------------------------------------------------------------------------------------------------------
! Declarando o ponto onde se quer calcular a derivada e o valor exato da derivada no ponto:
!-------------------------------------------------------------------------------------------------------------
Pi=acos(-1.0d0)
x0=Pi/4.0d0
Exato=-10.0*sin(x0)
!-------------------------------------------------------------------------------------------------------------
! Criando os arquivos para escrever os dados
!-------------------------------------------------------------------------------------------------------------
Open(9,File=’DifProg.txt’)
Open(10,File=’DifReg.txt’)
Open(11,File=’DifCen.txt’)
!-------------------------------------------------------------------------------------------------------------
! Calculando as derivadas
!-------------------------------------------------------------------------------------------------------------
Do i=1,41
deltax=(0.1)/(2.0**(i-1))

DFP=(Funcao(x0+deltax)-Funcao(x0))/deltax
ErroDFP=dabs((Exato-DFP)/Exato)*100.0d0
Write(9,*) deltax, ErroDFP

DFR=(Funcao(x0)-Funcao(x0-deltax))/deltax
ErroDFR=dabs((Exato-DFR)/Exato)*100.0d0
Write(10,*) deltax, ErroDFR

DFC=(Funcao(x0+deltax)-Funcao(x0-deltax))/(2.0d0*deltax)
ErroDFC=dabs((Exato-DFC)/Exato)*100.0d0
Write(11,*) deltax, ErroDFC
End Do

Contains
!-------------------------------------------------------------------------------------------------------------
Double Precision Function Funcao(a)
! Esta funç~
ao retorna o valor da funç~
ao f no ponto (a).
Double Precision:: a
Funcao=10.0d0*dcos(a)
End Function Funcao
!-------------------------------------------------------------------------------------------------------------
End Program

52
Anexo 2.2 - Soluções dos exercı́cios propostos
Solução da questão 1: Considere os três pontos mostrados na figura a seguir, que têm
espaçamentos xi+1 − xi = β∆x e xi − xi−1 = α∆x, com 0 < α, β < 1, α 6= β e ∆x um
espaçamento de referência.

Figura 2.5: Pontos com espaçamento não-uniforme.

∂f
Queremos determinar no ponto xi , em função do valor de f nos pontos xi−1 , xi e xi+1 .
∂x

Combinando-se adequadamente as equações (2.15) e (5.17), podemos obter uma expressão


para a primeira derivada de f . Assim, multiplicando (2.15) por β 2 e (5.17) por α2 ,
obtemos:


2 2 2 ∂f (αβ∆x)2 ∂ 2 f
β f (xi − α∆x) = β f (xi ) − (αβ ∆x) + + O(∆x)3 , (2.18)
∂x i 2! ∂x2 i

∂f (αβ∆x)2 ∂ 2 f
α2 f (xi + β∆x) = α2 f (xi ) + (α2 β∆x) + + O(∆x)3 . (2.19)
∂x i 2! ∂x2 i

Subtraindo-se a equação (2.18) de (2.19), obtemos:



2 2 2 2 2 ∂f
2 3
α f (xi + β∆x) − β f (xi − α∆x) = (α − β )f (xi ) + (α β + αβ )∆x + O(∆x)(2.20)
.
∂x i

Isolando a primeira derivada em (2.20), temos:



∂f α2 f (xi + β∆x) − β 2 f (xi − α∆x) − (α2 − β 2 )f (xi )
= + O(∆x)2 .
∂x i (α2 β + αβ 2 )∆x

Para simplificar a notação escreveremos fi para f (xi ), fi+1 para f (xi+1 ) = f (xi + β∆x) e
fi−1 para f (xi−1 ) = f (xi − α∆x).

Portanto, a equação anterior pode ser reescrita como:



∂f α2 fi+1 + (β 2 − α2 )fi − β 2 fi−1
= + O(∆x)2 , (2.21)
∂x i (α2 β + αβ 2 )∆x

∂f
a qual representa a expressão para de O(∆x)2 , para grades não-uniformes.
∂x i

Note que, quando α = β temos espaçamento uniforme. Em particular, quando α = β = 1,


o espaçamento entre os pontos é ∆x. Neste caso, a equação anterior pode ser reescrita
como
∂f fi+1 − fi−1
= + O(∆x)2 ,
∂x i 2∆x

53

∂f
a qual representa a aproximação para , utilizando diferença finita central de O(∆x)2
∂x i
para grades uniformes.

 
∂ ∂f
Solução da questão 2: Inicialmente determinaremos a expressão que aproxima .
∂x ∂y
Para tanto, consideremos os pontos (xi , yj±1), (xi±1 , yj+1) e (xi±1 , yj−1), com xi+1 − xi =
xi − xi−1 = ∆x e yj+1 − yj = yj − yj−1 = ∆y.

Assim, aproximando-se o termo entre parênteses por diferenças finitas centrais, temos:
   
∂ ∂f ∂ f (xi , yj+1) − f (xi , yj−1)
= + O(∆y)2.
∂x ∂y i,j ∂x 2∆y


Aplicando o operador aos pontos (xi , yj±1), obtemos:
∂x
  !
∂ ∂f 1 ∂f ∂f
= − + O(∆y)2.
∂x ∂y i,j 2∆y ∂x i,j+1 ∂x i,j−1

Aproximando as derivadas que aparecem na equação anterior por diferenças centrais,


temos:
   
∂ ∂f 1 f (xi+1 , yj+1) − f (xi−1 , yj+1) f (xi+1 , yj−1) − f (xi−1 , yj−1)
= − +
∂x ∂y i,j 2∆y 2∆x 2∆x
+ O(∆y)2 + O(∆x)2 . (2.22)

Assim, fazendo-se f (xi+1 , yj+1) = fi+1,j+1, f (xi−1 , yj+1) = fi−1,j+1 , f (xi+1 , yj−1) = fi+1,j−1
e f (xi−1 , yj−1) = fi−1,j−1, temos:
 
∂ ∂f fi+1,j+1 − fi−1,j+1 − fi+1,j−1 + fi−1,j−1
= + O[(∆x)2 , (∆y)2 ]. (2.23)
∂x ∂y i,j 4(∆x)(∆y)
 
∂ ∂f
Vamos, agora, determinar uma aproximação para . Assim, consideremos os
∂y ∂x
pontos (xi±1 , yj ), (xi+1 , yj±1) e (xi−1 , yj±1), com xi+1 − xi = xi − xi−1 = ∆x e yj+1 − yj =
yj − yj−1 = ∆y.

Logo, aproximando-se o termo entre parênteses por diferenças finitas centrais, temos:
   
∂ ∂f ∂ f (xi+1 , yj ) − f (xi−1 , yj )
= + O(∆x)2 .
∂y ∂x i,j ∂y 2∆x


Aplicando o operador aos pontos (xi±1 , yj ), obtemos:
∂y
  !
∂ ∂f 1 ∂f ∂f
= − + O(∆x)2 .
∂y ∂x i,j 2∆x
∂y i+1,j
∂y i−1,j

54
Aproximando as derivadas que aparecem na equação anterior por diferenças centrais,
temos:
   
∂ ∂f 1 f (xi+1 , yj+1) − f (xi+1 , yj−1) f (xi−1 , yj+1) − f (xi−1 , yj−1)
= − +
∂y ∂x i,j 2∆x 2∆y 2∆y
+ O(∆x)2 + O(∆y)2. (2.24)
Assim, fazendo-se f (xi+1 , yj+1) = fi+1,j+1, f (xi+1 , yj−1) = fi+1,j−1 , f (xi−1 , yj+1) = fi−1,j+1
e f (xi−1 , yj−1) = fi−1,j−1, temos:
 
∂ ∂f fi+1,j+1 − fi+1,j−1 − fi−1,j+1 + fi−1,j−1
= + O[(∆x)2 , (∆y)2]. (2.25)
∂y ∂x i,j 4(∆x)(∆y)
 
∂ ∂f
Comparando as expressões (2.23) e (2.25), concluı́mos que as expressões para
  ∂x ∂y
∂ ∂f
e , utilizando diferença finita central, são idênticas.
∂y ∂x

Solução da questão 3: Consideremos os quatro pontos igualmente espaçados xi−2 , xi−1 , xi


∂3f
e xi+1 , e ∆x o espaçamento de referência. Devemos determinar no ponto xi . Assim,
∂x3
sabendo que
 
∂3f ∂ ∂2f
= ,
∂x3 ∂x ∂x2
aproximando-se o termo entre parênteses por diferenças finitas centrais, temos:
 
∂ 3 f ∂ f (xi+1 ) − 2f (xi ) + f (xi−1 )
3
= 2
+ O(∆x)2 .
∂x
i ∂x ∆x

Aplicando o operador derivada aos pontos, xi+1 , xi e xi−1 , temos:
∂x
 
∂ 3 f 1 ∂f ∂f ∂f
= −2 + + O(∆x)2 .
∂x3 i (∆x)2 ∂x i+1 ∂x i ∂x i−1
Devemos aproximar as derivadas da equação anterior por diferenças finitas. Note que não
∂f
podemos utilizar diferenças finitas centrais e nem progressivas para calcular , pois
∂x i+1
precisarı́amos do ponto xi+2 que está fora do domı́nio do problema. Assim, utilizando-se
diferenças finitas regressivas para aproximar as derivadas, temos:
 
∂ 3 f 1 f (xi+1 ) − f (xi ) f (xi ) − f (xi−1 ) f (xi−1 ) − f (xi−2 )
= −2· + +
∂x3 i (∆x)2 ∆x ∆x ∆x
+ O(∆x) + O(∆x)2 .
Após algumas manipulações algébricas, e considerando-se f (xi+1 ) = fi+1 , f (xi ) = fi ,
f (xi−1 ) = fi−1 e f (xi−2 ) = fi−2 , a equação anterior pode ser reescrita como:

∂ 3 f fi+1 − 3fi + 3fi−1 − fi−2
3
= + O(∆x).
∂x i (∆x)3
∂3f
A expressão anterior é uma aproximação para de O(∆x).
∂x3

55
Capı́tulo 3

Sistemas Lineares

3.1 Métodos Exatos


Teorema 5 Seja A = (aij ) uma matriz quadrada de ordem n, e Ak o menor principal,
constitu?do das k primeiras linhas e k primeiras colunas de A. Assumimos que det(Ak ) 6= 0
para k = 1, 2, ..., n − 1. Então existe uma única matriz triangular inferior L = (ℓij ), com
ℓ11 = ℓ22 = ... = ℓnn = 1, e uma única matriz triangular superior U = (uij ) tal que
LU = A. Além disso, det(A) = u11 u22 ...unn .

Demonstração: Para provar este teorema utilizaremos indução sobre n.


(i) Se n = 1, temos que para A = (a11 ), os únicos L e U que satisfazem o teorema são:

L = (1) e U = (a11 ) ∴ LU = (a11 ) = A.

(ii) Consideremos por hipótese que existe a decomposição LU para uma matriz de ordem
n = k − 1, nas condições do teorema, ou seja,

Ak−1 = Lk−1 Uk−1 ,

onde Lk−1 é uma matriz triangular inferior de odem k − 1 com 1 na diagonal principal e
Uk−1 é uma matriz triangular superior de odem k − 1.

Devemos mostrar que a decomposição pode ser feita para uma matriz de ordem n = k.
Seja, A uma matriz de ordem k. Assim, A pode ser escrita como:
!
Ak−1 b
A= ,
ct akk

onde b e c ão vetores coluna, ambos com k − 1 componentes.


Note que a matriz Ak−1 é de ordem k − 1 e satisfaz as hipóteses do teorema. Utilizando
as matrizes Lk−1 e Uk−1 formamos as seguintes matrizes:
! !
Lk−1 0 Uk−1 e
L= ; U= ,
dt 1 0 ukk

onde d e e são vetores coluna, ambos com k − 1 componentes.


Assim, precisamos mostrar que existem d, e e ukk unicamente definidos, tais que Lk Uk =

56
Ak .
De fato, efetuando o produto LU e igualando a A, temos:
! !
Lk−1 Uk−1 Lk−1 e Ak−1 b
=
dt Uk−1 dt e + ukk ct akk

Lk−1 Uk−1 = Ak−1 , (3.1)


Lk−1 e = b, (3.2)
dt Uk−1 = ct , (3.3)
dt e + ukk = akk . (3.4)

Note que a equação (3.1) é válida pela hipótese de indução. Além disso, Lk−1 e Uk−1 são
não singulares, pois Ak−1 é não singular. Assim,

e = L−1
k−1 b,

dt = ct Uk−1
−1
,
ukk = akk − dt e.

Logo, e, d e ukk são determinados univocamente nesta ordem, e L e U são determinados


unicamente. Finalmente,

det(A) = det(LU) = det(L) det(U) = 1 · det(Uk−1 ) · ukk = u11 u22 ...uk−1,k−1ukk .

Corolário 1 Se A é simétrica, positiva definida, então A pode ser decomposta unicamente


no produto GGt , onde G é a matriz triangular inferior com elementos diagonais positivos.

Demonstração: Para provar este corolário utilizaremos indução sobre n.


(i) Se n = 1, temos que para A = (a11 ), os únicos G e Gt que satisfazem o corolário são:
√ √
G = ( a11 ) e Gt = ( a11 ) ∴ GGt = (a11 ) = A.

Note que, os elementos diagonais de G são a11 > 0.

(ii) Consideremos, por hipótese, que existe a decomposição GGt para uma matriz de
ordem n = k − 1, nas condições do teorema, ou seja,

Ak−1 = Gk−1 (Gk−1 )t ,

onde Gk−1 é uma matriz triangular inferior de odem k − 1, com elementos da diagonal
principal positivos e (Gk−1 )t a transposta de Gk−1 .

Devemos mostrar que a decomposição pode ser feita para uma matriz de ordem n = k.
Seja, A uma matriz simétrica definida positiva. Assim, A pode ser escrita como:
!
Ak−1 b
A= ,
bt akk

57
onde b é um vetor coluna, com k − 1 componentes.
Note que a matriz Ak−1 é de ordem k − 1 e satisfaz as hipóteses do teorema. Utilizando
as matrizes Gk−1 e (Gk−1 )t formamos as seguintes matrizes:
! !
t
Gk−1 0 (G k−1 ) c
G= ; Gt = ,
ct gkk 0 gkk

onde c é um vetor coluna, com k − 1 componentes.


Assim, precisamos mostrar que existem c e gkk unicamente definidos, tais que Gk (Gk )t =
Ak .
De fato, efetuando o produto GGt e igualando a A, temos:
! !
Gk−1 (Gk−1 )t Gk−1 c Ak−1 b
2
=
ct (Gk−1 )t ct c + gkk bt akk

Gk−1 (Gk−1)t = Ak−1 , (3.2)


Gk−1c = b, (3.3)
ct (Gk−1)t = bt , (3.4)
2
ct c + gkk = akk . (3.5)

Note que a equação (3.2) é válida pela hipótese de indução. Além disso, como Ak−1 é
definida positiva, temos que det(Ak−1 ) > 0, portanto Ak−1 é não singular, e Gk−1 e (Gk−1 )t
também são não singulares. Assim,

c = (Gk−1 )−1 b,
−1
ct = bt (Gk−1)t ,
p
gkk = akk − ct c.

Logo, c e gkk são determinados univocamente nesta ordem, e G e Gt são determinados


unicamente.

Note que, como os elementos da diagonal principal da matriz Gk−1 são positivos e gkk =

akk − ct c > 0, concluı́mos que os elementos diagonais de G são positivos.

58
Questão 01. Aplicando-se o método da decomposição LU à matriz:
 
... ... 3 ...
 4 −1 10 8 
 
A= ,
 ... −3 12 11 
0 −2 −5 10
obteve-se as matrizes:
   
... 0 ... ... . . . −1 . . . 5
 2 ... ... ...   . . . 1 . . . −2 
   
L= , U = .
 3 0 ... 0   ... 0 3 −4 
0 ... 1 ... 0 . . . 0 10
Preencher os espaços pontilhados com valores adequados.

Solução: Aplicando-se o método de decomposição LU à matriz A, obtivemos:


    
a11 a12 3 a14 ℓ11 0 ℓ13 ℓ14 u11 −1 u13 5
 4 −1 10 8    
   2 ℓ22 ℓ23 ℓ24   u21 1 u23 −2 
A = LU ∴  =  .
 a31 −3 12 11   3 0 ℓ33 0   u31 0 3 −4 
0 −2 −5 10 0 ℓ42 1 ℓ44 0 u42 0 10
Sendo L uma matriz triangular inferior com os elementos da diagonal principal unitários
e U uma matriz triangular superior, temos:
    
a11 a12 3 a14 1 0 0 0 u11 −1 u13 5
 4 −1 10 8   2 1 0 0   0 1 u23 −2 
    
 =  
 a31 −3 12 11   3 0 1 0   0 0 3 −4 
0 −2 −5 10 0 ℓ42 1 1 0 0 0 10
Efetuando o produto de L por U, obtemos:
   
a11 a12 3 a14 u11 −1 u13 5
 4 −1 10 8   2u −1 2u13 + u23 8 
   11 
 = 
 a31 −3 12 11   3u11 −3 3u13 + 3 11 
0 −2 −5 10 0 ℓ42 ℓ42 · u23 + 3 −2ℓ42 + 6
Pela igualdade de matrizes podemos escrever:
a12 = −1, a14 = 5, u13 = 3, ℓ42 = −2
2u11 = 4 ∴ u11 = 2
a11 = u11 = 2
a31 = 3u11 = 3 · 2 = 6
2u13 + u23 = 10 ∴ u23 = 10 − 2u13 = 10 − 2 · 3 = 4
Portanto, a matriz original A é dada por:
 
2 −1 3 5
 4 −1 10 8 
 
A= ,
 6 −3 12 11 
0 −2 −5 10

59
e os fatores L e U resultantes da aplicação da decomposição são:
   
1 0 0 0 2 −1 3 5
 2 1 0 0   0 1 4 −2 
   
L=  , U =  .
 3 0 1 0   0 0 3 −4 
0 −2 1 1 0 0 0 10

Questão 02. Considere o sistema:



 5x1 + 2x2 + x3 = −12

−x1 + 4x2 + 2x3 = 20

 2x − 3x + 10x = 3
1 2 3

(a) Resolva-o usando decomposição LU.

(b) Calcule o determinante de A, usando a decomposição.

Solução:

(a) A matriz  
5 2 1
 
A =  −1 4 2 
2 −3 10
dos coeficientes do sistema linear pode ser decomposta de forma única no produto LU,
onde L é uma matriz triangular inferior, com lij = 1 para i = j e U é uma matriz triangular
superior, pois A satisfaz as condições da decomposição LU, ou seja, det(Ak ) 6= 0 para
k = 1, 2, onde Ak representa o menor principal de A. Veja a seguir:
 
det(A1 ) = det 5 = 5 6= 0,
!
5 2
det(A2 ) = det = 22 6= 0.
−1 4
Assim,
    
1 0 0 u11 u12 u13 5 2 1
    
LU = A ∴  ℓ21 1 0   0 u22 u23  =  −1 4 2  .
ℓ31 ℓ32 1 0 0 u33 2 −3 10

Para determinarmos os elementos da primeira linha de U, multiplicaremos a primeira


linha de L por cada coluna de U. Assim, temos:

1 · u11 = a11 ∴ u11 = 5


1 · u12 = a12 ∴ u12 = 2
1 · u13 = a13 ∴ u13 = 1

60
Para determinarmos os elementos da primeira coluna de L, multiplicaremos a segunda e
terceira linhas de L pela primeira coluna de U. Assim, temos:
1
ℓ21 · u11 + 1 · 0 + 0 · 0 = a21 ∴ ℓ21 · 5 = −1 ∴ ℓ21 = −
5
2
ℓ31 · u11 + ℓ32 · 0 + 1 · 0 = a31 ∴ ℓ31 · 5 = 2 ∴ ℓ31 =
5

Para determinarmos os elementos da segunda linha de U, multiplicamos a segunda linha


de L pela segunda e terceira coluna de U. Assim, temos:
1 22
ℓ21 · u12 + 1 · u22 + 0 · 0 = a22 ∴ − · 2 + u22 = 4 ∴ u22 =
5 5
1 11
ℓ21 · u13 + 1 · u23 + 0 · u33 = a23 ∴ − · 1 + u23 = 2 ∴ u23 =
5 5
Para determinarmos os elementos da segunda coluna de L, multiplicaremos a terceira
linha de L pela segunda coluna de U. Assim, temos:
2 22 19
ℓ31 · u12 + ℓ32 · u22 + 1 · 0 = a32 ∴ · 2 + ℓ32 · = −3 ∴ ℓ32 = −
5 5 22
Para determinarmos os elementos da terceira linha de U, multiplicaremos a terceira linha
de L pela terceira coluna de U. Assim, temos:
 
2 19 11
ℓ31 · u13 + ℓ32 · u23 + 1 · u33 = a33 ∴ ·1+ − · + 1 · u33 = 10
5 22 5
23
∴ u33 =
2
Logo, os fatores L e U são:
   
1 0 0 5 2 1
 1   22 11 
L =  −5 1 0  e U = 0 5 5 .
2
5
− 19
22
1 0 0 23
2

Como A = LU, o sistema Ax = b pode ser reescrito como:

(LU)x = b ∴ L(Ux) = b.

Assim, fazendo-se Ux = y, resolveremos inicialmente o sistema Ly = b.


    
1 0 0 y1 −12
 1    
 −5 1 0   y2  =  20 
2
5
− 19
22
1 y3 3


 y1 = −12
1
∴ − 5 y1 + y2 = 20

 2 y − 19 y + y = 3
5 1 22 2 3

Resolvendo-se o sistema triangular anterior, obtemos:


 t
88
y = −12, , 23 .
5

61
Agora resolveremos o sistema Ux = y. Logo, temos:
    
5 2 1 x1 −12
 11     88 
 0 22
5
x
5  2 
= 5 
23
0 0 2 x3 23

 5x1 + 2x2 + x3 = −12

22
∴ 5 2
x + 11 x = 88
5 3 5

 23
2
x3 = 23
Através da retro-substituição, obtemos como solução do sistema anterior, o qual é equi-
valente ao sistema original Ax = b:

x = (−4, 3 2)t .

(b) A seguir é apresentado cálculo do determinante de A, utilizando a fatoração LU.


22 23
det(A) = det(LU) = det(L) det(U) = 1 · det(U) = u11 · u22 · u33 = 5 · · = 253.
5 2

Questão 03. Seja A, n × n, decomponı́vel em LU. Sejam Ai , i = 1, 2, ..., n, os menores


principais de ordem i. Mostre que:
∆i
uii = , i = 1, 2, ..., n,
∆i−1
onde:
∆i = det Ai , ∆n = det A e ∆0 = 1.
Solução: Neste caso, utilizaremos indução sobre n.
(i) Se n = 1, temos que para A1 = (a11 ), os únicos L e U que satisfazem o teorema da
decomposição LU são:

L = (1) e U = (a11 ) ∴ LU = (a11 ) = A1 .

Assim,
a11 ∆1
u11 = = ,
1 ∆0
onde ∆1 = det(A1 ) e ∆0 = 1.

(ii) Consideremos por hipótese que existe a decomposição LU para uma matriz de or-
dem n = k − 1, nas condições do teorema da decomposição LU, e que:
∆i
uii = , para i = 1, 2, ..., k − 1.
∆i−1

onde ∆i = det(Ai ) e ∆0 = 1.

62
Devemos mostrar que se a decomposição LU pode ser feita para uma matriz de ordem
n = k, teremos
∆i
uii = , para i = 1, 2, ..., k.
∆i−1
onde ∆i = det(Ai ), ∆k = det(A) e ∆0 = 1.

Considerando que toda a matriz A de ordem i, com i = 1, 2, ..., k, pode ser decomponı́vel
em LU, onde L é uma matriz triangular inferior de ordem i, com elementos diagonais
unitários e U é uma matriz triangular superior de ordem i, podemos escrever:

∆i = det(Ai ) = det(Li Ui ) = det(Li ) det(Ui ) = 1 · det(Ui ) = det(Ui−1 ) · uii .

Assim, considerando-se a hipótese de indução, temos ∆k−1 = ∆k−2 uk−1,k−1. Logo, para
i = k, podemos escrever:
∆k det(Uk−1 ) · ukk
=
∆k−1 ∆k−2 uk−1,k−1
det(Uk−1 ) · ukk
=
det(Uk−3 ) · uk−2,k−2 · uk−1,k−1
det(Uk−1 ) · ukk
=
det(Uk−2 ) · uk−1,k−1
det(Uk−1 ) · ukk
=
det(Uk−1 )
= ukk

Portanto, por (i) e (ii) segue o resultado, ou seja,


∆i
uii = , para i = 1, 2, ..., k.
∆i−1
onde ∆i = det(Ai ), ∆k = det(A) e ∆0 = 1, para uma matriz A que é decomponı́vel em
um produto LU.

Questão 04. Considere a matriz A, n × n, com todas as sub-matrizes principais não


singulares. Exiba as fórmulas da decomposição LU, onde L é matriz triangular inferior e
U é matriz triangular superior com 1 na diagonal.

Solução: Consideremos A, uma matriz quadrada de ordem n, com todas as submatri-


zes principais não singulares. Assim, existe uma única matriz triangular inferior L = (ℓij )
e uma única matriz triangular superior U, com u11 = u22 = ... = unn = 1, tal que LU = A.
A seguir é apresentado o esquema prático para decomposição LU.
    
a11 a12 a13 . . . a1n ℓ11 0 0 ... 0 1 u12 u13 . . . u1n
    
 a21 a22 a23 . . . a2n   ℓ21 ℓ22 0 . . . 0   0 1 u23 . . . u2n 
    
 a31 a32 a33 . . . a3n  =  ℓ31 ℓ32 ℓ33 . . . 0   0 0 1 . . . u 3n 
    
 . . .
.. .
.. .
..  . . . .
.. . . . ..  . . .
.. . . . .
  .. ..   .. .. .. 
 
 . 
an1 an2 an3 . . . ann ℓn1 ℓn2 ℓn3 . . . ℓnn 0 0 0 ... 1

63
Para determinarmos os elementos da primeira coluna de L, multiplicamos todas as linhas
de L pela primeira coluna de U. Assim, temos:

ℓ11 · 1 = a11
ℓ21 · 1 = a21
ℓ31 · 1 = a31 ∴ ℓi1 = ai1 , para i = 1, 2, ..., n
..
.
ℓn1 · 1 = an1

Para determinarmos os elementos da primeira linha de U, multiplicamos a primeira linha


de L pelas colunas de U. Assim, temos:

ℓ11 · u12 = a12


ℓ11 · u13 = a13
a1j
ℓ11 · u14 = a14 ∴ u1j = , para j = 2, 3, ..., n
ℓ11
..
.
ℓ11 · u1n = an1

Para determinarmos os elementos da segunda coluna de L, multiplicamos as linhas de L


pela segunda coluna de U. Assim, temos:

ℓ21 · u12 + ℓ22 · 1 = a22 ∴ ℓ22 = a22 − ℓ21 · u12


ℓ31 · u12 + ℓ32 · 1 = a32 ∴ ℓ32 = a32 − ℓ31 · u12
..
.
ℓn1 · u12 + ℓn2 · 1 = an2 ∴ ℓn2 = an2 − ℓn1 · u12

∴ ℓi2 = ai2 − ℓi1 · u12 , para i = 2, 3, ..., n.


Para determinarmos os elementos da segunda linha de U, multiplicamos a segunda linha
de L pelas colunas de U. Assim, temos:
a23 − ℓ21 · u13
ℓ21 · u13 + ℓ22 · u23 = a23 ∴ u23 =
ℓ22
a24 − ℓ21 · u14
ℓ21 · u14 + ℓ22 · u24 = a24 ∴ u24 =
ℓ22
..
.
a2n − ℓ21 · u1n
ℓ21 · u1n + ℓ22 · u2n = a2n ∴ u2n =
ℓ22

a2j − ℓ21 · u1j


∴ u2j = para j = 3, ..., n.
ℓ22
E assim por diante.

64
Questão 05. Resolver o sistema Ax = b, onde:
     
2 3 −1 x1 4
     
A =  1 0 2  ; x =  x2  ; b =  3  ,
0 3 −1 x3 2
usando a decomposição LU do exercı́cio 4.

Solução: Note que a matriz  


2 3 −1
 
A= 1 0 2 
0 3 −1
pode ser decomposta de forma única em um produto LU, onde L é matriz triangular
inferior e U é matriz triangular superior com 1 na diagonal, uma vez que, todas as sub-
matrizes principais são não singulares, ou seja, det(Ak ) 6= 0, para k = 1, 2.
   
det A1 = det 2 = 2 6= 0,
!
  2 3
det A2 = det = −3 6= 0.
1 0
Assim,
    
ℓ11 0 0 1 u12 u13 2 3 −1
    
LU = A ∴  ℓ21 ℓ22 0   0 1 u23  =  1 0 2 
ℓ31 ℓ32 ℓ33 0 0 1 0 3 −1
Para determinarmos os elementos da primeira coluna de L, multiplicamos todas as linhas
de L pela primeira coluna de U. Assim, temos:

ℓ11 = a11 = 2
ℓ21 = a21 = 1
ℓ31 = a31 = 0

Para determinarmos os elementos da primeira linha de U, multiplicamos a primeira linha


de L pelas segunda e terceira colunas de U. Assim, temos:
a1j
u1j = , para j = 2, 3
ℓ11
a12 3
u12 = =
ℓ11 2
a13 1
u13 = =−
ℓ11 2
Para determinarmos os elementos da segunda coluna de L, multiplicamos a segunda e a
terceira linhas de L pela segunda coluna de U. Assim, temos:

ℓi2 = ai2 − ℓi1 · u12 , para i = 2, 3


3 3
ℓ22 = a22 − ℓ21 · u12 = 0 − 1 · = −
2 2
3
ℓ32 = a32 − ℓ31 · u12 = 3 − 0 · = 3
2
65
Para determinarmos os elementos da segunda linha de U, multiplicamos a segunda linha
de L pela terceira coluna de U. Assim, temos:
a2j − ℓ21 · u1j
u2j = para j = 3
ℓ22

a23 − ℓ21 · u13 2 − 1 · − 12 5
u23 = = 3 =− .
ℓ22 −2 3

Para determinarmos os elementos da terceira coluna de L, multiplicamos a terceira linha


de L pela terceira coluna de U. Assim, temos:

ℓ31 · u13 + ℓ32 · u23 + ℓ33 · 1 = a33 ∴ ℓ33 = a33 − ℓ31 · u13 − ℓ32 · u23
   
1 5
∴ ℓ33 = −1 − 0 · − −3· −
2 5
∴ ℓ33 = 4

Logo, os fatores L e U são:


   
2 0 0 1 32 − 12
   
L =  1 − 23 0  e U =  0 1 − 53  .
0 3 4 0 0 1

Como A = LU, o sistema Ax = b pode ser reescrito como:

(LU)x = b ∴ L(Ux) = b.

Assim, fazendo-se Ux = y, resolveremos inicialmente o sistema Ly = b.


     
2 0 0 y1 4  2y1
 =4
 3     3
 1 − 2 0   y2  =  3  ∴ y1 − 2 y2 =3


0 3 4 y3 2 3y2 + 4y3 = 2

Resolvendo-se o sistema triangular acima, obtemos:


 t
2
y = 2, − , 1 .
3

Agora resolvendo o sistema Ux = y, temos:


     
1 32 − 21 x1 2 3 1
 x1 + 2 x2 − 2 x3 = 2

    
 0 1 − 53   x2  =  − 32  ∴ x2 − 53 x3 = − 32


0 0 1 x3 1 x = 1
3

Através da retro-substituição, obtemos como solução do sistema triangular anterior, o


qual é equivalente ao sistema original Ax = b:

x = (1, 1 1)t .

66
Questão 06. Mostre que se A satisfaz as hipóteses da decomposição LU, então A se
decompõe de maneira única no produto LDU, onde L e U são matrizes triangulares infe-
rior e superior, respectivamente, ambas com 1 na diagonal, e D é matriz diagonal. Além
disso, det(A) = d11 d22 ...dnn .

Solução: Para provar este teorema utilizaremos indução sobre n.


(i) Se n = 1, temos que para A = (a11 ), os únicos L, D e U que satisfazem o teorema são:
L = (1), D = (a11 ) e U = (1) ∴ LDU = (1 · a11 · 1) = (a11 ) = A.
(ii) Consideremos por hipótese que existe a decomposição LDU para uma matriz de ordem
n = k − 1, nas condições do teorema, ou seja,
Ak−1 = Lk−1 Dk−1 Uk−1 ,
onde Lk−1 é uma matriz triangular inferior de odem k − 1 com 1 na diagonal principal,
Dk−1 é uma matriz diagonal de ordem k − 1 e Uk−1 é uma matriz triangular superior de
odem k − 1, com 1 na diagonal principal.

Devemos mostrar que a decomposição pode ser feita para uma matriz de ordem n = k.
Seja, A uma matriz de ordem k. Assim, A pode ser escrita como:
!
Ak−1 b
A= ,
ct akk
onde b e c ão vetores coluna, ambos com k − 1 componentes.
Note que a matriz Ak−1 é de ordem k − 1 e satisfaz as hipóteses do teorema. Utilizando
as matrizes Lk−1 , Dk−1 e Uk−1 formamos as seguintes matrizes:
! ! !
Lk−1 0 Dk−1 0 Uk−1 f
L= ; U= , U= ,
et 1 0 dkk 0 1
onde e e f ão vetores coluna, ambos com k − 1 componentes.
Assim, precisamos mostrar que existem e, f e dkk unicamente definidos, tais que Lk Dk Uk =
Ak .
De fato, efetuando o produto LDU, temos:
! ! !
Lk−1 0 Dk−1 0 Uk−1 f
LDU =
et 1 0 dkk 0 1
! !
Lk−1 Dk−1 0 Uk−1 f
= t
e Dk−1 dkk 0 1
!
Lk−1 Dk−1 Uk−1 Lk−1 Dk−1 f
= t t
e Dk−1 Uk−1 e Dk−1 f + dkk
Igualando LDU a A, obtemos:
Lk−1 Dk−1Uk−1 = Ak−1 , (3.-55)
Lk−1 Dk−1 f = b, (3.-54)
et Dk−1 Uk−1 = ct , (3.-53)
et Dk−1 f + dkk = akk . (3.-52)

67
Note que a equação (3.-55) é válida pela hipótese de indução. Além disso, Lk−1 , Dk−1
e Uk−1 são não singulares pois Ak−1 é não singular. Assim, os produtos Lk−1 Dk−1 e
Dk−1 Uk−1 também são não singulares, e

f = (Lk−1 Dk−1 )−1 b,


et = ct (Dk−1 Uk−1 )−1 ,
dkk = akk − et Dk−1f.

Logo, e, f e dkk são determinados univocamente nesta ordem, e L, D e U são determinados


unicamente. Finalmente,

det(A) = det(LDU)
= det(L) det(D) det(U)
= (1) · (det(Dk−1 ) · dkk ) · (1)
= d11 d22 ...dk−1,k−1dkk .

Questão 07. Mostre que se A é uma matriz simétrica e satisfaz as hipóteses da decom-
posição LU, então A = LDU implica U = Lt (transposta de L).

Solução: Provamos na questão anterior que se A satisfaz as hipóteses da decomposição


LU, então A se decompõe de maneira única no produto LDU, onde L e U são matrizes
triangulares inferior e superior, respectivamente, ambas com 1 na diagonal, e D é matriz
diagonal. Assim, consideremos A uma matriz simétrica, e sabendo que qualquer matriz
diagonal é simétrica, temos:

LDU = A = At = (LDU)t = U t (LD)t = U t D t Lt = U t DLt .

Portanto, pela singularidade da fatoração LDU, temos que U = Lt .

Questão 08. Mostre que se A é uma matriz simétrica, positiva definida e satisfaz as
hipóteses da decomposição LU, então A = LDLt onde os elementos diagonais de D são
todos positivos.

Solução: Provamos na questão 6 que se A satisfaz as hipóteses da decomposição LU,


então A se decompõe de maneira única no produto LDU, onde L e U são matrizes tri-
angulares inferior e superior, respectivamente, ambas com 1 na diagonal, e D é matriz
diagonal. Além disso, pela questão 7, temos que se A é uma matriz simétrica, então
U = Lt . Assim, sendo A uma matriz simétrica, podemos escrever:

A = LDU = LDLt .

Devemos mostrar que se A, além de simétrica, for positiva definida, os elementos diagonais
de D são todos positivos. De fato, considerando um x arbitrário não nulo, se A é definida

68
positiva e fazendo-se y = Lt x, obtemos:

xt Ax > 0 ∴ xt (LDLt )x = (xt L)D(Lt x) = (Lt x)t D(Lt x) = y t Dy > 0.

Portanto, D é uma matriz diagonal definida positiva.

Sabemos que se D é uma matriz de ordem n definida positiva, temos que os determinantes
dos menores principais de D são positivos, ou seja, det(Dk ) > 0, para k = 1, 2, ..., n.
Observe que pela afirmação acima, temos:

det(D1 ) = det(d11 ) = d11 > 0,


!
d11 0
det(D2 ) = det = d11 · d22 > 0 ∴ d22 > 0,
0 d22
 
d11 0 0
 
det(D3 ) = det  0 d22 0  = d11 · d22 · d33 > 0 ∴ d33 > 0,
0 0 d33
e assim, seguindo indutivamente, conclui-se que dnn > 0.

Portanto, temos que os elementos diagonais de D são todos positivos.

Questão 09. Considere o sistema:


    
2 −3 1 x1 −5
    
 4 −6 −1   x2  =  −7  .
1 2 1 x3 4

(a) Resolva-o pelo método de Eliminação de Gauss;

(b) Calcule o determinante de A, usando a matriz triangular obtida no item (a).

Solução:
(a) A matriz ampliada associada ao sistema é dada por:
 .. 
2 −3 1 . −5
(1) (1)

A |b =  4 −6 −1 .. 
.
 . −7 
..
1 2 1 . 4
Para resolver o sistema utilizando-se o método de Eliminação de Gauss, inicialmente
eliminaremos a incógnita x1 da segunda e terceira linhas, pela diferença entre a segunda
(1)
a21
e a primeira linha multiplicada por (1) e pela diferença entre a terceira e a primeira linha
a11
(1)
a31
multiplicada por (1) . Assim,
a11

(1) (1)
a21 a31 1
(1)
=2 e (1)
= ; e
a11 a11 2

69
(1)
(2) (1) a21 (1)
a21 = a21 − (1)
· a11 = 4 − 2 · 2 = 0
a11
(1)
(2) (1) a21 (1)
a22 = a22 − (1)
· a12 = −6 − 2 · (−3) = 0
a11
(1)
(2) (1) a21 (1)
a23 = a23 − (1)
· a13 = −1 − 2 · 1 = −3
a11
(1)
(2) (1) a21 (1)
b2 = b2 − (1)
· b1 = −7 − 2 · (−5) = 3
a11
(1)
(2) (1) a31 (1) 1
a31 = a31 − (1)
· a11 = 1 − ·2=0
a11 2
(1)
(2) (1) a31 (1) 1 7
a32 = a32 − (1)
· a12 = 2 − · (−3) =
a11 2 2
(1)
(2) (1) a31 (1) 1 1
a33 = a33 − (1)
· a13 = 1 − ·1=
a11 2 2
(1)
(2) (1) a31 (1) 1 13
b3 = b3 − (1)
· b1 = 4 − · (−5) =
a11 2 2

Logo,  
..
2 −3 1 . −5
=  0 0 −3 ... 3 
 
A(2) |b(2) 
.
.. 13
0 72 1
2
. 2
Permutando-se a segunda e terceira equações da matriz acima, obtemos:
 .. 
2 −3 1 . −5
(3) (3)
A |b = 

7 1 .. 13 
 0 2 2
. 2 .
.
0 0 −3 .. 3

Assim, resolver o sistema Ax = b équivalente a resolver o sistema A(3) x = b(3) :


     
2 −3 1 x1 −5  2x1 − 3x2 + x3 = −5

 7 1    13  7
 0 2 x
2  2 
= 2  ∴ x + 12 x3 = 13
2 2 2


0 0 −3 x3 3 −3x3 = 3

Isolando-se x3 no lado esquerdo da terceira equação, obtemos: x3 = −1. A partir da


retro-substituição a solução do sistema Ax = b é dada por:

x = (1, 2, −1)t .

(b) Note que a permutação foi uma das operações elementares para obtenção da matriz
ampliada A(3) |b(3) . Assim,
   
(3) (3) (3) (3) 7
det(A) = − det(A ) = − a11 · a22 · a33 = − 2 · · (−3) = 21.
2

70
Questão 10. Verificar, usando o método de eliminação de Gauss, que o sistema:

 x1 + 2x2 + x3 = 3

2x1 + 3x2 + x3 = 5

 3x + 5x + 2x = 1
1 2 3

não tem solução.

Solução: A matriz ampliada associada ao sistema é dada por:


 . 
1 2 1 .. 3

A(1) |b(1) =  .. 
.
 2 3 1 . 5 
..
3 5 2 . 1

Para resolver o sistema utilizando-se o método de Eliminação de Gauss, inicialmente


eliminaremos a incógnita x1 da segunda e terceira linhas, pela diferença entre a segunda
(1)
a21
e a primeira linha multiplicada por (1) e pela diferença entre a terceira e a primeira linha
a11
(1)
a31
multiplicada por (1) . Assim,
a11

(1) (1)
a21 2 a31 3
(1)
= =2 e (1)
= = 3; e
a11 1 a11 1

(1)
(2) (1) a21 (1)
a21 = a21 − (1)
· a11 = 2 − 2 · 1 = 0
a11
(1)
(2) (1) a21 (1)
a22 = a22 − (1)
· a12 = 3 − 2 · 2 = −1
a11
(1)
(2) (1) a21 (1)
a23 = a23 − (1)
· a13 = 1 − 2 · 1 = −1
a11
(1)
(2) (1) a21 (1)
b2 = b2 − (1)
· b1 = 5 − 2 · 3 = −1
a11
(1)
(2) (1) a31 (1)
a31 = a31 − (1)
· a11 = 3 − 3 · 1 = 0
a11
(1)
(2) (1) a31 (1)
a32 = a32 − (1)
· a12 = 5 − 3 · 2 = −1
a11
(1)
(2) (1) a31 (1)
a33 = a33 − (1)
· a13 = 2 − 3 · 1 = −1
a11
(1)
(2) (1) a31 (1)
b3 = b3 − (1)
· b1 = 1 − 3 · 3 = −8
a11

71
Assim,  
..
1 2 1
. 3
A(2) |b(2)

= .. 
.
 0 −1 −1 . −1 
..
0 −1 −1 . −8
Agora, eliminaremos x2 da terceira linha pela diferença entre a terceira linha e a segunda
(2)
a32 −1
linha multiplicada por (2) = −1
= 1. Logo,
a22

(2)
(3) (2) a32 (2)
a32 = a32 − a = −1 − 1 · (−1) = 0
(2) 22
a22
(2)
(3) (2) a32 (2)
a33 = a33 − a = −1 − 1 · (−1) = 0
(2) 23
a22
(2)
(3) (2) a32 (2)
b3 = b3 − b = −8 − 1 · (−1) = −7
(2) 2
a22
Assim,  
..
1 2 1
. 3
 .. 
A(3) |b(3) =
 0 −1 −1 . −1 .

..
0 0 0 . −7
Portanto, resolver o sistema Ax = b é equivalente a resolver o sistema A(3) x = b(3) :
     
1 2 1 x1 3  x1 + 2x2 + x3 = 3

    
 0 −1 −1   x2  =  −1  ∴ −x2 − x3 = −1


0 0 0 x3 −7 0 = −7
Note que há uma inconsistência na terceira equação do sistema. Logo, Ax = b não admite
solução.

Questão 11. Usando o método de Eliminação de Gauss, verificar que o sistema:



 x1 + 4x2 + αx3 = 6

2x1 − x2 + 2αx3 = 3

 αx + 3x + x = 5
1 2 3

(a) possui uma única solução quando α = 0;

(b) infinitas soluções quando α = 1 e

(c) não tem solução quando α = −1.

Solução: A matriz ampliada associada ao sistema é dada por:


 . 
1 4 α .. 6

A(1) |b(1) =  .. 
.
 2 −1 2α . 3 
..
α 3 1 . 5

72
Para resolver o sistema utilizando-se o método de Eliminação de Gauss, inicialmente
eliminaremos a incógnita x1 da segunda e terceira linhas, pela diferença entre a segunda
(1)
a21
e a primeira linha multiplicada por (1) e pela diferença entre a terceira e a primeira linha
a11
(1)
a31
multiplicada por (1) . Assim,
a11

(1) (1)
a21 2 a31 α
(1)
= =2 e (1)
= = α; e
a11 1 a11 1

(1)
(2) (1) a21 (1)
a21 = a21 − (1)
· a11 = 2 − 2 · 1 = 0
a11
(1)
(2) (1) a21 (1)
a22 = a22 − (1)
· a12 = −1 − 2 · 4 = −9
a11
(1)
(2) (1) a21 (1)
a23 = a23 − (1)
· a13 = 2α − 2 · α = 0
a11
(1)
(2) (1) a21 (1)
b2 = b2 − (1)
· b1 = 3 − 2 · 6 = −9
a11
(1)
(2) (1) a31 (1)
a31 = a31 − (1)
· a11 = α − α · 1 = 0
a11
(1)
(2) (1) a31 (1)
a32 = a32 − (1)
· a12 = 3 − α · 4 = 3 − 4α
a11
(1)
(2) (1) a31 (1)
a33 = a33 − (1)
· a13 = 1 − α · α = 1 − α2
a11
(1)
(2) (1) a31 (1)
b3 = b3 − (1)
· b1 = 5 − α · 6 = 5 − 6α
a11

Assim,  
..
1 4 α . 6

A(2) |b(2) =  .. 
.
 0 −9 0 . −9 
..
0 3 − 4α 1 − α2 . 5 − 6α
Agora, eliminaremos x2 da terceira linha pela diferença entre a terceira linha e a segunda
(2)
a32 3−4α
linha multiplicada por (2) = −9
. Logo,
a22

(2)  
(3) (2) a32 (2) 3 − 4α
a32 = a32 − (2)
a22 = 3 − 4α − · (−9) = 0
a22 −9
(2)  
(3) (2) a32 (2) 2 3 − 4α
a33 = a33 − a =1−α −
(2) 23
· 0 = 1 − α2
a22 −9
(2)  
(3) (2) a32 (2) 3 − 4α
b3 = b3 − b = 5 − 6α −
(2) 2
· (−9) = 2 − 2α
a22 −9

73
Assim,  
..
1 4 α . 6

A(3) |b(3) =  .. 
.
 0 −9 0 . −9 
..
0 0 1 − α2 . 2 − 2α
Portanto, resolver o sistema Ax = b é equivalente a resolver o sistema A(3) |b(3) :
     
1 4 α x1 6  x1 + 4x2 + αx3 = 6

    
 0 −9 0   x2  =  −9  ∴ −9x2 = −9

0 0 1 − α2 x3 2 − 2α  2
(1 − α )x3 = 2 − 2α

(a) Para α = 0, obtemos o sistema:



 x1 + 4x2
 = 6
−9x2 = −9

 x3 = 2

que admite como solução única x = (2, 1, 2)t .

(b) Para α = 1, obtemos o sistema:



 x1 + 4x2 + x3 = 6

−9x2 = −9

 0x3 = 0

que admite como solução o conjunto infinito de pontos x = (x1 , 1, 2 − x1 )t , com x1 ∈ R.


Note que estes pontos são pontos sobre a reta de equações reduzidas:
(
x2 = 1
, com x1 ∈ R.
x3 = 2 − x1

(c) Para α = −1, obtemos o sistema:



 x1 + 4x2 − x3 = 6

−9x2 = −9

 0x3 = 4

que não admite solução, pois há uma inconsistência na terceira equação.

Questão 12. Aplicando-se o processo de Cholesky à matriz A, obteve-se:


 
... 2 ... ...
 . . . 8 10 −8 
 = GGt ,
 
A=
 3 10 14 −5 
. . . −8 . . . 29

74
onde:  
1
 2 ... 
 
G= .
 ... 2 1 
0 −4 . . . 2
Preencher os espaços pontilhados com valores adequados.

Solução: Aplicando-se o processo de Cholesky à matriz A, temos:


    
a11 2 a13 a14 1 0 0 0 1 2 g31 0
 a    0 g22 2 −4 
 21 8 10 −8   2 g22 0 0
A = GGt
 
∴  =  
 3 10 14 −5   g31 2 1 0  0 0 1 g43 
a41 −8 a43 29 0 −4 g43 2 0 0 0 2

Note que, uma vez que o processo de Cholesky foi aplicado, temos que a matriz A é
simétrica. Assim,

a21 = a12 = 2, a13 = a31 = 3 e a43 = a34 = −5.

Portanto, temos:
   
a11 2 3 a14 1 2 g31 0
 2   2 
 8 10 −8   2 4 + g22 2g31 + 2g22 −4g22 
 = 2 .
 3 10 14 −5   g31 2g31 + 2g22 g31 + 5 −8 + g43 
2
a41 −8 −5 29 0 −4g22 −8 + g43 16 + g43 +4

Assim, pela igualdade de matrizes, temos:

a11 = 1,
a14 = a41 = 0,
−4g22 = −8 ∴ g22 = 2,
−8 + g43 = −5 ∴ g43 = 3,
g31 = 3.

Portanto,
   
1 2 3 0 1 0 0 0
 2 8 10 −8   2 2 0 0 
   
A=  e G= .
 3 10 14 −5   3 2 1 0 
0 −8 −5 29 0 −4 3 2

Questão 13. Considere as matrizes:


   
1 1 0 3 1 0
   
A =  1 2 1 ; B =  1 3 2 .
0 −1 3 0 2 1

75
Escolha adequadamente e resolva um dos sistemas Ax = b, Bx = b, pelo processo de
Cholesky, onde b = (2, 1, 5)t.

Solução: O método de Cholesky aplica-se no caso em que a matriz dos coeficientes do


sistema linear é simétrica e positiva definida. Portanto, não podemos aplicá-lo ao sistema
Ax = b, uma vez que A não simétrica, pois At 6= A.
Note que, se uma matriz simétrica A é definida positiva, então det A > 0. Assim, embora
B seja uma matriz simétrica, observe que a mesma não é definida positiva, pois
 
3 1 0
 
det(B) = det  1 3 2  = −4 < 0.
0 2 1
Portanto, não podemos garantir que a fatoração GGt é única e, desta forma, o processo
de Cholesky também não pode ser aplicado para resolver o sistema Bx = b.

Questão 14. Mostre que: Se o sistema de equações algébricas Ax = b, onde A é matriz


não singular, é transformado no sistema equivalente Bx = c, com B = At A; c = At b, onde
At é a transposta de A, então o último sistema pode sempre ser resolvido pelo processo de
Cholesky (isto é, a matriz B satisfaz as condições para a aplicação do método). Aplicar a
técnica acima para determinar pelo processo de Cholesky a solução do sistema:
    
1 0 1 x1 2
    
 1 1 0   x2  =  2  .
1 1 0 x3 2
Solução: Devemos mostrar que B satisfaz as condições para a aplicação do método de
Cholesky, ou seja, devemos mostrar que B é uma matriz simétrica e positiva definida.
Supondo B = At A, onde A é uma matriz não singular e At a transposta de A, temos que
B é uma matriz simétrica, pois
B t = (At A)t = At (At )t = At A = B.
Note que, considerando x um vetor não nulo arbitrário e y = Ax, temos:
xt Bx = xt (At A)x = (xt At )(Ax) = (Ax)t (Ax) = y t y = ||y||2 ≥ 0.
Coniderando y = 0, temos Ax = 0 e como A é uma matriz não singular, então terı́amos
x = 0. Absurdo, pois x é não nulo.
Portanto, a desigualdade acima é apenas estrita. Assim,
xt Bx > 0,
ou seja, a matriz B é positiva definida.

Note que, a matriz  


1 0 1
 
A= 1 1 0 
1 1 0

76
dos coeficientes do sistema linear é singular, pois det(A) = 0. Assim, não podemos aplicar
o método citado acima para resolver o sistema original Ax = b, uma vez que uma das
hipóteses para a aplicação do método não é atendida.

3.2 Métodos Iterativos


Lema 1 Sejam λi os autovalores da matriz B. Se max |λi | < 1, então (I − B)−1 existe e

X
−1 2
(I − B) = I + B + B + ... = Bj .
j=0

Demonstração: Já que Bx = λx é verdade precisamente quando (I − B)x = (1 − λ)x,


temos λ como um autovalor de B precisamente quando 1 − λ for um autovalor de I − B.
Mas, max |λi | < 1, e assim, λ = 1 não é um autovalor de B e 0 não pode ser um autovalor
de I − B. Assim, (I − B)−1 existe.
Seja Sm = I + B + B 2 + ... + B m . Então
(I − B)Sm = (I + B + B 2 + ... + B m ) − (B + B 2 + ... + B m + B m+1 ) = I − B m+1 ,
e, como B é convergente, temos:
lim (I − B)Sm = lim (I − B m+1 ) = I.
k→∞ k→∞

Assim,

X
(I − B)−1 = lim Sm = I + B + B 2 + ... = Bj .
k→∞
j=0

Teorema 6 Sejam λi os autovalores da matriz B. Se max |λi | < 1, então lim B k x = 0,


k→0
para todo x.
Demonstração: Considerando x um vetor qualquer não nulo, temos:

k k x
1 1
|λ | = |λ | = ||λk x|| = ||B k x|| ,
||x|| ||x|| ||x||
||B k x|| = |λ|k · ||x|| ≤ (max |λi |)k · ||x||.
Tomando lim , temos:
k→∞

lim ||B k x|| ≤ lim (max |λi |)k · ||x|| = 0 ∴ lim ||B k x|| = 0
k→∞ k→∞ k→∞
∴ || lim B k x|| = 0
k→∞
∴ lim B k x = 0
k→∞

Para o caso em que x é um vetor nulo, temos:


lim B k x = lim B k · 0 = 0
k→∞ k→∞

Portanto, lim B k x = 0, para todo x.


k→∞

77
Teorema 7 Seja Ax = b um sistema de equações lineares, com det(A) 6= 0 e

x(k) = Bx(k−1) + g, (3.-96)

o processo iterativo estacionário que gera uma sequência de aproximações para a solução
do sistema. A condição necessária e suficiente para a convergência do processo iterativo
definido por (3.-96) é que max |λi | < 1, onde λi são os autovalores da matriz B.

Demonstração: Inicialmente, supondo que λi seja um autovalor qualquer da matriz B e


que max |λi | < 1, com i = 1, 2, ..., n, vamos mostrar que o processo iterativo é convergente.
Então,

x(k) = Bx(k−1) + g
= B(Bx(k−2) + g) + g
= B 2 x(k−2) + (B + I)g
= B 2 (Bx(k−3) + g) + (B + I)g
= B 3 x(k−3) + (B 2 + B + I)g
..
.
xk = B (k) x(0) + (B k−1 + ... + B + I)g. (3.-101)

Tomando lim em (3.-101) e considerando o Lema (1) e o Teorema (6), temos:


k→∞

k−1
!
X
(k) (k) (0) j
lim x = lim B x + lim B g = 0 + (I − B)−1 g = (I − B)−1 g.
k→∞ k→∞ k→∞
j=0

Assim, a sequência {x(k) } converge para o vetor x ≡ (I − B)−1 g.

Agora, supondo que a sequência {xk } seja convergente para x, mostraremos que max |λi | <
k→∞
1, para i = 1, 2, ..., n.
Definindo x(0) = x − v, sendo v um vetor arbitrário, temos:

x − x(k) = B(x − x(k−1) ),

de modo que,

x − x(k) = B(x − x(k−1) ) = B 2 (x − x(k−2) ) = ... = B k (x − x(0) ) = B k v.

Logo,
lim B k v = lim B k (x − x(0) ) = lim x − x(k) = 0.
k→∞ k→∞ k→∞

Note que, pelo Teorema (6), podemos escrever:

||B k v|| = |λ|k · ||v|| ∴ lim ||B k v|| = lim |λ|k · ||v||
k→∞ k→∞
∴ || lim B v|| = lim |λ|k · ||v||
k
k→∞ k→∞
k
∴ 0 = lim |λ| · ||v||
k→∞

78
Como v ∈ Rn era arbitrário, para que a igualdade acima se verifique, devemos ter
max |λi | < 1.

Corolário 2 O processo iterativo definido por (3.-96) é convergente se, para qualquer
norma de matrizes, ||B|| < 1.

Demonstração: Suponha que o sistema de equações Ax = b tenha sido transformado num


sistema equivalente da forma:

x = Bx + g, (3.-105)

e, que o processo iterativo estacionário para a obteção da solução seja dado por (3.-96).
Subtraindo-se (3.-96) de (3.-105), obtemos:

x − x(k) = B(x − x(k−1) ). (3.-104)

De (3.-104) podemos escrever:

x − x(k−1) = B(x − x(k−2) ). (3.-103)

Substituindo-se (3.-103) em (3.-104), temos:


 
x − x(k) = B B(x − x(k−2) ) = B 2 (x − x(k−2) ).

E assim, por aplicações sucessivas, segue que:



x − x(k) = B k x − x(0) .

Tomando normas consistentes, na expressão acima, segue que:

||x − x(k) || ≤ ||B||k ||x − x(0) ||.

Desta desigualdade, vemos que se ||B|| < 1, então para k → ∞, teremos:

||x − x(k) || → 0.

Portanto, se ||B|| < 1 para alguma norma, temos garantida a convergência do processo
iterativo definido por (3.-96).

79
Questão 01. Usando o método de Jacobi-Richardson, obter a solução do sistema

 10x1 + x2 − x3 = 10

x1 + 10x2 + x3 = 12,

 2x − x + 10x = 11
1 2 3

com 3 casas decimais corretas.

Solução: Inicialmente verificaremos se temos garantia de convergência. Note que, a matriz


dos coeficientes é estritamente diagonalmente dominante, pois satisfaz a condição
n
X
|aij | < |aii |, i = 1, 2, ..., n.
j =1
j 6= i

De fato,

|a12 | + |a13 | = |1| + | − 1| < |10| = |a11 |,


|a21 | + |a23 | = |1| + |1| < |10| = |a22 |,
|a31 | + |a32 | = |2| + | − 1| < |10| = |a33 |.

Assim, podemos garantir que o processo de Jacobi-Richardson aplicado ao sistema será


convergente.
Dividindo cada equação pelo correspondente elemento da diagonal principal, obtemos:

 x1 + 0, 1x2 − 0, 1x3 = 1, 0

0, 1x1 + x2 + 0, 1x3 = 1, 2

 0, 2x − 0, 1x + x = 1, 1
1 2 3

Portanto, o processo iterativo é dado por:


 (k+1) (k) (k)
 x1
 = 1, 0 − 0, 1x2 + 0, 1x3
(k+1) (k) (k)
x2 = 1, 2 − 0, 1x1 − 0, 1x3

 (k+1) (k) (k)
x3 = 1, 1 − 0, 2x1 + 0, 1x2

Utilizaremos como critério de parada, o erro relativo, de modo que

||x(k+1) − x(k) ||∞


< ǫ, onde ǫ = 10−3.
||x(k+1) ||∞

A partir de x(0) = (0, 0, 0)t, obtemos:

- Para k = 0:
 (1) (0) (0)
 x1 = 1, 0 − 0, 1x2 + 0, 1x3 = 1, 0 − 0, 1 · 0 + 0, 1 · 0 = 1, 0

(1) (0) (0)
x2 = 1, 2 − 0, 1x1 − 0, 1x3 = 1, 2 − 0, 1 · 0 − 0, 1 · 0 = 1, 2

 (1) (0) (0)
x3 = 1, 1 − 0, 2x1 + 0, 1x2 = 1, 1 − 0, 2 · 0 + 0, 1 · 0 = 1, 1

||x(1) − x(0) ||∞ 1, 2


x(1) − x(0) = (1, 0; 1, 2; 1, 1)t ∴ = = 1 > ǫ.
||x(1) ||∞ 1, 2

80
- Para k = 1:
 (2) (1) (1)
 x1 = 1, 0 − 0, 1x2 + 0, 1x3 = 1, 0 − 0, 1 · 1, 2 + 0, 1 · 1, 1 = 0, 99

(2) (1) (1)
x2 = 1, 2 − 0, 1x1 − 0, 1x3 = 1, 2 − 0, 1 · 1, 0 − 0, 1 · 1, 1 = 0, 99

 (2) (1) (1)
x3 = 1, 1 − 0, 2x1 + 0, 1x2 = 1, 1 − 0, 2 · 1, 0 + 0, 1 · 1, 2 = 1, 02

x(2) − x(1) = (−0, 01; −0, 21; −0, 08)t ,


||x(2) − x(1) ||∞ 0, 21
(2)
= = 0, 205882352 > ǫ.
||x ||∞ 1, 02

- Para k = 2:
 (3) (2) (2)
 x1 = 1, 0 − 0, 1x2 + 0, 1x3 = 1, 0 − 0, 1 · 0, 99 + 0, 1 · 1, 02 = 1, 003

(3) (2) (2)
x2 = 1, 2 − 0, 1x1 − 0, 1x3 = 1, 2 − 0, 1 · 0, 99 − 0, 1 · 1, 02 = 0, 999

 (3) (2) (2)
x3 = 1, 1 − 0, 2x1 + 0, 1x2 = 1, 1 − 0, 2 · 0, 99 + 0, 1 · 0, 99 = 1, 001

x(3) − x(2) = (0, 013; 0, 009; −0, 019)t ,


||x(3) − x(2) ||∞ 0, 019
(3)
= = 0, 01894317 > ǫ.
||x ||∞ 1, 003

- Para k = 3:
 (4) (3) (3)
 x1 = 1, 0 − 0, 1x2 + 0, 1x3 = 1, 0 − 0, 1 · 0, 999 + 0, 1 · 1, 001 = 1, 0002

(4) (3) (3)
x2 = 1, 2 − 0, 1x1 − 0, 1x3 = 1, 2 − 0, 1 · 1, 003 − 0, 1 · 1, 001 = 0, 9996

 (4) (3) (3)
x3 = 1, 1 − 0, 2x1 + 0, 1x2 = 1, 1 − 0, 2 · 1, 003 + 0, 1 · 0, 999 = 0, 9993

x(4) − x(3) = (−0, 0028; 0, 0006; −0, 0017)t,


||x(4) − x(3) ||∞ 0, 0028
(4)
= = 2, 799440112 × 10−3 > ǫ.
||x ||∞ 1, 0002

- Para k = 4:
 (5) (4) (4)
 x1 = 1, 0 − 0, 1x2 + 0, 1x3 = 1, 0 − 0, 1 · 0, 9996 + 0, 1 · 0, 9993 = 0, 99997

(5) (4) (4)
x2 = 1, 2 − 0, 1x1 − 0, 1x3 = 1, 2 − 0, 1 · 1, 0002 − 0, 1 · 0, 9993 = 1, 00005

 (5) (4) (4)
x3 = 1, 1 − 0, 2x1 + 0, 1x2 = 1, 1 − 0, 2 · 1, 0002 + 0, 1 · 0, 9996 = 0, 99992

x(5) − x(4) = (−0, 00023; 0, 00045; 0, 00062)t,


||x(5) − x(4) ||∞ 0, 00062
(5)
= = 6, 199690016 × 10−4 < ǫ.
||x ||∞ 1, 00005

Como o critério de parada foi satisfeito, temos que a solução do sistema, com ǫ < 10−3 , é:

x = (0, 99997; 1, 00005; 0, 99992)t.

Questão 02. Dado o sistema



 10x1 + x2 − x3 = 10

2x1 + 10x2 + 8x3 = 20

 7x + x + 10x = 30
1 2 3

81
(a) Verificar a possibilidade de aplicação do método de Jacobi-Richardson.
(b) Se possı́vel resolvê-lo pelo método de Jacobi-Richardson, obtenha o resultado com
ǫ < 10−2 .

Solução:
(a) Note que a matriz dos coeficientes não é estritamente diagonalmente dominante, pois
para i = 2, temos:
|a21 | + |a23 | = |0, 2| + |0, 8| = |a22 |.
Assim, por esse critério, nada podemos afirmar a respeito da convergência do método.
Verificaremos, agora, se o processo iterativo de Jacobi-Richardson será convergente, uti-
lizando o critério das linhas e o critério das colunas. Observe que, como a matriz dos
coeficientes não é estritamente diagonalmente dominante, então o critério das linhas não
é satisfeito. De fato, pelo critério das linhas, temos

|a∗12 | + |a∗13 | = |0, 1| + | − 0, 1| = 0, 2,


|a∗21 | + |a∗23 | = |0, 2| + |0, 8| = 1, 0,
|a∗31 | + |a∗32 | = |0, 7| + |0, 1| = 0, 8,
3
X
∴ max |a∗ij | = 1, 0 6< 1, 0.
1≤i≤n
j =1
j 6= i

Para verificar o critério das colunas, calculamos:

|a∗21 | + |a∗31 | = |0, 2| + |0, 7| = 0, 9,


|a∗12 | + |a∗32 | = |0, 1| + |0, 1| = 0, 2,
|a∗13 | + |a∗23 | = | − 0, 1| + |0, 8| = 0, 9,
3
X
∴ max |a∗ij | = 0, 9 < 1, 0.
1≤j≤n
i=1
i 6= j

e, portanto, o critério das colunas é válido. Assim, garantimos a convergência do método


de Jacobi-Richardson para determinar a solução do sistema dado.

82
(b) O processo iterativo obtido pelo método de Jacobi-Richardson é dado por:
 (k+1) (k) (k)
 x1
 = 1 − 0, 1x2 + 0, 1x3
(k+1) (k) (k)
x2 = 2 − 0, 2x1 − 0, 8x3

 (k+1) (k) (k)
x3 = 3 − 0, 7x1 − 0, 1x2
Utilizaremos como critério de parada, o erro relativo, de modo que
||x(k+1) − x(k) ||∞
(k+1)
< ǫ, onde ǫ = 10−2.
||x ||∞
Assim, a partir de x(0) = (0, 0, 0)t, obtemos:
- Para k = 0:
 (1) (0) (0)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · 0 + 0, 1 · 0 = 1

(1) (0) (0)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 0 − 0, 8 · 0 = 2

 (1) (0) (0)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 0 − 0, 1 · 0 = 3

(1) (0) t ||x(1) − x(0) ||∞ 3


x −x = (1, 2, 3) ∴ (1)
= = 1 > ǫ.
||x ||∞ 3
- Para k = 1:
 (2) (1) (1)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · 2 + 0, 1 · 3 = 1, 1

(2) (1) (1)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1 − 0, 8 · 3 = −0, 6

 (2) (1) (1)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1 − 0, 1 · 2 = 2, 1

x(2) − x(1) = (0, 1; −2, 6; −0, 9)t


||x(2) − x(1) ||∞ 2, 6
(2)
= = 1, 238095238 > ǫ.
||x ||∞ 2, 1

- Para k = 2:
 (3) (2) (2)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · (−0, 6) + 0, 1 · 2, 1 = 1, 27

(3) (2) (2)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1, 1 − 0, 8 · 2, 1 = 0, 1

 (3) (2) (2)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1, 1 − 0, 1 · (−0, 6) = 2, 29

x(3) − x(2) = (0, 17; 0, 7; 0, 19)t


||x(3) − x(2) ||∞ 0, 19
(3)
= = 0, 082969432 > ǫ.
||x ||∞ 2, 29

- Para k = 3:
 (4) (3) (3)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · 0, 1 + 0, 1 · 2, 29 = 1, 219

(4) (3) (3)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1, 27 − 0, 8 · 2, 29 = −0, 086

 (4) (3) (3)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1, 27 − 0, 1 · 0, 1 = 2, 101

x(4) − x(3) = (−0, 051; −0, 186; −0, 189)t


||x(4) − x(3) ||∞ 0, 189
= = 0, 089957163 > ǫ.
||x(4) ||∞ 2, 101

83
- Para k = 4:
 (5) (4) (4)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · (−0, 086) + 0, 1 · 2, 101 = 1, 2187

(5) (4) (4)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1, 219 − 0, 8 · 2, 101 = 0, 0754

 (5) (4) (4)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1, 219 − 0, 1 · (−0, 086) = 2, 1553

x(5) − x(4) = (−0, 0003; 0, 1614; 0, 0543)t


||x(5) − x(4) ||∞ 0, 1614
(5)
= = 0, 074885166 > ǫ.
||x ||∞ 2, 1553

- Para k = 5:
 (6) (5) (5)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · 0, 0754 + 0, 1 · 2, 1553 = 1, 20799

(6) (5) (5)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1, 2187 − 0, 8 · 2, 1553 = 0, 03202

 (6) (5) (5)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1, 2187 − 0, 1 · 0, 0754 = 2, 13937

x(6) − x(5) = (−0, 01071; −0, 04338; −0, 01593)t


||x(6) − x(5) ||∞ 0, 04338
(6)
= = 2, 027699743382 × 10−2 > ǫ.
||x ||∞ 2, 13937

- Para k = 6:
 (7) (6) (6)
 x1 = 1 − 0, 1x2 + 0, 1x3 = 1 − 0, 1 · 0, 03202 + 0, 1 · 2, 13937 = 1, 210735

(7) (6) (6)
x2 = 2 − 0, 2x1 − 0, 8x3 = 2 − 0, 2 · 1, 20799 − 0, 8 · 2, 13937 = 0, 046906

 (7) (6) (6)
x3 = 3 − 0, 7x1 − 0, 1x2 = 3 − 0, 7 · 1, 20799 − 0, 1 · 0, 03202 = 2.151205

x(7) − x(6) = (0, 002745; 0, 014886; 0, 011835)t


||x(7) − x(6) ||∞ 0, 014886
(7)
= = 6, 9198426 × 10−3 > ǫ.
||x ||∞ 2.151205

Como o critério de parada foi satisfeito, temos que a solução do sistema, com ǫ < 10−2 , é:

x = (1, 210735; 0, 046906; 2.151205)t.

Questão 03. Dado o sistema



 4x1 + 2x2 + 6x3 = 1

4x1 − x2 + 3x3 = 2.

 −x + 5x + 3x = 3
1 2 3

Mostrar que reordenando as equações e incógnitas podemos fazer com que o critério de
Sassenfeld seja satisfeito, mas não o das linhas.

Solução: Consideremos inicialmente que a equação 4x1 + 2x2 + 6x3 = 1 seja a primeira
equação do sistema. Dividindo a equação pelo respectivo termo da diagonal principal, ou
seja, por a11 = 4, temos:
x1 + 0, 5x2 + 1, 5x3 = 0, 25.

84
Logo,
|a∗12 | + |a∗13 | = |0, 5| + |1, 5| = 2 > 1.
Consideremos, agora, que a equação 4x1 + 2x2 + 6x3 = 1 seja a segunda equação do
sistema. Dividindo a equação pelo respectivo termo da diagonal principal, ou seja, por
a22 = 2, temos:
2x1 + x2 + 3x3 = 0, 5.
Logo,
|a∗21 | + |a∗23 | = |2| + |3| = 5 > 1.

Finalmente, consideremos, que a equação 4x1 + 2x2 + 6x3 = 1 seja a terceira equação do
sistema. Dividindo a equação pelo respectivo termo da diagonal principal, ou seja, por
a33 = 6, temos:
2 1 1
x1 + x2 + x3 = .
3 3 6
Logo,
∗ ∗
2 1
|a21 | + |a23 | = + = 1.
3 3
Portanto, vemos que mesmo reordenando as equações e incógnitas do sistema o critério
das linhas não é satisfeito.

Questão 04. Considere o sistema



 5x1 + 2x2 + x3 = 7

−x1 + 4x2 + 2x3 = 3

 2x − 3x + 10x = −1
1 2 3

(a) Verificar a possibilidade de aplicação do método de Gauss-Seidel usando o critério de


Sassenfeld.
(b) Se possı́vel resolva-o com ǫ < 10−2 .

Solução:
(a) Dividindo cada equação do sistema pelo correspondente elemento da diagonal principal
da matriz dos coeficientes, obtemos:

 x1 + 0, 4x2 + 0, 2x3 = 1, 4

−0, 25x1 + x2 + 0, 5x3 = 0, 75

 0, 2x − 0, 3x + x = −0, 1
1 2 3

Aplicando, agora, o critério de Sassenfedl, temos:

β1 = |a∗12 | + |a∗13 | = |0, 4| + |0, 2| = 0, 6


β2 = |a∗21 |β1 + |a∗23 | = | − 0, 25| · 0, 6 + |0, 5| = 0, 65
β3 = |a∗31 |β1 + |a∗32 |β2 = |0, 2| · 0, 6 + | − 0, 3| · 0, 65 = 0, 315
∴ max βi = 0, 65 < 1.
1≤i≤n

85
Como o critério de Sassenfeld é satisfeito, podemos garantir que o processo de Gauss-
Seidel converge.

(b) O processo iterativo de Gauss-Seidel é dado por:


 (k+1) (k) (k)
 x1
 = 1, 40 − 0, 40x2 − 0, 2x3
(k+1) (k+1) (k)
x2 = 0, 75 + 0, 25x1 − 0, 5x3

 (k+1) (k+1) (k+1)
x3 = −0, 10 − 0, 20x1 + 0, 3x2

Assim, a partir de x(0) = (0, 0, 0)t, obtemos:

- para k = 0,
 (1) (0) (0)
 x1 = 1, 40 − 0, 40x2 − 0, 2x3 = 1, 40 − 0, 40 · 0, 0 − 0, 2 · 0, 0 = 1, 4

(1) (1) (0)
x2 = 0, 75 + 0, 25x1 − 0, 5x3 = 0, 75 + 0, 25 · 1, 4 − 0, 5 · 0, 0 = 1, 1

 (1) (1) (1)
x3 = −0, 10 − 0, 20x1 + 0, 3x2 = −0, 10 − 0, 20 · 1, 4 + 0, 3 · 1, 1 = −0, 05

x(1) − x(0) = (1, 4; 1, 1; −0, 05)t


||x(1) − x(0) ||∞ 1, 4
(1)
= = 1 > ǫ.
||x ||∞ 1, 4

- para k = 1,
 (2) (1) (1)
 x1 = 1, 40 − 0, 40x2 − 0, 2x3 = 1, 40 − 0, 40 · 1, 10 − 0, 2 · (−0, 05) = 0, 97

(2) (2) (1)
x2 = 0, 75 + 0, 25x1 − 0, 5x3 = 0, 75 + 0, 25 · 0, 97 − 0, 5 · (−0, 05) = 1, 0175

 (2) (2) (2)
x3 = −0, 10 − 0, 20x1 + 0, 3x2 = −0, 10 − 0, 20 · 0, 97 + 0, 3 · (1, 0175) = 0, 01125

x(2) − x(1) = (−0, 43; −0, 0825; 0, 06125)t


||x(2) − x(1) ||∞ 0, 43
= = 0, 422604422 > ǫ.
||x(2) ||∞ 1, 0175

- para k = 2,
 (3) (2) (2)
 x1 = 1, 40 − 0, 40x2 − 0, 2x3

(3) (3) (2)
x2 = 0, 75 + 0, 25x1 − 0, 5x3

 (3) (3) (3)
x3 = −0, 10 − 0, 20x1 + 0, 3x2
 (3)
 x1 = 1, 40 − 0, 40 · 1, 01750 − 0, 2 · (0, 01125) = 0, 99075

(3)
x2 = 0, 75 + 0, 25 · 0, 99075 − 0, 5 · (0, 01125) = 0, 9920625

 (3)
x3 = −0, 10 − 0, 20 · 0, 99075 + 0, 3 · (0, 9920625) = −0, 00053125

x(3) − x(2) = (0, 02075; −0, 0254375; −0, 01178125)t


||x(3) − x(2) ||∞ 0, 0254375
= = 0, 025641025 > ǫ.
||x(3) ||∞ 0, 9920625

86
- para k = 3,
 (4) (3) (3)
 x1 = 1, 40 − 0, 40x2 − 0, 2x3

(4) (4) (3)
x2 = 0, 75 + 0, 25x1 − 0, 5x3

 (4) (4) (4)
x3 = −0, 10 − 0, 20x1 + 0, 3x2
 (4)
 x1 = 1, 40 − 0, 40 · 0, 9920625 − 0, 2 · (−0, 00053125) = 1, 00328125

(4)
x2 = 0, 75 + 0, 25 · 1, 00328125 − 0, 5 · (−0, 00053125) = 1, 001085938

 (4)
x3 = −0, 10 − 0, 20 · 1, 00328125 + 0, 3 · (1.001085938) = −3, 3046875 × 10−4

x(4) − x(3) = (0, 01253125; 9, 023438 × 10−3 ; 2, 0078125 × 10−4 )t


||x(4) − x(3) ||∞ 0, 01253125
(4)
= = 0, 012490266 > ǫ.
||x ||∞ 1, 00328125

- para k = 4,
 (5) (4) (4)
 x1 = 1, 40 − 0, 40x2 − 0, 2x3

(5) (5) (4)
x2 = 0, 75 + 0, 25x1 − 0, 5x3

 (5) (5) (5)
x3 = −0, 10 − 0, 20x1 + 0, 3x2
 (5)
−4
 x1 = 1, 40 − 0, 40 · 1, 001085938 − 0, 2 · (−3, 3046875 × 10 ) = 0, 999631718

(5)
x2 = 0, 75 + 0, 25 · 0.999631718 − 0, 5 · (−3, 3046875 × 10−4 ) = 1, 000073164

 (5)
x3 = −0, 10 − 0, 20 · 0, 999631718 + 0, 3 · (1, 000073164) = 9, 56056 × 10−5

t
x(5) − x(4) = −3, 649532 × 10−3 ; −1, 012774 × 10−3; 4, 2607435 × 10−4
||x(5) − x(4) ||∞ 3, 649532 × 10−3
(5)
= = 3, 649265005 × 10−3 < ǫ.
||x ||∞ 1, 000073164

Como o critério de parada foi satisfeito, temos que a solução do sistema, com ǫ < 10−2 , é:

x = (0, 999631718; 1, 000073164; 9, 56056 × 10−5 )t .

Questão 05. Deseja-se resolver o sistema Ax − b = 0, onde a é real e


 
1 a a
 
A= a 1 a 
a a a

pelo método dos Gradientes.


(a) Quais os valores possı́veis para a?
(b) Sendo b = (1, 2, 3)t e considerando a = 0, 4, obtenha a solução do sistema com duas
casas decimais corretas usando o método dos Gradientes.

87
Solução:
(a) O método dos Gradientes é aplicável a solução de um sistema Ax = b, onde A é uma
matriz positiva definida.
Considerando a matriz A, positiva definida, então os determinantes dos seus menores
principais e da própria matriz A são positivos. Assim, devemos ter:

det(A1 ) = det(1) = 1 > 0, (3.-145)


!
1 a
det(A2 ) = det = 1 − a2 > 0, (3.-144)
a 1
 
1 a a
det(A) = det  a 1 a  = a3 − 2a2 + a > 0
 
(3.-143)
a a a

Note que, a desigualdade (3.-145) é sempre satisfeita.


Resolvendo a desigualdade (3.-144), temos:

1 − a2 > 0 ⇒ −1 < a < 1.

Assim, esta desigualdade é satisfeita em S1 = {a ∈ R : −1 < a < 1}.

Agora, resolvendo a desigualdade (3.-143), temos:

a3 − 2a2 + a > 0 ⇒ a(a2 − 2a + 1) = a(a − 1)2 > 0 ⇒ a > 0.

Assim, esta desigualdade é satisfeita em S2 = {a ∈ R : a > 0}.

Observe que, S = S1 ∩ S2 = {a ∈ R : 0 < a < 1} e, portanto, S é o conjunto de valores


possı́veis para a de modo que possamos resolver um sistema, usando o método dos Gra-
dientes, com a matriz A sendo a matriz dos coeficientes.

(b) Seja v (0) = (−3, −1, 12)t , então:


      
1 0, 4 0, 4 −3 1 0, 4
r (0) = Av (0) − b =  0, 4 1 0, 4   −1  −  2  =  0, 6  .
      
0, 4 0, 4 0, 4 12 3 0, 2

Para k = 1, obtemos:

hr (0) , r (0) i = 0, 42 + 0, 62 + 0, 22 = 0, 56,


    
1 0, 4 0, 4 0, 4 0, 72
Ar (0)
    
=  0, 4 1 0, 4   0, 6  =  0, 84  ,
0, 4 0, 4 0, 4 0, 2 0, 48
hAr (0) , r (0) i = 0, 72 · 0, 4 + 0, 84 · 0, 6 + 0, 48 · 0, 2 = 0, 888.
Assim,
hr (0) , r (0) i 0, 56
tmin = (0) (0)
= = 0, 63063063.
hAr , r i 0, 888

88
Agora,
     
−3 0, 4 −3, 252252252
v (1) = v (0) − tmin r (0)
     
=  −1  − 0, 63063063  0, 6  =  −1, 378378378  ,
12 0, 2 11, 87387387
     
0, 4 0, 72 −0, 054054053
r (1) = r (0) − tmin Ar (0)
     
=  0, 6  − 0, 63063063  0, 84  =  0, 07027027  .
0, 2 0, 48 −0, 102702702
Como
v (1) − v (0) = (−0, 252252252; −0, 378378378; −0, 12612613)t
temos:
||v (1) − v (0) ||∞ 0, 378378378
= = 0, 031866464 > ǫ.
||v (1) ||∞ 11, 87387387
Para k = 2, obtemos:

hr (1) , r (1) i = (−0, 054054053)2 + (0, 07027027)2 + (−0, 102702702)2 = 0, 018407596,


    
1 0, 4 0, 4 −0, 054054053 −0, 067027025
Ar (1) =  0, 4 1 0, 4   0, 07027027  =  7, 567568 × 10−3  ,
    
0, 4 0, 4 0, 4 −0, 102702702 −0, 034594594
hAr (1) , r (1) i = 7, 707815687 × 10−3 .
Assim,
hr (1) , r (1) i 0, 018407596
tmin = (1) (1)
= = 2, 38817283.
hAr , r i 7, 707815687 × 10−3
Agora,

v (2) = v (1) − tmin r (1)


     
−3, 252252252 −0, 054054053 −3, 123161831
v (2) =  −1, 378378378  − 2, 38817283  0, 07027027  =  −1, 546195928  ,
     
11, 87387387 −0, 102702702 12, 11914567

r (2) = r (1) − tmin Ar (1)


     
−0, 054054053 −0, 067027025 0, 106018067
r (2) =  0, 07027027  − 2, 38817283  0, 007567568  =  0, 052197609  .
     
−0, 102702702 −0, 034594594 −0, 020084832

Como
v (2) − v (1) = (0, 129090421; −0, 16781755; 0, 2452718)t
temos:
||v (2) − v (1) ||∞ 0, 2452718
(2)
= = 0, 020238373 > ǫ.
||v ||∞ 12, 11914567
Para k = 3, obtemos:

hr (2) , r (2) i = (0, 106018067)2 + (0, 052197609)2 + (−0, 020084832)2 = 0, 014367821,

89
    
1 0, 4 0, 4 0, 106018067 0, 118863177
Ar (2)
    
=  0, 4 1 0, 4   0, 052197609  =  0, 086570903  ,
0, 4 0, 4 0, 4 −0, 020084832 0, 055252337
hAr (2) , r (2) i = 0, 016010704.
Assim,
hr (2) , r (2) i 0, 014367821
tmin = (2) (2)
= = 0, 897388459.
hAr , r i 0, 016010704
Agora,

v (3) = v (2) − tmin r (2)


     
−3, 123161831 0, 106018067 −3, 218301221
v (3) =  −1, 546195928  − 0, 897388459  0, 052197609  =  −1, 593037457  .
     
12, 11914567 −0, 020084832 12, 13716957

Como
v (3) − v (2) = (−0, 09513939; −0, 046841529; 0, 0180239)t
temos:
||v (3) − v (2) ||∞ 0, 09513939
(3)
= = 7, 838680135 × 10−3 < ǫ.
||v ||∞ 12, 13716957
Portanto, como o critério de parada foi satifeito, temos que a solução do sistema com a
precisão requerida é  
−3, 218301221
x = v (3) =  −1, 593037457  .
 
12, 13716957

90
Capı́tulo 4

Sistemas Não Lineares

Questão 15 Usando o método iterativo linear determinar a solução de:

x = 0.7 sin x + 0.2 cos y


y = 0.7 cos x − 0.2 sin y

próxima a (0.5, 0.5).

Solução: Consderando 0.7 sin x + 0.2 cos y = F (x, y) e 0.7 cos x − 0.2 sin y = G(x, y),
temos:

Fx (x, y) = 0, 7 cos x, Fy (x, y) = −0, 2 sin y


Gx (x, y) = −0, 7 sin x, Gy (x, y) = 0, 2 cos y.

Logo, F , G e suas derivadas parciais de primeira ordem são contı́nuas em R2 .


Note que,
|Fx | + |Fy | = |0, 7 cos x| + | − 0, 2 sin y| < 1
e
|Gx | + |Gy | = | − 0, 7 sin x| + |0, 2 cos y| < 1, ∀x, y ∈ R,
pois | sin x| ≤ 1 e | cos x| ≤ 1.

Assim, as condições suficientes para garantir a convergência são satisfeitas. A seguir é


apresentada a sequência gerada a partir da condição inicial (x0 , y0 ) = (0, 5; 0, 5), utilizando
o processo iterativo

xk+1 = F (xk , yk ),
yk+1 = G(xk , yk ),

com erro relativo inferior a 10−2 .

91
Para k = 0, temos:

x1 = F (x0 , y0 ) = 0.7 sin x0 + 0.2 cos y0 = 0.7 sin (0, 5) + 0.2 cos (0, 5) = 0, 511114389
y1 = G(x0 , y0 ) = 0.7 cos x0 − 0.2 sin y0 = 0.7 cos (0, 5) − 0.2 sin (0, 5) = 0, 518422685

x1 − x0 0, 511114389 − 0, 5
ERx1 = = = 0, 021745404 > 10−3
x1 0, 511114389

y1 − y0 0, 518422685 − 0, 5
ERy1 = = = 0, 035536032 > 10−3
y1 0, 518422685

Para k = 1, temos:

x2 = F (x1 , y1 ) = 0.7 sin x1 + 0.2 cos y1 = 0.7 sin (0, 511114389) + 0.2 cos (0, 518422685)
= 0, 516125031
y2 = G(x1 , y1) = 0.7 cos x1 − 0.2 sin y1 = 0.7 cos (0, 511114389) − 0.2 sin (0, 518422685)
= 0, 511437823

x2 − x1 0, 516125031 − 0, 511114389
ERx2 = = = 9, 708194137 × 103 > 10−3
x2 0, 516125031

y2 − y1 0, 511437823 − 0, 518422685
ERy2 = = = 0, 013657304 > 10−3
y2 0, 511437823

Para k = 2, temos:

x3 = F (x2 , y2 ) = 0.7 sin x2 + 0.2 cos y2 = 0.7 sin (0, 516125031) + 0.2 cos (0, 511437823)
= 0, 519867889
y3 = G(x2 , y2) = 0.7 cos x2 − 0.2 sin y2 = 0.7 cos (0, 516125031) − 0.2 sin (0, 511437823)
= 0, 510930319

x3 − x2 0, 519867889 − 0, 516125031
ERx3 = = = 7, 199632982 × 10−3 > 10−3
x3 0, 519867889

y3 − y2 0, 510930319 − 0, 511437823
ERy3 = = = 9, 932930169 × 10−4 < 10−3
y3 0, 510930319

Para k = 3, temos:

x4 = F (x3 , y3 ) = 0.7 sin x3 + 0.2 cos y3 = 0.7 sin (0, 519867889) + 0.2 cos (0, 510930319)
= 0, 522193833
y4 = G(x3 , y3) = 0.7 cos x3 − 0.2 sin y3 = 0.7 cos (0, 519867889) − 0.2 sin (0, 510930319)
= 0, 509721577

x4 − x3 0, 522193833 − 0, 519867889
ERx4 = = = 4, 454178276 × 10−3 > 10−3
x4 0, 522193833

y4 − y3 0, 509721577 − 0, 510930319
ERy4 = = = 2, 371375884 × 10−3 > 10−3
y4 0, 509721577

92
Assim, a solução do sistema utilizando o método iterativo linear para sistemas não linea-
res, com erro relativo inferior a 10−2 , é (x, y) = (0, 522193833; 0, 509721577).

Questão 16 O sistema não linear:

x2 + xy 2 = 2
xy − 3xy 3 = −4

possui uma raiz próxima a (0.8, 1.2). Usando o método iterativo linear determine essa
raiz com precisão de 10−1 .

Solução: Considere o sistema não linear:

x2 + xy 2 = 2 (4.-33)
xy − 3xy 3 = −4

Somando (−4x) a ambos os membros da primeira equação e (8y) a ambos os membros da


segunda equação, temos:

x2 + xy 2 − 4x = 2 − 4x (4.-33)
xy − 3xy 3 + 8y = −4 + 8y

Isolando-se x na primeira equação e y na segunda equação, o sistema (4.-33) pode ser


reescrito como:
x2 + xy 2 − 4x − 2
x= = F (x, y) (4.-33)
−4
xy − 3xy 3 + 8y + 4
y= = G(x, y)
8
Note que,
4 − 2x − y 2 xy
Fx (x, y) = , Fy (x, y) = −
4 2
y − 3y 3 x − 9xy 2 + 8
Gx (x, y) = , Gy (x, y) = .
8 8
Logo, F e G e suas derivadas parciais de primeira ordem são contı́nuas em R2 . Além
disso, para (x0 , y0) = (0, 8; 1, 2), temos:

4 − 2 · 0, 8 − 1, 22 (−0, 8) · 1, 2
|Fx (x0 , y0 )| + |Fy (x0 , y0 )| =

+

4 2
= 0, 24 + 0, 48 = 0, 72 < 1

1, 2 − 3 · 1, 23 0, 8 − 9 · (0, 8)1, 22 + 8
|Gx (x0 , y0)| + |Gy (x0 , y0 )| = +
8 8
= 0, 498 + 0, 196 = 0, 694 < 1

Assim, as condições suficientes para garantir a convergência são satisfeitas. A seguir é


apresentada a sequência gerada a partir da condição inicial (x0 , y0 ) = (0, 8; 1, 2), utilizando

93
o processo iterativo

xk+1 = F (xk , yk ),
yk+1 = G(xk , yk ),

com erro relativo inferior a 10−1 .

Para k = 0, temos:

x20 + x0 y02 − 4x0 − 2


x1 = F (x0 , y0) = = 0, 852,
−4
x0 y0 − 3x0 y03 + 8y0 + 4
y1 = G(x0 , y0 ) = = 1, 3016,
8
x1 − x0 0, 852 − 0, 8
ERx1 = = = 0, 061032863 < 10−1
x1 0, 852

y1 − y0 1, 3016 − 1, 2
ERy1 =
= = 0, 078057775 < 10−1
y1 1, 3016

Assim, a solução do sistema utilizando o método iterativo linear para sistemas não linea-
res, com erro relativo inferior a 10−1 , é (x, y) = (0, 852; 1, 3016).

Questão 17 Usando o método de Newton determine, com precisão de 10−3 , uma raiz
para cada um dos seguintes sistemas não lineares:

(a)

3x2 y − y 3 = 4
x2 + xy 3 = 9 com (x0 , y0 ) = (2; 2.5),

(b)

x2 + y 2 − 1 = 0
1
x2 + y 2 + = 0 com (x0 , y0) = (1; 3),
2
(c)

(x − 1)2 + y 2 = 4
x2 + (y − 1)2 = 4 com (x0 , y0 ) = (2; 1).

Solução:

(a) Considere o sistema linear

3x2 y − y 3 = 4
x2 + xy 3 = 9 com (x0 , y0 ) = (2; 2.5).

94
Fazendo-se

3x2 y − y 3 − 4 = f (x, y)
x2 + xy 3 − 9 = g(x, y),

temos:

fx (x, y) = 6xy, fy (x, y) = 3(x2 − y 2 ), gx (x, y) = 2x + y 3 e gy (x, y) = 3xy 2.

A seguir é apresentada a sequência gerada a partir da condição inicial (x0 , y0 ) = (2; 2, 5),
utilizando o processo iterativo de Newton para sistemas não lineares, com erro inferior a
10−3 .
 
f · gy − g · fy
xk+1 = xk − ,
J(f, g)
(xk ,yk )
 
g · fx − f · gx
yk+1 = yk − ,
J(f, g)
(xk ,yk )

para k = 0, 1, 2, 3, ..., onde J(f, g) = fx gy − fy gx .

Para k = 0, temos:
f (x0 , y0) = 3x20 y0 − y03 − 4 = 10, 375
g(x0 , y0 ) = x20 + x0 y03 − 9 = 26, 25
fx (x0 , y0 ) = 6x0 y0 = 30
fy (x0 , y0 ) = 3(x20 − y02) = −6, 75
gx (x0 , y0) = 2x0 + y03 = 19, 625
gy (x0 , y0 ) = 3x0 y02 = 37, 5
J(f, g) = (fx gy − fy gx )|(x0 ,y0 ) = 1257, 46875

   
f gy − gfy 10, 375 · 37, 5 − 26, 25 · (−6, 75)
x1 = x0 − =2− = 1, 549690599
J(f, g) (x0 ,y0 ) 1257, 46875
   
gfx − f gx 26, 25 · 30 − 10, 375 · 19, 625
y1 = y0 − = 2, 5 − = 2, 03566192
J(f, g) (x0 ,y0 ) 1257, 46875


x1 − x0 1, 549690599 − 2
ERx1 = = = 0, 290580197 > 10−3
x1 1, 549690599

y1 − y0 2, 03566192 − 2, 5
ERy1 = = = 0, 228101766 > 10−3
y1 2, 03566192

Para k = 1, temos:
f (x1 , y1) = 3x21 y1 − y13 − 4 = 2, 230557371
g(x1 , y1 ) = x21 + x1 y13 − 9 = 6, 474140459
fx (x1 , y1 ) = 6x1 y1 = 18, 92787684
fy (x1 , y1 ) = 3(x21 − y12) = −5, 2271355
gx (x1 , y1) = 2x1 + y13 = 11, 53500023

95
gy (x1 , y1 ) = 3x1 y12 = 19, 26537906
J(f, g) = (fx gy − fy gx )|(x1 ,y1 ) = 424, 9477313

 
f gy − gfy
x2 = x1 −
J(f, g) (x1 ,y1 )
 
2, 230557371 · 19, 26537906 − 6, 474140459 · (−5, 2271355)
= 1, 549690599 −
424, 9477313
= 1, 36893015
 
gfx − f gx
y2 = y1 −
J(f, g) (x1 ,y1 )
 
6, 474140459 · 18, 92787684 − 2, 230557371 · 11, 53500023
= 2, 03566192 −
424, 9477313
= 1, 807840364

x2 − x1 1, 36893015 − 1, 549690599
ERx2 = = = 0, 132045049 > 10−3
x2 1, 36893015

y2 − y1 1, 807840364 − 2, 03566192
ERy2 = = = 0, 126018624 > 10−3
y2 1, 807840364

Para k = 2, temos:
f (x2 , y2) = 3x22 y2 − y23 − 4 = 0, 25497373
g(x2 , y2 ) = x22 + x2 y23 − 9 = 0, 962349351
fx (x2 , y2 ) = 6x2 y2 = 14, 84884308
fy (x2 , y2 ) = 3(x22 − y22) = −4, 182951078
gx (x2 , y2) = 2x2 + y23 = 8, 646401065
gy (x2 , y2 ) = 3x2 y22 = 13, 42216894
J(f, g) = (fx gy − fy gx )|(x2 ,y2 ) = 235, 471153

 
f gy − gfy
x3 = x2 −
J(f, g) (x2 ,y2 )
 
0, 25497373 · 13, 42216894 − 0, 962349351 · (−4, 182951078)
= 1, 36893015 −
235, 471153
= 1, 337300965
 
gfx − f gx
y3 = y2 −
J(f, g) (x2 ,y2 )
 
0, 962349351 · 14, 84884308 − 0, 25497373 · 8, 646401065
= 1, 807840364 −
235, 471153
= 1, 75651701

x3 − x2 1, 337300965 − 1, 36893015
ERx3 = = = 0, 023651508 > 10−3
x3 1, 337300965

y3 − y2 1, 75651701 − 1, 807840364
ERy3 = = = 0, 029218819 > 10−3
y3 1, 75651701

96
Capı́tulo 5

Interpolação Polinomial

Neste capı́tulo serão apresentadas técnicas para determinar aproximações de funções por
polinômios. A necessidade de se efetuar esta aproximação surge em várias situações,
dentre elas podemos citar:

• quando conhecemos apenas os valores numéricos da função em alguns pontos e


precisamos calcular o valor da função em um ponto não tabelado;

• quando a função em estudo tem uma expressão tal que operações como diferenciação
e a integração são difı́ceis de serem realizadas.

A escolha de funções polinomiais para a aproximação se deve ao fato de que os po-


linômios são facilmente computáveis, suas raı́zes podem ser determinadas de forma rela-
tivamente simples e suas derivadas e integrais são, também, funções polinomiais.

5.1 O conceito de Interpolação


Considerando n + 1 pontos distintos: x0 , x1 , x2 , ..., xn , e os valores de f nesses pontos
f0 = f (x0 ), f1 = f (x1 ), ..., fn = f (xn ), a forma de interpolação de f que será apresentada
a seguir, consiste em se obter uma determinada função g tal que:



 g(x0 ) = f (x0 )


g(x ) = f (x )
1 1
 .
.. .
..




g(x ) = f (x )
n n

Teorema 8 Dados n + 1 pontos distintos x0 , x1 , x2 , ..., xn (reais ou complexos) e n + 1


valores f0 = f (x0 ), f1 = f (x1 ), ..., fn = f (xn ) existe um e só um polinômio Pn (x), de
grau menor ou igual a n, tal que

Pn (xk ) = fk , para k = 0, 1, ..., n. (5.1)

Demonstração: Seja
Pn (x) = a0 + a1 x + a2 x2 + ... + an xn ,

97
um polinômio de grau no máximo n, com n + 1 coeficientes a0 , a1 , a2 , ..., an a serem
determinados.
Considerando (5.1), temos:

2 n
 a0 + a1 x0 + a2 x0 + ... + an x0 = f0



 a0 + a1 x1 + a2 x2 + ... + an xn = f1 ,
1 1
. (5.2)

 .
.


 a + a x + a x2 + ... + a xn = f
0 1 n 2 n n n n

o qual pode ser interpretado como um sistema linear nas variáveis a0 , a1 , a2 , ..., an .

Para mostrar que o polinômio Pn (x) é único, devemos mostrar que o sistema linear (5.2)
admite uma única solução. Assim, consideremos o determinante da matriz dos coeficien-
tes, dado por:

1 x · · · xn
0 0

1 x1 · · · xn1
V = V (x0 , x1 , x2 , ..., xn ) = . . .. , (5.3)
.
. .
. .

1 xn · · · xnn

chamado determinante de Vandermonde.

A seguir, calcularemos V . Para isto, considere a função V (x) definida por:



1 x
0 · · · xn0

1 x1 · · · xn1
V (x) = V (x0 , x1 , x2 , ..., xn−1 , x) = ... .. .. .

. . (5.4)
n
1 xn−1 · · · xn−1

1 x · · · xn

Note que V (x) é um polinômio de grau menor ou igual a n e, além disso, V (x) se anula
em x0 , x1 , ..., xn−1 . Assim, podemos escrever:

V (x) = V (x0 , x1 , x2 , ..., xn−1 , x) = A(x − x0 )(x − x1 ) · ... · (x − xn−1 ), (5.5)

98
onde A depende de x0 , x1 , x2 , ..., xn−1 .

Desenvolvendo (5.4) segundo os elementos da última linha, temos:



x
0 x 2
0 · · · x n
0
1 x2 · · · xn
0 0

1 x0 · · · x0n−1

n n
x1 2
x1 · · · x1 2
1 x1 · · · x1
n
1 x1 · · · x1n−1
V (x) = 1 .
.. +x
.. .. .. .. +...+x .. .. .. .
..

. . . . . . . .
n−1
xn−1 x2n−1 · · · xnn−1 1 x2n−1 · · · xnn−1 1 xn−1 · · · xn−1

Observe que o coeficiente de xn é V (x0 , x1 , ..., xn−1 ). Logo,

V (x) = V (x0 , x1 , ..., xn−1 , x) = V (x0 , x1 , ..., xn−1 )(x − x0 ) · ... · (x − xn−1 ). (5.6)

Substituindo x por xn na equação anterior, obtemos a seguinte fórmula de recorrência:

V (xn ) = V (x0 , x1 , ..., xn−1 )(xn − x0 )(xn − x1 ) · ... · (xn − xn−1 ). (5.7)

De (5.3), temos que: V (x0 , x1 ) = x1 − x0 . Assim, considerando a equação anterior,


podemos escrever:

V (x0 , x1 , x2 ) = V (x0 , x1 )(x2 − x0 )(x2 − x1 ) = (x1 − x0 )(x2 − x0 )(x2 − x1 )(5.8)


V (x0 , x1 , x2 , x3 ) = V (x0 , x1 , x2 )(x3 − x0 )(x3 − x1 )(x3 − x2 ) (5.9)
= (x1 − x0 )(x2 − x0 )(x2 − x1 )(x3 − x0 )(x3 − x1 )(x3 − x2 ) (5.10)

Por aplicações sucessivas de (5.10), obtemos:


Y
V (x0 , x1 , x2 , ..., xn ) = (xi − xj ).
i>j

Por hipótese, os pontos x0 , x1 , ..., xn são distintos. Assim, V 6= 0 e o sistema (5.2) admite
uma única solução.

Portanto, dados n+1 pontos distintos x0 , x1 , ..., xn e n+1 valores f (x0 ) = f0 , f (x1 ) = f1 ,
..., f (xn ) = fn de uma função y = f (x), existe um único polinômio Pn (x) de grau no
máximo n tal que a relação (5.1) é válida.

5.2 Fórmula de Lagrange


Sejam x0 , x1 , x2 , ..., xn , n + 1 pontos distintos, fi = f (xi ), ∀i = 0, 1, ..., n e pn (x)
o polinômio de grau menor ou igual a n que interpola f em x0 , x1 , ..., xn . Podemos
representar pn (x) na forma

pn (x) = f0 ℓ0 (x) + f1 ℓ1 (x) + f2 ℓ2 (x) + ... + fn ℓn (x),

onde Lk (x) são polinômios de grau n. Para cada i, a condição pn (xi ) = fi deve ser
satisfeita, ou seja,

pn (xi ) = f0 ℓ0 (xi ) + f1 ℓ1 (xi ) + f2 ℓ2 (xi ) + ... + fn ℓn (xi ) = fi .

99
Para que a condição acima seja satisfeita, basta impor

0, se k 6= i
ℓk (xi ) =
1, se k = i

Dessa forma defini-se ℓk (x), como


(x − x0 )(x − x1 ) · ... · (x − xk−1 )(x − xk+1 ) · ... · (x − xn )
ℓk (x) = (5.11)
(xk − x0 )(xk − x1 ) · ... · (xk − xk−1 )(xk − xk+1 ) · ... · (xk − xn ),
Considerando ℓk como definido em 5.11, é fácil verificar que
ℓk (xk ) = 1 e ℓk (xi ) = 0 se i 6= k. (5.12)
Além disso,
n
X
pn (xi ) = fk ℓk (xi ) = fi ℓi (xi ) = fi . (5.13)
k=0

Assim, a fórmula de Lagrange para o polinômio interpolador é dada por:


n
X
pn (x) = fk ℓk (x), (5.14)
k=0

onde
Qn
i=0,j6=k (x − xi )
ℓk (x) = Qn (5.15)
i=0,j6=k (xk − xi )

Note que, considerando a fórmula de Lagrange dada pela equação (5.14) e a fórmula dos
ℓk (x), dada por (5.11) e fazendo
Πn+1 (x) = (x − x0 )(x − x1 ) · ... · (x − xn ), (5.16)
podemos escrever a expressão para ℓk (x), como:
Πn+1 (x)
ℓk (x) = , (5.17)
(x − xk )Π′n+1 (xk )
d

onde Π′n+1 (xk ) = dx
(Πn+1 (x)) x=x .
k

De fato, calculando inicialmente Π′n+1 (x), obtemos:


d
Π′n+1 (x) = (x − x0 )(x − x1 )(x − x2 ) · ... · (x − xk ) · ... · (x − xn−1 ) [(x − xn )] +
|dx {z }
=1
+(x − x0 )(x − x1 ) · ... · (x − xk ) · ... · (x − xn−2 )(x − xn ) + ...+
+(x − x0 )(x − x1 ) · ... · (x − xk−1 )(x − xk+1 ) · ... · (x − xn ) + ...+
+(x − x0 )(x − x2 ) · ... · (x − xk ) · ... · (x − xn )+
+(x − x1 ) · ... · (x − xk ) · ... · (x − xn )
Fazendo-se x = xk , obtemos:
Π′n+1 (xk ) = (xk − x0 )(xk − x1 ) · ... · (xk − xk−1 )(xk − xk+1 ) · ... · (xk − xn ),

100
Logo, dividindo Πn+1 (x) por (x − xk )Π′n+1 (xk ), obtemos:

Πn+1 (x) (x − x0 )(x − x1 ) · ...(x − xk−1 )(x − xk )(x − xk+1 ) · ... · (x − xn )



=
(x − xk )Πn+1 (xk ) (x − xk )(xk − x0 )(xk − x1 ) · ... · (xk − xk−1 )(xk − xk+1 ) · ... · (xk − xn )

(x − x0 )(x − x1 ) · ...(x − xk−1 )(x − xk+1 ) · ... · (x − xn )


=
(xk − x0 )(xk − x1 ) · ... · (xk − xk−1 )(xk − xk+1 ) · ... · (xk − xn )
= ℓk (x).

Exemplo 8 Determine o polinm̂io interpolador de grau 2 para os pontos tabelados a


seguir:

x −1 0 2
f (x) 4 1 −1

Solução: Pela forma de Lagrange, temos que:

p2 (x) = f0 ℓ0 (x) + f1 ℓ1 (x) + f2 ℓ2 (x),

onde
(x − x1 )(x − x2 ) (x − 0)(x − 2) x2 − 2x
ℓ0 (x) = = = ,
(x0 − x1 )(x0 − x2 ) (−1 − 0)(−1 − 2) 3
(x − x0 )(x − x2 ) (x − (−1))(x − 2) x2 − x − 2
ℓ1 (x) = = = ,
(x1 − x0 )(x1 − x2 ) (0 − (−1))(0 − 2) −2
(x − x0 )(x − x1 ) (x − (−1))(x − 0) x2 + x
ℓ2 (x) = = = .
(x2 − x0 )(x2 − x1 ) (2 − (−1))(2 − 0) 6
Assim,      
x2 − 2x x2 − x − 2 x2 + x
p2 (x) = 4 · +1· + (−1) ·
3 −2 6
2 7
= x2 − x + 1
3 3

5.2.1 Esquema prático


Consideremos a fórmula de Lagrange dada pela equação (5.14) e a fórmula dos ℓk (x) dada
pela equação (5.17).
Primeiramente, calculamos as diferenças:

x − x0 x0 − x1 x0 − x2 · · · x0 − xn
x1 − x0 x − x1 x1 − x2 · · · x1 − xn
x2 − x0 x2 − x1 x − x2 · · · x2 − xn
.. .. .. ..
. . . .
xn − x0 xn − x1 xn − x2 ··· x − xn

Denotando o produto dos elementos da primeira linha por D0 , o da segunda linha por D1
e assim por diante, observe que D0 é exatamente o denominador de ℓ0 (x) em (5.17), D1

101
o denominador de ℓ1 (x), etc. Além disso, o produto dos elementos da diagonal principal
será Πn+1 (x) e, então, segue que:

Πn+1 (x)
ℓk (x) = , k = 0, 1, ..., n.
Dk
Assim, a fórmula de Lagrange se reduz a:
n n
X Πn+1 (x) X fk
Pn (x) = fk = Πn+1 (x) .
k=0
Dk k=0
D k

Pn fk
Fazendo-se s = k=0 Dk , a equação acima pode ser reescrita como:

Pn (x) = Πn+1 (x)s.

Portanto, podemos obter o valor do polinômio em um ponto não tabelado, através do


esquema a seguir:

fk
k Πi=0,i6=k (xk − xi ) Dk = (x − xk )Πi=0,i6=k (xk − xi ) fk Dk
f0
0 (x0 − x1 )(x0 − x2 )(x0 − x3 )...(x0 − xn ) D0 = (x − x0 )Πi=0,i6=k (x0 − xi ) f0 D0
f1
1 (x1 − x0 )(x1 − x2 )(x1 − x3 )...(x1 − xn ) D1 = (x − x1 )Πi=0,i6=k (x1 − xi ) f1 D1
f2
2 (x2 − x0 )(x2 − x1 )(x2 − x3 )...(x2 − xn ) D2 = (x − x2 )Πi=0,i6=k (x2 − xi ) f2 D2
.. .. .. .. ..
. . . . .
fn
n (xn − x0 )(xn − x1 )(xn − x3 )...(xn − xn−1 ) Dn = (x − xn )Πi=0,i6=k (xn − xi ) fn Dn

Note que, a soma dos elementos da última coluna da tabela fornece o valor de s.

5.2.2 Fórmula de Lagrange para pontos igualmente espaçados


Consideremos a fórmula de Lagrange dada pela equação (5.14) e a expressão para ℓk (x)
dada por (5.11).

Supondo que os pontos xi sejam igualmente espaçados, ou seja, xi+1 − xi = h, i =


0, 1, 2, ..., n − 1 e, considerando u = x−x
h
0
, temos:

x − x0 = uh
x − x1 = x − (x0 + h) = x − x0 − h = uh − h = (u − 1)h,
x − x2 = x − (x0 + 2h) = x − x0 − 2h = uh − 2h = (u − 2)h,
..
.
x − xk−1= x − (x0 + (k − 1)h) = x − x0 − (k − 1)h = uh − (k − 1)h = (u − (k − 1))h,
x − xk+1= x − (x0 + (k + 1)h) = x − x0 − (k + 1)h = uh − (k + 1)h = (u − (k + 1))h,
..
.
x − xn = x − (x0 + nh) = x − x0 − nh = uh − nh = (u − n)h

102
e

xk − x0 = (k − 0)h = kh,
xk − x1 = (k − 1)h,
xk − x2 = (k − 2)h,
..
.
xk − xk−1= (k − (k − 1))h,
xk − xk+1= (k − (k + 1))h,
..
.
xk − xn = (k − n)h,

Substituindo as expressões acima em (5.11), obtemos:

uh(u − 1)h(u − 2)h · ... · (u − (k − 1))h(u − (k + 1))h · ... · (u − n)h


ℓk (x0 + uh) =
kh(k − 1)h(k − 2)h · ... · (k − (k − 1))h(k − (k + 1))h · ... · (k − n)h

hn [u(u − 1)(u − 2) · ... · (u − (k − 1))(u − (k + 1)) · ... · (u − n)]


=
hn [k(k − 1)(k − 2) · ... · (k − (k − 1))(k − (k + 1)) · ... · (k − n)]
u(u − 1)(u − 2) · ... · (u − (k − 1))(u − (k + 1)) · ... · (u − n)
=
k(k − 1)(k − 2) · ... · (k − (k − 1))(k − (k + 1)) · ... · (k − n)
Assim, fazendo-se ℓk (x0 + uh) = λk (u), a equação (5.14) pode ser reescrita como:
n
X
Pn (x0 + uh) = fk λk (u).
k=0

Exemplo 9 Seja f a função dada por

x −1 0 1
f (x) −4 −1 2

Determinar f (0, 5) usando polinômio de interpolação para pontos igualmente espaçados.

Solução: Como temos a disposição três pontos tabelados, então o polinômio será:
2
X
p2 (x0 + uh) = fk λk (u) = f0 λ0 (u) + f1 λ1 (u) + f2 λ2 (u),
k=0

onde
(u − 1)(u − 2) u2 − 3u + 2
λ0 (u) = = ,
(0 − 1)(0 − 2) 2
u(u − 2) u2 − 2u
λ1 (u) = = ,
1(1 − 2) −1
u(u − 1) u2 − u
λ2 (u) = = .
2(2 − 1) 2
Assim,      
u2 − 3u + 2 u2 − 2u u2 − u
p2 (x0 + uh) = −4 −1 +2
2 −1 2

103
= −2u2 + 6u − 4 + u2 − 2u + u2 − u
= 3u − 4
Note que, embora tenhamos três pontos tabelados, o polinômio determinado é de primeiro
grau. Isto ocorre, porque os pontos tabelados estão sobre a reta de equação y = 3x − 1.
Para determinar f (0, 5), devemos inicialmente calcular o valor de u para x = 0, 5. Assim,
temos:
x − x0 0, 5 − (−1)
u= = = 1, 5.
h 1
Portanto,
f (0, 5) ≈ p2 (1, 5) = 3 · (1, 5) − 4 = 0, 5.

5.3 Fórmula de Newton para o polinômio


interpolador
Consideremos que f seja uma função contı́nua e que possua derivadas contı́nuas em (a, b),
e além disso, que os pontos x0 , x1 , ..., xn sejam distintos em [a, b]. Suponha que Pn (x)
seja o polinômio de Lagrange de n-ésimo grau tal que f (xi ) = Pn (xi ), i = 0, 1, ..., n, da
forma:

Pn (x) = a0 +a1 (x − x0 )+a2(x − x0 )(x − x1 )+...+an (x − x0 )(x − x1 )...(x − xn−1 ), (5.18)

para as constantes apropriadas a0 , a1 , ..., an .


Para determinar a0 , note que calculando-se Pn (x) em x0 , obtemos:

a0 = Pn (x0 ) = f (x0 ). (5.19)

De maneira análoga, quando P (x) é calculado em x1 , obtemos:

Pn (x) = a0 + a1 (x1 − x0 ) ∴ f (x1 ) = f (x0 ) + a1 (x1 − x0 )

f (x1 ) − f (x0 )
∴ a1 = .
x1 − x0
Vamos, agora, introduzir a notação de diferenças divididas. A diferença dividida de ordem
zero da função f com relação a xi , indicada como f [xi ], é simplesmente o valor de f em
xi :
f [xi ] = f (xi ).
As diferenças divididas restantes são definidas indutivamente. A diferença dividida de
primeira ordem de f com relação a xi e xi+1 é indicada como f [xi , xi+1 ] e é definida como

f [xi+1 ] − f [xi ]
f [xi , xi+1 ] = .
xi+1 − xi

A diferença dividida de segunda ordem, f [xi , xi+1 , xi+2 ], é definida como:

f [xi+1 , xi+2 ] − f [xi , xi+1 ]


f [xi , xi+1 , xi+2 ] = .
xi+2 − xi

104
Do mesmo modo, a diferença dividida de ordem k é dada por:
f [xi+1 , xi+2 , ..., xi+k ] − f [xi , xi+1 , ..., xi+(k−1) ]
f [xi , xi+1 , xi+2 , ..., xi+k ] = .
xi+k − xi
Com esta notação, temos a0 = f [x0 ] e a1 = f [x0 , x1 ]. Logo, a equação (5.18) pode ser
reescrita como:

Pn (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + a2 (x − x0 )(x − x1 ) + ... + an(x − x0 )(x − x1 )...(x − xn−1 ).

Assim, calculando-se Pn (x) em x2 , obtemos:

Pn (x2 ) = f [x0 ] + f [x0 , x1 ](x2 − x0 ) + a2 (x2 − x0 )(x2 − x1 )


f [x2 ] − f [x0 ] − f [x0 , x1 ](x2 − x0 )
∴ a2 =
(x2 − x0 )(x2 − x1 )
f [x2 ] − f [x0 ] 1 f [x0 , x1 ]
∴ a2 = −
(x − x ) (x − x1 ) (x2 − x1 )
| 2 {z 0 } 2
f [x0 ,x2 ]

f [x0 , x2 ] − f [x0 , x1 ]
∴ a2 =
x2 − x1
∴ a2 = f [x0 , x1 , x2 ].
Indutivamente, temos que as constantes restantes são dadas por:

ak = f [x0 , x1 , ..., xk ],

para k = 0, 1, ..., n. Assim, a expressão para Pn (x) pode ser reescrita como:
n
X
Pn (x) = f [x0 ] + f [x0 , x1 , ..., xk ](x − x0 )(x − x1 )...(x − xk−1 ).
k=1

A equação acima é conhecida como fórmula interpoladora das diferenças divididas de


Newton.

Exemplo 10 Determine o polinômio interpolador de Newton para os dados de f tabelados


a seguir
x f (x)
1, 0 0, 7651977
1, 3 0, 6200860
1, 6 0, 4554022
1, 9 0, 2818186
2, 2 0, 1103623
A seguir, calcule o valor aproximado de f (1, 5).

Solução: Os coeficientes do polinm̂io interpolador na fórmula de Newton estão indicados


na tabela na diagonal da tabela seguir e foram calculados utilizando o programa descrito
no Anexo 3.1.

105
0 xi f [xi ] = f (xi ) f [xi−1 , xi ] f [xi−2 , xi−1 , xi ] f [xi−3 , ..., xi ] f [xi−4 , ..., xi ]
1 1, 0 0, 7651977
−0, 4837057
2 1, 3 0, 6200860 −0, 1087339
−0, 5489460 0, 0658784
3 1, 6 0, 4554022 −0, 0494433 0, 0018251
−0, 5786120 0, 0680685
4 1, 9 0, 2818186 0, 0118183
−0, 5715210
5 2, 2 0, 1103623

Assim, temos:

p4 (x) = 0, 7651977 − 0, 4837057(x − 1, 0) − 0, 1087339(x − 1, 0)(x − 1, 3)+


+0, 0658784(x − 1, 0)(x − 1, 3)(x − 1, 6)+
+0, 0018251(x − 1, 0)(x − 1, 3)(x − 1, 6)(x − 1, 9)
O valor aproximado de f (1, 5) é:

f (1, 5) ≈ p4 (1, 5) = 0, 5118200.

5.4 Fórmula de Newton-Gregory para o polinômio


interpolador
Para o caso em que os pontos de interpolação x0 , x1 , ..., xn são igualmente espaçados,
podemos usar a forma de Newton-Gregory para obter Pn (x). Para deduzir a fórmula
incialmente introduziremos a notação para o operador de diferenças ordinárias.

Sejam x0 < x1 < x2 < ... < xn , (n+ 1) pontos igualmente espaçados, ou seja, xi = x0 + ih,
para i = 0, 1, ..., n. Chamamos operador de diferenças ordinárias:

∆f (x) = f (x + h) − f (x)

∆2 f (x) = ∆f (x + h) − ∆f (x)
..
.
∆n f (x) = ∆n−1 f (x + h) − ∆n−1 f (x)
e, naturalmente ∆0 f (x) = f (x).
A seguir é apresentado um teorema que relaciona o operador diferença ordinária com a
diferença diferença dividida.

Teorema 9 Se xi = x0 + ih, para i = 0, 1, 2, ..., n, então

∆n f (x0 )
f [x0 , x1 , ..., xn ] = .
hn n!

106
Demostração: A prova deste teorema será feita utilizando-se indução sobre n.
Para n = 1, temos:

f (x1 ) − f (x0 ) f (x − 0 + h) − f (x0 ) ∆f (x0 )


f [x0 , x1 ] = = = .
x1 − x0 h h(1!)
∆n−1 f (x0 )
Supondo que f [x0 , x1 , ..., xn−1 ] = hn−1 (n−1)!
, temos:

f [x1 , x2 , ..., xn ] − f [x0 , x1 , ..., xn−1 ]


f [x0 , x1 , ..., xn ] =
xn − x0

∆n−1 f (x1 ) ∆n−1 f (x0 )



hn−1 (n − 1)! hn−1 (n − 1)!
=
nh
∆ f (x0 + h) − ∆n−1 f (x0 )
n−1
=
hn−1 (n − 1)!nh
∆n f (x0 )
= .
hn n!

Portanto, partindo da forma de Newton para Pn (x) e usando o teorema anterior, temos
que:
∆f (x0 ) ∆2 f (x0 )
Pn (x) = f (x0 ) + (x − x0 ) + (x − x0 )(x − x1 ) + ... +
h 2h2
∆n f (x0 )
+(x − x0 )(x − x1 )...(x − xn−1 )
hn n!
que é a forma de Newton-Gregory para o polinômio interpolador.

Exemplo 11 Determine o polinômio interpolador de Newton-Gregory para os dados de


f tabelados a seguir

x f (x)
1, 0 0, 7651977
1, 3 0, 6200860
1, 6 0, 4554022
1, 9 0, 2818186
2, 2 0, 1103623

A seguir, calcule o valor aproximado de f (1, 5).

Solução: Os coeficientes do polinômio interpolador na fórmula de Newton-Gregory estão


indicados na tabela na diagonal da tabela seguir e foram calculados utilizando o programa
descrito no Anexo 3.2.

107
0 xi ∆0 f = f (xi ) ∆1 f ∆2 f ∆3 f ∆4 f
1 1, 0 0, 7651977
−0, 1451117
2 1, 3 0, 6200860 −0, 0195721
−0, 1646838 0, 0106723
3 1, 6 0, 4554022 −0, 0088998 0, 000354799
−0, 1735836 0, 0110271
4 1, 9 0, 2818186 0, 0021273
−0, 1714563
5 2, 2 0, 1103623

Assim, temos:

(−0, 1451117) (−0, 0195721)


p4 (x) = 0, 7651977 + (x − 1, 0) + (x − 1, 0)(x − 1, 3) +
0, 3 2!(0, 3)2

(0, 0106723)
+(x − 1, 0)(x − 1, 3)(x − 1, 6) +
3!(0, 3)3
(0, 000354799)
+(x − 1, 0)(x − 1, 3)(x − 1, 6)(x − 1, 9)
4!(0, 3)4
O valor aproximado de f (1, 5) é:

f (1, 5) ≈ p4 (1, 5) = 0, 5118199942.

5.5 Erro na Interpolação Polinomial


Ao se aproximar uma função f por um polinômio interpolador Pn (x) sobre um conjunto
de pontos distintos x0 , x1 , ..., xn , comete-se um erro, ou seja,

En (x) = f (x) − Pn (x), para todo x no intervalo [x0 , xn ].

Note que o estudo do erro é importante para sabermos se o polinômio interpolador é uma
boa aproximação para f .

Teorema 10 Sejam x0 < x1 < ... < xn , n + 1 pontos e f contı́nua em [x0 , xn ] com
derivadas até ordem (n + 1) para todo x pertencente ao intervalo (x0 , xn ). Se Pn (x)
é o polinômio interpolador de f nos pontos x0 , x1 , ..., xn , então em qualquer ponto x
pertencente ao intervalo [x0 , xn ], o erro é dado por

f (n+1) (ξx )
En (x) = f (x) − Pn (x) = (x − x0 )(x − x1 )...(x − xn ) ,
(n + 1)!

onde ξx ∈ (x0 , xn ).

Demonstração: Seja G(x) = (x − x0 )(x − x1 )...(x − xn ), ∀x ∈ [x0 , xn ]. Então para x = xi


temos f (xi ) = Pn (xi ), pois G(xi ) = 0 implica En (xi ) = 0. Assim, a fórmula do erro está

108
correta para x = xi , com i = 0, 1, ..., n.
Para cada x ∈ (x0 , xn ), com x 6= xi , defina uma função auxiliar H(t) por

H(t) = En (x)G(t) − En (x)G(x), t ∈ (x0 , xn ).

Note que, H(t) possui derivadas até ordem n + 1, pois, por hipótese G(t) é um polinômio
de grau n + 1 e portanto admite derivadas até ordem n + 1. Também por hipótese f (t)
possui derivada até ordem n + 1 e Pn (t) possui derivadas até ordem n + 1. Assim,

En (t) = f (t) − Pn (t)

possui derivadas até ordem n + 1.

Verificaremos agora que H(t) possui pelo menos (n + 2) zeros no intervalo [x0 , xn ].
Para t = xi , i = 0, 1, ..., n temos que En (t) = 0 e G(t) = 0, donde H(xi ) = En (x)G(xi ) −
En (xi )G(x) = 0, i = 0, 1, ..., n e, para t = x, H(x) = En (x)G(x) − En (x)G(x) = 0.
Assim, x0 , x1 , ..., xn , x são zeros de H(t).
Portanto, podemos aplicar sucessivamente o Teorema de Rolle a H(t), H ′ (t), ..., H (n) (t).
Assim,

H ′ (t) possui pelo menos n + 1 zeros em (x0 , xn );

H ′′ (t) possui pelo menos n zeros em (x0 , xn );


..
.

H (n+1) (t) possui pelo menos um zero em (x0 , xn ).

Mas,

H(t) = En (x)G(t) − E(t)G(x) ⇒ H (n+1) (t) = En (x)G(n+1) (t) − En(n+1) (t)G(x).

Como Pn (t) é um polinômio de grau n, temos que

En(n+1) = f (n+1) (t) − Pn(n+1) (t) = f (n+1) (t).

Além disso,

G(t) = (t − x0 )(t − x1 )...(t − xn ) ⇒ G(n+1) (t) = (n + 1)!

Assim,
H (n+1) (t) = En (x)(n + 1)! − f (n+1) (t)G(x).
Considerando ξx ∈ (x0 , xn ) um zero de H(n + 1)(t), temos:

H (n+1) (ξx ) = En (x)(n + 1)! − f (n+1) (ξx )G(x) = 0

f (n+1) (ξx )
∴ En (x) = G(x)
(n + 1)!
f (n+1) (ξx )
∴ En (x) = (x − x0 )(x − x1 )...(x − xn )
(n + 1)!

109
Limitante para o Erro
Observe que na prática a fórmula para o erro

f (n+1) (ξx )
En (x) = (x − x0 )(x − x1 )...(x − xn ) , ξx ∈ (x0 , xn )
(n + 1)!

tem uso limitado, pois são raras as situações em que conhecemos f (n+1) (x), e o ponto ξx
nunca é conhecido.
A importância da fórmula exata para En (x) é teórica, uma vez que é usada na obtenção das
estimativas de erro para as fórmulas de interpolação, diferenciação e integração numérica.
A seguir será apresentado um corolários do Teorema 3, que relaciona o erro com um limi-
tante de f (n + 1)(x).

Corolário 3 Sob as hipóteses do Teorema 2, se f n+1 (x) for contı́nua em I = [x0 , xn ],


podemos escrever a seguinte relação:
Mn+1
|En (x)| = |f (x) − Pn (x)| ≤ |(x − x0 )(x − x1 )...(x − xn )| ,
(n + 1)!

onde Mn+1 = max |f (n+1) (x)|.


x∈I

Estimativa para o Erro


Se a função f é dada na forma de tabela, o valor absoluto do erro |En (x)| só pode
ser estimado. Isto porque, neste caso, não é possı́vel calcular Mn+1 . No entanto, se
construirmos a tabela de diferenças divididas até ordem n + 1, podemos usar o maior
Mn+1
valor (em módulo) destas diferenças como uma aproximação para no intervalo
(n + 1)!
[x0 , xn ].
Neste caso, dizemos que

|En (x)| ∼
= |(x − x0 )(x − x1 )...(x − xn )| (max |diferenças divididas de ordem n + 1|) .

110
5.6 Exercı́cios
1. Utilize o polinômio interpolador de Lagrange de grau 1, 2 e 3 para aproximar f (xi )
e g(xi ), sendo:

(a) xi = 8,4, f (8,1) = 16,94410, f (8,3) = 17,56492, f (8,6) = 18,50515, f (8,7) =


18,82091;
(b) xi = − 31 , g(−0,75) = −0,07181250, g(−0,5) = −0,02475000, f (−0,25) =
0,33493750, f (0,0) = 1,10100000.
(c) xi = 0,9, h(0,6) = −0,17694460, h(0,7) = 0, 01375227, h(0,8) = 0,22363362,
h(1,0) = 0,65809197

2. Os dados dos itens (a), (b) e (c) do exercı́cio 1 foram gerados, respectivamente, pelas
funções f (x) = x ln x, g(x) = x3 + 4,001x2 + 4,002x + 1,101 e h(x) = sin (ex − 2).
Utilize a fórmula do erro para determinar um limitante para o erro e compare o
limite com o erro verdadeiro para n = 1 e n = 2.

3. Utilize a fórmula interpoladora de diferenças divididas de Newton e aproxime f (xi )


para os dados tabelados a seguir.

(a) xi = 0,05
x 0,0 0,2 0,4 0,6 0,8
f (x) 1,00000 1,22140 1,49182 1,82212 2,22554

(b) xi = 0,21
x 0,1 0,2 0,3 0,4
f (x) −0,62049958 −0,28398668 0,00660095 0,24842440

f (n+1) (ξx )
4. Mostre que f [x0 , x1 , ..., xn , x] = para qualquer ξx ∈ (x0 , x).
(n + 1)!
5. Conhecendo-se o diâmetro e a resistividade de um fio cilı́ndrico, verificou-se a re-
sistência do fio de acordo com o comprimento. Os dados obtidos estão indicados a
seguir.
Comp. (m) 500 1000 1500 2000 2500 3000 3500 4000
Resist. (Ohms) 2,74 5,48 7,90 11,00 13,93 16,43 20,24 23,52

Determine quais as prováveis resitências deste fio para os comprimentos de 1730 m


e 3200 m.

6. Sendo 200 candelas a intensidade de uma lâmpada, foi calculada a iluminação em


casos de incidência normal sobre a superfı́cie situada a distâncias conhecidas, quando
para cada distância foi calculada a iluminação, conforme a tabela a seguir.
Distância (m) 1, 00 1, 25 1, 50 1, 75 2, 00 2, 25 2, 50
Iluminação (lux) 200, 00 128, 00 88, 39 65, 30 50, 00 39, 50 32, 00

111
Determine a iluminação quando a superfı́cie estiver situada a 1, 60 m da lâmpada e
2, 38 m da lâmpada.

7. Considere a função f = f (x, y), cujos pontos são tabelados a seguir:

x
y 75 100 125 150
42, 5 89 90 91 93
65, 0 72 78 82 87
81, 5 54 68 72 79
100, 0 35 55 64 70
120, 5 13 45 51 61

Obtenha uma aproximação para f (110, 98), usando interpolação:

(a) linear;
(b) quadrática;
(c) cúbica

nas duas dimensões.


Dica: A função f = f (x, y) pode ser aproximada da seguinte forma: realiza-se
as interpolações em uma das direções (variáveis), por exemplo, y. Considerando a
interpolação cúbica, obtém-se os pontos A, B, C e D, conforme ilustra a Figura a
seguir. Em seguida, interpola-se a função na outra direção, sobre a linha tracejada,
utilizando os pontos intermediários.

112
Anexo 3.1 - Fórmula de Newton
Program Newton
!-------------------------------------------------------------------------------------------------------------
! Este programa determina o valor aproximado de f em um ponto x, utilizando o polin^omio interpolador
! de Newton, sobre os valores f nos pontos x0, x1, ..., xn, onde x0<=x<=xn.
!-------------------------------------------------------------------------------------------------------------
Implicit None

! Declaraç~
ao das variáveis

Integer:: i, j, n
Double Precision:: ponto, fponto, faux, soma
Double Precision, Allocatable, Dimension(:):: x, f, prod
Double Precision, Allocatable, Dimension(:,:):: DifDiv

Open(9,File=’Dados.txt’) ! Abrindo os arquivos dos dados tabelados

Read(9,*) n ! Lendo o número de linhas da tabela


Read(9,*) ponto !Lendo o valor de x a ser interpolado

Allocate(x(n), f(n), DifDiv(n,n), prod(n))

Do i=1,n !Lendo os pontos (x,f(x)) tabelados.


Read(9,*) x(i), f(i)
Write(*,*) ’x(’, i, ’)=’, x(i), ’f(x’, i, ’)=’, f(i)
End Do

!-------------------------------------------------------------------------------------------------------------
! Cálculo das diferenças divididas
!-------------------------------------------------------------------------------------------------------------
DifDiv(:,:)=0.0d0
DifDiv(:,1)=f(:)

Do j=2,n
Do i=j,n
DifDiv(i,j)=(DifDiv(i,j-1)-DifDiv(i-1,j-1))/(x(i)-x((i+1)-j))
End Do
End Do

!-------------------------------------------------------------------------------------------------------------
! Cálculo dos produtos (x-x0), (x-x0)*(x-x1), (x-x0)*(x-x1)*(x-x2), ...
!-------------------------------------------------------------------------------------------------------------
Prod(1)=1.0d0

Do i=2,n
Prod(i)=(ponto-x(i-1))*Prod(1)
Prod(1)=Prod(i)
End Do

!-------------------------------------------------------------------------------------------------------------
! Fórmula de Newton do polin^
omio interpolador: p(x)=DifDiv(1,1)+(x-x0)*Dif(2,2)+(x-x0)*(x-x1)*Dif(3,3)+...
!-------------------------------------------------------------------------------------------------------------
Soma=0.0d0

Do i=2,n
faux=soma+DifDiv(i,i)*Prod(i)
Soma=faux
End Do

fponto=DifDiv(1,1)+faux
Write(*,*) ’p(’, ponto, ’)=’, fponto

!-------------------------------------------------------------------------------------------------------------
End Program

113
Anexo 3.2 - Fórmula de Newton-Gregory
Program NewtonGregory
!-------------------------------------------------------------------------------------------------------------
! Este programa determina o valor aproximado de f em um ponto x, utilizando o polin^omio interpolador
! de Newton, sobre os valores f nos pontos igualmente espaçados x0, x1, ..., xn, onde x0<=x<=xn.
!-------------------------------------------------------------------------------------------------------------
Implicit None
! Declaraç~
ao das variáveis
Integer:: i, j, k, n, Fat, Fataux Double Precision:: ponto, fponto, h, faux, soma
Double Precision, Allocatable, Dimension(:):: x, f, prod
Double Precision, Allocatable, Dimension(:,:):: Dif

Open(9,File=’Dados.txt’) ! Abrindo os arquivos dos dados tabelados

Read(9,*) n ! Lendo o número de linhas da tabela


Read(9,*) ponto !Lendo o valor de x a ser interpolado

Allocate(x(n), f(n), Dif(n,n), prod(n))

Do i=1,n !Lendo os pontos (x,f(x)) tabelados.


Read(9,*) x(i), f(i)
Write(*,*) ’x(’, i, ’)=’, x(i), ’f(x’, i, ’)=’, f(i)
End Do

h=(x(n)-x(1))/(n-1)

!--------------------------------------------------------------------------------------------------------
! Cálculo das diferenças ordinárias
!--------------------------------------------------------------------------------------------------------
Dif(:,:)=0.0d0
Dif(:,1)=f(:)
Do j=2,n
Do i=1,(n-(j-1))
Dif(i,j)=Dif(i+1,j-1)-Dif(i,j-1)
End Do
End Do
!--------------------------------------------------------------------------------------------------------
! Cálculo dos produtos (x-x0), (x-x0)*(x-x1), (x-x0)*(x-x1)*(x-x2), ...
!--------------------------------------------------------------------------------------------------------
Prod(1)=1.0d0
Do j=2,n
Prod(j)=(ponto-x(j-1))*Prod(1)
Prod(1)=Prod(j)
End Do
!--------------------------------------------------------------------------------------------------------
! Fórmula de Newton-Gregory do polin^ omio interpolador: p(x)=Dif(1,1)+(x-x0)*(Dif(1,2)/h*1!)+...
!--------------------------------------------------------------------------------------------------------
Soma=0.0d0
Do i=2,n
Fataux=1 !Cálculo do fatorial
Do k=1,i-1
Fat=Fataux*k
Fataux=Fat
End Do
faux=Soma+(Prod(i)*Dif(1,i)*(1.0d0/Fat)*(1.0d0/(h**(i-1))))
Soma=faux
End Do

fponto=Dif(1,1)+faux

Write(*,*) ’p(’, ponto, ’)=’, fponto

!--------------------------------------------------------------------------------------------------------
End Program

114
Anexo 3.3 - Fórmula de Lagrange
Program Lagrange
!-------------------------------------------------------------------------------------------------------------
! Este programa determina o valor aproximado de f em um ponto x, utilizando o polin^omio interpolador
! de Lagrange linear, de segundo e terceiro graus, sobre os valores tabelados de f nos pontos
! x0, x1, ..., xn, sendo x0<=x<=xn.
!-------------------------------------------------------------------------------------------------------------
Implicit None

Integer:: n, grau, i, iref, irefaux


Double Precision:: ponto, fponto
Double Precision, Allocatable, Dimension(:):: x, f

Open(9,File=’Dados.txt’) ! Abrindo o arquivo com os dados tabelados

Read(9,*) n !Lendo o número de linhas da tabela


Read(9,*) ponto !Lendo o valor de x a ser interpolado

Allocate(x(n), f(n))

Do i=1,n !Lendo os pontos (x,f(x)) tabelados.


Read(9,*) x(i), f(i)
End Do

!-------------------------------------------------------------------------------------------------------------
! Determinando a posiç~
ao do ponto a ser interpolado na tabela.
!-------------------------------------------------------------------------------------------------------------
Do i=1,n
If (x(i)>=ponto) Then
irefaux=i
exit
End If
End Do

!-------------------------------------------------------------------------------------------------------------
! Escolhendo o grau do polin^omio de Lagrange a ser adotado
!-------------------------------------------------------------------------------------------------------------
Write(*,*) ’Escolha o grau do polin^
omio de Lagrange a ser adotado’
Write(*,*) ’1 - polin^
omio Linear;’
Write(*,*) ’2 - polin^
omio de segundo grau;’
Write(*,*) ’3 - polin^
omio de terceiro grau’
Read(*,*) grau
!-------------------------------------------------------------------------------------------------------------

If (grau==1) Then
iref=irefaux
fponto=Lagrange2Pontos(f(iref-1),f(iref),x(iref-1),x(iref),ponto)
Write(*,*) fponto
End If

If (grau==2) Then
iref=irefaux
If (irefaux==n) Then !Ajuste do ı́ndice de refer^
encia
iref=irefaux-1
End If
fponto=Lagrange3Pontos(f(iref-1),f(iref),f(iref+1),x(iref-1),x(iref),x(iref+1),ponto)
Write(*,*) fponto
End If

If (grau==3) Then
iref=irefaux
If (irefaux==2) Then !Ajuste do ı́ndice de refer^
encia
iref=irefaux+1
End If

115
If (irefaux==n) Then !Ajuste do ı́ndice de refer^
encia
iref=irefaux-1
End If
fponto=Lagrange4Pontos(f(iref-2),f(iref-1),f(iref),f(iref+1),x(iref-2),x(iref-1),x(iref),x(iref+1),ponto)
Write(*,*) fponto
End If

Contains

!-------------------------------------------------------------------------------------------------------------
Double Precision Function Lagrange2Pontos(f0, f1, x0, x1, x)

! Esta funç~
ao aproxima uma funç~
ao real f por um polin^
omio interpolador de primeiro grau que passe pelos
! pontos x0 e x1 distintos, para o qual f(x0)=f0 e f(x1)=f1. Obtendo um valor aproximado para f(x), onde
! x0<=x<=x1.

Double Precision:: L0, L1, f0, f1, x0, x1, x

L0=(x-x1)/(x0-x1)
L1=(x-x0)/(x1-x0)

Lagrange2Pontos=(L0*f0)+(L1*f1)

End Function Lagrange2Pontos

!-------------------------------------------------------------------------------------------------------------

Double Precision Function Lagrange3Pontos(f0, f1, f2, x0, x1, x2, x)

! Esta funç~
ao aproxima uma funç~
ao real f por um polin^
omio interpolador de segundo grau que passe
! pelos pontos x0, x1 e x2 distintos, para o qual f(x0)=f0, f(x1)=f1 e f(x2)=f2. Obtendo
! um valor aproximado para f(x), onde x0<x1<x2 e x0<=x<=x2.

Double Precision:: L0, L1, L2, f0, f1, f2, x, x0, x1, x2

L0=((x-x1)*(x-x2))/((x0-x1)*(x0-x2))
L1=((x-x0)*(x-x2))/((x1-x0)*(x1-x2))
L2=((x-x0)*(x-x1))/((x2-x0)*(x2-x1))

Lagrange3Pontos=(L0*f0)+(L1*f1)+(L2*f2)

End Function Lagrange3Pontos

!-------------------------------------------------------------------------------------------------------------

Double Precision Function Lagrange4Pontos(f0, f1, f2, f3, x0, x1, x2, x3, x)

! Esta funç~
ao aproxima uma funç~
ao real f por um polin^
omio interpolador de terceiro grau que passe
! pelos pontos x0, x1, x2 e x3 distintos, para o qual f(x0)=f0, f(x1)=f1, f(x2)=f2 e f(x3)=f3. Obtendo
! um valor aproximado para f(x), onde x0<x1<x2<x3 e x0<=x<=x3.

Double Precision:: L0, L1, L2, L3, f0, f1, f2, f3, x, x0, x1, x2, x3

L0=((x-x1)*(x-x2)*(x-x3))/((x0-x1)*(x0-x2)*(x0-x3))
L1=((x-x0)*(x-x2)*(x-x3))/((x1-x0)*(x1-x2)*(x1-x3))
L2=((x-x0)*(x-x1)*(x-x3))/((x2-x0)*(x2-x1)*(x2-x3))
L3=((x-x0)*(x-x1)*(x-x2))/((x3-x0)*(x3-x1)*(x3-x2))
Lagrange4Pontos=(L0*f0)+(L1*f1)+(L2*f2)+(L3*f3)

End Function Lagrange4Pontos

!-------------------------------------------------------------------------------------------------------------

End Program

116
Anexo - Respostas dos exercı́cios propostos
n Pn (8,4) n Pn (− 31 ) n Pn (0, 9)
1 17, 87833 1 0, 21504167 1 0, 44086280
1. (a) (b) (c)
2 17, 87716 2 0, 16988889 2 0, 43841352
3 17, 87714 3 0, 17451852 3 0, 44198500

n Verd. Limite n Verd. Limite


2. (a) 1 0, 00118 0,00120 (b) 1 4, 0523 × 10 −2
4, 5153 × 10−2
2 1, 367 × 10−5 1, 452 × 10−5 2 4, 6296 × 10−3 4, 6296 × 10−3

n Verd. Limite
(c) 1 2, 7296 × 10 −3
1, 4080 × 10−2
2 5, 1789 × 10−3 9, 2215 × 10−3

3. (a) f (0, 05) ≈ 1, 05126 (b) f (0, 21) ≈ −0, 255519082563

4. Dica: f (x) = pn (x) + En (x)


(n+1) (ξ )
= pn (x) + (x − x0 )(x − x1 ) · ... · (x − xn ) f (n+1)! x

pn+1 (x) = pn (x) + f [x0 , x1 , ..., xn , x] · [(x − x0 )(x − x1 ) · ... · (x − xn )]

5. (a) f (1730) ≈ 9, 26818998926 (b) f (3200) ≈ 17, 6942377984

6. (a) f (1, 60) ≈ 77, 8200396800 (b) f (2, 38) ≈ 35.4861657275

117
Capı́tulo 6

Integração Numérica

Do Cálculo, sabemos que se f é uma função contı́nua no intervalo [a, b], então
Z b
f (x)dx = F (b) − F (a),
a

onde F denota a função primitiva de f , satisfazendo F ′ (x) = f (x).


No entanto, em alguns casos, escrever a função primitiva por meio de combinações finitas
de funções elementares não é tão simples. Considere, por exemplo, a integral que compõe
a Função Erro1 , definida por
Z x
2 2
erf (x) = √ e−t dt.
π 0

Note que, a integral acima não pode ser calculada por meio de funções elementares e,
dessa forma, uma técnica de aproximação deve ser utilizada.
Neste capı́tulo estudaremos formas de se obter aproximações para a integral de f = f (x)
em um intervalo [a, b], através de métodos numéricos.

6.1 Aproximando f por polinômios


A idéia básica deste método é substituir a função f por um polinômio que a aproxime,
de forma razoável, no intervalo [a, b]. Assim, o problema fica resumido pela inegração de
polinômios.
Logo, as fórmulas terão a forma:
Z b Z xn
f (x)dx = f (x)dx = A0 f (x0 ) + A1 f (x1 ) + ... + An f (xn ),
a x0

onde os coeficientes Ai são determinados de acordo com o grau do polinômio interpolador.


1
fornece a probabilidade de que qualquer evento de uma série de experimentos se encontre em um
intervalo de x unidades em torno da√média, assumindo-se que os experimentos tenham uma distribuição
normal com édia 0 e desvio padrão 22 .

118
6.1.1 Regra dos Trapézios
Considerando um polinômio interpolador de grau 1 para a função f = f (x), podemos
escrever: Z b Z xn  
(x − x1 ) (x − x0 )
f (x)dx ≈ f0 + f1 dx.
a x0 (x0 − x1 ) (x1 − x0 )
x−x0
Fazendo-se a mudança de variáveis h
= u, temos:

x − x1 = x − (x0 + h) = uh − h = (u − 1)h
x = x0 ⇒ u=0
x = x1 ⇒ u=1
Logo, Z Z  
b 1
(u − 1) · h (u · h)
f (x)dx ≈ f0 + f1 hdu
a 0 (−h) (h)
 Z 1 Z 1 
= h f0 (u − 1)du + f1 udu
0 0
"  1
  2  1 #
u2 u
= h f0 u − + f1
2 0 2 0
 
1 1
= h f0 · + f1 ·
2 2
h
= [f0 + f1 ]
2
h
Note que, [f0 + f1 ] representa a área do trapézio de altura h = x1 − x0 e bases f (x0 ) e
2
f (x1 ), veja a Figura ...

Erro na Regra dos Trapézios


Sabe-se que, considerando um polinômio interpolador de grau 1, tem-se:

f ′′ (ξx )
f (x) = p1 (x) + (x − x0 )(x − x1 ) , com ξx ∈ (x0 , x1 ).
2!
Integrando f no intervalo [x0 , x1 ], tem-se:
Z x1 Z x1 Z x1
f ′′ (ξx )
f (x)dx = p1 (x)dx + (x − x0 )(x − x1 ) dx
x0 x0 x0 2!

Portanto, o erro na integração pela regra dos trapézios é dado por


Z x1
f ′′ (ξx )
E= (x − x0 )(x − x1 ) dx.
x0 2!

Integrando a expressão acima, obtemos:

h3 ′′
E=− f (c), onde c ∈ (x0 , x1 ).
12

119
Note que, para intervalos grandes de integração, a regra dos trapézios nos fornece resulta-
dos distantes do valor exato na integral. Para melhorar este resultado, podemos subdividir
o intervalo de integração e aplicar a regra dos trapézios sobre estes subintervalos.
Considerando uma subdivisão do intervalo [a, b], em pontos xi , tais que, xi+1 − xi = h,
com i = 0, 1, ..., n − 1, temos:
Z b Z x1 Z x2 Z xn
f (x)dx = f (x)dx + f (x)dx + ... + f (x)dx
a x0 x1 xn−1

n−1 Z
X xi+1
= f (x)dx
i=0 xi

n−1
X h
≈ [f (xi ) + f (xi+1 )]
i=0
2
h
≈ [f (x0 ) + 2f (x1 ) + 2f (x2 ) + ... + 2f (xn−1 ) + f (xn )]
2

Neste caso, o erro cometido na aproximação da integral é dado por:

nh3 ′′
E=− f (ξ).
12
b−a
Como n = , temos:
h
(b − a)h2
|E| ≤ M,
12
sendo M = maxx∈[a,b] |f ′′ (x)|.

Exemplo 12 (a) Usando a Regra dos Trapézios com h = 0, 2, calcule uma aproximação
para: Z 1,2
e−x sin xdx.
0

(b) Determine o número mı́nimo de subdivisões de modo que o erro seja inferior a 10−3 .

b−a 1, 2 − 0
Solução: (a) Considerando h = 0, 2, teremos n = = = 6 subintervalos. A
h 0, 2
tabela a seguir apresenta as imagens da função f nos pontos x0 , x1 , ..., x6 .

i xi f (xi )
0 0,0 0, 000000000
1 0,2 0, 162656690
2 0,4 0, 261034921
3 0,6 0, 309882359
4 0,8 0, 322328869
5 1,0 0, 309559875
6 1,2 0, 280724778

120
Assim, aplicando a regra dos Trapézios repetida, temos:
Z 1,2
0, 2
e−x sin xdx ≈ [0, 0 + 2 · 0, 162656690 + 2 · 0, 261034921+
0 2
+2 · 0, 309882359 + 2 · 0, 322328869+
+2 · 0, 309559875 + 0, 280724778]
≈ 0, 30116502
É possı́vel calcular o limitante para o erro cometido na aplicação da regra dos trapézios,
a partir da fórmula
(b − a)h2
|E| ≤ M,
12
sendo M = maxx∈[a,b] |f ′′ (x)|.

Como a função f ′′ (x) = −2e−x cos x é uma função crescente e assume valores negativos
no intervalo [0, 1,2], temos que M = maxx∈[a,b] |f ′′(x)| = |f ′′(0)| = 2. Assim,

(1, 2 − 0)0, 22
|E| ≤ · 2 = 0,008.
12
Observe que o cálculo analı́tico da integral acima é dado por:
Z 1,2   1,2
−x 1 −x 1 −x
e sin xdx = − e cos x − e sin x ≈ 0, 3050675819.
0 2 2 0

Assim, o erro verdadeiramente cometido no cálculo pela regra dos trapézios é dado por:

|E| = |0, 3050675819 − 0, 30116502| = 0, 003902561 ≤ 0,008.

(b)
(b − a)h2
|E| ≤ 0, 001 ⇒ M ≤ 0, 001
12
(1,2 − 0)h2
⇒ · 2 ≤ 0, 001
12
⇒ h ≤ 0, 070710678
Logo,
(b − a) 1,2 − 0
n≥ ⇒ n≥ = 16, 97056275
h 0, 070710678
Portanto, devemos tomar n ≥ 17, para obtermos uma aproximação com erro menor que
10−3 .

A Tabela 6.2 apresenta uma comparação dos valores da integral utilizando a regra dos
trapézios para diferentes valores de n. Os dados da tabela foram gerados com o programa
do Anexo ...

121
Tabela 6.1: Comparação dos valores da integral utilizando a regra dos trapézios para
diferentes valores de n.
n Calculado Erro
1 0,168434866782 0,136632715089
2 0,270146849170 3,492073270038E-02
3 0,289490471742 1,557711012837E-02
4 0,296294537221 8,773044649231E-03
5 0,299449627792 5,617954077939E-03
6 0,301165021091 3,902560779285E-03
7 0,302199862447 2,867719423863E-03
8 0,302871720288 2,195861582639E-03
9 0,303332437321 1,735144549081E-03
10 0,303662032107 1,405549763192E-03
11 0,303905919967 1,161661903427E-03
12 0,304091430908 9,761509628118E-04
13 0,304235810539 8,317713315025E-04
14 0,304350376647 7,172052235485E-04
15 0,304442806147 6,247757233879E-04
16 0,304518455186 5,491266846113E-04
17 0,304581152803 4,864290669288E-04
18 0,304633695095 4,338867750204E-04
19 0,304678162403 3,894194672867E-04
20 0,304716128427 3,514534438083E-04
21 0,304748801383 3,187804872336E-04
22 0,304777121326 2,904605439538E-04
23 0,304801828522 2,657533483372E-04
24 0,304823512316 2,440695548876E-04
25 0,304842646603 2,249352674741E-04
26 0,304859615944 2,079659268701E-04
27 0,304874735033 1,928468376814E-04
28 0,304888263397 1,793184731926E-04
29 0,304900416607 1,671652638503E-04
30 0,304911374914 1,562069565836E-04
31 0,304921289978 1,462918926731E-04
32 0,304930290138 1,372917323340E-04
33 0,304938484590 1,290972808174E-04
34 0,304945966710 1,216151608092E-04
35 0,304952816730 1,147651405491E-04
36 0,304959103896 1,084779740542E-04
37 0,304964888226 1,026936442666E-04
38 0,304970221945 9,735992545667E-05
39 0,304975150670 9,243120025676E-05
40 0,304979714389 8,786748105888E-05
41 0,304983948274 8,363359640112E-05
42 0,304987883359 7,969851130091E-05
43 0,304991547114 7,603475691442E-05
44 0,304994963921 7,261794987601E-05
45 0,304998155485 6,942638555713E-05
46 0,305001141178 6,644069253253E-05
47 0,305003938332 6,364353794946E-05
48 0,305006562495 6,101937540648E-05
49 0,305009027642 5,855422847434E-05
50 0,305011346366 5,623550421441E-05

6.1.2 Regra de Simpson


Aproximando a função f por um polinômio de grau 2, nos pontos x0 = a, x1 = x0 + h e
x2 = x0 + 2h = b, temos:
Z b Z xn  
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
f (x)dx ≈ f0 + f1 + f2 dx.
a x0 (x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )

122
x−x0
Fazendo-se a mudança de variáveis h
= u, temos:
x − x1 = x − (x0 + h) = uh − h = (u − 1)h
x − x2 = x − (x0 + 2h) = uh − 2h = (u − 2)h
x = x0 ⇒ u=0
x = x2 ⇒ u=2
Z b Z 2 
(u − 1)h(u − 2)h (uh)(u − 2)h (uh)(u − 1)h
f (x)dx ≈ f0 + f1 + f2 hdu.
a 0 (−h)(−2h) (h)(−h) (2h)(h)
 Z 2 Z 2 Z 2 
h 2 2 2
≈ f0 (u − 3u + 2)du − 2f1 (u − 2u)du + f2 (u − u)du
2 0 0 0
"   2  3   3  #
3 2 2 2 2 2
h u 3u u 2u u u
≈ f0 − + 2u − 2f1 − + f2 −
2 3 2 0 3 2
0 3 2 0
 
h 2 8 2
≈ f0 + f1 + f2
2 3 3 3
h
≈ [f0 + 4f1 + f2 ]
3

A expressão para o erro na fórmula de Simpson é dada por:


h5 (iv)
E=− f (c), com c ∈ (x0 , x2 ).
90
Para melhorar o resultado, podemos subdividir o intervalo de integração em pontos x0 ,
x1 , ..., xn igualmente espaçados, ou seja, h = xi+1 − xi . Note que, a condição necessária
para obter cada parábola é utilizar três pontos consecutivos, dessa forma, deve-se impor
que n seja par.
Assim, em cada par de subintervalos, temos:
Z 2k  5 
h h (iv) n
f (x)dx = [f (x2k−2 ) + 4f (x2k−1 ) + f (x2k )]+ − f (ck ) , com k = 1, 2, ..., .
x2k−2 3 90 2
Logo,
Z xn
h
f (x)dx ≈ {[f (x0 ) + 4f (x1 ) + f (x2 )] + [f (x2 ) + 4f (x3 ) + f (x4 )] + ...+
x0 3 + [f (x ) + 4f (x ) + f (x )]}
n−2 n−1 n
h
≈ {[f (x0 ) + f (xn )] + 4 [f (x1 ) + f (x3 ) + ... + f (xn−1 )] +
3
+ 2 [f (x2 ) + f (x4 ) + ... + f (xn )]}
 n n

 2 2 
h  X X
≈ f (x0 ) + f (xn ) + 4 f (x2k−1 ) + 2 f (x2k )
3 k=1 k=1

Supondo que f (iv) é contı́nua em [x0 , xn ], temos que o erro cometido nesta aproximação é
dado por:
nh5 (iv)
E=− f (ξ), ξ ∈ (x0 , xn ).
180
Exemplo 13 Determine os valores de n e h necessários para aproximar
Z 2
e2x sin 3xdx,
0
−4
com precisão de 10 . Use regra de Simpson composta.

123
3
6.1.3 Regra 8 de Simpson generalizada
Sabe-se que a fórmula de Newton-Cotes conhecida como Regra 38 de Simpson é dada por:
Z x3
3
f (x)dx ∼
= h (f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )) .
x0 8

Note que, dividindo o intervalo [a, b] em um número de subintervalos de amplitude h =


b−a
3n
, de modo que
x0 = a e x3n = b.
Assim,
Z x3n Z x3 Z x6 Z x9 Z x3n
f (x)dx = f (x)dx + f (x)dx + f (x)dx + ... + f (x)dx
x0 x0 x3 x6 x3n−3

Aproximando cada integral acima pela Regra 83 de Simpson obtemos:


Z x3n
3
f (x)dx ∼
= h (f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 ))
x0 8
3
+ h (f (x3 ) + 3f (x4 ) + 3f (x5 ) + f (x6 )) +
8
3
+ h (f (x6 ) + 3f (x7 ) + 3f (x8 ) + f (x9 )) + ...+
8
3
+ h (f (x3n−3 ) + 3f (x3n−2 ) + 3f (x3n−1 ) + f (x3n ))
8
Na expressão acima vemos que com exceção da f calculada em x0 e x3n , as f calculadas
nos pontos extremos do intervalo de integração aparecem duas vezes. Portanto, podemos
escrever:
Z x3n
3
f (x)dx ∼
= h [f (x0 ) + 3f (x1 ) + 3f (x2 ) + 2f (x3 ) + 3f (x4 ) + 3f (x5 ) + 2f (x6 ) + 3f (x7 )+
x0 8

+ 3f (x8 ) + 2f (x9 ) + ... + 2f (x3n−3 ) + 3f (x3n−2 ) + 3f (x3n−1 ) + f (x3n )] ,


3
que é a Regra 8
de Simpson Generalizada.

6.2 Quadratura Gaussiana


As fórmulas de integração estudadas até aqui foram obtidas integrando-se polinômios in-
terpoladores de grau n e são exatas quando utilizadas para aproximar funções polinomias
de grau menor ou igual a n. Isto deve-se ao fato de que o erro envolvido na aproximação
da função f por um polinômio de grau n envolve uma derivada de ordem n + 1.

Também foi considerada a restrição de pontos uniformemente espaçados para a aplicação


das regras compostas de integração, no entanto, essa utilização pode diminuir significati-
vamente a precisão da aproximação. De fato, considere a aplicação da regra Trapezoidal
para determinar a integral da função cujo gráfico é apresentado na Figura ??.

124
Rb
Neste caso, obtém-se uma aproximação para a f (x)dx, integrando a função afim que
passa pelos pontos extremos de f no intervalo [a, b]. Entretanto, esta nem sempre é a me-
lhor linha para aproximar a integral. Observe que, a aproximação seria melhor se outros
pontos fossem escolhidos, conforme ilustra a Figura ??.

O método de Quadratura Gaussiana, que será apresentado nesta seção, consiste em esco-
lher os pontos x0 , x1 , ..., xn e os coeficientes c1 , c2 , ..., cn de modo que o erro esperado
no cálculo da aproximação seja minimizado.
Z b n
X
f (x)dx ≈ c0 f (x0 ) + c1 f (x1 ) + ... + cn f (xn ) = ci f (xi ).
a i=0

Dessa forma temos 2n + 2 parâmetros a escolher. Se os coeficientes de um polinômio


são considerados parâmetros, a classe dos polinômios de grau no máximo 2n + 1 também
contém 2n + 2 parâmetros. Assim, essa é a maior classe de polinômios para os quais é
razoável esperar que a fórmula resulte em um valor exato. Portanto, a exatidão nesse
conjunto pode ser obtida com a escolha apropriada dos valores e constantes.

A seguir é apresentado o procedimento de escolha dos parâmetros apropriados, selecio-


nando os coeficientes e nós quando n = 1 e o intervalo de integração [−1, 1], ou seja,
queremos determinar x0 , x1 , c0 e c1 , tais que
Z b
f (x)dx ≈ c0 f (x0 ) + c1 f (x1 )
a

seja exata para polinômios de grau menor ou igual a 3.

Assim, a quadratura gaussiana dá resultados exatos quando f é igual a 1, x, x2 e x3 .


Logo,
Z 1
f (x) = 1 ⇒ c0 f (x0 ) + c1 f (x1 ) = c0 · 1 + c1 · 1 = 1dx = 2
−1
Z 1
f (x) = x ⇒ c0 f (x0 ) + c1 f (x1 ) = c0 · x0 + c1 · x1 = xdx = 0
−1
Z 1
2
f (x) = x2
⇒ c0 f (x0 ) + c1 f (x1 ) = c0 · x20 + c1 · x21 = x2 dx =
−1 3
Z 1
f (x) = x3 ⇒ c0 f (x0 ) + c1 f (x1 ) = c0 · x30 + c1 · x30 = x3 dx = 0
−1

Portanto, resumimos o problema a solução do sistema linear:





 c0 + c1 = 2


c · x + c · x = 0
0 0 1 1
,
 c0 · x + c1 · x = 2
 2 2
 0 1 3


c · x3 + c · x3 = 0
0 0 1 0

125
a qual é dada por √
3
c0 = c1 = 1, x0 = −x1 = − .
3
Portanto, a fórmula de aproximação é dada por:
Z 1 √ ! √ !
3 3
f (x)dx ≈ f − +f (6.1)
−1 3 3

Para um intervalo de integração genérico [a, b], efetuaremos uma mudança de variáveis,
de modo que o intervalo em questão seja transformado em [−1, 1]. Observe a Figura ??.

Note que, neste caso, a expressão para mudança de variáveis adequada é dada pela equação
da reta que passa pelos pontos (a, −1) e (b, 1), ou seja,

2x − a − b 1
u= ⇒ x= [(b − a)u + a + b] .
b−a 2
Logo, a quadratura gaussiana poderá ser aplicada a qualquer intervalo [a, b], já que
Z b Z 1  
(b − a)u + a + b (b − a)
f (x)dx = f dt.
a −1 2 2

A tabela a seguir apresenta os valores das constantes c0 , c1 , ..., cn e dos pontos x0 , x1 , ..., xn
para diferentes valores de n.

Tabela 6.2: Comparação dos valores das constantes c0 , c1 , ..., cn e dos pontos x0 , x1 , ..., xn
para diferentes valores de n.
n xi ci
1 −0, 5773502692 1, 0000000000
0, 5773502692 1, 0000000000
2 −0, 7745966692 0, 5555555556
0, 0000000000 0, 8888888889
0, 7745966692 0, 5555555556
3 −0, 8611363116 0, 3478548451
−0, 3399810436 0, 6521451549
0, 3399810436 0, 6521451549
0, 8611363116 0, 3478548451
4 −0, 9061798459 0, 2369268850
−0, 5384693101 0, 4786286705
0, 0000000000 0, 5688888889
0, 5384693101 0, 4786286705
0, 9061798459 0, 2369268850
5 −0, 9324695142 0, 1713244923
−0, 6612093864 0, 3607615730
−0, 2386191860 0, 4679139345
0, 2386191860 0, 4679139345
0, 6612093864 0, 3607615730
0, 9324695142 0, 1713244923

Z 1,5
2
Exemplo 14 Determine uma aproximação para e−x dx.
1

126
Solução: Inicialmente devemos realizar a mudança de variáveis. Assim, temos:
 
1 1 u 5 1
x = [(1, 5 − 1)u + 1 + 1, 5] = + = (u + 5).
2 2 2 2 4
Para n = 1, temos:
Z 1,5 Z 1
−x2 1 2 1
e dx ≈ e− 16 (u+5) du
1 −1 4
  √ √ 2 
1 − 161 − 33 +5 2

1 3
− 16 +5
≈ e +e 3
= 0, 1094003
4
Para n = 2, temos:
Z 1,5 Z 1
−x2 1 2 1
e dx ≈ e− 16 (u+5) du
1 −1 4
1h 1 2 1 2
≈ (0, 5555555556) · e− 16 (−0,7745966692+5) + (0, 8888888889) · e− 16 (0+5) +
4
1 2
i
+(0, 5555555556) · e− 16 (0,7745966692+5) = 0, 1093642

6.3 Quadratura Adaptativa


Em regiões com grande variação funcional ou pequena variação funcional a utilização de
pontos uniformemente espaçados não é apropriada quando se integra uma função.

Considerando o erro da aproximação distribuı́do em intervalos pares, a utilização de um


espaçamento menor entre os pontos torna-se mais interessante em regiões com grande
variação funcional, enquanto que, em regiões com variação menor pode-se utilizar um
espaçamento maior. Com base nessa ideia, foram desenvolvidos métodos capazes de
adaptar o espaçamento para os requisitos de variação funcional. Estes são denomina-
dos métodos de quadratura adaptativa. Mais especificamente, o método que discutiremos,
b−a
nesta seção, é baseado na regra de Simpson Composta, com espaçamento h = .
2
Rb
Para aproximar a f (x)dx com uma tolerância especificada ε > 0, o primeiro passo do
(b − a)
procedimento é aplicar a regra de Simpson com espaçamento h = . Assim, temos
2
Z b
h h5
f (x)dx = [f (a) + 4f (a + h) + f (b)] − f (iv) (ξ), para algum ξ em (a, b).
a 3 90
(b−a)
A seguir, aplicaremos a regra de Simpson composta com n = 4 e espaçamento 4
= h2 .
Dessa forma,
Z b        
h h 3h 1 h5 (iv) ˜
f (x)dx = f (a) + 4f a + + 2f (a + h) + 4f a + + f (b) − f (ξ) .
a 6 2 2 16 90
Para facilitar a notação, façamos:
h
S(a, b) = [f (a) + 4f (a + h) + f (b)] ,
3
127
     
a+b h h
S a, = f (a) + 4f a + + f (a + h)
2 6 2
e      
a+b h 3h
S ,b = f (a + h) + 4f a + + f (b)
2 6 2
Assim, podemos escrever
Z b      
a+b a+b 1 h5 (iv) ˜
f (x)dx = S a, +S ,b − f (ξ) . (6.2)
a 2 2 16 90

˜ mais precisamente f (iv) (ξ) ≈ f (iv) (ξ),


Assumindo que ξ ≈ ξ, ˜ temos:
     
h5 (iv) a+b a+b 1 h5 (iv) ˜
S(a, b) − f (ξ) ≈ S a, +S ,b − f (ξ) .
90 2 2 16 90
h5 (iv)
Isolando 90
f (ξ), temos:
    
h5 (iv) 16 a+b a+b
f (ξ) ≈ S(a, b) − S a, −S ,b . (6.3)
90 15 2 2

Substituindo (6.3) em (6.2), obtemos:


Z b        
a + b a + b 1 a + b a + b
f (x)dx − S a, −S , b ≈ S(a, b) − S a, −S , b .

a 2 2 15 2 2
  Rb
O resultado anterior mostra que S a, a+b
2
+S a+b
2
, b aproxima a integral a f (x)dx cerca
de 15 vezes melhor do que concorda com o valor S(a, b). Dessa forma, se
   
S(a, b) − S a, a + b − S a + b , b < 15ε,

(6.4)
2 2

esperamos que Z b    
a + b a + b
f (x)dx − S a, − S , b < ε.

a 2 2
 
Assim, assumi-se que S a, a+b2
+ S a+b
2
, b é uma aproximação suficientemente precisa
Rb
para a f (x)dx.

R 1,5 2
Exemplo 15 Determine uma aproximação para 1
e−x dx com uma precisão ε < 10−3 ,
utilizando o método de quadratura adaptativa.

1,5−1
Solução: Aplicando a regra de Simpson para h = 2
= 0, 25, temos:

0,25 h −12 2 2
i
S(1, 1,5) = e + 4e−1,25 + e−1,5 = 0, 109310351
3
1,5−1
Aplicando, agora, a regra de Simpson para h = 4
= 0, 125, temos:

0,125 h −12 2 2 2 2
i
S(1, 1,25)+S(1,25, 1,5) = e + 4e−1,125 + 2e−1,25 + 4e−1,375 + e−1,5 = 0, 109360955
3

128
Assim, uma estimativa para o erro é dada por
1
|Erro| ≈ |S(1, 1,5) − S(1, 1,25) − S(1,25, 1,5)| = 0, 0000033736
15
Como, neste caso, a estimativa para o erro é menor do que 10−3 , tem-se que S(1, 1,25) +
S(1,25, 1,5) = 0, 109360955 é assumida como sendo uma aproximação suficientemente
R 1,5 2
precisa para 1 e−x dx.

Observação: Quando as aproximações em h (6.4) idiferem


h de imais de 15ε, aplicamos a
(a+b) (a+b)
técnica individualmente aos subintervalos a, 2 e a, 2 . Então, usamos o proce-
dimento de estimativa de erro para determinar se a proximação, em cada subintervalo,
está dentro de uma tolerância de 2ε .

Se a aproximação para um dos subintervalos falha em estar dentro da tolerância 2ε , esse


subintervalo é subdividido, e o procedimento é reaplicado aos dois subintervalos para
determinar se a aproximação de cada subintervalo está dentro da tolerância requerida.

6.4 Exercı́cios
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

129
Anexo 1 - Regra dos Trapézios
Program RegraTrapezoidal
!-------------------------------------------------------------------------------------------------------------
! Este programa fornece uma aproximaç~
ao para a integral definida da funç~
ao f=f(x), com limitantes a e b
! utilizando o método trapezoidal para diferentes valores de deltax.
!-------------------------------------------------------------------------------------------------------------
Implicit None

Integer:: i, j, n
Double Precision:: Deltax, a, b, Integral
Double Precision, Allocatable, Dimension(:):: x, f

! Atribuindo valores para os limitantes de integraç~


ao:
a=0.0d0 ! limitante inferior
b=0.5d0 ! limitante superior
n=101 ! Número de pontos do intervalo (Obs.: n deve ser ı́mpar!)

Allocate(x(n),f(n))
!-------------------------------------------------------------------------------------------------------------
! Aplicando a fórmula dos trapézios repetida:
!-------------------------------------------------------------------------------------------------------------

Do j=2,101,2
n=j
Deltax=(b-a)/(n-1)
x(1)=a
x(n)=b
f(1)=Funcao(x(1))
f(n)=Funcao(x(n))
Do i=2,(n-1)
x(i)=a+(i-1)*Deltax
f(i)=2*Funcao(x(i))
End Do
Integral=(Deltax/2)*Sum(f)
Write(*,*) Integral
End Do

Contains

!-------------------------------------------------------------------------------------------------------------
Double Precision Function Funcao(c)

Double Precision:: c

Funcao=2.0d0/(c-4.0d0)

End Function Funcao


!-------------------------------------------------------------------------------------------------------------

End Program

130
Anexo 2 - Regra de Simpson
Program RegraSimpson
!-------------------------------------------------------------------------------------------------------------
! Este programa fornece uma aproximaç~
ao para a integral definida da funç~
ao f=f(x), com limitantes a e b
! utilizando o método de Simpson para diferentes valores de deltax.
!-------------------------------------------------------------------------------------------------------------
Implicit None

Integer:: i, j, n, l
Double Precision:: Deltax, a, b, Integral
Double Precision, Allocatable, Dimension(:):: x, f

! Atribuindo valores para os limitantes de integraç~


ao:
a=0.0d0 ! limitante inferior
b=2.0d0 ! limitante superior
n=101 ! Número de pontos do intervalo (Obs.: n deve ser ı́mpar!)

Allocate(x(n),f(n))

!-------------------------------------------------------------------------------------------------------------
! Aplicando a fórmula de Simpson:
!-------------------------------------------------------------------------------------------------------------

Do j=3,101,2
n=j
Deltax=(b-a)/(n-1)
x(1)=a
x(n)=b
f(1)=Funcao(x(1))
f(n)=Funcao(x(n))
Do i=2,(n-1)
l=i-2.0d0*(Int(i/2.0d0))
If (l==0) Then
x(i)=a+(i-1)*Deltax
f(i)=4.0d0*Funcao(x(i))
Else
x(i)=a+(i-1)*Deltax
f(i)=2.0d0*Funcao(x(i))
End If
End Do
Integral=(Deltax/3)*Sum(f)
Write(*,*) Integral
End Do

Contains

!-------------------------------------------------------------------------------------------------------------
Double Precision Function Funcao(c)

Double Precision:: c

Funcao=1.0d0/(c+4.0d0)

End Function Funcao


!-------------------------------------------------------------------------------------------------------------
End Program

131
Capı́tulo 7

Solução Numérica de EDO’s

Questão 01. Prove que


   
′′′ ∂fx ∂fx dy
′′ ∂fy ∂fy dy ∂f ∂f dy
y =f = + + + f + fy + .
∂x ∂y dx ∂x ∂y dx ∂x ∂y dx
Solução: Sabendo que
dy
y′ = = f (x, y(x)),
dx
df ∂f ∂f dy
y ′′ = f′ = = + = fx + fy f,
dx ∂x ∂y dx
temos:
d ′
y ′′′ = f ′′ = (f )
dx
d
= (fx + fy f )
dx
d d
= (fx ) + (fy f )
dx dx
∂fx ∂fx dy d d
= + + fy (f ) + f (fy )
∂x ∂y dx dx dx
   
∂fx ∂fx dy ∂f ∂f dy ∂fy ∂fy dy
= + + fy + +f +
∂x ∂y dx ∂x ∂y dx ∂x ∂y dx
2 2
= fxx + fxy f + fy fx + fy f + f fyx + f fyy
= fxx + 2fxy f + fyy f 2 + fx fy + fy2 f.

Questão 02. Resolver o seguinte problema de valor inicial:


( 1
y′ = y 3
,
y(0) = 0

com x ∈ [0; 0, 3] e h = 0, 1 utilizando o método de Taylor de ordem 3.

Solução: O método de Taylor de ordem 3 é dado por:


h2 ′ h3 ′′
yn+1 = yn + hfn + f + f . (7.-8)
2 n 3! n
132
1
Como f (x, y(x)) = y ′ = y 3 , obtemos:

∂f ∂f dy 1 1
y ′′ = f ′ = + = y− 3 .
∂x ∂y dx 3
Observe que a deverida segunda de y apresenta uma descontinuidade em x0 = 0, pois
y ′′ (y0 ) não existe. Assim, neste caso, só poderı́amos utilizar o método de Taylor de pri-
meira ordem.

Questão 03. Deduza a fórmula do método de Adams-Moulton para solução de EDO.

Solução: Considere o problema de valor inicial


(
y ′ = f (x, y)
. (7.-7)
y(x0 ) = y0

Seja P (x) o único polinômio de grau 2 passando pelos pontos (xn , fn ), (xn+1 , fn+1 ) e
(xn+2 , fn+2 ).
Considerando que os pontos xi , i = n, n + 1, n + 2 são igualmente espaçados de h, ou seja,
xi = xn + (i − n)h, usando a forma de Newton-Gregory para o polinômio de interpolação,
obtemos:
∆fn ∆2 fn
P (x) = fn + (x − xn ) + (x − xn )(x − xn+1 ) .
h 2!h2
Fazendo-se a mudança de variáveis u = x−x h
n
, temos:

∆fn ∆2 fn
P (x) = P (xn + uh) = fn + uh + uh(u − 1)h
h 2!h2
u(u − 1) 2
= fn + u∆fn + ∆ fn .
2
Integrando a equação diferencial de primeira ordem, do problema de valor inicial dado por
(7.-7), de xn+1 até xn+2 , substituindo y(xn+2 ) e y(xn+1 ) por yn+2 e yn+1 , respectivamente,
e usando o fato que:
Z xn+2 Z xn+2 Z 2

f (x, y(x))dx = P (x)dx = P (xn + uh)hdu,
xn+1 xn+1 1

obtemos:
Z 
2 
u(u − 1) 2
yn+2 − yn+1 = h fn + u∆fn + ∆ fn du
1 2
  3  2
u2 u u2 2
= h fn u + ∆fn + − ∆ fn
2 6 4 1
 2
 3 2
  3  
2 2 2 2 12 1 12 2
= h fn · 2 + ∆fn + − ∆ fn − fn · 1 − ∆fn − − ∆ fn
2 6 4 2 6 4
 
3 5 2
= h fn + ∆fn + ∆ fn . (7.-11)
2 12

133
Sabe-se que as diferenças ordinárias de primeira e segunda ordens são dadas, respectiva-
mente, por:

∆fn = fn+1 − fn (7.-10)


∆2 fn = fn+1 − fn = fn+2 − fn+1 − (fn+1 − fn ) = fn+2 − 2fn+1 + fn (7.-9)

Substituindo-se (7.-10) e (7.-9) em (7.-11), obtemos:


 
3 5
yn+2 − yn+1 = h fn + (fn+1 − fn ) + (fn+2 − 2fn+1 + fn ) .
2 12
Agrupando os termos semelhantes, segue que:
h
yn+2 = yn+1 + [−fn + 8fn+1 + 5fn+2 ] ,
12
que é o método ı́mplicito de 2-passos chamado de Método de Adams-Moulton.

Questão 04. Deduza a fórmula do método de Adams-Bashforth para solução de EDO.

Solução: Seja P (x) o único polinômio de grau 1 passando pelos pontos (xn , fn ) e (xn+1 , fn+1 ).
Considerando que os pontos xi , i = n, n + 1, n + 2 são igualmente espaçados de h, ou seja,
xi = xn + (i − n)h, usando a forma de Newton-Gregory para o polinômio de interpolação,
obtemos:
∆fn
P (x) = fn + (x − xn ) .
h
Fazendo-se a mudança de variáveis u = x−x h
n
, temos:
∆fn
P (x) = P (xn + uh) = fn + uh = fn + u∆fn .
h
Integrando a equação diferencial de primeira ordem, do problema de valor inicial dado por
(7.-7), de xn+1 até xn+2 , substituindo y(xn+2 ) e y(xn+1 ) por yn+2 e yn+1 , respectivamente,
e usando o fato que:
Z xn+2 Z xn+2 Z 2
f (x, y(x))dx ∼
= P (x)dx = P (xn + uh)hdu,
xn+1 xn+1 1

obtemos:
Z 2
yn+2 − yn+1 = h [fn + u∆fn ] du
1
 2
u2
= h fn u + ∆fn
2 1
 
22 12
= h fn · 2 + ∆fn − fn · 1 − ∆fn
2 2
 
3
= h fn + ∆fn . (7.-12)
2
Sabendo-se que a diferença ordinária de primeira é dada por:

∆fn = fn+1 − fn

134
a equação (7.-12) pode ser reescrita como:
 
3
yn+2 − yn+1 = h fn + (fn+1 − fn ) .
2

Agrupando os termos semelhantes, segue que:


h
yn+2 = yn+1 + [−fn + 3fn+1 ] ,
2
que é o método ı́mplicito de 2-passos chamado de Método de Adams-Bashforth.

135
Questão 05. Mostre que fazendo k = 3 em
Z xn+k
y(xn+k ) − y(xn ) = f (x, y(x))dx,
xn

obtém-se
3h
yn+3 = yn + [fn + 3(fn+1 + fn+2 ) + fn+3 ]
8
que é um método implı́cito de 3-passos chamado método 38 de Simpson.
(
y ′ = f (x, y(x))
Solução: Integrando o problema de valor inicial de xn até xn+k , obte-
y(x0 ) = y0
mos: Z xn+k Z xn+k

y dx = f (x, y(x))dx.
xn xn

Agora, desde que o lado esquerdo da expressão acima pode ser integrado exatamente,
obtemos que a solução exata satisfaz a identidade:
Z xn+k
y(xn+k ) − y(xn ) = f (x, y(x))dx.
xn

Fazendo-se k = 3, obtemos:
Z xn+3
y(xn+3 ) − y(xn ) = f (x, y(x))dx.
xn

3
Aproximando-se a integral acima pela fórmula de Newton-Cotes conhecida como Regra 8
de Simpson, e substituindo y(xn+3 ) e y(xn ) por yn+3 e yn , respectivamente, temos:
3
yn+3 − yn = h [f (xn ) + 3f (xn+1 ) + 3f (xn+2 ) + f (xn+3 )] .
8
Para simplificar a notação escreveremos fi no lugar de f (xi ), para i = n, n+ 1, n+ 2, n+ 3.
Assim,
3
yn+3 = yn = h [fn + 3fn+1 + 3fn+2 + fn+3 ] .
8

Questão 06. Considere os seguintes problemas de valor inicial:


(
y′ = y2 + 1
(i) ; 0 ≤ x ≤ 1; h = 0, 2.
y(0) = 0
(
y ′ = −2xy
(ii) ; 0 ≤ x ≤ 0, 6; h = 0, 3.
y(0) = 1
(
y ′ = −xy
(iii) ; 0 ≤ x ≤ 0, 3; h = 0, 1.
y(0) = 2

Resolva-os pelo:

(a) método de Euler;

136
(b) método de Taylor de ordem 2;

(c) regra do ponto médio;

(d) método de Adams-Bashforth;

usando para os itens (c) e (d), o item (b) para obter os valores iniciais necessários.

Solução: (a) A fórmula para o método de Euler é dada por:

yn+1 = yn + hfn . (7.-13)

• Para o problema de valor inicial dado por (i), temos f (x, y) = y 2 +1. Assim, fazendo
n = 0 em (7.-13), obtemos:
y1 = y0 + hf0 .
Note que devemos avaliar f em (x0 , y0). Assim,

f0 = f (x0 , y0) = y02 + 1 = 02 + 1 = 1.

Portanto,
y1 = 0 + 0, 2 · 1 = 0, 2.
Fazendo n = 1 em (7.-13), obtemos:

y2 = y1 + hf1 .

Avaliando f em (x1 , y1 ), temos:

f1 = f (x1 , y1) = y12 + 1 = 0, 22 + 1 = 1, 04.

Portanto,
y2 = 0, 2 + 0, 2 · 1, 04 = 0, 408.
Fazendo n = 2 em (7.-13), obtemos:

y3 = y2 + hf2 .

Avaliando f em (x2 , y2 ), temos:

f2 = f (x2 , y2 ) = y22 + 1 = 0, 4082 + 1 = 1, 166464.

Portanto,
y3 = 0, 408 + 0, 2 · 1, 166464 = 0, 6412928.
Fazendo n = 3 em (7.-13), obtemos:

y4 = y3 + hf3 .

Avaliando f em (x3 , y3 ), temos:

f3 = f (x3 , y3) = y32 + 1 = 0, 64129282 + 1 = 1, 411256455.

137
Portanto,
y4 = 0, 6412928 + 0, 2 · 1, 411256455 = 0, 923544091.
Fazendo n = 4 em (7.-13), obtemos:

y5 = y4 + hf4 .

Avaliando f em (x3 , y3 ), temos:

f4 = f (x4 , y4 ) = y42 + 1 = 0, 9235440912 + 1 = 1, 852933688.

Portanto,
y5 = 0, 923544091 + 0, 2 · 1, 852933688 = 1, 294130829.
Assim, a solução do problema de valor inicial (i) utilizando o método de Euler é
dada por:

xn yn
0 0
0, 2 0, 2
0, 4 0, 408
0, 6 0, 6412928
0, 8 0, 923544091
1, 0 1, 294130829

• Para o problema de valor inicial dado por (ii), temos f (x, y) = −2xy. Assim,
fazendo n = 0 em (7.-13), obtemos:

y1 = y0 + hf0 .

Note que devemos avaliar f em (x0 , y0). Assim,

f0 = f (x0 , y0 ) = −2x0 y0 = −2 · 0 · 1 = 0.

Portanto,
y1 = 1 + 0, 3 · 0 = 1
Fazendo n = 1 em (7.-13), obtemos:

y2 = y1 + hf1 .

Avaliando f em (x1 , y1 ), temos:

f1 = f (x1 , y1) = −2x1 y1 = −2 · 0, 3 · 1 = −0, 6.

Portanto,
y2 = 1 + 0, 3 · (−0, 6) = 0, 82.

Assim, a solução do problema de valor inicial (ii) utilizando o método de Euler é


dada por:

138
xn yn
0 1
0, 3 1
0, 6 0, 82

• Para o problema de valor inicial dado por (iii), temos f (x, y) = −xy. Assim, fazendo
n = 0 em (7.-13), obtemos:
y1 = y0 + hf0 .
Note que devemos avaliar f em (x0 , y0). Assim,

f0 = f (x0 , y0) = −x0 y0 = −0 · 2 = 0.

Portanto,
y1 = 2 + 0, 1 · 0 = 2
Fazendo n = 1 em (7.-13), obtemos:

y2 = y1 + hf1 .

Avaliando f em (x1 , y1 ), temos:

f1 = f (x1 , y1 ) = −x1 y1 = −0, 1 · 2 = −0, 2.

Portanto,
y2 = 2 + 0, 1 · (−0, 2) = 1, 98.
Fazendo n = 2 em (7.-13), obtemos:

y3 = y2 + hf2 .

Avaliando f em (x2 , y2 ), temos:

f2 = f (x2 , y2 ) = −x2 y2 = −0, 2 · 1, 98 = −0, 396.

Portanto,
y3 = 1, 98 + 0, 1 · (−0, 396) = 1, 9404.

Assim, a solução do problema de valor inicial (iii) utilizando o método de Euler é


dada por:

xn yn
0 2
0, 1 2
0, 2 1, 98
0, 3 1, 9404

(b) O método de Taylor de ordem 2 é dado por:


h2 ′
yn+1 = yn + hfn + f , (7.-12)
2 n
onde fn = f (xn , yn ) e fn′ = fx (xn , yn ) + fy (xn , yn )fn .

139
• Para o problema de valor inicial dado por (i), temos:

fn = f (xn , yn ) = yn2 + 1,
fn′ = f ′ (xn , yn ) = 2yn (yn2 + 1).

Fazendo n = 0 em (7.-12), obtemos:


h2 ′
y1 = y0 + hf0 + f.
2 0
Observe que para calcular y1 devemos avaliar f e sua derivada de primeira ordem
em (x0 , y0 ) = (0, 0). Assim,

f0 = f (x0 , y0) = y02 + 1 = 02 + 1 = 1,


f0′ = f ′ (x0 , y0 ) = 2y0 (y02 + 1) = 2 · 0(02 + 1) = 0.

Portanto,
0, 22
y1 = 0 + 0, 2 · 1 + · 0 = 0, 2.
2
Fazendo n = 1 em (7.-12), obtemos:
h2 ′
y2 = y1 + hf1 + f.
2 1
Para calcular y2 devemos avaliar f e sua derivada de primeira ordem em (x1 , y1 ) =
(0, 1; 0, 2). Assim,

f1 = f (x1 , y1 ) = y12 + 1 = 0, 22 + 1 = 1, 04,


f1′ = f ′ (x1 , y1) = 2y1 (y12 + 1) = 2 · 0, 2(0, 22 + 1) = 0, 416.

Portanto,
0, 22
y2 = 0, 2 + 0, 2 · 1, 04 + · 0, 416 = 0, 41632.
2
Fazendo n = 2 em (7.-12), obtemos:
h2 ′
y3 = y2 + hf2 + f.
2 2
Para calcular y3 devemos avaliar f e sua derivada de primeira ordem em (x2 , y2 ) =
(0, 2; 0, 41632). Assim,

f2 = f (x2 , y2 ) = y22 + 1 = 0, 416322 + 1 = 1, 173322342,


f2′ = f ′ (x2 , y2 ) = 2y2 (y22 + 1) = 2 · 0, 41632(0, 416322 + 1) = 0, 976955115.

Portanto,
0, 22
y3 = 0, 41632 + 0, 2 · 1, 173322342 + · 0, 976955115 = 0, 67052357.
2

Fazendo n = 3 em (7.-12), obtemos:


h2 ′
y4 = y3 + hf3 + f.
2 3
140
Para calcular y4 devemos avaliar f e sua derivada de primeira ordem em (x3 , y3 ) =
(0, 3; 0, 67052357). Assim,

f3 = f (x3 , y3 ) = y32 + 1 = 0, 670523572 + 1 = 1, 449601859,


f3′ = f ′ (x3 , y3 ) = 2y3 (y32 + 1) = 2 · 0, 67052357(0, 670523572 + 1) = 1, 9439844227.

Portanto,
0, 22
y4 = 0, 67052357 + 0, 2 · 1, 449601859 + · 1, 9439844227 = 0, 999323363.
2
Fazendo n = 4 em (7.-12), obtemos:
h2 ′
y5 = y4 + hf4 + f.
2 4
Para calcular y5 devemos avaliar f e sua derivada de primeira ordem em (x4 , y4 ) =
(0, 4; 0, 999323363). Assim,

f4 = f (x4 , y4 ) = y42 + 1 = 0, 9993233632 + 1 = 1, 998647718,


f4′ = f ′ (x4 , y4 ) = 2y4 (y42 + 1) = 2 · 0, 999323363(0, 9993233632 + 1) = 3, 994590718.

Portanto,
0, 22
y5 = 0, 999323363 + 0, 2 · 1, 998647718 + · 3, 994590718 = 1, 478944721.
2
Assim, a solução do problema de valor inicial (i) utilizando o método de Taylor de
ordem 2 é dada por:

xn yn
0 0
0, 2 0, 2
0, 4 0, 41632
0, 6 0, 67052357
0, 8 0, 999323363
1, 0 1, 478944721

• Para o problema de valor inicial dado por (ii), temos:

fn = f (xn , yn ) = −2xn yn ,
fn′ = f ′ (xn , yn ) = −2yn − 2xn (−2xn yn ) = −2yn + 4x2n yn .

Fazendo n = 0 em (7.-12), obtemos:


h2 ′
y1 = y0 + hf0 + f.
2 0
Observe que para calcular y1 devemos avaliar f e sua derivada de primeira ordem
em (x0 , y0 ) = (0, 1). Assim,

f0 = f (x0 , y0 ) = −2x0 y0 = −2 · 0 · 1 = 0,
f0′ = f ′ (x0 , y0) = −2y0 − 2x0 (−2x0 y0 ) = −2y0 + 4x20 y0 = −2 · 1 + 4 · 02 · 1 = −2.

141
Portanto,
0, 32
y1 = 1 + 0, 3 · 0 + · (−2) = 0, 91.
2
Fazendo n = 1 em (7.-12), obtemos:

h2 ′
y2 = y1 + hf1 + f.
2 1
Observe que para calcular y1 devemos avaliar f e sua derivada de primeira ordem
em (x1 , y1 ) = (0, 3; 0, 91). Assim,

f1 = f (x1 , y1) = −2x1 y1 = −2 · 0, 3 · 0, 91 = −0, 546,


f1′ = f ′ (x1 , y1 ) = −2y1 − 2x1 (−2x1 y1 ) = −2y1 + 4x21 y1
= −2 · 0, 91 + 4 · 0, 32 · 0, 91 = −1, 4924.

Portanto,
0, 32
y2 = 0, 91 + 0, 3 · (−0, 546) + · (−1, 4924) = 0, 679042.
2
Assim, a solução do problema de valor inicial (ii) utilizando o método de Taylor de
ordem 2 é dada por:

xn yn
0 1
0, 3 0, 91
0, 6 0, 679042

• Para o problema de valor inicial dado por (iii), temos:

fn = f (xn , yn ) = −xn yn ,
fn′ = f ′ (xn , yn ) = −yn − xn (−xn yn ) = −yn + x2n yn .

Fazendo n = 0 em (7.-12), obtemos:

h2 ′
y1 = y0 + hf0 + f.
2 0
Observe que para calcular y1 devemos avaliar f e sua derivada de primeira ordem
em (x0 , y0 ) = (0, 2). Assim,

f0 = f (x0 , y0 ) = −x0 y0 = 0 · 2 = 0,
f0′ = f ′ (x0 , y0 ) = −y0 − x0 (−x0 y0 ) = −y0 + x20 y0 = −2 + 02 · 1 = −2.

Portanto,
0, 12
y1 = 2 + 0, 1 · 0 + · (−2) = 1, 99.
2
Fazendo n = 1 em (7.-12), obtemos:

h2 ′
y2 = y1 + hf1 + f.
2 1
142
Observe que para calcular y1 devemos avaliar f e sua derivada de primeira ordem
em (x1 , y1 ) = (0, 1; 1, 99). Assim,

f1 = f (x1 , y1 ) = −x1 y1 = −0, 1 · 1, 99 = −0, 199,


f1′ = f ′ (x1 , y1 ) = −y1 − x1 (−x1 y1 ) = −y1 + x21 y1 = −1, 99 + 0, 12 · 1, 99 = −1, 9701.

Portanto,
0, 12
y2 = 1, 99 + 0, 1 · (−0, 199) + · (−1, 9701) = 1, 9602495.
2

Fazendo n = 2 em (7.-12), obtemos:


h2 ′
y3 = y2 + hf2 + f.
2 2
Observe que para calcular y2 devemos avaliar f e sua derivada de primeira ordem
em (x2 , y2 ) = (0, 2; 1, 9602495). Assim,

f2 = f (x2 , y2) = −x2 y2 = −0, 2 · 1, 9602495 = −0, 3920499,


f2′ = f ′ (x2 , y2 ) = −y2 − x2 (−x2 y2 ) = −y2 + x22 y2
= −1, 9602495 + 0, 22 · 1, 9602495 = −1, 88183952.

Portanto,
0, 12
y3 = 1, 9602495 + 0, 1 · (−0, 3920499) + · (−1, 88183952) = 1, 911635312.
2

Assim, a solução do problema de valor inicial (iii) utilizando o método de Taylor


de ordem 2 é dada por:

xn yn
0 2
0, 1 1, 99
0, 2 1, 9602495
0, 3 1, 911635312

(c) A fórmula para a regra do Ponto Médio é dada por:

yn+2 = yn + 2hfn+1 . (7.-39)

• Considerando o problema de valor inicial dado por (i), temos f (x, y) = y 2 + 1.


Fazendo-se n = 0 em (7.-39), temos:

y2 = y0 + 2hf1 .

Note que para obter y2 devemos avaliar o valor de f em (x1 , y1 ). Para isto utiliza-
remos y1 = 0, 2 calculado no item (b) pelo método de Taylor de ordem 2. Assim,

f1 = f (x1 , y1) = y12 + 1 = 0, 22 + 1 = 1, 04.

143
Portanto,
y2 = 0 + 2 · 0, 2 · 1, 04 = 0, 416.
Fazendo-se n = 1 em (7.-39), temos:

y3 = y1 + 2hf2 .

Note que para obter y3 devemos avaliar o valor de f em (x2 , y2 ). Assim,

f2 = f (x2 , y2 ) = y22 + 1 = 0, 4162 + 1 = 1, 173056.

Portanto,
y3 = 0, 2 + 2 · 0, 2 · 1, 173056 = 0, 6692224.

Fazendo-se n = 2 em (7.-39), temos:

y4 = y2 + 2hf3 .

Note que para obter y4 devemos avaliar o valor de f em (x3 , y3 ). Assim,

f3 = f (x3 , y3) = y32 + 1 = 0, 66922242 + 1 = 1, 447858621.

Portanto,
y4 = 0, 416 + 2 · 0, 2 · 1, 447858621 = 0, 995143448.

Fazendo-se n = 3 em (7.-39), temos:

y5 = y3 + 2hf4 .

Note que para obter y5 devemos avaliar o valor de f em (x4 , y4 ). Assim,

f4 = f (x4 , y4 ) = y42 + 1 = 0, 9951434482 + 1 = 1, 990310483.

Portanto,
y5 = 0, 6692224 + 2 · 0, 2 · 1, 990310483 = 1, 465346593.
Assim, a solução do problema de valor inicial (i) utilizando o método do Ponto
Médio é dada por:

xn yn
0 0
0, 2 0, 2
0, 4 0, 416
0, 6 0, 6692224
0, 8 0, 995143448
1, 0 1, 465346593

144
• Considerando o problema de valor inicial dado por (ii), temos f (x, y) = −2xy.
Fazendo-se n = 0 em (7.-39), temos:
y2 = y0 + 2hf1 .
Note que para obter y2 devemos avaliar o valor de f em (x1 , y1 ). Para isto utiliza-
remos y1 = 0, 91 calculado no item (b) pelo método de Taylor de ordem 2. Assim,
f1 = f (x1 , y1 ) = −2x1 y1 = −2 · 0, 3 · 0, 91 = −0, 546.
Portanto,
y2 = 1 + 2 · 0, 3 · (−0, 546) = 0, 6724.
Assim, a solução do problema de valor inicial (ii) utilizando o método do Ponto
Médio é dada por:

xn yn
0 1
0, 3 0, 91
0, 6 0, 6724

• Considerando o problema de valor inicial dado por (iii), temos f (x, y) = −xy.
Fazendo-se n = 0 em (7.-39), temos:
y2 = y0 + 2hf1 .
Note que para obter y2 devemos avaliar o valor de f em (x1 , y1 ). Para isto utiliza-
remos y1 = 1, 99 calculado no item (b) pelo método de Taylor de ordem 2. Assim,
f1 = f (x1 , y1 ) = −x1 y1 = −0, 1 · 1, 99 = −0, 199.
Portanto,
y2 = 2 + 2 · 0, 1 · (−0, 199) = 1, 9602.

Fazendo-se n = 1 em (7.-39), temos:


y3 = y1 + 2hf2 .
Note que para obter y3 devemos avaliar o valor de f em (x2 , y2 ). Assim,
f2 = f (x2 , y2) = −x2 y2 = −0, 2 · 1, 9602 = −0, 39204.
Portanto,
y2 = 1, 99 + 2 · 0, 1 · (−0, 39204) = 1, 911592.
Assim, a solução do problema de valor inicial (iii) utilizando o método do Ponto
Médio é dada por:

xn yn
0 2
0, 1 1, 99
0, 2 1, 9602
0, 3 1, 911592

145
(d) A fórmula para o método de Adams-Bashforth é dada por:
h
yn+2 = yn+1 + [−fn + 3fn+1 ] . (7.-38)
2
• Considerando o problema de valor inicial dado por (i), e fazendo-se n = 0 em (7.-38),
obtemos:
h
y2 = y1 + [−f0 + 3f1 ] .
2
Note que, devemos avaliar f em (x0 , y0 ) e (x1 , y1 ). Utilizaremos (x0 , y0 ) = (0, 0)
prescrito pela condição inicial e (x1 , y1 ) = (0, 2; 0, 2) calculado no item (b) pelo
método de Taylor de ordem 2. Assim,
f0 = f (x0 , y0 ) = y02 + 1 = 02 + 1 = 1,
f1 = f (x1 , y1 ) = y12 + 1 = 0, 22 + 1 = 1, 04.
Portanto,
0, 2
y2 = 0, 2 + [−1 + 3 · 1, 04] = 0, 412.
2
Fazendo-se n = 1 em (7.-38), obtemos:
h
y3 = y2 +[−f1 + 3f2 ] .
2
Note que, devemos avaliar f em (x2 , y2). Assim,
f2 = f (x2 , y2) = y22 + 1 = 0, 4122 + 1 = 1, 169744.
Portanto,
0, 2
y3 = 0, 412 + [−1, 04 + 3 · 1, 169744] = 0, 6589232.
2
Fazendo-se n = 2 em (7.-38), obtemos:
h
y4 = y3 +[−f2 + 3f3 ] .
2
Note que, devemos avaliar f em (x3 , y3). Assim,
f3 = f (x3 , y3 ) = y32 + 1 = 0, 65892322 + 1 = 1, 434179784.
Portanto,
0, 2
y4 = 0, 6589232 + [−1, 169744 + 3 · 1, 434179784] = 0, 972202735.
2
Fazendo-se n = 3 em (7.-38), obtemos:
h
y5 = y4 +[−f3 + 3f4 ] .
2
Note que, devemos avaliar f em (x4 , y4). Assim,
f4 = f (x4 , y4 ) = y42 + 1 = 0, 9722027352 + 1 = 1, 945178158.
Portanto,
0, 2
y5 = 0, 972202735 + [−1, 434179784 + 3 · 1, 945178158] = 1, 412338204.
2
Assim, a solução do problema de valor inicial (i) utilizando o método de Adams-
Bashforth é dada por:

146
xn yn
0 0
0, 2 0, 2
0, 4 0, 412
0, 6 0, 6589232
0, 8 0, 972202735
1, 0 1, 412338204

• Considerando o problema de valor inicial dado por (ii), e fazendo-se n = 0 em


(7.-38), obtemos:
h
y2 = y1 + [−f0 + 3f1 ] .
2
Note que, devemos avaliar f em (x0 , y0 ) e (x1 , y1 ). Utilizaremos (x0 , y0 ) = (0, 1)
prescrito pela condição inicial e (x1 , y1 ) = (0, 3; 0, 91) calculado no item (b) pelo
método de Taylor de ordem 2. Assim,

f0 = f (x0 , y0) = −2x0 y0 = −1 · 0 · 1 = 0,


f1 = f (x1 , y1) = −2x1 y1 = −2 · 0, 3 · 0, 91 = −0, 546.

Portanto,
0, 3
y2 = 0, 91 + [−0 + 3 · (−0, 546)] = 0, 6643.
2
Assim, a solução do problema de valor inicial (ii) utilizando o método de Adams-
Bashforth é dada por:

xn yn
0 1
0, 3 0, 91
0, 6 0, 6643

• Considerando o problema de valor inicial dado por (iii), e fazendo-se n = 0 em


(7.-38), obtemos:
h
y2 = y1 + [−f0 + 3f1 ] .
2
Note que, devemos avaliar f em (x0 , y0 ) e (x1 , y1 ). Utilizaremos (x0 , y0 ) = (0, 2)
prescrito pela condição inicial e (x1 , y1 ) = (0, 1; 1, 99) calculado no item (b) pelo
método de Taylor de ordem 2. Assim,

f0 = f (x0 , y0 ) = −x0 y0 = −0 · 2 = 0,
f1 = f (x1 , y1 ) = −x1 y1 = −0, 1 · 1, 99 = −0, 199.

Portanto,
0, 1
y2 = 1, 99 + [−0 + 3 · (−0, 199)] = 1, 96015.
2
Fazendo-se n = 1 em (7.-38), obtemos:
h
y3 = y2 + [−f1 + 3f2 ] .
2
147
Note que, devemos avaliar f em (x2 , y2). Assim,

f2 = f (x2 , y2 ) = −x2 y2 = −0, 2 · 1, 96015 = −0, 39203.

Portanto,
0, 1
y2 = 1, 96015 + [−(−0, 199) + 3 · (−0, 39203)] = 1, 9112955.
2
Assim, a solução do problema de valor inicial (iii) utilizando o método de Adams-
Bashforth é dada por:

xn yn
0 2
0, 1 1, 99
0, 2 1, 96015
0, 3 1, 9112955

Pesquisa: Método de Runge-Kutta


A idéia básica edsetes métodos é aproveitar as qualidades dos métodos de érie de Taylor
e ao mesmo tempo eliminar seu maior defeito que é o cálculo de derivadas de f (x, y) que,
conforme vimos, torna os métodos de série de Taylor computacionalmente inaceitáveis.

Podemos dizer que os métodos de Runge-Kutta de orem p se caracterizam por três pro-
priedades:

(i) são de passo um;

(ii) não exigem o cálculo de qualquer derivada de f (x, y); pagam, por isso, o preço de
calcular f (x, y) em vários pontos;

(iii) após expandir f (x, y) por Taylor para a função de duas variáveis em torno de (xn , yn )
e agrupar os termos semelhantes , sua expressão coincide com a do método de série
de Taylor de mesma ordem.

Métodos de Runge-Kutta de 1a odem - método de Euler.

Já vimos que o método de Euler é um método de série de Taylor de 1a ordem:

yn+1 = yn + hyn′ , n = 0, 1, 2, ...

Então
yn+1 = yn + hf (xn , yn ), n = 0, 1, 2, ...

148
e o método e Euler satisfaz as três propriedades acima que o caracterizam como um
método de Runge-Kutta de ordem p = 1.

Métodos de Runge-Kutta de 2a ordem.

Exporemos inicialmente um método particular que é o método de Heun, um método de


Euler aperfeiçoado, pois ele tem uma interpretação geométrica bastante simples.

Conforme o próprio nome indica, este método consiste em fazer mudanças no método de
Euler para assim conseguir um método de ordem mais elevada.

Método e Euler Aperfeiçoado


Graficamente.

Dada a aproximação (xn , yn ), supomos a situação ideal em que a curva desenhada com
linha cheia seja a solução y(x) da nossa equação (isto só acontece mesmo em (x0 , y0)).

Por (xn , yn ) traçamos a reta L1 cujo coeficiente angular é yn′ = f (xn , yn ), ou seja,

L1 : z1 (x) = yn + (x − xn )yn′ + (x − xn )f (xn , yn ).

Assim, dado o passo h, z1 (xn+1 ) = z1 (xn + h) = yn+1 do método de Euler, que chamamos
aqui de y n+1 . Seja P ≡ (xn + h, yn + hyn′ ). Por P agora, traçamos a reta L2 , cujo
coeficiente angular é f (xn + h, yn + hyn′ ) = f (xn+1 , yn+1 ):

L2 : z2 (x) = (yn + hyn′ ) + [x − (xn + h)]f (xn + h, yn + hyn′ ).

A reta pontilhada L0 passa por P e tem por inclinação a média das inclinações das retas
L1 e L2 , ou seja, sua inclinação é

f (xn , yn ) + f (xn + h, yn + hyn′ )


.
2
A reta L passa por (xn , yn ) e é paralela à reta L0 , donde

f (xn , yn ) + f (xn + h, yn + hyn′ )


L : yn + (x − x0 ) · .
2

149
O valor fornecido para yn+1 pelo método de Euler Aperfeiçoado é z(xn + h) = z(xn+1 ),
ou seja,
h
yn+1 = yn + [f (xn , yn ) + f (xn + h, yn + hyn′ )], n = 0, 1, 2, ...
2
Observams que este método é de passo um e ó trabalha com cálculos de f (x, y), não
envolvendo suas derivadas. Assim, para verificarmos que ele realmente é um método de
Runge-Kutta de 2a ordem em h:
h2 h2
yn+1 = yn + hf (xn , yn ) + fx (xn , yn ) + f (xn , yn )fx (xn , yn ),
2 2
h2 ′′′
com e(xn+1 ) = y (ξxn+1 ).
3!

No método de Euler aperfeiçoado temos de trabalhar com f (xn + h, yn + hyn′ ). Desenvol-


vendo f (x, y) por Taylor em torno de (xn , yn ), temos
1
fxx (α, β)(x − xn )2 +
f (x, y) = f (xn , yn ) + fx (xn , yn )(x − xn ) + fy (xn , yn )(y − yn ) +
2

+2fxy (α, β)(x − xn )(y − yn ) + fyy (α, β)(y − yn )2
com α entre x e xn e β entre y e yn .

Assim,

f (xn + h, yn + hyn′ ) = f (xn , yn ) + fx (xn , yn )h + fy (xn , yn )hyn′ +


h2
+[fxx (α, β) + 2fxy (α, β)yn′ + fyy (α, β)yn′2].
2
Então o método de Euler Aperfeiçoado fica:
h
yn+1 = yn + {f (xn , yn ) + f (xn , yn ) + hfx (xn , yn ) + hf (xn , yn )fy (xn , yn ) +
2
h2
+ [fxx (α, β) + 2f (xn , yn )fxy (α, β) + f 2 (xn , yn )fyy (α, β)] } =
2
h2
= yn + hf (xn , yn ) + [fx (xn , yn ) + f (xn , yn )fy (xn , yn )]+
2
3
h
+ [fxx (α, β) + 2fxy (α, β) + f 2 (xn , yn )fyy (α, β)].
4
Esta fórmula concorda com a do método de série de Taylor até os termos de ordem h2 ,
provando assim ser um método de Runge-Kutta de 2a ordem.

Forma geral dos métodos de Runge-Kutta de 2a ordem.

O método de Euler Aperfeiçoado é um método de Runge-Kutta de 2a ordem e podemos


pensar que ele pertence a uma classe mais geral de métodos do tipo

yn+1 = yn + ha1 f (xn , yn ) + ha2 f (xn + b1 h, yn + b2 hyn′ ).

150
Para o método de Euler Aperfeiçoado,
1
a1 = b1 = 1
2
1
a2 =
b2 = 1
2
A pergunta natural que surge neste momento é se este tipo de método não poderá ser um
método de Runge-Kutta maior que dois.

Temos quatro parâmetros livres: a1 , a2 , b1 e b2 . Para qua haja concordância com a série
de Taylor até os termos de ordem h1 é necessário um paraâmetro. Considerando agora
f (xn +b1 h, yn +b2 hyn′ ) calculado pela série de Taylor de f (x, y) em torno de (xn , yn ) vemos
de maneira completamente análoga ao que foi visto no método de Euler Aperfeiçoado que,
para haver concordância desta fórmula com a do método de série de Taylor até os termos
de ordem h2 são necessários mais dois parâmetros, visto que há a considerar os termos
h2 fx e h2 f fy . O último parâmetro que resta obviamente não é suficiente para que se exija
concordância até os termos de ordem de h3 .

Porém, com quatro parâmetros disponı́veis e apenas três exigências, teremos uma infini-
dade de métodos de Runge-Kutta de 2a ordem.

Realmente, como

f (xn + b1 h, yn + b2 hyn′ ) = f (xn , yn ) + b1 hfx (xn , yn ) + b2 hf (xn , yn )ff (xn , yn )+

+ termos em h2 ,

yn+1 = yn + a1 hf (xn , yn ) + a2 h[f (xn , yn ) + b1 hfx (xn , yn ) + b2 hf (xn , yn )fy (xn , yn )]+

+ termos em h3 .
Então,

yn+1 = yn + (a1 + a2 )hf (xn , yn ) + (a2 b1 )h2 fx (xn , yn ) + (a2 b2 )h2 f (xn , yn )fy (xn , yn )+

+ termos em h3 .
Assim, para haver concordância com o método de série de Taylor até os termos em h2 é
preciso que

a1 + a2 = 1


1
a2 b1 = 2


 1
a2 b2 = 2
;
conforme já foi observado, um sistema de três equações e quatro variáveis. Escolhendo
um dos parâmetros arbitrariamente, por exemplo a2 = w 6= 0, temos
1
a1 = 1 − w e b1 = b2 =
2w
151
e a forma geral dos métodos de Runge-Kutta de 2a ordem é dada por
h h
yn+1 = yn + h[(1 − w)f (xn , yn ) + wf (xn + , yn + f (xn , yn ))], n = 0, 1, 2, ...
2w 2w

Métodos de Runge-Kutta de ordens superiores.


De forma análoga pode-se construir métodos de 3a ordem, 4a ordem, etc.
A seguir serão fornecidas apenas fórmulas para métodos de Runge-Kutta de 3a e 4a ordens:

3a ordem:
2 1 4
yn+1 = yn + k1 + k2 + k3 ,
9 3 9
onde
k1 = hf (xn , yn ),
h k1
k2 = hf (xn + , yn + )
2 2
e
3 3
k3 = hf (xn + h, yn + k2 ).
4 4
4a ordem:
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ),
6
onde
k1 = hf (xn , yn ),
h k1
k2 = hf (xn + , yn + ),
2 2
h k2
k3 = hf (xn + , yn + )
2 2
e
k4 = hf (xn + h, yn + k3 ).
Chamamos a atenção novamente para o fato de os métodos de Runge-Kutta, apesar de
serem auto-iniciáveis (pois são de passo um) e nãotrabalharem com derivadas de f (x, y),
apresentam a desvantagem de não haver para eles uma estimativa simples para o erro, o
que inclusive poderia ajudar na escolha do passo h.

Existe ainda adaptações dos métodos de Runge-Kutta que são simples operacionalmente
e que são usadas também para estimativas de erro e controle do tamanho do passo h.

Exemplo.Dado o problema de valor inicial abaixo, estimar y(1) por vários métodos e
vários tamanhos de passo h.

y ′ = 0, 04y ⇒ f (x, y) = 0, 04y
y(0) = 1000

152
Solução. Sabemos que a solução exata é

y(x) = 1000e0,04x ,

donde segue que


y(1) = 1000e0,004·1 = 1040, 8108.
(a) pelo método de Euler:
yn+1 = yn + hf (xn , yn )
e então
yn+1 = yn + h · 0, 04 · yn = (1 + 0, 04h)yn.
Assim, y1 = (1 + 0, 04h) · 1000.

y2 = (1 + 0, 04h)y1 = (1 + 0, 04h)(1 + 0, 04h)1000 = (1 + 0, 04h)2 · 1000


..
.
yk = (1 + 0, 04h)k · 1000, k = 1, 2, 3, ...
Para h = 1, temos
y(1) ≈ y1 = (1 + 0, 04) · 1000 = 1040.
Para h = 0, 5, temos
y(1) ≈ y2
e
y2 = (1 + 0, 04 · 0, 5)2 · 1000 = (1 + 0, 02)2 · 1000 = 1040, 4.
Para h = 0, 25, temos
y(1) ≈ y4
e
y4 = (1 + 0, 04 · 0, 25)4 · 1000 = ... = 1040, 60.
Para h = 0, 1, temos
y(1) ≈ y10
e
y10 = (1 + 0, 04 · 0, 1)10 · 1000 = 1040, 7277.
(b) pelo método de Euler Aperfeiçoado (Runge-Kutta de 2a ordem):

h
yn+1 = yn + [f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))] =
2
h
= yn + [0, 04yn + 0, 04(yn + h · 0, 04yn)] =
2
h
= yn + [0, 04yn + 0, 04y+ h · 0, 042yn ] =
2
h2
= (1 + 0, 04h + · 0, 042 )yn .
2

153
analogamente ao que vimos no método de Euler,

h2
yk = (1 + 0, 04h + · 0, 042)k · 1000.
2
Para h = 1, temos
1
y(1) ≈ y1 = (1 + 0, 04 + · 0, 042) · 1000 = 1040, 8.
2
Para h = 0, 5, temos

0, 052
y(1) ≈ y2 = (1 + 0, 04 · 0, 5 + · 0, 042 )2 · 1000 = 1040, 808.
2
Para h = 0, 25, temos

0, 252
y(1) ≈ y4 = (1 + 0, 04 · 0, 25 + · 0, 042 )4 · 1000 = 1040, 8101.
2
Para h = 0, 1, temos

0, 12
y(1) ≈ y10 = (1 + 0, 04 · 0, 1 + · 0, 042)10 · 1000 = 1040, 8107.
2
Comentários: Dada a resposta exata y(1) = 1040, 8108 com quatro casas decimais vemo
que, à medida que h diminui, cada método obtém uma melhor aproximação e que entre os
dois, como era de se esperar, o método de Euler Aperfeiçoado fornece melhores resultados;
veja que para h = 0, 1, y(1) ≈ 1040, 8107, por Euler Aperfeiçoado!
Observamos que sendo x0 = 0, então xk = x0 + k · h = kh.

Agora, a série de Taylor de e0,04x , em torno de x = 0 é:

x2 x3
e0,04x = 1 + 0, 04x + 0, 042 + 0, 043 + ...
2 3!
Assim,
h2 h3
e0,04h = 1 + 0, 04h + 0, 042 + 0, 043 + ...
2 3!
2
Vemos que tanto (1 + 0, 04h)k do método e Euler como (1 + 0, 04h + 0, 042 h2 )k do método
de Euler Aperfeiçoado são aproximações para e0,04hk = e0,04xk .
E, logicamente, a segunda aproximação está mais próxima mesmo do valor exato.

Observamos ainda que, como estamos interessados em y(1), ou seja, x = 1, então k = h1 .


Assim, é também natural que, no método de Euler, à medida que h diminui, chegamos
masi próximos da solução, pois
1
e0,04 = lim (1 + 0, 04h) h .
h→0

De maneira análoga, com um pouco mais de elaboração nos cálculos, verificamos este
resultado para o método de Euler Aperfeiçoado.

154
(c) pelo método de Runge-Kutta de 3a ordem:

Para h = 1, temos
2 1 4
yn+1 = yn + k1 + k2 + k3 ,
9 3 9
onde
k1 = hf (xn , yn ) = h · 0, 04 · yn ;
h k1 k1
k2 = hf (xn + , yn + ) = h · 0, 04(yn + )
2 2 2
e
3 3 3
k3 = hf (xn + h, yn + k2 ) = h · 0, 04(yn + k2 )
4 4 4
e então
2 1 4
y(1) ≈ y1 = y0 + k1 + k2 + k3 .
9 3 9
Como neste caso temos
k1 = 0, 04 · 1000 = 40,
k2 = 0, 04(1000 + 20) = 40, 8
e
3
k3 = 0, 04(1000 + · 40, 8) = 41, 224;
4
segue que
2 1 4
y(1) ≈ y1 = 1000 + · 40 + · 40, 8 + · 41, 224 = 1040, 8107.
9 3 9

155
Capı́tulo 8

Solução Numérica de EDP’s

Neste capı́tulo são apresentados os métodos de Diferenças Finitas (MDF) e Elementos


Finitos (MEF) para obtenção soluções numéricas para as equações diferenciais parciais
(EDPs).

8.1 Introdução
As EDPs refletem dois tipos básicos de fenômenos fı́sicos: os transientes e os estacionários.
Os primeiros são modelados por equações que descrevem a variação de uma grandeza fı́sica
no tempo e no espaço. Ao passo que, os estacionários, por pressuporem um estado em que
o valor da grandeza não se altera no tempo, são descritos por equações que relacionam
somente a distribuição espacial da grandeza.
Para aplicarmos técnicas computacionais a problemas que envolvem estas equações, é
importante conhecermos suas caracterı́ticas gerais.

8.1.1 Aspectos Matemáticos


A ordem de uma EDP é a ordem da maior derivada parcial presente na equação. A
equação de difusão,
∂φ ∂2φ
=Γ 2 (8.1)
∂t ∂x
é um exemplo de EDP de segunda ordem nas variáveis independentes x e t.

Considere a EDP de segunda ordem em duas variáveis x e y, as quais não necessariamente


representam coordenadas espaciais:
∂2φ ∂2φ ∂2φ ∂φ ∂φ
A 2
+ B + C 2
+D +E + F φ = G. (8.2)
∂x ∂x∂y ∂y ∂x ∂y
Se A, B, C, D, E, F e G forem constantes ou funções de x, y apenas, a equação (8.2) é
dita linear. Caso contrário, é considerada não linear.

Em função dos valores de A, B e C, podemos classificar a equação (8.2) em três categorias


básicas:

156
• Elı́pticas, se B 2 − 4AC < 0;

• Parabólicas, se B 2 − 4AC = 0;

• Hiperbólicas, se B 2 − 4AC > 0.

É importante salientar que cada classe de equação está associada a uma categoria
diferente de fenômenos fı́sicos e, métodos numéricos que “funcionam” para uma categoria
podem não ser aplicáveis para as demais.

8.2 Problemas de Equilı́brio


Problemas de equilı́brio são aqueles nos quais a propriedade de interesse não se altera com
o passar do tempo. Esses problemas são, geralmente, representados por EDPs elı́pticas,
cuja equação modelo é a equação de Laplace. Em coordenadas cartesianas, essa equação
pode ser escrita como:

∇2 φ = 0, (8.3)

em que φ é a variável dependente e ∇2 é o operador laplaciano que, em coordenadas


cartesianas bidimensionais, é dado por

∂2 ∂2
∇2 = + .
∂x2 ∂y 2
A solução única para problemas envolvendo equações diferenciais parciais é obtida especificando-
se condições sobre a variável dependente na fronteira δR da região R, em que se quer
resolver o problema. Problemas que exigem condições ao longo da fronteira (contorno)
δR de toda região R são denominados problemas de valor de contorno (PVC).

Figura 8.1: Região R com fronteira (contorno) δR na qual resolvemos problemas de


equilı́brio.

Uma caracterı́stica dos problemas modelados por equações elı́pticas é que toda a região R
é imediatamente afetada por qualquer mudança no valor da variável dependente em um
ponto P no interior de R, ou em sua fronteira δR. Isso equivale a dizer que perturbações
deslocam-se em todas as direções dentro de R, afetando todos os demais pontos internos,
embora essa influência diminua com o aumento da distância ao ponto P . Portanto, as
soluções numéricas de problemas de equilı́brio variam suavemente em R.

157
Figura 8.2: Perturbação no ponto P influencia toda a região R.

Exemplo 16 Distribuição estacionária de temperatura em uma chapa


Considere uma chapa plana com espessura despezı́vel, isolada termicamente nas faces, e
que só troca calor pelas bordas laterais, que são mantidas às temperaturas T0 , T1 , T2 e
T3 .

Quando a chapa está em equilı́brio térmico, a temperatura T em cada ponto interno


satisfaz a equação de Laplace.

8.3 Problemas Transientes


Os problemas transientes, ou de propagação, envolvem a variação temporal das grandezas
fı́sicas de interesse. A partir dos valores iniciais dessas grandezas em um certo tempo t0 ,
calculam-se, pela solução numérica da EDP, seus novos valores em sucessivos intervalos
de tempo ∆t, até alcançarmos o instante final tf :

t0 + ∆t, t0 + 2∆t, t0 + 3∆t, ..., tf .

Note que, estamos caminhando na dimensão temporal em passos de comprimento ∆t,


desde t0 até tf . Por isso, problemas transientes são também denominados “problemas de
marcha”.

Quando se resolve um problema transiente, busca-se a evolução temporal efetiva da gran-


deza fı́sica. Para que essa evolução seja representativa do problema estudado, é necessário
ter uma condição inicial fisicamente correta.

Os fenômenos transientes são modelados por equações diferenciais parabólicas ou hi-


perbólicas. Quando apresentam mecanismos de dissipação de energia (por exemplo, na
difusão de calor), os fenômenos ditos dissipativos são descritos por equações parabólicas.
Caso contrário, são representados por equações hiperbólicas.

8.3.1 Equações Parabólicas


A equação modelo para problemas parabólicos é a equação transiente de disusão de calor:
∂T ∂2T
=α 2, (8.4)
∂t ∂x
onde T representa a temperatura e α o coeficiente de difusividade térmica do material.

158
Exemplo 17 Considere uma barra delgada de comprimento L, isolada termicamente ao
longo de seu comprimento, mas que tem suas extremidades mantidas às temperaturas T0
e T1 .

Para estudarmos a evolução temporal da temperatura na barra, é necessário que o valor


inicial da temperatura ao longo da mesma seja especificado, bem como, os valores da
temperatura em seu contorno. Com essas informações podemos obter a distribuição de
temperatura ao longo da barra para diferentes instantes de tempo. As condições de con-
torno, combinadas com as condições iniciais, são denominadas de condições auxiliares.

Assim, supondo que a temperatura inicial da barra é T = 0◦ C e que suas extremidades são
mantidas às temperaturas T0 = T1 = 50◦ C, obtemos a evolução temporal da temperatura
ao longo da barra dada pela Figura 1.3, que ilustra o gráfico da temperatura da barra
em diferentes instantes de tempo. Note que, após um tempo suficientemente longo, o
equilı́brio térmico é alcaçado e a temperatura da barra não mais varia.

Figura 8.3: Distribuição da temperatura em uma barra para diferentes instantes de tempo.

Em problemas parabólicos, qualquer perturbação que ocorra em um ponto P da região


R no instante tp > 0, influencia apenas a solução em t > tp . Além disso, o efeito da
perturbação se dissipa, isto é, diminui, conforme aumenta a distância ao ponto P . Os
mecanismos de dissipação presentes em problemas parabólicos fazem com que a solução
em R e para t > 0 seja suave, mesmo que as condições iniciais não o sejam.

Figura 8.4: Problemas transientes necessitam de condições iniciais e de fronteira.

159
8.3.2 Equações Hiperbólicas
Equações hiperbólicas estão relacionadas a problemas de vibração ou de convecção, em
que os fenômenos dissipativos são mı́nimos ou podem ser desprezados. Situações descritas
por equações hiperbólicas necessitam de condições iniciais e de contorno. Portanto, são
também problemas de valor inicial.

A equação modelo do problema hiperbólico é a equação de convecção que, para uma


dimensão espacial, é escrita como:
∂φ ∂φ
= −v . (8.5)
∂t ∂x
Essa equação representa o transporte de φ para a direita ao longo de x com velocidade
v > 0. Como essa equação não possui um termo dissipativo, o valor de φ deve ser apenas
transportado ao longo de x, sem alteração, entre os instantes t0 e t0 + ∆t, conforme ilustra
a Figura 1.5. O produto v ∂φ
∂x
é denominado termo convectivo, inercial ou advectivo.

Figura 8.5: Perfil senoidal transportado sem dissipação com velocidade v > 0 por uma
equação hiperbólica.

Processos de convecção que possuam mecanismos dissipativos, obedecem à equação pa-


rabólica de convecção-difusão, também denominada equação de transporte:

∂φ ∂φ ∂2φ
= −v + Γ 2, (8.6)
∂t ∂x ∂x
onde v representa a velocidade de propagação de φ e Γ o coeficiente de difusão de φ.

A Figura 1.6 ilustra a propagação da onda senoidal com dissipação. Os efeitos dissipativos
são claramente visı́veis: o perfil senoidal foi “espalhado” para pontos adjacentes e teve
sua amplitude reduzida.

8.4 Observações sobre as Condições Auxiliares


Para que possamos resolver numericamente um problema modelado por uma EDP, é
importante que ele seja bem posto, isto é, que a solução:

• exista;

160
• seja única;

• dependa continuamente das condições auxiliares.

Condições iniciais e de fronteira especificadas incorretamente, por “falta” ou “excesso”,


frequentemente fazem com que a solução não seja única ou mesmo fisicamente plausı́vel.
Pequenas variações nas condições auxiliares devem produzir mudanças compatı́veis na
solução numérica. O contrário sugere que alguma condição auxiliar está incorretamente
especificada. Portanto, é necessário muita cautela na especificação das condições auxilia-
res do problema estudado.

Em problemas que envolvem EDPs, podem-se especificar três tipos básicos de condições
sobre a variável dependente φ na fornteira da região R:

• Condição de fronteira tipo Dirichlet: o valor de φ é especificado em δR;


∂φ
• Condição de fronteira tipo Neumann: o gradiente normal ∂n
= f ou tangencial
∂φ
∂s
= g é especificado na fronteira;

• Condição de fronteira tipo Robin: uma combinação linear das anteriores é especifi-
cada em δR.

8.5 Método de Diferenças Finitas (MDF)


8.5.1 Discretização Espacial
A solução de uma EDP em uma região R implica a obtenção dos valores para a variável
dependente em cada ponto de R. No caso de técnicas numéricas de solução, não é possı́vel
tratar a região R como contı́nua, no entanto, é possı́vel escolher alguns pontos dentro de
R e calcular a solução apenas neles. Esse processo recebe o nome de discretização, e o
conjunto de pontos discretos, recebe o nome de malha.
As malhas utilizadas no MDF são malhas estruturadas, ou seja, apresentam um estru-
tura, ou regularidade, na distribuição espacial dos pontos. Podem ser uniformes (pontos
uniformemente espaçados) ou não uniformes (espaçamento variável dos pontos).

161
A Figura 1.6 ilustra a discretização da região R utilizando uma malha uniforme com
espaçamento nas direções x e y dados, respectivamente, por ∆x e ∆y. Os ı́ndices i e j
identificam a i−ésima coluna e a j−ésima linha, respectivemente. Assim, cada ponto (i, j)
possui coordenadas (x0 + i∆x, y0 + j∆y), em que o ponto (x0 , y0) representa a origem do
sistema de coordenadas, tomado aqui como igual a (0, 0). O número de pontos tomados
nas direções x e y são dados, respectivamente, por M + 1 e N + 1.

Figura 8.6: Região contı́nua e discretizada.

Para que seja possı́vel tratar numericamente a equação governante do modelo, a mesma
também deve ser discretizada, ou seja, as derivadas devem ser representadas por ex-
pressões algébricas. Esse processo gera uma equação denominada equação de diferenças
finitas (EDF). A EDF é, então, escrita para cada ponto da região dicretizada em que se
deseja calcular a solução para o problema.

Note que, a solução obtida por meio das discretizações não é exata, pois contém erros

• inerentes ao processo de discretização das equações;

• de arredondamento nos cálculos feitos no computador;

• na aproximação numérica das condições auxiliares.

O exemplo a seguir ilustra a aplicação do MDF em uma EDO.

Exemplo 18 Resolva a EDO


d2 u
+ u + x = 0, em 0 ≤ x ≤ 1,
dx2
sujeita as seguintes condições de fronteira u(0) = 0 e u(1) = 1, utilizando ∆x = 0, 2.
d2 u
Solução: A derivada dx2
pode ser aproximada por uma diferença finita central da forma:

d2 u u(xi − ∆x) − 2u(xi ) + u(xi + ∆x)
2
≈ 2
+ O(∆x2 ).
dx xi ∆x

Assim, a equação inicial pode ser reescrita como:


u(xi + ∆x) − 2u(xi ) + u(xi − ∆x)
+ u(xi ) + xi = 0.
∆x2
162
Agrupando os termos semelhantes, temos:

u(xi − ∆x) + (∆x2 − 2)u(xi ) + u(xi + ∆x) = −∆x2 xi

Para facilitar a notação, façamos u(xi + ∆x) = ui+1 , u(xi ) = ui , u(xi − ∆x) = ui−1 e
∆x = h. Assim, temos:
ui−1 − (h2 − 2)ui + ui+1 = −h2 xi
Como h = 0, 2, e conhecemos os valores de u em x = 0 e x = 1, os pontos onde a
equação aproximada deve ser aplicada são: x1 = x0 + ∆x = 0, 2, x2 = x0 + 2∆x = 0, 4,
x3 = x0 + 3∆x = 0, 6 e x4 = x0 + 4∆x = 0, 8. Assim,

• para i = 1, temos: u0 − 1, 96u1 + u2 = −0, 22 · 0, 2 = −0, 008

• para i = 2, temos: u1 − 1, 96u2 + u3 = −0, 22 · 0, 4 = −0, 016

• para i = 3, temos: u2 − 1, 96u3 + u4 = −0, 22 · 0, 6 = −0, 024

• para i = 4, temos: u3 − 1, 96u4 + u5 = −0, 22 · 0, 8 = −0, 032

Em forma matricial, após a introdução das condições de contorno, temos:


    
−1, 96 1 0 0 u1 −0, 008
 1 −1, 96 1 0   u   −0, 016 
  2   
  = 
 0 1 −1, 96 1   u3   −0, 024 
0 0 1 −1, 96 u4 −1, 032

As soluções aproximadas são obtidas após a resolução do sistema de equações e podem


ser comparadas com a solução analı́tica, dada por:
sin x
u(x) = 2 − x.
sin 1
A tabela a seguir ilustra esta comparação.

x Sol. Analı́tica MDF


0,2 0,2725 0,2722
0,4 0,5260 0,5256
0,6 0,7426 0,7420
0,8 0,9054 0,9050

Exemplo
19 Resolva a EDO do exemplo anterior com as condições de contorno u(0) = 0
du
e = 1.
dx x=1

Solução: O problema, agora, possui cinco incógnitas uma vez que o valor de u em x = 1,
isto é, u5 não é conhecido. Assim, é necessário gerar mais uma equação, além das quatro
correspondentes aos pontos interiores, para a solução do problema.

A seguir são apresentadas algumas alternativas para se obter a equação adicianal.

163
• 1a alternativa: Aproximar a condição de contorno natural por uma diferença
regressiva.

du u5 − u4 u5 − u4
= ⇒ =1 ⇒ u5 = u4 + 0, 2
dx x=1
∆x 0, 2
Substituindo a equação acima na correspondente a i = 4 no exemplo anterior, temos:

u5 − 1, 96u4 + u3 = −0, 032 ⇒ −0, 96u4 + u3 = −0, 232

Portanto, o novo sistema de equações é: Em forma matricial, após a introdução das
condições de contorno, temos:
    
−1, 96 1 0 0 u1 −0, 008
 1 −1, 96 1 0   u   −0, 016 
  2   
  = 
 0 1 −1, 96 1   u3   −0, 024 
0 0 1 −0, 96 u4 −0, 232

• 2a alternativa: Consiste em escrever a equação discretizada para i = 5, gerando a


quinta equação requerida para a solução do problema.
A quinta equação, entretanto, apresenta o valor de u em um ponto fictı́cio (“fan-
tasma”) x = 1, 2, que está fora do domı́nio do problema. A relação entre o valor
de u no ponto fictı́cio, isto é, u6 , e algum outro valor do domı́nio constitui uma
sexta equação e pode ser obtida aproximando a condição de contorno com diferença
central. Assim, para i = 5, tem-se:

u4 − 1, 96u5 + u6 = −0, 22 · 1, 0 = −0, 04

A condição de contorno fica:



du u6 − u4 u6 − u4
= ⇒ =1 ⇒ u6 = u4 + 0, 4
dx x=1
2 · ∆x 2 · 0, 2
Substituindo a equação acima na correspondente a i = 5, temos:

u4 − 1, 96u5 + u4 + 0, 4 = −0, 04 ⇒ 2u4 − 1, 96u5 = −0, 44

Portanto, o novo sistema de equações é:


    
−1, 96 1 0 0 0 u1 −0, 008

 1 −1, 96 1 0 0 
 u2  
  −0, 016 

    
 0 1 −1, 96 1 0  u3 = −0, 024 
    
 0 0 1 −1, 96 1  u4   −0, 032 
0 0 0 2 −1, 96 u5 −0, 44

• 3a alternativa: Aproximar a condição de contorno natural com diferença progres-


siva.

du u6 − u5 u6 − u5
= ⇒ =1 ⇒ u6 = u5 + 0, 2
dx x=1
∆x 0, 2

164
A equação discretizada, escrita para i = 5, fica:

u4 − 1, 96u5 + u5 + 0, 2 = −0, 04 ⇒ u4 − 0, 96u5 = −0, 24

Portanto, o novo sistema de equações é:


    
−1, 96 1 0 0 0 u1 −0, 008

 1 −1, 96 1 0 0 
 u2  
  −0, 016 

    
 0 1 −1, 96 1 0  u3 = −0, 024 
    
 0 0 1 −1, 96 1  u4   −0, 032 
0 0 0 1 −0, 96 u5 −0, 24

Exemplo 20 Resolva a equação

∂2u ∂2u
+ = 0,
∂x2 ∂y 2
sujeita as condições de contorno:

u(x, y) = 0, para x = 0 e 0 ≤ y ≤ 1,
u(x, y) = 0, para x = 1 e 0 ≤ y ≤ 1,
u(x, y) = 0, para y = 1 e 0 ≤ x ≤ 1,
u(x, y) = x(1 − x), para y = 0 e 0 ≤ x ≤ 1,

utilizando diferenças finitas.

Solução: Inicialmente discretizaremos a equação diferencial. Assim, aproximando as de-


rivadas de segunda ordem por diferenças finitas em (xi , yi ), temos:

∂ 2 u u(xi − ∆x, yj ) − 2u(xi , yj ) + u(xi + ∆x, yj )
2

∂x (xi ,yj )
∆x2

∂ 2 u u(xi , yj − ∆y) − 2u(xi , yj ) + u(xi , yj + ∆y)
2

∂x
(xi ,yj ) ∆y 2

Substituindo as aproximações por diferenças finitas na equação de Laplace, temos:

u(xi − ∆x, yj ) − 2u(xi , yj ) + u(xi + ∆x, yj ) u(xi , yj − ∆y) − 2u(xi , yj ) + u(xi , yj + ∆y)
+ =0
∆x2 ∆y 2

Para facilitar a notação, façamos: u(xi −∆x, yj ) = ui−1,j , u(xi , yj ) = ui,j , u(xi + ∆x, yj ) =
ui+1,j , u(xi , yj − ∆y) = ui,j−1, u(xi , yj + ∆y) = ui,j+1. Dessa forma, manipulando algebri-
camente a equação anterior, obtemos:
 
∆y 2 [ui−1,j + ui+1,j ] − 2 ∆x2 + ∆y 2 ui,j + ∆x2 [ui,j−1 + ui,j+1] = 0

Para ∆x = ∆y, a equação pode ser reescrita como:

ui−1,j + ui+1,j − 4ui,j + ui,j−1 + ui,j+1 = 0

165
A seguir, discretizaremos o domı́nio de solução. A região onde se pretende resolver a
equação está representada na figura a seguir.

Fazendo-se ∆x = ∆y = 31 , temos 0 ≤ i ≤ 3 e 0 ≤ j ≤ 3.
Pelas condições de contorno, podemos escrever:

u0,j = 0
u3,j = 0
ui,3 = 0
ui,0 = xi (1 − xi )

Precisamos determinar o valor de u no contorno inferior, ou seja, para y = 0. Como já


conhecemos o valor de u0,0 , u3,0 , precisamos determinar apenas os valores de u1,0 e u2,0 .
Assim, temos:
 
1 1 2
u1,0 = x1 (1 − x1 ) = 1− =
3 3 9
 
2 2 2
u2,0 = x2 (1 − x2 ) = 1− =
3 3 9
Como conhecemos os valores de u em todo contorno, devemos calcular os valores de u nos
nós interiores, ou seja, para 1 ≤ i ≤ 2 e 1 ≤ j ≤ 2. Assim,

• para i = 1 e j = 1, temos:

u0,1 + u2,1 − 4u1,1 + u1,0 + u1,2 = 0

• para i = 1 e j = 2, temos:

u0,2 + u2,2 − 4u1,2 + u1,1 + u1,3 = 0

• para i = 2 e j = 1, temos:

u1,1 + u3,1 − 4u2,1 + u2,0 + u2,2 = 0

• para i = 2 e j = 2, temos:

u1,2 + u3,2 − 4u2,2 + u2,1 + u2,3 = 0

Introduzindo as condições de contorno nas equações anteriores, obtemos:


2
u2,1 − 4u1,1 + u1,2 = −
9
u2,2 − 4u1,2 + u1,1 = 0
2
u1,1 − 4u2,1 + u2,2 = −
9
u1,2 − 4u2,2 + u2,1 = 0
(8.-9)

166
Escrevendo o sistema anterior na forma matricial, obtemos:
    
−4 1 1 0 u1,1 − 92

 1 −4 0 1 
 u2,1  
  − 29 

  = 
 1 0 −4 1  u1,2   0 
0 1 1 −4 u2,2 0
As soluções aproximadas são obtidas após a resolução do sistema de equações.

Exercı́cios
1. Resolva a equação diferencial
d2 y
− y = 0, em 0 ≤ x ≤ 1,
dx2
sujeita as seguintes condições de contorno: y(0) = 0 e y(1) = 1, utilizando o MDF
com h = 0, 2. Compare os resultados obtidos com a solução analı́tica, dada por
e
y(x) = (ex − e−x ).
e2 −1

2. Resolva a equação diferencial


d2 y
+ 3y = cos x, em 0 ≤ x ≤ π,
dx2
sujeita as seguintes condições de contorno: y ′(0) = 0 e y ′(π) = 0, utilizando o MDF
com h = π4 . Compare os resultados obtidos com a solução analı́tica, dada por
1
y(x) = cos x.
2

3. Obter a solução numérica da equação de Laplace, em duas dimensões, ∇2 ϕ = 0,


definida no domı́nio x = [0, 1], y = [0, 1] e sujeita a condições de contorno do tipo
Dirichlet, da seguinte forma:

ϕ(0, y) = 0, y 6= 0; ϕ(1, y) = 0, y 6= 0; ϕ(x, 1) = 0 e ϕ(x, 0) = 1.

Discretizar a equação de Laplace por diferenças finitas centradas e utilizar os métodos


de Gauss-Jacobi e Gauss-Seidel para resolver o sistema de equações resultante da
discretização, com uma malha de 101×101 pontos.

8.5.2 Discretização Temporal


Discretização Explı́cita
A partir dos valores iniciais das grandezas em t0 , problemas transientes exigem o cálculo
da solução da EDP em intervalos sucessivos de tempo ∆t até o instante final tf .

t0 + ∆t, t0 + 2∆t, t0 + 3∆t, ..., tf .

167
Considere a solução do problema transiente de difusão do calor em uma barra, modelado
pela equação:

∂T ∂2T
=α 2, (8.-8)
∂t ∂x
sujeita a condições de contorno do tipo Dirichlet T (x0 ) = T0 e T (xM ) = TM .

Discretizando o domı́nio em M + 1 pontos, temos: x0 , x1 = x0 + ∆x, x2 = x0 + 2∆x, ...,


xM −1 = x0 + (M − 1)∆x, xM = x0 + M∆x.

Como condição inicial, adotaremos

Ti0 = Ti (x0 + i∆x, t0 ) = Tinicial , 1 ≤ i ≤ M − 1,

onde o ı́ndice “0” em Ti0 indica que esse é o valor de Ti no instante inicial t = t0 . Em geral,
o valor de T na posição (x0 + i∆x) e no instante de tempo t0 + n∆t é representado por Tin .

A equação anterior possui duas variáveis independentes, uma espacial x e uma temporal t.
As soluções da equação formam, no plano x − t, um conjunto de pontos com coordenadas
(i∆x, n∆t), com 0 ≤ i ≤ M e 0 ≤ n ≤ nf , onde nf representa o último nı́vel de
t −t
tempo, isto é, nf = f∆t 0 . Para cada nı́vel de tempo n, busca-se determinar um vetor
T n = (T0n , T1n , ..., TM
n n
−1 , TM ) que contém as temperaturas da barra.

Inicialmente, discretiza-se a equação na coordenada espacial, no ponto xi :


n n
∂T ∂ 2 T
= α 2 ,
∂t i ∂x i

Aproximando a derivada de segunda ordem por uma diferença central de segunda ordem,
temos:
n n
∂T Ti+1 − 2Tin + Ti−1
n
= α 2
+ O[(∆x)2 ]. (8.-7)
∂t i
∆x

Aproximando a derivada temporal por diferenças progressivas de primeira ordem, temos:


n
∂T Tin+1 − Tin
= + O[∆t]. (8.-6)
∂t i ∆t

Substituindo (8.-6) em (8.-7), obtemos:

168
Tin+1 − Tin T n − 2Tin + Ti−1
n
= α i+1 + O[(∆t), (∆x)2 ]. (8.-5)
∆t ∆x2
∆t
Manipulando algebricamente a expressão acima e, fazendo-se s = α ∆x 2 , podemos escrever:

Tin+1 = s Ti+1
n
+ (1 − 2s)Tin + s Ti−1
n
. (8.-4)

Note que, a expressão (8.-4), apresenta um método explı́cito, pois o lado direito depende
apenas de valores conhecidos de T no nı́vel de tempo n. O referido método é denominado
método de Euler explı́cito. O estêncil da discretização é apresentado na figura a seguir.

Ao escrevermos a expressão (8.-4) para cada ponto da barra em que se deseja a tempera-
tura no nı́vel de tempo n = 1, obtemos o conjunto de equações independentes apresentado
a seguir.
Para n = 1,
• em x1 , temos:
T11 = s T21 + (1 − 2s)T11 + s T01

• em x2 , temos:
T21 = s T31 + (1 − 2s)T21 + s T11
..
.

• em xM −1 , temos:
1 1 1 1
TM −1 = s TM + (1 − 2s)TM −1 + s TM −2

Observe que não escrevemos a equação (8.-4) para os pontos x0 e xM , já que neles a
temperatura é conhecida por ser especificada pela condição de contorno.

É importante ressaltar que só podemos calcular T 2 após todos os valores de T 1 terem sido
determinados.

Assim, podemos calcular T 2 apenas após todos os valores de T 1 terem sido determinados.
Prosseguindo essa marcha no tempo, determinamos a sequência

Ti3 , Ti4 , ..., Tinf .

É importante ressaltar que quando utiliza-se a discretização explı́cita, ocorre um efeito de


“atraso” na propagação das condições de fronteira. A figura a seguir ilustra a propagação
das condições de fronteira entre os nı́veis de tempo n e n + 2. A solução nos nós ligados
por linhas tracejadas não tem efeito sobre a solução no ponto interno (x, t) no nı́vel de
tempo n + 2. Além disso, a solução nesse ponto é influenciada apenas pelas condições de
contorno no nı́vel n, e não pelo valor da condição de fronteira no nı́vel de tempo n + 2.
Esse efeito é puramente numérico e, além de fisicamente incorreto, pode causar sérias
imprecisões quando a condição de fronteira apresentar variações consideráveis entre su-
cessivos instantes de tempo.

169
Discretização Implı́cita
A técnica apresentada nesta seção envolve aproximações implı́citas das derivadas espaci-
ais presentes na EDP. Estes métodos utilizam o mesmo processo de marcha no tempo,
diferenciando-se do anterior, principalmente, na maneira de como calcular T n+1 .

Ao contrário das discretizações explı́citas, nos métodos imı́citos as derivadas espaciais


são discretizadas no nı́vel de tempo n + 1. Como exemplo, considere a discretização da
equação (8.-8) no nı́vel de tempo n + 1. Assim, temos:
n+1 n+1
∂T Ti+1 − 2Tin+1 + Ti−1
n+1
=α 2
+ O[(∆x)2 ]. (8.-3)
∂t i
∆x
Aproximando a derivada temporal por diferenças atrasadas de primeira ordem, temos:
n+1
∂T Tin+1 − Tin
= + O[∆t]. (8.-2)
∂t i ∆t
Substituindo (8.-2) em (8.-3), obtemos:
Tin+1 − Tin T n+1 − 2Tin+1 + Ti−1
n+1
= α i+1 + O[(∆t), (∆x)2 ].
∆t ∆x2
∆t
Manipulando algebricamente a expressão acima e, fazendo-se s = α ∆x 2 , podemos escrever:

n+1
−s Ti−1 + (1 + 2s)Tin+1 − s Ti+1
n+1
= Tin . (8.-1)

A discretização acima representa o método de Euler implı́cito. O estêncil da aproximação


é apresentado na figura a seguir.

Observe que, ao contrário da equação (8.-4), a equação (8.-1) sozinha não permite deter-
minar o valor de Tin+1 , pois aparecem três incógnitas: Ti−1
n+1
, Tin+1 e Ti+1
n+1
.

8.6 Método dos Elementos Finitos


A ideia básica do Método dos Elementos Finitos (MEF) consiste em subdividir, inicial-
mente, o domı́nio do problema em subdomı́nios de dimensão finita, de tal maneira que o
conjunto dos subdomı́nios seja igual ao domı́nio original. Os subdomı́nios são denomina-
dos elementos finitos. Em seguida, sobre cada subdomı́nio, adota-se um comportamento
local aproximado para as incógnitas do problema. Em geral, este comportamento local é
descrito pelo emprego de funções simples.

Para a obtenção de resultados cada vez melhores aumenta-se o número de subdomı́nios,


mantendo o mesmo comportamento local já adotado em cada novo subdomı́nio, no lugar
de se adotar funções de aproximação de caráter global de ordem mais elevada.

Os elementos finitos são definidos por sua forma geométrica, pelas funções de aproximação
adotadas e pelos tipos de problemas para os quais foram desenvolvidos.

170
Cada elemento possui um determinado número de pontos nodais, ou nós, que podem ser
internos ou externos. Os externos fazem a conexão com os elementos vizinhos. Nesses
nós comuns a diferentes elementos, o valor das variáveis do problema é o mesmo, inde-
pendentemente do elemento que esteja sendo considerado.

Após a definição da malha de elementos finitos e do tipo de elemento, as matrizes carac-


terı́sticas correspondentes a cada elemento podem ser agrupadas, formando um sistema
global de equações. A solução do problema fornece os valores das incógnitas nos pontos
nodais. Assim, através do comportamento aproximado local, em qualquer ponto de um
elemento, as variáveis do problema são determinadas em funções dos valores nodais dessas
mesmas variáveis, ou seja, as funções de aproximação são funções de interpolação.

O trabalho de Turner, Clough, Martin e Topp intitulado “STIFFNESS AND DEFLEC-


TION ANALYSIS OF COMPLEX STRUCTURES”, publicado em 1956 no Jornal of
Aeronautical Sciences, vol. 23, p. 805-823, é reconhecido como um dos primeiros a apre-
sentar o fundamento do Método dos Elementos Finitos.

As bases teóricas do MEF foram melhor definidas no inı́cio da década de 60 com o estudo
mais aprofundado dos métodos energéticos e das técnicas variacionais.

No final da década de 70 foram introduzidas formulações baseadas na aplicação localizada


do Método de Galerkin, o que possibilitou o emprego do MEF na solução de problemas
que não possuiam formulação variacional. De maneira geral, qualquer um dos métodos
de resı́duos ponderados pode ser utilizado.

Método dos Resı́duos Ponderados


Se o domı́nio Ω é dividido em E subdomı́nios Ωe , tais que:
E
X
Ω= Ωe (8.0)
e=1

e se, em correspondência á divisão do domı́nio, o contorno é dividido em B pares Γb tais


que:
B
X
Γ= Γb , (8.1)
b=1

então a sentença de resı́duos ponderados, de caráter global na qual as funções de apro-


ximação são válidas em Ω e Γ, dada por
Z Z
wℓ εΩ dΩ + wℓ εΓ dΓ = 0 (8.2)
Ω Γ

é substituı́da por
E Z
X B Z
X
wℓ εΩ dΩ + w ℓ εΓ dΓ = 0, (8.3)
e=1 Ωe b=1 Γb

171
onde as funções de aproximação são definidas localmente, sendo válidas somente para Ωe
e Γb e não mais para Ω e Γ.

Se as integrais em (8.2) contém derivadas de ordem s nos integrandos, deve-se assegurar


que as funções de aproximação tenham derivadas de ordem s − 1 contı́nuas.

Formulação Fraca e o Método de Galerkin


Considere a equação
d2 u
+ u + x = 0,
dx2
sujeita as seguintes condições de contorno u(0) = 0 e u(1) = 1.

A forma fraca da sentença de resı́duos ponderados é dada por


Z 1   x=1
dwℓ du du
− + wℓ u + wℓ x dx + wℓ = 0. (8.4)
0 dx dx dx x=0
Obs.: Da equação anterior observa-se que é necessário que u(φi ) e wℓ sejam contı́nuas.
Por outro lado, na forma básica da sentença de resı́duos ponderados
Z 1  2 
du
wℓ + u + x dx = 0,
0 dx2
é requerida uma continuidade das derivadas de primeira ordem de u(φi ).

Um conjunto de (M + 1) pontos é escolhido no domı́nio, isto é, no intervalo 0 ≤ x ≤ 1, e


uma aproximação do tipo
M
X +1
u= u m φm (8.5)
m=1

é adotada, onde um é o valor da aproximação no nó m. Assim, as condições de contorno


essenciais podem ser atendidas diretamente, especificando-se os valores nodais apropria-
dos e fazendo, consequentemente, εΓ = 0.

Na prática esses valores conhecidos serão introduzidos apenas na etapa de solução do


sistema de equações. Portanto, no processo de formação do sistema de equações, todos
os valores de u1 , u2, ..., um+1 são considerados incógnitas.

Adotando-se o método de Galerkin, wℓ = φℓ , com 1 ≤ ℓ, m ≤ M + 1, e a equação (8.4)


pode ser reescrita como
Z 1 M +1 M +1
!  x=1
dφℓ X dφm X du
− um + φℓ um φm + φℓ x dx + φℓ = 0. (8.6)
0 dx m=1 dx m=1
dx x=0

Matricialmente, temos:

Ku = F, (8.7)

172
onde os elementos da matriz K são dados por:
Z 1 
dφℓ dφm
Kℓm = − + φℓ φm dx, com 1 ≤ ℓ, m ≤ M + 1 (8.8)
0 dx dx

e os elementos do vetor F , são dados por:


Z 1   x=1
du
Fℓ = − φℓ xdx − φℓ .
0 dx x=0

Na formação do sistema de equações (8.7), as contribuições de um elemento tı́pico e, que


contém os nós i e j, quando se adota uma aproximação local linear, podem ser calculadas,
de maneira geral, levando em conta a equação (8.8).

Consideremos o o elemento e, xi ≤ x ≤ xj , com xj − xi = he . As aproximações locais


lineares para φi e φj serão contruı́das de modo que φi (xi ) = 1, φi (xj ) = 0, φj (xi ) = 0 e
φj (xj ) = 1. Assim, temos:

x − xi
φi = φei = 1 − (8.9)
he
x − xi
φj = φej = (8.10)
he
Do ponto de vista global, as únicas funções de aproximação não nulas no elemento “e”
são as funções φi e φj , consequentemente, φℓ = 0, para ℓ 6= i ou ℓ 6= j.

A seguir são apresentados os cálculos das contribuições do elemento e, com xi ≤ x ≤ xj .

Z 
xj 
dφi dφj
Kije = e
Kji = − + φi φj dx
xi dx dx
Z xj        
d x − xi d x − xi x − xi x − xi
= − 1− + 1− dx
xi dx he dx he he he

Fazendo-se a mudança de variáveis X = x − xi , temos:


dφ dφ dX dφ
dX = dx e = = .
dx dX dx dX
Logo, podemos escrever:

173
Z he        
d X d X X X
Kije = e
Kji = − 1− + 1− dX
0 dX he dX he he he
Z he "    2
#
1 1 X X
= + − 2 dX
0 he he he he
h
2 he

3 he
X e X X
= + − 2
h2e 0 2he 3he
0 0
1 he he
= + −
he 2 3
Assim,
1 he
Kije = Kji
e
= + .
he 6

Z  xj 
dφi dφi
Kiie = − + φi φi dx
xi dx dx
Z xj        
d x − xi d x − xi x − xi x − xi
= − 1− 1− + 1− 1− dx
xi dx he dx he he he

Fazendo-se a mesma troca de variáveis realizada anteriormente, temos:

Z he        
d X d X X X
Kiie = − 1− 1− + 1− 1− dX
0 dX he dx he he he
Z he     
1 1 2X X 2
= − − − +1− + 2 dX
0 he he he he
Z he  
1 2X X 2
= − 2 +1− + 2 dX
0 he he he
" 2 3
# he
X X X
= − 2 +X − + 2
he he 3he
0
1 he
= − + he − he +
he 3
Assim,
e 1 he
Kii = − + .
he 3

Z xj  
e dφj dφj
Kjj = − + φj φj dx
xi dx dx
Z xj        
d x − xi d x − xi x − xi x − xi
= − + dx
xi dx he dx he he he

Fazendo-se a mesma troca de variáveis realizada anteriormente, temos:

174
Z he         
e d X d X X X
Kjj = − + dX
0 dX he dx he he he
Z he "     2
#
1 1 X
= − + 2 dX
0 he he he

Z he  
1 X2
= − 2 + 2 dX
0 he he
" 3
# he
X X
= − 2 + 2
he 3he
0
1 he
= − +
he 3
Assim,
e 1 he
Kjj = − + .
he 3
Portanto,
     
1 he 1 he
e
 − he + 3 he
+
6  
K =
     (8.-9)
1 he 1 he 
+ − +
he 6 he 3

A posição da matriz K e na matriz global K depende dos valores de i e de j. Note que,


fazendo, por exemplo, E = M = 5, o domı́nio [0, 1] será dividido em cinco elementos de
mesmo comprimento h = 51 .

Esquematicamente, podemos escrever:

175
Assim,
     
1 h 1 h
 −h + 3 +
h 6  

    
 1 h 1 h 1 h 
 h+6 2 − + +
 
 h 3 h 6  

  
 1 h 1 h 1 h 
 + 2 − + + 
 h 6  h 3 h 6  

K=  (8.-8)
 1 h 1 h 1 h 
 + 2 − + + 

 h 6  h 3 h 6   


 1 h 1 h 1 h 
 + 2 − + + 

 h 6  h 3 h 6


 1 h 1 h 
+ − +
h 6 h 3

Para um nó qualquer, o elemento correspondente do vetor F é composto por duas parce-
las. A contribuição do elemento (i − 1) e a do elemento i.

Esquematicamente podemos escrever:

A seguir, calcularemos a contribuição do elemento (i − 1). Assim, temos:


Z xi  
x − xi−1
Fii−1 =− xdx
xi−1 xi − xi−1
Fazendo X = x − xi−1 , dX = dx, temos:
Z h
i−1 X
Fi = − (X + xi−1 )dX
0 h
  h
1 X3 X2
= − + xi−1
h 3 2 0
 2 
h h
= − + xi−1
3 2

176
Cáculo da contribuição do elemento i.
Z xi+1  
x − xi−1
Fii =− 1− xdx
xi xi+1 − xi
Fazendo X = x − xi , dX = dx, temos:
Z h 
i X
Fi = − 1− (X + xi )dX
0 h
Z h 
X 2 Xxi
= − X + xi − − dX
0 h h
 2  h
X X 3 X 2 xi
= − + xi X − −
2 3h 2h 0
 2 
h h
= − + xi
6 2
Finalmente,
Fi = Fii−1 + Fii .
Assim, os elementos de F são dados por:
 2 
0 1 h h h2
• Nó 1: F1 = F1 + F1 = − + · x1 = − .
6 2 6
 2   2 
1 2 h h h h
• Nó 2: F2 = F2 + F2 = − + x1 − + · x2 = −h2 .
3 2 6 2
 2   2 
2 3 h h h h
• Nó 3: F3 = F3 + F3 = − + x2 − + · x3 = −2h2 .
3 2 6 2
 2   2 
3 4 h h h h
• Nó 4: F4 = F4 + F4 = − + x3 − + · x4 = −3h2 .
3 2 6 2
 2   2 
h h h h
• Nó 5: F5 = F54 + F55 = − + x4 − + · x5 = −4h2 .
3 2 6 2
 2 
5 6 h h 7h2
• Nó 6: F6 = F6 + F6 = − + x5 = − .
3 2 3
  x=1
du
Levando em conta os termos − φℓ o vetor F é dado por:
dx x=0
 
h2 du
 − 6 + dx 
 x=0 
2

 −h 

−2h2
 
 
F =  (8.-14)
 −3h2 
 

 −4h2 

 7 2 du 
− h −
3 dx x=1

Substituindo h = 0, 2 em (8.-8) e (8.-14), temos:

177
   
− 74
15
151
30
u1
 151   
 30
− 148
15
151
30
  u2 
 151
  

30
− 148
15
151
30
 
· u3 
=F

151 (8.-13)

 30
− 148
15
151
30
 
  u4 

 151   
 30
− 148
15
151
30   u5 
151
30
− 74
15
u6

Os valores de u1 e u6 são iguais aos valores prescritos. Portanto, a primeira e a sexta


equações podem ser removidas. Substituindo os valores prescritos u1 = 0 e u6 = 1, o
sistema de equações se reduz a:

     
− 148
15
151
30
u2 4
100
151

 30
− 148
15
151
30
 
  u3 



8
100


 151 ·  = − 
 30
− 148
15
151
30
  u4   12
100

151
30
− 148
15
u5 16
100
+ 151
30

Resolvendo o sistema de equações lineares, obtemos as soluções aproximadas:

u2 = 0, 271926
u3 = 0, 525099
u4 = 0, 741514
u5 = 0, 904624
du

du
Das equações removidas são obtidos os valores de dx x=0
e dx x=1
.

Da primeira equação, obtemos:



74 151 1 du du
− u1 + u2 = − + ⇒ = 1, 375321.
15 30 150 dx x=0 dx x=0

Da sexta equação, obtemos:



151 74 7 du du
u5 − u6 = − − ⇒ = 0, 286726.
30 15 75 dx x=1 dx x=1

Comparando com a solução analı́tica, temos

sin x du cos x
u(x) = 2 −x ⇒ =2 − 1.
sin 1 dx sin 1

Assim, os valores exatos de du
dx x=0
e du
dx x=1
são dados por:

du du
= 1, 37679, = 0, 284185.
dx x=0 dx x=1

178
Se as condições de contorno forem:

du
u(0) = 0 e =1
dx x=1
a sentença de resı́duos ponderados é escrita como:
Z 1  2    
du du
wℓ + u + x dx + wℓ −1 =0 (8.-17)
0 dx2 dx x=1

Efetuando a integração por partes, obtém-se a Forma Fraca da sentença de resı́duos


ponderados (a condição de contorno essencial em x = 0 é atendida):
Z 1   x=1   
dwℓ du du du
− + wℓ u + wℓ x dx + wℓ + wℓ −1 = 0.
0 dx dx dx x=0 dx x=1
Fazendo wℓ = −wℓ , temos:
Z 1 
dwℓ du du du du
− + wℓ u + wℓ x dx + wℓ − wℓ − wℓ + wℓ |x=1 = 0
0 dx dx dx x=1 dx x=0 dx x=1
Z 1 
dwℓ du du
− + wℓ u + wℓ x dx − wℓ + wℓ |x=1 = 0
0 dx dx dx x=0
Pelo método de Galerkin, a matriz K é a mesma do problema anterior. Assim, escreve-se:

     
− 74
15
151
30
u1 1
150
− du
dx x=0
 151     
 30
− 148
15
151
30
  u2   4
100

 151
    

 30
− 148
15
151
30
 
· u3  
=
8
100


151

 30
− 148
15
151
30
 
  u4  
 
12
100


151
− 148 151 16
     
 30 15 30   u5   100 
151
30
− 74
15
u6 7
75
+1

Como u(0) é prescrito, u1 = 0, a primeira equação pode ser eliminada do sistema substi-
tuindo u1 = 0 nas outras equações, o sistema de equações se reduz a:

     
− 148
15
151
30
u2 4
100
151

 30
− 148
15
151
30
 
  u3  
 
8
100


 151     
 30
− 148
15
151
30 · u4 = 12
100 
 151
    
 30
− 148
15
151
30
  u5   16
100

151 74 82
30
− 15 u6 75

2 sin x
Resolvendo e comparando com a solução analı́tica, u = − x, temos:
cos 1
x Analı́tica u
0,2 0,535401 0,533529
0,4 1,041483 1,037911
0,6 1,490098 1,485158
0,8 1,855388 1,84955
1,0 2,114815 2,108663

179

du
O valor de é calculado como:
dx x=0

74 151 1 du du
− u1 + u2 = − + ⇒ = 2, 692096
15 30 150 dx x=0 dx x=0

Da solução analı́tica, temos:



du 2
= − 1 = 2, 701631.
dx x=0 cos 1

Exercı́cios
1. Resolva a equação
d2 y
− y = 0,
dx2
(a) sujeita as condições de contorno essenciais y(0) = 0 e y(1) = 1,

dy
(b) sujeita as condições de contorno y(0) = 0 e dx x=1
= 1,

utilizando o Métodos de Elementos Finitos, dividindo o intervalo [0, 1] em três su-


bintervalos de mesmo comprimento.

2. Resolva a equação
d2 y dy
2
− 4 − 2x = 0,
dx dx
sujeita as condições de contorno y(0) = 0 e y(1) = 1, utilizando o MEF.

3. Resolva a equação
d2 y dy
2
+ 2 + 2y = 0,
dx dx
sujeita as condições de contorno y(0) = 0 e y( π2 ) = 2, utilizando o MEF, dividindo
o intervalo [0, π2 ] em 5 subintervalos.

Respostas
dy

dy
1. (a) y2 = −, 288546481, y3 = 0, 609758603, dx x=0
= 0, 849609085 e dx x=1
= 1, 31571078.

dy
(b) y2 = 0, 219309, y3 = 0, 463444, y4 = 0, 760045 e dx x=0
= 0, 645743166.

180