Apostila CAN PDF

Você também pode gostar

Você está na página 1de 46

Universidade Federal do Pará

Instituto de Tecnologia
Faculdade de Engenharia Mecânica

Cálculo Numérico
Aplicado a Engenharia
Utilizando o Software MATLAB

Prof. Jerson R. P. Vaz

Belém-PA
Brasil
Capitulo 1

Introdução
O estudo do cálculo numérico constitui-se como um grande passo para o
conhecimento de novas ferramentas matemáticas passíveis de serem aplicadas na solução
de problemas em matemática aplicada, que outrora, pareciam insolúveis devido a
complexidade envolvida. O uso de tais ferramentas numéricas, foi acelerado com o
surgimento de equipamentos eletrônicos sofisticados, como os PCs, que incentivou o
crescimento de métodos numéricos cada vez mais robustos, tornando o cálculo numérico,
uma disciplina imprescindível em qualquer curso da área tecnológica.
Neste curso, desenvolvemos um estudo introdutório sobre cálculo numérico, onde
estudaremos alguns conceitos importantíssimos para a compreensão e o entendimento de
métodos numéricos muito utilizados nas diversas áreas da tecnologia. Desta forma, no
primeiro capítulo faremos um estudo sobre os conceitos básicos indispensáveis ao curso,
onde serão analisadas e aplicadas as diferenças entre erro de arredondamento e
truncamento, acurácia e precisão, análise de condicionamento e aproximação de funções e
derivadas através da série de Taylor. No segundo capítulo, veremos alguns métodos
bastante utilizados no cálculo de raízes de equações, na solução de sistemas de equações
lineares, em ajuste de curvas, integração numérica e solução de equações diferenciais
ordinárias e parciais.

Objetivo geral
Proporcionar ao aluno conhecimentos para aplicar os conceitos e utilizar as
ferramentas matemáticas envolvendo métodos numéricos para a resolução de problemas de
raízes e sistemas de equações, ajuste de curvas, integração e equações diferenciais.

Ementa
Introdução; Erros e incertezas; Solução numérica de sistemas de equações lineares e
não-lineares; Interpolação e aproximação de funções; Diferenciação e integração numérica;
Prática de cálculo numérico computacional.

2
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 2

Erros e Incertezas
2.1.Erro absoluto
É o módulo da diferença entre um valor exato x e sua aproximação x , o qual
denotamos por ea .
ea = x − x

2.2.Erro relativo
É a razão entre o erro absoluto ea e o valor aproximado x . Denotado por er :
x −x
ea =
x

2.3.Erro de arredondamento e truncamento


Para entender melhor os erros de arredondamento será desenvolvido um estudo
sucinto sobre a conversão de um número na base 10 para um número na base 2.

2.3.1.Conversão de um número na base 10 para base 2


De maneira geral, um número na base 2 pode ser escrito como:

am 2m + … + a2 22 + a1 21 + a0 20 + a1 2−1 + a2 2−2 + … + an 2n

n
ou ainda, ∑ a .2
i =m
i
i

onde:
ai = é 0 ou 1
n, m = números inteiros, com n ≤ 0 e m ≥ 0

Para mudar de base 2 para base 10 (o que é geralmente utilizado), basta multiplicar
o dígito binário por uma potência de 2 adequada.
Exemplos:
10112 = 1.23 + 0.22 + 1.21 +1.20 = 8 + 0 + 2 + 1 = 1110
10,12 = 1.21 + 0.20 + 1.2-1 = 2 + 0 + 0,5 = 2,510
11,012 = 1.21 + 1.20 + 0.2-1 + 1.2-2 = 2 + 1 + 0,25 = 3,2510

3
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Para converter um número de base 10 para a base 2, tem-se que aplicar um processo
para a parte inteira e um outro para a parte fracionária. Para a parte inteira utiliza-se o
método das divisões sucessivas, que consiste em dividir a parte inteira por 2, a seguir
divide-se o quociente novamente por 2, e assim por diante até que o ultimo quociente seja
igual a 1. O número binário será, então, formado pela concatenação do último quociente
com os restos das divisões lidos em sentido inverso ao que foram obtidos, ou seja,

N 10 = 1rn −1 … r3 r2 r1

Exemplos
a)Converter 18 na base 10 para base 2

1810 = 100102
b)Converter 11 na base 10 para base 2

1110 = 10112

Para transformar um número fracionário na base 10 para base 2, utiliza-se o método


das multiplicações sucessivas, que consiste em:
a)multiplicar o número fracionário por 2;
b)deste resultado, a parte inteira será o primeiro dígito do número na base 2 e a parte
fracionária é novamente multiplicada por 2. o processo é repetido até que a parte
fracionária do último produto seja igual a zero.

4
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Exemplos:
a)Converter 0,1875 na base 10 para base 2

0,187510 = 0,00112

b)Converter 0,6 na base 10 para base 2

0,610 = 0,1001 ... 2

c)Converter 13,25 na base 10 para base 2

1310 = 11012
0,2510 = 0,012

13,2510 = 11012 + 0,012 = 1101,012

2.3.2.Erro de arredondamento
Entende-se por erro de arredondamento, o erro resultante da associação de um
número real a um número de máquina do sistema numérico de uma máquina digital.
Existem muitas formas de se determinar a associação de um número real a um
número aproximado estabelecido por uma máquina. Tais associações definem os tipos de
arredondamento. Entre os tipos de arredondamento mais usados está o arredondamento
por corte, em que, para se ter um número com n dígitos, corta-se o número na posição do
dígito n. Por exemplo, deseja-se o número 1,2356123456 com apenas três casas decimais.
Então cortamos o número na posição que se encontra o dígito 5, resultando em 1,235.
Um outro tipo de arredondamento muito usado é o arredondamento simétrico ou,
como é conhecido, arredondamento para um número mais próximo da máquina. Considera-
se para se ter uma precisão de n dígitos, o dígito n+1, caso este seja menor ou igual a 4,
5
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
corta-se na posição do dígito n; caso contrário, aplica-se o arredondamento para cima. Por
exemplo, deseja-se, novamente, o número 1,2356123456 com apenas três casas decimais.
Então cortamos o número na posição que se encontra o dígito 5, e somamos uma unidade a
este mesmo dígito, pois o dígito 6 é maior que quatro, resultando em 1,236.
Em uma máquina digital um número é representado através de uma seqüência de
impulsos elétricos que indicam dois estados: 0 ou 1, ou seja, os números são representados
na base 2 (também conhecida como binária). Para entendermos melhor, tais
representações, supomos o seguinte exemplo: Imagine que uma máquina digital opere com
precisão t = 5 e queremos introduzir o valor 2,735896, o valor armazenado na máquina
será 2,7359. A diferença entre esses valores é o erro de arredondamento. Repare que a
máquina não pode armazenar valores além do que a sua capacidade permite.
De maneira geral, um número x é representado na base β por:

⎡d d d d ⎤
x = ± ⎢ 1 + 22 + 33 + … + tt ⎥.β exp
⎣β β β β ⎦

onde:

d i = são números inteiros contidos no intervalo 0 ≤ d i ≤ β − 1; i = 1,2,…, t


exp = representa o expoente de β e assume valores entre I ≤ exp ≤ S
I , S = limite inferior e limite superior, respectivamente, para a variação do expoente
⎡ d1 d 2 d 3 dt ⎤
⎢ β + 2 + 3 + … + t ⎥ = é chamada de mantissa e é a parte do número que representa
⎣ β β β ⎦
seus dígitos significativos e t é o número de dígitos significativos do sistema de
representação, comumente chamado de precisão da máquina.

Exemplos de aplicação:

No sistema de base β = 10 , tem-se:

⎛3 4 5 ⎞
0,34510 = ⎜ + 2 + 3 ⎟.10 0
⎝ 10 10 10 ⎠
⎛3 1 4 1 5 ⎞
31,41510 = 0,31415.10 2 = ⎜ + 2 + 3 + 4 + 5 ⎟.10 2
⎝ 10 10 10 10 10 ⎠

6
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Dizemos que os números assim representados estão normalizados, isto é, a mantissa
é um valor entre 0 e 1.

No sistema binário, tem-se:


⎛1 0 1 ⎞
510 = 1012 = 0,101.2 3 = ⎜ + 2 + 3 ⎟.2 3
⎝2 2 2 ⎠
1
410 = 100 2 = 0,1.2 3 = .2 3
2

Exemplo prático:

Numa máquina de calcular cujo sistema de representação utilizado tenha


β = 2, t = 10, I = −15 e S = 15, o número 25 na base decimal é assim representado:

⎛1 1 0 0 1 0 0 0 0 0 ⎞
2510 = 110012 = 0,11001.2 5 = 0,11001.2101 = ⎜ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 ⎟.2101
⎝2 2 2 2 2 2 2 2 2 2 ⎠

