Sei sulla pagina 1di 170

Fundamentos de

Métodos Numéricos
com Aplicações em
Modelagem
Computacional

Antônio José da Silva Neto


Departamento de Engenharia Mecânica e Energia
Instituto Politécnico
Universidade do Estado do Rio de Janeiro

Haroldo Fraga de Campos Velho


Laboratório Associado de Matemática Aplicada
Instituto Nacional de Pesquisas Espaciais

Jorge Corrêa de Araújo


Departamento de Matemática
Faculdade de Formação de Professores
Universidade do Estado do Rio de Janeiro
Sumário

1. Motivação
1.1. Motivação 1: Solução de Sistemas de Equações Algébricas Lineares 1
1.2. Motivação 2: Solução de Equações Não-Lineares 5
1.3. Motivação 3: Erro de Truncamento 8
1.4. Motivação 4: Erros de Arredondamento 1 (round-off) 9
1.5. Motivação 5: Erros de Arredondamento 2 (round-off) 11
1.6. Motivação 6: Solução de Equações Diferenciais Ordinárias 11
1.7. Motivação 7: Integração Numérica 14
1.8. Motivação 8: Interpolação e Ajuste de Curvas 16
1.9. Exercícios 18

2. Erros
2.1. Representação de Números em Computadores 24
2.2. Aritmética de Ponto Flutuante 29
2.3. Fontes e Propagação de Erros 36
2.4. Exercícios 41

3. Solução de Equações Não-Lineares


3.1. Introdução 44
3.2. Método da Bisseção 50
3.3. Método de Newton 53
3.4. Método da Secante 56
3.5. Método Combinado Secante-Bisseção 58
3.6. Sistemas de Equações Não-Lineares 60
3.7. Otimização sem Restrições 67
3.8. Exercícios 77

4. Interpolação e Ajuste de Curvas


4.1. Introdução 83
4.2. Interpolação Linear 83
4.3. Dupla Interpolação Linear 87
4.4. Interpolação Quadrática 91
4.5. Interpolação Langrangeana 94
4.6. Splines Cúbicos 96
4.7. Ajuste de Curvas pelo Método dos Mínimos Quadrados 106
4.8. Exercícios 108

5. Integração Numérica
5.1. Introdução 120
5.2. Regra do Trapézio 121
5.3. Regra de Simpson 124
5.4. Quadratura Gaussiana 126
5.5. Integração em Duas Dimensões 132
5.6. Exercícios 134
6. Solução Numérica de Sistemas de Equações Algébricas Lineares

6.1. Introdução 140


6.2. Métodos Diretos 142
6.2.1. Eliminação Gaussiana 142
6.2.2. Algoritmo de Thomas 146
6.3. Métodos Iterativos 147
6.3.1. Método de Gauss-Jacobi 148
6.3.2. Método de Gauss-Seidel 149
6.3.3. Método das Sobre-Relaxações Sucessivas
(SOR - Successive Over Relaxation) 151
6.4. Exercícios 152

7. Solução Numérica de Equações Diferenciais Ordinárias

7.1. Introdução 154


7.2. Métodos de Um Passo (Métodos Diretos) 155
7.2.1. Expansão de Taylor 155
7.2.2. Métodos de Runge-Kutta 158
7.3. Métodos de Múltiplos Passos (Métodos Iterativos) 163
7.4. Exercícios 165
1
CAPÍTULO
MOTIVAÇÃO
Ao invés de ir direto às técnicas que serão descritas neste livro,
optamos por primeiro apresentar alguns problemas de interesse, ou
pelo menos a modelagem matemática dos mesmos, levando então à
identificação do problema que será resolvido empregando métodos
numéricos.
Neste capítulo apresentamos alguns exemplos que servirão de
motivação para os assuntos que serão tratados nos capítulos seguintes.

1.1 – Motivação 1:
Solução de Sistemas
de Equações Algébricas
Lineares

O problema de transferência de calor por condução, em regime


permanente, em um meio unidimensional de espessura L , na presença
de uma fonte térmica de intensidade g ( x ) , com condições de contorno
de primeiro tipo (Dirichlet), ou seja, com temperaturas prescritas,
conforme representado esquematicamente na Fig. 1.1, é modelado
matematicamente por

d 2T (x ) 1
+ g ( x ) = 0, 0< x<L (1.1a)
dx 2 k

T (0) = T (L ) = 0 (1.1b)

onde T e k representam respectivamente a temperatura e a


condutividade térmica.

T (0) = 0 T (L ) = 0

g (x)

x
X

x = 0 x=L
X =0 X =1

Figura 1.1 – Representação esquemática de um meio unidimensional com fonte


térmica interna e condições de contorno de primeiro tipo (Dirichlet).

1
• MOTIVAÇÃO •

Definindo novas variáveis adimensionais

T
u= (1.2a)
TR
x
X = , 0 < X <1 (1.2b)
L
L2
f (x ) = g (x ) (1.2c)
kTR

onde TR é uma temperatura de referência, e observando que

dx = L dX (1.3)

o problema (1.1a –b) é reescrito como

d 2u
− = f ( X ), 0 < X <1 (1.4a)
dX 2

u (0 ) = u (1) = 0 (1.4b)

Vamos agora discretizar o domínio X = [0, 1] usando uma malha com


sete nós conforme representado na Fig. 1.2.

0 1 2 3 4 5 6

X =0 X =1
∆X

Figura 1.2 – Discretização do domínio espacial.

Usando expansões de Taylor, podemos obter uma aproximação para a


derivada segunda em x na Eq. (1.1a) usando apenas os nós da malha
discretizada representada na Fig. 1.2.
Façamos expansões em X 0 + ∆X e X 0 − ∆X , onde X 0 é qualquer ponto
na malha, a menos dos nós no contorno,

2 3 4
du d 2u (∆X) d 3u (∆X) d 4u (∆X)
u( X0 + ∆X) = u( X0 ) + ∆X+ 2 + + +L (1.5a)
dX X0 dX X 2! dX3 X 3! dX 4 X 4!
0 0 0

2 3
u( X0 −∆X) = u ( X0 ) −
du d 2u (∆X) d 3u (∆X) d 4u
∆X+ 2 − +
(∆X)4 +L (1.5b)
dX X0 dX X 2! dX3 X 3! dX 4 X0
4!
0 0

2
• MOTIVAÇÃO •

Somando estas equações resulta

d 2u 2 d 4u
u( X 0 + ∆X ) + u( X 0 − ∆X ) = 2u( X 0 )+ (∆X )2 + (∆X )4 + L
dX 2 X0
4! dX 4 X0

(1.6)
Logo,

d 2u u ( X 0 + ∆X ) − 2u ( X 0 ) + u ( X 0 − ∆X ) 2
2
= 2
+ O (∆X ) (1.7)
dX (∆X )

2 2
Os termos desprezados, de ordem (∆X ) , ou seja O (∆X ) , constituem o
erro de truncamento devido à impossibilidade de se considerar um número
infinito de termos.
Será feita uma mudança de notação visando escrever as equações da
forma mais simples possível. Observando a Fig. 1.3 escreve-se:

u ( X 0 + ∆X ) = ui +1 (1.8a)

u ( X 0 ) = ui (1.8b)

u ( X 0 − ∆X ) = ui −1 (1.8c)

X 0 − ∆X X0 X 0 + ∆X

∆X ∆X

X i −1 Xi X i +1

Figura 1.3 – Mudança de notação para a representação dos nós da malha computacional.

Levando as Eqs. (1.8a-c) na Eq. (1.7) resulta

d 2u ui +1 − 2ui + ui −1
= (1.9)
dX 2 Xi
(∆X )2

Das Eqs. (1.4a) e (1.9) obtém-se


2
− ui+1 + 2ui − ui−1 = f i ⋅ (∆X ) (1.10)

3
• MOTIVAÇÃO •

onde

fi = f ( X i ) (1.11)

Escrevendo a Eq. (1.10) para os cinco nós interiores da malha


computacional representada na Fig. 1.2, i.e. i = 1, 2, 3,K ,5, e usando o
conhecimento das condições de contorno (1.4b) reescritas como

u0 = u6 = 0 (1.12 a,b)

obtém-se

2
i = 1 → −u2 + 2u1 = f1 ⋅ (∆X )
2
i = 2 → −u3 + 2u2 − u1 = f 2 ⋅ (∆X )
2
i = 3 → −u4 + 2u3 − u2 = f3 ⋅ (∆X ) (1.13)
2
i = 4 → −u5 + 2u4 − u3 = f 4 ⋅ (∆X )
2
i = 5 → 2u5 − u4 = f5 ⋅ (∆X )

Em forma matricial,

u1   f1 ⋅ (∆X ) 
2
 2 −1 0 0 0
− 1 2 −1 0 0 u   f ⋅ (∆X ) 2 
  2   2 
2
 0 −1 2 −1 0 u3  =  f 3 ⋅ (∆X )  (1.14)
  u   2
 0 0 −1 2 − 1
 4   f 4 ⋅ (∆X ) 
 0 0 0 −1 2  u5   f ⋅ (∆X ) 2 
 5 

Ou então de forma compacta,


r r
Au = b (1.15)

Ao se resolver o sistema (1.14) obtém-se uma aproximação da solução do


problema (1.1a-b). A obtenção de uma solução analítica para este problema com
uma fonte térmica heterogênea genérica g ( x ) pode se tornar uma tarefa difícil.
Com o uso da discretização do domínio físico e das expansões de Taylor, que
constituem a base do método de diferenças finitas, reduz-se o problema original
à solução do sistema de equações algébricas lineares (1.14). Deve-se ressaltar
que os computadores digitais são equipamentos particularmente bons para uso
na solução destes sistemas.
Para a solução de sistemas de equações algébricas lineares podem ser
usados os métodos diretos, que não requerem cálculos iterativos, ou os métodos
indiretos ou iterativos. Estes métodos serão vistos no Capítulo 6.
O problema aqui apresentado também poderia ser resolvido usando um
software comercial de manipulação simbólica. Apesar da utilidade de tais
softwares, este não é o objetivo deste curso, não sendo aqui abordado, portanto.

4
• MOTIVAÇÃO •

Vamos olhar com um pouco mais de detalhe o erro de truncamento (ET )


decorrente da aproximação numérica apresentada anteriormente. A equação
diferencial ( ED ) dada pela Eq. (1.4a) foi substituída por uma aproximação por
diferenças finitas ( EDF ),

d 2u u − 2ui + ui −1 2 d 4u (1.16)
2
+ f ( X ) = i +1 2
+ f (Xi ) + 4
(∆X )2 + L
dX
1424 43 4 1444424444 (∆X ) 3 144
4! dX 42444 3
ED EDF ET

ou seja,

ED = EDF + ET (1.17)

2
onde ET é de ordem (∆X ) .

A representação usada para a ED é consistente uma vez que

lim (ED − EDF ) = lim ET = 0 (1.18)


∆X → 0 ∆X → 0

Para que uma aproximação por diferenças finitas consistente convirja


para a solução da ED é necessário que seja estável, ou seja, os erros não são
amplificados de uma iteração para outra.

1.2 – Motivação 2:
Solução de Equações
Não-Lineares

Considere o problema de determinação de soluções de equações não-


lineares escritas na forma

F (x ) = 0 (1.19)

Conforme mostrado na Fig. 1.4(a), busca-se o ponto x * para o qual a Eq.


(1.19) é satisfeita. Numericamente dificuldades podem ocorrer, por exemplo, na
situação representada na Fig. 1.4(b).
A Eq. (1.19) sempre pode ser reescrita na forma

x = f (x ) (1.20a)

como por exemplo,

x = F (x ) + x = f (x ) (1.20b)

5
• MOTIVAÇÃO •

O método de aproximações sucessivas para a solução da Eq. (1.20a) pode


ser escrito como:

Escolha uma estimativa inicial x0 e faça x k +1 = f ( x k ) , para k = 0 até


N * de forma que para k = N * tenha-se uma boa aproximação para a solução,
i.e., xN * ≈ x * .

Na Fig. 1.5 são representadas quatro situações possíveis: (a) 0 < f ′( x ) < 1 ;
(b) − 1 < f ′( x ) < 0 ; (c) f ′( x ) > 1 ; e (d) f ′(x ) < −1 . Partindo-se de uma
estimativa inicial x0 são mostradas as estimativas xk obtidas a cada passo do
procedimento iterativo, com k = 1,2,K Nos dois primeiros casos, o método
converge para a solução x * . Nos casos (c) e (d) o método não converge.
Antes de se empregar um método numérico para resolver um problema,
deve-se tentar conhecê-lo o suficiente para evitar situações como aquelas
representadas nas Figs. 1.5(c) e (d), ou como acontece em alguns casos, até
mesmo a obtenção de resultados incorretos.

F (x) F (x)

F0

F0
0 x0 x 0 x0 x* x
x*
(a) (b)

Figura 1.4 – Raízes de equações não-lineares. x0 representa uma estimativa inicial para o
procedimento numérico e x * representa o valor que se deseja determinar

No Capítulo 3 serão apresentados diversos métodos para a solução de


equações não lineares. Também será apresentado o método de Newton
multivariável para a solução de sistemas de equações não-lineares.

6
• MOTIVAÇÃO •

y y

y=x y=x
0 < f ′( x) < 1 − 1 < f ′( x) < 0

y = f ( x)
y = f (x )

x0 x1 x2 x * x x0 x2 x * x1 x
(a) (b)

y=x
y y

f ' ( x) > 1 y=x


y = f (x ) f ′( x) < −1

y = f ( x)

x * x0 x1 x2 x x4 x2 x0 x* x1 x3 x5 x
(c ) (d )

Figura 1.5 – Representação gráfica do método das aproximações sucessivas.


x0 representa uma estimativa inicial para o procedimento numérico e x* representa a
solução que se deseja determinar. (a) e (b) convergem, (c) e (d) divergem.

7
• MOTIVAÇÃO •

1.3 – Motivação 3:
Erro de Truncamento

O problema de transferência de calor por condução, em regime


transiente, em um meio unidimensional de espessura L , sem fonte térmica, com
condições de contorno de segundo e terceiro tipos, i.e. Neumann e Robin,
respectivamente, conforme representado esquematicamente na Fig. 1.6, é
modelado matematicamente por,

∂ 2T (x, t ) 1 ∂T ( x, t )
= , em 0 < x < L, para t >0 (1.21a)
∂x 2 α ∂t

∂T ( x, t )
= 0 em x = 0 , para t > 0 (Neumann) (1.21b)
∂x

∂T ( x, t )
+ H 2T ( x, t ) = 0 em x = L , para t > 0 (Robin) (1.21c)
∂x

T (x,0) = F (x ) para t = 0 em 0 ≤ x ≤ L (1.21d)

k
onde α = , sendo α a difusividade térmica do material, k a condutividade
ρc p
térmica, ρ a densidade, c p o calor específico, e H 2 está relacionado com a
condutividade térmica k e com o coeficiente de troca térmica por convecção da
superfície do meio para um fluido na temperatura T = 0 , fluido este que se
encontra em contato com a superfície em x = L .

Neumann Robin
∂T ∂T
=0 + H 2T x=L
=0
∂x x=0 ∂x x=L

isolamento
térmico troca de calor
por convecção

x=0 x=L

Figura 1.6 – Representação esquemática de um meio unidimensional com uma superfície


isolada termicamente, x = 0 , e com troca de calor por convecção na superfície x = L .

8
• MOTIVAÇÃO •

A solução analítica para este problema é dada por

2 2
βm+ H2
∞ 2
−α β
T ( x , t ) = 2∑ e
t L
cos (β m x )∫ F ( y ) cos(β m y )dy (1.22)
( )
m
2 2 y =0
m =1 L β m + H 2 + H2

onde os autovalores β m são calculados resolvendo a equação

( )
β m tan β m L = H 2 (1.23)

Para o caso particular no qual F ( x) = T0 = constante , obtém-se

cos(β m x )
∞ 2
−α β
T ( x, t ) = 2T0 ∑ e
t
m H2 (1.24)
m =1 ( 2
2
m )
L β + H 2 + H 2 cos(β m L )

Em situações práticas as séries são truncadas devido à impossibilidade


óbvia de se utilizar um número infinito de termos.
Em muitas situações as soluções analíticas para problemas em fenômenos
de transporte são baseadas em somatórios de um número infinito de termos, bem
como existe a necessidade de determinação de autovalores e autofunções. O
cálculo de uma solução deste tipo usualmente exige um tempo computacional
elevado. Porém, estas soluções são extremamente importantes para a validação
de resultados obtidos exclusivamente por métodos numéricos.

1.4 – Motivação 4: Erros


de Arredondamento 1
(round-off)

Na Fig. 1.7 é representada a trajetória de um projétil lançado a partir de


uma posição (x0 , y0 ) , no instante t = 0 e com velocidade v0 .
Vamos analisar a trajetória deste projétil tanto do ponto de vista do
problema direto quanto do problema inverso.

9
• MOTIVAÇÃO •

( x1 , y1 ) em t 1

v y0 v0
( x 2 , y 2 ) em t 2

g
y0
( x0 , y 0 ) em t = 0
v x0

x
x0 x1 x2
Figura 1.7 – Representação esquemática da trajetória de um projétil.

{ }
Dadas as condições iniciais x0 , y0 , vx0 , v y 0 , toda a trajetória do projétil
representado na Fig. 1.7 pode ser calculada em função do tempo empregando as
equações

x(t ) = vx0 t + x0 (1.25a)


g 2
y (t ) = v y0 t + y0 − t (1.25b)
2

onde g é a aceleração da gravidade. Como as forças de atrito foram desprezadas,


não há aceleração, ou melhor, desaceleração, ao longo do eixo x , conforme
pode ser visto na Eq. (1.25a).
Nestas condições, o problema modelado matematicamente com as Eqs.
(1.25 a, b) corresponde ao problema direto.
Vamos considerar agora a situação em que medidas da posição do
projétil estejam disponíveis em dois instantes de tempo, ou seja, são conhecidos
(x1 , y1 ) e (x 2 , y 2 ) para os instantes de tempo t1 e t2, respectivamente, e deseja-se
{ }
calcular as condições iniciais x0 , y0 , vx0 , v y 0 . Esta formulação corresponde,
então, ao problema inverso. Aplicando nas Eqs. (1.25a-b) as informações
conhecidas, escreve-se

vx0 t1 + x0 = x1 (1.26a)
g 2
v y0 t1 + y0 − t1 = y1 (1.26b)
2
v x0 t 2 + x 0 = x 2 (1.26c)
g 2
v y0 t 2 + y 0 − t 2 = y2 (1.26d)
2

Subtraindo a Eq. (1.26a) da Eq. (1.26c) obtém-se

x2 − x1
v x0 = (1.27)
t2 − t1

10
• MOTIVAÇÃO •

Tendo calculado vx0 com a Eq. (1.27), x0 é, então, calculado a partir da


Eq. (1.26a),

x0 = x1 − vx0 t1 (1.28)

As incógnitas restantes v y0 e y0 são calculadas de forma semelhante,


usando as Eqs. (1.26b) e (1.26d).
Vamos olhar atentamente a Eq. (1.27). Se o projétil estiver se movendo
rapidamente, t 2 e t1 serão muito próximos. Neste caso, conforme será visto no
Capítulo 2, os erros de arredondamento poderão comprometer a qualidade do
resultado obtido.
A técnica analisada é factível na teoria, no entanto, quando os cálculos
forem efetivamente realizados, os erros poderão invalidá-los.

1.5 – Motivação 5: Erros


de Arredondamento 2
(round-off)

Até mesmo para a simples tarefa de obtenção das raízes de um polinômio


de segundo grau

ax 2 + bx + c = 0 (1.29)

dadas por

− b ± b 2 − 4ac
x= (1.30)
2a

erros significativos podem ocorrer devido à aritmética finita dos computadores.


Esta situação é semelhante àquela descrita no exemplo anterior (Motivação 4).
Observando a Eq. (1.30), os resultados computacionais podem ficar
comprometidos quando 4ac << b 2 .

1.6 – Motivação 6:
Solução de Equações
Diferenciais Ordinárias

Uma das fases mais importantes no processo de fabricação do elemento


combustível de reatores nucleares do tipo PWR (Pressurized Water Reactor) é
aquela em que o UF4 sólido é processado em um reator químico onde é colocado
em contato com o flúor (F2).
Conforme a representação esquemática apresentada na Fig. 1.8, o reator
consiste em um tubo metálico no interior do qual ocorre a reação química que
leva à formação do composto UF6 (hexafluoreto de urânio) no estado gasoso. Na
base do reator são coletadas as cinzas presentes no UF4 (que não reagem) bem

11
• MOTIVAÇÃO •

como o próprio UF4 não reagido. O UF6 gerado prossegue no processo para
outras etapas de transformação.
Na reação química do UF4 com o F2 há um déficit de energia (reação
endotérmica) sendo necessário o contínuo aquecimento do reator. Este
aquecimento é feito por um circuito a ar.
No início do processo todas as tubulações, bem como o reator,
encontram-se frios, i.e. na temperatura ambiente Tamb.
Em um dado instante de tempo, por exemplo, t = 0 , o soprador do
circuito a ar e o aquecedor elétrico, existente no interior do mesmo, são ligados.
A potência do aquecedor é conhecida em qualquer instante de tempo, sendo aqui

representada por Q(t ) .

UF4 sólido

F2 (gás) Reator (Tubo Metálico)

Ambiente na
Camisa de Aquecimento
temperatura Tamb

Q conv

Aquecedor

Q (t )

UF6 gasoso

Soprador
Coletor de Cinzas e
de UF4 não reagido

Figura 1.8 – Representação esquemática do processo para produção de UF6.

12
• MOTIVAÇÃO •

Assim que as tubulações e o reator recebem calor, a temperatura começa


a subir, ocorrendo então troca de calor por convecção natural para o ambiente,

Q conv = hA[T (t ) − Tamb ] (1.31)

onde h é o coeficiente de troca térmica por convecção natural, e A é a área de


troca térmica. É aqui assumido que a temperatura de toda a tubulação e dos
componentes do sistema é a mesma, variando apenas com o tempo, i.e. T (t ) .
Fazendo um balanço de energia escreve-se

variação da energia do potência adicionada  potência 


 = −  (1.32)
 sistema com o tempo   ao sistema   perdida 

Esta equação é escrita então da seguinte forma

dT (t ) •
ρVc p = Q(t ) − hA[T (t ) − Tamb ] (1.33a)
dt

T (0 ) = Tamb (1.33b)

Onde ρ é a massa específica do material, c p é o calor específico do mesmo e


V é o volume do reator e das tubulações. Estamos aqui assumindo que o reator e
as tubulações são feitos do mesmo material. Isto não é necessariamente
verdadeiro, mas será assumido como tal para manter a simplicidade da
apresentação.
Além disso, mais um termo deveria estar presente na Eq. (1.33a). Como a
reação química que ocorre no interior do reator é endotérmica, uma fração da
energia fornecida pelo aquecedor será utilizada para mantê-la. Porém, no
exemplo aqui considerado não estamos apresentando a modelagem dos
processos químicos envolvidos. As Eqs. (1.33) descrevem, portanto, o período
de pré-aquecimento do reator e tubulações antes que seja iniciada a alimentação
do forno com UF4 e F2.
As Eqs. (1.33) podem ser escritas na seguinte forma equivalente


dT (t ) Q (t ) hA
= − [T (t ) − Tamb ] (1.34a)
dt ρVc p ρVc p

T (0 ) = Tamb (1.34b)

ou mudando a notação,

dy ( x )
= f ( x, y ) (1.35a)
dx

y ( x0 ) = y0 (1.35b)

13
• MOTIVAÇÃO •

onde

x=t (1.36a)

y =T (1.36b)

x0 = 0 (1.36c)

y 0 = Tamb (1.36d)

• •
Q(t )
f (x, y ) ≡ f (t , T ) = −
hA
[T (t ) − Tamb ] = Q(t ) − hA [y(x) − y0 ]
ρVcp ρVcp ρVcp ρVcp
(1.36e)

A solução da equação diferencial ordinária (1.35a), com a condição


inicial (1.35b), empregando uma solução numérica, será apresentada no Capítulo
7.
Para alguns casos particulares pode ser obtida uma solução analítica para
o problema (1.35), mas frequentemente em aplicações práticas isto não é
possível sendo, então, a aproximação numérica a única opção disponível.

1.7 – Motivação 7:
Integração Numérica

O problema de transferência de calor por radiação térmica, em regime


permanente, em um meio participante, i.e. espalhador, absorvedor e emissor,
unidimensional, cinza (propriedades do meio não dependem do comprimento de
onda da radiação), com paredes refletoras difusas na face interna ao meio, com
simetria azimutal, e com a incidência de radiação externa isotrópica, conforme
representado esquematicamente na Fig. 1.9, é modelado matematicamente pela
versão linear da equação de Boltzmann,

∂I (τ , µ ) ω 1
µ + I (τ , µ ) = S (τ , µ ) + ∫ p (µ, µ′) I (τ , µ′) dµ′ , 0 < τ < τ 0 , −1 ≤ µ ≤ 1
∂τ 2 -1
(1.37a)

que é uma equação integro-diferencial, com as condições (equações) de contorno

1
I (0, µ ) = A1 + 2 ρ1 ∫ 0 I (0, − µ ′) µ ′dµ ′, µ > 0 (1.37b)

1
I (τ 0 , − µ ) = A2 + 2 ρ 2 ∫ 0 I (τ 0 , µ ′) µ ′dµ ′, µ > 0 (1.37c)

14
• MOTIVAÇÃO •

onde µ é o cosseno do ângulo polar, i.e. cosseno do ângulo formado pelo feixe
de radiação com o eixo τ positivo, I é a intensidade da radiação, τ é a variável
óptica, S representa uma fonte interna distribuída no meio, ω é o albedo de
espalhamento simples, p é a função de fase de espalhamento anisotrópico,
sendo p = 1 para o caso particular de espalhamento isotrópico, τ0 é a espessura
óptica do meio, A1 e A2 representam as intensidades da radiação isotrópica
incidente nas superfícies de contorno τ = 0 e τ = τ 0 , respectivamente, e ρ1 e ρ 2
representam as reflectividades difusas na parte interna destas superfícies.

A1 A2
ρ1 ρ2

µ<0 µ >0
µ = −1 µ =1
θ

µ =0
τ
x

τ =0 τ = τ0
x=0 x=L

Figura 1.9 – Representação esquemática de um meio participante unidimensional com


paredes refletoras difusas.

Os fenômenos de absorção, espalhamento e emissão, modelados pelas


Eqs. (1.37a-c), encontram aplicações em diversas áreas, não estando estas
limitadas, portanto, à transferência de calor por radiação térmica. Como
exemplos destas outras áreas podem ser citadas: astrofísica; transporte de
nêutrons em reatores nucleares; óptica hidrológica; ensaios não-destrutivos em
engenharia; e diagnóstico e terapia em medicina. Devido à relevância destas
aplicações, diversos pesquisadores têm desenvolvido diferentes métodos para a
solução da equação de Boltzmann.
O método das ordenadas discretas, proposto originalmente por Wick e
Chandrasekhar, é hoje um dos métodos que tem mais atraído a atenção dos
pesquisadores. Neste método o termo integral no lado direito da Eq. (1.37a) é
substituído por uma quadratura gaussiana,

1 N

∫ p (µ , µ ′)I (τ , µ ′) dµ ' ≅ ∑ an p (µ , µ n ) I (τ , µ n ) (1.38)


−1
n=1

15
• MOTIVAÇÃO •

onde N é a ordem da quadratura, an é o peso da quadratura e µ n representa os


pontos de colocação. Como o domínio angular, − 1 ≤ µ ≤ 1 , é discretizado
conforme a representação feita na Fig. 1.10, a equação integral (1.37a) é
substituída então por um sistema de equações diferenciais ordinárias

∂I (τ , µ m ) ω N
µm + I (τ , µ m ) = S (τ , µ m ) + ∑ an p(µ m , µ n ) I (τ , µ n ) m = 1, 2,K, N
∂τ 2 n =1
(1.39)

O uso de aproximações numéricas para o cálculo de integrais, como, por


exemplo, aquela representada na Eq. (1.38), será objeto de estudo no Capítulo 5,
e a solução de equações diferenciais ordinárias, conforme visto anteriormente na
Motivação 6, será tratada no Capítulo 7.

µ = −1 µ =1

µN µN
+1
2 2

µ N −1 µ2
µ<0 µ >0
µN µ1

µ =0

Figura 1.10 – Discretização do domínio angular.

1.8 – Motivação 8:
Interpolação e Ajuste
de Curvas

Frequentemente experimentalistas obtêm dados experimentais discretos,


como, por exemplo, posição de um objeto x0 , x1 ,K , x N , para alguns instantes de
tempo t 0 , t1 ,K , t N , onde N é o número total de observações. Supondo que do
conhecimento físico do processo sob análise (movimento de um objeto), esteja
se prevendo uma dependência quadrática da posição do objeto com o tempo
(movimento uniformemente acelerado) como, por exemplo, em um campo
gravitacional constante representado pela Eq. (1.25b) na Motivação 4, ou então

16
• MOTIVAÇÃO •

linear (movimento uniforme) conforme representado pela Eq. (1.25a) também na


Motivação 4.
Na ausência de erros experimentais pode ser interpolada uma curva
(parábola ou reta nos exemplos aqui considerados), permitindo que se conheça
então a posição do objeto x(t ) para qualquer instante de tempo t .
Como em medidas experimentais reais ruídos de alta frequência estão
sempre presentes, deixa de ser interessante, portanto, interpolar uma curva que
passe por todos os pontos experimentais, porque esta curva refletirá diretamente
os erros presentes nos dados experimentais. Neste caso é mais interessante o
ajuste de uma curva que não passará por todos os pontos, mas que atenderá a
algum critério, como, por exemplo, minimizar o somatório dos resíduos
quadrados relativos ao valor da variável dependente (grandeza medida) com
relação ao valor correspondente obtido com a curva ajustada.
Como exemplo, veja a situação representada na Fig. 1.11. A partir de um
conjunto de dados experimentais (t1 , x1 ), (t2 , x2 )K, (t N , xN ) deseja-se traçar a reta
que melhor represente a trajetória x(t ) . Tomando pares de pontos quaisquer
(t j , x j ) e (t k , xk ) , com j = 1, 2, …, N e j ≠ k, diversas retas podem ser traçadas.
Qual delas seria a mais adequada ? Ao se deparar com um problema semelhante,
onde buscava-se determinar a trajetória de um cometa, Gauss decidiu escolher a
curva para a qual o somatório dos resíduos quadrados

N 2
S = ∑ [x(t i ) − y i ] (1.40)
i =1

fosse mínima. Estava inventado então o método dos mínimos quadrados.


Observe que em x(t i ) na Eq. (1.40) estão incluídas as incógnitas que no
exemplo apresentado na Fig. 1.11 correspondem aos coeficientes angular e
linear da reta, a e b , respectivamente.
A obtenção de curvas que interpolem ou que ajustem curvas a um
conjunto de pontos dados a priori será objeto de estudo no Capítulo 4.

x (t )

(t N , x N ) x (t ) = v x0 t + x 0

ou então
(t 3 , x 3 )
x ( t ) = at + b
(t 4 , x 4 )
(t1 , x1 ) dados experim entais

(t 2 , x 2 )

x0

t
Figura 1.11 – Ajuste de uma reta a dados experimentais reais.

17
• MOTIVAÇÃO •

1.9 – Exercícios

1.9.1 – Escrever uma rotina computacional para a obtenção da solução de


equações não-lineares, x = f ( x ) , pelo Método das Aproximações Sucessivas:

x1 = f ( x0 ) 
x2 = f ( x1 ) 

M 
 i.e., xk +1 = f ( xk ), k = 0, 1, 2,K, N
*
xk = f ( xk −1 ) 
M 

(
xN * = f xN * −1 )

Apresentar resultados para funções f ( x ) com derivadas nos seguintes


intervalos:

f ′(x ) < −1
− 1 < f ′( x ) < 0
0 < f ′( x ) < 1
f ′(x ) > 1

Os resultados devem ser apresentados em forma de tabela mostrando as


estimativas xk para cada iteração k . Faça uma breve consideração sobre a
convergência do método.

Sugestão: Utilizando funções polinomiais será fácil obter valores para as


derivadas nas faixas prescritas.

1.9.2 – Mostre como podem ser obtidas as seguintes aproximações por


du
diferenças finitas para a derivada primeira, , com erro de truncamento de
dx
O (∆X ) :

du u −u
= i +1 i + O (∆X )
dX i ∆X
du u − ui −1
= i + O (∆X )
dX i ∆X

1.9.3 – Usando expansões de Taylor para u ( X + ∆X ) , u ( X + 2∆X ) , u ( X − ∆X )


e u ( X − 2∆X ) , mostre como são obtidas as seguintes aproximações por

18
• MOTIVAÇÃO •

du
diferenças finitas para a derivada primeira, , com erro de truncamento
dX
de O (∆X 2 ) :

du − 3ui + 4ui +1 − ui + 2
= + O (∆X ) 2
dX i 2∆X

du 3u − 4ui −1 + ui − 2
= i + O (∆X ) 2
dX i 2∆X

1.9.4 – Usando expansões de Taylor para u ( X + ∆X ) , u ( X + 2∆X ) , u ( X − ∆X )


e u ( X − 2∆X ) mostre como são obtidas as seguintes aproximações por
d 2u
diferenças finitas para a derivada segunda, , com erro de truncamento
dX 2
de O (∆X ) :

d 2u u − 2ui +1 + ui + 2
2
= i + O (∆X )
dX i (∆X ) 2

d 2u u − 2ui −1 + ui − 2
2
= i + O (∆X )
dX i (∆X ) 2

1.9.5 – Obtenha aproximações numéricas para as integrais listadas a seguir


