Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila CAN PDF
Apostila CAN PDF
Apostila CAN PDF
Instituto de Tecnologia
Faculdade de Engenharia Mecânica
Cálculo Numérico
Aplicado a Engenharia
Utilizando o Software MATLAB
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
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
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
1310 = 11012
0,2510 = 0,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:
Exemplos de aplicação:
⎛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.
Exemplo prático:
⎛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 ⎠
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:
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
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 .
h n +1
en (x ) = f n +1 ( ξ ) onde x0 − ξ < h .
(n + 1) !
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:
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
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
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
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
h h2 hn n
f ( x ) = f ( x0 ) + f '( x0 ) + f ''( x0 ) + … + f ( x0 ) + …
1! 2! n!
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 .
h k +1
ek ( x ) = f (k +1) (ξ ) onde x0 − ξ < h .
(k +1)!
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!
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!
h 2 h3 h 4 n−1 h
n
f (1 + h) = h − + − + … + (−1) +
2 3 4 n
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) .
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.
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!
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
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 ( x0 ) = ln ( x0 ) = ln (2) = 0.693
f ( x0 + h ) = ln ( x0 + h ) = ln (2 + 0.1) = 0.742
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
f ( x0 − h ) = ln ( x0 − h ) = ln (1.9) = 0.642
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
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 ) .
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
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
21
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 4
4.1Introdução
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
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.
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:
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 (xo )
x1 ≈ xo − (3)
f ' (xo )
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 )
f ( xi )
xi +1 = xi − (6)
f ' ( xi )
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.
TABELA 1
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.
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.
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.
− 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:
f ( xd(i ) ) − f ( xe(i ) )
n
30
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
Capítulo 5
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,
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⎠
33
Prof. Jerson R. P. Vaz
Faculdade de Engenharia Mecânica - UFPA
⎛ a11 ⎞
⎜ ⎟
a
A = ⎜ 21 ⎟
⎜ ⎟
⎜⎜ a ⎟⎟
⎝ n1 ⎠
⎛ x1 ⎞
⎜ ⎟
x
x=⎜ 2⎟
⎜ ⎟
⎜⎜ ⎟⎟
⎝ xn ⎠
denota um vetor linear.
Uma matriz n × ( n + 1) pode ser utilizada para representar o sistema linear
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 ⎟⎠
⎝
⎛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 ,
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:
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
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
⎧
⎪ ( 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
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
( 3)
O n
3
operações aritméticas para se determinar x. Se A tiver fatorado na forma
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
A( 2) x = M (1) Ax = M (1)b = b( 2)
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) .
⎛1 0 0⎞
⎜ ⎟
⎜0 ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
M( =⎜ ⎟
k)
− mk +1,k
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ 0 ⎟
⎜ ⎟
⎜ ⎟
⎜ 0⎟
⎜⎜ ⎟
⎝0 0 − mn ,k 0 0 1 ⎟⎠
Para obter
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 )
(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 ⎟⎠
⎛ 1 0 0⎞
⎜ ⎟
m21 1
L = L( ) L( =⎜ ⎟
2)
L(
1 n −1)
⎜ 0⎟
⎜⎜ ⎟
⎝ mn1 mn ,n −1 1 ⎟⎠
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 ) ,
{ x( ) }
∞
aproximação inicial x ( ) para a solução x e gera uma seqüência de vetores
k
, que
0
k =0
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
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
⎛ 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 ⎠
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
x(10) − x( 9) 8, 0 ×104
∞
= < 10−3.
x(10) 1,9998
∞
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
∑ ( −a x ( ) ) + b ,
n
k −1
ij j i
j =1
xi ( ) =
j ≠i
para i = 1, 2,..., n .
k
aii
A = D − L −U
Dx= ( L+U ) x+ b
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