ou, de uma forma mais compacta:

Cada dígito é chamado de bit, portanto, nesta máquina são utilizados 10 bits para a
mantissa, 4 bits para o expoente (visto que o expoente tem que variar no intervalo [-15,15]
admitindo dois dígitos no sistema de base 10 e quatro no sistema binário) e mais um bit
para o sinal da mantissa (se bit = 0 positivo, se bit = 1 negativo) e um bit para o sinal do
expoente, resultando, no total, 16 bits, que são assim representados:

2.3.3.Acurácia e precisão

7
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
A qualidade de um resultado é dita exatidão (“acurácia”). A exatidão tem a
responsabilidade de informar se um resultado, emitido por uma máquina digital, é bom ou
ruim. Já a precisão, em termos práticos, corresponde ao número de dígitos significativos do
sistema de representação de uma máquina digital.
Esta distinção entre dois conceitos, que na linguagem coloquial são sinônimos, é
fundamental para a matemática computacional. É surpreendente ver quanta confusão isso
causa, mesmo para pessoas que deviam conhecê-los. Um computador pode ter uma grande
precisão, mas produzir resultados com exatidão muito ruins. Essa confusão entre esses
conceitos é revelada claramente pelos fabricantes de computadores e aqueles usuários que
pensam que uma maior precisão é um passaporte automático para altas exatidões nos
resultados. Desta maneira é oferecido pelos fabricantes precisão simples, alta precisão e
algumas vezes precisão extendida, fazendo com que um usuário não satisfeito com a
exatidão dos resultados obtidos em precisão simples, os recalcule com maior precisão. Isso
nem sempre vai garantir uma melhor exatidão. Como exemplo basta considerar a
expressão:

10 40 + 500 − 10 40 + 610 + 10 45 + 400 − 10 45 = 1510 ,

que terá como resposta zero em muitas máquinas disponíveis hoje em dia. O usuário não
sabe em geral quantos dígitos são necessários para garantir a resposta correta e o problema
de se conseguir uma aritmética computacional com exatidão ótima, só foi conseguido a
partir dos trabalhos do Prof. U. Kulish e sua equipe na Universidade de Karlsruhe
(Alemanha) a partir de 1979.

2.3.4.Erro de truncamento

São erros provenientes da utilização de processos que deveriam ser infinitos ou


muito grandes para a determinação de um valor e que, por razões práticas, são truncados.
Estes processos infinitos são muito utilizados na avaliação de funções matemáticas,
tais como, exponenciação, logaritmos, funções trigonométricas e várias outras que uma
máquina pode ter.
No presente curso, estudaremos o erro de truncamento associado à aplicação da série
de Taylor, dada por:

8
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
h h2 hn n
f (x ) = f (x 0 ) + f ' (x 0 ) + f '' (x 0 ) + … + f (x 0 ) + …
1! 2! n!
Ou
+∞
hn
f (x ) = ∑ f (n )
(x 0 )
n =0 n!
onde

x = x0 + h , em que x ∈ Df e h = Δx .

O erro cometido com o truncamento da série no termo de ordem n é dado por:

h n +1
en (x ) = f n +1 ( ξ ) onde x0 − ξ < h .
(n + 1) !

Na série de Taylor calcula-se o desenvolvimento até um número finito de n termos,


e despreza-se um número infinito de termos, truncando, portanto, o modelo real. Uma das
principais dificuldades da computação científica é fazer uma estimativa realística deste
erro, isto é, por exemplo, determinar que número de termos deve ser usado. Um modelo
usual seria ir calculando até que o valor representado fosse menor do que uma certa
grandeza dada a priori (tolerância).

Exemplo:
Determine o polinômio de Taylor, com truncamento no termo de segunda ordem,
para a função f ( x ) = cos x , para x0 = 0 , e use esse polinômio para obter o resultado
aproximado de cos(0,01) . Calcule, também, o erro de truncamento do polinômio.

Passo 1
Para aplicar a série de Taylor precisamos conhecer a função no ponto inicial x0 e as
suas derivadas neste mesmo ponto. Desta forma, temos:

f ( x ) = cos x f ( x0 ) = cos x0 = cos 0 = 1


f ' (x ) = − senx f ' ( x 0 ) = − senx0 = − sen0 = 0
f ' ' (x ) = − cos x f ' ' (x 0 ) = − cos x0 = − cos 0 = −1

Passo 2

9
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Vamos agora, aplicar a série de Taylor para aproximar a função f ( x ) = cos x no
ponto x0 .
h2 hn n
f ( x ) = f ( x0 ) +
f ' ( x0 ) + f ' ' (x0 ) + … + f ( x0 ) + … .
h
1! 2! n!
Desta maneira, a série fica

h 2 h3
f (0 + h ) = 1 + h.0 − + .0 + …
2 3

Como h = Δx = x − x 0 , e truncando no termo de segunda ordem, temos:

x2
f ( x ) = cos x = 1 −
2

0,012
Então cos(0,01) = 1 − = 0,99995 e o erro de truncamento
2

h n +1 n +1 x 2+1 x3
en ( x ) = f (ξ ) ⇒ e2 ( x ) = sen(ξ ) = sen(ξ )
(n + 1)! (2 + 1)! 6

para x = 0,01 , fica

0,013
e2 (0,01) = .sen(ξ ) = 0,1 6 .10 −6 sen(ξ ) , em que 0 < ξ < 0,01
6

x2
como senξ ≤ 1 e f ( x ) = cos x = 1 − + e2 ( x ) , então:
2

cos(0,01) − 0,99995 ≤ 0,1 6 .10 −6

Esta expressão indica que pelo menos os 5 primeiros algarismos significativos são iguais aos
algarismos do valor real de cos(0,01) .

10
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
11
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 3

Aproximação de Funções e Interpolação


3.1.Série de Taylor e sua aplicação na aproximação de funções e derivadas
O desenvolvimento em série de Taylor constitui uma ferramenta bastante eficaz
para o cálculo de aproximação de funções e derivadas, pois, toda função analítica pode ser
representada por uma série de potências em x-x0, cuja representação, neste caso, é a
própria série de Taylor.

h h2 hn n
f ( x ) = f ( x0 ) + f '( x0 ) + f ''( x0 ) + … + f ( x0 ) + …
1! 2! n!

Cuja forma em notação sigma é

f(
k)
( xo )( x − xo ) ( x − xo ) ( x − xo ) ( x − xo )
+∞ k 2 k

f ( x) = ∑ f(
k)
= f ( x0 ) + f '( x0 ) + f ''( x0 ) + … + ( x0 ) + …
k =0 k! 1! 2! k!

onde x = x0 + h , em que x ∈ Df .

O erro cometido com o truncamento da série no termo de ordem n é dado por:

h k +1
ek ( x ) = f (k +1) (ξ ) onde x0 − ξ < h .
(k +1)!

3.2.Série de Taylor na aproximação de funções


Neste item, vamos aplicar a série de Taylor para aproximar a solução de algumas
funções. Em seguida, faremos uma breve análise dos resultados quando comparados com os
valores da solução exata.
Antes de aplicar a série de Taylor, é necessário conhecer o critério de convergência
de D’Lembert, cuja aplicação é bastante comum nas séries de potências.

Aplicação A
Vamos desenvolver a função f ( x) = x 2 em série de Taylor e avaliar o valor função
em x0 = 0 .
Passo 1
12
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Para aplicar a série de Taylor precisamos conhecer a função no ponto inicial x0 e as
suas derivadas neste mesmo ponto. Desta forma, temos:
f ( x) = x 2 f ( x0 ) = 0
f '( x) = 2 x f '( x0 ) = 0
f ''( x) = 2 f ''( x0 ) = 2
f '''( x ) = 0 f '''( x0 ) = 0

Observe que a partir do termo de terceira ordem na derivada, seus valores são todos
nulos. O desenvolvimento de Taylor em x0 = 0 é conhecido como desenvolvimento de
Maclaurin, e é
+∞
f ( k ) ( 0) x k x x2 x k (k )
f ( x) = ∑ = f ( 0) + f ' ( 0) + f ''(0) + … + f ( 0) + …
k =0 k! 1! 2! k!

Passo 2
Vamos agora, aplicar a série de Taylor para aproximar a função f ( x) = x 2 no ponto
x0 .
h h2 hn n
f ( x ) = f ( x0 ) + f '( x0 ) + f ''( x0 ) + … + f ( x0 ) + ….
1! 2! n!

Desta maneira, a série fica


h h2 h3
f ( x ) = 0 + .0 + .2 + .0 + …
1! 2! 3!

que se reduz a f ( x) = x 2 quando substituímos h = Δx = x − x0 na equação acima. Observe


que a série se torna exatamente a própria função.
Neste caso, como a função é polinomial de grau dois, a série de Taylor reconstitui a
função f ( x) = x 2 de forma exata, confirmando a importante característica que a série de
Taylor tem de representar qualquer função analítica, seja de forma aproximada ou exata.