usando quadraturas Gaussianas. Experimente diferentes quadraturas (Gauss-
Legendre, Gauss-Lobato, etc.) e diferentes ordens de quadratura, N . Utilize
tabelas de integrais para obter as soluções analíticas para as mesmas e compare
os resultados com aqueles obtidos com a quadratura Gaussiana. Nos casos (c) e
(d) experimente diferentes valores para as constantes a e b . Comente os
resultados obtidos.

1
a) ∫ −1
sen2 µ dµ

1
b) ∫ −1
e µ dµ

1 µ
c) ∫ (aµ + b )
−1 3

1
d) ∫ −1
µ 2 e aµ dµ

19
• MOTIVAÇÃO •

1.9.6 – Repita o exercício 1.9.5 utilizando quadraturas Gaussianas para o cálculo


de aproximações numéricas para as seguintes integrais:

1
a) ∫ 0
sen2η dη

1
b) ∫ 0
eη dη

1 η
c) ∫ (aη + b)
0 3

1
d) ∫ 0
η 2e aη dη

(1.9.6.a) Para a utilização da quadratura no intervalo [− 1, 1] para o cálculo das


integrais no intervalo [0, 1] utilize a seguinte mudança de variáveis µ = 2η − 1 .

Observe que = 2.

0
η
1

−1
Figura 1.12 – Mudança de variáveis. η no intervalo [0, 1] e µ no intervalo [− 1, 1] .
(1.9.6.b) Empregue quadraturas para o domínio [0, 1] . Tanto neste caso quanto
no caso anterior, (1.9.6.a), experimente diferentes ordens de quadratura, N .
Faça uma tabela comparando os resultados analíticos com as aproximações
numéricas obtidas com as quadraturas no intervalo [− 1, 1] e com a quadratura
Gaussiana no intervalo [0, 1] . Comente os resultados obtidos.

1.9.7 – Considere o problema de transferência de calor por condução no meio


bidimensional representado na Fig. 1.13, onde são consideradas condições de
contorno de primeiro tipo (Dirichlet).

20
• MOTIVAÇÃO •

T3
y =b

T4 Termo fonte : g ( x, y, t ) T2

y=0
x=0 T1 x=a x

Figura 1.13 – Representação esquemática de um meio bidimensional com condições


de contorno de primeiro tipo.

A formulação matemática do problema de condução de calor neste meio


considerando que as propriedades térmicas não variam com a temperatura é dada
por

∂ 2 T ( x, y , t ) ∂ 2 T ( x, y , t ) 1 1 ∂T (x, y, t )
2
+ 2
+ g ( x, y , t ) = (1.41a)
∂x ∂y k a ∂t

em 0 < x < a, 0 < y < b, para t > 0

T ( x,0, t ) = T1 em y = 0, para t > 0 (1.41b)

T (a, y, t ) = T2 em x = a, para t > 0 (1.41c)

T ( x, b, t ) = T3 em y = b, para t > 0 (1.41d)

T (0, y, t ) = T4 em x = 0, para t > 0 (1.41e)

T ( x, y, t ) = T0 em 0 ≤ x ≤ a, 0 ≤ y ≤ b, para t = 0 (1.41f)

onde T ( x, y, t ) representa a temperatura, g (x, y, t ) é o termo fonte, t é o tempo e


k e α representam, respectivamente, a condutividade e a difusividade térmica.
Realize agora as seguintes tarefas:

1.9.7a – Escreva uma aproximação por diferenças finitas para o problema (1.41)
com erro de truncamento O (∆x 2 , ∆y 2 , ∆t ) . Mostre todos os passos do
desenvolvimento.

21
• MOTIVAÇÃO •

1.9.7b – Suponha que as condições de contorno (1.41b) e (1.41c) sejam


substituídas por condições de contorno de segundo tipo (Neumann):

∂T
(x, 0, t ) = 0 em y = 0, para t > 0 (1.41b’)
∂y

∂T
(a, y, t ) = 0 em x = a, para t > 0 (1.41c’)
∂x

Quais serão as alterações que ocorrerão na aproximação por diferenças


finitas desenvolvidas no item anterior?

1.9.8 – O problema de transferência de calor em regime permanente em


superfícies estendidas (aletas) unidimensionais com área transversal constante é
modelado matematicamente pela seguinte equação diferencial ordinária (EDO)

d 2T ( x )
− m 2 (T − Tamb ) = 0 (1.42)
dx 2

onde
hP
m2 = (1.43)
kA

sendo T ( x ) a temperatura ao longo da aleta, Tamb a temperatura do ambiente


com o qual a aleta está trocando calor, h é o coeficiente de troca de calor por
convecção, k é a condutividade térmica do material da aleta, P é o seu
perímetro e A é a área transversal da mesma.
Para uma aleta com seção reta transversal circular,

π D2
A= (1.44a)
4

P =π D (1.44b)

onde D é o diâmetro (vide Fig. 1.14).

Tamb

Seção Transversal

x=0 x=L

Figura 1.14 – Representação esquemática de uma aleta com seção transversal circular.

22
• MOTIVAÇÃO •

Considerando condições de contorno de primeiro tipo (Dirichlet),

T (x ) x =0
= T0 (1.45a)

T (x ) x=L
= TN (1.45b)

1.9.8a – Escreva uma aproximação por diferenças finitas para o problema dado
pela EDO (1.42) com as condições de contorno (1.45), para uma malha espacial
com N nós (veja a Motivação 1). Mostre todos os passos da dedução;

1.9.8b – Qual é a ordem do erro de truncamento de sua aproximação?

1.9.8c – Represente esquematicamente o sistema de equações algébricas lineares


para N = 10 ;

1.9.8d – Empregando os seguintes valores

T0 = 100º C
TN = 25º C
Tamb = 20º C
W
h = 50
m2 K
D = 5 × 10− 2 m
L = 0,1m
W
k = 200
mK

use um software comercial, como por exemplo, o MAPLE ou MATLAB, para a


solução do sistema de equações. Se você preferir use a rotina tridag do livro
Numerical Recipes (Seção 2.4 – Tridiagonal and Band Diagonal Systems of
Equations).

23
22
CAPÍTULO
CAPÍTULO
ERROS
A grande maioria dos métodos numéricos proporciona respostas
que são aproximações da solução exata, sendo, portanto fundamental
conhecer os limites para os erros que são cometidos.

2.1 – Representação
de Números em
Computadores

Vamos olhar em detalhe como os números reais são tratados pelos


computadores. Associado a cada número real x , tem-se a
representação deste número em ponto flutuante fl ( x ) , que leva à
identificação do erro absoluto

E x = fl ( x ) − x (2.1)

e do erro relativo

Ex
ε= , com x ≠ 0 (2.2)
x

A base usada para representar o número real em computadores


digitais raramente é a decimal, sendo as mais comuns a base 2
(binária) e a base 16 (hexadecimal).
O número (27,25)10 é representado na base binária por
(11011,01)2. A equivalência destas duas representações pode ser
verificada da seguinte forma:

(11011,01)2 = 1x24 + 1x23 + 0x22 + 1x21 + 1x20 + 0x2-1 + 1x2-2=27,25

O número (1388,9375)10 é representado na base hexadecimal por


(56 C, F)16. Recordando que a base hexadecimal é composta por:
0, 1, 2, …, 8, 9, A, B, …, E, F, onde A corresponde a 10, B
corresponde a 11, e assim por diante, de forma que F corresponde a
15. A equivalência das duas representações pode ser verificada da
seguinte forma:

(56 C, F)16 = 5 x 162 + 6 x 161 + 12 x 160 + 15 x 16-1 = 1388,9375

Devido à aritmética finita dos computadores, qualquer número é


na realidade representado por

24
• ERROS •

sina mantissa
} l 644744 8
fl ( x ) = σ (0, a1 a 2 L at )β β e (2.3)

onde

σ = +1 ou − 1
0 ≤ ai ≤ β − 1, i = 1, 2,K , t ,

Sendo t finito e o expoente e é inteiro.


Para a representação em ponto flutuante normalizada tem-se a1 ≠ 0 .
A mantissa pode ser escrita em uma forma equivalente,

a1 a2 at
(0, a1 a 2 L a t )β = 1
+ 2
+L (2.4)
β β βt

Na base decimal teríamos

 a a a 
fl ( x ) = ±(0, a1 a 2 L at )10 10 e = ± 11 + 22 + L + t t 10 e (2.5)
 10 10 10 
onde
ai = 0,1,2,...9 com a1 ≠ 0 (normalizado)
e = inteiro

Como exemplo, 32,46 = 0,3246 x 102.


Alguns números reais x necessitariam de um número infinito de dígitos
para serem representados, ou seja,

x = σ (0, a1 a 2 L at at +1 L )β β e (2.6)

Como exemplo citamos π , 2 , 1 , etc. Devido à limitação da


3
aritmética finita ocorre o erro de arredondamento. Conforme pode ser visto das
Eqs. (2.3) e (2.6), é necessário interromper a representação da mantissa em um
número finito de dígitos t . Normalmente é utilizado o corte (chopping) para a
representação em ponto flutuante:

fl ( x ) = σ (0, a1 a 2 L at )β β e (2.7)

para qualquer valor de a t +1 , 0 ≤ at +1 ≤ β − 1 .

Vejamos dois exemplos nos quais t = 4

0,21454 L → 0,2145
(corte)
0,369298L → 0,3692

25
• ERROS •

Outra possível representação é dada por arredondamento (rounding):

 β
σ (0, a1 a 2 L at )β β se 0 ≤ at +1 < 2
e

fl ( x ) =  (2.8)
[ σ (0, a a L a ) + 0,00L1↵dígito t β e se β ≤ a ≤ β − 1
( )]
 1 2 t β β
2
t +1

Vejamos agora os dois exemplos apresentados anteriormente com t = 4 :

0,21454 L → 0,2145

(arredondamento)

0,369298L → 0,3693

Olhando do ponto de vista de conjuntos, podemos usar a representação


gráfica apresentada na Fig. 2.1.

Ponto
Flutuante

Racionais

Reais

Complexos

Figura 2.1 – Representação de conjuntos.

26
• ERROS •

Da Fig. 2.1 conclui-se que existe um conjunto de números reais que não
podem ser representados exatamente empregando a representação por ponto
flutuante, sendo possível apenas utilizar uma aproximação para os mesmos.
Duas observações importantes devem ser feitas: (i) o expoente e é
limitado, L ≤ e ≤ U , o que faz com que hajam limites (inferior e superior) para
os possíveis valores de x , sendo identificados como underflow e overflow
aqueles que estiverem respectivamente abaixo ou acima destes limites; (ii) o
número zero é representado com a mantissa igual a zero e o expoente e = L .
Para a representação com corte (chopped) o erro relativo é limitado por

− β − t +1 ≤ ε ≤ 0 (2.9)

Vamos obter o resultado dado pela Eq. (2.9). Para simplificar a


apresentação consideramos σ = 1 . Usando as Eqs. (2.6), (2.3) e (2.4)
escrevemos

a a a a  a a a 
− Ex = x − fl (x) =  11 + 22 +L+ tt + tt++11 +Lβ e − 11 + 22 +L+ tt  β e
β β β β  β β β β
(2.10)

Logo,

a a 
− E x = x − fl ( x ) =  tt++11 + tt++22 + L β e (2.11)
β β 

ou,

1 a a  a a 
− E x = x − fl (x ) =  t +1 + t + 2 + L β e =  t +11 + t +22 + L β −t + e (2.12)
β t  β 1 β 2  β β 

O erro relativo dado pela Eq. (2.2) pode ser reescrito como

− Ex
−ε = (2.13)
x

Levando as Eqs. (2.12), (2.6) e (2.4) na Eq. (2.13) obtém-se

 at +1 at + 2 
 1 + 2 + L β −t +e
x − fl ( x ) β β 
−ε = = (2.14)
x  a1 a2 a a 
 1 + 2 + L + tt + tt++11 + L β e
β β β β 

27
• ERROS •

Como o numerador da Eq. (2.14) é maior ou igual a zero e o


denominador é maior que zero (exceto quando x = 0 , onde o erro relativo não
pode ser calculado),

−ε ≥ 0 →ε ≤ 0 (2.15)

Se tivéssemos iniciado esta análise com σ = −1 , o resultado obtido teria


sido o mesmo.

Vamos agora obter a segunda desigualdade da inequação (2.9).


Como 0 ≤ a i ≤ β −1 , da Eq. (2.12) obtém-se

 β −1 β −1 
− E x = x − fl (x ) ≤  1
+ 2
+ L  β −t + e
( )
≤ (β − 1) β −1 + β − 2 + L β −t + e
 β β 

(2.16)

Consideremos agora uma progressão geométrica com razão r = 1


ξ com
ξ > 1 , ou seja, r < 1 . Logo,


ξ

i =0
r 1 = 1 + ξ −1 + ξ − 2 + L =
ξ −1
(2.17)

ou então,

ξ 1
ξ −1 + ξ −2 + L = −1 = (2.18)
ξ −1 ξ −1

Usando este resultado,

1
β −1 + β −2 + L = (2.19)
β −1

e da Eq. (2.16) obtém-se,

− E x = x − fl ( x ) ≤ β − t + e (2.20)

Levando o resultado dado pela Eq. (2.20) e as Eqs. (2.6) e (2.4) na Eq.
(2.13) obtém-se

x − fl ( x ) β − t +e
−ε = ≤ (2.21)
x  a1 a2 at at +1  e
 β 1 + β 2 + L + β t + β t +1 + L β
 

28
• ERROS •

Definindo

a a a a 
m =  11 + 22 + L + tt + tt++11 + L (2.22)
β β β β 

e fazendo a1 = 1 e a 2 = a 3 = L = 0 obtém-se

 1 0 0 
m ≥  1 + 2 + L + 3 + L (2.23)
β β β 

ou seja,

1 1
m≥ 1
→ ≤β (2.24)
β m

Levando a Eq. (2.22) na Eq. (2.21),

β −t β e
−ε ≤ (2.25)
mβ e

ou
β −t
−ε ≤ (2.26)
m

Combinando as desigualdades (2.24) e (2.26),

− ε ≤ β −t β (2.27)

ou
− t +1
−ε ≤ β (2.28)

Com as desigualdades (2.15) e (2.28) demonstradas, é construída então a


inequação (2.9).
De forma similar pode ser demonstrado para a representação de ponto
flutuante com arredondamento (rounding) que

1 − t +1 1 −t +1
− β ≤ε ≤ β (2.29)
2 2

2.2 – Aritmética de
Ponto Flutuante

A operação de soma, ou subtração, de dois números, ou melhor dizendo,


de duas aproximações por ponto flutuante, em um computador digital envolve

29
• ERROS •

quatro passos: (i) comparação dos expoentes (CE); (ii) alinhamento da mantissa
(AE); (iii) adição/subtração da mantissa (AD), (iv) normalização (NR).
Vamos considerar um exemplo onde a aritmética finita permite a
manipulação de apenas 4 dígitos, ou seja t = 4 .

 x = 165,2 = 0,1652 × 10 3

Exemplo 1:  1
 x 2 = 21,00 = 0,2100 × 10 2

Podemos escrever,

x i = mi × β e i = 1, 2 (2.30)

onde mi é a mantissa e ei é o expoente do número xi na base β . No exemplo


aqui considerado β = 10 .
Vejamos agora os passos envolvidos na determinação da soma dos
valores de x1 e x 2 :

• CE – comparação dos expoentes. Neste passo identifica-se o maior


expoente
e1 = 3 e e2 = 2, com e1 > e2

• AE – alinhamento da mantissa. Fazendo com que os expoentes dos dois


números sejam iguais ao maior deles (e1), conforme verificado no passo anterior,
faz-se necessário o alinhamento das mantissas.

x1 = 0,1652 × 10 3
x 2 = 0,0210 × 10 3

• AD – adição/subtração da mantissa.
0,1652 + 0,0210 = 0,1862

• NR – normalização. Como o resultado do passo anterior já está


normalizado, não é necessário nenhum ajuste da mantissa (e o correspondente
ajuste do expoente) para que o primeiro dígito após a vírgula seja diferente de
zero.
Obtém-se então,

x1 + x 2 = 0,1862 × 10 3

Alguns outros exemplos serão analisados de forma a identificar


dificuldades que podem ocorrer devido à aritmética finita. Continuaremos
usando t = 4 .

30
• ERROS •

 x1 = 0,1246 × 101
Exemplo 2: 
 x 2 = 0,3290 × 10 −2

• CE  e1 = 1 e e2 = – 2, e 1 > e2

x1 = 0,1246 × 101
• AE 
x 2 = 0,0003290 × 101

Observar que devido ao arredondamento em t = 4 (chopping ou


rounding), os dígitos 290 serão perdidos.

• AD  0,1246 + 0,0003 = 0,1249

• NR  como já está normalizado,

x1 + x 2 = 0,1249 × 101

 x1 = 0,1246 × 101

Exemplo 3:  x 2 = 0,5333 × 10 − 2
 −2
 x3 = 0,4999 × 10

Para realizar a soma destes três números empregando a aritmética finita


com t = 4 serão consideradas duas situações: (i) (x1 + x2) + x3 e (ii) x1 + (x2 + x3).

(i) (x1 + x2) + x3

Vejamos primeiro o cálculo da parcela (x1 + x2);

• CE  e1 = 1 e e2 = – 2, e 1 > e2

x1 = 0,1246 × 101
• AE 
x 2 = 0,0005333 × 101

Observe que devido ao arredondamento em t = 4 os dígitos 333 serão


perdidos.

• AD  0,1246 + 0,0005 = 0,1251

• NR  como já está normalizado,

x1 + x 2 = 0,1251 × 101

Façamos agora a soma (x1 + x 2 ) + x3 ,

• CE  e1+ 2 = 1 e e3 = −2, e1+ 2 > e3

31
• ERROS •

(x1 + x2 ) = 0,1251 × 101


• AE 
x3 = 0,0004999 × 101

Observe que devido ao arredondamento em t = 4 os dígitos 999 serão


perdidos.

• AD  0,1251 + 0,0004 = 0,1255

• NR  como já está normalizado,

(x1 + x 2 ) + x3 = 0,1255 × 101

(ii) x1 + ( x 2 + x3 )

Vejamos primeiro o cálculo da parcela (x2 + x3 ) ,

• CE  e2 = −2 e e3 = −2, e1 = e2

• AE  como os expoentes são idênticos as mantissas já estão alinhadas.

• AD  0,5333 + 0,4999 = 1,0332

• NR  o resultado obtido até o passo anterior corresponde a


1,0332 × 10 −2 . Fazendo a normalização obtém-se 0,1033 × 10−1 .

Façamos agora a soma x1 + ( x 2 + x3 ) ,

• CE  e1 = 1 e e2+ 3 = −1, e1 > e2 +3

• AE  x1 = 0,1246 × 101
(x 2 + x3 ) = 0,001033 × 101
• AD  0,1246 + 0,0010 = 0,1256

• NR  como já está normalizado,

x1 + ( x 2 + x3 ) = 0,1256 × 101

Observe que os resultados obtidos com (x1 + x 2 ) + x3 e x1 + ( x2 + x3 ) são


diferentes. A diferença aqui apresentada pode não parecer muito significativa,
mas em algumas aplicações práticas estas operações são realizadas milhares de
vezes, podendo levar a alterações desastrosas no resultado final.

32
• ERROS •

 x1 = 0,2631 × 10 2
Exemplo 4: 
 x 2 = −0,1976 × 10 2

• CE  e1 = 2 e e2 = 2 , e1 = e2

• AE  como os expoentes são idênticos, as mantissas já estão alinhadas.

• AD  0,2631 – 0,1976 = 0,0655

• NR  o resultado obtido até o passo anterior corresponde a


0,0655 × 10 2 . Fazendo a normalização obtém-se 0,6550 × 101 .

Observar que o último dígito, 0, foi introduzido pela máquina durante o


passo de normalização. Este não é, portanto, um dígito significativo, mas nos
cálculos subsequentes será considerado como tal.
O problema identificado no exemplo 4 pode ocorrer com um número
ainda maior de dígitos. Vejamos o exemplo 5:

 x = 0,3472 × 10 5
Exemplo 5:  1
 x 2 = − 0,3471 × 10 5

• CE  e1 = e2 = 5

• AE  as mantissas já estão alinhadas

• AD  0,3472 – 0,3471 = 0,0001

• NR  x1 + x 2 = 0,1000 × 10 2

Neste caso foram introduzidos três dígitos não significativos. Este é o


problema que ocorre quando subtraímos dois números muito próximos.
Na Fig. 2.2 são apresentados de forma esquemática os módulos utilizados
por um computador digital para a realização dos quatro passos descritos
anteriormente: CE, AE, AD e NR.

33
• ERROS •

input

e1 e2 m1 m2 CE

Adder 1

Shifter 1
AE

Adder 2
AD

Adder 3 digit
checker

Shifter 2
NR

e3 m3

output

Figura 2.2 – Módulos envolvidos nas operações de soma e subtração.

Em computadores seriais cada passo é realizado em um ciclo de tempo


do processador (clock cycle). Conforme mostrado na Fig. 2.3, a cada quatro
ciclos tem-se o resultado de uma operação, d i = xi + yi , i = 1, 2,..., N .

34
• ERROS •

d1 = x1 + y1 d 2 = x2 + y 2 d 3 = x3 + y 3 ...
CE d1 d2 d3
AE d1 d2 d3
AD d1 d2 d3
NR d1 d2 d3 tempo

1º Resultado 2º Resultado 3º Resultado ...


1 ciclo do
Processador
(clock cycle)

Figura 2.3 – Operações de soma e subtração em computadores seriais.

Quando um dos módulos está trabalhando os outros ficam esperando, e


um novo par di +1 é admitido no módulo CE apenas quando o conjunto
anterior d i já foi processado no último módulo, NR.
Em computadores vetoriais os componentes denominados pipeline,
permitem que um resultado seja obtido a cada ciclo de tempo do processador.
Ao finalizar a sua parte da tarefa com o par d i , o módulo admite o par d i +1 sem
ter que esperar a finalização da tarefa pelo último módulo NR.
Na Fig. 2.4 observa-se que cada módulo opera com um par diferente e
que uma vez finalizada a operação de soma/subtração com o primeiro par, d 1 ,
um resultado é obtido a cada ciclo.

d 1 = x1 + y1
d 2 = x2 + y 2
d 3 = x3 + y 3 ...
CE d1 d2 d3
AE d1 d2 d3
AD d1 d2 d3
NR d1 d2 d3 tempo

1 ciclo
3º Resultado ...
Processador 2º Resultado
(clock cycle) 1º Resultado

Figura 2.4 – Operações de soma e subtração em computadores vetoriais.

35
• ERROS •

2.3 – Fontes e
Propagação de Erros

Os dados de entrada em cálculos para aplicações práticas raramente são


exatos porque normalmente são baseados em experimentos ou estimativas. Além
disso, os próprios processos numéricos introduzem erros.
Na Fig 2.5 é apresentado um resumo dos possíveis erros cometidos
durante a modelagem computacional de um problema de engenharia, onde
primeiro é feita uma modelagem matemática, sendo então empregada uma
solução numérica.
Como exemplos de erros inerentes citamos: (i) possíveis inadequações da
modelagem matemática empregada, que pode consistir na representação
inadequada dos fenômenos físicos envolvidos; (ii) dados de entrada com
incertezas (erros experimentais), o que sempre ocorre em aplicações práticas,
por exemplo, tempo t = 2, 3 ± 0,1s ou voltagem V = 6,52 ± 0,03V ; (iii) enganos
que levam ao uso de valores errados, como por exemplo na leitura de um valor
em uma tabela, ou até mesmo erros de programação.

Erros Inerentes Modelagem


Matemática

Medidas
Experimentais

Enganos,
Enganos,Erros
Errosde
de Programação
Programação

Truncamento
Truncamento Referem-se aos erros que
são introduzidos pelos
procedimentos numéricos
Arredondamento
Arredondamento

Figura 2.5 – Possíveis erros cometidos durante a modelagem computacional.

Quanto aos erros de truncamento, tivemos a oportunidade de observá-los


no Capítulo 1, na Motivação 1, ao se aproximar a derivada por diferenças, e na
Motivação 3, ao se truncar a solução com um número infinito de termos dada
pela Eq. (1.24) em um somatório com um número finito de termos.
Os erros de arredondamento foram descritos de forma sucinta na seção
2.1 e estão relacionados à aritmética finita dos computadores digitais.

36
• ERROS •

Mudando um pouco a notação empregada na seção 2.1 vamos definir xT


como uma solução exata e x A uma solução aproximada para um determinado
problema. O erro em x A é dado por

E ( x A ) = xT − x A (2.31)

e o erro relativo,

xT − x A
Re l ( x A ) = com xT ≠ 0 (2.32)
xT

Ao invés de erro relativo, frequentemente é usado o conceito de dígitos


significativos. Vamos à definição: x A possui m dígitos significativos com
relação a xT se o erro xT − x A possui uma magnitude menor ou igual a 5 no
dígito m + 1 de xT , contando para a direita a partir do primeiro dígito de xT
diferente de zero. Alguns exemplos ajudarão no entendimento desta definição.

primeiro dígito diferente de 0


 1
 xT = = 0,333333K
Exemplo 1  3
 x A = 0,333

quarto dígito possui magnitude menor que 5

xT − x A = 0,00033K
m +1 = 4 → m = 3
primeiro dígito diferente de 0

 x = 23,496
Exemplo 2  T
 x A = 23,494
quinto dígito possui magnitude menor que 5

xT − x A = 0,002K
m +1 = 5 → m = 4
primeiro dígito diferente de 0

 x = 0,02138
Exemplo 3  T
 x A = 0,02144
dígito possui magnitude maior que 5

xT − x A = 0,00006
m +1 = 3 → m = 2

Uma das principais preocupações em análise numérica é se o erro


cometido em um determinado ponto dos cálculos se propaga, ou seja, se o seu
efeito fica maior ou menor nos cálculos seguintes.

37
• ERROS •

A subtração de dois números próximos, conforme visto no Exemplo 4 da


seção 2.2, é um caso extremo. Mesmo que os dois números tenham erros
pequenos, o erro relativo da diferença pode ser significativo, e este será
propagado nas operações aritméticas seguintes.
Consideremos dois números, x A e y A , que tenham erros ε e η com
relação aos valores exatos xT e yT ,

xT = x A + ε (2.33)

yT = y A + η (2.34)

Consideremos também ω uma das operações (+ , − , × , ÷) e ω̂ a


operação realizada pelo computador. Escrevemos então

6447 erro
448  64erro 7448  
4propagado 
xT ω yT − x Aωˆ y A = xT ω yT − x Aωˆ y A  +  xT ω yT − x Aωˆ y A 
 (2.35)
   1erro
442443 
de arredondameto 
 

Vamos olhar em mais detalhes o erro propagado para cada operação ω.

Caso 1 – Multiplicação x A y A

xT yT − x A y A = xT yT − ( xT − ε )( xT − η ) (2.36)

Observar que x A e y A foram escritos em termos de xT , yT , ε e η a


partir das Eqs. (2.33) e (2.34).
A partir da Eq. (2.36) obtém-se

xT y T − x A y A = η xT + ε y T − ε η (2.37)

Definindo o erro relativo para a operação x A y A a partir da Eq. (2.32),


x y − xA yA
R e l (x A y A ) = T T (2.38)
xT yT

Levando a Eq. (2.37) na Eq. (2.38),

ηxT + εyT − εη η ε ε η
R e l (x A y A ) = = + − (2.39)
xT y T yT xT xT y T

Como

ε
R e l (x A ) (2.40a)
xT

38
• ERROS •

η
R e l(y A ) = (2.40b)
yT

a Eq. (2.39) é reescrita como

R e l ( x A y A ) = R e l (x A ) + R e l ( y A ) − R e l ( x A )R e l ( y A ) (2.41)

Para o caso em que R e l ( x A ) e R e l ( y A ) << 1 ,

R e l (x A y A ) ≈ R e l (x A ) + R e l ( y A ) (2.42)

xA
Caso 2 – Divisão
yA

xT x A xT (xT − ε ) xT ( yT − η ) − yT (xT − ε ) − xT η + yT ε
− = − = = (2.43)
yT y A yT ( yT − η ) yT ( yT − η ) yT ( yT − η )

Definindo o erro relativo para a operação x A a partir da Eq. (2.32),


yA
xT x A

 x A  yT y A
R e l   = (2.44)
 yA  xT
yT

Levando a Eq. (2.43) na Eq. (2.44),


ε η ε
− η + yT − +
 x A  − xT η + y T ε xT y T xT
R e l   = = = (2.45)
 yA  y T ( yT − η )  η   η 
yT 1 −  1 − 
 y T   y T 

Das Eqs. (2.40) e (2.45) obtém-se

 x  R el ( x A ) − R el ( y A )
R e l  A  = (2.46)
 yA  1 − R el ( y A )

Para R el ( y A ) << 1 ,

x 
R e l  A  = R el (x A ) − R el ( y A ) (2.47)
 yA 

39
• ERROS •

Caso 3 – Adição e subtração x A ± y A

(xT ± yT ) − (x A ± y A ) = (xT − x A ) ± ( yT − y A ) = ε ± η (2.48)

Definindo o erro relativo para as operações x A ± y A a partir da Eq.


(2.32),

( xT ± yT ) − ( x A ± y A )
R e l (x A ± y A ) = (2.49)
( xT ± y T )
Das Eqs. (2.48) e (2.49) obtém-se

ε ±η
R e l (x A ± y A ) = (2.50)
(xT ± yT )

Para os casos 1 e 2 os erros não se propagam rapidamente. Para o caso 3


isto pode acontecer. Vejamos um exemplo:

xT = π = 3,141592653K , x A = 3,1416
22
yT = = 3,142857143K , y A = 3,1429
7
ε = xT − x A ≈ −7,35 × 10 −6
ε
R e l (x A ) = ≈ −2,34 × 10 − 6
xT
η = yT − y A ≈ − 4,29 × 10 −5
η
R e l(y A ) = −5
≈ −1,36 × 10
yT
( xT − yT ) − (x A − y A ) ≈ − 0,0012645 − (− 0,0013) ≈ 3,55 × 10 −5

O erro absoluto é pequeno. Vamos calcular agora o erro relativo

(xT − yT ) − ( x A − y A ) 3,55 × 10 −5
R e l (x A − y A ) = ≈ ≈ − 0,028
xT − yT − 0,0012645

O erro relativo é grande.


Neste exemplo fica demonstrado que apesar do erro absoluto
(xT − yT ) − (x A − y A ) e dos erros relativos para cada número, R e l (x A ) e
R e l ( y A ) , serem pequenos, o erro relativo da operação de subtração
R e l ( x A − y A ) é grande.
Mais uma vez é identificado o problema que ocorre quando é feita a
subtração de dois números próximos. Há uma perda de precisão.

40
• ERROS •

2.4 – Exercícios

2.4.1 – Para a representação de um número real em ponto flutuante dada por:


xˆ = (0, a1 a2 L at )β β e

onde ai = 0,1,K , β − 1 com a1 ≠ 0 (normalizado) e o expoente e é inteiro e


limitado L ≤ e ≤ U ,

2.4.1a – mostrar que o menor número representado é dado por

xˆ L = β L −1

2.4.1b – mostrar que o maior número representado é dado por

xˆ L = (1 − β − t ) β U

a a a 
Lembrete: (0, a1 a 2 L a t )β =  11 + 22 + L + tt 
β β β 

2.4.2 – Para realizar a soma de dois números xˆ1 e xˆ2 representados em ponto
flutuante em base decimal com t = 4 ,

xˆ1 = (0, a1 a 2 a3 a 4 )10 10 e1


xˆ 2 = (0, b1 b2 b3 b4 )10 10 e2

é necessário fazer o alinhamento das mantissas, onde o número com o menor


expoente é reescrito em uma forma não normalizada.

2.4.2a – apresente um exemplo numérico para o procedimento descrito acima;

2.4.2b – o número zero é representado em praticamente todos os computadores


por

0,000K 0 × 10 L
dígito na posição t

onde L é o menor expoente considerado pela máquina.

Com base no passo (2.4.2a) apresente uma justificativa para o


procedimento descrito em (2.4.2b).

Sugestão: analise a soma dos números seguintes com t = 4 .

xˆ1 = 0,0000 × 10 4
xˆ 2 = 0,1234 × 10 2

41
• ERROS •

2.4.3 – A Série de Taylor

x3 x5 x7
senx = x − + + +L
3! 5! 7!

é válida para qualquer valor de x (em radianos). Nota: 1800 = π rad .

2.4.3a – escreva uma rotina computacional para o cálculo da série.

2.4.3b – considere cinco valores diferentes para os ângulos θ em cada faixa

− 400 0 < θ < 400 0 Faixa 1


1000 0 < θ < 1800 0 Faixa 2
0
θ > 2500 Faixa 3

2.4.3c – Calcule a série para os valores de x (correspondentes a θ ) selecionados


no passo (2.4.3a). Faça o truncamento da série no termo cujo valor seja inferior a
10-8. Registre o número de termos usados N.

2.4.3d – Faça uma tabela com as seguintes colunas:

Ângulo sen x calculado Número de sen x (*)


Ângulo θ (º)
x (rad) pela série termos na série N Função implícita

(*) calculado com a função implícita da linguagem de programação em que a


rotina computacional for escrita.

2.4.3e – comente os resultados obtidos.

2.4.4 – Realize as operações abaixo indicadas considerando a aritmética que


permite a manipulação de apenas 6 dígitos. Represente os passos (i) comparação
dos expoentes; (ii) alinhamento da mantissa; (iii) adição/subtração da mantissa; e
(iv) normalização, para cada um dos casos.

2.4.4a – x3 = x1 + x2 onde
x1 = 15.000,00
x 2 = 25,0012
x3 = ?

