Escolar Documentos
Profissional Documentos
Cultura Documentos
em
Engenharia Mecânica
Notas de Aula
Versão 0.4d
11 de Março de 2017
1
Programa de Engenharia Mecânica (COPPE/POLI) - UFRJ
2
Departamento de Ciência da Computação (IM) - UFRJ
ii
Agradecimentos
iii
iv
Conteúdo
1 Introdução 1
1.1 Solução de um problema de engenharia . . . . . . . . . . . . . 1
1.2 Verificação e validação . . . . . . . . . . . . . . . . . . . . . . 6
2 Análise de Erros 11
2.1 Base de número e conversões . . . . . . . . . . . . . . . . . . 11
2.2 Aritmética de ponto flutuante . . . . . . . . . . . . . . . . . . 15
2.3 Erro de arredondamento e propagação de erros numéricos . . 16
2.4 Perda de significância . . . . . . . . . . . . . . . . . . . . . . 20
v
vi CONTEÚDO
1
2 1. INTRODUÇÃO
Problema Real
Um sistema real, quando considerado em detalhes, é normalmente, muito
complicado e difícil de analisar. Compete, ao engenheiro, fazer simplifica-
ções sobre o sistema real, reduzindo a complexidade do problema e obtendo
um modelo possível de ser analisado com as ferramentas matemáticas dis-
poníveis.
Fica claro que o modelo como uma simplificação de um sistema real não
se comportará da mesma maneira. Dessa forma o comportamento previsto
matematicamente diferirá do comportamento real, mas ajudará no entendi-
mento do problema, e a economia de tempo e esforço no estudo analítico,
poderá tornar justificável a introdução das simplificações.
Modelo Físico
Um modelo é uma representação simplificada da realidade, ou uma
representação de um fragmento de um sistema, apresenta "apenas"uma
visão ou cenário de um fragmento do todo. Normalmente, para estudar um
determinado fenômeno complexo, criam-se vários modelos.
Modelo Matemático
Os modelos matemáticos representam os fenômenos da natureza por
meio de equações do tipo:
• Inequações
• Equações Integrais
• Equações Integro-Diferenciais
Exemplo 1.1
Seja a equação:
ax2 + bx + c = 0
Um método analitico (ou método direto) para resolver esta equação
é a fatoração, tal que:
(x − x1 )(x − x2 ) = 0
x2 − x(x1 + x2 ) + x1 x2 = 0
4 1. INTRODUÇÃO
Tal que:
c
x1 x2 =
a
b
x1 + x2 = −
a
Um método numérico para resolver esta mesma equação seria apro-
ximações sucessivas (uma abordagem iterativa). Podemos reescrever a
equação como sendo:
(ax2 + c)
x=− ,
b
em forma de aproximações sucessivas poderíamos construir um algoritmo
para computar o valor de x, segundo a expressão abaixo, onde k = 1, 2, 3...
:
(a(xk )2 + c)
xk+1 = −
b
E uma primeira aproximação possível para xk=1 seria a solução da equa-
ção do primeiro grau:
2
ax
H
H + bx + c = 0
bx + c = 0
c
x=−
a
Nos métodos numéricos faz-se aproximação do problema original por
outro de mais fácil resolução.
Métodos Numéricos
Os Métodos Numéricos correspondem a um conjunto de ferramentas ou
métodos usados para se obter a solução de problemas matemáticos de forma
aproximada. Esses métodos se aplicam a problemas que não apresentam
uma solução exata, portanto precisam ser resolvidos numericamente.
Deve-se escolher o método a ser utilizado, procurando aquele que é mais
adequado para o seu problema e que vantagens cada método oferece e que
limitações eles apresentam. Abaixo seguem alguns famosos métodos para
solução aproximada de equações diferenciais:
• Diferenças Finitas
• Elementos Finitos
• Volumes Finitos
1.1. SOLUÇÃO DE UM PROBLEMA DE ENGENHARIA 5
• Transformada de Laplace
• Métodos Espectrais
Algoritmo Computacional
A partir da formulação matemática e da escolha do método de solução
tem-se a implementação computacional de um algoritmo em uma linguagem
de programação adequada.
Dentre as várias linguagens de programação existentes, pode-se listar:
Validação
|E| = |S − D|,
onde S é o resultado numérico e D é a medição experimental.
• Incerteza de validação, Uval , (validation uncertainty) obtida da
combinação das incertezas numérica, experimental e dos parâmetros
que definem o problema (condições de fronteira, número de Reynolds,...)
q
Uval = (Unum )2 + (UD )2 + (Uinput )2 ,
onde Unum é a incerteza numérica, UD é a incerteza experimen-
tal e Uinput é a incerteza dos parâmetros que definem o pro-
blema (número de Reynolds, condições de fronteira,...)
As incertezas nos parâmetros de entrada, por exemplo errar no quinto
dígito significativo de uma propriedade, pode levar a propagação de um
grande erro ao final do procedimento de cálculo. O importante é saber que
tipo de operações serão feitas com aquele valor errado no quinto dígito.
10 1. INTRODUÇÃO
Exemplo 1.2
Quando formado um engenheiro é contratado para ganhar o salário inicial
de R$ 8.453,90. Imagine agora que por algum motivo desconhecido o valor
depositado na conta do banco deste engenheiro tem um pequeno erro, está
sendo depositado R$0,90 a menos do que o combinado (R$ 8.453,00). Com
medo de perder o emprego o funcionário não reclama. Ao final de 1 ano
(13 salários) essa diferença é de R$11,70, ao final de 30 anos de trabalho
nessa mesma empresa, essa diferença é de R$370,00. Agora imagine que
essa empresa tenha 3.000 funcionarios e que essa mesma diferença de sala-
rio aconteça com todos eles, ao final destes mesmos 30 anos o dono dessa
empresa já acumulou o total de R$1.053.000,00 que ele resolveu dar esse
dinheiro como presente de casamento para o seu netinho. Agora imagine
que esse netinho é você !!! Fez ou não diferença aquele “errinho” de R$0,90?
2
Análise de Erros
11
12 2. ANÁLISE DE ERROS
(11)2 = 1 × 21 + 1 × 20 = 3
(1101)2 = 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 13
b4 = 1
bn−1 = an−1 + bn × β
bn−2 = an−2 + bn−1 × β
bn−3 = an−3 + bn−2 × β
..
.
b0 = a0 + b1 × β
O decimal equivalente ao numero (10000)2 usando o algoritmo acima é:
b4 = 1
b3 = 0 + 1 × 2 = 2
b2 = 0 + 2 × 2 = 4
b1 = 0 + 4 × 2 = 8
b0 = 0 + 8 × 2 = 16
Por sua vez, conversão de um número decimal em base binária pode ser
feita escrevendo o numero em forma de um polinômio na base 10, conver-
tendo os coeficientes do polinômio e a base individualmente e seguindo o
algoritmo anteriormente apresentado:
b2 = a2 = (1)2
b1 = a1 + b2 × β = (1000)2 + (1)2 × (1010)2 = (1000)2 + (1010)2 = (10010)2
b0 = a0 + b1 × β = (111)2 + (10010)2 × (1010)2 = (111)2 + (10110100)2 = (10111011)2
2(0.625) = 1.25 → b1 = 1
2(0.25) = 0.5 → b2 = 0
2(0.5) = 1.0 → b3 = 1
2(0.0) = 0.0 → b4 = 0
2(0.1) = 0.2 → b1 = 0
2(0.2) = 0.4 → b2 = 0
2(0.4) = 0.8 → b3 = 0
2(0.8) = 1.6 → b4 = 1
2(0.6) = 1.2 → b5 = 1
2(0.2) = 0.4 → b6 = 0
2(0.4) = 0.8 → b7 = 0
2(0.8) = 1.6 → b8 = 1
2(0.6) = 1.2 → b9 = 1
2(0.2) = 0.4 → b10 = 0
2(0.4) = 0.8 → b11 = 0
2(0.8) = 1.6 → b12 = 1
2(0.6) = 1.2 → b13 = 1
..
.
e
± (.d1 d2 d3 . . . dn )β β
• Sinal (1bit)
• Expoente (8 bits)
16 2. ANÁLISE DE ERROS
e
± (.d1 d2 d3 . . . dn )β β
• Sinal (1bit)
• Mantissa (52 bits)
• Expoente (11 bits)
2
= (0.666666666666666 . . .) × 100
3
(
(0.66666667 . . .) × 100 → arredondamento
=
(0.66666666 . . .) × 100 → truncamento
2.3. ERRO DE ARREDONDAMENTO E PROPAGAÇÃO DE ERROS NUMÉRICOS17
Como o numero (0.1)10 não pode ser representado de forma exata pelo
computador, como vimos anteriormente, ele será truncado, introduzindo
um erro na sua representação. Uma forma interessante de constatar esse
1000
X
problema é escrevendo um pequeno programa que calcule o valor de 0.1
i=1
Você verá que esse número não é igual a 100 !
Exemplo deste cálculo em uma maquina de 64 bits usando o software
Mathematica:
N1 = +(0.435692) × 100
N2 = +(0.595879) × 100 N1 × N2 = 0.25961971326800004
N1 × N2 = 0.259620 → arredondamento
N1 × N2 = 0.259619 → truncamento
Erro Absoluto
Verificamos então que um número fracionário arredondado/truncado
apresentado por uma máquina é uma aproximação do valor real, já que ela
não pode mostrar infinitos algarismos. E quão próximo do valor real
está o resultado mostrado? Vamos definir a diferença entre o valor real
18 2. ANÁLISE DE ERROS
Quanto menor for esse erro, mais acurado será o resultado da operação.
Essa definição corresponde ao erro absoluto de um cálculo.
Por exemplo, digamos que o resultado de uma operação nos forneça o
valor 2123542.7 enquanto o valor real que deveríamos obter é 2123544.5.
valorReal = 2123544.5
valorAproximado = 2123542.7
erro absoluto = |2123544.5 − 2123542.7| = 1.8
O erro absoluto neste caso é 1.8. Comparada com o valor real, essa
diferença (o erro absoluto) é bem pequena, portanto, podemos considerar
o resultado preciso. Já em um outro caso, digamos que o resultado da
operação seja 0.234 e o resultado esperado era 0.128:
valorReal = 0.128
valorAproximado = 0.234
erro absoluto = |0.128 − 0.234| = 0.106
Desta vez o erro absoluto será igual a 0.106 , portanto menor que o
anterior, porém o resultado é bastante impreciso. Logo, se estivermos
lidando com números muito grandes, o erro pode ser grande em termos
absolutos, mas o resultado ainda ser preciso. E o caso inverso também
pode ocorrer: um erro absoluto pequeno, mas um resultado impreciso.
Essa ideia de precisão e imprecisão em uma aproximação vem ao se comparar
o erro absoluto e o seu valor real, a essa análise do erro dá se o nome de
erro relativo.
Erro Relativo
A fim de evitar esse tipo de ambiguidade, podemos criar uma nova definição.
Podemos definir o erro relativo, que corresponde ao quociente entre o erro
absoluto e o valor real da grandeza a ser calculada, ou seja:
valorReal = 0.32854
valorAproximado = 0.32632
erro absoluto = |0.32854 − 0.32632| = 0.00222 = 0.222 × 10−2 → acurácia
0.00222
erro relativo = = 0.0068031 = 0.68 × 10−2 → precisão
|0.32854|
|0.00016 − 0.0002|
E o erro relativo é de erro relativo = = 0.25 = 25%
|0.00016|
Subtração de números muito proximos é uma das operações que gera
perda de dígitos significativos e, quando possível, devemos evitar esse tipo
de conta. Uma situação onde não conseguimos evitar esse tipo de problema
é na aproximação de uma derivada por uma diferença finita. Isso será
mais comentado no próximo capítulo.
A perda de dígitos significativos pode ser contornada quando esta
pode ser prevista. Uma forma é, quando possível, calcular N1 e N2 com
mais precisão de modo a minimizar essa perda. Uma outra possibilidade
é, quando possível, mudar a ordem das operações ou usar uma fórmula
alternativa para o cálculo. Veja os efeitos disso na seguinte situação:
2.4. PERDA DE SIGNIFICÂNCIA 21
1 − cos(x) 2sen2 ( x2 )
Portanto, f (x) = = . Escrita nessa forma, o pro-
sen(x) sen(x)
blema não ocorre mais.
3
Método das Diferenças Finitas
(EDO)
23
24 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
Primeira Derivada
Para obter a expressão em termos de diferenças finitas para a derivada de
primeira ordem f 0 (x) , isolamos f 0 (x) nas equações acima, temos duas apro-
ximações para a primeira derivada tal que:
∆x2 00 ∆x3 00
f (x + ∆x) = f (x) + ∆xf 0 (x) + f (x) + f (x) + ...
2! 3!
∆x2 00 ∆x3 000
− f (x − ∆x) = f (x) − ∆xf 0 (x) + f (x) − f (x) + ...
2! 3!
3.1. DEDUÇÃO DAS FÓRMULAS DE DIFERENÇAS FINITAS 25
______________________________________________
∆x3 000
f (x + ∆x) − f (x − ∆x) = 2∆xf 0 (x) + 2 f (x) + ...
3!
isolando f 0 (x):
Diferença avançada
f (x + ∆x) − f (x)
f 0 (x) = + O(∆x) (3.4)
∆x
Diferença atrasada
f (x) − f (x − ∆x)
f 0 (x) = + O(∆x) (3.5)
∆x
Diferença centrada
f (x + ∆x) − f (x − ∆x)
f 0 (x) = + O(∆x2 ) (3.6)
2∆x
Onde O(∆x) e O(∆x2 ) representam a ordem dos erros envolvidos
nessas aproximações.
Diferença avançada
fi+1 − fi
fi0 = + O(∆x)
∆x
26 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
Diferença atrasada
fi − fi−1
fi0 = + O(∆x)
∆x
Diferença centrada
fi+1 − fi−1
fi0 = + O(∆x2 )
2∆x
Segunda Derivada
Prosseguindo com a representação de diferenças finitas para a segunda
derivada , faz-se a expansão em série de Taylor de f (x) nos pontos f (x+2∆x)
e f (x − 2∆x), tem-se:
- Para aproximar por diferenças precisamos de pelo menos 3 pontos:
(xi , xi+1 , xi+2 ) ou (xi , xi−1 , xi−2 ):
" #
∆x2 00
0 ∆x3 000
2 f (x − ∆x) = f (x) − ∆xf (x) + f (x) − f (x) + ...
2! 3!
4∆x2 00 8∆x3 000
− f (x − 2∆x) = f (x) − 2∆xf 0 (x) + f (x) − f (x) + ...
2! 3!
______________________________________________
Diferença avançada
fi − 2fi+1 + fi+2
fi00 = + O(∆x)
∆x2
Diferença atrasada
fi−2 − 2fi−1 + fi
fi00 = + O(∆x)
∆x2
Diferença centrada
fi−1 − 2fi + fi+1
fi00 = + O(∆x2 )
∆x2
28 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
∆x2 000
f (x) − f (x − ∆x) ∆x f (x − 2∆x) − 2f (x − ∆x) + f (x)
f 0 (x) = + + ∆f 000
(x) + f (x) − ...
∆x 2! ∆x2 3!
f (x) f (x − ∆) f (x − 2∆x) f (x − ∆x) f (x) ∆x2 000 ∆x2 000
f 0 (x) = − + − + + f (x) + f (x)−
∆x ∆x 2∆x ∆x 2∆x 2 6
2f (x) 2f (x − ∆x) f (x − 2∆x) 2f (x − ∆x) f (x) 3∆x2 000 ∆x2
f 0 (x) = − + − + + f (x) + − ...
2∆x 2∆x 2∆x 2∆x 2∆x 6 6
2
3f (x) 4f (x − ∆) f (x − 2∆x) 4∆x 000
f 0 (x) = − + + f (x) − ...
2∆x 2∆x 2∆x 6
1a. derivada atrasada (c/ 3 pontos):
1
diferença atrasada: fi00 = (−fi−3 +4fi−2 −5fi−1 +2fi )+O(∆x2 )
∆x2
fi0 = fiAP
0 0 0
ROX + O(∆x) → fi = fiAP ROX + ∆xg
fi0 − fiAP
0
ROX = ∆xg
fi0 − fiAP
0
ROX ∆xg
REL = 0 =
fi fi0
∆x
Então, seja ∆x um espaçamento escolhido e ∆x∗ = um outro espa-
10
çamento posteriormente usado. É possível perceber que:
fi0 − fiAP
∗ ∆x∗ g REL
∗REL = 0
ROX
= =
fi fi0 10
Exemplo 3.1
Seja a função f (x) = ex , tal que f 0 (x) = ex :
Vamos considerar a aproximação de diferença avançada para a primeira
derivada:
fi+1 − fi
fi0 = + O(∆x)
∆x
Como a ordem do erro é de ∆x, um dígito de precisão deve ser ganho
no cálculo da primeira derivada quando o espaçamento for reduzido em
10 vezes. Porém há problema quando diminuimos ∆x: a subtração de
fi+1 e fi acaba envolvendo números muito próximos, e já sabemos da
análise de erros que a subtração de números muito próximos é uma operação
perigosa, com consequente perda de dígitos significativos.
∆x fi0
1 x.***********
0.1 x.x**********
0.01 x.xx*********
0.001 x.xxx********
0.0001 x.xxxx*******
0.00001 x.xx*********
0.000001 x.***********
0
fiexato = fi0 + iaproxF inita + iM DF
Onde existe então um ponto ótimo de compromisso entre o erro
introduzido pela limitação dos computadores de trabalharem com precisão
finita (que leva o aumento do erro à medida que ∆x diminui) e o erro da
aproximação da derivada por diferenças finitas (que leva o aumento do erro
à medida que ∆x aumenta).
32 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
φ2 ∆x3 φ2 ∆x4
Erro ≈ − (1 + φ)f 000 (x) − (1 + φ2 )f (4) (x)
φ∆x(1 + φ)3! φ∆x(1 + φ)4!
∆x ∆x2
≈ (1 − φ)f 000 (x) − (1 + φ3 )f (4) (x)
3 (12(1 + φ))
fi − fi−1 fi+1 − 2fi + fi−1
p(x) = fi−1 + (x − xi + ∆x) + (x − (x i − ∆x))(x − x i )
∆x 2∆x2
fi − fi−1 fi+1 − 2fi + fi−1
p0 (x) = + (2x − 2xi + ∆x)
∆x 2∆x2
0 fi − fi−1 fi+1 − 2fi + fi−1
p (xi ) = + (
∆x )
∆x 2∆x2
2fi − 2fi−1 fi+1 − 2fi + fi−1 fi+1 − fi−1
= + = = fi0
2∆x 2∆x 2∆x
0 2fi − 2fi−1 fi+1 − 2fi + fi−1
p (xi + ∆x) = + 2xi + 2∆x −
( 2xi + ∆x)
2∆x 2∆x2
2fi − 2fi−1 fi+1 − 2fi + fi−1
= + (3
∆x
)
2∆x 2∆x2
2fi − 2fi−1 3fi+1 − 6fi + 3fi−1
= +
2∆x 2∆x
fi−1 − 4fi + 3fi+1 0
= = fi+1 → Derivada atrasada de 3 pontos no nó i + 1
2∆x
Mas uma pergunta boa a se fazer é se sempre pode se inferir que p0 (x) ≈ f 0 (x) e
qual a ordem do erro cometido. Pela teoria de intepolação, é possível escrever
o erro E(x) cometido ao aproximar uma f (x) por um polinômio interpolador p(x)
de grau n em um intervalo [a, b]:
n
f (n+1) (ξ(x)) Y
E(x) = f (x) − p(x) = (x − xi )
(n + 1)! i=0
1 000
E 0 (x) ≈ f (xi )[(x − xi )(x − xi − ∆x) + (x − xi + ∆x)(x − xi − ∆x) + (x − xi + ∆x)(x − xi )]
3!
Vamos estimar o erro cometido ao aproximar a derivada no ponto x = xi :
Percebe-se que a ordem do erro O(∆x2 ) corrobora com o encontrado via série
de Taylor. Para finalizar, façamos somente a dedução da expressão de diferença
finita centrada para segunda derivada (juntamente com uma estimativa para o
erro):
Uma aproximação para E 00 (x) pode ser determinada da mesma forma que an-
teriormente (substituir ξ(x) por xi ):
1 000
E 00 (x) ≈ f (xi )[2(x − xi + ∆x) + 2(x − xi ) + 2(x − xi − ∆x)]
3!
Descrevendo a aproximação e uma estimativa do erro no ponto x = xi :
1
E 00 (xi ) = − ∆x2 f (4) (ξ(xi ))ξ 0 (xi )
3
Exemplo 3.2
Considere um problema de aletas dado matematicamente pelas equações
abaixo:
d2 T (x)
+ m2 (T (x) − T∞ ) = 0, 0 ≤ x ≤ L
dx2
sujeita as condições de contorno:
3.2. APLICAÇÃO EM PROBLEMAS DE VALOR DE CONTORNO 37
T (x = 0) = Tb em x = 0
−k dT (x)
= h(T (x = L) − T∞ ) em x=L
dx x=L
• Para o nó x0 : T0 = Tb
• Para o nó x1 : −(2 + m2 ∆x2 )T1 + T2 = −m2 ∆x2 T∞ − T0
• Para o nó x2 : T1 − (2 + m2 ∆x2 )T2 + T3 = −m2 ∆x2 T∞
• Para o nó x3 : T2 − (2 + m2 ∆x2 )T3 + T4 = −m2 ∆x2 T∞
• Para o nó x4 : T3 − (2 + m2 ∆x2 )T4 + T5 = −m2 ∆x2 T∞
• Para o nó x5 : T4 − (2 + m2 ∆x2 )T5 + T6 = −m2 ∆x2 T∞
T6 − T4
−k = h(T5 − T∞ )
2∆x
2∆xh
T6 = T4 − (T5 − T∞ )
k
Substituindo T6 na equação para o nó x5 temos então:
2∆xh 2∆xh
• Para o nó x5 : 2T4 − (2 + m2 ∆x2 + )T5 = −(m2 ∆x2 + )T∞
k k
Temos então que resolver este sistema de 5 equações e 5 incognitas,
que pode ser escrito na forma matricial Ax = b como mostrado a
seguir:
−(2 + m2 ∆x2 ) 1 0 0 0
T1
1 −(2 + m2 ∆x2 ) 1 0 0 T2
0 1 −(2 + m2 ∆x2 ) 1 0
T3
0 0 1 −(2 + m2 ∆x2 ) 1
T4
2∆xh
0 0 0 2 −(2 + m2 ∆x2 + ) T5
k
−m2 ∆x2 T∞ − T0
−m2 ∆x2 T∞
−m2 ∆x2 T∞
=
2 2
−m ∆x T∞
2∆xh
−m2 ∆x2 T∞ −
k
Pode-se observar que o sistema matricial acima, Ax = b , tem como
solução o vetor de temperaturas, x . Pode-se observar também que para
este caso a matriz A é tridiagonal, como consequencia da adoção de um
esquema de aproximação centrada para as derivadas. Percebe-se que agora
o problema é do âmbito da álgebra linear e nos capítulos 5 e 6 serão
estudadas/revisitadas formas de solucioná-lo.
3.2. APLICAÇÃO EM PROBLEMAS DE VALOR DE CONTORNO 39
Exemplo 3.3
Considere uma viga de comprimento L biapoiada em suas extremidades
e com uma carga constante q distribuída ao longo de sua extensão. O ob-
jetivo nesse problema é calcular o deslocamento da viga em função de sua
coordenada espacial.
d4 u
EI =q
dx4
onde E,I,q são constantes do problema. O problema é marcado pelas
seguintes condições de contorno:
u(x = 0) = 0
d2 u
EI
(x = 0) = 0
dx 2
u(x = L) = 0
2
EI d u (x = L) = 0
dx 2
x = i∆x
u(x) ≈ ui
d2 u ui+1 − 2ui + ui−1
2
≈
dx ∆x2
4
d u ui+2 − 4ui+1 + 6ui − 4ui−1 + ui−2
4
≈
dx ∆x4
Substituindo as aproximações por diferenças finitas na equação diferen-
cial, temos a equação do nó geral:
q∆x4
ui−2 − 4ui−1 + 6ui − 4ui+1 + ui+2 =
EI
40 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
L L
Discretizando o domínio em 5 nós ∆x = = , somente para
5−1 4
ilustrar o processo de discretização, a formulação pode ser estendida para
uma quantidade consideravelmente maior de nós:
• Para o nó i = 1:
q∆x4
u−1 − 4u0 + 6u1 − 4u2 + u3 =
EI
Identifica-se a presença do nó fictício u−1 . Para resolver esse pro-
blema, usamos novamente uma das condições de contorno:
d2 u(0)
EI =0
dx2
u1 − 2u0 + u−1
=0
∆x2
u−1 = 2u0 − u1
Substituindo na equação do nó i = 1 previamente determinada:
q∆x4
2u0 + 5u1 − 4u2 + u3 =
EI
• Para o nó i = 2:
q∆x4
u0 − 4u1 + 6u2 − 4u3 + u4 =
EI
• Para o nó i = 3:
q∆x4
u1 − 4u2 + 6u3 − 4u4 + u5 =
EI
Identifica-se a presença do nó fictício u5 . Para resolver esse problema,
usamos novamente uma das condições de contorno:
d2 u(L)
EI =0
dx2
u5 − 2u4 + u3
=0
∆x2
u5 = 2u4 − u3
3.2. APLICAÇÃO EM PROBLEMAS DE VALOR DE CONTORNO 41
q∆x4
u1 − 4u2 + 5u3 − 2u4 =
EI
u4 = 0
EI
Neste problema unidimensional essa diferença é de somente duas linhas,
o que faz com que inserir valores já conhecidos no sistema não seja um pro-
blema. O mesmo não pode ser ditos em problemas bidimensionais e
tridimensionais, já que nesses há diversos nós associados a uma só condi-
ção de contorno. Além disso, remover os contornos neste caso (assim como
outros diversos) fez com que haja uma matriz simétrica no sistema li-
near associado, e será visto que isso permite que mais métodos pos-
sam ser aplicados na solução do mesmo (no capítulo 6 será estudada
a decomposição Cholesky, que é um desses métodos).
Exemplo 3.4
Considere a condução de calor unidimensional em regime permanente
em um cilindro maciço com geração interna de energia. A equação ordinária
que descreve matematicamente este problema físico é:
42 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
dT = 0,
em r = 0
dr
T = T∞ , em r = 1
1 dT (r) d2 T (r)
lim =
r→0 r dr dr2
Portanto somente no ponto r = 0, a equação diferencial ordinária será:
d2 T (r) g(r)
2 + =0
dr2 k
A discretização espacial do problema usando o método das dife-
renças finitas, usando diferenças centradas nas derivadas do problema
será marcada por:
r = i∆r
T (r) ≈ Ti
g = gi
d2 T Ti+1 − 2Ti + Ti−1
≈
dr2 ∆r2
dT Ti+1 − Ti−1
≈
dr 2∆r
Primeiro temos de obter a equação do nó geral substituindo as apro-
ximações na EDO:
1 1
Discretizando o domínio em 5 nós ∆r = = , escrevemos as
5−1 4
equações para cada um dos nós:
• Para o nó i = 2:
• Para o nó i = 3:
4 4
(λ − β)T2 + (−2λ)T3 + (λ + β)T4 = α
3 3
T4 = T∞
−1 α∆r2
1 0 0 0 T0
λ − 4β −2λ λ − 4β 0 0 4
T1 α
0 λ − 2β −2λ λ + 2β 0 T2 = α
4 4
0 0 λ− β −2λ λ + β T3 α
3 3 T4
0 0 0 0 1 T
∞
α∆r2
−1
1 0 0 T0 4
λ − 4β −2λ λ + 4β 0
T1
α
0
λ − 2β −2λ
λ + 2β =
T2 α
4
4
0 0 λ − β −2λ T3
3 α − (λ + β)T∞
3
Exemplo 3.5
Considere a distribuição de calor em uma barra longa fina de compri-
mento L, levando em conta o efeito de radiação além do de condução.
Neste caso, a equação diferencial que descreve essa situação (no caso per-
manente) é:
d2 T
−k + β(T 4 − Tb4 ) = g(x)
dx2
Com as respectivas condições de contorno:
(
T (0) = 0
T (L) = 0
x = i∆x
T (x) ≈ Ti
g = gi
d2 T Ti+1 − 2Ti + Ti−1
2
≈
dx ∆x2
L L
Discretizando o domínio em 5 nós ∆r = = , escrevemos as
5−1 4
equações para cada um dos nós:
T0 = 0
46 3. MÉTODO DAS DIFERENÇAS FINITAS (EDO)
• Para o nó i = 1:
h i
(−k)T2 + (2k)T1 + ∆x2 βT14 + (−k)T0 = ∆x2 g1 + ∆x2 βTb4
• Para o nó i = 2:
h i
(−k)T3 + (2k)T2 + ∆x2 βT24 + (−k)T1 = ∆x2 g2 + ∆x2 βTb4
• Para o nó i = 3:
h i
(−k)T4 + (2k)T3 + ∆x2 βT34 + (−k)T2 = ∆x2 g3 + ∆x2 βTb4
T4 = 0
h i
f1 (T ) = (−k)T2 + (2k)T1 + ∆x2 βT14 − ∆x2 g1 − ∆x2 βTb4 = 0
h i
f2 (T ) = (−k)T3 + (2k)T2 + ∆x2 βT24 + (−k)T1 − ∆x2 g2 − ∆x2 βTb4 = 0
h i
f3 (T ) = (2k)T3 + ∆x2 βT34 + (−k)T2 − ∆x2 g3 − ∆x2 βTb4 = 0
49
50 4. MÉTODO DAS DIFERENÇAS FINITAS (EDP)
Exemplo 4.1
Seja a equação de Poisson:
∇2 T (x) = g(x)
d2 T
= g(x), já estudada no capítulo anterior
dx2
∂2T ∂2T
+ = g(x, y) → A = 1, B = 0, C = 1 →B 2 − 4AC < 0
∂x2 ∂y 2
Elíptica
Exemplo 4.2
Seja a equação do Calor:
∂T (x, t)
= α∇2 T (x, t)
∂t
∂T ∂2T
= α 2 → A = α, B = 0, C = 0 →B 2 − 4AC = 0
∂t ∂x
Parabólica
Exemplo 4.3
Seja a equação da Onda:
∂ 2 T (x, t)
= λ∇2 T (x, t)
∂t2
• No caso em que x = [x](1D), tem-se a equação diferencial parcial:
∂2T ∂2T
= λ → A = λ2 , B = 0, C = −1 →B 2 − 4AC > 0
∂t2 ∂x2
Hiperbólica
∂T (x, t) ∂T (x, t)
+u =0
∂t ∂x
• Derivando a equação em relação a t:
∂ 2 T (x, t) ∂ 2 T (x, t)
2
+u =0 (4.1)
∂t ∂t∂x
• Derivando a equação em relação a x
∂ 2 T (x, t) ∂ 2 T (x, t)
+u =0
∂x∂t ∂x2
• Multiplicando esta ultima por u:
∂ 2 T (x, t) ∂ 2 T (x, t)
u + u2 =0 (4.2)
∂x∂t ∂x2
52 4. MÉTODO DAS DIFERENÇAS FINITAS (EDP)
∂ 2 T (x, t) 2
2 ∂ T (x, t)
− u =0
∂t2 ∂x2
∂ 2 T (x, t)
Como podemos ver o termo não vem do operador Laplaciano
∂x2
(divergente do gradiente), ou seja este transporte é não-difusivo.
Como foi visto nos dois capítulos anteriores, discretizar equações di-
ferenciais normalmente resulta em um sistemas lineares de equações
algébricas, um dos tópicos mais importantes da álgebra linear. Também
foi verificado que para se ter aproximações boas das soluções, é preciso usar
um número considerável de nós, o que resulta em sistemas lineares
de grande porte, o que motiva o uso de ferramentas da álgebra linear
num ambiente computacional. Outra importância da álgebra linear é
ser uma ferramenta para avaliar estabilidade dos esquemas de discre-
tização. Diferente do curso introdutório de álgebra linear, também serão
investigados a eficiência e as fontes dos erros oriundos do uso de um
determinado método.
OBS: A notação adotada será:
• Vetores são denotados por letras em minúsculo em negrito. Ex: v, b, x.
São sempre considerados vetores coluna (N × 1). Logo vT seria
um vetor linha (1 × N ), já que é o transposto de um vetor coluna.
53
54 5. ÁLGEBRA LINEAR (REVISÃO)
Exemplo 5.1
x = [2 3]T
Interpretação geométrica
Interpretação algébrica
" # " # " #
2 −1 1
x +y =
1 1 5
Matriz Inversa
Dada uma matriz A quadrada (N × N ) diz-se que uma matriz A−1 é inversa
de A se AA−1 = A−1 A = I, I sendo a matriz identidade. Tomando a
matriz A do Exemplo 5.1 , tem-se que A−1 será:
1 1
A−1
3 3
= 1 2
−
3 3
Isso se confirma, dado que:
1 1 "
# " #
3 2 −1 1 0
1 3 2 1 1 = 0 1
−
3 3
Como já dito , matrizes agem sobre vetores. Não deve-se pensar na ma-
triz inversa de uma matriz só como uma “caixa de números” que o produto
resulta na matriz identidade, mas na matriz que desfaz a transformação
feita sobre um vetor. Aproveitando ainda o Exemplo 5.1, isso fica visível
ao verificar que:
1 1 " # " #
3 3 1 2
1 2 5 = 3 (5.2)
−
3 3
De (3.2), fica evidente que uma forma de resolver um sistema linear
é determinar a matriz inversa de A, e em seguida aplicá-la em b (realizar
A−1 b) . Isso nem sempre é possível, entretanto. Veja o seguinte exemplo:
Exemplo 5.2
" #" # " #
2 −1 2 0
=
−2 1 4 0
Pelo que foi visto, aplicar a matriz inversa de A sobre b = [0 0]T teria
como resposta x = [2 4]T . Mas não há Mas não há uma transformação
que ao ser aplicada sobre o vetor nulo resulte em algo diferente do vetor
nulo. Logo, A−1 não existe uma vez que não se sabe como “voltar para o
vetor x após ele sofrer uma transformação de A” (diz que a transformação
não é injetora nesse caso). Além disso, há mais um problema: aplicar A sobre
0 (vetor nulo) resulta em um mesmo vetor que o do sistema do exemplo,
56 5. ÁLGEBRA LINEAR (REVISÃO)
então “não se sabe como voltar pois há mais de uma maneira de formar
um determinado vetor”.
A matriz quadrada A não possuir inversa se dá pelo fato do suas
colunas não formarem uma base para o espaço vetorial de vetores
de duas entradas (R2 ), apenas formam um subespaço vetorial S
contido no mesmo. Isso pode soar um pouco abstrato, então segue uma
breve revisão de todas essas definições.
Subespaço Vetorial
Definimos como um subconjunto S como um subespaço de um espaço veto-
rial V se:
1. 0 ∈ S.
2. u + w ∈ S para qualquer u, w ∈ S.
3. αu ∈ S para todo u ∈ S e α ∈ R.
Exemplos de subespaços são retas, hiperplanos e até mesmo um espaço
vetorial todo como o Rn . Olhando as colunas da matriz A , nota-se que o
subespaço gerado por ela não é o R2 todo, e sim a reta que tem como vetor
diretor [2 − 2]T . É uma verdade que para conseguir gerar um espaço
vetorial Rn , necessita-se de ao menos n vetores. E por que não foi possível
gerar o R2 , já que havia uma matriz de 2 colunas (2 vetores)? Porque
5.1. SISTEMAS LINEARES (INTRODUÇÃO) 57
x1 v1 + x2 v2 + x3 v3 + ... + xn vn = b
é uma combinação linear dos vetores mencionados. Olhando para
colunas de uma matriz A de um sistema linear Ax = b como vetores,
percebe-se que resolver um sistema linear é determinar os escalares (coefici-
entes) da combinação linear das colunas de A que gera b .
x1 v1 + x2 v2 +x3 v3 + ... + xk vk = 0
y
x1 0
x2 0
| | | ... |
x 0
v1 v2 v3 ... vk
3 =
. .
| | | ... | .. ..
xk 0
Imagem
Subespaço formado por todos os vetores que podem ser escritos da forma
Ax, ou seja, todos os possíveis vetores que podem ser formados ao se realizar
uma combinação linear das colunas de A. Denotado por Im(A).
Núcleo
Subespaço formado por todos os vetores que são solução do sistema linear
homogêneo Ax = 0. Quando somente a solução trivial é a solução (caso
que ocorre quando as colunas da matriz formam um conjunto LI), diz-se
que o núcleo é trivial (caso contrário o mesmo é não-trivial). Denotado
por N (A).
Exemplo 5.3
4 18 −82
18 9 −9
17 15 −41
A Imageme oNúcleo
são
respectivamente:
4 18
−2
Im(A) = c1 18 + c2 9 , ∀c1 , c2 ∈ R , N (A) = d 5 , ∀d ∈ R
17 15 1
A imagem só contém as duas direções independentes (o terceiro vetor
é uma combinação linear dos dois primeiros) e o núcleo contém todas as
infinitas formas de se resolver Ax = 0. A maneira de determinar quem são
esses subespaços algoritmicamente será vista posteriormente.
2. ||0|| = 0.
• A norma L1 :
n
X
||v||1 = |vi |
i=1
Exemplo 5.4
" #
h i 1
1 1 =2
1
produto interno
" # " #
1 h i 1 1
1 1 =
1 1 1
produto tensorial (não será muito explorado nesse curso)
5.2. NORMA, PRODUTO INTERNO E ORTOGONALIDADE 61
Exemplo 5.5
1 2 3 2 3 5 −21 22 20
4 5 6 −1 2 3 −39 52 53
=
7 8 9 −7 5 3 −57 82 86
2 3 5 1 2 3 49 59 69
−1 2 3 4 5 6 = 28 32 36
−7 5 3 7 8 9 34 35 36
Ortogonalidade
Dois vetores não-nulos v e w ∈ Rn são ditos ortogonais (ou perpendicu-
π
lares) se o ângulo entre os mesmos for igual a . O produto interno dos
2
mesmos será sempre nulo, já que:
π
vT w = ||v||||w|| cos = ||v||||w|| · 0 = 0
2
Um conjunto de vetores ortogonais é necessariamente linearmente
independente . Além disso, escrever um vetor com uma base ortogonal
é mais imediato do que no caso geral, tudo uma consequência do produto
interno entre estes ser nulo. Vejamos primeiramente a prova de que um
conjunto de vetores ortogonais é necessariamente linearmente independente.
Teorema: Um conjunto de vetores ortogonais é necessariamente linear-
mente independente.
Prova: Sejam q1 , q2 , q3 , ..., qn ∈ Rn vetores não-nulos ortogonais e
x1 , x2 , x3 , ..., xn ∈ R, a combinação linear dos mesmos que forma 0
x1 q1 + x2 q2 + x3 q3 + ... + xn qn = 0
1. Para todo qj (1 ≤ j ≤ n) , se realizarmos o produto de ambos os lados
pela esquerda de qj (produto interno):
qjT (x1 q1 + x2 q2 + ... + xn qn ) = qjT 0
Para mostrar que representar um vetor por uma base ortogonal é um pro-
cesso mais imediato do que no caso geral será necessário revisitar o conceito
de projeção ortogonal.
Projeção Ortogonal
Dados dois vetores não-nulos v e w , a projeção ortogonal de w em v é
definido como:
wT v
Pv (w) = ·v
vT v
0
Pv (w) = ·v=0
vT v
O conceito de projeção será mais explorado em breve, mas por enquanto
o que foi visto é o necessário para mostrar a facilidade de representar
um vetor numa base ortogonal.
x1 q1 + x2 q2 + ... + xn qn = w
Mas estes escalares seguem sempre uma “regra”. Pelo fato da pro-
jeção ortogonal ser uma transformação linear, pode-se afirmar que:
p/ qualquer v1 , v2 ∈ Rn
p/ qualquer α ∈ R
vT qj vT qj qjT v
xj = T = = (5.3)
qj qj ||qj ||2 ||qj ||2
0.4031 0.6422 0.6520 x1 1.0355
0.1044 −0.7400 0.6644 x2 = −2.0401
−0.9092 0.1997 0.3654 x3 −0.8751
As colunas desta matriz são vetores ortogonais... aliás são algo mais do
que isso: são vetores ortonormais (ortogonais com norma igual a 1).
Já foi visto que o desafio de resolver um sistema linear nada mais é do que
determinar os escalares que fazem b ser uma combinação linear das colunas
de A . Usando a expressão (3.3), temos que os escalares serão dados por:
1.0355
0.4031 0.1044 −0.9092 −2.0401
−0.8751
x1 = =1
1
1.0355
0.6422 −0.7400 0.1997 −2.0401
−0.8751
x2 = =2
1
1.0355
0.6520 0.6644 0.3654 −2.0401
−0.8751
x3 = =2
1
Prestando um pouco de atenção, não foi feito nada além de x = AT b, e
tínhamos certeza que isso seria dado por x = A−1 b . Na realidade, matrizes
quadradas com colunas ortonormais possuem a matriz transposta
igual a sua inversa. Essas matrizes especiais são chamadas de matrizes
ortogonais. Segue uma breve definição deste tipo de matrizes:
64 5. ÁLGEBRA LINEAR (REVISÃO)
Matriz Ortogonal
Seja Q uma matriz ortogonal . Pode-se afirmar então que:
• QT = Q−1 .
Eliminação Gaussiana
Dado um sistema linear Ax = b , deseja-se obter um sistema linear
triangular superior equivalente mais fácil de ser resolvido U x = y . Sis-
temas triangulares são fáceis de ser resolvidos, uma vez que basta aplicar o
processo de substituição reversa para se obter a solução x do sistema. O
processo envolve em aplicar operações elementares sobre a matriz A e o
vetor b simultâneamente. Vamos ver um exemplo:
Exemplo 5.6:
x1 + 2x2 + x3 = 5
1 2 1 x1 5
3x + 2x + 4x = 17 → 3 2 4 x2 = 17
1 2 3
4x + 4x + 3x = 26
1 2 3
4 4 3 x3 26
1 2 1 | 5 1 2 1 | 5 1 2 1 | 5
3 2 4 | 17 → 0 −4 1 | 2 → 0 −4 1 | 2
4 4 3 | 26 4 4 3 | 26 0 −4 −1 | 6
a21
1. L2 ← L2 + (− )L1 = L2 + (−3)L1
a11
a31
2. L3 ← L3 + (− ) = L3 + (−4)L1
a11
Com todos os elementos abaixo do pivô nulos, devemos caminhar para
outro pivô. Será o elemento não nulo da matriz a22 .
1 2 1 | 5 1 2 1 | 5
0 −4 1 | 2 → 0 −4 1 | 2
0 −4 −1 | 6 0 0 −2 | 4
66 5. ÁLGEBRA LINEAR (REVISÃO)
a32
1. L2 ← L2 + (− )L1 = L3 + (−1)L2 .
a22
Por fim torna-se o problema de resolver [A|b] em um outro mais fácil de
ser resolvido [U |y]. O processo de substituição reversa é essencialmente
encontrar as variáveis do vetor solução de “baixo para cima”.
4
x3 = = −2
−2
2 − [1(−2)]
x2 = = −1
−4
5 − [1(−2) + 2(−1)]
x1 = =9
1
L−1 Ax = L−1 b → U x = y
Não se estranhe o uso de ter chamado aquela composição de matrizes de
L−1 . Isso fará mais no próximo assunto que é decomposição LU.
Decomposição LU
Imagine o seguinte cenário: um engenheiro percebeu que uma entrada
do vetor b do seu sistema linear estava incoerente. Certamente seria algo
custoso resolver o processo de eliminação gaussiana mais uma vez. Mas não
há dúvidas que as operações elementares a serem aplicadas seriam
exatamente as mesmas do que a do sistema anterior. Daí surgiu
a ideia de armazenar as operações elementares, decompondo a matriz em
duas matrizes triangulares. Olhando novamente para as matrizes que
representam as operações elementares, uma característica muito interessante
das mesmas é o que faz com que essa decomposição seja obtida com tran-
quilidade:
Lema: A inversa da matriz Cij {α} é igual a Cij {−α}. Isso é possível
de se verificar, dado que:
5.3. SISTEMAS LINEARES (MÉTODOS DE RESOLUÇÃO) 67
Cij {α}Cij {−α} = (I + αEij )(I − αEij ) = (I − αEij + αEij − α2 Eij ) = (I − α2 Eij )
Como Eij tem apenas uma posição não nula (a saber, a posição (i, j)),
seu quadrado só pode ser diferente de zero se i = j, que nunca é o caso
2
quando tratamos de matrizes elementares.Logo, Eij = 0, então chegamos que
Cij {α}Cij {−α} = I, demonstrando esta propriedade (produto resultar na
identidade mostra que é a inversa). A ideia intuitiva por trás dessa inversa
no processo de eliminação seria a de que o inverso de somar duas linhas
seria realizar uma subtração análoga
Outra propriedade muito importante de matrizes triangulares inferiores é
que o produto de uma triangular inferior com outra sempre resulta
em uma triangular inferior. Desta propriedade podemos então dizer que
L−1 é uma matriz triangular inferior, uma vez que é dada pelo produto de
matrizes elementares Cij . Pois bem, haviamos dito também que:
L−1 A = U
Se multiplicarmos por (L−1 )−1 , ou seja, L ambos os lados desta igualdade,
obtem-se:
A = LU
Resta saber expressar quem seria a matriz L. Como já vimos no início
do capítulo, a matriz inversa é a matriz que desfaz a transformação feita.
Vejamos então quem seria essa matriz inversa no exemplo que resolvemos, e
depois ficará fácil de transcender:
Para que surja uma matriz identidade (usando o que já vimos sobre as
matrizes elementares), basta fazer:
Então, não resta dúvidas que L = C21 {3}C31 {4}C32 {1}. Isto sempre irá
ocorrer, a matriz L será uma composição das matrizes elementares com os
escalares com sinais trocados. Umas considerações a se fazer são que na
prática estas matrizes elementares não são construídas, é realizada
a soma das linhas e o escalar (com sinal trocado) é armazenado na posição
(i, j) correspodente. Vejamos o seguinte exemplo:
68 5. ÁLGEBRA LINEAR (REVISÃO)
Exemplo 5.7
Determinar a decomposição A = LU da seguinte matriz:
1 1 −2
A = 1 3 −1
1 5 1
1 1 −2
0 2 1
0 4 3
a21
1. L2 ← L2 + (− )L1 = L2 + (−1)L1
a11
a31
2. L3 ← L3 + (− ) = L3 + (−1)L1
a11
1 1 −2
0 2 1
0 0 1
a23
1. L3 ← L3 + (− )L2 = L3 + (−2)L2
a22
1 0 0 1 1 −2
L = 1 1 0 U = 0 2 1
1 2 1 0 0 1
Pivoteamento Parcial
Uma possível adversidade que se pode encontrar é realizar eliminação
sobre uma matriz que possui zeros ao longo da diagonal, por exemplo:
Exemplo 5.8
0 −1 2
−4 1 0
1 2 5
Se tentassemos realizar eliminação gaussiana da mesma forma que os
a23
casos anteriores, 0 seria considerado um pivô e L3 ← L3 + (− )L2 =
a22
−4
L3 + (− )L2 (divisão por zero).
0
Exemplo 5.9
Num ambiente computacional, outro problema é visível e será usada uma
situação hipotética só pra ilustrá-lo: imagine um computador que trabalhe
na aritimética de 4 dígitos. Desejamos resolver o seguinte sistema linear:
" #" # " #
10−5 1 x1 1
=
1 1 x2 2
Se realizarmos eliminação gaussiana, temos que:
" # " #
10−5 1 | 1 10−5 1 | 1
→
1 1 | 2 0 −99999 | −99998
Na prática os números −99999 e −99998 serão arredondados para −99990
e −99990:
" #
10−5 1 | 1
0 −99990 | −99990
||x − x∗ || 1
Relativo = = ≈ 0.707 ≈ 70.7%
||x|| 1.4142
Para contornar esses dois problemas, usa-se o chamado pivoteamento
parcial. Essa técnica diminui erros por permutar linhas e fazer com
que os pivôs não sejam mais os menores números (em módulo) da
linha. Vejamos ela aplicada à estes dois exemplos:
70 5. ÁLGEBRA LINEAR (REVISÃO)
0 −1 2 L2 −4 1 0 L2 −4 1 0
−4 1 0 → L1 0 −1 2 → L1 0 −1 2
1 2 5 L3 1 2 5 L3 0 2.25 5
1. Permutar (L1 , L2 )
a31 1
2. L3 ← L3 + (− ) = L3 + L1
a11 4
L2 −4 1 0 L2 −4 1 0 L2 −4 1 0
L1 0 −1 2 → L3 0 2.25 5 → L3 0 2.25 5
L3 0 2.25 5 L1 0 −1 2 L1 0 0 4.22222
1. Permutar (L1 , L3 )
a32
2. L1 ← L1 + (− ) = L1 + (−0.44444)L3
a22
Não é mais tão claro agora como se resolveria um sistema Ax = b, já
tendo realizado eliminação Gaussiana sobre a A previamente. É possível
escrever um sistema equivalente LU x = P b, onde L e U novamente são
matrizes triangulares e P é uma matriz de permutações. Para esse problema,
essas matrizes seriam:
1 0 0 −4 1 0 0 1 0
L = −0.25 1 0 U = 0 2.25 5 P = 0 0 1
0 −0.44444 1 0 0 4.22222 1 0 0
" #
1 1 | 2
0 0.9999 | 0.9999
Exemplo 5.10
É possível calcular o núcleo e a imagem de uma matriz usando eliminação
Gaussiana:
4 18 −82
18 9 −9
17 15 −41
72 5. ÁLGEBRA LINEAR (REVISÃO)
A decomposição LU da matriz é:
1 0 0
4 18 −82
9
L=
1 0 U =0
−72 360
2
17 41
1 0 0 0
4 48
A imagem da matriz pode ser obtida olhando os pivôs não-nulos da
matriz U . As colunas referentes a esses pivôs na matriz A são uma
base para imagem. Neste caso, seriam os vetores c1 = [4 18 17]T e
c2 = [18 9 15]T .
Para se determinar o núcleo da matriz, basta resolver o sistema homo-
gêneo Ax = 0 = LU x = 0. Tendo a decomposição LU , basta solucionar
U x = 0 (pois a inversa de L pode ser aplicada em ambos os lados da igual-
dade e L−1 0 = 0):
4 18 −82 x1 0
0 −72 360 x2 = 0
0 0 0 x3 0
−360
x2 = x3 = 5x3
−72
82x3 − 18(5x3 ) −8
x1 = = x3 = −2x3
4 4
−2
O núcleo é então x3 5 , onde x3 ∈ R.
1
Ax = λx,
Ax = λx
Isso é equivalente a:
Ax = λIx
Ax − λIx = 0
(A − λI)x = 0
Exemplo 5.11
1 −1 5 x1 x1
−1 2 1 x2 = λ x2
0 0 5 x3 x3
y
1 − λ −1 5 x1 0
−1 2−λ 1 x2 = 0
0 0 5 − λ x3 0
y
1−λ −1 5
1 x1 0
0 2−λ+ x2 = 0
1
λ−1
0 0 5−λ x3 0
1
det(A − λI) = p(λ) =(1 − λ) 2 − λ + (5 − λ) = 0
λ−1
=(5 − λ) λ2 − 3λ + 1 = 0
5.4. AUTOVALORES E AUTOVETORES 75
1 √ 1 √
As raízes desse polinômio são λ1 = 5, λ2 = 3 + 5 e λ3 = 3− 5 .
2 2
Com os autovalores determinados, é possível encontrar as direções (au-
tovetores) associadas. Para isso, basta substituir cada um dos λ’s na
equação (A − λI) = 0 e determinar a solução do sistema homogêneo:
• λ1 = 5:
0
1 − 5 −1 5 x1
−1 2 − 5 1 x2 = 0
0 0 5−5 x3 0
y
0
−4 −1 5 x1
−1 −3 1 x2 = 0
0 0 0 x3 0
70
1 −1 5 14 1 −1 5 14
−1 2 1 d1 −1 = d1 −1 2 1 −1 = d1 −5
0 0 5 11 0 0 5 11 55
14
= 5d1 −1 = 5v1
11
1 √
• λ2 = 3+ 5
2
1 √
1 − 3 + 5 −1 5
2 √
x1 0
1
−1 2− 3+ 5 1 x2 = 0
2 √ x3
1 0
0 0 5− 3+ 5
2
√1
T
Resolvendo este sistema, obtem-se como resposta v2 = d2 (1 − 5) 1 0 ,
2
d2 ∈ R.
1 √
• λ3 = 3− 5
2
76 5. ÁLGEBRA LINEAR (REVISÃO)
1 √
1 − 3 − 5 −1 5
2 √
x1 0
1
−1 2− 3− 5 1 x2 = 0
2 √ x3
1 0
0 0 5− 3− 5
2
1 √ T
Resolvendo este sistema, obtem-se como resposta v3 = d3 (1 + 5) 1 0 ,
2
d3 ∈ R.
Diagonalização de matrizes
Exemplo 5.12
Seja M a seguinte matriz:
" #
2 6
M=
0 −1
M v1 = λ 1 v1
M v2 = λ 2 v1
78 5. ÁLGEBRA LINEAR (REVISÃO)
| |
V = v1 v2
| |
| |
M V = λ1 v1 λ2 v2
| |
" #
λ 0
D= 1
0 λ2
| | " #
λ1 0
M V = v1 v2
0 λ2
| |
MV = V D
M = V DV −1
" # " #
2 0 1 −2
D= V =
0 −1 0 1
A matriz V é inversível e sua inversa é igual a:
" #
−1 1 2
V =
0 1
Portanto, se realizarmos o produto destas 3 matrizes:
" #" #" # " #
1 2 2 0 1 −2 2 6
= =M
0 1 0 −1 0 1 0 −1
5.4. AUTOVALORES E AUTOVETORES 79
M 150 =V DV −1 V DV −1 ...V DV −1
O produto V −1 V é igual a I, logo:
" #
150 150 −1 150 2150 0
M =V D V , onde D =
0 −1150
xT Ax > 0, p/qualquer x ∈ Rn
Mostrar que uma matriz simétrica qualquer satisfaz esse critério não é
tão trivial, mas existem três outras formas de evidenciar que uma matriz é
deste tipo:
81
82 6. ÁLGEBRA LINEAR (NOVOS CONCEITOS)
a11 a12 ··· a1n l11 0 ··· 0 l11 l21 · · · ln1
a21
a22 ··· l21
a2n
l22 ··· 0 0 l22 · · ·
ln2
= .
. .. .. .. .. .. .. . .. .. ..
.
. ..
.
. . . . . . . . . .
an1 an2 · · · ann ln1 ln2 · · · lnn 0 0 ··· lnn
T
A = L L
5 −4 1 l11 0 0 l11 l21 l31
−4 6 −4 = l21 l22 0 0 l22 l32
1 −4 5 l31 l32 l33 0 0 l33
2
√
l11 = 5 → l11 = 5
−4
l11 l21 = −4 → l21 = √
5
1
l11 l31 = 1 → l31 = √
5
r
2 2 14
l21 + l22 = 6 → l22 =
5r
2
l21 l31 + l22 l32 = −4 → l32 = −8
r 35
2 2 2 2
l31 + l32 + l33 = 5 → l33 = 2
7
Uma forma de ver a decomposição Cholesky é como a generalização da
raiz quadrada positiva de um número real.
- Como A = AT , então:
LU = (LU )T = U T LT
LU = U T LT
L−1 LU = L−1 U T LT
U = L−1 U T LT
U (LT )−1 = L−1 U T LT (LT )−1
U (LT )−1 = L−1 U T
U (LT )−1 → Produto de duas matrizes triangulares superiores = matriz triangular superior
L−1 U T → Produto de duas matrizes triangulares inferiores = matriz triangular inferior
Se temos que uma matriz triangular superior é igual a uma matriz tri-
angular inferior, então temos uma matriz diagonal D.
Algoritmo de Gram-Schmidt
O algoritmo de Gram-Schmidt usa de projeções ortogonais para construir
uma base ortogonal. Sejam v1 , v2 ,...vn vetores linearmente independentes.
Deseja-se obter q˜1 , q˜2 ,...,q˜n , onde q̃i ⊥ q˜j = 0 ∀i, j (ortogonais) e ||q̃i || = 1
∀i (unitários).
v1
1. O primeiro desses vetores será q˜1 =
||v1 ||
2. Para obter q˜2 , será feito o seguinte:
Exemplo 6.1
1 1 2
1 0 −2
−1 2 3
T
[1 1 − 1]T
1 1 1
• Primeiro, obtemos q˜1 = = √ √ −√ .
||[1 1 − 1]T || 3 3 3
• Em seguida, é possível fazer o seguinte para se obter q˜2 :
1
√
3 T T
1 1 1 1 4 1 5
T T T
q2 = [1 0 2] − Pq˜1 ([1 0 2] ) = [1 0 2] − [1 0 2] √ √ √ −√ =
3 3 3 3 3 3 3
1
−√
3
4 1 5 T T
4 1 5
q˜2 = 3 3 3 T = √ √ √
4 1 5 42 42 42
|| 3 3 3 ||
v1 = r11 q̃1
v2 = r12 q̃1 + r22 q̃2
v3 = r13 q̃1 + r23 q̃2 + r33 q̃3
.. .. .. ..
. . . .
vn = r1n q̃1 + r2n q̃2 + r3n q̃3 + ... + rnn q̃n
r11 r12 r13 ··· r1n
| | | ··· | | | | ··· | 0 r22 r23 ··· r2n
v1 v2 v3 ··· vn = q̃1 q̃2 q̃3 ··· q̃n .
. .. .. .. ..
| | | ··· | | | | ··· | . . . . .
0 0 0 0 rnn
A = Q R
√ √
1 4 2 1
√ √ √ 3 −√ − 3
3 42 14 √ 3 √
1 1 3 14 21
√3
Q= √ − √ R= 0 √ √
42 14
3 √2
1 5 1
7
−√ √ −√
0 0 √
3 42 14 2
Assim como a
Exemplo 3.3
Mathematica
M = Table[
Table[Which[j == i, 6, j == i + 1 , −4, j == i + 2, 1, j == i − 2,
1, j == i − 1, −4, True, 0], {j, n − 2}], {i , n − 2}];
(∗Criacao da matriz, sem levar em conta a primeira e
ultima linha que mudam por causa dos contornos∗)
M[[1, 1]] = 5;
M[[n − 2, n − 2]] = 5;
b = Table[(q ∆x4 )/(ei), {n − 2}];
u = LinearSolve[M, b, Method −> "Cholesky"];
u = Join[{0}, u, {0}]; (∗Insere os contornos no vetor u para plot∗)
malhaX = Table[(i − 1) ∆x, {i, 1, n}];
(∗Gera Malha de pontos para plot∗)
87
88 7. APÊNDICE: IMPLEMENTAÇÃO COMPUTACIONAL
Matlab/Octave
clear ;
n = 1 0 0 0 ; % Numero de nos
e = 210∗10^9;
I = 4000∗10^( −12); % dados do problema
q = 20;
L = 2;
dx = L/ ( n −1);
A = zeros ( n−2,n −2); %Criando m a t r i z A e v e t o r b n u l o s
b = zeros ( n −2 ,1)
f o r i =1:n−2
f o r j =1:n−2
i f ( i==j ) A( i , j ) = 6 ;
e l s e i f ( i==j −1) A( i , j ) = −4;
e l s e i f ( i==j +1) A( i , j ) = −4; %Construcao m a t r i z
e l s e i f ( i==j −2) A( i , j ) = 1;
e l s e i f ( i==j +2) A( i , j ) = 1;
end
end
b ( i ) = ( q∗dx ^ 4 ) / ( e ∗ I ) ;
end
A( 1 , 1 ) = 5 ; A( n−2,n−2) = 5 ; %Arrumando p r i m e i r a e
%u l t i m a l i n h a que mudam por causa da cond . de c o n t o r n o
Lb = chol (A, ’ l o w e r ’ ) ;
y = Lb\b ;
u = Lb ’ \ y ; %R e s o l v e r s i s t e m a v i a C h o l e s k y
# 10-3
5
4.5
3.5
3
u(x)
2.5
1.5
0.5
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x
Plot da solução, usando 1000 nós
90 7. APÊNDICE: IMPLEMENTAÇÃO COMPUTACIONAL
Bibliografia
[2] Richard L. Burden and J. Douglas Faires :Numerical Analysis , Ed. CEN-
GAGE Learning
91