Aplicação B
Vamos executar o mesmo procedimento, feito na APLICAÇÃO 1, com a função
f ( x) = ln ( x ) para x0 = 1 .

Passo 1

13
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Novamente, para aplicar a série de Taylor precisamos conhecer a função no ponto
inicial x0 e as suas derivadas neste mesmo ponto. Desta forma, temos:

f ( x) = ln ( x ) f ( x0 ) = 0
1
f '( x ) = f '( x0 ) = 1
x
1
f ''( x) = − f ''( x0 ) = −1
x2
2
f '''( x) = f '''( x0 ) = 2
x3
6
f IV ( x) = − f IV ( x0 ) = −6
x4

(n −1)! n−1
f (n) ( x) = (−1) f (n) ( x0 ) = (−1) (n −1)!
n
n
x

Passo 2
Vamos agora, aplicar a série de Taylor para aproximar a função f ( x) = ln ( x ) no
ponto x0 .

h h2 hn n
f ( x ) = f ( x0 ) + f '( x0 ) + f ''( x0 ) + … + f ( x0 ) + ….
1! 2! n!

Desta maneira, a série fica

h 2 h3 h 4 n−1 h
n
f (1 + h) = h − + − + … + (−1) +
2 3 4 n

que é a função f ( x) = ln ( x ) em série de Taylor avaliada em x0 , ou seja:

h 2 h3 h 4 n−1 h
n
ln (1 + h) = h − + − + … + (−1) +
2 3 4 n

Utilizando a equação acima para calcular o valor de ln (2) , basta fazer h = 1 , o que
resulta em:
1 1 1 n−1 1
ln (1 + 1) = 1− + − + … + (−1) +
2 3 4 n

14
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
A tabela abaixo mostra os resultados de ln (2) para diversos números de termos n , e os
respectivos erros absolutos quando comparados com os resultados exatos de ln (2) .

n Valor Aproximado Valor Exato Erro Absoluto


1 1 0.6931 0.3069
2 0.5 0.6931 0.1931
3 0.8333 0.6931 0.1402
4 0.5833 0.6931 0.1098
5 0.7833 0.6931 0.0902
6 0.6167 0.6931 0.0765
7 0.7595 0.6931 0.0664
8 0.6345 0.6931 0.0586
9 0.7476 0.6931 0.0525
10 0.6456 0.6931 0.0475

5000 0.6930 0.6931 1×10−4

Observe que quanto maior é o número de termos menor é o erro absoluto e


conseqüentemente mais próximo está a solução aproximada da solução exata.

3.3.Série de Taylor na aproximação de derivadas


A série de Taylor, também, é uma poderosa ferramenta para aproximar derivadas
de qualquer ordem. Essa característica, forma a base para o entendimento de um método
bastante eficiente e rápido conhecido como o método das diferenças finitas (DF), que é
largamente utilizado para solucionar inúmeros problemas físico-matemáticos, apesar de ser
um método bastante antigo. Sua utilização em grande escala é justificada pelo alto grau de
performance computacional que possui. Neste curso, concentraremos os nossos estudos
apenas na aproximação de derivadas de primeira e segunda ordens.

3.3.1.Aproximação de derivadas de primeira ordem


Para aproximar a derivada de primeira ordem pela série de Taylor, é necessário
executar o truncamento no termo de primeira ordem, o que resulta em

f ( x) = f ( x0 ) + hf '( x0 )

15
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Rearranjando tal equação, temos

df ( x0 ) f ( x ) − f ( x0 )
= , como x = x0 + h
dx h

df ( x0 ) f ( x0 + h) − f ( x0 )
=
dx h

Na forma discreta

df f − fi
= i+1 , onde h = Δx (chamado de passo)
dx h

Essa é a equação que aproxima uma derivada de primeira ordem utilizando a série
de Taylor. É fácil perceber que esta equação é um esquema de diferenças finitas de
primeira ordem.
Para determinar a derivada de uma função em um ponto, é necessário conhecer dois
pontos da função, de acordo com a o ilustrado na figura abaixo.

3.3.2.Aproximação de derivadas de segunda ordem


Neste item, para aproximar a derivada de segunda ordem, é necessário expandir a
série de Taylor de duas maneiras diferentes. A primeira consiste em desenvolver a série
executando passos positivos, ou seja, passos avançados +h . A segunda, desenvolver a série
executando passos negativos, passos atrasados −h . Desta forma, os desenvolvimentos em
série de Taylor, fica

16
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
h h2 h3
f ( x0 + h) = f ( x0 ) + f '( x0 ) + f ''( x0 ) + f '''( x0 ) + …
1! 2! 3!
e
h h2 h3
f ( x0 − h) = f ( x0 ) − f '( x0 ) + f ''( x0 ) − f '''( x0 ) + …
1! 2! 3!

Somando as duas parcelas e truncando no termo de segunda ordem, temos

h2
f ( x0 + h) + f ( x0 − h) = 2 f ( x0 ) + 2 f ''( x0 )
2
Arrumando a expressão

d 2 f ( x0 ) f ( x0 + h ) − 2 f ( x0 ) + f ( x0 − h )
=
dx 2 h2

Na forma discreta

d2 f f − 2 f i + f i −1
2
= i +1 , onde h = Δx (chamado de passo)
dx h2

Essa expressão aproxima uma derivada de segunda ordem, e é um esquema de


diferenças finitas de segunda ordem.
Neste caso, para determinar a segunda derivada de uma função em um ponto, é
necessário conhecer três pontos da função.

Aplicação A
Determinar f ' (2 ) , utilizando tanto a aproximação por série de Taylor quanto a
solução exata, a partir de f ( x ) = ln ( x ) com h = 0.1 .

17
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Passo 1

A solução exata é bastante simples de se calcular. Basta derivar uma vez a função

f ( x ) = ln ( x ) e depois substituir o valor 2, ou seja, como f ' ( x ) = , então f ' (2 ) = = 0.5 .


1 1
x 2
Passo 2

Para a solução aproximada, precisamos determinar o valor da função em x0 e em


x0 + h . Desta forma, como x0 = 2 e x0 + h = 2 + 0.1 = 2.1 , fazemos:

f ( x0 ) = ln ( x0 ) = ln (2) = 0.693

f ( x0 + h ) = ln ( x0 + h ) = ln (2 + 0.1) = 0.742

Aplicando a fórmula aproximada para a derivada de primeira ordem, temos:

df (x0 ) f ( x0 + h ) − f ( x0 ) f (2.1) − f (2 ) 0.742 − 0.693


= = = = 0.49
dx h 0.1 0.1

Então o resultado aproximado de f ' (2 ) é 0.49. O erro absoluto é da ordem de


0.5 − 0.49 = 0.01 .

Aplicação B
Nesta aplicação vamos utilizar a mesma função da APLICAÇÂO A, com a diferença
de que agora vamos calcular f ' ' (2 ) , utilizando, da mesma maneira, tanto a aproximação
por série de Taylor quanto a solução exata, a partir de f ( x ) = ln ( x ) com h = 0.1 .

Passo 1
A solução exata, da mesma maneira que na aplicação A, é bastante simples de se
calcular. Basta derivar duas vezes a função f ( x ) = ln ( x ) e depois substituir o valor 2, ou

seja, como f ' ' ( x ) = − 2 , então f ' ' (2) = − = −0.25 .


1 1
x 4
Passo 2

Para a solução aproximada, precisamos determinar o valor da função em x0 , x0 + h


e em x0 − h . Desta forma, como x0 = 2 , x0 + h = 2.1 e x0 − h = 1.9 , fazemos:
18
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
f ( x0 ) = ln ( x0 ) = ln (2) = 0.693

f ( x0 + h ) = ln (x0 + h ) = ln(2.1) = 0.742

f ( x0 − h ) = ln ( x0 − h ) = ln (1.9) = 0.642

Aplicando a fórmula aproximada para a derivada de primeira ordem, temos:

d 2 f ( x0 ) f ( x0 + h ) − 2 f ( x0 ) + f ( x0 − h ) f (2.1) − 2 f (2) + f (1.9) 0.742 − 2 × 0.693 + 0.642


= = = = −0.2
dx 2 h2 0.12 0.01

Então o resultado aproximado de f ' ' (2 ) é -0.2. O erro absoluto é da ordem de


− 0.25 − (− 0.2) = 0.05 .

3.2.Interpolação
Interpolação é o processo de estimar os valores de uma função f para valores de x
diferentes de x0, x1, . . . , xn conhecendo-se apenas os valores de f(x) nos pontos x0, x1, . . . ,
xn. Geralmente, neste caso, a técnica a ser utilizada é a de ajustar funções polinomiais aos
dados (x0, f0), . . . (xn, fn) de uma maneira adequada.