2.4.4b – x3 = x1 + x2 onde
x1 = 3
x 2 = 1,73200
x3 = ?

42
• ERROS •

2.4.4c – x3 = x1 + x2 onde
x1 = 3
x 2 = −1,73200
x3 = ?

2.4.5 – Obtenha a solução do sistema de equações algébricas lineares

5 x − 331 y = 3,5
6 x − 397 y = 5,2

Resolva agora o sistema muito semelhante ao anterior

5 x − 331 y = 3,5
6 x − 397 y = 5,1

Faça um comentário sobre os resultados obtidos.

43
3
CAPÍTULO
SOLUÇÃO DE EQUAÇÕES NÃO-LINEARES

3.1 – Introdução

Conhecida uma função não linear, y = f (x ) , procuremos obter


valores x * para os quais tem-se y = f (x *) = 0 . Conforme a
representação gráfica apresentada na Fig. 3.1, estamos procurando os
pontos onde f (x ) intercepta o eixo x .

y = f ( x)

0 x
x1 x2 x3

Figura 3.1 – Raízes da equação f ( x ) = 0 .

Em muitos casos soluções explícitas para

y = f (x ) = 0 (3.1)

não podem ser obtidas. Lançamos mão, então, de procedimentos


numéricos iterativos, onde a partir de estimativas iniciais, novas
estimativas são construídas, buscando a convergência para a solução.
As estimativas iniciais podem estar baseadas no contexto em que o
problema aparece, ou seja, podem ser escolhidas a partir de algum
argumento físico, ou podem simplesmente ser obtidas a partir de uma
representação gráfica aproximada para y = f (x ) = 0 .
Uma classe especial de muito interesse é aquela em que se deseja
achar uma ou mais raízes de uma equação polinomial

44
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

N
p (x ) = ∑ ai x i com aN ≠ 0 (3.2)
i =0

Em concordância com as dificuldades apresentadas na Motivação 2 no


Capítulo 1, é esperado que para os casos com f ′(x *) ≈ 0 e f ′( x *) >> 1
representados na Fig. 3.2, dificuldades numéricas sejam observadas na busca da
solução da Eq. (3.1).

y = f (x)

f ( x0 ) ≈ ε
0 x0
x
x*

(a ) f '( x) ≈ 0

y = f (x)

0 x* x
x0

( b ) | f ' ( x ) | >> 1

Figura 3.2 – Possíveis dificuldades na obtenção da solução para f ( x ) = 0 .

Ao se considerar as estimativas x0 representadas na Fig. 3.2, o algoritmo


desenvolvido para a obtenção das novas estimativas x k , k = 1, 2,K, pode se
mostrar extremamente lento.
Vamos agora considerar a solução da equação

1
f (x ) = a − = 0, para x > 0 (3.3)
x

visando obter uma estimativa da taxa de convergência do método numérico


adotado.
A Eq. (3.3) possui uma solução analítica explícita,

45
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

1 1
a− =0 → x= (3.4)
x a

Usando esta informação e observando que lim f (x ) = a, e lim f (x ) = −∞,


x→∞ x→0

representamos esquematicamente a função f (x ) na Fig. 3.3.

1
y = f ( x) = a −
x

y=a

x0 x1
x
1
a
f ( x0 )

−∞

1
Figura 3.3 – Representação esquemática da função f (x ) = a − .
x

Na Fig. 3.3 x0 é a estimativa inicial a ser usada em um algoritmo no


qual as novas estimativas xk , k = 1, 2,K , são obtidas calculando a derivada da
função em xk −1 . Esta é a base para o método de Newton que será visto na seção
3.3.
Calculando o coeficiente angular da reta que tangencia a função em
x = x0 , obtém-se a derivada naquele ponto. Observando a Fig. 3.3 escrevemos

0 − f (x0 )
f ′( x 0 ) = (3.5)
x1 − x 0

Logo,

f ( x0 ) f ( x0 )
x0 − x1 = → x1 = x0 − (3.6)
f ′( x0 ) f ′( x0 )

Generalizando escrevemos,

f ( xk −1 )
xk = xk −1 − , k = 1, 2, K (3.7)
f ′( xk −1 )

Desta equação podemos confirmar as dificuldades que poderão surgir nas


situações representadas na Fig. 3.2.

46
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Da Eq. (3.3) calculamos a derivada

1
f ′( x ) = (3.8)
x2

Calculando a derivada no ponto x0 , a Eq. (3.6) pode ser reescrita como

1
a−
x0
x1 = x 0 − (3.9)
1
x 02

Desta equação obtém-se

x1 = x0 (2 − ax0 ) (3.10)

Escrevendo então a fórmula de recorrência para o processo iterativo,

x k = x k −1 (2 − ax k −1 ), k = 1, 2,K (3.11)

Reescrevendo a Eq. (3.3),

1 − ax = 0 (3.12)

definimos como resíduo

xk −1 = 1 − axk −1 (3.13)

Das Eqs. (3.11) e (3.13),

xk = xk −1 (1 + rk −1 ), k = 1, 2,K (3.14)

1
O erro ek −1 é calculado como a diferença entre a solução exata e a
a
estimativa xk −1 ,

1 1 − axk −1 rk −1
ek −1 = − xk −1 = = (3.15)
a a a

Para a iteração k podemos escrever a partir da Eq. (3.13),

rk = 1 − axk (3.16)

Levando a Eq. (3.14) na Eq. (3.16),

rk = 1 − axk −1 (1 + rk −1 ) (3.17)

47
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Da Eq. (3.13),

axk −1 = 1 − rk −1 (3.18)

Das Eqs. (3.17) e (3.18) escreve-se então

(
rk = 1 − (1 − rk −1 )(1 + rk −1 ) = 1 − 1 − rk2−1 ) (3.19)

Logo,

rk = rk2−1 (3.20)

ou seja,

k = 1 ∴ r1 = r02
k = 2 ∴ r2 = r12 = r02 ( ) =r 2
0
4

k = 3 ∴ r3 = r22 = (r ) = r
0
4 2
0
8
(3.21)
M
k = n ∴ rn = rn2−1 = r02 ( ) =r
n −1 2
0
2n

Conhecendo o comportamento dos resíduos, conforme dado pela Eq.


(3.21), vamos observar o comportamento do erro dado pela Eq. (3.15),
k
rk r02
ek = = (3.22)
a a

Da Eq. (3.22) observa-se que

lim ek = 0 se e somente se r0 < 1 (3.23)


k →∞

Das Eqs. (3.16) e (3.23) obtém-se

1 − ax0 < 1 (3.24)

Podemos obter então informações quanto à estimativa inicial a ser usada,


ou seja,

− 1 < 1 − ax0 < 1 (3.25)

2
Da primeira desigualdade, 1 − ax0 > −1 , obtém-se x0 < , e da segunda
a
desigualdade, 1 − ax0 < 1 , obtém-se x0 > 0 . Obtemos então o seguinte intervalo de
convergência

2
0 < x0 < (3.26)
a

48
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Das Eqs. (3.22) e (3.20),

rk rk2−1
ek = = (3.27)
a a

Da Eq. (3.22) novamente,

rk −1
ek −1 = (3.28)
a

Logo, da Eq. (3.27) resulta

ek = aek2−1 (3.29)

O erro relativo é dado por

2
e 
2
=  k −1 
e k ae k −1
= (3.30)
1 1  1 
a a  a

onde conforme visto na Eq. (3.4), 1 a é a solução exata. Da Eq. (3.30) escreve-
se então

R el (xk ) = [R el ( xk −1 )] , k = 1, 2, K
2
(3.31)

Conclui-se então que o erro vai a zero quadraticamente, ou seja, o


método aqui descrito possui uma taxa de convergência quadrática.
Deve ser observado que a convergência do método é garantida desde que
a estimativa inicial esteja nos limites prescritos pela Eq. (3.26).
{ }
Uma sequência de iterações xk k ≥1 é dita convergente com ordem
p ≥ 1 para um ponto x* se

p
x* − xk ≤ c x* − xk −1 , k ≥ 1 (3.32)

para algum c > 0 .


Se p = 1 , a sequência converge linearmente para x* . Neste caso é
requerido c < 1 . A constante c é a taxa de convergência linear de xk para x * .
Se p = 2 , a convergência é quadrática.
Em todos os algoritmos numéricos iterativos constrói-se uma sequência
{ }
de estimativas, xk k ≥1 . Quanto maior a ordem da convergência do método, p ,
menor será o número de iterações necessário para que se obtenha convergência
do método dentro de uma tolerância estabelecida a priori.

49
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

3.2 – Método da
Bisseção

É apresentado a seguir o Teorema do Valor Intermediário (TVI), que


estabelece a base para a construção do método da bisseção:

Seja f ( x ) contínua no intervalo fechado [a, b] e l é um número real tal


que f (a ) < l < f (b ) ou f (b ) < l < f (a ) , então existe pelo menos um ponto c em
[a, b] tal que f (c ) = l .
Vejamos a representação esquemática apresentada na Fig. 3.4. Do
teorema concluímos que se f (x ) é contínua no intervalo [a, b] e satisfaz a
condição

f (a ) f (b ) < 0 (3.33)

existe então pelo menos uma raiz no intervalo [a, b] . Usualmente o intervalo
[a, b] é escolhido de forma a conter apenas uma raiz x* . Esta escolha é feita a
partir de uma representação gráfica simplificada da função y = f (x ) , ou
numericamente: (i) escolha o ponto xk = a , com k = 0 ; (ii) faça pequenos
incrementos ∆x , de forma que xk +1 = xk + ∆x, k = 0, 1, 2,K , enquanto
f (xk +1 ) f (xk ) > 0 ; (iii) pare quando o sinal de f ( x k +1 ) for diferente do sinal de
f (x = a ) ; (iv) faça b = xk +1 . Conforme estabelecido pelo teorema, há uma raiz no
intervalo [a, b] . Este procedimento para a escolha do intervalo [a, b] pode ser
melhorado simplesmente fazendo a = xk entre os passos (ii) e (iii) desde que o
sinal de f (xk +1 ) seja igual ao sinal de f ( xk ) .
O intervalo de busca será menor desta forma.

y = f ( x)

f (b )

f (c )
l

a
c b x

f (a)

Figura 3.4 – Representação esquemática para o teorema usado como base para o método
de bisseção.

50
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Vamos agora ao algoritmo para o método da bisseção:

1) Defina o intervalo de busca [ak , bk ] , inicialmente com k = 0 ;

ak + bk
2) Calcule ck = ;
2

3) Se bk − ck ≤ ε , onde ε é um número pequeno estabelecido a priori, faça


solução = c k , e saia do algoritmo;

4) Se f (bk ) f (ck ) < 0 então faça ak +1 = ck e bk +1 = bk , senão faça


bk +1 = ck e ak +1 = ak ;

5) Faça k = k + 1 e volte ao passo 2.

No critério de parada no passo 3 também poderia ser usado f (ck ) ≤ ε .


Na Fig. 3.5 o algoritmo é representado graficamente. Observe como
ck , com k = 1, 2,K , converge para a solução x * .

y = f (x)

f (b0 )

c1 = a2 = a3

a0 = a1 x *
[ [ ] ] ] x
b0

f ( a0 ) c0 = b1 = b2

c2 = b3

Figura 3.5 – Representação esquemática do método da bisseção.

Façamos uma análise da convergência do método. A convergência é


garantida pelo teorema apresentado anteriormente. Queremos verificar com que
taxa ela ocorre.
Como a raiz x* está em [ak , bk ] , ela tem que estar em um dos
subintervalos [ak , ck ] ou [ck , bk ] . Logo,

c k - x * ≤ bk − ck = ck − ak (3.34)

A distância entre o ponto ck e os extremos do intervalo


∆ c k = bk − ck = ck − ak será para qualquer iteração k ,

51
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

1
∆ ck = k +1
(b0 − a0 ), k = 0, 1, 2K (3.35)
2

A Eq. (3.35) é facilmente obtida da seguinte forma:

b0 − a0 b0 − a0
k = 0 → ∆ c0 = =
2 21
∆c b − a0 b0 − a0
k = 1 → ∆ c1 = 0 = 0 =
2 4 22
∆ c b − a0 b0 − a0 (3.36)
k = 2 → ∆ c2 = 1 = 0 =
2 8 23
M
∆ cn −1 b0 − a0
k = n → ∆ cn = =
2 2 n +1

Das Eqs. (3.34) e (3.35) conclui-se que

k +1
1
c* − ck ≤   (b0 − a0 ), k = 0, 1, 2,K (3.37)
2

Vamos observar o comportamento do erro entre duas iterações


sucessivas,

∆ ck −1
ek = x * − c k ≤ ∆ c k = (3.38)
2

ek −1 = x* − ck −1 ≤ ∆ ck −1 (3.39)

Assumindo o limite inferior na desigualdade (3.39), i.e. ∆ ck −1 = x* − ck −1 ,


e levando na Eq. (3.38) obtém-se

1 *
x * − ck ≤ x − ck −1 (3.40)
2

Comparando a Eq. (3.40) com a Eq. (3.32) conclui-se que o método


converge linearmente, ou seja, p = 1 .
As vantagens do método da bisseção são:

(i) facilidade de programação. Observar que não é necessário armazenar todos


os ak , bk , e ck , para todas as iterações k = 1, 2,K . Basta manter os valores para a
iteração que está sendo calculada.
(ii) a convergência do método é garantida, desde que o primeiro passo do
algoritmo, definição do intervalo de busca [a0 , b0 ] , seja feito adequadamente.
A principal desvantagem do método é a convergência linear, ou seja, a
convergência é relativamente lenta, quando comparada, por exemplo, com o
método de Newton.

52
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

3.3 – Método
de Newton

O método de Newton nem sempre é o melhor método, e conforme visto


na seção 3.1 é necessário que a estimativa inicial esteja dentro de um intervalo
de convergência. Porém, a sua simplicidade e ordem de convergência quadrática
faz com que seja o primeiro método a ser tentado.
A Eq. (3.7) descreve o cálculo das novas estimativas a cada iteração k e
será aqui repetida usando uma contagem a partir de zero, ou seja

f (x k )
x k +1 = x k − , k = 0, 1, 2, K (3.41)
f ′(x k )

A Eq. (3.41) é completamente equivalente à Eq. (3.7).

Fazendo uma expansão de Taylor em torno do ponto x = xk + ∆xk ,

f (x ) = f (xk + ∆xk ) = f ( xk ) + (x − xk ) f ′( xk ) +
(x − xk )2 ( )
f ′′( xk ) + O ∆xk3
2
(3.42)

Tomando um valor ξ entre xk e x , a Eq. (3.42) é reescrita como

(x − x k )2
f ( x ) = f ( x k ) + ( x − x k ) f ′( x k ) + f ′′(ξ ) (3.43)
2

Para x = x * , obtém-se f (x* ) = 0 ou seja,

( )
0 = f ( xk ) + x * − xk f ′( xk ) +
(x *
− xk )
2

f ′′(ξ k ) (3.44)
2

com ξ k entre xk e x* .

Da Eq. (3.44) obtém-se

(x − x ) f ′(x ) = − f (x ) − (x ) f ′′(ξ )
* 2
* − xk
k k k k (3.45)
2

Logo,

*
x = xk −
f (xk ) x * − xk

( )2
f ′′(ξ k )
(3.46)
f ′( x k ) 2 f ′( x k )

53
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Combinando as Eqs. (3.41) e (3.46),

*
x − x k +1 =−
(x *
− xk )
2
f ′′(ξ k )
(3.47)
2 f ′(x k )

Comparando as Eqs. (3.47) e (3.32) é confirmada a ordem quadrática de


convergência do método, conforme foi observado no exemplo apresentado na
seção 3.1.
O intervalo de convergência é dado por

1
x * − x0 < (3.48)
M

onde

máx f ′′( x )
M= (3.49)
2 mín f ′( x )

Este resultado é aqui apresentado sem a dedução. Porém, são feitos os


seguintes comentários:
(i) a estimativa inicial, x0 , tem que ser considerada suficientemente próxima da
solução x * para que ocorra convergência;
(ii) as Eqs. (3.48) e (3.49) apresentam uma maneira pela qual o intervalo de
convergência pode ser calculado;
(iii) usualmente, devido à necessidade do cálculo da derivada primeira e da
derivada segunda da função, o intervalo de convergência não é calculado a
priori, sendo feitas tentativas para diferentes estimativas iniciais, ou então são
feitas alterações no método para auxiliar a convergência.
De qualquer forma, para a aplicação do método é necessário o cálculo da
derivada da função, f ′(x ) . Raramente este cálculo pode ser feito analiticamente
conforme apresentado no exemplo da seção 3.1. Usualmente é feita, portanto,
uma aproximação numérica para o cálculo da derivada,

f ( x + ∆xl ) − f (x − ∆xl )
f l′( x ) ≈ (3.50)
2∆xl
usando o seguinte algoritmo:
1) Defina uma pequena variação ∆xl , inicialmente com l = 0 ;
2) Calcule f (x + ∆xl ) e f (x − ∆xl ) ;
3) Calcule f l′( x ) com a Eq. (3.50);
∆xl −1
4) Faça l = l + 1 e ∆xl = ;
2
5) Se l = 1 volte para o passo 2. Se l > 1 verifique se o critério de
f l′(x ) − f l′−1 (x )
convergência < ε , com f l′−1 ( x ) ≠ 0 , onde ε é uma tolerância
f l′−1 (x )
definida a priori, é satisfeito. Se o critério estiver satisfeito interrompa o
procedimento iterativo. Se não estiver satisfeito volte para o passo 2. Este
procedimento é representado graficamente na Fig. 3.6.

54
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

y = f (x) f ( x − ∆ x3 ) f ( x + ∆ x3 )
f ( x − ∆x2 ) f ( x + ∆x2 )
f ( x − ∆ x1 ) f ( x + ∆ x1 )
f ( x − ∆ x0 )
f ( x + ∆ x0 )

3
2
1
0

x − ∆x2 x + ∆x2

x + ∆ x1 x
x − ∆ x0 x − ∆ x1 x x + ∆ x0

∆ x3

∆x2
∆ x1
∆ x0

Figura 3.6 – Representação gráfica do cálculo da tangente à curva no ponto x para


determinação da derivada f ′ x . ()

Vamos agora descrever o algoritmo para o método de Newton:

1) Escolha uma estimativa inicial x0 ;


2) Faça o contador de iterações k = 1 ;
3) Calcule f (xk −1 ) e f ′(xk −1 ) , esta última analiticamente ou com o algoritmo
descrito anteriormente;
4) Se f ( xk −1 ) < ε , faça solução = xk −1 e interrompa o algoritmo;
5) Se f ′( x k −1 ) = 0 informe a mensagem de erro E1 (derivada nula) e saia do
algoritmo;
6) Calcule xk com a Eq. (3.7);
7) Se xk − xk −1 ≤ ε onde ε é uma tolerância definida a priori, faça
solução = x k , e saia do algoritmo;
8) Faça k = k + 1 . Se k ≤ número máximo de iterações estabelecido a priori,
vá para o passo 3. Se k > número máximo de iterações informe a mensagem de
erro E2 (não convergiu) e interrompa o algoritmo.

As principais vantagens do método de Newton são:

(i) facilidade de programação;


(ii) ordem quadrática de convergência.

55
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

A principal desvantagem é a falta de garantia de convergência.


Em alguns casos a convergência poderá ser obtida se ao invés da Eq.
(3.7) for realizada uma subrelaxação,

f (x k −1 )
x k = x k −1 − η , k = 1, 2, K (3.51)
f ′( x k −1 )

onde 0 < η < 1 , e varia com o problema que está sendo tratado.

3.4 – Método
da Secante

Neste método procura-se evitar o cálculo da derivada da função f ′(x ) .


Em alguns casos isto pode representar uma economia computacional
significativa. O preço que se paga é a convergência mais lenta do que aquela
obtida com o método de Newton.
Considere dois pontos x0 e x1 , e calcule o valor da função nestes pontos,
ou seja f (x0 ) e f (x1 ) . Passe agora uma reta pelos pontos (x0 , f (x0 )) e (x1, f (x1 ))
e determine o ponto x2 em que esta reta intercepta o eixo x .

y = f (x)

( x1 , f ( x1 ))

x0 x 2 x3
0 x
x* x1

(x 2 , f (x 2 ))
( x0 , f ( x0 ))

Figura 3.7 – Representação gráfica do método da secante

Da Fig. 3.7 é fácil observar que

f ( x1 ) − f (x 0 ) f ( x1 ) − 0
= (3.52)
x1 − x 0 x1 − x 2

56
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Da Eq. (3.52) obtém-se

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

Tomando agora os pontos (x 2 , f ( x 2 )) e ( x1 , f ( x1 )) escreve-se

f (x1 ) − f ( x2 ) f ( x1 ) − 0 0 − f ( x2 )
= = (3.54)
x1 − x2 x1 − x3 x3 − x 2

de onde se obtém

x2 − x1
x3 = x 2 − f ( x 2 ) (3.55)
f ( x2 ) − f ( x1 )

O método prossegue usando os pontos ( x2 , f ( x2 )) e ( x3 , f ( x3 )) para obter o


ponto x 4 . São usados então os pontos ( x3 , f ( x3 )) e ( x4 , f ( x4 )) para obter o
ponto x5 , e assim por diante.
Das Eqs. (3.53) e (3.55) escreve-se a fórmula de recorrência,

xk − x k −1
xk +1 = x k − f ( xk ) , k = 1, 2,K (3.56)
f ( xk ) − f (x k −1 )

É apresentado a seguir um algoritmo para o método da secante.

1) Escolha duas estimativas iniciais x0 e x1 ;


2) Faça o contador de iterações k = 1 ;
3) Calcule f ( x k −1 ) e f (x k ) ;
4) Calcule x k +1 com a Eq. (3.56);
5) Calcule f ( x k +1 ) ;
6) Se x k +1 − x k ≤ ε 1 ou f ( x k +1 ) ≤ ε 2 , onde ε 1 e ε 2 são tolerâncias definidas a
priori, faça solução = x k +1 e saia do algoritmo;
7) Faça k = k + 1 . Se k ≤ número máximo de iterações estabelecido a priori, vá
para o passo 4. Se k > número máximo de iterações informe a mensagem de
erro E1 (não convergiu) e interrompa o algoritmo.

Alguns comentários são necessários:

(i) da Eq. (3.52) observa-se que o método necessita de duas estimativas iniciais:
x0 e x1 ; (ii) o método não possui garantia de convergência, mas quando ocorre
é mais rápida do que no método da bisseção, p = 1,62 , e mais lenta do que no
método de Newton; (iii) conforme mostrado na Fig. 3.8, dependendo das
estimativas iniciais consideradas, e da própria função f ( x ) , o método pode
apresentar um comportamento oscilatório antes de convergir.

57
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

y = f (x)

f ( x1 )

f ( x0 )

f ( x2 )

f ( x4 )

x3 x* x4 x2 x0 x1 x

f ( x3 )

Figura 3.8 – Representação gráfica do método da secante para um caso-exemplo em que


ocorrem oscilações antes da convergência.

3.5 – Método Combinado


Secante-Bisseção

De forma a garantir a convergência do método da secante pode ser feita


uma combinação do mesmo com o método da bisseção. O algoritmo
simplificado para este método pode ser escrito da seguinte forma:

(1) Defina um intervalo de busca [ak , bk ] inicialmente com k = 0


(conforme o algoritmo descrito na seção 3.2);
(2) Calcule o ponto

bk − a k
ck = bk − f (bk ) (3.57)
f (bk ) − f (a k )

(3) Se bk − ck ≤ ε1 ou f (ck ) ≤ ε 2 , onde ε1 e ε 2 são tolerâncias estabelecidas


a priori, faça solução = ck , e saia do algoritmo;
(4) Se f (bk ) ⋅ f (ck ) < 0 então faça a k +1 = c k e bk +1 = bk , senão faça bk +1 = ck
e ak +1 = ak ;
(5) Faça k = k + 1 e volte ao passo 2.

Na Fig. 3.9 é apresentada a aplicação do algoritmo para quatro casos


particulares.

58
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

y = f (x ) y = f (x )
f (b0 ) = f (b1 )
f (b0 )

0 f (c0) = f (b1)

a0 = a1
x*
0 c
a0 c0 = a1 1
x 0 ca00 = a1
x
x* b0 = b1 c1 c0 = b1 b0

f (c0 ) = f ( a1 )
f ( a0 ) = f ( a1 )
f ( a0 )

y = f (x )
y = f (x )
f ( a0 )

c
f (c0 ) = f ( a1 )
f (a0 ) = f (a1 )

0 c1 c0 = b1 b0
x
0 x* b0 = b1
x
a0 = a1 * a0 c0 = a1 c1
x

f (b0 ) = f (b1 )

f (c0 ) = f (b1 )

f (b0 )

Figura 3.9 – Aplicação do algoritmo combinado secante-bisseção para quatro casos


particulares.

Na Fig. 3.10 é aplicado o método combinado secante-bisseção para o


mesmo caso-exemplo apresentado na Fig. 3.8 onde foi usado o método da
secante. Pode-se observar que o método combinado possui um comportamento
mais suave.

Com o método combinado tem-se:

(i) o método sempre converge;


(ii) a convergência é mais rápida que a do método da bisseção.
A afirmação (i) é verdadeira. A afirmação (ii) precisa ser analisada
numericamente para verificar a sua veracidade.

59
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

y = f (x )
f (b0 )

a0 c0 = a1 c1 = b1
x
x* b0
f ( c0 ) = f ( a1 )

f (a0 )

Figura 3.10 – Representação gráfica do método combinado secante-bisseção para o


mesmo caso-exemplo apresentado na Fig. 3.8.

3.6 – Sistemas de
Equações Não-Lineares

Nesta seção temos por objetivo descrever a aplicação do método de


Newton multivariável para a solução do seguinte problema,

F1 ( x1 , x2 , K , x N ) = 0
F2 ( x1 , x2 , K , x N ) = 0
(3.58)
M
FN ( x1 , x2 , K , x N ) = 0

onde Fi , i = 1, 2,L , N são equações não-lineares com as incógnitas a serem


determinadas xi , i = 1, 2,K , N .
O sistema de equações (3.58) pode ser escrito de forma compacta
r r
F (x ) = 0 (3.59)

Ao invés de ir direto para o método de Newton multivariável, vamos


primeiro ver uma aplicação onde surge a necessidade da solução de um sistema
com duas equações não-lineares e duas incógnitas.

60
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Sampaio e Silva Neto (1984) realizaram um experimento com a válvula


de dreno do circuito a sódio do Instituto de Engenharia Nuclear da Comissão
Nacional de Energia Nuclear.
Tais circuitos são usados em uma classe de reatores nucleares conhecidos
como reatores rápidos.
Devido à dificuldade de se colocar um sensor de temperatura no êmbolo
ou no elemento vedante (fole) da válvula durante a operação do circuito (vide
Fig. 3.11), é feita uma medida de temperatura na haste da mesma, e procura-se
então estimar a temperatura no êmbolo e no fole a partir desta medida. Tem-se,
portanto, um problema inverso.
A importância de se conhecer a temperatura no êmbolo e no fole da
válvula está no fato de que abaixo de uma certa temperatura o sódio pode
cristalizar causando dificuldades operacionais, podendo levar até mesmo à
necessidade da retirada da válvula para sua manutenção.
De forma a permitir a modelagem matemática do problema de
transferência de calor, a haste da válvula é dividida em duas regiões conforme
representado na Fig. 3.12. Na região interna, I, o calor é transferido para a haste,
e na região externa, II, é dissipado por convecção natural para o ambiente na
temperatura T∞ .
A razão de aspecto da haste (diâmetro/comprimento) e a boa
condutividade térmica do aço permitem o tratamento unidimensional do
problema, ou seja, considera-se a variação da temperatura apenas na direção x .
Além disso, em regime permanente, o calor transferido para a haste na região I é
igual ao calor que chega à região II.
O perfil de temperatura na região I é dado por (Sampaio e Silva Neto,
1984)

TI (x ) = T −
(T − T )
1
cosh
αx 2
(3.60)
αL12 kA
cosh
kA

onde k é a condutividade térmica do material da haste, A é a seção transversal


da haste, α é a constante de proporcionalidade que relaciona o calor recebido
pela haste, q, com a diferença entre a temperatura média na parede aquecida da
válvula, T , e a temperatura local na haste, TI ,

q = α (T − TI ) (3.61)

61
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Haste

Região II

Fole

Isolamento Térmico

Região I

Êmbolo

Sede Aquecimento
por Resistênci a
Elétrica

Figura 3.11 – Representação esquemática da válvula de dreno


de um circuito a sódio.

62
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Parede Aquecida
da Válvula

h AL (Τ − Τ∞ )
Região I
Região II

Haste da
ΤI x =L1 = Τ1
Válvula

Sensor de
x=0 x = L1 x = L1 + L2 x
Temperatura

Fig. 3.12 – Representação esquemática usada no modelo matemático.

O perfil de temperaturas dado pela Eq. (3.60) depende de α e T1 , uma


vez que T é obtida experimentalmente.
O calor que chega à região II pode ser calculado por

dTII
Q(T1 ) = −kA (3.62)
dx x = L1

Como em regime permanente o calor transferido para a haste na região I


é idêntico ao calor que chega à região II,

L1 dTII
∫ 0
qdx = −kA
dx x = L1
(3.63)

Das Eqs. (3.60), (3.61) e (3.63) obtém-se

dTII αL12
− kA = kA α (T − T1 ) tanh (3.64)
dx x = L1 kA

Da Eq. (3.60) para x = 0 ,

αL12
(T − T )cosh
0 + T1 − T = 0 (3.65)
kA

onde T0 é a temperatura T1 ( x ) em x = 0 .

Das Eqs. (3.62) e (3.64),

αL12
Q(T1 ) = kA α (T − T1 ) tanh (3.66)
kA

63
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Sampaio e Silva Neto (1984) realizaram experimentos em bancada, com


a válvula fora do circuito. Desta forma podiam medir a temperatura no êmbolo
T0 e a temperatura média da parede aquecida da válvula T . As incógnitas do
problema passam a ser então T1 e α .
É importante observar que para a válvula em operação no circuito a sódio
não é possível medir a temperatura do êmbolo. Porém, medindo-se a
temperatura em algum ponto acessível da haste T2 , espera-se conhecer T0 e T1 .
Os experimentos em bancada foram validados medindo-se a temperatura
T2 e comparando-se os valores medidos com os valores calculados para a região
II com a seguinte equação:

TII ( x ) = T∞ + (T1 − T∞ ) e − m ( x − L1 ) para L1 ≤ x ≤ L1 + L2


(3.67)

onde

hp
m= (3.68)
kA

onde p é o perímetro e A é a área da seção transversal da haste, k é a


condutividade térmica do material da haste e h é o coeficiente de transferência
de calor por convecção natural da haste para o meio ambiente.
Para usar a Eq. (3.67) é necessário conhecer a temperatura T1 . Para
calcular a temperatura T1 é necessário resolver as equações não lineares (3.65) e
(3.66) sendo obtido simultaneamente o valor de α .
As Eqs. (3.65) e (3.66) podem ser reescritas na seguinte forma,

αL12
F (α , T1 ) = kA α (T − T1 )tanh − Q(T1 ) = 0 (3.69)
kA
αL12
G (α , T1 ) = (T − T0 )cosh + T1 − T = 0 (3.70)
kA

onde usando

γ= α (3.71)

escreve-se

γL1
F (γ , T1 ) = kAγ (T − T1 ) tanh − Q(T1 ) = 0 (3.72)
kA
γL1
G (γ , T1 ) = (T − T1 )cosh + T1 − T = 0 (3.73)
kA
ou seja,

F (γ , T1 ) = 0
(3.74)
G (γ , T1 ) = 0

64
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Vamos agora desenvolver o método de Newton multivariável para a


solução do sistema de equações não-lineares (3.74).
Façamos uma expansão de Taylor em torno de (γ 0 ,T10 ) ,

F (γ , T1 ) = F (γ 0 , T10 ) +
∂F
(γ − γ 0 ) + ∂F (T1 − T10 ) + O[(γ − γ 0 )2 , (T1 − T10 )2 ]
∂γ γ 0 ,T10 ∂T1 γ
0 ,T10

G(γ , T1 ) = G(γ 0 , T10 ) +


∂G
(γ − γ 0 ) + ∂G (T1 − T10 ) + O[(γ − γ 0 )2 , (T1 − T10 )2 ]
∂γ γ 0 ,T10 ∂T1 γ
0 ,T10

(3.75)

Levando as Eqs. (3.75) nas Eqs. (3.74), e mantendo apenas os termos até
a primeira ordem,

 ∂F ∂F 
 
 ∂γ γ 0 ,T10 ∂T1 γ 0 ,T10  γ  d1 
  T  = d  (3.76)
 ∂G ∂G  1   2 
 ∂γ ∂T1 γ ,T 
 γ 0 ,T10 0 10 

onde

∂F ∂F
d1 = γ 0 + T10 − F (γ 0 , T10 )
∂γ γ 0 ,T10
∂T1 γ
0 ,T10
(3.77)
∂G ∂G
d2 = γ 0 + T10 − G (γ 0 , T10 )
∂γ γ 0 ,T10 ∂T1 γ
0 ,T10

A Eq. (3.76) pode ser reescrita como


r r
Az = d (3.78)

onde

 ∂F ∂F 
 
 ∂γ γ 0 ,T10 ∂T1 γ 0 ,T10  r γ  r d1 
A=  , z = T  e d = d  (3.79)
 ∂G ∂G   1  2
 ∂γ ∂T1 γ ,T 
 γ 0 ,T10 0 10 

O problema de solução do sistema de equações não-lineares (3.74) é