3.2.1.Interpolação Linear
Suponha o seguinte problema: Seja f(x) dada pela tabela abaixo onde fj = f(xj).

Determinar uma aproximação para f(μ) onde xi < μ < xi+1. O método, neste caso, consiste
em substituir f(μ) por P1(μ) onde P1(x) é a reta (polinômio de grau 1) que passa pelos
pontos A=(xi, fi) e B=(xi+1, fi+1). Escrevendo a equação da reta que passa pelos pontos A e
B temos:

(f − fi )
P1 (x ) = fi + (x − x i )
i +1

(x
i +1
− xi )

19
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Interpolação e Polinômio de Lagrange

O problema de se determinar um polinômio de 1o grau que passe pelos distintos


pontos ( x0 , y0 ) e ( x1 , y1 ) é o mesmo de se aproximar uma função f para a qual f ( x0 ) = y0 e
f ( x1 ) = y1 por meio de uma interpolação de um polinômio de 1o grau, ou concordando com
os valores de f nos pontos dados. Primeiramente definimos as funções

x − x1 x − x0
L0 ( x ) = e L1 ( x ) = ,
x0 − x1 x0 − x1

e então definimos

P ( x ) = L0 ( x ) f ( x0 ) + L1 ( x ) f ( x1 ) .

Como
L 0 ( x0 ) = 1 , L 0 ( x1 ) = 0 , L1 ( x0 ) = 0 e L1 ( x1 ) = 1
temos

P ( x0 ) = 1i f ( x0 ) + 0i f ( x1 ) = f ( x0 ) = y0
e
P ( x1 ) = 0i f ( x0 ) + 1i f ( x1 ) = f ( x1 ) = y1.

20
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Assim sendo, P é a única função linear passando por ( x0 , y0 ) e ( x1 , y1 ) .
Para generalizar o conceito de interpolação linear, consideramos a construção de um
polinômio de grau pelo menos n que passe por n + 1 pontos

( x , f ( x ) ) , ( x , f ( x ) ) ,..., ( x , f ( x ) )
1 0 1 1 n n

Figura 3.4

Neste caso precisamos construir, para cada k = 0,1,..., n , uma função Ln ,k ( x ) com a
propriedade pela qual Ln , k ( xi ) = 0 , quando i ≠ k e Ln ,k ( xk ) = 1 . Para satisfazer Ln ,k ( xi ) = 0
para cada i ≠ k , o numerador Ln ,k ( x ) deve conter o termo

( x − x0 )( x − x1 ) ... ( x − xk −1 )( x − xk +1 ) ... ( x − xn ) .

O polinômio interpolador é facilmente descrito, uma vez que o formato Ln , k seja


conhecido. Esse polinômio é chamado de polinômio interpolador de Lagrange de enésimo
grau, é definido no Teorema a seguir;

Teorema:
Se x0 , x1 ,..., xn são n+1 números distintos e f é uma função cujos valores são dados
nesses números, então existe um único polinômio P(x) de grau pelo menos n no
qual

f ( xk ) = P ( xk ) para cada k = 0,1,..., n .

onde, para cada k = 0,1,..., n ,

L n ,k ( x ) =
( x − x0 )( x − x1 ) ( x − xk −1 )( x − xk +1 ) ( x − xn )
=∏
n
( x − xi ) .
( xk − x0 )( xk − x1 ) ( xk − xk −1 )( xk − xk +1 ) ( xk − xn ) i =0 ( xk − xi )
i≠k

Para escrever Ln ,k ( x ) usaremos simplesmente a notação Lk ( x ) quando não houve


nenhuma dúvida, como por exemplo, o seu grau.

21
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 4

Cálculo de Raízes de Funções

4.1Introdução

O cálculo de raízes de funções encontra um grande emprego na obtenção da solução


de uma vasta gama de problemas de engenharia. Usualmente, queremos determinar a raiz
xr de uma função f(x), quando expressamos a função na forma matemática:

f(xr) = 0 (1)

As raízes de f(x) são os valores do argumento x, tais que a expressão (1) seja
verdadeira.
Na prática, nem sempre um problema pode ser equacionado na forma de uma
função que possui uma solução analítica como a função do 2o grau. As funções chamadas
transcendentes representam um tipo de função constituídas por funções não-polinomiais
como as funções exponenciais, logarítmicas e trigonométricas.
Veja alguns exemplos de funções transcendentes:

f(x) = 2 ln(1- x) + x2
f(x) = ex - 3x
f(x) = senh x – x3
f(x) = cos x – x.ln x

As raízes destas e de outras funções podem ser obtidas através de método gráfico ou
de métodos numéricos.

4.2.Método Gráfico

Um dos métodos básicos para a estimativa da raiz de uma função é o método


gráfico. O método gráfico consiste no traçado gráfico da função f(x) no intervalo que
contenha as raízes reais. Vamos ilustrar o processo de pesquisa de raízes de uma função
através do exemplo de uma função

22
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
transcendente f(x) = ex - 3x, cujo gráfico está mostrado na Fig. 3.1.

Figura 3.1 - Gráfico da função f ( x ) = e x − 3 x .

Do gráfico, podemos estimar o valor das duas raízes com uma casa decimal de
precisão como xr1 0,6 e xr2 1,5. Estas aproximações podem ser refinadas se
ampliarmos o gráfico no intervalo que contém a(s) raiz(es). No sub-gráfico da Fig. 3.1, que
mostra a ampliação da curva na região da raiz xr1, podemos estimar essa raiz com duas
casas decimais de precisão como xr1 0,62. Se quisermos melhorar a precisão devemos
ampliar o gráfico em intervalos cada vez menores. Entretanto, esse procedimento é
improdutivo pois toma muito tempo e requer o traçado de vários gráficos. Para refinar a
solução, isto é, para aumentar a precisão do resultado, devemos utilizar um método
numérico. Geralmente, o método gráfico é o método utilizado para inspeção de raízes, isto
é, para verificarmos a existência de raízes reais, a quantidade de raízes e o intervalo no
qual elas existem.

4.3.Métodos Numéricos

Existem diversos métodos numéricos para o cálculo de raízes. Dentre eles, vamos
apresentar os métodos relacionados a seguir por causa das suas características e facilidades:

23
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
™ Método da bisseção
™ Método de Newton-Raphson
™ Método da secante (ou das cordas)

4.3.1.Método da Bisseção
O método da bisseção consiste na redução sucessiva pela metade de um intervalo no
qual exista uma raiz. Este método requer uma pesquisa prévia das raízes através do gráfico
da função. Uma vez estimado o valor da raiz pelo gráfico, estabelece-se arbitrariamente um
intervalo em torno da raiz. O valor à esquerda da raiz será denotado por xe , enquanto que
o valor à direita da raiz por xd . A partir dos valores de xe e xd , calcula-se o valor médio
xm pela expressão:

xm =
( xe + xd )
2

O valor médio xM estabelece dois sub-intervalos: um, entre xE e xM; o outro, entre
xM e xD. A raiz estará em um dos dois sub-intervalos. Para determinar o sub-intervalo que
contém a raiz, calculamos o valor de f(x) em xE, xD e xM. Se o sinal[f(xM)] = sinal[f(xE)],
então a raiz estará no sub-intervalo entre xM e xD; desta forma, xM será o valor de xE na
iteração seguinte. Se, por outro lado, o sinal[f(xM)] = sinal[f(xD)], a raiz estará no outro
sub-intervalo, entre xE e xM, sendo que xM será o novo valor de xD na iteração seguinte.
Para a nova iteração, o procedimento se repete, calculando-se o novo valor de xM e
novamente comparando-se os sinais de f(xE), f(xM) e f(xD) para avaliar em qual sub-
intervalo estará a raiz. O processo continua até que o seguinte critério de convergência seja
satisfeito:

xe − xd < ε

no qual ε é o erro absoluto especificado. Quando o critério for satisfeito, a raiz xr será
dada por:

xr ≈ xm , com erro < ε

24
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
4.3.2.Método Iterativo de Newton-Raphson
4.3.2.1.Introdução
O método de Newton-Raphson é um método baseado no cálculo da derivada da
função f(x). A fórmula para o cálculo iterativo pode ser obtida através da aproximação de
uma função f(x1) em torno de um ponto xo por uma série de Taylor de 1o grau:

f ( x1 ) ≈ f (x o ) + f ' (x o )(x1 − xo ) (2)

Se considerarmos que o valor de x = x1, está próximo à raiz, então podemos


considerar que f(x1) 0, de modo que podemos escrever a equação na forma:

f (xo )
x1 ≈ xo − (3)
f ' (xo )

À partir de x1 podemos calcular um novo valor x2 mais próximo ainda da raiz


através da mesma aproximação anterior:

f ( x 2 ) ≈ f ( x1 ) + f ' ( x1 )( x 2 − x1 ) (4)

Neste caso, vamos considerar que f(x2)=0 e que f(x1) é pequeno porém diferente de
zero. Assim, podemos re-escrever a equação como:

f ( x1 )
x 2 ≈ x1 − (5)
f ' ( x1 )

Se prosseguirmos assim, podemos escrever uma equação geral para o cálculo de x na


iteração i+1 a partir do valor de x, f(x) e f’(x) em x = xo:

f ( xi )
xi +1 = xi − (6)
f ' ( xi )

Este cálculo, denominado de cálculo iterativo, é realizado até que o critério de


convergência seja satisfeito:

xi +1 − xi ≤ ε (7)

25
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Exemplo 1: Consideremos a função f(x) = ex - 3x, cujo gráfico está traçado na Fig. 1.
Vamos calcular a raiz situada no intervalo [0 ; 0.5], tomando o valor inicial xo = 0. Para o
método de Newton-Raphson, a Tabela 1 fornece os resultados do cálculo.

Fig. 1 - Gráfico da função f(x) = ex - 3x.

TABELA 1

A raiz calculada após 4 iterações é igual a 0,61906.

Geralmente, o método de Newton-Raphson é o preferido para o cálculo de raízes por


causa de sua rapidez e pela facilidade de convergência para valores de xo os quais não
precisam estar necessariamente próximos à raiz. Entretanto, existem situações para as

26
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
quais a convergência é muito lenta ou então, que sejam impossíveis para o cálculo de raízes
pelo método de Newton-Raphson.

4.3.2.2.Dificuldades no Cálculo de Raízes pelo Método de Newton-Raphson


O método de Newton-Raphson apresenta dificuldades no cálculo de raízes de funções
polinomiais que apresentam pontos de mínimos e/ou máximos na vizinhança da raiz. A
Fig. 2 mostra um intervalo do gráfico da função f(x) = 3x3 – x2 – 4x + 5, que possui uma
raiz real e duas raízes complexas. Como o gráfico cartesiano só mostra a raiz real, as duas
raízes complexas aparecem na forma de pontos de máximo e mínimo locais,
respectivamente, xmax - 0,56 e xmin 0,79, conforme mostrado no gráfico.

Fig. 2 - Gráfico da função polinomial f(x) = 3x3 – x2 – 4x + 5

Dependendo da escolha do valor de xo, o método de Newton-Raphson pode não


apresentar uma convergência monotônica.
Por causa da presença de pontos de mínimo e máximo na vizinhança da raiz
observa-se que o método de Newton-Raphson apresenta uma convergência lenta,
principalmente quando o valor calculado de xi+1 cai na região compreendida pelos pontos
de mínimo e máximo para a qual f’(x) 0. Para resolver este problema, basta escolher
outro valor de xo , nas proximidades da raiz.
Outro tipo de problema para o qual o método de Newton-Raphson apresenta
dificuldades é no cálculo de raízes duplas e triplas. O gráfico da Fig. 3 mostra uma função
polinomial do 2o grau que possui duas raízes (xr1 = xr2 = 1). Este tipo de raiz é um caso
especial denominado raiz dupla por causa das seguintes características:

27
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
(i) Para x = xr, f(xr) = 0;
(ii) e, também, f’(xr) = 0;
(iii) Sendo xr1 e xr2 raízes duplas de f(x), de modo que xr1 = xr2 = xr, então (x – xr)2 = 0.

Fig 3 - Gráfico da função polinomial f(x) = x2 – 2x + 1

Como no método de Newton-Raphson, utiliza-se o cálculo da derivada no


denominador da expressão (6); mas, à medida que o valor de xi+1 converge para a raiz, a
razão f(xi)/f’(xi) 0/0.
No caso de cálculo em programa de computador, esta razão pode apresentar
resultados imprevisíveis, impossibilitando o seu uso no cálculo da raiz pelo método de
Newton-Raphson.
O mesmo ocorre com funções com raízes triplas, para as quais xr sendo a raiz tripla,
f(xr)=0, f’(xr) = 0 e (x – xr)3 = 0, de modo que a razão f(xi)/f’(xi) 0/0,
impossibilitando o cálculo da raiz tripla pelo método de Newton-Raphson. Podemos
estender essa limitação para raízes múltiplas de funções polinomiais.

4.3.3.Método da Secante
O método da secante, também conhecido por método das cordas, é um método que
alia a simplicidade conceitual do método da bisseção com a velocidade de convergência do
método de Newton-Raphson. Como no método da bisseção ele requer dois valores iniciais
situados no entorno da raiz, que serão denominados xe e xd, respectivamente o valor à

28
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
esquerda da raiz e o valor à direita da raiz. A Fig. 3.4 apresenta o gráfico da função ex – 3x
no intervalo que contém a raiz xr 1,5.

Fig. 3.4 – Gráfico da função ex – 3x para o cálculo do método da secante.

A corda 1 une os pontos de coordenadas (xe,f(xe)) e (xd,f(xd)). A interseção da corda


1 com o eixo x define o ponto xn (sendo obviamente f(xn) = 0). Com estes três pontos,
podemos traçar dois triângulos semelhantes, conforme mostra a Fig. 3.5.

Fig. 3.5 – Triângulos semelhantes para o cálculo do método da secante.

Por identidade entre os dois triângulos da Fig. 3.5, podemos escrever:

− f ( xe ) xn − xe
=
f ( xd ) xd − xe

29
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Re-arranjando a expressão e isolando o termo para xn, obtém-se a equação:

xe f ( xd ) − xd f ( xe )
xn = (3.13)
f ( xd ) − f ( xe )

Com este valor de xn, redefine-se o valor de xe = xn e traça-se uma nova corda
(indicada com o número 2 na Fig. 3.4) que irá definir um novo valor de xn. A equação para
o cálculo do novo valor de xn é idêntica à (3.13), de modo que podemos reescrevê-la na
forma iterativa mais conveniente como:

xe( i ) f ( xd(i ) ) − xd(i ) f ( xe( i ) )


x =
(i )

f ( xd(i ) ) − f ( xe(i ) )
n

Os expoentes (i) na equação representam o índice da iteração corrente. Observe que


a expressão (3.14) é análoga à expressão (3.10) do método de Newton-Raphson, na qual a
derivada da função f(x) do denominador é substituída pela diferença finita [f(xd) - f(xe)]/(xd
– xe) na fórmula do método da secante. O valor da raiz é calculado na n-ésima iteração xr
= xn(i +1) , quando o resultado convergir.
O critério de convergência é análogo ao do método de Newton-Raphson, porém,
aplicado ao
valor de xn:

xn(i +1) − xn( i ) ≤ ε

30
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 5

Solução numérica de sistemas de equações lineares e não lineares


5.1.Métodos diretos
5.1.1.Introdução
Os sistemas lineares estão associados a inúmeros problemas da área tecnológica.
Neste capítulo são apresentadas algumas técnicas para a solução de sistemas lineares do
tipo:

E1 : a11 x1 + a12 x2 + ... + a1n xn = b1 ,


E2 : a21 x1 + a22 x2 + ... + a2 n xn = b2 ,
.
. (1)
.
En : an1 x1 + an 2 x2 + ... + ann xn = bn ,
para x1 ,..., xn , dadas as constantes aij para cada i, j = 1, 2,..., n e bi para cada i = 1, 2,..., n .
As técnicas diretas são métodos que dão uma resposta em um número fixo de passos,
sujeitos a apenas aos erros de arredondamento.
Usaremos três operações para simplificar o sistema linear dado em (1):
1. A equação Ei pode ser multiplicada por qualquer constante λ diferente de
zero, e a equação resultante pode ser utilizada em lugar de Ei . Essa operação
é indicada por ( λ Ei ) → ( Ei ) .
2. A equação E j pode ser multiplicada por qualquer constante λ e adicionada à
equação Ei . Essa operação é indicada por ( Ei + λ E j ) → ( Ei ) .
3. As equações Ei e E j podem ser transportadas em ordem. Essa operação é
indicada por ( Ei ) ↔ ( Ei ) .
Por meio de uma seqüência dessas operações, um sistema linear pode ser
transformado em outro, mais simples, que tenha as mesmas soluções. A seqüência de
operações é ilustrada pelo próximo exemplo.

Exemplo 1.

As quatro equações,

31
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
E1 : x1 + x2 + 3x4 = 4,
E2 : 2 x1 + x2 − x3 + x4 = 1,
E3 : 3x1 − x2 − x3 + 2 x4 = −3,
E4 : − x1 + 2 x2 + 3x3 − x4 = 4,

Serão resolvidas para x1 , x2 , x3 e x4 . Inicialmente usaremos E1 para eliminar a incógnita