reduzido ao problema de solução do sistema de equações lineares (3.78).
r r
A partir de uma estimativa inicial z 0 , novas estimativas z k +1 , com
k = 0, 1, 2,K, são calculadas usando a Eq. (3.78) na seguinte forma

65
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

r r
A k z k +1 = d k (3.80)

até que um critério de parada estabelecido a priori seja satisfeito. Sampaio e


Silva Neto (1984) usaram o seguinte critério,

γ k +1 − γ k T1k +1 − T1k
+ <ε (3.81)
γk T1k

onde ε é a tolerância.
Em algumas situações os elementos da matriz A podem ser obtidos
analiticamente. No exemplo aqui apresentado os termos da segunda linha podem
ser obtidos analiticamente a partir da Eq. (3.70). Porém, devido ao termo Q(T1 )
na Eq. (3.69) ser conhecido na forma de uma tabela cujos valores são obtidos
experimentalmente, deve ser usado um procedimento numérico para o cálculo
dos elementos da primeira linha da matriz A . Na seção 3.3 foi descrito um
procedimento numérico que pode ser utilizado para o cálculo destas derivadas.
Vamos agora considerar o método de Newton multivariável para uma
situação mais geral, com a notação usada nas Eqs. (3.58) e (3.59).
Primeiro é feita a expansão de Taylor

r r r r r N
∂F r
F (x 0 + ∆x ) = F (x 0 ) + ∑ [ ]
∆xi + O ∆x 2 (3.82)
i =1 ∂xi r
x0

Das Eqs. (3.59) e (3.82) obtém-se

r r N
∂F
F (x 0 ) + ∑ ∆xi = 0 (3.83)
i =1 ∂xi r
x0

ou seja,

 ∂F1 ∂F1 ∂F1 


 L 
 ∂x1 xr 0 ∂x2 r
x0
∂x N
x0 
r

  ∆x1 
∂F ∂F2 ∂F2  ∆x 
r r0  2 L  2
( )
F x +  ∂x1 xr 0 ∂x2 r
x0
∂x N xr0   =0 (3.84)
   M 
 M M M  ∆x N 
 
 ∂FN ∂FN
L
∂FN 
 ∂x1 xr 0 ∂x2 r
x0
∂x N xr 0 

Esta equação pode ser reescrita como


r r r
F (x 0 ) + J∆x = 0 (3.85)

onde os elementos da matriz Jacobiana são dados por

66
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

∂Fm
J mn = , com m = 1, 2,K , N e n = 1, 2, K , N (3.86)
∂x n

Da Eq. (3.85) obtém-se


r r r
( )
∆x = − J −1 F x 0 (3.87)

É construído então um procedimento iterativo onde a partir de uma


r
estimativa inicial para o vetor de incógnitas x 0 , são calculadas novas estimativas
r k +1
x , com k = 0, 1, 2,K, , da seguinte forma,

r r r
x k +1 = x k + ∆x k , k = 0, 1, 2,K (3.88)

r
onde as correções ∆x k são calculadas a partir da Eq. (3.85), i.e.

r r
( ) F (xr )
∆x k = − J k
−1 k
(3.89)

O procedimento iterativo é interrompido quando um critério de parada


estabelecido a priori é satisfeito, como por exemplo

xik +1 − xik
< ε , i = 1, 2,K, N (3.90)
xik

onde ε é a tolerância.
Na prática não se faz a inversão da matriz Jacobiana, J , principalmente
para sistemas com mais de duas equações. Ao invés disso é resolvido o sistema
de equações lineares resultante da Eq. (3.85),
r r r
J k ∆x k = − F (x k ) (3.91)

3.7 – Otimização
sem Restrições

Conforme será visto em um exemplo no final desta seção, um problema


de muito interesse para aplicações em engenharia é aquele em que se procura o
r
ponto, x * onde se obtém o máximo ou o mínimo de uma função,
r r
( )
x * para o qual S x * = mín S ( x1 , x2 ,K , xN ) (3.92)

r r
( )
x * para o qual S x * = máx S ( x1 , x2 ,K , xN ) (3.93)

Vamos investigar aqui o problema em que se busca o mínimo da função


S sem a imposição de restrições adicionais.
Para a obtenção do mínimo da função S é necessário encontrar um ponto
estacionário, ou seja, um ponto onde

67
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

r
∂S ( x )
r = 0 i.e. ∇S = 0 (3.94)
∂x

ou seja,

∂S (x1 , x2 , x3 , K , x N )
= 0 i = 1, 2, K , N (3.95)
∂xi
r
Após a obtenção do vetor x * para o qual a condição (3.94) é satisfeita,
verifica-se se a derivada segunda é positiva, o que garante que o ponto
estacionário seja realmente um ponto de mínimo.
A Eq. (3.95) pode ser reescrita como
r
∂S (x )
= 0 → F1 ( x1 , x2 , x3 , K , x N ) = 0
∂x1
r
∂S (x )
= 0 → F2 ( x1 , x2 , x3 , K , x N ) = 0
∂x2 (3.96)
M
r
∂S (x )
= 0 → FN ( x1 , x2 , x3 , K , x N ) = 0
∂x N

Observe que o sistema (3.96) é idêntico àquele dado pelas Eqs. (3.58), e
será resolvido, portanto, usando o método de Newton multivariável. O problema
(3.94) é reescrito então na mesma forma dada pela Eq. (3.59),
r r
F (x ) = 0 (3.97)

Usando a expansão de Taylor dada pela Eq. (3.82) e a Eq. (3.96) obtém-
se,
r
r r0 r r r0 N
∂F r
( )
F x + ∆x = F x + ∑ ( ) ∆x j + O ∆x 2 = [ ]
j =1 ∂x j r 0
x
(3.98)
r r0 N
∂  ∂S  r2
= F x +∑( )  r  ∆x j + O ∆x [ ]
j =1 ∂x j  ∂x  r 0
x

ou seja,

r r r N
∂2S r
F1 (x 0 + ∆x ) = F1 (x 0 ) + ∑ [ ]
∆x j + O ∆x 2
j =1 ∂x j ∂x1 r
x0

r r r N
∂2S r
F2 (x 0 + ∆x ) = F2 (x 0 ) + ∑ [ ]
∆x j + O ∆x 2
(3.99)
j =1 ∂x j ∂x2 r
x0

M
r r r N
∂ 2S r
FN (x 0 + ∆x ) = FN (x 0 ) + ∑ [ ]
∆x j + O ∆x 2
j =1 ∂x j ∂x N r
x0

68
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Das Eqs. (3.96), (3.97) e (3.99) obtém-se

r  ∂2S ∂2S ∂2S 


 ∂S x 0 ( )  L 
 ∂x  ∂x12 xr 0 ∂x1∂x2 xr 0 ∂x1∂x N
  x0 
r
 1
∆x1 
 ∂S xr 0( )   ∂2S ∂2S ∂2S

∆x 
   L   2
 ∂x2  +  ∂x2 ∂x1 xr0 ∂x22 xr 0 ∂x2 ∂x N xr 0   =0 (3.100)
 M     M 
   M M O M  ∆x N 
r0  
 ∂S x ( )  ∂2S ∂2S 2
∂ S
   L 
 ∂x N   ∂x N ∂x1 xr0 ∂x N ∂x2 xr0 ∂x N2 xr0 

Definindo o vetor gradiente

r r r r T

∇S x =( ) r =
( )
r 0 ∂S x 0  ∂S ( x ) ∂S ( x )
, ,L,
∂S ( x ) 
(3.101)
∂x  ∂x1 xr 0 ∂x2 xr 0 ∂x N xr 0 
e a matriz Hessiana H cujos elementos são dados por

r
r 0 ∂ 2 S (x )
H i, j ( )
x =
∂xi ∂x j r 0
, i, j = 1, 2, K , N (3.102)
x

obtém-se
r r r
∇S (x 0 ) + H (x 0 )∆x = 0 (3.103)

Logo,
r r r
∆x = − H −1 (x 0 ) ∇S (x 0 ) (3.104)

Pode-se construir então um procedimento iterativo onde a partir de uma


r r
estimativa inicial x 0 , novas estimativas x k +1 , com k = 0, 1, 2K , podem ser
obtidas
r r r
x k +1 = x k + ∆x k , k = 0, 1, 2 K (3.105)

r
com as correções ∆x k calculadas com a Eq. (3.104),
r r r
∆x k = − H −1 (x k ) ∇S (x k ) (3.106)

Esta abordagem baseada no método de Newton multivariável possui


convergência quadrática.
Outros métodos baseados no gradiente serão agora apresentados de
acordo com o trabalho de Silva Neto et al. (1999).

69
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Método da Máxima
Descida (Steepest Descent)

O método da máxima descida pode ser descrito pelo seguinte algoritmo:


r
1) Escolha uma estimativa inicial x 0 , e faça k = 0 ;
r
2) Calcule o gradiente ∇S (x k ), e defina a direção de busca
r r
P k = ∇S (x k ) (3.107)

3) Calcule o coeficiente β k que definirá o tamanho do passo a ser dado na


r
direção de busca, fazendo com que S (x k +1 ) seja mínimo, ou seja,

r r r
( )
∂S x k +1
=0→
(
∂S x k + β k P k )
=0 (3.108)
∂β k ∂β k

4) Calcule a nova estimativa


r r
x k +1 = x k − β k P k (3.109)

5) Se um critério de parada estabelecido a priori estiver satisfeito, como por


exemplo aquele dado pela Eq. (3.90), interrompa o procedimento iterativo. Caso
contrário faça k = k + 1 e volte ao passo 2.

Iteração de
Landweber

O cálculo de β k com a Eq. (3.108) pode ser complexa tanto


analiticamente quanto numericamente, podendo representar um esforço
computacional significativo.
Visando simplificar este passo do método de máxima descida pode ser
usado então um valor constante,

β k = β * = constante > 0 (3.110)


obtendo-se o método de iteração de Landweber.

70
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Método do Gradiente
Conjugado

Neste método é feita uma alteração no segundo passo do algoritmo


apresentado para o método de máxima descida. A direção de busca é obtida com
uma combinação do gradiente na iteração k com a direção de busca na iteração
anterior, k − 1 , ou seja
r r r
P k = ∇S (x k ) + ζ k P k −1 = 0 com ζ0 =0 (3.111)

onde o coeficiente conjugado ζ k pode ser calculado de diversas formas, sendo


mais comumente usada aquela baseada na razão das normas dos gradientes nas
iterações k e k − 1 ,

2 2 2
 ∂S k   ∂S k   ∂S k 
r 2   +   + L  
∇S (x k )  ∂x1   ∂x2   ∂x N 
ζ = k
r 2
= 2 2 2
(3.112)
∇S (x k −1 )  ∂S k −1   ∂S k −1   ∂S k −1 
  +   + L  
 ∂x1   ∂x2   ∂x N 

Será agora apresentado através de um exemplo o uso do método dos


mínimos quadrados para a estimativa de propriedades radiativas de um material
através da solução de um problema inverso de transferência de calor por
radiação térmica em um meio participante, ou seja, absorvedor, emissor e
espalhador.
Conforme será visto, o método dos mínimos quadrados é um caso
particular do problema de minimização descrito pela Eq. (3.92).
Considere a situação física representada na Figura 3.13. Uma placa de
espessura óptica τ 0 , homogênea, espalhadora isotrópica, cinza (propriedades
materiais sem dependência espectral), com superfícies transparentes, está sujeita
à incidência de radiação isotrópica na superfície τ = 0 . É considerado que a
emissão de radiação térmica pelo meio é desprezível quando comparada com a
radiação incidente.
A formulação matemática do problema de transporte de radiação no
interior do meio é dada pela versão linear da equação de Boltzmann, ou equação
de transporte.
Considerando as condições de contorno representadas na Fig. 3.13
escreve-se então para o caso de regime permanente (Silva Neto e Özisik, 1995).

∂I (τ , µ ) ω 1
µ + I (τ , µ ) = ∫ I (τ , µ ′) dµ ′ (3.113a)
∂τ 2 −1

I (0, µ ) = 1, para µ > 0 (3.113b)

I (τ 0 , µ ) = 0 , para µ < 0 (3.113c)

71
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

onde I é a intensidade da radiação, τ é a variável óptica, τ 0 é a espessura óptica


do meio, µ é o cosseno do ângulo polar, θ , e ω é o albedo de espalhamento
simples.

Radiação
Isotrópica
Incidente

µ <0 µ >0
µ = −1 µ =1
Medidas
Yi Experimentais

µ =0

I (0, µ ) = 1
τ
θ

τ =0 τ =τ0
Figura 3.13 – Transferência radiativa em um meio participante.

Considere que a geometria, o albedo de espalhamento, a espessura óptica


e as condições de contorno são conhecidas.
Pode ser calculada, então, a intensidade da radiação no meio em qualquer
posição τ e qualquer ângulo θ , i.e 0 ≤ τ ≤ τ 0 e − 1 ≤ µ = cosθ ≤ 1 . Este
problema é denominado problema direto.
Considere agora que o albedo de espalhamento e a espessura óptica são
desconhecidos. Porém, medidas experimentais da intensidade da radiação que
sai do meio em τ = τ 0 segundo as direções θ i , com i = 1, 2,K K , estão
disponíveis. Neste exemplo está sendo considerada apenas a radiação
transmitida, Y (τ 0 , µi ) com µi > 0 . Poderíamos ter usado também medidas
experimentais da radiação refletida em τ = 0 , para µ < 0 , mas optamos aqui por
não fazê-lo para manter a apresentação o mais simples possível.

Este problema é, portanto, um problema inverso onde o objetivo é


determinar o vetor de incógnitas

r τ 
x =  0 (3.114)
ω 

72
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Sendo o número de dados experimentais, K , superior ao número de


parâmetros a serem estimados, N = 2 i.e. K > 2 , o problema inverso é
resolvido como um problema de otimização onde é minimizado o funcional de
resíduos quadrados

K
S (τ 0 , ω ) = ∑ [I i (τ 0 , ω ) − Yi ]
2
(3.115)
i =1

onde I i é a intensidade da radiação calculada na mesma posição (τ i , µi ) onde é


feita a medida experimental Yi .

Conforme apresentado anteriormente nas Eqs. (3.94) e (3.95), para obter


o ponto estacionário, ou ponto crítico, é feito.

∂S (τ 0 , ω )
=0 (3.116a)
∂τ 0

∂S (τ 0 , ω )
=0 (3.116b)
∂ω

ou seja,

K
∂I i
2∑ [I i (τ 0 , ω ) − Yi ] (τ 0 , ω ) = 0 (3.117a)
i =1 ∂τ 0

K
∂I i
2∑ [I i (τ 0 , ω ) − Yi ] (τ 0 , ω ) = 0 (3.117b)
i =1 ∂ω

Definindo
r r r
R = I −Y (3.118)

onde

Ri = I i (τ 0 , ω ) − Yi , i = 1, 2,K, K (3.119)

a Eq. (3.115) é reescrita como


r r
S (τ 0 , ω ) = R T R (3.120)

e as Eqs. (3.117a,b) são escritas na seguinte forma

 ∂I1 ∂I 2 ∂I K   R1 
 ∂τ ∂τ L ∂τ  R 
 2
 0 0 0
  =0 (3.121)
 ∂I1 ∂I 2 ∂I K  M 
 ∂ω ∂ω L ∂ω   RK 

73
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Usando uma expansão de Taylor e retendo apenas os termos até a


primeira ordem,

r r r ∂R ∂R
R1 ( x + ∆x ) = R1 ( x ) + 1 ∆τ 0 + 1 ∆ω
∂τ 0 xr ∂ω xr
r r r ∂R ∂R
R2 (x + ∆x ) = R2 ( x ) + 2 ∆τ 0 + 2 ∆ω
∂τ 0 xr ∂ω xr (3.122)
M
r r r ∂R ∂R
RK (x + ∆x ) = RK (x ) + K ∆τ 0 + K ∆ω
∂τ 0 xr ∂ω xr

onde

r ∆τ 
∆x =  0  (3.123)
∆ω 

e observando que

∂Ri ∂I i
= , i = 1, 2,K , K (3.124a)
∂τ 0 ∂τ 0

∂Ri ∂I i
= , i = 1, 2,K , K (3.124b)
∂ω ∂ω

das Eqs. (3.122) obtém-se então

 ∂I1 ∂I 1 
 ∂τ ∂ω 
 0 
 ∂I ∂I 2 
r r r r r  2 ∆τ 
R( x + ∆x ) = R( x ) + ∂τ 0 ∂ω   0  (3.125)
  ∆ω
 M M  
 
 ∂I K ∂I K 
 ∂τ 0 ∂ω 

Definindo os elementos da matriz Jacobiana como

∂I i
J ij = , i = 1, 2, K , K , j = 1, 2 (3.126)
∂x j

a Eq. (3.125) é reescrita como


r r r r r r
R( x + ∆x ) = R(x ) + J∆x (3.127)

74
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Escrevendo a Eq. (3.121) como


r r r
J T R( x + ∆x ) = 0 (3.128)

e usando a Eq. (3.127) obtém-se


r r r
[
J T R(x ) + J∆x = 0 ] (3.129)

ou seja,
r r r
J T J∆x = − J T R( x ) (3.130)

equação esta conhecida como equação normal.

Da Eq.(3.130) escreve-se

r r r
∆x = −(J T J ) J T R( x )
−1
(3.131)

Pode-se então construir um procedimento iterativo onde a partir de uma


r
estimativa inicial x 0 novas estimativas são obtidas
r r r
x k +1 = x k + ∆x k , k = 0, 1, 2,K (3.132)

r
onde ∆x k normalmente não é obtido a partir da Eq. (3.131) devido à necessidade
do cálculo da matriz inversa (J T J ) o que geralmente envolve um esforço
−1

r
computacional elevado. Normalmente as correções ∆x k são calculadas
resolvendo o sistema linear dado pela Eq. (3.130), i.e.

T r r
(J kT
) r
( )
J k ∆x k = − J k R x k (3.133)

Este é o método dos mínimos quadrados.


Dificuldades de convergência podem ocorrer se não for usada uma
estimativa inicial adequada. Visando facilitar a convergência do método,
Levenberg propôs em 1944 que fosse adicionado um termo à diagonal da matriz
J T J . Em 1963 Marquardt propôs um procedimento semelhante, sugerindo,
inclusive um algoritmo para a redução deste termo para que ao se atingir a
convergência seja obtida a solução do problema original.
Esta variante do método dos mínimos quadrados é conhecida como
método de Levenberg-Marquardt.
A Eq. (3.133) é reescrita então na seguinte forma
T r r
(J kT
) r
J k + λk I ∆x k = − J k R(x k ) (3.134)

onde I é a matriz identidade e λk é o fator de amortecimento.


Ao se iniciar o algoritmo é usado um valor relativamente alto para o fator
de amortecimento, λ0 , e de acordo com a proposta de Marquardt se o valor de S

75
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

(Eq.(3.115)) é reduzido de uma iteração para outra o valor de λ também é


reduzido, i.e.

Sk λk
se S k +1 ≤ → λk +1 = com c e d > 1 (3.135)
c d

Por outro lado,

Sk
se S k +1 ≤ → λk +1 = eλk com e > 1 (3.136)
c

onde c, d e e são constantes arbitradas a priori.

Desta forma espera-se que λk seja reduzido ao longo do procedimento


iterativo, e quando a convergência do método for obtida ter-se-á λ ≈ 0 . Assim, o
problema dado pela Eq.(3.134) será equivalente àquele dado pela Eq. (3.133).
Para um caso genérico com N incógnitas o método de mínimos
quadrados pode ser descrito da seguinte forma:
r
1) Escolha uma estimativa inicial x 0 , e faça k = 0 ;
r
2) Calcule ∆x k com a Eq. (3.131), ou com a Eq. (3.130), onde os elementos da
matriz Jacobiana são calculados de forma semelhante àquela apresentada na
Eq.(3.126),

∂I i
J ij = , i = 1, 2,K , K , j = 1, 2,K, N (3.137)
∂x j

r
3) Calcule x k +1 com a Eq. (3.132);

4) Interrompa o procedimento iterativo se o critério de parada estabelecido a


priori, como por exemplo

xik +1 − xik
<ε (3.138)
xik

foi satisfeito, onde ε é a tolerância escolhida. Caso contrário faça k = k + 1 e


volte ao passo 2.
Para o método de Levenberg-Marquardt é necessário acrescentar os
passos necessários para o ajuste do fator de amortecimento λ .
Assim como foi feito para o método de Newton, visando auxiliar na
convergência do método também pode ser usada uma subrelaxação de forma que
o cálculo das novas estimativas durante o procedimento iterativo ao invés de ser
r r r
realizado com a Eq. (3.132) é feito usando x k +1 = x k + η∆x k (3.139),
k = 0, 1, 2, K onde 0 < η < 1 , e varia com o problema que está sendo tratado.

76
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

3.8 – Exercícios

4
3.8.1 – O polinômio p (x ) = ∑ a i x i com a0 = 40; a1 = −19,5 ; a2 = −21,2 ;
i =0

a3 = −0,3 e a4 = 1 possui mais de uma raiz real no intervalo [− 10 , 10] .

(i) Escreva três rotinas computacionais para a determinação destas raízes


usando:

(i.1) o método da bisseção;


(i.2) o método de Newton;
(i.3) o método da secante.

(ii) Apresente os resultados em tabela contendo as estimativas obtidas a cada


iteração.

(iii) Após a obtenção das soluções, complemente a tabela elaborada no item


anterior visando observar o comportamento dos erros.

(iv) Comente o comportamento observado no item (iii).

Observações:

a) Para fazer a validação das rotinas computacionais obtenha a


raiz x = 1,134724 do polinômio F ( x ) = x 6 − x − 1
*

b) Para o critério de parada use x n +1 − x n < ε , onde ε é uma tolerância


estabelecida a priori.

3.8.2 – As soluções analíticas de problemas de transferência de calor por


condução frequentemente envolvem somas de termos com autofunções,
autovalores e as propriedades e outros parâmetros térmicos que caracterizam
estes problemas. Na Motivação 1.3 foi apresentado um problema unidimensional
em uma placa de espessura L com condições de contorno do segundo tipo, com
fluxo nulo em uma superfície, e condição de terceiro tipo na outra superfície.
Os autovalores são determinados neste caso através da solução da
equação transcendental (1.23), aqui reescrita

β m tan (β m L ) = H 2 , m = 1, 2,K (3.139)

Visando determinar os autovalores para uma placa com L = 1 , execute as


seguintes tarefas:

(i) escreva uma rotina computacional para o cálculo das seis primeiras raízes
da Eq.(3.139) usando o método da bisseção, para um valor H 2 qualquer;
(ii) escreva uma rotina para o cálculo das seis primeiras raízes da Eq. (3.139)
usando o método de Newton, para um valor H 2 qualquer;
(iii) preencha a tabela abaixo

77
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

Autovalores obtidos com os métodos da bisseção e Newton

H2 β1 β2 β3 β4 β5 β6
biss. Newton biss. Newton biss. Newton biss. Newton biss. Newton biss. Newton
0
0,5
1,0
10,0
100,0

(iv) Comente os resultados obtidos;

(v) Considere agora a obtenção de apenas um dos autovalores, por exemplo,


β 6 para H 2 = 10,0 . O objetivo agora é comparar a taxa de convergência dos dois
métodos. Forneça as estimativas obtidas a cada iteração.

β 6 = 16,2594; x0 = (estimativa inicial)

Estimativa Estimativa
Iteração Diferença Diferença
Bisseção Newton
1
2
3
(...)

Dif = x k − β 6

(vi) Comente os resultados obtidos.

Observação:
Todas as raízes que estamos procurando encontram-se no intervalo
[0,18).

3.8.3 – Ao se utilizar uma formulação explícita para um problema inverso em


transferência radiativa obtém-se um sistema com três equações não lineares:

N
ω= (3.140a)
D
~
~ N
ω= ~ (3.140b)
D
~
N*
ω~ = ~ * (3.140c)
D

onde

ω
ω~ = (3.141a)
1−ω

78
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

N = 4{E0 (τ 0 ) [2 ρ 2 E1 (τ 0 ) + A2 ] − E0 (0) [2 ρ1 E1 (0) + A1 ] } (3.141b)


D = [2 ρ 2 E1 (τ 0 ) + E 0 (τ 0 ) + A2 ] − [2 ρ1 E1 (0) + E 0 (0) + A1 ]
2 2
(3.141c)
~
N = 4{E2 (τ 0 ) [2 ρ 2 E1 (τ 0 ) + A2 ] − E2 (0) [2 ρ1 E1 (0) + A1 ] } (3.141d)
~
D = [E1 (τ 0 )(1 − ρ 2 ) − A2 2] − [E1 (0 )(ρ1 − 1) − A1 2]
2 2
(3.141e)
~
[ ]
N * = 4{2 ρ 2 E2* (τ 0 )E1* (τ 0 ) − E1* (0) 2 ρ1 E2* (0) + C1 } (3.141f)
~
[ ] [2
D * = E1* (τ 0 )(1 − ρ 2 ) − E1* (0 )(ρ1 − 1) + C1 ] 2
(3.141g)

sendo as três incógnitas a determinar: as reflectividades difusas ρ1 e ρ 2 ; e o


albedo de espalhamento simples ω . Os termos En (0) , E n (τ 0 ) , E n* (τ 0 ) e En* (τ 0 ) ,
com n = 1, 2, são conhecidos e estão relacionados às medidas experimentais da
intensidade da radiação que sai do meio. As constantes A1 , A2 e C1 também são
conhecidas.
Apresente todos os passos necessários, incluindo a dedução das
equações, para a implementação do método de Newton multivariável para a
solução do sistema de equações não lineares de forma a se determinar as
incógnitas ρ1 , ρ 2 e ω .

Obs. 1: As derivadas dos termos En (0) , En (τ 0 ) , En* (τ 0 ) e En* (τ 0 ) , com n = 1, 2,


com relação às incógnitas ρ1 , ρ 2 e ω são nulas.

Obs.2: Para iniciar a solução deste problema reescreva o sistema não-linear na


forma

F1 (ω , ρ1 , ρ 2 ) = Dω − N = 0 (3.142a)
~ ~
F2 (ω , ρ1 , ρ 2 ) = Dω − N (1 − ω ) = 0 (3.142b)
~ ~
F3 (ω , ρ1 , ρ 2 ) = D *ω − N * (1 − ω ) = 0 (3.142c)

ou seja,
r r
F (x ) = 0 (3.143)

onde
r
x = (ω , ρ1 , ρ 2 )
T
(3.144)

3.8.4 – No exercício 3.8.2 foram determinados os seis primeiros autovalores β m


a partir da equação transcendental β m tan (β m L ) = H 2 com m = 1, 2,K, usando
os métodos da bisseção e de Newton.
Obtenha agora os seis primeiros autovalores a partir da equação
transcendental β m cot β m = − H 2 , com m = 1, 2,K, 6, usando também os
métodos da bisseção e de Newton, para H 2 = −1, 0, 1, 10 e 100 .

79
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

3.8.5 – Ao se resolver analiticamente um problema de transferência de calor por


condução faz-se necessária a obtenção de autovalores β através da solução da
equação transcendental

β cot β = −c (3.145)

para os valores c = 1, 2, 3,K ,10, determine todos os autovalores β no


intervalo [2, 18] . Siga os seguintes passos:

(a) Para a obtenção destes autovalores escreva rotinas computacionais para a


implementação dos métodos de bisseção e Newton;

(b) Monte uma tabela com as seguintes informações

Autovalores Calculados com o Método da Bisseção (B) e com o Método de Newton (N)

β1 β2 β3 L β6
c
B N B N B N B N B N
1
2
M
9
10

(c) Para cada autovalor encontrado para c = 5 monte a seguinte tabela

β1 = (autovalor calculado) x0 = (estimativa inicial)

Estimativa Diferença Diferença Estimativa Diferença Diferença


Iteração
Bisseção Absoluta Relativa Newton Absoluta Relativa
1
2
3
4
5
M

xk − xk −1
Diferença absoluta= xk − xk −1 , Diferença Relativa=
xk −1

(d) Comente os resultados obtidos

3.8.6 – Um pesquisador do Laboratório de Ensaios Físicos do Instituto


Politécnico da UERJ obteve os dados experimentais apresentados na Fig. 3.14.
Estes dados foram obtidos com um difratômetro de raios-X. No eixo horizontal
está representado o número do canal no detector de difração (canais com
numeração de 0 a 8000), e no eixo vertical está representada a contagem para

80
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

cada canal (valores de 0 a 1200). Este pesquisador sabe que o pulso observado
na Fig. 3.14 é na realidade composto pela combinação de dois pulsos menores.

y (contagem )

ymáx

x(canal )
0 x0 8000

Figura 3.14 – Composição de um pulso com dois pulsos menores.

Dado que x0 é o canal para o qual a maior contagem é obtida, os dados


experimentais representados na Fig. 3.14 podem ser ajustados pela seguinte
curva

1 C1
y(x ) = 2
+ 2
(3.146)
1 + α ( x − x0 ) 1 + α ( x − x0 − δ )

De forma a determinar os valores das incógnitas α , δ e C1 execute os


seguintes passos:

(a) Monte a seguinte tabela a partir da Fig. 3.14:

yi
xi yi y=
i ymáx
(canal) (contagem) (contagem normalizada)
1 1400
2 1600
3 1800
... ...
22 5600
N=23 5800

(b) Visando minimizar o funcional dado pela soma dos resíduos quadrados

N r r
S (α , δ ) = ∑ [ y ( xi ) − yi ] 2 = F T F (3.147)
i =1

81
• SOLUÇÕES DE EQUAÇÕES NÃO - LINEARES •

r
onde os elementos do vetor F são dados por Fi = y ( xi ) − y i , i = 1, 2, K , N ,
três equações não lineares são obtidas ao se escrever

N
∂S ∂y
= 0 → ∑ ( y (xi ) − yi ) =0 (3.148a)
∂α i =1 ∂α xi
N
∂S ∂y
= 0 → ∑ ( y ( xi ) − yi ) =0 (3.148b)
∂δ i =1 ∂δ xi

N
∂S ∂y
= 0 → ∑ ( y ( xi ) − yi ) =0 (3.148c)
∂C1 i =1 ∂C1 xi

r
a partir das quais pode ser determinado o vetor de incógnitas Z = {α , δ , C1} .
T

Mostre (ou seja, deduza as equações) que um procedimento iterativo


pode ser construído para a solução deste sistema de equações não-lineares, onde
r
a partir de uma estimativa inicial, Z 0 , novas estimativas são obtidas com
r r r
Z n +1 = Z n + ∆Z n (3.149)
r
onde o vetor de correções ∆Z n é obtido a partir da equação
r r
(J )
n T
( )
J n ∆Z n = − J n
T
Fn (3.150)

onde J é a matriz Jacobiana.

(c) Escreva uma rotina computacional para a determinação do vetor de


r r
incógnitas Z . Faça uma tabela mostrando os valores do vetor Z n a cada iteração
n . Descreva o critério de parada utilizado.
(d) Compare os resultados obtidos experimentalmente ( xi , yi ) , para
i = 1, 2,K, N , com aqueles calculados usando a curva, i.e. (xi , y ( xi )) ,
para i = 1, 2,K , N , empregando a seguinte tabela:

xi yi y ( xi ) Diferença
i
(canal) (contagem) (curva) (%)
1 1400
2 1600
3 1800
... ...
22 5600
N=23 5800

(e) Repita os passos (a)-(d) com dois outros conjuntos de pontos, por exemplo,
N = 10 e N = 35 .
(f) Compare os resultados obtidos empregando os diferentes conjuntos de dados
experimentais. Comente os resultados obtidos.

82
4
CAPÍTULO

4.1 – Introdução
INTERPOLAÇÃO E AJUSTE DE CURVAS

Na busca da solução de um problema pode ser necessário, em


alguns casos, a consulta a tabelas, como por exemplo quando se deseja
obter as propriedades termodinâmicas de uma substância quando são
conhecidas a pressão e a temperatura às quais ela está submetida.
Atualmente com o aumento da disponibilidade de memória em
computadores digitais pode ser mais interessante armazenar tabelas e
obter as informações desejadas fazendo buscas nestas tabelas, do que
programar rotinas computacionais, que muitas vezes envolvem
cálculos iterativos, para a obtenção, por exemplo, de propriedades
termodinâmicas de uma substância.
Como as tabelas apresentam as informações para a variável
dependente apenas para valores discretos nas variáveis independentes,
normalmente faz-se necessário o uso de interpolação dos dados
presentes na tabela.
Este assunto será tratado neste capítulo, assim como o ajuste de
curvas a um conjunto de pontos.

4.2 – Interpolação
Linear

Na Tabela. 4.1 são apresentados os valores do logaritmo natural


de um conjunto de pontos.

Tabela 4.1 – Logaritmo natural de um conjunto de números inteiros positivos.


x ln( x )
1 0
2 0,693147
3 1,098612
4 1,386294
5 1,609438
M M
100 4,605170
101 4,615121
102 4,624973
M M
1000 6,907755
1001 6,908755
1002 6,909753
M M
9999 9,210240
10000 9,210340

83
Imagine agora que você precisa calcular o logaritmo natural de 1001,5.
Calculando a média aritmética de ln (1001) com ln (1002 ) obtém-se uma
aproximação para ln (1001,5) ,

ln (1001) + ln(1002 )
ln (1001,5) ≈ = 6,909254 (4.1)
2

Usando uma calculadora o resultado seria ln (1001,5) = 6,909254 , que está


em excelente concordância com o valor interpolado na tabela.
Vamos obter agora uma estimativa para ln (1,5) a partir da Tabela. 4.1,

ln (1) + ln(2 )
ln (1,5) ≈ = 0,346574 (4.2)
2

Usando uma calculadora o resultado seria ln (1,5) = 0,405465 , estando o