x1 de E2 , E3 e E4 , executando ( E2 − 2 E1 ) → ( E2 ) , ( E3 − 3E1 ) → ( E3 ) e ( E4 + E1 ) → ( E4 ) . O
sistema resultante é
E1 : x1 + x2 − 3x4 = 4,
E2 : − x2 − x3 − 5 x4 = −7,
E3 : − 4 x2 − x3 − 7 x4 = −15,
E4 : 3x2 + 3x3 + 2 x4 = 8,

onde, para efeitos de simplificação, as novas equações são novamente indicadas por E1 , E2 ,
E3 e E4 .
Nesse novo sistema, E2 é utilizado para eliminar x2 de E3 e E4 executando-se
( E3 − 4 E2 ) → ( E3 ) e ( E4 + 3E2 ) → ( E4 ) , obtendo-se, portanto:

E1 : x1 + x2 + 3x4 = 4,
E2 : − x2 − x3 − 5 x4 = −7,
(2)
E3 : 3x3 − 13 x4 = 13,
E4 : − 13x4 = −13,

O sistema de equação (2) tem agora a forma triangular (ou reduzida), e pode ser
resolvida para as incógnitas por um processo de substituição retroativa. Com E4 implica
x4 = 1 , podemos resolver E3 para x3 , o que nos dá

1 1
x3 = (13 − 13x4 ) = (13 − 13) = 0
3 3

Continuando, nos dá E2

x2 = − ( −7 + 5 x4 + x3 ) = − ( −7 + 5 + 0 ) = 2

e E1 nos dá
x1 = 4 − 3x4 − x2 = 4 − 3 − 2 = −1 .

32
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
A solução de (2) e consequentemente de (1) é, portanto, x1 = −1 , x2 = 2 , x3 = 0 e
x4 = 1 .
Quando executamos os cálculos do Exemplo 1 não precisamos escrever todas as
equações em cada passo do processo, ou transportar as variáveis x1 , x2 , x3 e x4 através
dos cálculos, já que elas sempre permaneceram na mesma coluna. A única variação do
sistema para sistema ocorre nos coeficientes das incógnitas e nos valores do lado direito das
equações. Por isso, um sistema linear frequentemente é substituído por uma matriz, que
contém, em forma compacta, todas as informações sobre o sistema que são necessárias para
se determinar sua solução.

Definição:
Uma matriz n × m (n por m) é um arranjo retangular de elementos de n linhas e m
colunas no qual se representa não só o valor de um elemento importante, mas também sua
posição no arranjo.
A notação para uma matriz n × m será uma letra maiúscula, como A, por exemplo,
para a matriz, e letras minúsculas, subscritas em pares, como, por exemplo, aij , para nos
referir à entrada na intersecção da i-nésima linha e j-nésima coluna; isto é,
⎛ a11 a12 a1m ⎞
⎜ ⎟
A = ( aij ) = ⎜ 21
a a22 a2 m ⎟
⎜ ⎟
⎜⎜ ⎟
⎝ an1 an 2 anm ⎟⎠
Exemplo 2

A matriz

⎛ 2 −1 7 ⎞
A= ⎜ ⎟
⎝3 1 0⎠

É uma matriz 2 × 3 com a11 = 2 , a12 = −1 , a13 = 7 , a21 = 3 , a22 = 1 e a23 = 0 .


A matriz 1× n

A = ( a11 a12 … a1n )

É a chamada de vetor linear n-dimensional, e a matriz n ×1

33
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
⎛ a11 ⎞
⎜ ⎟
a
A = ⎜ 21 ⎟
⎜ ⎟
⎜⎜ a ⎟⎟
⎝ n1 ⎠

é chamada vetor de coluna n-dimensional. Normalmente os índices subscritos


desnecessários são omitidos para vetores e uma letra minúscula em negrito é utilizada para
a notação. Assim sendo,

⎛ x1 ⎞
⎜ ⎟
x
x=⎜ 2⎟
⎜ ⎟
⎜⎜ ⎟⎟
⎝ xn ⎠
denota um vetor linear.
Uma matriz n × ( n + 1) pode ser utilizada para representar o sistema linear

a11 x1 + a12 x2 + ... + a1n xn = b1 ,


a21 x1 + a22 x2 + ... + a2 n xn = b2 ,

an1 x1 + an 2 x2 + ... + ann xn = bn ,

inicialmente construindo-se as matrizes

⎛ a11 a12 a1n ⎞ ⎛ b1 ⎞


⎜ ⎟ ⎜ ⎟
a a22 a2 n ⎟ b
A = ⎜ 21 e b=⎜ 2⎟
⎜ ⎟ ⎜ ⎟
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎝ an1 an 2 ann ⎠ ⎝ bn ⎠

e então combinamos essas matrizes para se obter a matriz expandida.

34
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
⎛ a11 a12 a1n b1 ⎞
⎜ ⎟
a a22 a2 n b2 ⎟
( A, b ) = ⎜⎜ 21 ⎟
,
⎜⎜ a ⎟
ann bn ⎟⎠
⎝ n1 an 2

onde a linha vertical pontilhada é utilizada para separar os coeficientes das incógnitas dos
valore do lado direito da equação.
Repetindo as operações executadas no Exemplo 1 com a matricial, temos, em
primeiro lugar, considerando a matriz expandida:

⎛1 1 0 3 4⎞
⎜ ⎟
⎜ 2 1 −1 1 1⎟
.
⎜ 3 −1 −1 2 −3 ⎟
⎜⎜ −1 2 3 −1 ⎟
4 ⎟⎠

Executando essa operações como descritas naquele exemplo, produziremos as


matrizes

⎛1 1 0 3 4 ⎞ ⎛1 1 0 3 4 ⎞
⎜ ⎟ ⎜ ⎟
⎜ 0 −1 −1 −5 −7 ⎟ e ⎜ 0 −1 −1 −5 −7 ⎟
⎜ 0 −4 −1 −7 −15 ⎟ ⎜ 0 0 3 13 13 ⎟
⎜⎜ 0 3 3 2 8 ⎟⎟ ⎜⎜ 0 0 0 −13 ⎟
−13 ⎟⎠
⎝ ⎠ ⎝

A matriz final pode agora ser transformada em seu sistema linear correspondente, e
as soluções para x1 , x2 , x3 e x4 podem ser obtidas. O procedimento envolvido nesse
processo é chamado Eliminação Gaussiana com Substituição Retroativa.
O procedimento genérico de eliminação gaussiana aplicado ao sistema linear
E1 = a11 x1 + a12 x2 + ... + a1n xn = b1 ,
E2 = a21 x1 + a22 x2 + ... + a2 n xn = b2 ,

En = an1 x1 + an 2 x2 + ... + ann xn = bn ,

é manejado da mesma maneira. A forma inicial da matriz expandida Ã:

35
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
⎛ a11 a12 a1n a1,n +1 ⎞
⎜ ⎟
a a22 a2 n a2,n +1 ⎟
A = ( A, b ) = ⎜ 21 ,
⎜ ⎟
⎜⎜ ⎟
⎝ an1 an 2 ann an ,n +1 ⎟⎠

onde A indica a matriz formada pelos coeficientes. As entradas nas (n+1) – ésima coluna
são valores de b; isto é, ai ,n +1 = bi para cada i = 1, 2,..., n.
Admitido-se que a11 ≠ 0 , as operações correspondentes a ( E − (a
j j1 )
/ a11 ) E1 → ( E j )
são calculadas para cada j = 2,3,...n, para eliminar o coeficiente x1 em cada uma dessas
linhas. Ainda que se espere que as entradas nas linhas 2, 3,..., n mudem, para a
simplificação da notação também indicaremos as entradas da i-ésima linha e j-ésima coluna
por aij . Com isso em mente, seguimos um procedimento seqüencial para i = 2,3,..., n − 1 e

( )
executamos a operação E j − ( a j1 / aii ) Ei → ( E j ) para cada j = i + 1, i + 2,..., n , admitindo que
aii ≠ 0 . Esse procedimento elimina xi em cada linha abaixo da i-ésima para todos os
valores de i = 1, 2,3,..., n − 1 , na medida em que muda os coeficientes de xi para zero. A
matriz resultante tem a forma:

⎛ a11 a12 a1n a1,n +1 ⎞


⎜ ⎟
0 a22 a2 n a2,n +1 ⎟
A=⎜ ,
⎜ ⎟
⎜⎜ ⎟
⎝ 0 0 ann an ,n +1 ⎟⎠

onde, com exceção da primeira linha, não se espera que os valores de aij concordem com os
valores da matriz original A . A matriz A representa um sistema linear com o mesmo
conjunto de soluções que o sistema original. Como o novo sistema linear é triangular
a11 x1 + a12 x2 + … + a1n xn = a1,n +1 ,
a22 x2 + … + a2 n xn = a2,n +1 ,

ann xn = an ,n +1 ,
A substituição retroativa pode ser executada. Resolvendo a enésima equação para
xn , temos

36
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
an ,n +1
xn = .
ann

Resolvendo a ( n − 1) -ésima equação para xn −1 e utilizando xn temos como resultado

an −1,n +1 − an −1,n xn
xn −1 = .
an −1,n −1
Continuando esse processo temos

ai ,n +1 − ai ,n xn − ai ,n −1 xn −1 − ... − ai ,i +1 xi +1
ai ,n +1 − ∑a x
j =i +1
ij j

xi = = ,
aii aii

para cada i = n − 1, n − 2,..., 2,1.


O procedimento de eliminação de Gauss pode ser utilizado com maior precisão,
ainda que de modo mais complexo, criando-se uma seqüência de matrizes expandidas
A(1) , A( 2) ,..., A( n ) , onde A(1) é matriz A , e A( k ) para cada k = 2,3,...n tem entradas aij( k ) onde


⎪ ( k −1)
⎪aij , quando i = 1, 2,..., k − 1 e j = 1, 2,..., n + 1,
(k ) ⎪
aij = ⎨0, quando i = k , k + 1,..., k − 1 e j = 1, 2,..., k − 1,
⎪ ( k −1)
⎪a ( k −1) − ai ,k −1 a ( k −1) quando i = k , k + 1,..., n e j = k , k + 1,..., n + 1.
⎪ ij ak( k−−1,1k)−1
k −1, j

Portanto

⎛ a11(1) a12(1) a13(1) a1,(1k) −1 a1(1k) a1(1n) a1,(1n)+1 ⎞


⎜ ( 2) ( 2)

⎜ 0 a22 a23 a2,( 2k) −1 a2( 2k) a2( 2n) a2,( 2n)+1 ⎟
⎜ ⎟
⎜ ⎟
A( k ) =⎜ ak( −1,k)−1
k −1
ak( −1,k)
k −1
ak( −1,n)
k −1 ( k −1) ⎟
ak −1,n +1
⎜ ⎟
⎜ akk( ) ( )
ak( ,n)+1 ⎟
k k k
0 akn
⎜ ⎟
⎜ ⎟
⎜⎜ 0 0 (k )
ank (k )
ann an ,n +1 ⎟⎠
(k ) ⎟

37
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Representa o sistema linear equivalente para o qual xk −1 foi eliminado das equações
Ek , Ek +1 ,..., En.
O procedimento não vai funcionar se um dos elementos a11(1) , a22
( 2 ) ( 3)
, a3 ,..., an( n−−1,1n)−1 , an( n ) for
igual a zero, uma vez que o passo

⎛ ai(,kk) ⎞
⎜ Ei − ( k ) Ek ⎟ → Ei
⎜ akk ⎟
⎝ ⎠

Não pode ser executado (isso ocorre se um dos a11(1) ,..., an( n−−1,1n)−1 é zero), ou se a substituição
(n)
retroativa não puder ser executada (no caso em que ann = 0 ). O sistema pode ainda ter
solução, mas a técnica para encontrá-las deve ser alterada. O exemplo seguinte ilustra esse
caso.

FATORAÇÃO DE MATRIZES

A eliminação de Gauss é a principal ferramenta para a solução direta de sistemas


lineares de equação; dessa forma, não deve ser surpreendente o fato de ela aparecer em
outras formas. Nesta seção veremos que os passos utilizados para resolver um sistema da
forma Ax = b podem ser utilizados para ser fatorar uma matriz. A fatoração é
particularmente útil quando ele tem a forma A =LU, onde L é a triangular inferior e U é a
triangular superior. Ainda que nem todas as matrizes tenham esse tipo de representação,
muitas aparecem frequentemente no estudo das técnicas de numéricas.
A eliminação de Gauss aplicada a um sistema linear arbitrário Ax = b requer

( 3)
O n
3
operações aritméticas para se determinar x. Se A tiver fatorado na forma

triangular A =LU, então podemos calcular x mais facilmente utilizando um processo de


duas etapas. Inicialmente, fazemos y = Ux e resolvemos o sistema Ly = b para y. Como L é
triangular, a determinação de y dessa equação requer apenas O n 2 ( ) operações. Uma vez
que y é conhecido, o sistema triangular superior de y requer apenas O n 2 ( ) operações
adicionais para se determinar a solução de x. Isso significa que o número de operações
necessárias para ser resolver o sistema Ax = b é reduzido de O n
3
( 3) ( )
para O 2n 2 . Em

sistemas maiores que 100x100, esse procedimento pode reduzir a quantidade de cálculos em
mais de 97%. Mesmo que não surpreendentes, as reduções resultantes da fatoração das

38
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
matrizes não vêm de graça; determinar as matrizes específicas L e U requer O n
3
( 3)
operações. Mas uma vez que a fatoração esteja determinada, um sistema envolvendo a
matriz A e qualquer vetor b pode ser resolvido por esse método simplificado.
Para identificar que as matrizes têm fatoração LU e para descobrir como essa
fatoração é determinada, inicialmente vamos supor que a eliminação de Gauss possa ser
executada no sistema Ax = b sem intercâmbio de linhas.
O primeiro passo no processo de eliminação de Gauss consiste em executar, para
cada j = 2,3,..., n , as operações

a (j11)
( E j − m j ,1E1 ) → E j onde m j ,1 = a11(1)
(3)

Essa operação transforma o sistema em outro no qual todas as entradas na primeira coluna
abaixo da diagonal principal são iguais a zero.
O sistema de operações em (3) pode ser visualizado de outra maneira. A operação
pode ser efetuada multiplicando a matriz original A no lado esquerdo pela matriz

⎛ 1 0 0⎞
⎜ ⎟
⎜ −m21 1 ⎟
(1)
M =⎜ 0 ⎟
⎜ ⎟
⎜ 0⎟
⎜ −m 1 ⎟⎠
⎝ n1 0 0 0

Essa primeira matriz é chamada de matriz da primeira transformação de Gauss. Indica-se


o produto dessa matriz com A( ) ≡ A por A( ) e com b por b( 2 ) , o que implica
1 2

A( 2) x = M (1) Ax = M (1)b = b( 2)

Do mesmo modo construímos M ( 2) , a matriz identidade, que tem as entradas abaixo


da diagonal na segunda coluna substituídas pelos negativos dos multiplicadores

a (j22)
m j ,2 = ( 2)
.
a22
O produto dessa matriz com A( 2) tem zeros abaixo da diagonal das primeiras duas colunas,
e fazemos
39
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
A( 3) x = M ( 2) A( 2) x = M ( 2) M (1) Ax = M ( 2) M (1)b = b( 3) .

Em geral, com A( k ) x = b( k ) já formado, o multiplicamos pela k-ésima matriz de


transformação de Gauss

⎛1 0 0⎞
⎜ ⎟
⎜0 ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
M( =⎜ ⎟
k)
− mk +1,k
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0⎟
⎜⎜ ⎟
⎝0 0 − mn ,k 0 0 1 ⎟⎠

Para obter

A( k +1) x = M ( k ) A( k ) x = M ( k ) M (1) Ax = M ( k )b( k ) = b( k +1) = M ( k ) M (1)b.

O processo termina com a formação de A( n ) x = b( n ) , onde A( ) é a matriz triangular superior


n

⎛ a11(1) a12(1) a1(1n) ⎞


⎜ ( 2)

( n) ⎜ 0 a22 ⎟
=⎜
( n −1) ⎟
A
⎜ an −1,n ⎟
⎜⎜ ( n) ⎟⎟
⎝ 0 0 ann ⎠

Dada por

A( n ) = M ( n −1) M ( n − 2) M (1) A.

40
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Esse processo forma a porção U = A( n ) da fatoração da matriz A = LU . Para
determinar a matriz triangular inferior complementar L, inicialmente chamamos a
multiplicação de A( k ) x = b( k ) pela transformação gaussiana de M ( k )

A( k +1) x = M ( k ) A( k ) x = M ( k )b( k ) = b( k +1) ,

Onde M ( k ) gera as operações nas linhas

(E j − m j ,k Ek ) → ( E j ) j = k + 1,..., n
Para se reverter os efeitos dessa transformação e retornar a A( k ) , é necessário que as
operações ( E j + m j ,k Ek ) → ( E j ) sejam executadas para cada j = k + 1,..., n . Isso é equivalente
a se multiplicar pelo inverso da matriz M ( k ) , a matriz

⎛1 0 0⎞
⎜ ⎟
⎜0 ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
−1
L( = ⎡⎣ M ⎤⎦ = ⎜ ⎟
k) ( k)
−mk +1,k
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0⎟
⎜⎜ ⎟
⎝0 0 −mn ,k 0 0 1 ⎟⎠

A matriz triangular inferior L na fatoração de A é o produto das matrizes L( k ) :

⎛ 1 0 0⎞
⎜ ⎟
m21 1
L = L( ) L( =⎜ ⎟
2)
L(
1 n −1)
⎜ 0⎟
⎜⎜ ⎟
⎝ mn1 mn ,n −1 1 ⎟⎠