valor interpolado na Tabela. 4.1 com um erro relativo de 14,5%.
O procedimento aqui descrito consiste na realidade de uma interpolação
linear. Estamos aproximando, portanto, uma função não linear y = ln (x ) , por
uma reta entre dois pontos x1 e x2 .
Para valores elevados de x esta aproximação apresenta bons resultados,
mas isto não ocorre para valores de x relativamente pequenos. Na Fig. 4.1 é
feita uma representação esquemática das duas situações aqui consideradas.

aproximação
y = ln( x) linear
7
aproximação
6 linear
5

aproximação
3
linear
2

0
1 2 3 4 5 100 101 102 1000 1001 1002
x
-1

-2

-3 Figura 4.1 – Logaritmo natural.

Como estamos aproximando uma função não linear por uma reta estamos
cometendo, portanto, um erro de truncamento.
Na Fig. 4.2 é representado o processo de interpolação linear genérico. Os
dois exemplos apresentados anteriormente correspondem ao caso particular em

84
que é tomado um ponto exatamente no meio do intervalo entre os dois pontos x1
e x2 que constam na tabela.

y = f ( x)
aproximação
linear
f ( x2 )

f (ξ )

f ( x1 ) f (ξ )
)

ξ
x
x1 x2

Figura 4.2 – Interpolação linear.

Da Fig. 4.2 podemos escrever

f ( x2 ) − f ( x1 ) f (ξ ) − f ( x1 )
= (4.3)
x2 − x1 ξ − x1

onde x1 ≤ ξ ≤ x 2 .

Da Eq. (4.3) obtém-se então,

ξ − x1
f (ξ ) = f ( x1 ) + [ f (x2 ) − f (x1 )] (4.4)
x2 − x1

Definindo a fração

ξ − x1
γ= onde 0 ≤ γ ≤ 1 (4.5)
x2 − x1

a Eq. (4.4) pode ser reescrita como

f (ξ ) = (1 − γ ) f ( x1 ) + γ f ( x2 ) (4.6)

85
Para ξ = x2 → γ = 1 → f (ξ ) = f (x2 ) e para ξ = x1 → γ = 0 → f (ξ ) = f ( x1 ).
x1 + x2
Para ξ = → γ = 0,5
2

 x + x  f (x1 ) + f ( x2 )
f (ξ ) = f  1 2  = (4.7)
 2  2

As Eqs. (4.1) e (4.2) podem ser obtidas diretamente da Eq. (4.7), fazendo

x1 + x2
ξ= .
2

Ainda da Fig. 4.2 vemos que o erro de truncamento corresponde a


f (ξ ) − f (ξ ) . Porém, em situações reais normalmente não se conhece a função
y = f ( x ) . Deve-se tomar cuidado, portanto, ao se realizar a interpolação linear
porque erros significativos podem ser obtidos.
Vejamos uma aplicação da Eq. (4.7) para a obtenção de ln(4,2) . Das Eqs.
(4.5) e (4.6), usando x1 = 4 , x2 = 5 e ξ = 4, 2, obtém-se,

4,2 − 4
γ = = 0,2 (4.8)
5−4

f (4,2 ) = 0,8 f (4 ) + 0,2 f (5) = 1,430923 (4.9)

Usando uma calculadora obtém-se, ln (4,2) = 1,435085 , estando portanto a


estimativa com um erro relativo de 0,29%.
Obviamente a interpolação linear deve ser usada com cautela
principalmente quando se está próximo a singularidades. Considere a seguinte
função
1
f (x ) = (4.10)
x−2

Na Fig. 4.3 é mostrado o gráfico desta função, e na Tabela. 4.2 são


apresentados alguns valores de f (x ) . Façamos agora uma interpolação linear
para obter f (2) .
x1 + x2
Considerando x1 = 1,5 , x2 = 2,5 , e com ξ = → γ = 0,5 , da Eq. (4.6)
2
escreve-se

f (ξ ) = f (2,0) = 0,5[ f (1,5) + f (2,5)] = 0 (4.11)

Obviamente este resultado não tem valor.

86
1
f ( x) =
x−2

+∞

1,0

1 2 3 4 x

– 1,0

−∞

1
Figura 4.3 – Gráfico da função f (x ) = .
x−2

1
Tabela 4.2 – Valores da função f (x ) = .
x−2
x f (x )
0,5 – 0,666666 ...
1,5 – 2,0
2,5 2,0
3,5 0,666666

4.3 – Dupla
Interpolação Linear

Na Fig. 4.4 é representado um gerador de vapor do circuito secundário de


uma central nuclear com reator do tipo PWR (Pressurized Water Reactor).
Este componente possui uma válvula de segurança que é aberta
automaticamente quando a pressão no interior do equipamento atinge valores
altos, previstos na fase de projeto.

87
No dimensionamento da linha de descarga da válvula de segurança é
necessário o conhecimento das propriedades termodinâmicas da água. Conforme
o exemplo apresentado deseja-se conhecer o volume específico, v, da água para
a pressão de 3,12 bar e temperatura de 210 ºC. Na Tabela. 4.3 são apresentados
os valores obtidos em uma tabela de vapor (Grigull et al., 1989).
Como a Tabela. 4.3 é uma tabela de dupla entrada (temperatura, pressão)
será necessário fazer uma dupla interpolação. Nesta seção será apresentada uma
dupla interpolação linear.

Vapor
Linha de descarga

Válvula de P = 3,12 bar


segurança T = 210 ºC

P = 68 bar
T = 284,8 ºC Água de
Vapor alimentação

Saturado

Perna quente

Reator

Perna fria
Bomba hidráulica

Figura 4.4 – Gerador de vapor. Componente do circuito secundário de uma central nuclear com
reator do tipo PWR

88
Tabela 4.3 – Volume específico da água v m 3 / kg [ ].
Temperatura Pressão (bar)
(ºC) 1,0 5,0
175,0 2,0547 0,39933
200,0 2,1723 0,42487
225,0 2,2893 0,44980
250,0 2,4061 0,47432

A temperatura 210 ºC está entre os valores x1 = 200,0 ºC e x2 = 225,0 ºC,


e a pressão 3,12 bar está entre os valores z1 = 1,0 bar e z2 = 5,0 bar. O objetivo é
obter o valor do volume específico para o ponto ξ = 210 ºC e η = 3,12 bar.
Na Fig. 4.5 é apresentada uma representação genérica dos pontos da
Tabela. 4.3 que serão usados na interpolação, bem como é representado
esquematicamente o procedimento para a dupla interpolação linear.

aproximação
linear
f (x1, z1)
aproximação
linear

f (ξ, z1)

f (ξ,η) aproximação

f (x2, z1) * z1
linear

x1
ξ η f (x1, z2)
x2
f (ξ, z2)
x z2
(Temperatura)
f (x2, z2)
z
(Pressão)

η
z1 z2
x1 f (x1 , z1 ) f (x1 , z 2 )
ξ x2 f ( x2 , z1 ) f (x 2 , z 2 )

Figura 4.5 – Dupla interpolação linear.

89
Observe que de forma análoga àquela apresentada na seção 4.2, estamos
buscando o valor interpolado f (ξ ,η ) com x1 ≤ ξ ≤ x 2 e z1 ≤ η ≤ z 2 usando os
valores para f (xi , z i ) com i = 1, 2 , obtidos de uma tabela de dupla entrada tal
como a Tabela. 4.3.

Definindo as frações

ξ − x1
γ= onde 0 ≤ γ ≤ 1 (4.12)
x2 − x1
η − z1
α= onde 0 ≤ α ≤ 1 (4.13)
z 2 − z1

são escritas a partir da Eq. (4.6) as interpolações lineares em x para z = z1 e


z = z2 ,

f (ξ , z1 ) = (1 − γ ) f ( x1 , z1 ) + γ f ( x2 , z1 )
(4.14)
f (ξ , z2 ) = (1 − γ ) f (x1 , z2 ) + γ f ( x2 , z2 )

ou seja, primeiro é feita uma interpolação nas temperaturas, x , mantendo as


pressões constantes, z1 e z2 . Depois é feita então uma interpolação nas pressões.

η
z1 z2

ξ f (ξ , z1 ) f (ξ , z2 )

Conhecendo os valores f (ξ , z1 ) e f (ξ , z2 ) , é feita uma interpolação


linear em z , mantendo x constante, i.e., x = ξ ,

f (ξ ,η ) = (1 − α ) f (ξ , z1 ) + α f (ξ , z2 ) (4.15)

Para o cálculo do volume específico em (ξ ,η ) = (2100 C; 3,12 bar )

210 − 200,0
γ= = 0,4 (4.16)
225,0 − 200,0

3,12 − 1,0
α= = 0,53 (4.17)
5,0 − 1,0

Das Eqs. (4.14),

f (ξ , z1 ) = f (210;1,0) = 0,6 f (200,0;1,0 ) + 0,4 f (225,0;1,0 ) = 2,2191m3 / kg (4.18)

90
f (ξ , z2 ) = f (210;5,0 ) = 0,6 f (200,0;5,0 ) + 0,4 f (225,0;5,0 ) = 0,43484m3 / kg (4.19)

e finalmente das Eqs. (4.15) e (4.17),

f (ξ ,η ) = f (210;3,12 ) = 0,47 f (210;1,0) + 0,53 f (210;5,0 ) = 1,2734m3 / kg (4.20)

4.4 – Interpolação
Quadrática

Ao se considerar um conjunto de pontos (xi , yi ) , i = 1, 2,K N , é possível


encontrar um único polinômio de grau N − 1 que passe por todos os pontos.
Nesta seção vamos considerar três pontos, i.e., N = 3 , e o ajuste de uma
parábola que passe pelos pontos.
Na Fig. 4.6 são representados os pontos (xk −1 , yk −1 ) , (xk , yk ) , e (xk +1 , yk +1 ) ,
com xk −1 < xk < xk +1 . Na figura também está representado o polinômio

2
P2 ( x ) = a2 x 2 + a1x + a0 = ∑ ai x i (4.21)
i =0

y
y = P2 ( x )

y k +1

y k −1
yk

x
xk −1 xk xk +1 x

Figura 4.6 – Ajuste de uma parábola a três pontos.

Forçando a passagem do polinômio pelos três pontos,

P2 (xk −1 ) = yk −1 = a2 xk2−1 + a1 xk −1 + a0
P2 (xk ) = yk = a2 xk2 + a1 xk + a0 (4.22)
P2 (xk +1 ) = yk +1 = a2 xk2+1 + a1 xk +1 + a0

91
Este sistema pode ser reescrito como

 xk2−1 xk −1 1  a   y 
 2   2   k −1 
 xk xk 1  a1  =  yk  (4.23)
 2    
 xk +1 xk +1 1  a0   yk +1 

Calculando o determinante da matriz

(
∆ = xk xk2−1 + xk −1 xk2+1 + xk +1 xk2 − xk xk2+1 + xk −1 xk2 + xk2−1 ) (4.24)

Os coeficientes a0 , a1 e a2 podem ser calculados usando a regra de


Cramer,

y k −1 xk −1 1
yk xk 1
y k +1 xk +1 1 1
a2 = = [xk yk −1 + xk −1 yk +1 + xk +1 yk − (xk yk +1 + xk −1 yk + xk +1 yk −1 )] (4.25)
∆ ∆

xk2−1 y k −1 1
2
x k yk 1
2
x yk +1 1 1
a1 =
k +1


=

[ (
yk xk2−1 + yk −1 xk2+1 + yk +1 xk2 − yk xk2+1 + yk −1 xk2 + yk +1 xk2−1 )] (4.26)

x k2−1 x k −1 y k −1
xk2 xk yk
xk2+1
)] (4.27)
x k +1 y k +1 1
a0 =

=

[ (
x k xk2−1 y k +1 + x k −1 y k xk2+1 + xk +1 x k2 y k −1 − y k −1 xk xk2+1 + xk −1 xk2 y k +1 + xk +1 y k xk2−1

Vamos considerar agora uma abordagem diferente construindo os


seguintes polinômios de segundo grau

π k −1 ( x ) = ( x − xk )( x − xk +1 )
π k (x ) = ( x − xk −1 )( x − xk +1 ) (4.28)
π k +1 ( x ) = (x − xk −1 )( x − xk )

Observe que

π k −1 ( xk ) = π k −1 ( xk +1 ) = 0 e π k −1 (xk −1 ) ≠ 0
π k (xk −1 ) = π k ( xk +1 ) = 0 e π k ( xk ) ≠ 0 (4.29)
π k +1 ( xk −1 ) = π k +1 (xk ) = 0 e π k +1 ( xk +1 ) ≠ 0

O polinômio P2(x) dado pela Eq. (4.21) pode ser escrito como uma
combinação linear de π k −1 ( x ) , π k (x ) e π k +1 (x ) da seguinte forma

P2 ( x ) = bk −1π k −1 ( x ) + bk π k ( x ) + bk +1π k +1 (x ) (4.30)

92
Para x = xk −1 escrevemos com o auxílio das Eqs. (4.29),

P2 ( xk −1 ) = yk −1 = bk −1π k −1 ( xk −1 ) (4.31)

De forma análoga para x = xk ,

P2 (xk ) = yk = bk π k (xk ) (4.32)

e para x = xk +1 ,

P2 ( xk +1 ) = yk +1 = bk +1π k +1 ( xk +1 ) (4.33)

Das Eqs. (4.31-4.33) podemos explicitar os coeficientes bk −1 , bk e bk +1 ,

yk −1 yk yk +1
bk −1 = , bk = , bk +1 = (4.34)
π k −1 ( xk −1 ) π k ( xk ) π k +1 ( xk +1 )

Levando estes coeficientes e as Eqs. (4.28) na Eq. (4.30) obtém-se

yk −1 ( x − xk )( x − xk +1 ) yk (x − xk −1 )( x − xk +1 ) yk +1 ( x − xk −1 )(x − xk )
P2 (x ) = + + (4.35)
(xk −1 − xk )(xk −1 − xk +1 ) (xk − xk −1 )(xk − xk +1 ) (xk +1 − xk −1 )(xk +1 − xk )

Vamos considerar agora um exemplo de aplicação da interpolação


quadrática.
Dado o conjunto de pontos (xi ; yi ) = (0 ;1), (2 ; 5) e (4 ;17 ) escreve-se a
partir das Eqs. (4.28),

π k −1 ( x ) = (x − 2)( x − 4 )
π k ( x ) = ( x − 0 )( x − 4 ) (4.46)
π k +1 ( x ) = (x − 0 )( x − 2 )

e das Eqs. (4.34),

1 1 5 5 17 17
bk−1 = = , bk = = − , bk+1 = = (4.37)
(0 − 2)(0 − 4) 8 (2 − 0)(2 − 4) 4 (4 −0)(4 − 2) 8
Da Eq. (4.30) escreve-se então

1
P2 ( x ) = (x − 2)(x − 4) − 5 (x − 0)(x − 4) + 17 (x − 0)(x − 2) = x 2 + 1 (4.38)
8 4 8

Usando os valores x = 0, 2 e 4 obtêm-se y = 1, 5 e 17 , resultado este


que confirma que a parábola x 2 + 1 passa pelos três pontos (xi , yi ) , i = 1, 2, 3 .

93
4.5 – Interpolação
Lagrangeana

Vamos considerar nesta seção uma generalização do problema de


interpolação quadrática tratado na seção anterior.
Dado um conjunto de N pontos (xi , yi ) , i = 1, 2,K , N , vamos determinar
o polinômio de grau N − 1

N −1
PN −1 ( x ) = a N −1 x N −1 + a N −2 x N −2 + L + a1 x + a0 = ∑ ai x i , (4.39)
i =0

que passe por todos os pontos.


Conforme apresentado na seção anterior podemos forçar a passagem do
polinômio por todos os pontos exigindo, portanto,

N −1 N −2
PN −1 ( x1 ) = y1 = a N −1 x1 + a N − 2 x1 + L + a1 x1 + a0
N −1 N −2
PN −1 ( x2 ) = y2 = a N −1 x2 + a N − 2 x2 + L + a1 x2 + a0
M
N −1
(4.40)
PN −1 ( xi ) = yi = a N −1 xi + a N − 2 xi N − 2 + L + a1 xi + a0
M
N −1 N −2
PN −1 ( xN ) = y N = a N −1 xN + a N − 2 xN + L + a1 x N + a0

Em forma matricial,

1 x1 x12 L x1N −2 x1N −1   a0   y1 


 
1 x2 x22 L x2N −2 x2N −1   a1   y2 
M M M O M M   M   M 
  =  (4.41)
1 xi xi2 L xiN −2 xiN −1   ai   yi 
 
M M M O M M  M   M 
   
1 xN x 2
L x NN −2 x NN −1  a N −1   y N 
 N

ou seja
r r
Ca = Y (4.42)

O sistema de equações algébricas lineares (4.42) possui N equações e N


r
incógnitas, quais sejam a = {a0 , a1 , K, a N −1} .
T

No Capítulo 6 veremos algumas técnicas para a solução do sistema


(4.42).
É necessário fazer uma observação quanto aos pontos a serem
considerados para se fazer uma determinada interpolação. Conforme mostrado
na Fig. 4.7 o uso de dois conjuntos de pontos diferentes pode levar a diferentes
valores interpolados.

94
y


(x6 , y6 )
P3b ( x )
(x5 , y5 )
P3a (x )
(x3 , y3 ) •
 ( x3 , y4 )
P (x )
3
b

(x2 , y2 ) 
(x1 , y1 ) P3a ( x )


x x

Figura 4.7 – Interpolação com dois conjuntos diferentes de pontos.

Considerando os pontos (x1 , y1 ) a (x4 , y4 ) obtém-se o polinômio de terceiro grau


P3a ( x ) , sendo o valor interpolado para x = x dado por P3a ( x ) . Considerando os
pontos (x3 , y3 ) a (x6 , y6 ) obtém-se o polinômio de terceiro grau P3b (x ) , sendo o
valor interpolado para x = x dado por P3b (x ) . Da Fig. 4.7 fica evidente que
P3a ( x ) ≠ P3b (x ) .
De forma análoga àquela feita na seção anterior vamos agora considerar
o uso dos polinômios π (x ) em uma formulação mais geral,

N
π i (x) = Π(x − x j ) = (x − x1 )(x − x2 )L(x − xi−1 )(x − xi+1 )L(x − xN ) i = 1, 2, K, N (4.43)
j =1
j ≠i

Observe que os polinômios π i (x ) , de grau N − 1 , possuem as seguintes


propriedades

π i (xi ) ≠ 0, i = 1, 2,K , N (4.44)

π i (x j ) = 0, para j ≠ i, i = 1, 2, K, N
(4.45)
j = 1, 2, K, N

95
O polinômio PN −1 ( x ) pode ser escrito como uma combinação linear dos
polinômios π i (x ) ,

N
PN −1 ( x ) = ∑ biπ i (x ) (4.46)
i =1

Forçando a passagem do polinômio PN −1 (x ) pelos pontos (xk , yk ) ,


k = 1, 2,K , N , e usando as propriedades apresentadas nas Eqs. (4.44) e (4.45)
obtém-se,

PN −1 ( xk ) = yk = bk π k ( xk ), k = 1, 2,K , N (4.47)

Logo,

yk
bk = , k = 1, 2,K , N (4.48)
π k ( xk )

Das Eqs. (4.46) e (4.48) escreve-se

N π i (x )
PN −1 (x ) = ∑ yi (4.49)
i =1 π i ( xi )

e das Eqs. (4.43) e (4.49) obtém-se

N
Π (x − x j )
N j =1
PN −1 ( x ) = ∑ yi
j ≠i
N
(4.50)
i =1 Π (xi − x j )
j =1
j ≠i

4.6 – Splines
Cúbicos

O ajuste de um conjunto de pontos (xi , yi ) , i = 1, 2,K , N , por um


polinômio de grau K ,

K
PK ( x ) = ∑ am x m (4.51)
m =0

pode apresentar um comportamento excessivamente oscilatório quando K se


aproxima de N − 1 . Quanto maior o grau do polinômio, K , menos suave é a
interpolação.
Deve ser observado que para K < N − 1 diferentes polinômios podem ser
obtidos de acordo com os subconjuntos de pontos considerados (vide Fig. 4.7).
Além disso, dificilmente um destes polinômios passará por todos os pontos.
Outra abordagem possível é fazer, por exemplo, o ajuste de uma curva pelo

96
método dos mínimos quadrados conforme será descrito na seção 4.7, onde neste
caso não há a exigência de que a curva ajustada passe pelos pontos, mas sim que
algum outro critério, tal como a mínima distância dos pontos à curva, seja
satisfeito. Desta forma pode-se obter mais suavidade na “interpolação”.
Outra abordagem que busca uma maior suavidade da interpolação é
aquela em que funções diferentes são utilizadas em diferentes intervalos do
domínio das abscissas x . Usualmente estas funções são polinômios de mesmo
grau, que são unidos nas extremidades dos intervalos. As interpolações de
máxima suavidade obtidas desta forma são denominadas splines, sendo mais
comum o ajuste com polinômios de grau 3, constituindo, portanto, a interpolação
conhecida por splines cúbicos.
Visando auxiliar a introdução da nomenclatura que será aqui empregada,
na Fig. 4.8 é apresentada a interpolação com spline de grau 1, i = 1, 2,K , N
p1i ( x ) , para xi −1 < x < xi , com i = 2, 3,K , N . Será aqui usada a letra minúscula na
representação dos polinômios, p , apenas para lembrar que estes são construídos
para cada intervalo xi −1 < x < xi , e não para todo o domínio x1 < x < xN .

y2
p13 (x )

y3
p12 (x ) p14 (x )
y5
y1

p15 (x )
y4

x1 x2 x3 x4 x5 x

Figura 4.8 – Interpolação com spline de grau 1 para N = 5 .

Conforme mencionado anteriormente, o spline mais usado é o cúbico, ou


seja, p3i (x ) , para xi −1 < x < xi , com i = 2, 3,K , N . Neste caso a derivada segunda

d 2 p3i ( x )
M i (x ) = , i = 2, 3,K, N , xi −1 ≤ x ≤ xi (4.52)
dx 2

é linear em x conforme representado na Fig. 4.9, onde foi considerado

M i −1 = M i ( xi −1 ) e M i = M i ( xi ), i = 2, 3,K, N (4.53)

97
Primeiro vamos considerar que os valores M i , i = 1, 2, K , N , são
conhecidos. Depois veremos que M j , com j = 2, K, N − 1 serão determinados,
sendo M 1 e M N .

d 2 p3 ( x)
M (x) =
dx2
M1
M3
M 4 (x )
M5
M 2 (x )
M4
M 5 ( x)
M (x )
3

M2

x1 x2 x3 x4 x5 x
Figura 4.9 – Representação da derivada segunda dos polinômios de interpolação p3 ( x ) para
N = 5.

Considerando cada intervalo xi −1 ≤ x ≤ xi , i = 2, 3,K , N , conforme


mostrado na Fig. 4.10, escreve-se

d 2 p3i ( x )
− M i−1
M i − M i−1 2
= dx , i = 2, 3, K , N (4.54)
xi − xi −1 x − xi−1

ou seja,

d 2 p3i ( x ) (x − x ) + M (x − xi−1 ) , i = 2, 3,K, N


2
= M i −1 i i
(4.55)
dx hi hi

onde

hi = xi − xi −1 , i = 2, 3,K, N (4.56)

98
Mi

d 2 p3i ( x )
M i (x ) =
dx 2
i = 2, 3,K , N

Mi −1

xi −1 x xi

Fig. 4.10 – Representação da derivada segunda do polinômio de interpolação para o


intervalo xi −1 ≤ x ≤ xi .

Integrando a Eq.(4.55) obtém-se

2 2
dp3i (x ) (x − x ) + M (x − xi−1 ) + C , i = 2, 3,K, N
= − M i −1 i i i
(4.57)
dx 2hi 2hi

onde Ci é uma constante de integração.


Integrando mais uma vez,

p3i (x ) = M i −1
(xi − x )3 + M (x − xi−1 )3 + C x + D , i = 2, 3,K, N (4.58)
i i i
6hi 6hi

onde Di é uma constante de integração.

Conforme poderá ser observado mais adiante, é conveniente escrever a


Eq. (4.58) na seguinte forma equivalente

p3i ( x ) = M i −1
(xi − x )3 + M (x − xi −1 )3 + C (x − x ) + Di (x − xi −1 ), i = 2, 3,K, N (4.59)
i i i
6hi 6hi

Para verificar esta equivalência basta fazer

Ci x + Di = Ci ( xi − x ) + Di ( x − xi −1 ) = (Di − Ci )x + Ci xi − Di xi −1 , i = 2, 3,K, N (4.60)

de onde se conclui que

Ci = Di − Ci e Di = Ci xi − Di xi −1 , i = 2, 3,K , N (4.61)

99
Vamos impor agora a passagem dos polinômios pelos pontos (xi , yi ) .
Primeiro escrevemos

0 0
p (xi ) = yi = Mi−1
i (xi − xi )3 + M (xi − xi−1 )3 + C (x − xi ) + Di (xi − xi−1 ), i = 2, 3,K, N (4.62a)
3 i i i
6hi 6hi

Da Eq. (4.59) escreve-se

p3i+1 (x) = M i
(xi+1 − x)3 + M (x − xi )3 + C (x − x) + D (x − x ), i = 1, 2,K, N − 1 (4.62b)
i +1 i +1 i +1 i +1 i
6hi+1 6hi+1

e depois forçamos a continuidade


0 0
p3i+1 (xi ) = yi = Mi
(xi+1 − xi )3 + M (xi − xi )3 + C (x − x ) + D (x − x ), i = 1, 2,K, N −1 (4.62c)
i +1 i+1 i+1 i i +1 i i
6hi+1 6hi+1

Das Eqs.(4.62a) e (4.56) obtém-se,

1  h2 
Di =  yi − M i i , i = 2, 3,K , N (4.63)
hi  6 

Das Eqs. (4.62c) e (4.56) obtém-se,

1  h2 
Ci +1 =  yi − M i i +1 , i = 1, 2, 3,K , N − 1 (4.64)
hi +1  6 

Subtraindo uma unidade dos índices na Eq. (4.64), ou seja i → i − 1 ,


obtém-se

1  h2 
Ci =  yi−1 − M i−1 i , i = 2, 3,K , N (4.65)
hi  6

Das Eqs. (4.61), (4.63) e (4.65) calculamos a constante de integração Ci ,

1  hi2   hi2 
Ci =  yi − M i  −  yi −1 − M i −1  , i = 2, 3,K, N (4.66)
hi  6  6 

Definindo

yi − yi −1
σi = , i = 2, 3,K, N (4.67)
hi

a Eq. (4.66) é reescrita como

100
hi h
Ci = σ i + M i −1 − Mi i , i = 2, 3,K, N (4.68)
6 6

Levando esta constante de integração na equação para a derivada


primeira (4.57) escreve-se,

dp3i ( x)  h (x − x)2   (x − xi −1 )2 hi 
= Mi −1  i − i  + Mi  −  + σ i , i = 2, 3,K, N (4.69)
dx  6 2hi   2hi 6 

Vamos exigir agora a continuidade da derivada primeira, ou seja,

dp3i ( x ) dp i +1 (x )
= 3 , i = 2, 3,K , N − 1 (4.70)
dx x = x dx x = x
i i

Das Eqs. (4.69) e (4.70),

0 0
h (x − x )2  (x − x )2 h  h (x − x )2  ( x − x )2 h 
Mi−1  i − i i  + Mi  i i−1 − i  +σi = Mi  i+1 − i+1 i  + Mi+1  i i − i+1  +σi+1
6 2hi   2hi 6 6 2hi+1   2hi+1 6
com i = 2, 3,K, N −1
(4.71)

obtendo-se então com o uso da Eq. (4.56),

hi hi +1 6(σ i +1 − σ i )
M i −1 + 2 M i + M i +1 = , i = 2, 3,K, N − 1 (4.72)
(hi + hi +1 ) (hi + hi +1 ) (hi + hi +1 )

Definindo os coeficientes

hi +1
λi = , i = 2, 3,K, N − 1 (4.73)
hi + hi +1
hi
µi = 1 − λi = , i = 2, 3,K , N − 1 (4.74)
hi + hi +1

6(σ i +1 − σ i )
di = , i = 2, 3,K, N − 1 (4.75)
(hi + hi +1 )

a Eq.(4.72) é reescrita como

µi M i−1 + 2M i + λi M i +1 = d i , i = 2, 3,K , N − 1 (4.76)

As incógnitas do problema são M i , i = 1, 2,K , N . O sistema (4.76) é


composto por apenas N − 2 equações algébricas lineares. Ficam faltando,
portanto, duas equações para que as N incógnitas sejam calculadas. Estas duas
equações são obtidas impondo condições sobre os nós extremos, i = 1 e i = N .

101
As condições

d 2 p32 ( x )
M1 = =0
dx 2 x = x
1
(4.77)
MN =
d 2
p3N (x ) =0
2
dx x= xN

caracterizam a função interpolante como spline cúbico natural.

Levando as condições (4.77) no sistema (4.76) pode-se escrever então,

 M 2   d2 
2 λ2 0 0 L 0 0 0 
µ   M 3   d 3 
 3 2 λ3 0 L 0 0 0 
 M 4   d4 
0 µ4 2 λ4 L 0 0 0    
  M  =  M  (4.78)
M M O   M  d 
0 0 0 0 L µ N −2 2 λ N −2   N −3   N −3 
   M N − 2  d N − 2 
0 0 0 0 L 0 µ N −1 2     
 M N −1   d N −1 

ou de forma compacta,
r r
QZ = E (4.79)

onde Q é a matriz banda tridiagonal com os elementos

qi ,i = 2 , para i = 2, 3,..., N − 1 , qi ,i −1 = µi +1 , para i = 2, 3,..., N − 2 e (4.80)


qi ,i +1 = λi +1 , para i = 1, 2,..., N − 3 (4.80)

r
com os elementos restantes qij = 0 , Z é o vetor de incógnitas com
r
zi = M i +1, i = 1, 2,K N − 2 ,
e E é o vetor com os elementos
ei = d i +1 , i = 1, 2,K N − 2 , com os termos d i definidos na Eq. (4.75).

Com a solução do sistema (4.79) podem ser calculados os coeficientes do


polinômio p3i ( x ), i = 2, 3, K N − 1 , conforme pode ser visto na Eq. (4.58).
Antes de reescrever a Eq. (4.58) em uma forma mais conveniente vamos discutir
um pouco a solução do sistema.
No Capítulo 6 são apresentadas diversas técnicas para a solução de
sistemas de equações algébricas lineares. Devido às características da matriz Q ,
e devido à facilidade de implementação do método iterativo de Gauss-Seidel,
será aqui apresentado brevemente o uso deste método para a solução do sistema
(4.79). No Capítulo 6, seção 6.3.2, é apresentada uma descrição mais detalhada
do mesmo.

102
A Eq. (4.76) é reescrita como

1
Mi = (di − µi M i −1 − λi M i +1 ), i = 2, 3,K N − 1 (4.81)
2

ou então na forma equivalente,

1
zi = (ei − qi,i−1 zi−1 − qi ,i+1 zi+1 ), i = 1, 2,K, N − 2 (4.82)
2

O algoritmo do método de Gauss-Seidel é então escrito da seguinte


forma:
r r
(1) Escolha uma estimativa inicial Z 0 por exemplo Z 0 = constante, e faça o
contador de iterações n = 0 ;
1
(2) Para i = 1 até N − 2 calcule zin +1 =
qii
( )
ei − qi ,i −1 zin−+11 − qi ,i +1 zin+1 .

zin +1 − zin
(3) Interrompa o procedimento iterativo se < ε , para i = 1, 2,K N − 2 ,
zin
onde ε é um valor suficientemente pequeno estabelecido a priori, por exemplo
10-5. Caso contrário faça n = n + 1 e volte ao Passo (2).
Vamos escrever agora a equação para p3i (x ), i = 1, 2,K N , em uma forma
mais conveniente do que aquela dada pela Eq. (4.58). Levando as Eqs. (4.60),
(4.63) e (4.65) na Eq. (4.58) obtém-se,

p3i ( x) = Mi−1
(xi − x)3 + M (x − xi−1 )3 + (xi − x)  y − Mi−1
hi2  ( x − xi−1 ) 
 +
h2 
 yi − Mi i  (4.83)
6hi
i
6hi hi  i−1
6 hi  6

com i = 2, 3,K N .

Definindo

M i −1
ri = , i = 2, 3, K N
6hi
Mi
si = , i = 2, 3, K N
6hi
 (4.84)
h2  1
t i =  y i −1 − M i −1 i  , i = 2, 3, K N
 6  hi

 h2  1
u i =  y i − M i i  , i = 2, 3, K N
 6  hi

obtém-se da Eq. (4.83),

3 3
p3i (x ) = ri ( xi − x ) + si (x − xi −1 ) + ti ( xi − x ) + ui ( x − xi −1 ), i = 2, 3,K N (4.85)

ou então,

103
p3i ( x ) = vi x 3 + ωi x 2 + f i x + g i , i = 2, 3,K N (4.86)

onde

vi = si − ri , i = 2, 3, K N
ωi = 3(ri xi − si xi −1 ), i = 2, 3, K N
(4.87)
(
fi = 3 s x 2
i i −1
2
)
− r x + ui − t i ,
i i i = 2, 3, K N
( ) (
g i = xi ri xi2 + t i − xi −1 si xi2−1 + ui , ) i = 2, 3, K N

Façamos um breve resumo. Dados os pontos (xi , yi ), i = 1, 2,K , N , é montado o


sistema (4.78) usando as Eqs.(4.73)-(4.75). Resolvendo o sistema são obtidos os
valores para a derivada segunda M i , i = 2, 3, K, N − 1 . Usando estes valores e as
condições naturais M 1 = M N = 0 , são calculados os coeficientes dados pelas
Eqs.(4.84) e (4.87), estando então definidos os polinômios de terceiro grau
p3i ( x ), i = 2, 3,K , N , usando a Eq. (4.86).
Além da condição natural citamos duas outras condições (Anton e
Rorres, 1994): (i) parábola no primeiro e no último intervalos; e (ii) cúbica no
primeiro e no último intervalos.
Para o caso (i) é feito

M1 = M 2 (4.88)
M N = M N −1 (4.89)

ou seja, são consideradas condições reflectivas.

A Eq. (4.76) para i = 2 e i = N − 1 é escrita como,

i = 2 → µ 2 M 1 + 2 M 2 + λ2 M 3 = d 2 (4.90)

i = N − 1 → µ N −1M N − 2 + 2M N −1 + λN −1M N = d N −1 (4.91)

Levando as Eqs. (4.88) e (4.89) nas Eqs. (4.90) e (4.91) obtém-se

(2 + µ 2 )M 2 + λ2 M 3 = d 2 (4.92)

µ N −1M N − 2 + (2 + λ N −1 )M N −1 = d N −1 (4.93)

O sistema (4.78) é reescrito então como


 M 2   d2 
(2 + µ 2 ) λ2 0 0 L 0 0 0    
 µ 2 λ3 0 L 0 0 0   M 3   d3 
 3  M   d 
 0 µ4 2 λ4 L 0 0 0  4   4 
   M  =  M  (4.94)
 M M O   M  d 
 0 0 0 0 L µN −2 2 λN − 2   N − 3   N − 3 
  M  d 
 0 0 0 0 L 0 µ N −1 (2 + λN -1 )  N − 2   N − 2 
 M N −1   d N −1 

104
Com a solução deste sistema obtém-se M 2 , M 3 ,K, M N −1 , e com as Eqs.
(4.88) e (4.89) obtém-se então M 1 e M N .
Para o caso (ii) é feito

M1 = 2M 2 − M 3 (4.95)
M N = 2 M N −1 − M N − 2 (4.96)

Vamos rapidamente justificar o uso destas condições. De acordo com o


exercício 1.6.4 na seção 1.6, a derivada segunda de uma função M ( x ) pode ser
aproximada por diferenças finitas por

d 2M M − 2 M i +1 + M i+ 2
2
= i + O (∆x ) (4.97)
dx i ∆x 2
d 2M M − 2 M i−1 + M i −2
2
= i + O (∆x ) (4.98)
dx i ∆x 2
d 2M
Escrevendo a Eq. (4.97) para i = 1 e impondo = 0 obtém-se
dx 2 i =1

M 1 − 2M 2 + M 3 = 0 → M 1 = 2 M 2 − M 3 (4.99)

Observe que este resultado é idêntico àquele dado pela Eq. (4.95).
d 2M
Escrevendo a Eq.(4.98) para i = N e impondo = 0 obtém-se
dx 2 i=N

M N − 2 M N −1 + M N − 2 = 0 → M N = 2 M N −1 − M N − 2 (4.100)

Observe que este resultado é idêntico àquele dado pela Eq. (4.96).
Levando a Eq. (4.95) na Eq. (4.90),

2(µ 2 + 1)M 2 + (λ2 − µ 2 )M 3 = d 2 (4.101)

e levando a Eq. (4.96) na Eq. (4.91),

(µ N −1 − λN −1 )M N − 2 + 2(λN −1 + 1)M N −1 = d N −1 (4.102)

O sistema (4.78) é então reescrito como


 M 2   d2 
2(µ 2 + 1) (λ2 − µ 2 ) 0 0 L 0 0 0    
 µ 2 λ3 0 L 0 0 0  M 3   d3 
 3  M   d 
 0 µ4 2 λ4 L 0 0 0  4   4  (4.103)
  M  =  M 
 M M O   M  d 
 0 0 0 0 L µ N −2 2 λ N −2   N −3   N −3 
   M N − 2  d N − 2 
 0 0 0 0 L 0 (µ N −1 − λN −1 ) 2(λ N-1 + 1)    
 M N −1   d N −1 
Com a solução deste sistema obtém-se M 2 , M 3 ,K, M N −1 , e com as Eqs.
(4.95) e (4.96) obtém-se então M 1 e M N .

105
4.7 – Ajuste de
Curvas pelo Método
dos Mínimos Quadrados

Nas seções 4.4 a 4.6 procuramos polinômios que interpolassem um


conjunto de pontos (xi , yi ), i = 1, 2,K , N . Nesta seção procuraremos ajustar uma
curva ao conjunto de dados atendendo a algum critério estabelecido a priori, sem
exigir que a curva passe sobre nenhum dos pontos dados.

Vamos definir o polinômio.

K
PK ( x ) = ∑ am x m (4.104)
m =0
e exigir que a soma dos resíduos quadrados

2 2
N N
 K m 
S = ∑ [PK (xi ) − yi ] = ∑  ∑ am xi  − yi  (4.105)
i =1 i =1  m =0  

seja mínima. Usando a equação do ponto crítico,

∂S ∂S ∂S
= =L = =0 (4.106)
∂a0 ∂a1 ∂a K

É montado então um sistema com K + 1 equações algébricas lineares e


K + 1 incógnitas (a0 , a1 K aK ) ,

N  N  N  N
Na0 +  ∑ xi a1 +  ∑ xi2 a2 + L +  ∑ xiK  aK = ∑ yi
 i =1   i =1   i =1  i =1

 N
  N
2  N
3  N
K +1 
N
 ∑ xi a0 +  ∑ xi a1 +  ∑ xi a2 + L +  ∑ xi  aK = ∑ xi yi
 i =1   i =1   i =1   i =1  i =1 (4.107)
M
N K  N K +1   N K +2   N 2K  N
 ∑ xi a0 +  ∑ xi  a1 +  ∑ xi a2 + L +  ∑ xi aK = ∑ xi yi
K

 i =1   i =1   i =1   i =1  i =1

Ao se resolver o sistema (4.107) são obtidos então os coeficientes do


polinômio PK (x ) que minimiza o funcional (4.105).
Vamos verificar o ajuste por uma reta, i.e., K = 1 ,

P1 ( x ) = a 0 + a1 x (4.108)

Logo
N 2
S = ∑ (a0 + a1 xi − yi ) (4.109)
i =1

106
∂S
Fazendo = 0 , obtém-se
∂a0
N
∑ (a0 + a1xi − yi ) = 0 (4.110)
i =1
∂S
Fazendo = 0 , obtém-se
∂a1
N

∑ (a
i =1
0 + a1 xi − yi ) xi = 0 (4.111)

Rearranjando as Eqs. (4.110) e (4.111)

N  N
Na0 +  ∑ xi a1 = ∑ yi (4.112)
 i =1  i =1

N   N 2 N
 ∑ xi a0 +  ∑ xi a1 = ∑ xi yi (4.113)
 i =1   i =1  i =1

Truncando o sistema (4.107) para K = 1 , também são obtidas as Eqs.


(4.112) e (4.113). Usando o método de Cramer para a solução do sistema
(4.112)-(4.113) com

N
N ∑x i
 N   N 
2

∆= i =1
N  ∑ xi2  −  ∑ xi  (4.114)
N
 N

∑x i  ∑ xi2   i =1   i =1 
i =1  i =1 

escreve-se

 N   N 
 ∑ yi   ∑ xi 
 i =1   i=1 
 N   N 
 ∑ xi yi   ∑ xi2 
 i =1   i=1  1  N  N 2   N  N  (4.115)
a0 = =  ∑ yi  ∑ xi  −  ∑ xi yi  ∑ xi 
∆ ∆  i =1  i =1   i=1  i=1 

 N 
N  ∑ yi 
 i=1 
 N   N 
 ∑ xi   ∑ xi yi 
 i=1   i=1  1  N   N  N  (4.116)
a1 = =  N  ∑ xi yi  −  ∑ xi  ∑ yi 
∆ ∆   i =1   i =1  i=1 

Ajustes de curvas usando outros tipos de funções tais como exponenciais

E (x ) = α e β x (4.117)

107
onde α e β são duas constantes a serem determinadas, também são possíveis
usando a abordagem apresentada anteriormente.
A Eq.(4.117) pode ser reescrita como

ln E ( x ) = ln α + β x (4.118)

Redefinindo as variáveis envolvidas,

P1 ( x ) = ln E (x ), a0 = ln α e a1 = β (4.119)

A minimização do funcional

N 2 N 2
S = ∑ [ln E (xi ) − ln yi ] = ∑ (a0 + a1 xi − ln yi ) (4.120)
i =1 i =1

é obtida calculando os coeficientes a0 e a1 a partir das Eqs. (4.115) e (4.116),

1  N  N 2   N  N 
a0 =  ∑ ln yi  ∑ xi  −  ∑ xi ln yi  ∑ xi  (4.121)
∆  i =1  i =1   i =1  i =1 

1 N   N  N 
a1 =  N  ∑ xi ln yi  −  ∑ xi  ∑ ln yi  (4.122)
∆   i =1   i =1  i =1 

onde ∆ é calculado com a Eq. (4.114).

4.8 – Exercícios

4.8.1 – O dióxido de urânio, UO2, é empregado na fabricação de varetas


combustíveis de reatores nucleares do tipo PWR (Pressurized Water Reactor).

A condutividade térmica do UO2 foi medida experimentalmente obtendo-


se os valores apresentados na tabela abaixo.
Tabela 4.4 – Condutividade térmica do UO2.
Temperatura K kU O (W mK )
2

T1 = 400 C1 = 4,696
T2 = 600 C2 = 3,853
T3 = 800 C3 = 3,187
T4 = 1000 C4 = 2,896
T5 = 1200 C5 = 2,629
T6 = 1400 C6 = 2,457
T7 = 1600 C7 = 2,364
T8 = 1800 C8 = 2,341
T9 = 2000 C9 = 1,835
T10 = 2200 C10= 2,492
T11 = 2400 C11 = 2,664
T12 = 2600 C12 = 2,899

108
Um pesquisador precisa ajustar uma curva para estes dados. Esta curva
será usada em uma rotina computacional que está sendo desenvolvida para a
análise térmica de varetas combustíveis de reatores PWR.
Este pesquisador decide usar o seguinte polinômio

λ (T ) = α + β T + γ T 2 (i)

Para a obtenção dos coeficientes α , β e γ é utilizado o método dos


mínimos quadrados, onde é minimizada a norma

L 2

N = ∑ [λi (α , β , γ ) − Ci ] (ii)
i =1

onde L é o número total de dados experimentais disponíveis.


Para minimizar a norma N é feito

∂N
=0
∂α
∂N
=0 (iii)
∂β
∂N
=0
∂γ

Faça então as seguintes tarefas:

4.8.1.1 – Demonstre que a partir das Eqs. (iii) é obtido o seguinte sistema de
equações

 L a b  α   f 
 a b d  β  =  g  (iv)
    
b d e  γ  h 

onde,

L L L L
a = ∑ Ti ; b = ∑ Ti 2 ; d = ∑ Ti 3 ; e = ∑ Ti 4 ;
i =1 i =1 i =1 i =1
L L L
(v)
2
f = ∑ Ci ; g = ∑ CiTi ; h = ∑ CiTi ;
i =1 i =1 i =1

4.8.1.2 – Escrever uma rotina computacional para a solução deste problema para
um número variável de dados experimentais L , ou seja, (Ti , Ci ) , com
i = 1, 2,K, L , onde L é variado pelo usuário.

4.8.1.3 – Obter os coeficientes α , β e γ com a rotina computacional


desenvolvida.

109
4.8.1.4 – Na tabela de resultados a ser impressa pela rotina computacional
considerar os seguintes campos, para os pontos i = 1, 2,K, L .

• Temperatura (K )

• Ci (W mK )

• λi (Ti ) (W mK )

λi − Ci
• × 100%
Ci

4.8.1.5 – Fazer um gráfico mostrando os dados experimentais e o polinômio


ajustado.

4.8.1.6 – Calcule a condutividade térmica do UO2 para T = 1500 K considerando


4, 6, 8 e 10 pontos experimentais. Observe que no item 4.8.1.2 foi solicitado que
a rotina computacional fosse escrita para um número variável de dados
experimentais. Escolha na tabela quatro conjuntos de dados experimentais de
forma que L1 = 4, L2 = 6, L3 = 8 e L4 = 10 .

4.8.1.7 – Comente todos os resultados apresentados.

Observação: É uma boa prática computacional criar um arquivo com o eco


(cópia) de todos os dados lidos pela rotina computacional.

Como o nosso problema envolve um pequeno número de informações,


imprima antes dos resultados todos os dados fornecidos ao programa.

4.8.2 – Mostrar que para um conjunto de pontos (xi , yi ) , com i = 1, 2,K , N a


interpolação por splines cúbicos naturais é dada por

p3i (x ) = vi x 3 + ωi x 2 + f i x + g i , i = 2, 3,K N

com

vi = si − ri , i = 2, 3, K N
ωi = 3(ri xi − si xi−1 ), i = 2, 3, K N
( )
f i = 3 si xi2−1 − ri xi2 + ui − ti , i = 2, 3, K N
( 2
) (
g i = xi r x + ti − xi−1 s x + ui ,
i i
2
i i −1 ) i = 2, 3, K N

onde

110
M i −1
ri = , i = 2, 3,K N
6hi
Mi
si = , i = 2, 3,K N
6hi
 h2  1
ti =  yi −1 − M i −1 i  , i = 2, 3,K N
 6  hi
 h2  1
ui =  yi − M i i  , i = 2, 3,K N
 6  hi

hi = xi − xi −1 , i = 2, 3,K N

Ao longo deste exercício mostre também que as incógnitas do problema

d 2 p3i ( x )
Mi = , i = 2, 3,K N − 1
dx 2 x = x
i

são obtidas a partir da solução do sistema de equações

µi M i−1 + 2M i + λi M i +1 = d i , i = 2, 3,K , N − 1

com

hi +1
λi = , i = 2, 3,K, N − 1
hi + hi+1

µi = 1 − λi , i = 2, 3,K , N − 1

6(σ i +1 − σ i )
di = , i = 2, 3,K, N − 1
(hi + hi +1 )

yi − yi −1
σi = , i = 2, 3,K, N
hi

4.8.3 – No exercício 4.8.2 você deduziu as expressões usadas no cálculo dos


coeficientes dos polinômios

p3i ( x ) = vi x 3 + ωi x 2 + f i x + g i , i = 2, 3,K N

que constituem a interpolação por splines cúbicos para um conjunto de pontos


(xi , yi ) , i = 1, 2,K, N , com as condições

d 2 p13 (x ) d 2 p3N ( x )
M1 = 2
= MN = 2
=0
dx x= x
dx x= x
1 N

111
Execute então as seguintes tarefas:

4.8.3.1 – Escreva uma rotina computacional para a execução da interpolação por


splines cúbicos, acima descrita, para qualquer conjunto de pontos (xi , yi ) ,
i = 1, 2,K , N .
4.8.3.2 – Na Tabela. 4.5 é apresentado o resultado de um experimento no qual a
diferença de potencial (voltagem) em um trecho de um circuito elétrico é medida
em diferentes instantes.

Tabela 4.5 – Diferença de potencial vs . Tempo em um trecho de um


circuito elétrico.

Tempo (s ) Voltagem (V )
5 250,0
10 100,0
30 150,0
60 140,0
100 5,0
120 8,0
150 140,0
180 210,0
200 50,0

(i) Use a rotina computacional desenvolvida no item 4.8.3.1 para o cálculo dos
coeficientes dos polinômios de interpolação por splines cúbicos com as
condições naturais.
Apresente no relatório de resultados o arquivo de saída da rotina
computacional onde devem constar o eco dos dados de entrada e os coeficientes
dos polinômios de interpolação para cada trecho i = 1, 2,K , N .
Apresente também um gráfico com os dados experimentais e os
polinômios de interpolação.

(ii) Ao invés das condições naturais M 1 = M N = 0 , use as condições


M 1 = M 2 e M 2 = M N −1 . Apresente os resultados conforme a descrição feita no
item (i).

(iii) Ao invés das condições naturais M 1 = M N = 0 , use as condições


M 1 = 2M 2 − M 3 e M N = 2M N −1 − M N − 2 . Apresente os resultados conforme a
descrição feita no item (i).

(iv) Faça uma comparação dos resultados obtidos com os três tipos de condições
impostas para M 1 e M N .

4.8.3.3 – Realize a mesma tarefa descrita no item 4.8.3.2 usando os dados


experimentais apresentados na Tabela 4.6.

112
4.8.3.4 – Realize a mesma tarefa descrita no item 4.8.3.2 para um conjunto de
pontos do seu interesse. Crie um exemplo baseado em sua experiência
acadêmica/profissional.

4.8.3.5 – Escreva uma rotina computacional para a execução da interpolação


Lagrangeana

N
Π (x − x j )
N j =1
PN −1 ( x ) = ∑ yi
j ≠i
N
i =1 Π (xi − x j )
j =1
j ≠i

para qualquer conjunto de pontos (xi , yi ) , i = 1, 2,K , N .

Tabela 4.6 – Coordenadas (x, y ) da trajetória de uma partícula em um


escoamento.

x(mm ) y (mm )
1,0 1,0
2,0 5,0
3,0 -0,5
5,0 5,0
6,0 1,0
7,0 -0,5
8,0 5,0
9,0 -1,0
10,0 10,0
11,0 8,0

4.8.3.6 – Realize a tarefa descrita no item 4.8.3.2 usando a interpolação


Lagrangeana. Compare os resultados com aqueles obtidos com a interpolação
por splines cúbicos.

4.8.3.7 – Realize a tarefa descrita no item 4.8.3.3 usando a interpolação


Lagrangeana. Compare os resultados com aqueles obtidos com a interpolação
por splines cúbicos.

4.8.3.8 – Realize a tarefa descrita no item 4.8.3.4 usando a interpolação


Lagrangeana. Compare os resultados com aqueles obtidos com a interpolação
por splines cúbicos.

Observação: Inclua no relatório de resultados todas as equações utilizadas nas


rotinas computacionais. Não é necessário deduzi-las.

4.8.4 – Ao resolver o problema de transferência radiativa em meios participantes


apresentado na seção 3.7 (vide Figura 3.13) um pesquisador encontrou os
valores listados na Tabela. 4.7.

113
Tabela 4.7 – Intensidade da radiação I (τ 0 , µ ) em função do cosseno
do ângulo polar, µ = cosθ .

µ = cosθ I (τ 0 , µ )
0,07653 0,36028
0,22779 0,45841
0,37371 0,56122
0,51087 0,66839
0,63605 0,77293
0,74633 0,86883
0,83912 0,95158
0,91223 1,0179
0,96397 1,0652
0,99313 1,0921

Este pesquisador precisa agora fazer interpolações na Tabela. 4.7 para


obter o valor de I (τ 0 , µ ) para qualquer valor de µ no intervalo [0,07653;
0,99313].
Devido à suavidade da interpolação obtida com splines cúbicos o
pesquisador decide usar este método. Realize então as tarefas descritas a seguir:

4.8.4.1 – Escreva uma rotina computacional para a execução da interpolação


com splines cúbicos para qualquer conjunto de pontos (xi , yi ) , i = 1, 2,K , N . Use
a condição natural nos pontos extremos.

4.8.4.2 – Use a rotina computacional desenvolvida no item anterior para o


cálculo dos coeficientes de interpolação por splines cúbicos com as condições
naturais para os dados apresentados na Tabela. 4.7
Apresente no relatório de resultados o arquivo de saída da rotina
computacional onde devem constar o eco dos dados de entrada e os coeficientes
dos polinômios de interpolação para cada trecho i = 1, 2,K , N . Apresente
também um gráfico com os dados experimentais e os polinômios de
interpolação.
Complete a Tabela. 4.8.

Tabela 4.8 – I (τ 0 , µ ) × µ (radiação incidente isotrópica).


θ µ = cosθ I (τ 0 , µ )
0
15 0,96593
300 0,86603
450 0,70711
600 0,5
750 0,25882

4.8.4.3 – Em outra situação onde a radiação incidente na superfície τ 0 = 0 ; é


colimada, e não isotrópica, o pesquisador obteve os resultados apresentados na
Tabela. 4.9.
Repita todo o procedimento descrito em 4.8.4.2 para os dados
apresentados na Tabela. 4.9.

114
Tabela 4.9 – Intensidade da radiação I (τ 0 , µ ) em função do cosseno
do ângulo polar µ = cosθ .
µ = cos θ I (τ 0 , µ )
0,07653 0,08870
0,22779 0,10364
0,37371 0,10513
0,51087 0,10042
0,63605 0,09447
0,74633 0,08903
0,83912 0,08462
0,91223 0,08131
0,96397 0,07907
0,99313 3,4018

Complete a Tabela. 4.10.

Tabela 4.10 - I (τ 0 , µ ) × µ (radiação incidente colimada).


θ µ = cosθ I (τ 0 , µ )
0
15 0,96593
0
30 0,86603
450 0,70711
600 0,5
750 0,25882

4.8.5 – No problema de transferência radiativa em meios participantes (i.e.


meios absorvedores, emissores e espalhadores) apresentado na seção 3.7 foi
considerado que o meio espalhador é isotrópico. No caso do meio ser um
espalhador anisotrópico a Eq. (3.110a) é reescrita na seguinte forma

∂I (τ , µ ) ω 1
µ + I (τ , µ ) = ∫ −1 p (µ , µ ′)I (τ , µ ′)dµ ′
∂τ 2

onde p (µ , µ ′) é a função de espalhamento. É usual representar a função de fase


em polinômios de Legendre Pl de forma que

L
p (µ0 ) = ∑ Al Pl (µ0 ) com A0 = 1
l =0

onde µ0 está relacionado a µ e µ ′ , Al são os coeficientes de expansão e L


representa o número de termos na expansão.
Dado que − 1 ≤ µ0 ≤ 1 , calcule o valor da função de fase, p (µ0i ) , para N
pontos igualmente espaçados neste intervalo, ou seja, µ0i com i = 1, 2,K , N .

115
Tabela 4.11 – Valores calculados com os polinômios de Legendre.
i µ0i p(µ0i )
1
2
...
N

e use a interpolação Lagrangreana para determinar o polinômio de grau N − 1


que passa pelos pontos (µ0i , p(µ0i )) , i = 1, 2,K, N
Considere as quatro funções de fase apresentadas na Tabela 4.12 e varie
o número de pontos N . Faça, por exemplo, N = 5, 10 e 15 .

Tabela 4.12 – Valores dos coeficientes Al da expansão da função de fase de


espalhamento em polinômios de Legendre.
l Caso 1 Caso 2 Caso 3 Caso 4
1 0,48520 2,78197 0,97103 -0,56524
2 0,53927 4,25856 1,82581 0,29783
3 0,14000 5,38683 0,16239 0,08571
4 0,00004 6,19015 0,77877 0,01003
5 0,00000 6,74492 -0,39807 0,00063
6 7,06711 0,91924 0,00000
7 7,20999 0,07775
8 7,20063 1,58783
9 7,03629 -0,01633
10 6,76587 0,64361
11 6,35881 -0,01412
12 5,83351 0,00124
13 5,22997 0,00021
14 4,47918
15 3,69000
16 2,81577
17 1,92305
18 1,11502
19 0,50766
20 0,20927
21 0,07138
22 0,02090
23 0,00535
24 0,00120
25 0,00024
26 0,00004
27 0,00000

116
Os polinômios de Legendre P0 a P6 são dados por:

P0 (µ ) = 1
P1 (µ ) = µ
1
P2 (µ ) =
2
(
3µ 2 − 1 )
1
(
P3 (µ ) = 5µ 2 − 3µ
2
)
1
(
P4 (µ ) = 35µ 4 − 30µ + 3
8
)
1
(
P5 (µ ) = 63µ 5 − 70µ 3 + 15µ
8
)
1
P6 (µ ) =
16
(
231µ 6 − 315µ 4 + 105µ − 5 )
e os valores para os polinômios de mais alta ordem podem ser obtidos com a
fórmula de recorrência

(n + 1)Pn +1 (µ ) − (2n + 1)µPn (µ ) + nPn −1 (µ ) = 0

Apresente os resultados de forma gráfica, tanto usando a representação


da função de fase com a expansão em polinômios de Legendre, quanto com o
uso da interpolação Lagrangeana. Qual é o comportamento observado com esta
interpolação ? Comente todos os resultados.

4.8.6 – Na Fig. 4.11 é apresentada a solução de um problema de transferência


radiativa obtido por uma aluna de mestrado do IPRJ
4,0
Galerkin
3,5 S20
3,0
ω = 1, 0
2,5

2,0
ω = 0, 9
1,5
ω = 0,1
1,0
ω = 0, 0
0,5

0,0
0,0 0,2 0,4 0,6 0,8 1,0
Figura 4.11 – Intensidade da radiação refletida por uma placa de um material
semi-transparente, obtida empregando dois métodos diferentes: Galerkin e
Ordenadas Discretas S20.

117
4.8.6.1 – A partir da Fig. 4.11 construa a Tabela. 4.13

Tabela 4.13 - Intensidade da radiação refletida por uma placa de material semi-
transparente em função do cosseno do ângulo polar, µ , para diferentes valores
do albedo de espalhamento simples ω .

I (0,− µ )
µ ω =0 ω = 0,9 ω = 1,0
µ1 =
µ2 =
µ3 =
M
µN =

4.8.6.2 – Escreva duas versões de uma rotina computacional para a execução da


interpolação com splines cúbicos para qualquer conjunto de pontos (µi , I (0,− µi )) ,
i = 1, 2,K , N . Use a condição natural nos pontos extremos. Na primeira versão
utilize o algoritmo de Thomas para a solução do sistema de equações algébricas
lineares, e na segunda versão utilize o método de Gauss-Seidel.

4.8.6.3 – Use as duas versões da rotina computacional desenvolvida no item


anterior para o cálculo dos coeficientes de interpolação por splines cúbicos.
Apresente no relatório de resultados os valores destes coeficientes para cada
intervalo, i = 1, 2,K , N . Faça comentários sobre a implementação e o
desempenho computacional dos dois métodos (Thomas e Gauss-Seidel).

4.8.6.4 – Apresente de forma gráfica o resultado da interpolação por splines


cúbicos dos dados apresentados na Tabela. 4.13.

4.8.6.5 – Faça comentários sobre os resultados obtidos.

4.8.7 – Um pesquisador observou que os dados experimentais na Tabela. 4.14


podem ser representados por

E (x ) = α e − β x (4.123)

Tabela 4.14 – Decaimento exponencial.

i xi yi
1 0,5 0,61203
2 1,0 0,36780
3 1,5 0,22313
4 2,0 0,13500

Neste problema tem-se, portanto, quatro dados experimentais, (xi , yi ) ,


i = 1, K ,4 , e apenas duas incógnitas a determinar, α e β .

118
Este problema é resolvido, então, como um problema de otimização sem
restrições, onde busca-se minimizar um funcional de resíduos quadrados.
Realize as seguintes tarefas:

4.8.7.1 – Reescreva a Eq. (4.123) na forma

P1 ( x ) = a0 + a1x (4.124)

onde

P1 ( x ) = ln E ( x )
a0 = ln α (4.125)
a1 = − β

4.8.7.2 – Aplique o método dos mínimos quadrados a partir do funcional

N N
2 2
S = ∑ [P1 ( x ) − ln yi ] = ∑ [a0 + a1 x − ln yi ] (4.126)
i =1 i =1

onde N = 4 , e determine os valores de a0 e a1 .

4.8.7.3 – Determine os valores de α e β a serem usados na Eq. (4.123).

4.8.7.4 – Monte a Tabela. 4.15 onde são comparados os valores experimentais


yi , i = 1, K ,4 e os valores calculados E ( xi ), i = 1, K ,4 .

Tabela 4.15 – Valores experimentais yi e valores calculados E ( xi ) .


i xi yi E (xi ) , Eq. (4.123)
1 0,5 0,61203
2 1,0 0,36780
3 1,5 0,22313
4 2,0 0,13500

119
5
CAPÍTULO

INTEGRAÇÃO NUMÉRICA

5.1 - Introdução

Em várias aplicações práticas em engenharia faz-se necessário o


cálculo de integrais definidas do tipo

I ( f ) = ∫ f ( x ) dx
b
(5.1)
a

Em algumas situações idealizadas encontramos o resultado em


tabelas de integrais (Abramowitz e Stegun, 1972, Beyer, 1981,
Spiegel, 1973). Porém, na grande maioria dos casos a obtenção de
uma solução analítica é impossível ou muito trabalhosa, sendo usadas
então aproximações numéricas, também denominadas quadraturas.
Para o integrando f (x ) encontre uma família de aproximações
{ f n (x )} e defina

I ( f n ) = I n ( f ) = ∫ f n ( x ) dx
b
(5.2)
a

requerendo que para a ≤ x ≤ b

f ( x ) − f n ( x ) ∞ = máx f ( x ) − f n ( x ) → 0 quando n → ∞
a ≤ x≤b
(5.3)

onde f n (x ) é escolhida de forma que I ( f n ) possa ser calculada


facilmente.
O erro decorrente da aproximação de f (x ) por f n (x ) é dado por

En ( f ) = I ( f ) − I n ( f ) = ∫ [ f ( x ) − f n (x )] dx
b
(5.4)
a

de onde se escreve

E n ( f ) ≤ ∫ f ( x ) − f n ( f )dx
b
(5.5)
a

Observando a Fig. 5.1 conclui-se ainda que

En ( f ) ≤ ∫ f (x ) − f n ( x ) dx ≤ (b − a ) f ( x ) − f n ( x ) ∞
b
(5.6)
a

120
f ( x) − f n ( x) f ( x) − f n ( x)

máx | ƒ – ƒn | máx | ƒ – ƒn |

a b x a b x


b
f ( x) − f n ( x) (b − a ) f ( x ) − f n ( x)
a

Figura 5.1 – Erro no cálculo da integral no intervalo [a, b] em decorrência


do uso da função aproximada f n ( x ) .

Usualmente as integrais numéricas I n ( f ) são representadas por

n
I n ( f ) = ∑ w j ,n f (x j ,n ), n ≥ 0 (5.7)
j =0

onde w j , n são os pesos da integração (ou da quadratura) e x j , n são os pontos de


colocação. O entendimento dos termos na Eq. (5.7) será facilitado com a
apresentação dos métodos de integração nas próximas seções.

5.2 – Regra do
Trapézio

Na Fig. 5.2(a) a função f (x ) é aproximada por uma linha reta,


f1 (x ) = α x + β , onde α e β são respectivamente o coeficiente angular e o
coeficiente linear da reta. A reta f1 (x ) passa pelos pontos (a, f (a )) e (b, f (b )) .
A área do trapézio representado na Fig. 5.2(a) é dada por

121
f (a ) + f (b )
I1 ( f ) = (b − a ) (5.8)
2

Façamos agora a divisão do domínio [a, b ] em n intervalos conforme


representado na Fig. 5.2. Vamos assumir ainda que esta divisão é feita com
intervalos regulares, ou seja,

h j = x j − x j −1 = h, j = 1, 2, K , n (5.9)

onde

b−a
h= (5.10)
n

A posição x j do nó j da discretização do domínio [a, b] em n intervalos


regulares pode ser calculada usando

x j = a + jh, j = 0,1, 2, K , n (5.11)

y
y
f (b ) f (x2 ) f ( xn−1 ) f (b) = f ( xn )
f ( x1 )
f ( xi )
f (a )
f ( x0 ) = f ( a )

a b x x0 = a x1 x2 K x j K xn −1 b = xn x
(a) (b)

Figura 5.2 – Integração numérica com a regra do trapézio.


(a) 1 intervalo; (b) n intervalos.

Vemos na Fig. 5.2(b) que temos agora n trapézios, onde a área de cada
trapézio é dada por

f (x j −1 ) + f (x j )
Aj = h j = 1, 2, K , n (5.12)
2

122
Escreve-se então

n n
I ( f ) = ∫ f (x ) dx ≅ ∑ ∫ f n ( x ) dx = ∑ A j
b xj

a x j −1
j =1 j =1

[ ] [ ]
n n
f (x j −1 ) + f (x j ) = ∑ f (x j −1 ) + f (x j )
h h
=∑ (5.13)
j =1 2 2 j =1
n −1
f ( x0 ) + h∑ f (x j ) + f ( xn )
h h
=
2 j =1 2

Usando a notação

f j = f (x j ) j = 0, 1, 2, K , n (5.14)

escreve-se, portanto,

1 1 
I n ( f ) = h f 0 + f 1 + f 2 + L + f n  (5.15)
2 2 

ou então,

f n −1
f 
I n ( f ) = h 0 + ∑ f j + n  (5.16)
 2 j =1 2 

Comparando a Eq. (5.16) com a Eq. (5.7) conclui-se que

h h
w0,n = ; w j , n = h, j = 1, 2,K , n − 1 wn, n = (5.17)
2 2

A regra do trapézio é extremamente simples, no entanto é relativamente


ineficiente quando comparada com outros métodos que apresentam uma
facilidade de programação semelhante.
Não é obrigatório que os intervalos sejam regulares. Neste caso a Eq.
(5.12) é reescrita como

f (x j −1 ) + f (x j )
Aj = h j , j = 1, 2, K , n (5.18)
2

onde

h j = x j − x j −1 , j = 1, 2, K , n (5.19)

Levando as Eqs. (5.18) e (5.19) na Eq. (5.13), tem-se

hj
[ f (x ) + f (x )]
n
I( f )≈ In ( f )= ∑ j −1 j (5.20)
j =1 2

123
5.3 – Regra de
Simpson

No método apresentado na seção anterior usamos polinômios


interpolantes de primeiro grau entre os pontos (x j −1 , f (x j −1 )) e (x j , f (x j )) ,
j = 1, 2,K , n , sendo a integral em cada intervalo x j −1 < x < x j , j = 1, 2, K , n ,
aproximada pela área do trapézio formado.
Vamos agora considerar o uso de polinômios interpolantes de segundo
grau. Na seção 4.4 vimos que dados três pontos (xk −1 , yk −1 ), ( xk , y k ), ( xk +1 , y k +1 )
podemos interpolar um único polinômio de segundo grau.

P2 ( x) = yk −1
(x − xk )(x − xk +1 ) + y (x − xk−1 )(x − xk+1 ) + y (x − xk −1 )(x − xk )
(xk −1 − xk )(xk −1 − xk +1 ) k (xk − xk−1 )(xk − xk+1 ) k +1 (xk +1 − xk −1 )(xk +1 − xk )
(5.21)

Vamos considerar apenas um intervalo no domínio [a, b] e vamos usar a


correspondente mudança de notação representada na Fig. 5.3.

f (x )

f (c ) = f ( xk )
f (a ) = f (xk −1 )

f (b ) = f ( xk +1 )
ƒ(b
P2 ( x )

xk −1 = a xk = c xk +1 = b x

Figura 5.3 – Integração numérica com a regra de Simpson.

124
Desejamos encontrar uma aproximação para

I ( f ) = ∫ f ( x )dx
b
(5.22)
a

que é obtida integrando o polinômio P2 ( x ) ,

I 2 ( f ) = ∫ P2 ( x )dx
b
(5.23)
a

Levando a Eq. (5.21) na Eq. (5.23) e usando a mudança de notação


representada na Fig. 5.3 obtém-se

b
I 2 ( f ) = ∫  f (a )
(x − c )(x − b ) + f (c ) (x − a )(x − b ) + f (b ) (x − a )(x − c )dx
a
 (a − c )(a − b ) (c − a )(c − b ) (b − a )(b − c ) 
(5.24)

Para manter a apresentação o mais simples possível vamos considerar

b−a a+b
h= e c= →c−a =b−c = h (5.25)
2 2

Levando estes valores na Eq. (5.24) obtém-se após a integração dos


diversos termos,

h a+b 
I2 ( f )=  f (a ) + 4 f   + f (b ) (5.26)
3  2  

Façamos agora a divisão do domínio [a, b] em um número par de


intervalos n, onde

x j = a + jh, j = 0, 1, 2, K , n (5.27)

b−a
h= (5.28)
n

(
Considerando os pontos (x 2 j − 2 , f (x 2 j − 2 )) , x2 j −1 , f x2 j −1 ( )) e (x 2j , f (x 2 j ))
n
com j = 1, 2, K , , a integral para o polinômio de segundo grau ajustado para
2
estes pontos é calculada a partir da Eq. (5.26),

I 2j ( f ) = ∫
x2 j

x2 j − 2
P2j ( x )dx =
h
3
[ ]
f (x2 j − 2 ) + 4 f (x2 j −1 ) + f (x2 j ) , j = 1, 2, K ,
n
2
(5.29)

125
Escreve-se então,

n 2 n2
h 
I ( f ) = ∫ f ( x ) dx ≅ ∑ ∫ P2j ( x ) dx = ∑  ( f 2 j − 2 + 4 f 2 j −1 + f 2 j )
b x2 j
(5.30)
j =1  3 
a x2 j − 2
j =1

onde foi usada a notação definida na Eq. (5.14). Por exemplo, f 2 j − 2 = f (x 2 j − 2 ) .

A Eq. (5.30) pode ser reescrita como

h
I( f ) ≅ ( f 0 + 4 f 1 + f 2 ) + h ( f 2 + 4 f 3 + f 4 ) + L + h [ f n − 4 + 4 f n−3 + f n −2 ] + h [ f n− 2 + 4 f n−1 + f n ]
3 3 3 3

(5.31)

ou seja,

 n n
−1 
h 2 2 
I ( f ) ≅  f 0 + 4∑ f 2 j −1 + 2∑ f 2 j + f n  (5.32)
3 j =1 j =1 
 

A regra de Simpson é de fácil implementação e usualmente leva a


resultados melhores do que aqueles obtidos com a regra do trapézio apresentada
na seção anterior.

Comparando a Eq. (5.32) com a Eq. (5.7) conclui-se que

h h n h
w0,n = , w2 j −1,n = 4 para j = 1,2, K , , w2 j ,n = 2
3 3 2 3
h n h
w2 j ,n = 2 para j = 1,2, K , − 1 e wn ,n = (5.33)
3 2 3

5.4- Quadratura
Gaussiana

Vamos considerar um caso particular do problema tratado nas seções


anteriores em que o intervalo de integração é dado por [− 1, 1] , onde busca-se
uma aproximação numérica para o valor da integral

n
I ( f ) = ∫ f ( x ) dx ≅ ∑ w j ,n f (x j ,n )
1
(5.34)
−1
j =1

Na Fig. 5.4 é representada uma situação em que se busca a determinação


dos pontos de colocação x j , e dos respectivos pesos w j de forma que a área do

126
trapézio formado pela reta y = α 0 + α 1 x no intervalo [− 1, 1] seja igual ao valor
da integral I ( f ) ,

1 1
∫ (α
−1
0 + α1 x ) dx = ∫ f ( x ) dx
−1
(5.35)

Da Eq. (5.34) escreve-se então

2
I ( f ) = ∫ f ( x ) dx = ∑ w j,2 f (x j , 2 ) = w1, 2 f (x1, 2 ) + w2, 2 f (x2, 2 )
1
(5.36)
−1
j=1

Simplificando a notação,

I ( f ) = w1 f ( x1 ) + w2 f (x2 ) (5.37)

y = α 0 + α1 x
y = f ( x)

−1 x1 x2 1 x

Figura 5.4 – Pontos de colocação para a quadratura gaussiana.

Como os quatro parâmetros w1 , x1 , x 2 e w2 serão determinados, é


razoável admitir que estes possam ser escolhidos de forma a representar
exatamente a integral de um polinômio de grau 3, que possui quatro coeficientes,

f ( x ) = a 0 + a1 x + a 2 x 2 + a 3 x 3 (5.38)

Esta equação pode ser reescrita como

f (x ) = a 0 + a1 x + ( x − x1 )( x − x 2 )(β 1 + β 2 x ) (5.39)

127
Comparando as Eqs. (5.35) e (5.39) conclui-se então que x1 e x2 têm que
ser escolhidos de forma que

1
∫ (x − x )(x − x )(β
−1
1 2 1 + β 2 x ) dx = 0 (5.40)

Como isto tem que ser válido para qualquer escolha de β1 e β 2 , é


necessário que

1
∫ (x − x )(x − x ) dx = 0
−1
1 2 (5.41a)

1
∫ (x − x )(x − x )x dx = 0
−1
1 2 (5.41b)

Integrando as Eqs. (5.41) obtém-se

2
+ 2 x1 x 2 = 0 (5.42a)
3

x1 + x 2 = 0 (5.42b)

Resolvendo este sistema de equações

1 1
x1 = − e x2 = (5.43)
3 3

É necessário agora determinar os pesos w1 e w2 . Das Eqs. (5.34), (5.35)


e (5.37) escreve-se

1
∫ (α
−1
0 + α1 x ) dx = w1 f ( x1 ) + w2 f (x2 ) (5.44)

Integrando o termo do lado esquerdo e considerando os valores de x1 e


x2 ,

1
1 x2  1   1 
α0x −1 + α1 = 2α 0 = w1 f  −  + w2 f  =
2  3  3
−1
(5.45)
 α   α  α
ω1  α 0 − 1  + w2 α 0 + 1  = α 0 (w1 + w2 ) − 1 (w1 − w2 )
 3  3 3

Da Eq. (5.45) obtém-se então

w1 + w2 = 2
 → w1 = w2 = 1 (5.46)
w1 − w2 = 0

128
A fórmula de quadratura com dois pontos (n = 2 )

 1   1 
I ( f ) = f  −  + f   (5.47)
 3  3

apresenta, portanto, erro de truncamento nulo na integração de um polinômio de


grau 3 ou menor.
Em geral, com n pontos tem-se uma fórmula exata para a integração de
polinômios até o grau 2n − 1 .
Os pontos de colocação obtidos da forma apresentada anteriormente
correspondem na realidade às raízes do polinômio de Legendre de grau n . A
quadratura aqui apresentada é conhecida, portanto, como quadratura de Gauss-
Legendre.
Os polinômios de Legendre surgem da solução do problema de Sturm-
Liouville (problema de autofunções e autovalores) em coordenadas esféricas, e
são convenientes para o uso em expansões (ou aproximações) quando a variável
independente encontra-se na faixa [− 1, 1] . Podem ser obtidos usando a fórmula
de Rodrigues,

1 dn 2
Pn ( x ) = (
x −1
n
) (5.48)
2 n! dx
n n

Da Eq. (5.48) escrevemos

P0 ( x ) = 1

P1 (x ) = x

1
P2 ( x ) =
2
(3x 2 − 1) (5.49)

1
P3 ( x ) =
2
(5 x 3 − 3x )

1
P4 ( x ) =
8
(35x 4 − 30 x 2 + 3)

Na Fig. 5.5 são representados os polinômios de Legendre P1 ( x ) a P4 ( x ) .

129
P0 (x)

0.8

P2 (x) 0.6

0.4

0.2 P4 (x)
1 1
− +
3 3
0

P3 (x) -0.2
-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

P1 (x)
Figura 5.5 – Polinômios de Legendre P0(x) a P4(x).

Computacionalmente é conveniente o uso da fórmula de recorrência

1
Pn ( x ) = [(2n − 1)x Pn−1 (x ) − (n − 1)Pn− 2 (x )] (5.50)
n

Com os pontos de colocação x j , n sendo as raízes do polinômio de


Legendre de grau n , Pn (x) , em [− 1, 1] , os pesos w j ,n são calculados usando

−2
w j ,n = , j = 1, 2, K , n (5.51)
(n + 1)Pn ' ( x j ,n ) Pn+1 ( x j ,n )

Na realidade as raízes dos polinômios de Legendre, x j ,n , e os pesos da


quadratura Gauss-Legendre, w j ,n , estão disponíveis em tabelas (Abramowitz e
Stegun, 1972) evitando, portanto, o esforço computacional para o cálculo dos
mesmos.
Vamos voltar ao exemplo apresentado anteriormente na Fig. 5.4 onde
foram considerados dois pontos de colocação x1 e x2 , usando agora o polinômio
1
de Legendre P2 ( x) . De (5.49) conclui-se que as raízes de P2 ( x) são x = ± ,
3
conforme representado na Fig. 5.5.

Observando que

dP2 ( x)
= 3x (5.52)
dx

obtém-se da Eq. (5.51),

130
−2 −2
w j ,2 = = (5.53)
dP2 ( x) 1
3 P3 ( x) x 3 ⋅ 3 x j ,n
2
(
5 x 3j ,n − 3 x j ,n )
dx x j ,n j ,n

Levando em conta os valores dados em (5.43) obtém-se,

w1, 2 = w2, 2 = 1 (5.54)

confirmando, portanto, os valores obtidos em (5.46).


No início desta seção foi colocada a limitação do intervalo de integração
em [− 1, 1] visando aproveitar as propriedades dos polinômios de Legendre
nestes intervalos.
Com uma simples transformação linear qualquer intervalo [a, b ] pode ser
transformado no intervalo [− 1, 1] podendo ser usada a quadratura Gauss-
Legendre. Nas tabelas onde são fornecidos os pontos de colocação e os pesos
desta quadratura é considerada a integração da função f ( x ) no intervalo [− 1, 1] .
Considere a mudança do intervalo em t , [a, b ] , para o intervalo em x,
[− 1, 1], conforme representado na Fig. 5.6.

-1 1 x

Figura 5.6 – Mudança do intervalo t = [a, b] para o intervalo x = [− 1, 1] .

A equação da reta representada na Fig. 5.6 é dada por

b−a
t= x+c (5.55)
2

131
Para x = −1 tem-se que t = a , e da Eq. (5.55) escreve-se então

t=
(b − a ) x + (b + a ) (5.56)
2 2

Considerando a Eq. (5.56) e observando que

dt b − a b−a
= → dt = dx (5.57)
dx 2 2

t = a → x = −1
(5.58)
t = b → x =1

a integral em t pode ser então substituída pela integral em x,

b−a 1 b −a (b + a ) dx
∫ f (t )dt = 2 ∫
b
f x+  (5.59)
a −1
 2 2 

5.5 – Integração em
Duas Dimensões

Vamos considerar agora a obtenção de uma aproximação numérica para a


integral de uma função f (x, z ) com a ≤ x ≤ b e c ≤ z ≤ d ,

I( f ) = ∫ ∫ f (x, z )dz dx
b d
(5.60)
a c

Na Fig. 5.7 é representada a discretização do domínio em uma malha


computacional (i, j ) com i = 1, 2, K , N x e j = 1, 2, K , N z de forma que

b−a
xi = a + (i − 1)∆x com ∆x = (5.61)
Nx −1

d −c
z j = c + ( j − 1)∆z com ∆x = (5.62)
Nz −1
Usando a dupla interpolação linear apresentada na Seção 4.3 e
considerando a avaliação da função f (ξ ,η ) onde xi −1 ≤ ξ ≤ xi e z j −1 ≤ η ≤ z j , as
Eqs. (4.12) e (4.13) são reescritas como

ξ − xi −1
γ = (5.63)
xi − xi −1

132
η − z j −1
α= (5.64)
z j − z j −1

e as Eqs. (4.14) e (4.15),

f (ξ , z j −1 ) = (1 − γ ) f (xi −1 , z j −1 ) + γ f (xi , z j −1 )
f (ξ , z j ) = (1 − γ ) f (xi−1 , z j ) + γ f (xi , z j ) (5.65)
f (ξ ,η ) = (1 − α ) f (ξ , z j −1 ) + α f (ξ i , z j )

Figura 4.7 – Malha Computacional para integral em duas dimensões.

Considerando o ponto (ξ ,η ) tal que

xi − xi −1 xi + xi −1 z j − z j −1 z j + z j −1
ξ = xi −1 + = η = z j −1 + = (5.66)
2 2 2 2

obtém-se das Eqs. (4.63) e (4.64),

γ = α = 0,5 (5.67)

e das Eqs. (5.65),

133
1
f (ξ ,η ) = {f (xi −1 , z j −1 ) + f (xi , z j −1 ) + f (xi −1 , z j ) + f (xi , z j )} (5.68)
4

De forma a simplificar a notação, a Eq. (5.68) é reescrita como

1
f i, j = ( f i −1, j −1 + f i, j −1 + f i −1, j + f i , j ) (5.69)
4

O volume sob a curva f ( x, z ) no intervalo xi −1 ≤ x ≤ xi , z j −1 ≤ z ≤ z j é


aproximada por

vi , j = f i , j ( xi − x i −1 )(z j − z j −1 ) (5.70)

A integral da curva f ( x, z ) no intervalo a ≤ x ≤ b , c ≤ z ≤ d , é


aproximada pela soma dos volumes calculados pela Eq. (5.70) para todas as
células da malha computacional representada na Fig. 5.7,

Nx Nz Nx Nz
I( f ) = ∫ f ( x, z ) dz dx ≈ ∑∑ vi , j = ∑∑ f ij (xi − xi −1 )(z j − z j −1 )
b d

a ∫ c
i =2 j =2 i =2 j = 2
(5.71)

As Eqs. (5.61) e (5.62) foram escritas para uma malha computacional


regular com espaçamento constante (em cada direção) entre dois nós
consecutivos. A Eq. (5.72) pode então ser reescrita como

Nx Nz
I ( f ) = ∆x∆z ∑∑ f ij (5.72)
i =2 j =2

5.7 – Exercícios

5.7.1 – Considere a integral definida

I ( f ) = ∫ f (x ) dx
b

5.7.1.1 – Escreva uma rotina computacional para o cálculo de uma aproximação


para I ( f ) usando a regra do trapézio.

5.7.1.2 – Escreva uma rotina computacional para o cálculo de uma aproximação


para I ( f ) usando a regra de Simpson.

5.7.1.3 – Escreva uma rotina computacional para o cálculo de uma aproximação


para I ( f ) usando uma quadratura de Gauss-Legendre.

5.7.1.4 – Use as rotinas computacionais para o cálculo da integral da função


f ( x ) = e 3 x no intervalo [0,2].

134
5.7.1.5 – Use as rotinas computacionais para o cálculo da integral da função
f ( x ) = 3 x 2 + 4 no intervalo [0,2].

5.7.1.6 – Use as rotinas computacionais para o cálculo da integral da função


1
f (x ) = no intervalo [1,3].
x

É possível calcular o valor da aproximação para a integral I ( f ) no


intervalo [0,2] ?

Observações:
i) Varie o número de intervalos usados com a regra do trapézio e com a regra de
Simpson para observar a convergência do resultado.
ii) Varie o grau do polinômio de Legendre, n, para observar a convergência dos
resultados com o uso da quadratura de Gauss-Legendre.
iii) Comente todos os resultados obtidos. Inclua nos comentários uma comparação
da velocidade de convergência dos métodos.