Já que o produto de L com a matriz de triângulo superior U = M ( n −1) M ( 2) M (1) A dá

41
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
LU = L(1) L( 2 ) L( n −3) L( n − 2) L( n −1) i M ( n −1) M ( n − 2 ) M ( n −3) M ( 2) M (1) A
−1 −1 −1 −1
= ⎡⎣ M (1) ⎤⎦ ⎡⎣ M ( 2) ⎤⎦ ⎡ M ( n − 2) ⎤ ⎡ M ( n −1) ⎤ i M ( n −1) M ( n − 2 )
⎣ ⎦ ⎣ ⎦ M ( 2) M (1) A = A

Teorema:
Se a eliminação de Gauss pode ser executada no sistema linear Ax = b sem
intercâmbio de linhas, então a matriz A pode ser fatorada no produto de uma matriz
triangular inferior L e uma matriz triangular superior U, onde m ji = a (jii ) aii( i ) ,

⎛ a11(1) a12(1) a1(1n) ⎞ ⎛ 1 0 0⎞


⎜ ( 2)
⎟ ⎜ ⎟
⎜ 0 a22 ⎟ m21 1
U =⎜ ⎟ e L=⎜ ⎟
an( −1,n) ⎟
n −1 ⎜ 0⎟
⎜ ⎜⎜ ⎟
⎜⎜ (n) ⎟ ⎟ ⎝ mn1 mn ,n −1 1 ⎟⎠
⎝ 0 0 ann ⎠

TÉCINCAS ITERATIVAS PARA SOLUCIONAR SISTEMAS LINEARES

Nesta seção descreveremos os métodos interativos de Jacobi e de Gauss-Seidel,


métodos clássicos que datam do final do séc. XVIII. Técnicas interativas são raramente
utilizadas para solucionar sistemas lineares de pequenas dimensões, já que o tempo
requerido para obter um mínimo de precisão ultrapassa o requerido pelas técnicas diretas
como a eliminação gaussiana. Contudo, para sistemas grandes, com uma grande
porcentagem de entradas zero, essas técnicas são eficientes em termos tanto de cálculo
como de armazenamento; Sistemas desse tipo frequentemente surgem na análise de
circuitos e na solução de problemas de valor de limite e equação diferenciais parciais.
Uma técnica interativa para resolver o sistema linear n × n Ax = b começa com uma

{ x( ) }

aproximação inicial x ( ) para a solução x e gera uma seqüência de vetores
k
, que
0
k =0

converge para x. Técnicas iterativas envolvem um processo que converte o sistema Ax = b


no sistema equivalente da forma x = Tx + c para alguma matriz T e algum vetor c fixos.
Após o vetor inicial x ( 0 ) ter sido estabelecido, a seqüência de vetores para a
aproximar a solução é gerada calculando-se

x( ) = Tx (
k −1)
+c
k

Para cada k = 1, 2,3,..., . Esse resultado deve ser remanescente da interação de ponto fixo.

42
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Exemplo 1
O sistema linear Ax = b dado por

E1 :10 x1 − x2 + 2 x3 = 6,
E2 : − x1 + 11x2 − x3 + 3 x4 = 25,
E3 : 2 x1 − x2 + 10 x3 − x4 = −11,
E4 : 3x2 − x3 + 8 x4 = 15

Tem a única solução x = (1, 2, −1,1) . Para converter Ax = b para a forma x = Tx + c ,


t

resolvemos a equação Ei para xi para cada i = 1, 2,3, 4, para obter

1 1 3
x1 = x2 − x3 + ,
10 5 5
1 1 3 25
x2 = x1 + x3 − x4 + ,
11 11 11 11
1 1 1 11
x3 = − x1 + x2 + x4 − ,
5 10 10 10
3 1 15
x4 = − x2 + x3 + .
8 8 8

Então, Ax = b pode ser reescrita na forma x = Tx + c , com

⎛ 1 1 ⎞ ⎛ 3 ⎞
⎜ 0 10 − 5 0 ⎟ ⎜ 5 ⎟
⎜ ⎟ ⎜ ⎟
⎜ 1 0
1

3⎟ ⎜ 25 ⎟
⎜ 11 11 11 ⎟ ⎜ 11 ⎟
T =⎜ ⎟ e c=⎜ ⎟
⎜−1 1 0
1 ⎟ ⎜ −
11 ⎟
⎜ 5 10 10 ⎟ ⎜ 10 ⎟
⎜ 3 1 ⎟ ⎜ 15 ⎟
⎜ 0 − 0 ⎟ ⎜ ⎟
⎝ 8 8 ⎠ ⎝ 8 ⎠

Para a aproximação inicial, fazemos x( 0) = ( 0, 0, 0, 0 ) . Então x(1) é dado por


t

43
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
1 ( 0) 1 3
x1(1) = x2 − x3( 0) + = 0, 6000,
10 5 5
1 ( 0) 1 3 ( 0) 25
x2(1) = x1 + x3( 0) − x4 + = 2, 2727,
11 11 11 11
1 1 ( 0) 1 11
x3(1) = − x1( 0) + x2 + x4( 0) − = −1,1000,
5 10 10 10
3 1 15
x4(1) = − x2( 0) + x3( 0) + = 1,8750.
8 8 8

( )
t
As interações adicionais, x( k ) = x1( k ) , x2( k ) , x3( k ) , x4( k ) , são geradas de maneira similar e estão
apresentadas na tabela a seguir.

k 0 1 2 3 4
x1(
k)
0,000 0,6000 1,0473 0,9326 1,0152
x2( k ) 0,0000 2,2727 1,7159 2,053 1,9537
x3( k ) 0,0000 -1,1000 -0,8052 -1,0493 -0,9681
x4(
k)
0,0000 1,8750 0,8852 1,1309 0,9739

5 6 7 8 9 10
0,9890 1,0032 0,9981 1,006 0,9997 1,0001
2,0114 1,9922 2,0023 1,9987 2,0004 1,9998
-1,0103
-0,9945 -1,0020 -0,9990 -1,0004 -0,9998

1,0214 0,9944 1,0036 0,9989 1,0006 0,9998

A decisão de para após 10 iterações foi baseada o critério

x(10) − x( 9) 8, 0 ×104

= < 10−3.
x(10) 1,9998

De fato, x (10) − x ( 9) = 0, 0002.


O método aplicado neste exemplo é chamado de método interativo de Jacobi. Ele


consiste em solucionar a i-ésima equação em Ax = b para xi , para obter (garantindo
aii ≠ 0 )

44
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
n
⎛ aij x j ⎞ bi
xi = ∑ ⎜ − ⎟+ , para i = 1, 2,..., n .
j =1 ⎝ aii ⎠ aii
j ≠i

E gera cada xi( k ) a partir dos componentes de x ( k −1) para k ≥ 1 por

∑ ( −a x ( ) ) + b ,
n
k −1
ij j i
j =1
xi ( ) =
j ≠i
para i = 1, 2,..., n .
k

aii

O método é escrito na forma x( k ) = Tx ( k −1) + c ao se dividir A em suas partes diagonal


e fora da diagonal. Para ver isso, faça com que D seja a matriz diagonal cujas entradas são
aquelas de A, -L seja a parte estritamente triangular inferior de A e – U seja a parte
estritamente triangular de A. Com essa notação

⎛ a11 a12 a1n ⎞


⎜ ⎟
A = ⎜ 21 ⎟
a a22
⎜ an −1,n ⎟
⎜⎜ ⎟
⎝ an1 an 2 ann ⎟⎠

⎛ a11 0 0 ⎞ ⎛ 0 0 ⎞ ⎛ 0 − a12 a1n ⎞


⎜ ⎟ ⎜ ⎟ ⎜ ⎟
A=⎜
0 a22 ⎟ − ⎜ − a21 ⎟−⎜ ⎟
⎜ 0 ⎟ ⎜ ⎟ ⎜ − an −1,n ⎟
⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ 0 0 ann ⎟⎠ ⎜⎝ − an1 − an ,n −1 0 ⎟⎠ ⎜⎝ 0 0 ⎟⎠

A = D − L −U

A equação Ax = b , ou (D-L-U)x = b,é, então, transformada em

Dx= ( L+U ) x+ b

e, se D −1 existe e aii ≠ 0 para cada i, então

x=D-1 ( L+U ) x+ D-1b.

Isso resulta na forma matricial da técnica interativa de Jacobi:

45
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
x ( k ) =D-1 ( L+U ) x ( k-1) + D-1b para k = 1, 2,...

Introduzindo a notação Tj =D-1 ( L+U ) e c j = D-1b , a técnica de Jacobi passa ter a forma

x( k ) = T j x( k −1) + c j .

46
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA

Você também pode gostar