5.7.2 – Em um problema de transferência de calor por radiação térmica em


meios participantes foram obtidos os resultados apresentados na Fig. 5.8.

I (τ0 , µ)

4,5
4,0
3,5
3,0
2,5
2,0
1,5
1,0
0,5
0 0,2 0,4 0,6 0,8 1,0 µ
Figura 5.8 – Intensidade da radiação transmitida através de uma placa de espessura óptica τ0 ,
em função do cosseno do ângulo polar µ.

Uma grandeza de grande interesse em engenharia é a transmissividade da


placa que pode ser calculada usando,

1
2π ∫ I (τ 0 , µ )µ dµ
0
T= 1
(5.73)
2π ∫ µ dµ
0

135
Realize então as seguintes tarefas:

5.7.2.1 – Monte uma tabela com valores (µ i , I (τ 0 , µ i )) , i = 0, 1, K , N .

5.7.2.2 – Escreva uma rotina computacional para o cálculo de uma aproximação


para o valor da transmissividade T usando a regra do trapézio.

5.7.2.3 – Escreva uma rotina computacional para o cálculo de uma aproximação


para o valor da transmissividade T usando a regra de Simpson.

5.7.2.4 – Compare os valores obtidos.

Observação: A integral no denominador da Eq. (5.74) deve ser calculada a priori


analiticamente.

5.7.3 – Uma grandeza de grande interesse em engenharia é a reflectividade


hemisférica, que é definida da seguinte forma

1
2π ∫ I (0, − µ )µ dµ
0
R= 1
2π ∫ µ dµ
0

5.7.3.1 – Escreva três rotinas computacionais para o cálculo da reflectividade


hemisférica a partir dos dados apresentados na Tabela 4.11. Cada uma destas
rotinas estará relacionada a um dos seguintes métodos para o cálculo das
integrais no intervalo [0,1] : (i) trapézio; (ii) Simpson e (iii) quadratura
Gaussiana. Observe que a integral no denominador pode ser calculada
analiticamente.

5.7.3.2 – Empregando a interpolação por splines cúbicos obtida no exercício


4.8.3, monte tabelas semelhantes à Tabela 5.1, para dois conjuntos de dados
diferentes, como por exemplo, N = 10 e 50 .

Tabela 5.1 – Valores da intensidade da radiação refletida obtidos com uma interpolação por
splines cúbicos dos dados apresentados na Tabela 4.11.
Ponto µi I (0,− µ i )
1
2
3
M
N

5.7.3.3 – Apresente os resultados obtidos para a reflectividade hemisférica.


Comente o desempenho computacional dos métodos utilizados (trapézio,
Simpson e quadratura gaussiana).

5.7.3.4 – Faça comentários sobre os resultados obtidos.

136
5.7.4 – Ao se buscar a solução de um problema de transferência de calor por
radiação em uma cavidade cilíndrica de raio a e comprimento L , conforme a
representação esquemática feita na Fig. 5.9, chega-se à seguinte formulação
matemática adimensional

γ
ϕ (ξ ) = 1 + λ ∫ ϕ (η )K (ξ ,η )dη , 0 ≤ ξ ≤ γ (5.74)
η =0

onde ϕ está relacionado ao fluxo de calor e os outros símbolos representam

λ =1−ε (5.75)
3 3
η −ξ + η −ξ
K (ξ ,η ) = 1 − 2 (5.76)
{ 3
(η − ξ )2 + 1 2 }
x
ξ= , 0≤ x≤L (5.77)
2a

L
γ = (5.78)
2a

e ε é a emissividade da parede da cavidade com 0 < ε < 1 .


Pode-se tentar resolver o problema dado pelas Eqs. (5.74 – 5.78) usando
o método de aproximações sucessivas em uma forma muito semelhante àquela
apresentada na Motivação 1.2 para a solução de equações não-lineares. A partir
de uma estimativa inicial ϕ 0 (ξ ) , por exemplo ϕ 0 (ξ ) =constante, para 0 ≤ ξ ≤ γ ,
uma nova estimativa ϕ 1 (ξ ) é obtida usando

γ
ϕ 1 (ξ ) = 1 + λ ∫ ϕ 0 (η )K (ξ ,η )dη , 0≤ξ ≤γ (5.79)
η =0

2a 2a
x
x= 0 x=L

x=0 x=L

Figura 5.9 – Representação esquemática de cavidades cilíndricas de raio a


L
e comprimento L, com diferentes razões de aspecto γ = .
2a

137
Com a estimativa ϕ 1 (ξ ) uma nova estimativa é obtida fazendo

γ
ϕ 2 (ξ ) = 1 + λ ∫ ϕ 1 (η )K (ξ ,η )dη , 0≤ξ ≤γ (5.80)
η =0

Este procedimento iterativo é continuado usando

γ
ϕ n (ξ ) = 1 + λ ∫ ϕ n −1 (η )K (ξ ,η )dη , 0 ≤ ξ ≤ γ (5.81)
η =0

até que um critério de parada estabelecido a priori seja satisfeito, por exemplo

ϕ n (ξ ) − ϕ n−1 (ξ ) < δ para 0 ≤ ξ ≤ γ (5.82)

onde δ é uma tolerância. Um critério de parada alternativo interessante é dado


por

γ γ
∫ξ ϕ n (ξ )dξ − ∫ ϕ n −1 (ξ )dξ < δ (5.83)
=0 ξ =0

Deve ser observado que o método de aproximações sucessivas aqui


descrito converge para a solução desejada, i.e.

lim ϕ n (ξ ) = ϕ (ξ ) (5.84)
n →∞

se a seguinte condição é satisfeita

1
λ < (5.85)
γM

onde M é o maior valor do kernel K (ξ ,η ) no intervalo 0 ≤ ξ ≤ γ e 0 ≤ η ≤ γ .

Duas grandezas de interesse em engenharia são o fluxo de calor líquido


β (ξ ) e a emissividade hemisférica aparente z definidos na seguinte forma
adimensional

1
β (ξ ) = [1 − εϕ (ξ )] (5.86)
λ
γ
z = 4πa 2 ∫ β (ξ )dξ (5.87)
ξ =0

5.7.4.1 – Escreva uma rotina computacional para a solução do problema dado


pelas Eqs. (5.74 – 5.78) usando o método das aproximações sucessivas. Esta
rotina deve fornecer como resultado os valores de ϕ (ξ ) e β (ξ ) no intervalo
0 ≤ ξ ≤ γ . Faça o cálculo das integrais empregando a regra do trapézio.

138
5.7.4.2 – Apresente os resultados na forma de tabelas e gráficos para os
seguintes parâmetros:

γ↓ ε→ 0,1 0,5 0,9 0,999


0,05 caso 1 caso 2 caso 3 caso 4
0,5 caso 5 caso 6 caso 7 caso 8
1,0 caso 9 caso 10 caso 11 caso 12
8,0 caso 13 caso 14 caso 15 caso 16

As tabelas e gráficos podem ser apresentados das seguintes formas:

γ= ε=
ξ ϕ β
γ
0
0,05
0,1
M
0,95
1

ϕ, β

ξ
0 γ
1

5.7.4.3 – Faça comentários sobre o desempenho do método e os resultados


obtidos.

139
6
CAPÍTULO

SOLUÇÃO NUMÉRICA DE SISTEMAS DE


EQUAÇÕES ALGÉBRICAS LINEARES

6.1 - Introdução

Na Motivação 1 apresentada na seção 1.1 foi usada uma


discretização por diferenças finitas de um problema de transferência
de calor por condução que levou a um sistema de equações algébricas
lineares
r r
Au = b (6.1)

onde

 2 −1 0 0 L 0 0 0
− 1 2 −1 0 L 0 0 0

 0 −1 2 −1 M  (6.2)
A= 
 M O O O 
 0 0 0 0 L −1 2 − 1
 
 0 0 0 0 L 0 −1 2 

 u1 
 
r  u2 
u=  (6.3)
 M 
u N −1 

 f1 (∆X )2 
 
r  f 2 (∆X )2 
b =  (6.4)
 M 
 f (∆X )2 
 N −1 
r
u é o vetor de incógnitas, f i é o valor do termo fonte na Eq. (1.4a) e
i representa o nó da malha computacional usada na discretização do
domínio físico, com i = 1, 2,K, N − 1 .
Para o problema considerado na seção 1.1 as condições de
contorno são de 1º Tipo (Dirichlet), sendo portanto prescritos os
valores para as temperaturas u0 e u N .
O sistema (6.1) é composto por N − 1 equações algébricas
lineares e possui N − 1 incógnitas, ui , i = 1, 2,K , N − 1 .

140
Neste capítulo serão vistos alguns métodos para a solução deste sistema.
Na seção 4.6 foi apresentada a interpolação de um conjunto de pontos,
(xi , yi ) , i = 1, 2,K, N − 1 , com splines cúbicos. O principal passo neste
desenvolvimento é a necessidade da solução de um sistema de equações
algébricas lineares

µ i M i −1 + 2M i + λi M i +1 = d i , i = 2, 3,K, N − 1 (6.5)

onde M i , com i = 2, 3,K , N − 1 , representa o valor da derivada segunda dos


polinômios cúbicos interpolantes nos pontos interiores. Na seção 4.6 são dadas
três condições diferentes para o valor da derivada segunda nos pontos extremos
M 1 e M N , bem como são apresentadas as expressões para µ i , λi , e d i .
O sistema (6.5) é escrito como
r r
Ax = b (6.6)

onde para o caso em que se usa a condição natural, M i = M N = 0 ,

2 λ2 0 0 L 0 0 0 
µ 2 λ3 0 L 0 0 0 
 3
0 µ4 2 λ4 L 0 0 0 
A=  (6.7)
 O O O 
0 0 0 0 L µ N −2 2 λN −2 
 
0 0 0 0 L 0 µ N −1 2 

 M2 
 
r  M 
x= 3  (6.8)
 M 
M N −1 

 d2 
r  d 3 
b =  (6.9)
 M 
d N −1 

As matrizes A dadas pelas Eqs. (6.2) e (6.7) têm uma característica em


comum. Ambas são matrizes do tipo banda tridiagonal. Conforme será visto na
seção 6.2.2, existe um algoritmo desenvolvido especificamente para a solução de
sistemas algébricos lineares onde a matriz de coeficientes seja tridiagonal, o
algoritmo de Thomas.
O exemplo usando a aproximação por diferenças finitas mostrado
anteriormente considera um problema de transferência de calor unidimensional.

141
Para problemas em duas dimensões, obteríamos uma matriz do tipo
banda pentadiagonal.
Em outros problemas de interesse a matriz pode ser cheia. Em outros
pode ser esparsa, como usualmente acontece com o uso do método de elementos
finitos.
Os métodos numéricos desenvolvidos para a solução de sistemas de
equações algébricas lineares são de dois tipos: métodos diretos e métodos
indiretos. No caso dos métodos diretos é realizado um número fixo de operações
ao final das quais se obtém o resultado. Os métodos indiretos são construídos
com procedimentos iterativos onde a solução é obtida após um número variável
de iterações, estando este número associado ao critério de convergência
estabelecido a priori. Em ambos os casos existem vantagens e desvantagens.
Nas próximas seções serão apresentados alguns destes métodos.

6.2 – Métodos
Diretos

6.2.1 – Eliminação
Gaussiana

r r
Neste método o problema Ax = b é reduzido a um sistema equivalente
r r
Ux=d (6.10)

onde U é uma matriz triangular superior, sendo este problema facilmente


resolvido por uma substituição de trás para frente (backward sweep).
r r
Para a obtenção do sistema (6.10) a partir do sistema original Ax = b , são
realizadas as manipulações que serão descritas a seguir.
Reescrevendo o sistema original com um total de n equações e
n incógnitas,

a11(1) x1 + a12(1) x2 + a13(1) x3 + L + a1(1j) x j + K + a1(1n) xn = b1(1)


(1) (1) (1)
a21 x1 + a22 x2 + a23 x3 + L + a2(1j) x j + K + a2(1n) xn = b2(1) (6.11)
M
an(11) x1 + an(12) x2 + an(13) x3 + L + anj(1) x j + K + ann
(1)
xn = bn(1)

onde o índice (1) representa os coeficientes com seus valores iniciais. Com as
manipulações a serem realizadas os valores dos coeficientes serão alterados e
estes índices assumirão então outros valores (2), (3), …, conforme o número de
operações realizadas.
Definindo os multiplicadores

ai(11)
mi1 = , i = 2, 3, K , n (6.12)
a11(1)

142
multiplicando a primeira equação por mi1 e subtraindo a equação resultante da
equação i correspondente, elimina-se o coeficiente de x1 , i.e. ai1 . Este
procedimento é realizado para todas as equações i = 2, 3,K , n , ou seja,

aij(2 ) = aij(1) − mi1a1(1j) , i = 2, 3,K , n e j = 2, 3,K n (6.13)


(2 ) (1) (1)
bi = bi − mi1b1 , i = 2, 3, K , n (6.14)
e
ai(12 ) = 0, i = 2, 3, K , n (6.15)

O sistema (6.11) passa então a ser escrito como

a11(1) x1 + a12(1) x2 + a13(1) x3 + L + a1(1j) x j + K + a1(1n) xn = b1(1)


(2 ) (2 )
0 + a22 x2 + a23 x3 + L + a2(2j) x j + K + a2(2n) xn = b2(2 )
(2 ) (2 )
0 + a32 x2 + a33 x3 + L + a3(2j ) x j + K + a3(2n) xn = b3(2 ) (6.16)
M
0 + an 2 x2 + an3 x3 + L + anj(2 ) x j + K + ann
(2 ) (2 ) (2 )
xn = bn(2 )

Observe que a primeira equação não foi modificada com relação à


primeira equação do sistema original (6.11).
Após este passo continuamos o processo de eliminação com o
multiplicador

ai(22 )
mi 2 = (2 ) , i = 3, K , n (6.17)
a22

Agora a segunda equação é multiplicada por mi 2 e subtraindo a equação


resultante da equação i correspondente, elimina-se o coeficiente de x2 , i.e. ai 2 .
Este procedimento é realizado para todas as equações i = 3, 4,K , n , de forma que

aij(3) = aij( 2 ) − mi 2 a2( 2j) , i = 3, 4, K , n e j = 3, 4, K , n


(6.18)

bi(3) = bi(2 ) − mi 2b2(2 ) , i = 3, 4,K , n (6.19)

ai(23 ) = 0, i = 3, 4, K , n (6.20)

O sistema (6.16) passa então a ser escrito na forma equivalente

143
a11(1) x1 + a12(1) x2 + a13(1) x3 + L + a1(1j) x j + K + a1(1n) xn = b1(1)
(2 ) (2 )
0 + a22 x2 + a23 x3 + L + a2(2j) x j + K + a2(2n) xn = b2( 2 )
(3 )
0 + 0 + a33 x3 + L + a3(3j) x j + K + a3(3n) xn = b3(3 )
(3 )
0 + 0 + a43 x3 + L + a4(3j) x j + K + a4(3n) xn = b4(3 ) (6.21)
(3 )
0 + 0 + a53 x3 + L + a5(3j) x j + K + a5(3n) xn = b5(3 )
M
(3 ) (3 ) (3 )
0 + 0 + an 3 x3 + L + anj x j + L + ann xn = bn(3 )

O processo aqui descrito é então continuado até que se obtenha o sistema de


equações algébricas lineares na forma dada pela Eq. (6.10), ou seja,

a11(1) x1 + a12(1) x2 + a13(1) x3 + K + a1(1n) xn = b1(1)


(2 ) (2 )
0 + a22 x2 + a23 x3 + K + a2(2n) xn = b2(2 )
(3 )
0 + 0 + a33 x3 + L + a3(3n) xn = b3(3 ) (6.22)
M
0 + 0 + 0 + L + an(n−−11,n)−1 xn −1 + an(n−−11,n) xn = bn(n−1−1)
(n )
0 + 0 + 0 + L + ann xn = bn(n )

De forma genérica, o procedimento adotado para a obtenção do sistema


(6.22) a partir do sistema (6.11), consiste no uso de multiplicadores

aik(k )
mik = , k = 1, 2,K, n − 1, i = k + 1, k + 2,K , n (6.23)
akk(k )

de forma que os novos coeficientes calculados no passo k sejam

aij(k +1) = aij(k ) − mik akj(k ) , k = 1, 2,K, n −1, i = k + 1, k + 2,K, n e j = k +1, k + 2,K, n (6.24)

bi( k +1) = bi(k ) − mik bk(k ) , k = 1, 2,K , n − 1, i = k + 1, k + 2, K , n (6.25)

sendo nulos então os coeficientes

aik(k +1) = 0, k = 1, 2,K, n − 1, i = k + 1, k + 2,K , n (6.26)

Para a obtenção do sistema (6.22) são aplicadas, portanto, as Eqs. (6.23)


a (6.26), sendo operadas no passo k , as linhas k + 1, k + 2,K , n , com
k = 1, 2,K , n − 1 .
O coeficiente akk( k ) é denominado pivot, e segundo a definição dos
multiplicadores dada de forma genérica pela Eq. (6.23), é necessário que

(k )
akk ≠0 (6.27)

144
No início de cada passo k de eliminação de coeficientes, quando a linha
k é mantida fixa, é feita uma troca de posição de equações, de forma que fique
um termo diferente de zero na posição do pivot.
A solução do sistema (6.22) é muito simples, sendo feita uma simples
substituição de trás para frente (backward sweep). Começando da última
equação escrevemos

b (n )
xn = n(n ) (6.28)
ann

Conhecendo xn podemos calcular então xn −1 usando a penúltima


equação do sistema (6.22),

bn(n−−11) − an(n−−11,n) xn
xn −1 = (6.29)
an(n−−11, n) −1

Este passo é então continuado até que todas as incógnitas sejam


determinadas. De forma genérica escreve-se

1  (l ) n 
xl =
all(l )
bl − ∑ a( )x lj
l
j , l = n, n − 1, n − 2, K ,1 (6.30)
 j =l +1 

A implementação computacional do método de eliminação gaussiana é


relativamente simples, e fornece o resultado após um número fixo de operações.
Porém, a qualidade do resultado pode ser comprometida pelos erros de
arredondamento que são acumulados a cada operação (ver seção 1.3).
Visando minimizar a propagação de erros de arredondamento podem ser
usadas as técnicas de pivoteamento parcial ou de pivoteamento completo, que
serão sucintamente descritas a seguir.

Pivoteamento
Parcial

Para o passo k no processo de eliminação gaussiana, onde a equação k


ficará fixa e os coeficientes akj das equações j = k + 1, k + 2,K, n , serão zerados,
façamos uma busca para determinar a linha i , para i = k , k + 1,K , n , de forma que
se identifique o maior coeficiente C k dentre aqueles que multiplicam a incógnita
xk ,

Ck = máx aik(k ) (6.31)


k ≤i ≤n

É feita então a troca da equação i , para a qual aik(k ) é máximo, com a


equação k , de forma que akk(k ) passará então a ser o maior valor.

145
Pivoteamento
Completo

Neste caso é feita uma busca não só nas linhas como também nas
colunas, de forma a identificar

Ck = máx aij(k +1) (6.32)


k +1≤i ≤ n , k +1≤ j ≤ n

É feita então a troca da equação i com a equação k , e a troca da coluna j


com a coluna k .
O uso de pivoteamento parcial não é tão bom quanto o uso de
pivoteamento total, no entanto, requer um número menor de operações, sendo
então empregado com maior freqüência.
O método de eliminação gaussiana é um caso particular de um conjunto
de métodos diretos onde é feita uma decomposição da matriz A em uma matriz
triangular inferior, L , e uma matriz triangular superior, ou seja,
r r r r
A x = b → LU x = b (6.33)

Definindo
r r
Ux=y (6.34)

a Eq. (6.33) é escrita como


r r
Ly=b (6.35)

Fazendo uma simples substituição para frente (forward sweep) é


r
calculado o vetor y . Fazendo então a substituição para trás, dada pela Eq. (6.34),
r
são obtidas as incógnitas x .
O principal esforço nestes métodos é a obtenção das matrizes L e U .

6.2.2 – Algoritmo
de Thomas

Quando a matriz A é do tipo banda tridiagonal, pode ser usado o método


de Thomas, desenvolvido em 1949. Neste algoritmo a matriz A é substituída
por uma matriz triangular superior U através da substituição

′ = a11
a11
b1′ = b1
ai′,i +1 = ai ,i+1 , i = 1, 2, K , n − 1
ai′,i −1 = 0, i = 2, 3, K , n

146
ai ,i −1
aii′ = aii − ai −1,i , i = 2, 3,K, n (6.36)
ai′−1,i −1

ai ,i−1
bi′ = bi − bi′−1 , i = 2, 3, K , n (6.37)
ai′−1,i−1

As incógnitas são então calculadas de trás para frente (backward sweep)


a partir da ultima equação, i = n ,

bn′
xn = (6.38)

ann

e prosseguindo com a fórmula de recorrência genérica

bk′ − a′k , k +1 xx +1
xk = , k = n − 1, n − 2,K, 1 (6.39)
a′kk

Vamos deduzir as equações (6.36) e (6.37). Aqui deseja-se eliminar os


coeficientes ai, i −1 , para i = 2, 3,K, n . Operando a equação i − 1 com

ai ,i −1
mi ,i −1 = (6.40)
ai′−1,i −1

e subtraindo a equação resultante da equação i , obtém-se a Eq. (6.36) para o


novo coeficiente na diagonal da equação i , aii′ e a Eq. (6.37) para o termo do lado
direito da equação i , bi′ .
O novo coeficiente ai′,i +1 da equação i permanece inalterado porque ao se
realizar a operação aqui descrita tem-se

ai ,i −1
ai′,i +1 = ai ,i +1 − ai −1,i +1 (6.41)
ai′−1,i −1

onde ai −1,i +1 = 0 .

O procedimento aqui descrito é realizado para todas as equações i.e.


i = 2, 3,K , n .

6.3 – Métodos
Iterativos

Para sistemas com um grande número de equações o uso de métodos


diretos implica em um número extremamente elevado de operações a serem

147
realizadas. Neste caso os métodos iterativos são melhores, e em alguns casos são
os únicos que poderão ser usados na prática.
É comum também que a matriz seja esparsa, ou seja, com um grande número de
coeficientes nulos, e muitas vezes podendo ser representada de forma simples.
Neste caso os métodos iterativos são superiores por utilizarem apenas os
coeficientes diferentes de zero, enquanto que ao se utilizar métodos diretos a
maioria dos coeficientes nulos seriam trocados por valores diferentes de zero.

6.3.1 – Método
de Gauss-Jacobi

Considere novamente o problema


r r
Ax = b (6.42)

onde o objetivo é obter o vetor de incógnitas

 x1 
 
r x 
x =  2 (6.43)
M
 xn 

Cada equação do sistema (6.42) é dada por

ai1 x1 + ai 2 x2 + L + aii xi + L + ai , n −1 xn −1 + ain xn = bi , i = 1, 2,K , n (6.44)

ou seja,

i −1 n

∑a
j =1
ij x j + aii xi + ∑a
j =i +1
ij x j = bi , i = 1, 2,K, n (6.45)

Da Eq. (6.45) obtém-se então

 
1  n

xi = bi − ∑ aij x j , i = 1, 2,K, n (6.46)
aii  j =1 
 j ≠i 

Considerando que as equações no sistema (6.42) estejam ordenadas de


forma que os coeficientes na diagonal sejam não nulos, aii ≠ 0 , um procedimento
iterativo é construído usando a Eq. (6.46) conforme descrito no seguinte
algoritmo:
r
1) Escolha uma estimativa inicial x 0 e faça o contador de iterações k = 0 ;

2) Calcule uma nova estimativa para as incógnitas com a Eq. (6.46),

148
 
1  n
k
xik +1 =  i ∑ ij j , i = 1, 2,K, n
b − a x (6.47)
aii  j =1 
 j ≠i 

3) Verifique se o critério de parada estabelecido a priori foi satisfeito. Como


exemplo usamos a diferença relativa das incógnitas em duas iterações sucessivas

xik +1 − xik
< ε , i = 1, 2,K, n com xik ≠ 0 (6.48)
xik

onde ε é um número relativamente pequeno, por exemplo 10 −5 . Caso o critério


de parada não esteja satisfeito faça k = k + 1 e volte ao passo 2.

Como o método de Gauss-Jacobi pode não convergir, é necessário que


no algoritmo seja incluída a parada do mesmo caso um número máximo de
iterações definido a priori seja atingido.

6.3.2 – Método
de Gauss-Seidel

r
No método de Gauss-Jacobi é utilizada a estimativa anterior x k para o
r
cálculo da nova estimativa x k +1 . No método de Gauss-Seidel ao se calcular a
nova estimativa para a incógnita xik +1 , i = 1, 2,K , n , são usadas as novas
estimativas xlk + 1 , l = 1, 2,K , i − 1 , já calculadas, e as estimativas anteriores
xlk , l = i + 1, i + 2K, n , para as incógnitas ainda não calculadas.
Partindo da Eq. (6.42) escrevemos

1  i −1 n
k
xik +1 = k +1
bi − ∑ aij x j − ∑ aij x j , i = 1, 2,K, n (6.49)
aii  j =1 j = i +1 

O algoritmo apresentado na seção anterior pode ser utilizado fazendo a


troca da Eq. (6.47) pela Eq. (6.49).
Na seção 4.6 vimos a interpolação de um conjunto de pontos com o uso de
splines cúbicos com a condição de contorno natural para os nós extremos.
Naquele problema buscamos a solução do sistema de equações (4.75) aqui
reescrito

µ i M i −1 + 2M i + λi M i +1 = d i , i = 2, 3,K, N − 1 (6.50)

onde M i , i = 2, 3,K , N − 1 , são as incógnitas e os outros termos são conhecidos.


A Eq. (6.50) é reescrita então como

149
1
M ik +1 =
2
{ }
d i − µ i M ik−+11 − λ i M ik+1 , i = 2, 3, K , N − 1 (6.51)

r r
A partir de uma estimativa inicial, M 0 , são calculadas as estimativas M 1 ,

1
M 21 =
2
{
d 2 − λ2 M 30 }
1
{
M 31 = d 3 − µ 3 M 21 − λ3 M 40
2
}
1
{
M 41 = d 4 − µ 4 M 31 − λ4 M 50
2
} (6.52)
M
1
M 1N −2 =
2
{
d N −2 − µ N −2 M 1N −3 − λ N −2 M N0 −1 }
1
M 1N −1 {
= d N −1 − µ N −1 M 1N −2
2
}
r
Na segunda iteração são calculadas as estimativas M 2 ,

1
M 22 =
2
{
d 2 − λ2 M 31 }
1
{
M 32 = d 3 − µ 3 M 22 − λ3 M 41
2
}
1
{
M 42 = d 4 − µ 4 M 32 − λ4 M 51
2
} (6.53)
M
1
M N2 −2 =
2
{
d N −2 − µ N −2 M N2 −3 − λ N −2 M 1N −1 }
1
M N2 −1 {
= d N −1 − µ N −1 M N2 −2
2
}
Conforme descrito no algoritmo apresentado na seção 6.3.1, o
procedimento iterativo é continuado até que o critério

M ik +1 − M ik
k
< ε , i = 2, 3,K, N − 1, M ik ≠ 0 (6.54)
Mi

seja satisfeito.
Voltando à Eq. (6.49) que descreve de forma genérica o método de
r
Gauss-Seidel, este converge com o uso de qualquer estimativa inicial x 0 quando
ocorre a dominância da diagonal, i.e.

n
aii ≥ ∑ aij , i = 1, 2, K, n (6.55)
j =1
j ≠i

150
e para pelo menos uma linha

n
aii > ∑ aij (6.56)
j =1
j ≠i

Esta é uma condição suficiente e não uma condição necessária,


implicando, portanto, no fato de que convergência pode ser observada mesmo
que não se tenha a dominância da diagonal.

6.3.3 – Método das


Sobre-Relaxações
Sucessivas (SOR:
Successive Over
Relaxation)

A técnica de sobre-relaxação pode ser usada na tentativa de acelerar


qualquer método iterativo. Conforme representado na Fig. 6.1, o atirador tem
uma chance maior de acertar um alvo em movimento se tentar antecipar a
trajetória do mesmo, atirando, portanto, um pouco à frente da posição observada
no momento do disparo.

Lançador

Atirador

Figura 6.1 – Um atirador aumenta as chances de acertar o alvo se levar em consideração a


trajetória do mesmo.

Vamos aplicar esta técnica à solução de um sistema de equações algébricas


lineares com o método de Gauss-Seidel. Ao final de cada iteração do método de
Gauss-Seidel é feita uma correção da estimativa obtida buscando uma aceleração
da convergência do método.
A correção é feita usando

+1
xikSOR = ω xikGS+1 + (1 − ω )xikSOR (6.57)

onde ω > 0 é o parâmetro de relaxação.

151
Para que ocorra convergência, ω tem que ser menor que 2. Para
1 < ω < 2 tem-se uma sobre-relaxação e para 0 < ω < 1 tem-se uma sub-relaxação.
Com ω = 1 volta-se ao método de Gauss-Seidel.
Em alguns casos é possível obter analiticamente o valor de ω ótimo,
ωopt , para o qual o número de iterações é mínimo. No entanto, na maioria das
vezes é feita uma busca de uma aproximação para ωopt empregando
experimentação numérica. O valor obtido pode então ser aplicado em outros
problemas semelhantes.

6.4 - Exercícios

6.4.1 – Considere o problema de condução de calor unidimensional em regime


permanente, com fonte térmica e condições de contorno de primeiro tipo
(Dirichlet) representado esquematicamente na seguinte figura:

u (0 ) = 0 u (1 ) = 0
f (X )

X = 0 X =1

Conforme visto na seção 1.1 (Motivação 1) e na seção 6.1 (Introdução –


Solução Numérica de Sistemas de Equações Algébricas Lineares), a formulação
matemática adimensional deste problema é dada por

d 2 u (X ) + f (X ) = 0 , 0 < X <1
dX 2

u (0 ) = 0 em X = 0
u (1) = 0 em X = 1

onde u representa a temperatura adimensional, f ( X ) a intensidade da fonte


térmica e X a variável espacial.

6.4.1.1 – Obtenha a solução analítica para o caso particular em que


f ( X ) = constante = ξ .

152
6.4.1.2 – Discretize o problema utilizando o método de diferenças finitas para o
caso genérico em que f ( X ) não é constante.

6.4.1.3 – Escreva uma rotina computacional usando o algoritmo de Thomas para


a solução do problema discreto obtido na item 6.4.1.2.

6.4.1.4 – Escreva uma rotina computacional usando o método de Gauss-Seidel


para a solução do problema discreto obtido no item 6.4.1.2.

6.4.1.5 – Escreva uma rotina computacional usando o método de sobre


relaxações sucessivas (SOR) para a solução do problema discreto obtido no item
6.4.1.2.

6.4.1.6 – para f ( X ) = constante = 1, calcule u ( X ) usando a solução analítica


obtida no item 6.4.1.1, e as rotinas computacionais escritas nos itens 6.4.1.3,
6.4.1.4 e 6.4.1.5. Compare e comente os resultados obtidos apresentando-os em
tabelas e gráficos. Obtenha os resultados para pelo menos três malhas
computacionais diferentes variando o número de intervalos na discretização da
variável espacial. Analise a convergência dos resultados para os diferentes
métodos e para as diferentes malhas computacionais.

6.4.1.7 – Para f ( X ) = senπX , calcule u ( X ) usando as rotinas computacionais


escritas nos itens 6.4.1.3, 6.4.1.4 e 6.4.1.5. Compare e comente os resultados
obtidos apresentando-os em tabelas e gráficos. Obtenha os resultados para pelo
menos três malhas computacionais diferentes variando o número de intervalos
na discretização da variável espacial. Analise a convergência dos resultados para
os diferentes métodos e para as diferentes malhas computacionais.

153
7
CAPÍTULO
SOLUÇÃO NUMÉRICA DE EQUAÇÕES
DIFERENCIAIS ORDINÁRIAS

7.1 – Introdução

Equações envolvendo a derivada de uma função de uma variável


ocorrem na modelagem matemática de vários sistemas de interesse
para a engenharia.
Na seção 1.6 é mostrado um exemplo onde se deseja calcular a
temperatura em função do tempo para um reator onde é produzido o
hexafluoreto de urânio (UF6) a ser usado na fabricação do combustível
para reatores nucleares a água pressurizada (PWR).
Em muitos casos soluções analíticas para estas equações
diferenciais ordinárias (EDO) não podem ser obtidas, sendo
desenvolvidos então métodos numéricos para a obtenção de uma
aproximação para a solução exata.
Conforme visto na seção 1.6 a formulação matemática do
problema aqui tratado é dada por

dy ( x )
= f ( x, y ) (7.1a)
dx

y ( x0 ) = y 0 (7.1b)

Equações de ordem mais alta podem ser reduzidas a um sistema


de equações simultâneas de primeira ordem. Por exemplo, para a
equação

d 2 y(x )  dy 
2
= g  , y, x  (7.2)
dx  dx 

ao se definir

dy ( x )
= z (x ) (7.3)
dx

obtém-se então

dz ( x )
= g ( z, y, x ) (7.4)
dx

O problema de segunda ordem original dado pela Eq. (7.2) é


reduzido então a um sistema com duas equações de primeira ordem
(7.3) e (7.4).

154
Os métodos que serão vistos neste capítulo são facilmente generalizados
para a solução de sistemas de equações diferenciais ordinárias de primeira ordem
simultâneas.
A Eq. (7.1.a) é uma relação que define para cada ponto a derivada
naquele ponto. Em geral vai existir uma família de curvas que satisfaça esta
condição.
Conforme representado na Fig. 7.1, o uso da Eq. (7.1b) implica em
selecionar a curva particular que passa no ponto (x0 , y0 ) .
Nas seções seguintes serão vistos alguns métodos numéricos
desenvolvidos para a solução do problema (7.1).
Primeiro serão vistos os métodos diretos (de um passo) e depois serão
vistos os métodos de múltiplos passos (iterativos).

y ( x)

y0

x0 x
dy ( x )
Figura 7.1 – Família de curvas para as quais = f ( x, y ) .
dx

7.2 – Métodos
de um Passo
(Métodos Diretos)

7.2.1 – Expansão
de Taylor

Fazendo uma expansão de y ( x ) em torno de xm ,

155
y ( x ) = y ( xm ) +
dy
( x − xm ) + d
2
y (x − xm )2 + K
dx x = xm dx 2 x = xm
2
d jy
+ j
( x − xm ) j
d j +1 y
+ j +1
(x − xm ) j +1 (7.5)
dx x = xm
j! dx x =ξ
( j + 1)!

onde

xm ≤ ξ ≤ x (7.6)

Consideremos agora que a Eq. (7.5) seja usada para aproximar y ( x ) em


x = xm +1 = xm + h ,

dy h2 d 2 y
y ( xm+1 ) = y (xm + h ) = y ( xm ) + h + +L
dx x = xm 2 dx 2 x = xm

hj d jy h j +1 d j +1 y
+ + (7.7)
j ! dx j x = xm
( j + 1)! dx j +1 x =ξ

Da Eq. (7.1.a),

dy ( x )
= f ( xm , y ( xm )) (7.8)
dx x= xm

Visando simplificar a notação faremos y ( xm ) = ym e a Eq. (7.8) é então


escrita como

dy ( x )
= f ( xm , y m ) (7.9)
dx x = xm

Derivando a Eq. (7.1.a) com relação a x,

d  dy  d
 = f ( x, y ( x ))
dx  dx  dx
d 2 y ∂f ( x, y (x )) ∂f ( x, y ( x )) dy (x )
= + (7.10)
dx 2 ∂x ∂y dx
d 2 y ∂f ( x, y ) ∂f ( x, y )
2
= + f ( x, y )
dx ∂x ∂y

Calculando para o ponto x = xm ,

d2y ∂f ∂f
= +f (7.11)
dx 2 x = xm
dx x = x m x = xm
dy x = x m

156
Fazendo j = 2 na Eq. (7.7),

dy h2 d 2 y h3 d 3 y
y ( xm + h ) = y (xm ) + h + +
dx x = xm 2 dx 2 x = xm
6 dx 3 x =ξ

(7.12)

Substituindo as Eqs. (7.9) e (7.11) na Eq. (7.12),

h 2  ∂f ∂f  h3 d 3 y
+
y (xm + h ) = y (xm ) + hf ( xm , ym ) + + f ( xm , y m )
2  ∂x ∂y  6 dx 3
 x = xm x = xm  x =ξ

(7.13)

Desprezando o último termo da Eq. (7.13) observa-se que o erro de


truncamento é então

h3 d 3 y
ET = , xm ≤ ξ ≤ x (7.14)
6 dx 3 x =ξ

e a Eq. (7.13) é escrita de forma mais compacta como

 h 
ym +1 = ym + h  f + ( f x + ff y ) (7.15)
 2  x = xm

e lembrando que

xm +1 = xm + h (7.16)

ao fazer m = 0 , calcula-se y1 no ponto x1 = x0 + h usando a Eq. (7.15).


Fazendo m = 1 calcula-se y2 no ponto x2 = x1 + h . Continuando com este
procedimento calcula-se y3 , y4 , ...
Observa-se que os erros de truncamento são acumulados a cada passo.
Com o procedimento descrito o cálculo de ym +1 requer informações
apenas do ponto anterior (xm , ym ) . Por este motivo o método usando a série de
Taylor é classificado como método de um passo.
A dificuldade prática deste método é o cálculo das derivadas f x e f y .
Caso desejássemos aumentar a precisão da solução, por exemplo, com o
uso de j = 3 na Eq. (7.7), outras derivadas de mais alta ordem teriam que ser
calculadas.

157
7.2.2 – Métodos
de Runge-Kutta

Compreendem um conjunto de técnicas computacionais envolvendo


diferentes graus de esforço computacional, bem como diferentes graus de
precisão.
Os métodos de Runge-Kutta não exigem o cálculo das derivadas de
f ( x, y ) , apenas a própria função f ( x, y ) .
O método de Euler é um dos métodos de Runge-Kutta.

7.2.2.1 – Método
de Euler

A reta representada na Fig. 7.2 é descrita por

dy
y= x+b (7.17)
dx x = x m

y
Aproximação da solução
no ponto xm +1
Reta
ym +1
e

y = y (x )

ym Solução exata
(desconhecida)

xm xm +1 x
Figura 7.2 – Método de Euler

No ponto x = xm tem-se y = ym . Logo,

dy
ym = xm + b (7.18)
dx x= xm

e então,

158
dy
b = ym − xm (7.19)
dx x = xm

Levando a Eq. (7.19) na Eq. (7.17) escreve-se

dy
y = ym + (x − xm ) (7.20)
dx x = xm

Da Eq. (7.1.a),

dy
= f ( xm , y m ) (7.21)
dx x = xm

Fazendo x = xm +1 na Eq. (7.20) e usando as Eqs. (7.16) e (7.21), obtém-


se

ym +1 = ym + hf ( xm , ym ) (7.22)

Vamos comparar este resultado com aquele que seria obtido usando a
expansão de Taylor. Façamos j = 1 na Eq. (7.7),

dy h2 d 2 y
ym +1 = y m + h + (7.23)
dx x = xm 2 dx 2 x =ξ

Desprezando o último termo da Eq. (7.23) observa-se que o erro de


truncamento é então

h2 d 2 y
ET = (7.24)
2 dx 2 x =ξ

e a Eq. (7.23) é escrita de forma mais compacta como

ym +1 = ym + hf ( xm , ym ) (7.25)

Observa-se que as Eqs. (7.22) e (7.25) são idênticas, sendo então o


método de Euler um método de primeira ordem por coincidir com a solução
obtida com a expansão de Taylor até o termo em h .
Além do relativamente elevado erro de truncamento, da ordem de
2
h como pode ser visto na Eq. (7.24), o método de Euler é freqüentemente
instável, ou seja, um pequeno erro (arredondamento ou truncamento) é ampliado
com o crescimento de x .

159
7.2.2.2 – Método
de Euler Melhorado

Neste método é usada a média das derivadas nos pontos (xm , ym ) e


 
 xm + h, ym + h dy  . Observar que este último ponto corresponde ao ponto
 dx 
 x = xm 

(xm +1, ym +1 ) no método de Euler.


Na Fig. 7.3 é feita uma representação esquemática do método de Euler
melhorado.

y Reta 1 (Euler)

dy Reta 2
ym + h Reta 4
dx x = xm Reta 3
(Média das derivadas)
• y = y ( x)
Solução exata
( xm +1 , ym +1 ) (desconhecida)
ym

( xm , ym )

xm xm+1 x
h

dy
Reta 1 → = f (xm , y m )
dx x = xm

dy  dy 
Reta 2 → = f  x m + h, y m + h 
dx  dx 
x = x m +1  x = xm 

Figura 7.3 – Método de Euler Melhorado.

A reta 1 possui a inclinação dada pela derivada no ponto (xm , ym ) ou seja,


f (xm , ym ) . A reta 2 possui a inclinação dada pela derivada no ponto
 
 x m + h, y m + h dy  ou seja, f ( x m + h, y m + hf ( x m , y m )) .
 dx x = xm 

A inclinação da reta 3 é calculada como a média das inclinações das retas
1 e 2. Ou seja,

160
1
ϕ (xm , ym , h ) = [ f (xm , ym ) + f (xm + h, ym + hf (xm , ym ))]
2
(7.26)

A reta 4 possui a mesma inclinação da reta 3 e passa no ponto (xm , ym ) .


A equação para a reta 4 é dada, portanto, por

y ( x ) = y m + ( x − xm ) ϕ ( xm , y m , h ) (7.27)

Para o ponto x = xm +1 obtém-se então

ym +1 = ym + hϕ ( xm , ym , h ) (7.28)

Este método é um método de segunda ordem por coincidir com a


expansão de Taylor até o termo h 2 .

7.2.2.3 – Método
de Euler Modificado

No método de Euler melhorado é usada a média das derivadas em dois


 dy 
pontos (xm , ym ) e  xm + h, ym + h .
 dx x = x m 

No método de Euler modificado é usada a derivada no ponto médio do
intervalo, ou seja,

 h h dy 
ϕ ( xm , ym , h ) = f  xm + , ym +  (7.29)
 2 2 dx x = x m 

onde

dy
= f ( xm , y m ) (7.30)
dx x = xm

Na Fig. 7.4 é feita uma representação esquemática do método de Euler


modificado.
A inclinação da reta 2 é dada pela Eq. (7.29). A reta 3 possui a mesma
inclinação da reta 2 e passa no ponto (xm , ym ) . A equação para a reta 3 é dada,
portanto, por

y = ym + ( x − xm )ϕ ( xm , ym , h ) (7.31)

161
Para o ponto x = xm +1 obtém-se então

ym +1 = ym + hϕ (xm , ym , h ) (7.32)

Este também é um método de Runge-Kutta de segunda ordem.

y Reta 1 (Euler)

Reta 2

Reta 3

• y = y (x)
Solução exata
( xm +1 , ym +1 ) (desconhecida)
ym

xm xm +1 x
h/2

dy
Reta 1 → = f ( xm , y m )
dx x= xm

dy  h h dy 
Reta 2 → = f  xm + , ym + 
dx x = x m + h  2 2 dx 
2
 x = xm 

Figura 7.4 – Método de Euler Modificado.

7.2.2.4 – Método
de Quarta Ordem

Este é um dos métodos mais usados na solução de equações diferenciais


ordinárias, sendo usualmente referido como o método de Runge-Kutta.
Ele é dado por

h
ym +1 = ym + (k1 + 2k2 + 2k3 + k4 ) (7.33a)
6

162
k1 = f ( xm , ym ) (7.33b)

 h h 
k 2 = f  xm + , y m + k1  (7.33c)
 2 2 

 h h 
k 3 = f  xm + , y m + k 2  (7.33d)
 2 2 

k4 = f ( xm + h, ym + hk3 ) (7.33e)

7.3 – Métodos de
Múltiplos Passos
(Métodos Iterativos)

Nos métodos de Runge-Kutta obtemos ( xm +1 , ym +1 ) a partir de (xm , ym ) .


Nos métodos do tipo previsão-correção (iterativos) fazemos primeiro
uma previsão para ym +1 . Usando então uma outra fórmula fazemos a correção
desta previsão, e se necessário podemos repetir o procedimento.
Para a previsão vamos considerar um método de segunda ordem,

ym(0+)1 = ym −1 + 2hf ( xm , ym ) (7.34)

Podemos ver que y1 não pode ser calculado usando a Eq. (7.34) porque
seria necessário conhecer y−1 , o que não é possível uma vez que o procedimento
é iniciado a partir de x0 , onde conhecemos y0 . Um método de Runge-Kutta é
freqüentemente usado, portanto, para o início de um método do tipo previsão-
correção.
Na Fig. 7.5 vemos a representação geométrica para a obtenção de ym(0+)1
conforme a Eq. (7.34), para m ≥ 1 .

Precisamos agora de um método para melhorar a estimativa obtida com a


Eq. (7.34). Como sabemos ym(0+)1 podemos calcular a derivada no ponto
(xm +1 )
, ym(0+)1 que é representada pela reta 3 na Fig. 7.6.
É feita então a média entre as derivadas nos pontos (xm , ym ) , dada pela
inclinação da reta 1, e (xm +1 , ym(0+)1 ) dada pela inclinação da reta 3. Esta média é
representada pela inclinação da reta 4.

163
Reta 1
Reta 2

( xm +1 , ym(0)+1 )

y = y ( x)
Solução exata
(desconhecida)

xm −1 xm xm+1 x
h h

Figura 7.5 – Passo de previsão para ym +1 .

Reta 3
( xm +1 , ym(0)+1 )
Reta 1

Reta 2

Reta 4
y = y ( x)
Solução exata ( xm +1 , ym(1)+1 ) Reta 5
(desconhecida)

xm −1 xm xm+1 x
h h

Figura 7.6 – Passo de correção.

É traçada então uma reta através do ponto (xm , ym ) com a mesma


inclinação da reta 4. Esta nova reta representada pela reta 5 na Fig. 7.6 dá a nova
aproximação para ym(1+) 1 no ponto x = xm +1 .
O valor corrigido é dado por

h
ym(1+) 1 = ym +
2
[
f (xm , ym ) + f (xm +1 , ym(0+)1 )] (7.35)

164
Podemos agora obter uma estimativa melhor ym(2+)1 usando a derivada no
( )
ponto xm +1 , ym(1+) 1 . De forma geral,

h
ym(i )+1 = ym +
2
[ ]
f ( xm , ym ) + f (xm +1 , ym(i −+11) ) para i = 1, 2, 3,K (7.36)

O procedimento iterativo é interrompido quando

ym(i )+1 − ym(i −+11) < ε (7.37)

onde ε é uma tolerância estabelecida a priori.


∂f
Assumindo que é limitado
∂y

∂f
≤M (7.38)
∂y

o procedimento iterativo converge se

2
h< (7.39)
M

É necessário observar que o procedimento iterativo converge para um


valor, mas não necessariamente para o valor exato. A diferença entre os dois é o
erro de truncamento.
O método de previsão-correção apresentado possui as seguintes
características:

1) possui um pequeno erro de truncamento;


2) converge em um pequeno número de iterações;
3) não amplifica o erro com o aumento no valor de x.

7.4 – Exercícios

7.4.1 – Sob algumas condições especiais a modelagem de problemas transientes


em transferência de calor por condução pode ser feita usando uma equação
diferencial ordinária do tipo

dT (t ) hA
=− T (t ) (7.40a)
dt ρc pV

165
com a condição inicial

T (0 ) = T0 (7.40b)

onde h é o coeficiente de troca térmica, A é a área superficial do objeto sob


análise, V é o volume do mesmo, e ρ e c p representam respectivamente a
massa específica e o calor específico do material do qual o objeto é feito.

7.4.1.1 – Escreva uma rotina computacional para a solução do problema (7.40)


usando o método de Euler.

7.4.1.2 – Considere uma pequena esfera de diâmetro D = 10 −3 m , feita de cobre:


ρ = 8300kg / m3 e c p = 419 J / kg K , sendo resfriada em condições tais que
h = 50W / m 2 K .
Calcule a variação da temperatura com o tempo, no intervalo
0 < t < 1800s , sendo a temperatura inicial T0 = 3000 C .
Utilize dois valores diferentes para o passo no tempo e compare os
resultados obtidos.

7.4.2 – Para o circuito Resistor-Capacitor (RC) representado na figura abaixo, a


diferença de potencial através do capacitor, Vc , varia com o tempo, t .

+
V0 C Vc
_

Considere que o capacitor está inicialmente descarregado. No instante t = 0


a chave S é fechada e o capacitor começa então a ser carregado. Durante esta
fase de carga do capacitor a diferença de potencial através do mesmo, Vc (t ) , é
calculada a partir da equação diferencial ordinária e da condição inicial dadas
por

dVc (t ) Vc (t ) − V0
+ =0
dt τ

Vc (0 ) = 0

onde V0 é a diferença de potencial (constante) dada pela bateria e τ é o tempo


de relaxação dado pelo produto Resistência (R ) × Capacitância (C ) , ou seja,
τ = RC .

166
7.4.2.1 – Obtenha a solução analítica para este problema usando a mudança de
variável U (t ) = Vc (t ) − V0 .

7.4.2.2 – Escreva uma rotina computacional para a solução numérica deste


problema usando o Método de Euler.

7.4.2.3 – Escreva uma rotina computacional para a solução numérica deste


problema usando o Método de Euler melhorado.

7.4.2.4 – Usando os dados de entrada

V0 = 10V (ou seja, 10 volts)


R = 1Ω (ou seja, 1 ohm)
C = 1 F (ou seja, 1 faraday)

calcule Vc (t ) para diferentes instantes no intervalo de 0 a 10 segundos


usando a solução analítica obtida no item 7.4.2.1 e as rotinas
computacionais escritas nos itens 7.4.2.2 e 7.4.2.3. Compare e comente
os resultados obtidos apresentando-os em tabelas e gráficos. Obtenha os
resultados utilizando pelo menos três valores diferentes para o passo de
integração no tempo, ∆t , onde t m +1 = tm + ∆t , com t0 = 0 .

7.4.2.5 – Repita o trabalho realizado no item 7.4.2.4 usando os seguintes valores:

V0 = 10V
R = 2000Ω
C = 10 −6 F

167