Você está na página 1de 162

B

%@A0
&8 )42 0 '$
9(& 7 6(12 531) (& %#

i=1
0

ll

0
10

10

20
20

30
40

30

50

40
8
50
7
6
5
4
3
2
1
0


"!

    

PARA ELIANE...

Sumrio
a
1 Sistemas Lineares
1.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . .
ca
1.1.1 Soluo de um sistema n n . . . . . . . . . .
ca
1.2 Mtodos Diretos . . . . . . . . . . . . . . . . . . . . .
e
1.2.1 Mtodo de Gauss . . . . . . . . . . . . . . . . .
e
1.2.2 Decomposio LU . . . . . . . . . . . . . . . .
ca
1.3 Mtodos Iterativos . . . . . . . . . . . . . . . . . . . .
e
1.3.1 Mtodo Iterativo de Jacobi . . . . . . . . . . .
e
1.3.2 Critrio de Parada . . . . . . . . . . . . . . . .
e
1.3.3 Mtodo Iterativo de Gauss-Seidel . . . . . . . .
e
1.3.4 Mtodo do Renamento Iterativo . . . . . . . .
e
1.3.5 Nmero Condicional . . . . . . . . . . . . . . .
u
1.3.6 Convergncia do M. Iterativo de Jacobi e Gausse
Seidel . . . . . . . . . . . . . . . . . . . . . . .
1.4 Sistemas Lineares Complexos . . . . . . . . . . . . . .
1.5 Exerc
cios . . . . . . . . . . . . . . . . . . . . . . . . .

19
20
21

2 Zeros de funo
ca
2.1 Introduo . . . . . . . . . . . . . . . . . . .
ca
2.2 Mtodo de Localizao de Zeros . . . . . . .
e
ca
2.3 Mtodo do Meio Intervalo - MMI . . . . . .
e
2.4 Mtodo da Secante . . . . . . . . . . . . . .
e
2.4.1 Convergncia no Mtodo da Secante
e
e
2.5 Mtodo de Newton . . . . . . . . . . . . . .
e
2.5.1 Convergncia no Mtodo de Newton
e
e
2.6 Mtodo da Iterao Linear . . . . . . . . . .
e
ca

25
25
27
29
31
33
33
35
36

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

1
1
3
4
4
8
11
11
14
15
17
17

2.7

2.8
2.9

2.6.1 A Funo de Iterao . . . . . .


ca
ca
Comentrios Finais Sobre os Mtodos .
a
e
2.7.1 Localizao de Zeros . . . . . . .
ca
2.7.2 Mtodo do Meio Intervalo - MMI
e
2.7.3 Mtodo da Secante . . . . . . . .
e
2.7.4 Mtodo de Newton . . . . . . . .
e
2.7.5 Mtodo da Iterao Linear . . .
e
ca
Zeros de um Polinmio . . . . . . . . . .
o
2.8.1 Multiplicidade de um zero . . . .
Exerc
cios . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

39
41
41
41
41
41
42
43
50
51

3 Interpolao
ca
3.1 Introduo . . . . . . . . . . . . . . . . . . . .
ca
3.2 Interpolao de Lagrange . . . . . . . . . . .
ca
3.3 Interpolao com Diferenas Divididas Finitas
ca
c
3.3.1 Propriedades de uma DDF . . . . . .
3.3.2 Obteno da Frmula . . . . . . . . .
ca
o
3.4 Erro de Truncamento . . . . . . . . . . . . . .
3.5 Mtodo de Briot-Runi . . . . . . . . . . . .
e
3.6 Consideraes Finais . . . . . . . . . . . . . .
co
3.7 Exerc
cios . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

. . . .
. . . .
DDF .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .

53
53
54
57
57
58
59
62
64
65

4 Integrao Numrica
ca
e
4.1 Introduo . . . . . . . . . . .
ca
4.2 Regra dos Trapzios . . . . .
e
4.2.1 Erro de Truncamento
4.3 1a Regra de Simpson . . . . .
4.4 Quadratura Gaussiana . . . .
4.5 Exerc
cios . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

69
69
70
71
73
76
80

. . . . . . . .
. . . . . . . .
Seo Aurea
ca
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

83
83
86
87
88
89
90
92

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5 M
nimos e Mximos
a
5.1 Introduo . . . . . . . . . . . . . .
ca
5.2 Mtodo da Seo Aurea . . . . . .
e
ca
5.2.1 Convergncia no Mtodo da
e
e
5.3 Superf
cies em R3 . . . . . . . . . .
5.4 Mtodo do Gradiente . . . . . . . .
e
5.5 Bacias de atrao . . . . . . . . . .
ca
5.6 Mtodo de direes aleatrias . . .
e
co
o

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5.7

Exerc
cios . . . . . . . . . . . . . . . . . . . . . . . . . 93

6 Introduo ao Matlab
ca
6.1 Introduo . . . . . . . . . . . .
ca
6.2 Comandos . . . . . . . . . . . .
6.2.1 Comando de leitura . .
6.2.2 Comando de impresso
a
6.2.3 Comando de atribuio
ca
6.2.4 Estrutura de deciso . .
a
6.2.5 Estruturas de repetio
ca
6.3 Itens Bsicos do Matlab . . . .
a
6.3.1 Operadores relacionais .
6.3.2 Conectivos lgicos . . .
o
6.3.3 Funes Pr-denidas .
co
e
6.3.4 Script . . . . . . . . . .
6.4 Vetores e Matrizes . . . . . . .
6.5 Funes em Matlab . . . . . . .
co
6.6 Grcos Bidimensionais . . . .
a
6.7 Grcos Tridimensionais . . . .
a
6.8 Exerc
cios . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

95
95
97
97
97
98
99
100
103
103
104
104
105
108
111
113
115
116

7 Implementao dos Mtodos


ca
e
7.1 Sistemas Lineares . . . . . .
7.2 Zeros de Funo . . . . . .
ca
7.3 Interpolao . . . . . . . . .
ca
7.4 Integrao . . . . . . . . . .
ca
7.5 Otimizao . . . . . . . . .
ca
7.6 Exerc
cios . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

119
119
130
136
138
139
145

Bibliograa

.
.
.
.
.
.

.
.
.
.
.
.

149

Lista de Figuras
1.1
1.2
1.3

Soluo geomtrica de um sistema 2 2 . . . . . . . . 3


ca
e
O sistema no possui soluo . . . . . . . . . . . . . . 4
a
ca
Seqncia X n . . . . . . . . . . . . . . . . . . . . . . . 14
ue

2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14

Zeros de uma funo . . . . . . . . . . . . . .


ca
f (x) > 0 e f (x) < 0 . . . . . . . . . . . . . .
Zeros de f (x) . . . . . . . . . . . . . . . . . .
Zeros de f (x) . . . . . . . . . . . . . . . . . .
Criando uma partio P . . . . . . . . . . . .
ca
(xn ) convergindo para o zero
. . . . . . . .
Seqncia (xn ) no mtodo da secante . . . . .
ue
e
Seqncia (xn ) no mtodo de Newton . . . .
ue
e
Seqncia (xn ) no mtodo da Iterao Linear
ue
e
ca
Seqncia (xn ) no Mtodo da Iterao Linear
ue
e
ca
Mtodo grco . . . . . . . . . . . . . . . . .
e
a
Limite dos zeros . . . . . . . . . . . . . . . .
Isolando zeros . . . . . . . . . . . . . . . . . .
Limite de zeros complexos . . . . . . . . . . .

3.1

Erro de truncamento . . . . . . . . . . . . . . . . . . . 63

4.1
4.2
4.3
4.4

Area do trapzio . . . . . . . . . . . . . .
e
Clculo da rea por trapzios . . . . . . .
a
a
e
Clculo da rea pela 1a regra de Simpson
a
a
Clculo da rea por trapzios . . . . . . .
a
a
e

5.1
5.2

M
nimos local e global . . . . . . . . . . . . . . . . . . 84
Parabolide . . . . . . . . . . . . . . . . . . . . . . . . 88
o
V

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

26
26
27
28
29
30
32
34
37
37
43
46
47
49

71
72
74
75

5.3
5.4

Seqncia (pn ) se aproximando do m


ue
nimo de f (x) . . 90
Bacias de atrao . . . . . . . . . . . . . . . . . . . . . 91
ca

6.1
6.2
6.3

Grco de f (x) = x2 . . . . . . . . . . . . . . . . . . . 114


a
Grco de f (x, y) = x2 + y 2 . . . . . . . . . . . . . . . 115
a
Grco+(curva de n
a
vel) de f (x, y) = x2 + y 2 . . . . . 115

Prefcio
a
Este livro de clculo numrico foi escrito com base nas notas
a
e
de aula, ministradas na Universidade Federal do Esp
rito Santo e
na Universidade Estadual do Sudoeste da Bahia. A importncia do
a
clculo numrico para os estudantes de engenharia, f
a
e
sica e matemtica
a
se faz na conexo dos mtodos numricos matemticos com a coma
e
e
a
putao, cada vez mais presente no dia-dia acadmico. Os mtodos
ca
e
e
numricos so velhos conhecidos dos matemticos. Mesmo antes de
e
a
a
Cristo j se conhecia alguns mtodos numricos. Com o advento do
a
e
e
computador esses mtodos puderam ser implementados e assim uma
e
quantidade de problemas puderam ser resolvidos. O que antes se
conhecia apenas como existncia e unicidade, agora pode ser detere
minado por aproximaes to precisas quanto se queira.
co
a
Tentei escrever um livro para ser usado em um semestre letivo
nos cursos de graduao, por isso, no que tange o contedo de
ca
u
cada cap
tulo, ha uma preocupao em expor os principais mtodos
ca
e
numricos, claro que alguns caram de fora. O leitor interessado
e
pode procurar na bibliograa para aprofundar mais. Temos como objetivo que o estudante tenha uma viso profunda em alguns temas e
a
outros uma viso geral, montando assim seu conhecimento e metodoloa
gia de estudo em relao aos mtodos numricos.
ca
e
e
Em cada cap
tulo, existe uma preocupao em expor assuntos atca
uais e de importncia prtica. Muitas demonstraes no so feitas
a
a
co
a a
devido a complexidade e o fato de fugirem do tema principal, mas
podem ser obtidas nas referncias. Dedicamos um cap
e
tulo, a introduo do software Matlab, que ser suciente para implementar
ca
a
os mtodos apresentados aqui. Claro que os mtodos tambm poe
e
e
dem ser implementados em uma outra linguagem. Um comentrio
a
importante: grande parte dos mtodos numricos apresentados aqui
e
e
j esto implementados no Matlab em forma de funes pr-denidas.
a a
co
e
Mesmo assim, de suma importncia o estudo desses mtodos, uma
e
a
e
vez que os problemas prticos exigem certas mudanas.
a
c
Dei especial ateno ao cap
ca
tulo de zeros de funes, apresenco
tando mtodos numricos e anal
e
e
ticos para encontrar zeros de uma
funo. Uma seo dedicada exclusivamente aos zeros de um polinmio,
ca
ca
o

faz o diferencial deste livro. Fornecendo um potente teorema que


limita os zeros de um polinmio.
o
Em geral no comum o tema M
a e
nimos e Mximos em textos
a
de clculo numrico. Por isso, o professor desejoso, pode omitir esse
a
e
cap
tulo. Esse tema foi colocado neste texto devido a importncia
a
prtica cada vez maior, e o fato de ser uma tima aplicao dos
a
o
ca
mtodos numricos.
e
e
Como pr-requisito, o leitor deve ter em mente o curso de Clculo
e
a
I e II, e lgebra linear. No cap
a
tulo 6 zemos uma introduo aos alca
goritmos em Matlab, o que elimina um curso bsico de programao
a
ca
como pr-requisito. Gostaria de agradecer aos alunos da UESB pelas
e
correes e sugestes efetuadas no decorrer do trabalho. Agradeo
co
o
c
aos professores Ivanor e Maria Aparecida pelos incentivos para a
publicao deste texto.
ca
Vitria da Conquista, 10 de Junho de 2005.
o
Flaulles Boone Bergamaschi

Cap
tulo 1

Sistemas Lineares
1.1

Introduo
ca

Neste cap
tulo vamos desenvolver tcnicas e mtodos numricos para
e
e
e
resolver sistemas lineares nn. Esses sistemas aparecem com freqncia
ue
em problemas da engenharia, f
sica, qu
mica, etc... Com o advento
do computador tais mtodos ganharam mais ateno, cando assim
e
ca
evidente a importncia de um estudo mais aprofundado. Lembramos
a
o leitor que alguns tpicos bsicos de lgebra linear so necessrios.
o
a
a
a
a
Por isso, aconselhamos o uso de algum livro sobre o assunto para
acompanhamento.
Um sistema de equaes lineares com m equaes e n incgnitas
co
co
o
dado na forma:
e

= b1
a11 x1 + a12 x2 + + a1n xn

a21 x1 + a22 x2 + + a2n xn


= b2
()
.
.
.
.
.
.
.
.
.
.
.
.

am1 x1 + am2 x2 + + amn xn = bm

Com aij (i = 1, . . . m, j = 1 . . . n) nmeros reais ou complexos.


u
A soluo do sistema () um conjunto (x1 , x2 , . . . , xn ) que satca
e
isfaa todas as m equaes.
c
co
O sistema () tambm pode ser escrito na forma matricial:
e
1

CAP
ITULO 1. SISTEMAS LINEARES

a11
a21
.
.
.

a12
a22
.
.
.

am1 am2

..
.

a1n
a2n
.
.
.

amn

x1
x2
.
.
.

xn

b1
b2
.
.
.

bm

ou seja, AX = B com A sendo a matriz dos coecientes, X o vetor


de incgnitas e B o vetor de termos independentes.
o
Chamamos de matriz ampliada do sistema () a matriz formada
pela juno do vetor de termos independentes e a matriz dos coeca
cientes.

a11 a12 a1n b1


a21 a22 a2n b2

.
.
.
.
..
.
.
.
.
.
.
.
.
.
am1 am2

amn bm

E importante notar que a matriz ampliada do sistema o ponto


e
de partida para encontrar-mos a soluo do sistema via mtodos
ca
e
numricos, o que desenvolveremos mais adiante.
e
Exemplo 1.1.1. Consideremos o seguinte sistema 2 2
2x1 + x2 = 3
x1 + 4x2 = 5
A=

2 1
1 4

, B=

3
5

, X=

Matriz ampliada do sistema:

x1
x2

2 1 3
1 4 5

Por motivos tcnicos e computacionais trataremos apenas o caso


e
de sistemas onde o nmero de equaes e incgnitas so iguais, ou
u
co
o
a
seja, m = n. Matricialmente isso quer dizer que, a matriz dos coecientes uma matriz quadrada. Tambm vamos assumir que a
e
e
matriz dos coecientes uma matriz real.
e
Geometricamente a soluo de uma sistema linear (n m) a
ca
e
interseo de n hiperplanos em Rn . Veja no exemplo:
ca

1.1. INTRODUCAO

Exemplo 1.1.2. Considere o sistema do exemplo anterior onde a


soluo dada por P = (1, 1), que exatamente a interseo das
ca e
e
ca
retas 2x1 + x2 = 3 e x1 + 4x2 = 5 conforme Figura 1.1
y
4

1
x

0
-7

-6

-5

-4

-3

-2

-1

-1

-2

-3

-4

Figura 1.1: Soluo geomtrica de um sistema 2 2


ca
e

1.1.1

Soluo de um sistema n n
ca

Vamos relembrar alguns resultados da lgebra linear:


a
i. Um sistema linear (n n) possui soluo unica se o determica
nante da matriz dos coecientes diferente de zero.
e
ii. Caso o determinante seja zero, o sistema no possui soluo
a
ca
ou possui innitas solues.
co
A demonstrao dos itens acima pode ser encontrada em [2]
ca
Exemplo 1.1.3. Consideremos os sistema
2x1 + x2 =
3
2 1
, veja que det
4x1 + 2x2 = 6
4 2

=0

Neste caso as retas 2x1 + x2 = 3 e 4x1 + 2x2 = 6(veja Figura


1.2) so paralelas.
a

CAP
ITULO 1. SISTEMAS LINEARES

y
4

1
x

0
-7

-6

-5

-4

-3

-2

-1

-1

-2

-3

-4

Figura 1.2: O sistema no possui soluo


a
ca
Em problemas prticos comum encontrar sistemas lineares de
a
e
grande porte, por exemplo n > 1000. Por isso necessrio desene
a
volvermos mtodos numricos para encontrar a soluo de tais sise
e
ca
temas de tal forma que, seja sempre poss implementar algoritmos
vel
computacionais.
Comeamos com os mtodos numricos diretos que fornecem a
c
e
e
soluo exata 1 atravs de um nmero nito de passos.
ca
e
u

1.2

Mtodos Diretos
e

1.2.1

Mtodo de Gauss
e

Este mtodo trabalha com a equivalncia de sistemas atravs de


e
e
e
operaes
co
elementares na matriz ampliada. Para comear vamos denir as
c
operaes elementares sobre as linhas de uma matriz.
co
Operaes elementares
co
i. trocar linhas, Li Lj .
ii. Multiplicar uma linha por um escalar k = 0, Li kLi .
1

Quando no existem erros de truncamento e arredondamento


a


1.2. METODOS DIRETOS

iii. Substituir uma linha por sua soma com um mltiplo escalar de
u
outra linha. k = 0, Li Li + kLj .
Denio 1.1. Dizemos que as matrizes Amn e Bmn so linha
ca
a
equivalentes, se Bmn pode ser obtida atravs de operaes elementares
e
co
em Amn .
Na denio acima podemos usar a notao A B.
ca
ca
Exemplo 1.2.1. A matriz A =

0 2 2
1 2 3

linha equivalente a B =
e

1 1 2
.
0 1 1
Aplicando operaes elementares em A temos:
co
0 2 2
1 2 3

L1 L2

1 2 3
0 2 2

1
L2 2 L2

1 2 3
0 1 1

L1 L1 +(1)L2

1 1 2
0 1 1
B

Teorema 1.1. Dois sistemas que possuem matrizes ampliadas equivalentes so equivalentes, ou seja, tem mesma soluo.
a
ca
A demonstrao desse teorema pode ser encontrada em [2].
ca
Exemplo 1.2.2. O sistema

2x1 + x2 = 3
x1 + x2 = 2

so equivalentes.
a
Basta observar que:
2 1 3
1 1 2

L1 2L1

4 2 6
1 1 2

L2 1 L2
2

4
1
2

4x1 + 2x2 = 6
1
1
2 x1 + 2 x2 = 1

2 6
1
2 1

Com o Teorema 1.1 estamos prontos para iniciar o mtodo de


e
Gauss, que consiste em transformar a matriz ampliada de um sistema
atravs de operaes elementares em uma matriz da forma:
e
co

CAP
ITULO 1. SISTEMAS LINEARES

a12
a22
0
.
.
.

a11
0
0
.
.
.

a13 a1n
a23 a2n
a33 a3n
.
.
..
.
.
.
.
.
0
amn

b1
b2
b3
.
.
.

(1.1)

bm

ou seja, a matriz dos coecientes uma matriz triangular superior.


e
x1 + x2 = 2
. Efet2x1 + x2 = 3
uando operaes elementares na matriz ampliada termos:
co

Exemplo 1.2.3. Considere o sistema

1 1 2
2 1 3

L2 L2 +(2)L1

1 1
2
0 1 1

x1 + x2 = 2
, que
x2 = 1
facilmente resolvido por substituio retroativa, ou seja, encone
ca
tramos x2 na segunda equaao e substitu
c
mos na primeira equao,
ca
encontrando x1 .
Portanto este sistema equivalente a
e

Daremos agora os passos para obter a matriz equivalente no caso


de um sistema 3 3.

a11 x1 + a12 x2 + a13 x3 = b1


a21 x1 + a22 x2 + a23 x3 = b2 e
Considere ento o sistema
a

a31 x1 + a32 x2 + a33 x3 = b3


sua matriz ampliada:

a11 a12 a13 b1


A = a21 a22 a23 b2
a31 a32 a33 b3
Com os passos abaixo poss transformar a matriz A em uma
e
vel
matriz na forma dada em (1.1), atravs de operaes elementares.
e
co
1o passo
Denimos o elemento chamado de pivo como a11 e calculamos:


1.2. METODOS DIRETOS
m21 =

a21
a31
e m31 =
pivo
pivo

2o passo
Operamos na matriz ampliada A:
L2 L2 + m21 L1
L3 L3 + m31 L1
3o passo
O elemento pivo passe a ser a22 e calculamos:
m32 =

a32
pivo

4o passo
L3 L3 + m32 L2
Veja que o elemento pivo toma sempre os elementos na diagonal
da matriz dos coecientes.
O caso n n anlogo ao dado acima. Observamos que nesse
e a
algoritmo matemtico, o elemento pivo deve ser diferente de zero,
a
em outras palavras, todos os elementos na diagonal da matriz dos
coecientes deve ser diferente de zero. Mas nem tudo est perdido!
a
Caso algum elemento akk seja igual a zero, deve-se usar a operao
ca
elementar de troca de linha, ou seja, troca-se a linha k por uma linha
r tal que k < r.
Um outro problema pode ocorrer quando o elemento pivo est
a
prximo de zero, veja o
o
Exemplo 1.2.4. Considere o sistema

0.0001x1 + x2 = 1
x1 + x2 = 2

A soluo exata x1 = 1.0001 e x2 = 0.9999. Resolvendo este


ca
e
sistema pelo mtodo de Gauss obtemos, x1 = 1 e x2 = 0 que no
e
a
a soluo do sistema, nem to pouco um aproximao. Mas se a
e
ca
a
ca
primeira linha trocada com a segunda, ento o mtodo de Gauss
e
a
e
gera uma soluo x1 = 1 e x2 = 1 que uma boa aproximao.
ca
e
ca
Uma outra forma de resolver o problema quando o pivo zero
e
ou est prximo de zero conhecido como o mtodo de Pivotao
a o
e
e
ca

CAP
ITULO 1. SISTEMAS LINEARES

Parcial, onde o elemento pivo escolhido da seguinte forma: Toma-se


e
o pivo como o elemento de maior mdulo na matriz dos coecientes,
o
e efetua-se as operaes elementares na matriz ampliada. O prximo
co
o
pivo escolhido da mesma forma na matriz ampliada sem a linha do
e
pivo anterior.

1.2.2

Decomposio LU
ca

Seja AX = B um sistema n n e det(A) = 0. Suponha que A


possa se decompor no produto de uma matriz triangular inferior L,
e uma matriz triangular superior U , tal que A = LU , assim AX = B
equivale a (LU )X = B. Dessa forma podemos obter dois sistemas,
LY = B e U X = Y . Como L e U so triangulares, o sistema
a
LY = B rapidamente resolvido por substituio retroativa, e logo
e
ca
aps U X = Y .
o
Assim o problema agora decompor a matriz A no produto de
e
L e U . Recorremos ento a lgebra linear onde esse problema
a
a
e
conhecido como decomposio LU . Comeamos com o
ca
c
Teorema 1.2. Seja Ann uma matriz qualquer e Akk uma submatriz
de Ann formada pela interseo das primeiras k linhas e k colunas.
ca
Se det(Akk ) = 0 para k = 1, . . . , n 1 ento existem e so unicas as
a
a
matrizes L e U tal que A = LU .
A demonstrao pode ser encontrada em [8]
ca
Para obter L e U o processo vem da eliminao Gaussiana, aquela
ca
feita na seo anterior, onde L uma matriz triangular inferior com
ca
e
diagonal igual a 1 e multiplicadores mij , e U uma matriz triangular
superior formada pelos elementos da forma nal de A. Veja no caso
3 3,



u11 u12 u13
1
0
0
a11 a12 a13
a21 a22 a23 = m21
1
0 . 0 u22 u23
0
0 u33
m31 m32 1
a31 a32 a33


1.2. METODOS DIRETOS

2x1 + 3x2 x3
4x1 + 4x2 3x3
Exemplo 1.2.5. Considere o sistema

2x1 3x2 + x3

2
3
4
onde a matriz dos coecientes dada por A = 4
e
2 3

=
5
=
3 ,
= 1

1
3 .
1

a21
Tomando pivo = a11 , calculando m21 = pivo = 2, m31 =
= 1 e fazendo L2 L2 + m21 L1 e L3 L3 + m31 L1
obtemos a matriz:
a31
pivo

2
3 1
0 2 1
0 6
2
a32
Tomando agora pivo = a22 e calculando m32 = pivo = 3 e
fazendo L3 L3 + m32 L2 obtemos a matriz:

2
3 1
0 2 1
0
0
5
Dessa forma obtemos a decomposio de A em:
ca

1 0 0
L= 2 1 0
1 3 1

2
3 1
U = 0 2 1
0
0
5

Assim o sistema LY = B equivale a:

y1 =
5
5
1 0 0
y1

2 1 0 y2 = 3 =
2y1 + y2 =
3

y1 + 3y2 + y3 = 1
1
1 3 1
y3

Resolvendo por substituio retroativa temos a soluo y1 = 5, y2 =


ca
ca
7 e y3 = 15, onde podemos agora montar o sistema U X = Y :

CAP
ITULO 1. SISTEMAS LINEARES

10

5
5
2
3 1
x1
2x1 + 3x2 x3 =
0 2 1 x2 = 7 =
2x2 x3 = 7

15
5x3 = 15
x3
0
0
5

Novamente por substituio retroativa obtemos x1 = 1, x2 = 2 e


ca
x3 = 3.
O leitor j deve ter observado que usamos o mtodo de eliminao
a
e
ca
de Gauss para fazer a decomposio LU . Isso nos leva a pensar que
ca
o mtodo de Gauss da seo anterior equivalente a decomposio
e
ca
e
ca
LU . Veremos essa diferena no exemplo abaixo.
c
Exemplo 1.2.6. Inverso de Matrizes.
a
Dada uma matriz Ann tal que det(A) = 0. Ento A possui
a
1 . Para encontrar A1 devemos resolver n sistemas lininversa A
eares, veja:
Fazendo A1 = X temos AX = I, ou seja,

a11 a12
a21 a22
. .
. .
. .
an1 an2

..
.

a1n
a2n
.
.
.

ann

x11 x12
x21 x22
. .
. .
. .
xn1 xn2

..
.

x1n
x2n
.
.
.

xnn

0
1
.
.
.

..
.

0
0
.
.
.

1
0
.
.
.

A1

onde os sistemas so:


a

a11 a12
a21 a22
. .
. .
. .
an1 an2

..
.

a11 a12
a21 a22
. .
. .
. .
an1 an2

..
.

a1n
a2n
.
.
.

ann
a1n
a2n
.
.
.

ann

x11
x21
.
.
.

xn1



.

x12
x22
.
.
.
xn2

1
0
.
.
.

(sistema 1)

0
1
.
.
.
0

(sistema 2)


1.3. METODOS ITERATIVOS

11

.
.
.

a11 a12
a21 a22
. .
. .
. .
an1 an2

..
.

a1n
a2n
.
.
.

ann

x1n
x2n
.
.
.

xnn

0
0
.
.
.

(sistema n)

Veja que os n sistemas lineares tem a mesma matriz de coecientes A. Para usar o mtodo de Gauss dever
e
amos aplic-lo n
a
vezes. Por outro lado, uma vez aplicado o mtodo de Gauss em
e
A obtemos a decomposio LU . Agora resolvemos os sistemas por
ca
substituio retroativa. Isso reduz consideravelmente o nmero de
ca
u
operaes.
co
Existem outros mtodos para se obter as matrizes L e U , o leitor
e
interessado pode consultar o mtodo de Doolittle e Crout em [11].
e

1.3

Mtodos Iterativos
e

Os mtodos iterativos so caracterizados por uma funo chamada


e
a
ca
de funo de iterao. Essa funo deve ser obtida de tal forma
ca
ca
ca
que possamos garantir que a seqncia produzida por ela convirja
ue
para soluo do sistema, em outras palavras, dado o sistema AX =
ca
B, com Ann , devemos obter (x) tal que, dado x0 constru
mos
a seqncia x1 = (x0 ), x2 = (x1 ), . . . , xn = (xn1 ), . . . , e
ue
e
ca
lim xn = x, onde x a soluo exata do sistema AX = B.
n

1.3.1

Mtodo Iterativo de Jacobi


e

Considere um sistema 3 3:

(1) a11 x1 + a12 x2 + a13 x3 = b1


(2)
a21 x1 + a22 x2 + a23 x3 = b2

(3)
a31 x1 + a32 x2 + a33 x3 = b3

CAP
ITULO 1. SISTEMAS LINEARES

12

De (1) temos que x1 =

De (2) temos que x2 =

De (3) temos que x3 =

a12
a13
b1

x2
x3
a11 a11
a11

(1.2)

b2
a21
a23

x1
x3
a22 a22
a22

(1.3)

b3
a31
a32

x1
x2
a33 a33
a33

(1.4)

ou

x1


x2 =

x3

b1
a11
b2
a22
b3
a33
d



a21
+ a22

a31
a33

a12
a11

a13
a11

a23
a22

a32
a33

x1

. x2

x3

Agora podemos montar a funo de iterao de Jacobi:


ca
ca
(x) = d + F x
O caso geral anlogo, ou seja, a matriz F dada por
e a
e

a13
0
a12 a11 a1n
a11
a11

a21
a23
a2n
0
a22 a22
a22

a31

0
a3n
a33 a32
a33
a33

.
.
.
.
..
.
.
.
.
.
.
.
.
.

an1
an2
an3
ann ann ann
0


1.3. METODOS ITERATIVOS

13

e d dado por
e

b1
a11
b2
a22
b3
a33

.
.
.

bn
ann

Exemplo 1.3.1. Vamos resolver pelo mtodo de Jacobi o sistema


e
2x1 x2 = 1
x1 + 2x2 = 3

1
0 1
2
2
e d=

F =
1
3
2 0
2
Comeamos com a soluo inicial x0 = (0, 0) e iteramos:
c
ca

x1 = (x0 ) = d + F x0 =

1
2

3
2

x2 = (x1 ) = d + F x1 =

5
4

5
4

x3 = (x2 ) = d + F x2 =

9
8

7
8

x4 = (x3 ) = d + F x3 =

15
16
15
16

CAP
ITULO 1. SISTEMAS LINEARES

14

0.998
que uma boa aproximao
e
ca
1.002
amos continuar a seqncia com
ue
da soluo exata x = (1, 1). Poder
ca
10 , x11 , . . ., onde surge a pergunta: Quando parar? Isso ser rex
a
spondido na prxima seo.
o
ca
Podemos tambm observar a aproximao da seqncia xn para
e
ca
ue
a soluo exata x por um grco. Veja gura 1.3.
ca
a
Continuando teremos x9
=

1.8

1.6

x1

1.4

x2

1.2

x
x6

x4

0.8

x3

0.6

0.4

0.2

x0
0
0

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Figura 1.3: Seqncia X n


ue

1.3.2

Critrio de Parada
e

Devemos parar o mtodo iterativo de Jacobi quando, para um dado


e
temos que xn xn1 < , onde xn = M ax{|xi |; 1 i n}.
Podemos utilizar outras normas para o critrio de parada, por
e
exemplo:


1.3. METODOS ITERATIVOS

15

xi p , p N

i=1

Voc pode utilizar essa norma, mas por conveno neste texto vae
ca
mos
trabalhar sempre com a norma
.
Um outro critrio de parada o nmero de iteraes, ou seja,
e
e
u
co
xado um k produzimos a seqncia xn at o termo xk . Isso nem
ue
e
sempre resulta em uma boa aproximao. Por exemplo, quando k
ca
e
muito pequeno.
Exemplo 1.3.2. Considere o Exemplo 1.3.1. Suponha que seja dado
como critrio de parada = 0.6 assim devemos fazer:
e
x1 x0 = x1 = 3 >
2
5
x2 x1 =

4
5
4

x3 x2 =

1
2

1
2

3
4

1
4

3
2

3
4

>

< parar o mtodo.


e

Observe que se denimos menor, ento devemos produzir mais


a
termos da seqncia xn para atingir a preciso desejada.
ue
a

1.3.3

Mtodo Iterativo de Gauss-Seidel


e

Este mtodo muito parecido com o mtodo de Jacobi, na verdade


e
e
e
uma pequena alterao no mtodo de Jacobi que produz o mtodo
e
ca
e
e
de Gauss-Seidel.
Relembramos que uma soluo aproximada xk para um sistema
ca
co
nn dada pelo vetor xk = (xk , xk , . . . , xk )T . Recorde das equaes
e
n
1
2
(1.2),(1.3),(1.4) no mtodo de Jacobi e denimos agora a equao
e
ca
geral
para
uma
soluo
ca
xk = (xk , xk , . . . , xk )T e xk1 = (xk1 , xk1 , . . . , xk1 )T :
n
n
1
2
1
2
xk
i

bi
1
=

aii aii

aij xj
j=1,j=i

CAP
ITULO 1. SISTEMAS LINEARES

16

Cada elemento da soluo xk depende exclusivamente dos eleca


mentos da soluo anterior. No mtodo de Gauss-Seidel isso muda
ca
e
um pouco veja:
xk =
1

1
(b1 a12 xk1 a13 xk1 a1n xk1 )
n
2
3
a11
1
(b2 a21 xk a23 xk1 a2n xk1 )
1
n
3
a22

xk =
2

.
.
.
xk =
n
ou
xk+1 =
i
ou

1
(bn an1 xk an2 xk ann1 xk )
1
2
n1
ann

1
bi
aii

i1

aij xk
j

aij xk+1
j
j=1

i1

xk = di +
i

n
j=i+1

fij xk1 , com i = 1, 2, . . . , n, fij e


j

fij xk +
j
j=1

j=i+1

di entradas da matriz F e d dadas no mtodo de Jabobi.


e
No abordaremos aqui, mas poss
a
e
vel criar uma funo de itca
erao (x) como a que foi feita no mtodo de Jacobi. Para isso,
ca
e
veja [10].
Exemplo 1.3.3. Resolva pelo mtodo de Gauss-Seidel o sistema
e
2x1 x2 = 1
.
x1 + 2x2 = 3
Comeando com x0 = (0, 0) temos:
c

Equaes iterativas de Gauss-Seidel


co

fazendo k = 0 temos:

k+1
x1 = 1 (1 + xk )
2
2

xk+1 = 1 (3 xk+1 )
1
2
2


1.3. METODOS ITERATIVOS

17

x1 = 1 (1 + x0 ) = 1 (1 + 0) = 0.5
1
2
2
2
x1 = 1 (3 x1 ) = 1 (3 0.5) = 1.25
2
1
2
2

fazendo k = 1 temos:

x2 = 1 (1 + x1 ) = 1 (1 + 1.25) = 1.125
1
2
2
2

x2 = 1 (3 x2 ) = 1 (3 1.125) = 0.9375
1
2
2
2

Continuando podemos observar que o mtodo de Gauss-Seidel


e
converge mais rpido que o mtodo de Jacobi.
a
e

1.3.4

Mtodo do Renamento Iterativo


e

Considere um sistema n n, AX = B com soluo exata x e x0 uma


ca
0 + x0 , onde e0 o erro cometido.
soluo aproximada. Assim x = e
ca
e
Como Ax = b ento:
a
A(e0 +x0 ) = B = Ae0 +Ax0 = B = Ae0 = B Ax0 = Ae0 = r0
r0

Resolvendo o sistema Ae0 = r0 teremos uma aproximao de e0 .


ca
a
ca
Como x = e0 + x0 , ento e0 melhora a soluo x0 .
Este processo pode ser repetido at que se obtenha uma preciso
e
a
desejada.

1.3.5

N mero Condicional
u

Considere um sistema n n, AX = B e uma soluo aproximada


ca
xk . Denimos como o vetor res
duo rk = B Axk . Intuitivamente
somos levados a pensar que quanto mais prximo do vetor nulo o
o
vetor rk estiver, melhor ser a soluo xk . O problema que nem
a
ca
e
sempre isso ocorre devido a uma anomalia na matriz A. Veja o
Exemplo 1.3.4. Considere o sistema

x1 + 1.001x2 = 2.001
0.999x1 + x2 = 1.999

18

CAP
ITULO 1. SISTEMAS LINEARES

xk

Este sistema tem soluo exata x = (1, 1)T . Para a soluo


ca
ca
= (2, 0.001)T o res
duo
e

rk =

2.001
1.999
b

1
1.001
0.999
1

2
0.001

0.000001
0

xk

Veja que o res


duo rk quase nulo. Se no soubssemos que a
e
a
e
T ser
soluo exata x = (1, 1)
ca
e
amos levados a pensar que a soluo
ca
xk uma boa aproximao. O que no ocorre.
e
ca
a
Como dito antes essa anomalia aparece na matriz dos coecientes
A. Para identicar melhor esse problema denimos o nmero condiu
cional de uma matriz.
Denio 1.2. Seja Ann uma matriz tal que det(A) = 0. Ento o
ca
a
nmero condicional de A dado por Cond(A) = A . A1 .
u
e
A norma na denio acima dada por:
ca
e
n

A = max

|aij | ; j = 1, . . . , n
i=1

Quando o Cond(A) 1 ento podemos dizer que a matriz A


a
bem condicionada, ou seja, pequenas pertubaes no vetor B ree
co
etem em pequenas variaoes no vetor soluo X. Mas se Cond(A)
c
ca
muito grande, ento pequenas pertubaes no vetor B produzem
e
a
co
uma grande variao no vetor soluo X.
ca
ca
O nmero condicional no deve ser entendido como regra para
u
a
determinar o mau condicionamento de uma matriz (sistema). Mas
como uma previso de mau condicionamento. Por exemplo, um sisa
tema em que a matriz dos coecientes dada por:
e
1 0
0 1010
Tem Cond(A) = 1010 mas o sistema no mal condicionado. Para
a e
mais detalhes sobre nmero condicional veja [11].
u


1.3. METODOS ITERATIVOS

1.3.6

19

Convergncia do M. Iterativo de Jacobi e Gausse


Seidel

A primeira vista o mtodo de Jacobi e Gauss-Seidel seriam ideais


e
para resolver sistemas lineares n n(que possuem soluo). A m
ca
a
noticia que, nem todos os sistemas n n podem ser resolvidos com
e
esses mtodos. Existe uma condio de convergncia que crucial.
e
ca
e
e
Ela ser dada nos teoremas abaixo.
a
n

Teorema 1.3. Se para cada i xo, i = 1, . . . , n temos que

|fij |
j=1

L < 1, ento o mtodo iterativo de Jacobi e Gauss-Seidel convergem


a
e
para a soluo exata do sistema.
ca
Em outras palavras, o teorema diz que: Se a soma em mdulo de
o
cada linha da matriz F for menor que 1, ento o mtodo de Jacobi
a
e
e Gauss-Seidel convergem para a soluo exata do sistema, seja qual
ca
for a soluo inicial x0 .
ca
Esse critrio de linhas tambm pode ser estendido para colunas.
e
e
Veja o
n

Teorema 1.4. Se para cada j xo, j = 1, . . . , n temos que

|fij |
i=1

L < 1, ento o mtodo iterativo de Jacobi e Gauss-Seidel convergem


a
e
para a soluo exata do sistema.
ca
n

Corolrio 1.1. A condio


a
ca
n

equivalente a |aij | >

|fij | L < 1 no Teorema 1.3


e
j=1

|aij | para cada i = 1, . . . , n xo.


j=1,j=i

A demonstrao desses teoremas pode ser encontrada em [1].


ca
Se F satisfaz um dos teoremas acima, ento podemos aplicar
a
tanto o mtodo de Jacobi quanto o mtodo de Gauss-Seidel, pois
e
e
e
garantida a convergncia.
e

CAP
ITULO 1. SISTEMAS LINEARES

20

1.4

Sistemas Lineares Complexos

Consideremos uma sistema AX = B onde A, X e B so matrizes


a
complexas. Ento so escritas na forma:
a a
A = M + Ni
B = c + di
X = s + ti

(1.5)

onde M, N, c, d, s, t so matrizes reais. Substituindo a equao (1.5)


a
ca
em AX = B teremos:
(M + N i)(s + ti) = c + di = M s N t + (N s + M t)i = c + di,
ou seja,
Ms Nt = c
Ns + Mt = d
O sistema acima pode ser visto como:


|
N
s


|
N
|
M
t
M

(1.6)

que um sistema real, e pode ser resolvido com os mtodos apresene


e
tados anteriormente.
Exemplo 1.4.1. Resolva o sistema

(1 + 2i)x1 + 3x2 = 5 + 4i
x1 + x2 =
1

Vamos decompor a matriz dos coecientes:

A=

1 + 2i

3 + 0i

1 + 0i

1 + 0i

1
M

0
N

1.5. EXERC
ICIOS

B=

5 + 4i

21

X=

x1
x2

s1

1 + 0i

t1

s2

t2

Escrevendo o sistema na forma (1.6) temos:

1 3 2 0
s1
5
1 1
0 0 s2 1

.
=

2 0
1 3 t1 4
0 0 1 1
t2
0
Resolvendo o sistema por mtodos anteriores (por exemplo pelo
e
mtodo de Gauss) obtemos:
e
s1
=
0, s2
=
1,
t1 = 1, t2 = 1, dessa forma a soluo do sistema dada por x1 =
ca
e
i, x2 = 1 + i.

1.5

Exerc
cios

3 5
0
1
1.5.1. Atravs de operaes elementares mostre que a matriz 2 0
e
co
5 1 1

1 0 0
equivalente ` 0 1 0 .
e
a
0 0 1
e
a
ca
1.5.2. Mostre geomtricamente que o sistema abaixo no possui soluo
real:

2x1 + 6x2 = 8
3x1 + 9x2 = 15

x1 + 3x2 = 6

CAP
ITULO 1. SISTEMAS LINEARES

22

1.5.3. Resolva os sistemas abaixo por retro substituio:


ca

x1 3x2 + x3 = 6
4x2 x3 = 5
a)

x3 = 4

2x1 = 2
x1 + x2 = 3
b)

x1 + x2 + x3 = 4

1.5.4. Resolva pelo mtodo de Gauss os sistemas:


e

x1 + x2 + x3 + x4

x1 + x2 + x3 x4
a)
x1 + x2 x3 + x4

x1 x2 + x3 + x4

=
0
=
4
= 4
=
2

x1 + 2x2 + x3 = 0
2x1 + x2 + 3x3 = 0
b)

3x1 + 2x2 + x3 = 0

1.5.5. Mostre que:

5
5
2x1 + 3x2 x3 =
2x1 + 3x2 x3 =
4x1 + 4x2 3x3 =
3 equivalente a
2x2 x3 = 7
e

2x1 3x2 + x3 = 1
6x2 + 2x3 = 6

e
ca
ca
1.5.6. Atravs de decomposio LU obtenha a soluo dos sistemas
do
exerc
cio 1.5.4.

1.5.7. Calcule a matriz inversa A1 das matrizes abaixo. Para isso,


use decomposio LU.
ca

2
7
a)
1
1

1 6
3
4
2 15

2 4
9
1
2 6

1 3 4
b) 2 1 0
0 3 2

1.5. EXERC
ICIOS

23

1.5.8. Resolva atravs do mtodo iterativo de Jacobi os sistemas


e
e
abaixo com = 0.07:

10x1 + x2 + x3 = 12
2x1 + x2 = 2
2x1 + 4x2 + x3 = 7
b)
a)
x1 + 3x2 = 1

x1 x2 + 3x3 = 3

1.5.9. Resolva os sistemas do exerc


cio 1.5.8 pelo mtodo de Gausse
Seidel com = 0.07.

e
a
1.5.10. Explique por que o mtodo de Gauss-Seidel no garante convergncia para soluao exata do sistema abaixo;
e
c

= 3
x1 + x2 + x3
2x1 + x2 + x3 = 4

3x1 + 2x2 + x3 = 6

e
ca
1.5.11. Aplique o mtodo do Renamento Iterativo na soluo do
exerc
cio 1.5.8 com uma iterao. Verique se a nova soluo melca
ca
hora a anterior.

1.5.12. D exemplos de sistemas mal condicionados.


e

1.5.13. Resolva o sistema:


2ix1 + 3x2 = 2 + 5i
(1 + i)x1 + ix2 =
3

1.5.14. Considere a tabela de valores nutricionais2 dos alimentos


abaixo:
2

valores ct
cios

CAP
ITULO 1. SISTEMAS LINEARES

24
Alimento
1-Pera
1-Uva
1-Maa
c

Vitamina A
1g
2g
3g

Vitamina B
3g
3g
2g

Vitamina C
4g
5g
3g

Deseja-se saber quanto de cada alimento deve-se ingerir para


obter 11g de vitamina A, 13g de vitamina B e 20g de vitamina C.
Monte um sistema e resolva pelo mtodo de Gauss esse problema.
e

1.5.15. Descreva o mtodo de resoluao de sistemas lineares come


c
plexos n n atravs de reduo ` sistemas lineares reais. Verique
e
ca a
com isto, que um sistema n n complexo reduzido a um sistema
e
real (2n) (2n).
a
1.5.16. Demonstre o Corolrio 1.1.
1.5.17. Monte um sistema que tenha como soluo x1 = 1, x2 = 2,
ca
x3 = 0, x4 = 1.
1.5.18. Implemente em portugol o mtodo de substituio retroativa.
e
ca
1.5.19. Implemente em portugol o mtodo de Gauss.
e
1.5.20. Implemente em portugol o mtodo de Jacobi e Gauss-Seidel.
e

Cap
tulo 2

Zeros de funo
ca
2.1

Introduo
ca

Neste cap
tulo estamos interessados em obter os zeros de uma funo
ca
real atravs de mtodos numricos. Em outras palavras, dada uma
e
e
e
certa funo f (x), gostar
ca
amos de encontrar tal que, f ( ) = 0. Por
exemplo, a funo f (x) = x2 3x + 2 tem dois zeros, 1 = 2 e 2 = 1.
ca
Vale lembrar que uma funo pode ter zeros reais ou complexos.
ca
Neste texto no vamos tratar o caso complexo, o leitor interessado
a
pode encontrar em [11].
Para comear, vamos enunciar algumas denies e teoremas.
c
co
Para o nosso estudo no ser necessrio demonstr-los.
a
a
a
a
Denio 2.1. Dizemos que uma funo f : I R cont
ca
ca
e
nua
em um ponto c, se para toda seqncia (xn ) em I,tivermos
ue
lim xn = c = lim f (xn ) = f (c)

A grosso modo podemos entender essa denio da seguinte forma:


ca
Dizemos que f (x) continua, se ao traar seu grco no levane
c
a
a
tamos o lapis do papel.
Teorema 2.1. Seja f (x) uma funo cont
ca
nua denida no intervalo
[a b] tal que f (a)f (b) < 0, ento f (x) possui pelo menos um zero
a
em [a b].
25

CAP
ITULO 2. ZEROS DE FUNCAO

26

Figura 2.1: Zeros de uma funo


ca
y

a
x

b
x

Figura 2.2: f (x) > 0 e f (x) < 0


Esse teorema nos diz que, se f (x) cont
e
nua e f (a) tem sinal
diferente de f (b), ento f (x) corta o eixo x pelo menos uma vez, ou
a
seja, existe [a b] tal que f ( ) = 0. Veja a gura 2.1.
Teorema 2.2. Seja f (x) uma funo denida no intervalo [a b] tal
ca
que
f (a)f (b) < 0 e f (x) > 0 para todo x (a b). Ento f (x) posa
sui um unico zero em [a b].

O Teorema 2.1 garante apenas a existncia mas no a unicidade.


e
a
Acrescentando a hiptese da derivada ser positiva em todo intervalo
o
(o que implica em f (x) ser crescente) 1 (veja gura 2.2) obtemos o
Teorema 2.2 que garante a unicidade desse zero.
1

tambm vale para negativa


e


2.2. METODO DE LOCALIZACAO DE ZEROS

27

4
4

0
-5

-4

-3

-2

-1

0
-7

-6

-5

-4

-3

-2

-1

-1

-1

-2

-2
-3

-4

Figura 2.3: Zeros de f (x)


c
Teorema 2.3. Se f (x) pode ser escrita como diferena de duas
funes,
co
digamos g(x) e h(x), ento os zeros de f (x) so exatamente os pona
a
tos de interseo de g(x) e h(x).
ca
Veja que se f (x) = g(x) h(x) e
0 = f ( ) = g( ) h( ) = g( ) = h( )

um zero de f (x), ento


e
a

Exemplo 2.1.1. Considere f (x) = 1 ex cos(x) com g(x) = 1 ex e


2
2
h(x) = cos(x). Observe a gura 2.3. Veja que g(x) e h(x) possuem
varias intersees. Cada interseo um zero de f (x).
co
ca e
ue
e
Denio 2.2. Diz-se que uma seqncia (xn ) de Cauchy quando,
ca
para todo > 0 dado, existe n0 N tal que m, n > n0 = |xm xn | <

Em outras palavras, uma seqncia de Cauchy se seus termos


ue
e
esto cada vez mais prximos uns dos outros.
a
o
Teorema 2.4. Uma seqncia (xn ) real converge se, e somente se,
ue
de Cauchy.
e

2.2

Mtodo de Localizao de Zeros


e
ca

Nesta seo vamos desenvolver um mtodo para isolar os zeros de


ca
e
uma funo em intervalos. Em outras palavras, obter intervalos onde
ca
existe um unico zero.

CAP
ITULO 2. ZEROS DE FUNCAO

28

b
x

Figura 2.4: Zeros de f (x)


Consideremos uma funo f (x) cujo grco seja dado pela gura
ca
a
2.4. Gostar
amos de encontrar uma partio do intervalo [a b] digca
amos P = {p1 , p2 , p3 , . . . , pn }, onde pj = pj1 + para algum
escolhido. Tal que, cada zero esteja em um subintervalo (pk1 pk )
criado pela partio. Veja exemplo abaixo:
ca
Exemplo 2.2.1. Considere f (x) = 16x3 22x 5(gura 2.5) no
intervalo [2 2]. Tomamos uma partio com = 1 e obtemos a
ca
2
tabela:
P
f (P)

-2
<0

3
2
<0

-1
>0

1
2
>0

0
<0

1
2

<0

1
<0

3
2

>0

2
>0

Portanto, aplicando o Teorema 2.1 existem zeros em 3


2
1
2 0 e 1 3 .
2

1 ,

E bom lembrar que quanto mais na a partio, ou seja, quanto


ca
menor o melhores so as chances de isolar todos os zeros da funo.
a
ca
Em geral no sabemos onde esto os zeros da funo f (x), sima
a
ca
plesmente criamos uma partio e observamos a mudana de sinal
ca
c
de acordo com o Teorema 2.1 para encontrar os intervalos onde f (x)
possui zeros. O prximo passo encontrar uma aproximao para
o
e
ca
esses zeros. Isso ser feito nas prximas sees.
a
o
co


2.3. METODO DO MEIO INTERVALO - MMI

29

40

20

p1
-2

-1.5

p2
-1

p3

-0.5

p4
0

p5

p6

p7

0.5

1.5

x
2

-20

-40

Figura 2.5: Criando uma partio P


ca

2.3

Mtodo do Meio Intervalo - MMI


e

Considere uma funo f (x) cont


ca
nua no intervalo [a b] tal que
f (a)f (b) < 0 e f (x) possua um unico zero nesse intervalo. O MMI

consiste em efetuar sucessivas divises no intervalo [a b] de forma


o
que o zero que dentro algum subintervalo (bem pequeno) criado
pelas divises. Ao contrrio do Mtodo de Localizao de Zeros,
o
a
e
ca
agora estamos interessados na aproximao do zero, no do interca
a
valo. Acompanhe a explicao abaixo com a gura 2.6.
ca
Inicialmente dividimos o intervalo [a b] ao meio em x0 = a+b
2
e vericamos se f (x0 ) = 0, caso contrrio analisamos o sinal de
a
f (a)f (x0 )
e
f (x0 )f (b).
Suponhamos que f (a)f (x0 ) > 0 e f (x0 )f (b) < 0. Assim pelo Teorema 2.1 existe um zero em (x0 b). Descartamos o intervalo [a x0 ].
+b
Dividimos o intervalo (x0 b) ao meio em x1 = x02 e vericamos
se f (x1 ) = 0, caso contrrio, repetimos o processo vericando o
a
sinal de f (x0 )f (x1 ) e f (x1 )f (b). Suponhamos que f (x0 )f (x1 ) < 0 e
f (x1 )f (b) > 0. Descartamos o intervalo (x1 b) e dividimos [x0 x1 ]
em x3 . O processo segue at que |xn xn1 | seja menor ou igual que
e
um certo xado.
Na gura 2.6 vericamos que se continuarmos o mtodo a seqncia
e
ue
(xn ) converge para o zero . Mostraremos agora uma prova rigorosa de que a seqncia (xn ) realmente converge para , ou seja,
ue

CAP
ITULO 2. ZEROS DE FUNCAO

30
y

x x

Figura 2.6: (xn ) convergindo para o zero


lim xn = .
Para isso, tome somente os intervalos aproveitados:

[a b], [x0 b], [x0 x1 ], . . . , [xn xk ], . . .


renomeando para
[a0 b0 ], [a1 b1 ], [a2 b2 ], . . . , [an bn ], . . .
Veja que [a0 b0 ] [a1 b1 ] [a2 b2 ] . . . [an bn ] . . ., com
f (an )f (bn ) < 0 e ambas as seqncias (an ) e (bn ) limitadas. Outro
ue
fato que a0 a1 a2 . . . an . . . e b0 b1 b2
e
. . . bn . . ., onde conclu
mos que essas seqncias so montonas
ue
a
o
e limitadas. Pelo Teorema de Bolzano-Weierstrass2 temos que (an )
e (bn ) convergem para um certo L, ou seja,
lim an = lim bn = L.

Ainda resta mostrar que L exatamente o zero . Para isso calcule


e
o limite na desigualdade f (an )f (bn ) < 0 e use o fato de f (x) ser
continua. Temos ento:
a
lim (f (an )f (bn )) < 0

n
2

Veja livro de clculo ou anlise matemtica


a
a
a


2.4. METODO DA SECANTE

31

lim f (an ) lim f (bn ) < 0

lim an f

lim bn < 0

f (L)f (L) < 0


f (L)2 < 0 = f (L) = 0
Como

o unico zero em [a b] ento


e
a

= L.

Exemplo 2.3.1. Encontre o zero de f (x) = x2 2 no intervalo [0 2]


com = 0.07.
n
0
1
2
3
4

an
0
1
1
1.25
1.37

bn
2
2
1.5
1.5
1.5

xn
1
1.5
1.25
1.37
1.43

|xn xn1 |
1>
0.5>
0.25>
0.12>
0.06

parar o mtodo
e

Assim nossa aproximao para o zero de f (x) seria x4 = 1.43


ca

2.4

Mtodo da Secante
e

O mtodo da Secante3 parecido com o MMI no sentido de criar


e
e
uma seqncia que se aproxima do zero procurado.
ue
Antes de aplicar o mtodo devemos observar como a funo f (x)
e
ca
se comporta no intervalo. Pois como veremos a concavidade muda o
modo como iremos criar a seqncia (xn ).
ue
Vamos ento as hipteses do mtodo. Seja f (x) uma funo
a
o
e
ca
duas vezes diferencivel em [a b] e f (a)f (b) < 0. Suponhamos como
a
primeiro caso que:
f (x) > 0 e f (x) > 0, para todo x [a b]
3

tambm chamado de mtodo das cordas


e
e

CAP
ITULO 2. ZEROS DE FUNCAO

32

f (b))

x
2

(a,f (

Figura 2.7: Seqncia (xn ) no mtodo da secante


ue
e
Com essas hipteses temos que o grco de f (x) em [a b] tem a
o
a
forma da gura 2.6. O mtodo da secante consiste em tomar a reta
e
(digamos L0 ) que passa pelos pontos (a, f (a)), (b, f (b)). O primeiro
elemento da seqncia (xn ), ou seja, o elemento x0 ser a interseo
ue
a
ca
dessa reta com o eixo x, veja gura 2.7.
A segunda reta (digamos L1 ) passa pelos pontos (b, f (b)), (x0 , f (x0 )).
A interseo dessa reta com o eixo x gera o elemento x1 . O processo
ca
segue at que |xn xn1 | seja menor ou igual que um certo xado.
e
Ainda no conhecemos bem os elementos da seqncia xn , por
a
ue
isso vamos comear determinando x0 . Lembramos que a equao de
c
ca
uma reta que passa por dois pontos quaisquer (x, y), (s0 , t0 ) e dada
por:
y t0 = m(x s0 ),
onde m o coeciente angular da reta.
e
O coeciente angular da reta L0 dado por mL0 =
e
Assim a equao da reta L0 :
ca
e
y f (b) =

f (b)f (a)
.
ba

f (b) f (a)
f (b) f (a)
(x b) = y = f (b) +
(x b)
ba
ba

x0 o ponto onde essa reta corta o eixo x, ou seja, y = 0, ento


e
a
0 = f (b) +

f (b) f (a)
f (b)
(x0 b) = x0 = b
(b a)
ba
f (b) f (a)


2.5. METODO DE NEWTON

33

Como o mesmo procedimento aplicado na reta L1 obtemos o ponto


x1 :
f (b)
x1 = b
(b x0 )
f (b) f (x0 )
Portanto a seqncia xn ser dada por:
ue
a

xn = b

f (b)
f (b)f (xn1 ) (b

xn1 )

(2.1)

Veja exerc 2.9.5 para outros casos.


cio

2.4.1

Convergncia no Mtodo da Secante


e
e

Podemos armar que a seqncia (xn ) montona e limitada. Dessa


ue
e
o
forma:
lim xn = L.

Passando o limite na equao (2.1) obtemos:


ca
lim xn = lim

f (b)
(b xn1 )
f (b) f (xn1 )

assim
L=b

f (b)
(b L) = f (L) = 0
f (b) f (L)

Como

o unico zero em [a b] ento


e
a

2.5

= L.

Mtodo de Newton
e

Considere para o mtodo de Newton as mesmas hipteses para f (x)


e
o
como no mtodo da secante, ou seja, f (x) uma funo duas vezes
e
ca
diferencivel em [a b] e f (a)f (b) < 0. Suponhamos como primeiro
a
caso que:
f (x) > 0 e f (x) > 0, para todo x [a b]

CAP
ITULO 2. ZEROS DE FUNCAO

34

x x
1

L1

L0

Figura 2.8: Seqncia (xn ) no mtodo de Newton


ue
e
Com essas hipteses temos que o grco de f (x) em [a b] tem a
o
a
forma da gura 2.6. O mtodo de Newton difere pouco do mtodo
e
e
da secante. Agora em vez da reta secante, tomamos a reta(digamos
L0 ) tangente no ponto (b, f (b)), ou seja, essa reta tem coeciente
angular f (b). Veja gura 2.8.
Observe que x0 a interseo de L0 com o eixo x e x1 a ine
ca
e
terseo da reta L1 com o eixo x. Como no mtodo da secante vamos
ca
e
determinar o ponto x0 . Para isso usaremos o fato do coeciente angular mL0 ser igual a f (b). Dessa forma a equao da reta L0 ca
ca
sendo:
y f (b) = f (b)(x b) = y = f (b) + f (b)(x b)
Como x0 o ponto onde essa reta corta o eixo x, ou seja, y = 0
e
ento:
a
x0 = b

f (b)
f (b)

O mesmo procedimento aplicado em L1 e obtemos o ponto


e
x1 = x0
o que implica no caso geral

f (x0 )
f (x0 )


2.5. METODO DE NEWTON

35

xn = xn1

2.5.1

f (xn1 )
f (xn1 )

(2.2)

Convergncia no Mtodo de Newton


e
e

Podemos armar que a seqncia (xn ) montona e limitada. Dessa


ue
e
o
forma:
lim xn = L.

Passando o limite na equao (2.2)obtemos:


ca
lim xn = lim

xn1

f (xn1 )
f (xn1 )

assim
L=L
Como

f (L)
= f (L) = 0
f (L)

o unico zero em [a b] ento


e
a

= L.

e
Exemplo 2.5.1. Vamos aplicar o mtodo de Newton no Exemplo
2.3.1.
n
0
1
2

xn
1.5
1.416
1.414

|xn xn1 |
1.5>
0.08>
0.002

parar o mtodo
e

Assim nossa aproximao para o zero de f (x) seria x2 = 1.414.


ca
Uma observao muito importante o fato do mtodo de Newton
ca
e
e
atingir com n = 2, ao passo que no MMI, n = 4. Isso no acontece
a
por acaso, o mtodo de Newton realmente converge mais rpido.
e
a
Nunca demais lembrar que o M. de Newton exige que mais hipteses
e
o
sobre a funo do que o MMI.
ca

CAP
ITULO 2. ZEROS DE FUNCAO

36

2.6

Mtodo da Iterao Linear


e
ca

Comeamos esse mtodo obtendo a funo de iterao (x). Para


c
e
ca
ca
isso isolamos a varivel x na equao f (x) = 0. Tome como exemplo
a
ca
f (x) = x2 5x + 6:
x2 5x + 6
= 0
x2 x 4x + 6 = 0
x2 4x + 6
= x
Assim (x) = x2 4x + 6.
Veja agora que o ponto xo(veja denio adiante) de (x)
ca
e
justamente o zero de f (x), ou seja, k tal que (k) = k implica em
f (k) = 0.
Na verdade, o que zemos foi transformar o problema de encontrar zeros, para o problema de encontrar ponto xo.
e
Denio 2.3. Diz-se que k ponto xo de (x), se (k) = k.
ca
A seqncia (xn ) ser criada a partir de uma aproximao inicial
ue
a
ca
x0 (mais a frente comentaremos essa escolha) da seguinte forma:
x1 = (x0 ), x2 = (x1 ), . . . , xn = (xn1 ), . . .
Observe nas guras (2.9) e (2.10) a seqncia (xn ).
ue
Como nem tudo so ores! O mtodo da Iterao Linear nem
a
e
ca
sempre pode ser usado, conforme o teorema abaixo.
Teorema 2.5. Se | (x)| < 1 para todo x [a b], ento
a
para qualquer valor inicial x0 [a b] a seqncia x1 = (x0 ), x2 =
ue
(x1 ), . . . , xn = (xn1 ), . . . converge para um certo L que o ponto
e
xo de (x) em [a b].
demonstrao
ca
Consideremos o primeiro caso (gura 2.9) com xn1 < xn . Pelo
teorema do valor mdio4 existe n (xn1 xn ) tal que:
e
|(xn ) (xn1 )| = | (n )||xn xn1 )|,
4

Veja qualquer livro de clculo


a


2.6. METODO DA ITERACAO LINEAR

37

(x)

f( x )
f( x )
2
1

y=x

f( x )
0

x
x

Figura 2.9: Seqncia (xn ) no mtodo da Iterao Linear


ue
e
ca

y=x

(x)

x
x

b
x

...
0

...

Figura 2.10: Seqncia (xn ) no Mtodo da Iterao Linear


ue
e
ca

CAP
ITULO 2. ZEROS DE FUNCAO

38

segue por hiptese que | (n )| , ento


o
a
|(xn ) (xn1 )| |xn xn1 |
implicando em
|xn+1 xn | |xn xn1 |
por analogia teremos
|xn+1 xn | |xn xn1 | 2 |xn1 xn2 | . . . n |x1 x0 |
ou seja,
|xn+1 xn | n |x1 x0 |
Passando o limite nesta ultima desigualdade teremos:

lim |xn+1 xn |

lim n |x1 x0 |

constante

|x1 x0 | lim n
n
0

0
Logo (xn ) uma seqncia de Cauchy, pelo Teorema 2.4 a seqncia
e
ue
ue
(xn ) converge para um certo L em (a b), ou seja, lim xn = L.
Como (x) diferencivel, logo cont
e
a
nua temos que:
(L) =

lim xn = lim (xn ) = lim xn+1 = L

Portanto L o ponto xo de (x).


e
Corolrio 2.1. O ponto xo L dado no Teorema 2.5 o unico ponto
a
e
xo de (x) em [a b].
demonstrao
ca


2.6. METODO DA ITERACAO LINEAR

39

A prova ser feita por reduo ao absurdo. Para isso, suponha


a
ca
que exista um outro ponto xo M em [a b]. Pelo teorema do valor
mdio existe c (L M ) tal que:
e
|(L) (M )| = | (c)||L M |
|L M |
mais ainda,
|L M | |L M |
(1 )|L M | 0
Como < 1 ento (1 ) > 0, ou seja,
a
0 (1 )|L M | 0
(1 )|L M | = 0
Portanto L = M .
Mais detalhes sobre ponto xo veja [7].

2.6.1

A Funo de Iterao
ca
ca

Pelo Teorema 2.5 observamos que a escolha de (x) muito impore


tante para a convergncia do Mtodo da Iterao Linear. Por isso,
e
e
ca
para aplicar esse mtodo devemos procurar uma funo de iterao
e
ca
ca
(x) que satisfaa as hipteses desse teorema. O exemplo abaixo
c
o
mostra como podemos obter varias funes de iterao. Bastando
co
ca
para isso, escolher e isolar x na equao.
ca
Exemplo 2.6.1. Encontre o zero de f (x) = 2x cos(x) em
com = 0.01
1a funo de iterao
ca
ca
2x cos(x)
= 0
x + x cos(x) = 0
cos(x) x
= x
assim 1 (x) = cos(x) x

1
5

2 ,

CAP
ITULO 2. ZEROS DE FUNCAO

40
2a funo de iterao
ca
ca

2x cos(x) = 0 = x =
assim 2 (x) =

cos(x)
2

cos(x)
2

3a funo de iterao
ca
ca

2x cos(x) = 0 somando x em ambos os lados


2x + x cos(x) = x
3x cos(x) = x
assim 3 (x) = 3x cos(x)
Vamos agora calcular derivada de cada funo obtida, observando
ca
seu comportamento no intervalo 1 2 .
5
|1 (x)| = | sen(x) 1| > 1, para algum x
|2 (x)| = |

sen(x)
2 |

< 1, para todo x

1
5

|3 (x)| = |3 + sen(x)| > 1, para todo x

1
5

2
1
5

Portanto conclu
mos que 2 (x) deve ser a funo de iterao.
ca
ca
Uma vez que 2 (x) satisfaz o Teorema 2.5. Assim comeamos nossa
c
1
seqncia (xn ) com o elemento x0 = 5 e iteramos (a calculadora
ue
deve estar em radianos):
x1
x2
x3
x4

=
=
=
=

2 (x0 )
2 (x1 )
2 (x2 )
2 (x3 )

=
=
=
=

2 1
5
2 (0.49003)
2 (0.44116)
2 (0.45213)

=
=
=
=

0.49003
0.44116
0.45213
0.44976

Paramos o mtodo em x4 , porque |x4 x3 | = 0.00237 .


e

2.7. COMENTARIOS FINAIS SOBRE OS METODOS

41

A escolha de x0
Caso a funo f (x) tenha a forma da gura 2.9, x0 deve ser
ca
escolhido de tal forma que x0 seja menor que o zero , pois caso
contrrio o mtodo pode no convergir. Uma sugesto seria comear
a
e
a
a
c
com o extremo do intervalo (nesse caso o ponto a).
Caso f (x) tenha forma da gura 2.10 o elemento x0 pode ser
arbitrrio dentro do intervalo.
a

2.7
2.7.1

Comentrios Finais Sobre os Mtodos


a
e
Localizao de Zeros
ca

E um bom mtodo para localizar os poss


e
veis intervalos onde se encontram os zeros de uma funo. Porm, se o intervalo de pesquisa
ca
e
for muito grande ou se a funo possuir muitos zeros, o mtodo pode
ca
e
se tornar computacionalmente invivel.
a
Se o escolhido no for sucientemente pequeno podemos ter ina
tervalos onde existem dois ou mais zeros. Se for pequeno o mtodo
e
pode no ser vivel.
a
a

2.7.2

Mtodo do Meio Intervalo - MMI


e

A grande vantagem deste mtodo consiste no fato que s exigimos


e
o
que a funo f (x) seja cont
ca
nua. Mas infelizmente a convergncia
e
e
lenta.

2.7.3

Mtodo da Secante
e

Exige que o sinal de f (x) e f (x) sejam constantes no intervalo.


Nem sempre a funo tem derivadas, o que inviabiliza o mtodo. Se
ca
e
o intervalo de procura for muito grande o mtodo pode se tornar
e
lento.

2.7.4

Mtodo de Newton
e

Exige que o sinal de f (x) e f (x) sejam constantes no intervalo.


Mas tem convergncia extraordinria.
e
a

CAP
ITULO 2. ZEROS DE FUNCAO

42

2.7.5

Mtodo da Iterao Linear


e
ca

A funo de iterao (x) deve ser obtida atravs de um processo


ca
ca
e
manual, ou seja, anal
tico. Satisfazendo a hiptese do Teorema 2.5.
o
Nem sempre fcil encontrar tal funo.
e a
ca
Para nalizar, relacionamos o nmero de iteraes que cada mtodo
u
co
e
gasta para resolver um problema. Tambm vericamos os zeros de
e
uma funo onde no temos o intervalo de procura. Isto ca claro
ca
a
nos exemplos abaixo.
1

Exemplo 2.7.1. Encontre um zero de f (x) = e 10 x + x2 10 em


5 7
5
2 2 com = 10
Neste exemplo obtemos os resultados:

nmero de iteraes
u
co

MMI
16

M. Secante
6

M. Newton
3

M. Iterao Linear
ca
4

Exemplo 2.7.2. Calcule pelo menos um zero de f (x) = log(x) + x.


Observe que no foi dado o intervalo. Uma sa aplicar o Teoa
da e
rema 2.3 com h(x) = x e g(x) = log(x). O grco dessas funes
a
co e
dado na gura 2.11. Nele podemos observar que a interseo de h(x)
ca
e g(x) encontra-se no intervalo [0 1]. Atravs do grco tambm obe
a
e
servamos que essa interseo unica. Logo f (x) possui somente um
ca e
unico zero. Para esse exemplo aplicaremos o mtodo do meio inter
e
valo - MMI, com = 0.009. Lembrando que em vez do intervalo
1
a
a
a
[0 1] trabalharemos com o intervalo 100 1 j que f (x) no est
denida em 0.
n
0
1
2
3
4
5
6

an
1/100
1/100
0.257
0.381
0.381
0.381
0.396

bn
1
0.505
0.505
0.505
0.443
0.412
0.412

xn
0.505
0.257
0.381
0.443
0.412
0.396
0.404

|xn xn1 |
0.248>
0.124>
0.062>
0.031>
0.016>
0.008

parar o mtodo
e


2.8. ZEROS DE UM POLINOMIO

43

g(x)

0.5

0
-0.5

0.5

1.5

2.5

-0.5

-1

-1.5

-2

-2.5

Figura 2.11: Mtodo grco


e
a
Logo nossa aproximao com = 0.09 x6 = 0.404.
ca
e

2.8

Zeros de um Polinmio
o

Nas sees anteriores desenvolvemos mtodos para encontrar zeros de


co
e
uma funo. Inclusive de polinmios. Nesta seo vamos aprofundar
ca
o
ca
um pouco mais nosso conhecimento sobre os zeros de um polinmio.
o
Lembramos que neste texto, o zero de um polinmio o mesmo que a
o
e
raiz de um polinmio. Nosso principal objetivo chegar no teorema
o
e
que limita os zeros de um polinmio qualquer.
o

Da Algebra Linear, sabemos que dois espaos vetoriais so isoc


a
morfos se, existe um isomorsmo entre eles. Nesta seo vamos utica
lizar o isomorsmo dos nmeros complexos (C) em R2 , denotado por
u
C R2 , que associa a cada nmero complexo a + bi o par (a, b) em
u
2.
R
Tambm vamos utilizar a norma euclidiana em R2 dada por:
e
(a, b) =

a2 + b2 ,

assim a + bi = (a, b) .
Nas proposies e teoremas abaixo, os polinmios podem ter
co
o
coecientes reais ou complexos. Consideramos apenas polinmios
o
mnicos, ou seja o coeciente do termo de maior grau e igual a 1.
o

CAP
ITULO 2. ZEROS DE FUNCAO

44

Proposio 2.1. Seja p(x) = xn + an1 xn1 + + a1 x + a0 um


ca
n1
ai
polinmio de grau n e a0 = 0. Se
o
< 1 e x = 0, ento
a
x ni
i=0
p(x) = 0.
demonstrao
ca
Como x = 0 podemos escrever
n1
n

p(x) = x

1+
i=0

ai
xni

(2.3)

e usar a desigualdade triangular5 .


n1
i=0

ai

xni

n1
i=0

ai
<1
x ni

(2.4)

De (2.3) e (2.4) conclu


mos que p(x) = 0.

Corolrio 2.2. Se
a

ai

1/(ni)

<

1
para i = 0, . . . , n 1 e x = 0.
2

Ento p(x) = 0.
a
demonstrao
ca
Veja que
n1
i=0

ai
x ni

n1

1/(ni)

ni

i=0

1
1
1
1
+
+ + 2 +
2n 2n1
2
2

1
< 1
5

ai

a+b a + b

1
2n


2.8. ZEROS DE UM POLINOMIO

45

De acordo com a Proposio 2.1 p(x) = 0.


ca
Estamos prontos para enunciar e demonstrar o
Teorema 2.6. Seja p(x) = xn + an1 xn1 + + a1 x + a0 um
polinmio de grau n e a0 = 0. Se x um zero de p, ento
o
e
a
x L
onde L = 2 max { ai

1/(ni)

0in1

demonstrao
ca
Negando o Corolrio 2.2 temos que; se p(x) = 0 ento existe i0 tal
a
a
1/(ni0 )
1
ai0
. Do fato de
que
x
2
max { ai

1/(ni)

0in1

1/(ni0 )

ai0

conclu
mos que
max { ai

0in1

1/(ni)

1
= x 2 max { ai
0in1
2

1/(ni)

Exemplo 2.8.1. Ache o limite superior e inferior dos zeros reais do


polinmio
o
p(x) = x3 + 3x2 10x + 24.
Veja que
L = 2 max { ai

1/(ni)

0in1

= 2 max{ a0

1/3 ,

a1

1/2 ,

= 2 max{241/3 , 101/2 , 3}

= 2 10

a2 }

CAP
ITULO 2. ZEROS DE FUNCAO

46

assim todos os zeros reais de p(x) esto no intervalo [L L].


a
Exemplo 2.8.2. Determine a bola onde todos o zeros reais e complexos de p(x) = x3 + 3x2 10x + 24 esto.
a

Pelo exemplo anterior temos que L = 2 10. Assim se x um


e
zero de p(x) ento x L. Usando a correspondncia C R2
a
e
temos a bola da gura 2.12:
y

L
2

x
-8

-6

-4

-2

-2

-4

-6

-8

Figura 2.12: Limite dos zeros

Exemplo 2.8.3. Ache o limite superior e inferior dos zeros do


polinmio
o
p(x) = 2x3 3x2 2x + 3.
Observe que neste caso p(x) no est na forma do Teorema 2.6.
a
a
Para resolver isso, basta tomar o polinmio
o


2.8. ZEROS DE UM POLINOMIO

47

0
-L

Figura 2.13: Isolando zeros

g(x) =

p(x)
2x3 3x2 2x + 3
3
3
=
= x3 x2 x +
a3
2
2
2

cujo zeros so os mesmos de p(x).


a
Aplicando o Teorema 2.6 em g(x) temos:
1

L = 2 max{(3/2) 3 , 1, 3/2} = 3
assim todos os zeros reais de p(x) esto no intervalo [L L] =
a
[3 3].
Ainda podemos avanar um pouco mais. Queremos agora o limite
c
inferior dos zeros positivos e o limite superior dos zeros negativos,
veja (?) na gura 2.13.
Para encontrar estes limites, precisamos de um resultado impor
tante de Algebra:6
Se p(x) = xn + an1 xn1 + + a1 x + a0 um polinmio de grau
e
o
n, ento p(x) tem no mximo n zeros reais ou complexos.
a
a
Decorre desse resultado que todo polinmio de grau
o
mpar tem
pelo menos um zero real.
Com esses resultados, seja (0 , 1 , . . . , n1 ) os zeros de p(x),

ento podemos escrever p(x) na forma(tambm dado pela Algebra):


a
e e
p(x) = (x 0 )(x 1 ) (x n1 ).
Consideremos o polinmio
o
P1 (x) = xn p
6

Veja em [5]

1
x

CAP
ITULO 2. ZEROS DE FUNCAO

48
Pelo que acabamos de ver,
P1 (x) = xn
= xn

1
0
x
1 x0
x

1
1
x
1 x1
x

1
n1
x

1 xn1
x

= (1 x0 )(1 x1 ) (1 xn1 ).
1
1 1
, ,...,
. Aplicando
0 1
n1
o Teorema 2.6 em P1 (x) temos a existncia de L1 tal que
e
Observe que os zeros de P1 (x) so
a

1
L1
xii
1
i . Portanto, se x um zero de um
e
L1
polinmio qualquer (mnico), ento L1 x L.
o
o
a
No caso de zeros reais podemos dizer que:
o que implica em

L1
onde

1
L1 para i = 0, . . . , n 1
i
1
1
L1 =
i
i
L1

e
L1

1
1
= i
i
L1

assim, os zeros reais negativos de p(x) esto no intervalo L


a
e os zeros positivos esto em
a

1
L1

1
L1

L .

Exemplo 2.8.4. Ache os limites L, L1 de p(x) = 2x3 3x2 2x + 3.


No Exemplo 2.8.3 calculamos L = 3. Conforme feito, vamos utilizar
3
3
o polinmio g(x) = x3 x2 x + . Calculando P1 (x) temos:
o
2
2


2.8. ZEROS DE UM POLINOMIO

1
x

P1 (x) = x3 p

49

1
3
1 3
2 +
3
x
2x
x 2

= x3

3
3
= 1 x x2 + x3 .
2
2

Como P1 (x) no est nas condies do Teorema 2.6, mudamos


a
a
co
para
g1 (x) =

P1 (x)
2
2
= x3 x2 x +
3/2
3
3

Aplicando o Teorema 2.6 em g1 (x) temos:


1
1
L1 = 2 max{(2/3) 3 , 1, (2/3)} = 2(2/3) 3 1.747 e
=

1
= 0.572 .
L1

Assim todos os zeros complexos de p(x) esto no disco da gura


a
2.14.
y

L
x
-8

-6

-4

-2

-2

-4

-6

-8

Figura 2.14: Limite de zeros complexos

CAP
ITULO 2. ZEROS DE FUNCAO

50

Portanto todos os zeros reais(se existirem) negativos de p(x) esto


a
em [3 0.572] e todos os zeros positivos em [0.572 3].
1
1
Uma vez dados os intervalos [L L1 ] e [ L1 L] podemos
aplicar o mtodo de localizao de zeros associado com qualquer
e
ca
mtodo de busca (MMI, Newton, etc) para encontrar os zeros reais
e
do polinmio.
o

2.8.1

Multiplicidade de um zero

Consideremos o seguinte teorema cuja demonstrao pode ser enconca


trada em [5].
Teorema 2.7. Todo polinmio de grau n tem exatamente n zeros
o
reais ou complexos.
Considere o polinmio p(x) = x3 + 4x + 5x + 2. Aplicando o
o
2.7 temos a existncia de 3 zeros. Mas os unicos zeros so {-1,-2}.
e

a
Isto parece contraditrio. O fato se d pela multiplicidade do zero
o
a
1, ou seja, 1 contado duas vezes. Dizemos que o zero 1 tem
e
multiplicidade igual a 2.
Para saber a multiplicidade de um zero basta olhar para a derivada
do polinmio. Assim se um zero de p(x) ento a multiplicidade
o
e
a
de dado por m, onde
e
p (x)
p (x)

= 0
= 0
.
.
.

pm1 (x) = 0
pm (x)
= 0
Exemplo 2.8.5. No caso de p(x) = x3 + 4x + 5x + 2 temos que:
p(1) = 0
p (1) = 0
p (1) = 0

p(2) = 0
p (2) = 0

Logo a multiplicidade de 1 2 e a multiplicidade de 2 1.


e
e

2.9. EXERC
ICIOS

51

Observe que a soma da multiplicidade de todos os zeros igual ao


e
grau do polinmio. Outro fato, se o polinmio p(x) tem grau
o
o
mpar
ento possui pelo menos um zero real.
a
Conclu
mos que para procurar por zeros reais de um polinmio
o
devemos seguir um roteiro:
i Encontrar os limites L, L1
ii- Aplicar mtodo de localizao de zeros.
e
ca
iii- Contar os zeros.
iv- Aplicar algum mtodo de aproximao(MMI, Newton,Secante,etc)
e
ca

2.9

Exerc
cios

2.9.1. Seja f (x) = x4 x10 denida em [2 2]. Aplique o mtodo


e
de localizao de zeros com = 1 para encontrar os subintervalos
ca
4
onde f (x) possui zeros.
ca
cio
2.9.2. Aplique o MMI para encontrar os zeros da funo do Exerc
2.9.1.
e
2.9.3. Encontre atravs do MMI com = 0.01 pelo menos um zero
de:
a) f (x) = x3 x + 1
b) g(x) = 2ex sen(x)
c) h(x) = xln(x) 0.8
2.9.4. Aplique o Mtodo da Secante para encontrar uma aproximao
e
ca

para 2 e compare com o Mtodo de Newton.


e
ca
ue
e
2.9.5. Mostre a equao geral para a seqncia (xn ) no Mtodo da
Secante quando:
a) f (x) < 0 e f (x) > 0 para todo x [a b]
b) f (x) < 0 e f (x) < 0 para todo x [a b]
c) f (x) > 0 e f (x) < 0 para todo x [a b]

CAP
ITULO 2. ZEROS DE FUNCAO

52

2.9.6. Mostre que no Mtodo de Newton podemos escolher x0 se


e
f (x0 )f (x0 ) > 0
2.9.7. Ache um zero de f (x) = ex sen(x) 2 com = 0.0001 pelo
Mtodo da Secante e pelo Mtodo de Newton. Compare os resultados
e
e
e diga qual Mtodo converge mais rpido.
e
a
2.9.8. Ache um zero de f (x) = x + ln(x) e g(x) = 2x3 + ln(x) 5
com = 0.001 pelo Mtodo da Iterao Linear.
e
ca
2.9.9. Usando o Mtodo da Iterao Linear ache um zero de
e
ca
f (x) = cos(x) + ln(x) + x com = 102 .

2.9.10. Calcule uma aproximao para 7 9


ca
2.9.11. Seja f (x) = ex + x3 1, ache x tal que f (x) = 2.
2.9.12. Ache os pontos de mximo e m
a
nimo de f (x) = x5 +10x2 +x
em [2 1].
2.9.13. Determine o m
nimo global de f (x) = 2x4 2x3 x2 x 3
2.9.14. O que ocorre quando aplicamos o MMI em uma funo que
ca
possui 3 zeros em um intervalo [a b].
2.9.15. Para cada item abaixo d um exemplo onde no podemos
e
a
aplicar o:
a)Mtodo do Meio Intervalo - MMI
e
b)Mtodo da Secante
e
c)Mtodo de Newton
e
d)Mtodo da Iteraao Linear.
e
c
2.9.16. De acordo com o texto calcule L, L1 para p(x) = x4 5x3
7x2 + 29x + 30
2.9.17. Encontre os trs zeros reais de p(x) = x3 2x2 5x + 6 com
e
= 102 .

Cap
tulo 3

Interpolao
ca
3.1

Introduo
ca

Abordaremos neste cap


tulo os aspectos bsicos da teoria de intera
polao.
ca
Comeamos apresentando dois problemas:
c
i- Considere uma funo f (x) conhecida apenas nos pontos
ca
(x0 , x1 , . . . , xn ). Se no temos a forma anal
a
tica de f (x) como
podemos determinar o valor f (c) para um c (xi xj )?
ii- Seja f (x) uma funo de forma anal
ca
tica complicada ou de
dif avaliaao. Existe uma outra funo g(x) tal que g(x) f (x),
cil
c
ca
=
onde g(x) uma funo de fcil avaliaao?
e
ca
a
c
Esses problemas sero resolvidos atravs da construo de um
a
e
ca
polinmio chamado polinmio interpolador. Em outros textos
o
o
e
poss encontrar interpolantes trigonomtricas e exponenciais, para
vel
e
isso veja [11].
Tudo comea com o teorema abaixo:
c
Teorema 3.1. (Weirstrass) Se f (x) uma funo cont
e
ca
nua em um
intervalo fechado [a b], ento existe um polinmio p(x) tal que
a
o
p(x) f (x) para todo x [a b], ou seja, |f (x) p(x)| < para
=
qualquer dado.
53

CAP
ITULO 3. INTERPOLACAO

54

Como muitos teoremas na matemtica, o teorema acima s garante


a
o
a
existncia do polinmio interpolador, outro fato que o grau do
e
o
e
polinmio p(x) depende do escolhido. A demonstrao encontra-se
o
ca
em [9].

3.2

Interpolao de Lagrange
ca

Garantida a existncia do polinmio interpolador, vamos agora dee


o
senvolver um mtodo para encontr-lo.
e
a
Teorema 3.2. (Lagrange) Sejam (x0 , x1 , . . . , xn ) os pontos distintos
onde f (x) conhecida. Ento o polinmio interpolador p(x) tem
e
a
o
grau n e dado pela frmula:
e
o
n

f (xi )

p(x) =
i=0

j=0,j=i

(x xj )
(xi xj )

Antes de demonstrar o Teorema 3.2 faamos um exemplo:


c
Exemplo 3.2.1. Seja f (x) conhecida em :
(x0 , f (x0 ))
(x1 , f (x1 ))
(x2 , f (x2 ))
(x3 , f (x3 ))
Desejamos saber o valor de f

=
=
=
=
1
2

(1, 1)
(1, 3)
(2, 1)
(3, 4)

. Usando o Teorema 3.2 temos:

3.2. INTERPOLACAO DE LAGRANGE

i=0

= f (x0 )

j=0,j=i

(x xj )
(xi xj )

(x x1 )(x x2 )(x x3 )
(x x0 )(x x2 )(x x3 )
+ f (x1 )
(x0 x1 )(x0 x2 )(x0 x3 )
(x1 x0 )(x1 x2 )(x1 x3 )

+f (x2 )
.
.
.

f (xi )

p(x) =

55

(x x0 )(x x1 )(x x3 )
(x x0 )(x x1 )(x x2 )
f (x3 )
(x2 x0 )(x2 x1 )(x2 x3 )
(x3 x0 )(x3 x1 )(x3 x2 )

27
13 3 11 2 11
x x + x+
24
4
24
4

Observe que p(xi ) = f (xi ) para i = 0, 1, 2, 3 e o grau de p(x) 3.


e
1
Agora, para saber o valor de f 2 basta calcular p 1 5.671
=
2
demonstrao do Teorema 3.2
ca
Consideremos os polinmios de Lagrange:
o
P0 (x) =
P1 (x) =
.
.
.

(x x1 )(x x2 ) (x xn )
(x x0 )(x x2 ) (x xn )

Pn (x) = (x x0 )(x x1 ) (x xn1 )


n

Em geral Pi (x) =

(x xj ), para i = 0, . . . , n.
j=0,j=i

Esses polinmios tem a seguinte propriedade:


o

Pi (x) = 0 e Pi (xj ) = 0

(3.1)

Pelo Teorema 3.1 temos que p(x) existe e seu grau igual a n.
e
Dessa forma podemos escrever p(x) como combinao linear dos
ca
polinmios de Lagrange, ou seja, existem escalares (b0 , b1 , . . . , bn )
o
tais que:

CAP
ITULO 3. INTERPOLACAO

56

p(x) = b0 P0 (x) + b1 P1 (x) + + bn Pn (x)

(3.2)

Pela equao (3.1) podemos armar que:


ca
p(xk ) = b0 P0 (xk ) + b1 P1 (xk ) + + bk Pk (xk ) + + bn Pn (xk )
0

= bk Pk (xk )
o que implica em

bk =

p(xk )
para k = 0, 1, . . . , n
Pk (xk )

(3.3)

Substituindo a equao (3.3) na equao (3.2) temos:


ca
ca

p(x) =

p(x0 )
p(x1 )
p(xn )
P0 (x) +
P1 (x) + +
Pn (x)
P0 (x0 )
P1 (x1 )
Pn (xn )

como p(xi ) = f (xi ) ento


a

p(x) =

f (x0 )
f (x1 )
f (xn )
P0 (x) +
P1 (x) + +
Pn (x)
P0 (x0 )
P1 (x1 )
Pn (xn )

logo
n

p(x) =

f (xi )
i=0

Pi (x)
=
Pi (xi )

f (xi )
i=0

j=0,j=i

(x xj )
(xi xj )

Corolrio 3.1. O polinmio dado no Teorema 3.2 unico.


a
o
e
demonstrao
ca

3.3. INTERPOLACAO COM DIFERENCAS DIVIDIDAS FINITAS - DDF57

Suponhamos que exista um outro polinmio s(x) tal que s(xi ) =


o
f (xi ) para i = 0, 1, . . . , n. Considere o polinmio:
o
T (x) = s(x) p(x)
Veja que T (xi ) = s(xi ) p(xi ) = 0 para i = 0, 1, . . . , n. Como o grau
de s(x) e p(x) n, ento o grau de T (x) tambm n. Mas T (x) tem
e
a
e e
n + 1 zeros o que um absurdo de acordo com o Teorema 2.7. Logo
e
s(x) = p(x).

3.3

Interpolao com Diferenas Divididas Finica


c
tas - DDF

Consideremos uma funo f (x) cont


ca
nua em [a b] e diferencivel em
a
(a b). Uma diferena dividida nita - DDF de primeira ordem de
c
f (x) em relao a x0 , x1 dada por:
ca
e
f [x1 , x0 ] =

f (x1 ) f (x0 )
x1 x0

observe que f [x1 , x0 ] uma aproximao para f (x0 ).


e
ca
A DDF de segunda ordem ser dada por:
a
f [x2 , x1 , x0 ] =

f [x2 , x1 ] f [x1 , x0 ]
x2 x0

veja que isso uma aproximao para f (x1 ).


e
ca
Assim a DDF de n-sima ordem ser dada por:
e
a
f [xn , xn1 , . . . , x1 , x0 ] =

3.3.1

f [xn , xn1 , . . . , x1 ] f [xn1 , xn2 , . . . , x0 ]


xn x0

Propriedades de uma DDF

i - f [xn , xn1 , . . . , x1 , x0 ] = f [x0 , x1 , . . . , xn1 , xn ] onde


0 , 1 , . . . , n1 , n qualquer permutao dos inteiros
e
ca
{n, n 1, . . . , 1, 0}. Por exemplo:
f [x2 , x1 , x0 ] = f [x1 , x2 , x0 ] = f [x2 , x0 , x1 ] = f [x0 , x1 , x2 ] = f [x1 , x0 , x2 ] = f [x0 , x2 , x1 ]

CAP
ITULO 3. INTERPOLACAO

58
ii - f [x0 , x1 ] =

3.3.2

f (x1 )
x1 x0

f (x0 )
x0 x1

Obteno da Frmula
ca
o

Pelo Teorema 3.1 temos a existncia do polinmio p(x). Assim cone


o
sidere (x0 , x1 , . . . , xn ) os n + 1 pontos conhecidos de f (x). Pela
denio de DDF temos:
ca
p[x, x0 ] =

p(x) p(x0 )
x x0

ou
p(x) = p(x0 ) + (x x0 )p[x, x0 ]
mais ainda,
p[x, x0 , x1 ] =

(3.4)

p[x, x0 ] p[x0 , x1 ]
x x1

p[x, x0 ] = p[x0 , x1 ] + (x x1 )p[x, x0 , x1 ]

(3.5)

Substituindo (3.5) em (3.4) temos:


p(x) = p(x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x, x0 , x1 ]
como
p[x, x0 , x1 ] = (x x2 )p[x, x0 , x1 , x2 ] + p[x0 , x1 , x2 ]
ento
a
p(x) = p(x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x0 , x1 , x2 ]
+ (x x0 )(x x1 )(x x2 )p[x, x0 , x1 , x2 ].
Continuando a substituir p[x, x0 , x1 , x2 ] teremos:
p(x) = p(x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x0 , x1 , x2 ]
+ (x x0 )(x x1 )(x x2 )p[x0 , x1 , x2 , x3 ] + +
(x x0 ) (x xn1 )p[x0 , . . . , xn ] + (x x0 ) (x
xn )p[x, x0 , . . . , xn ]

3.4. ERRO DE TRUNCAMENTO

59

Como p(x) um polinmio de grau n ento a (n + 1)-sima


e
o
a
e
derivada igual a zero. Logo p[x, x0 , . . . , xn ] = 0. Dessa forma o
e
polinmio p(x) pode ser escrito como:
o
p(x) = f (x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x0 , x1 , x2 ]+
+(x x0 )(x x1 )(x x2 )p[x0 , x1 , x2 , x3 ] + +
+(x x0 ) (x xn1 )p[x0 , . . . , xn ]
Exemplo 3.3.1. Vamos construir o polinmio interpolador para
o
sen(x)
funo f (x) =
ca
via DDF. Para essa interpolao considere
ca
x
os pontos:
(x0 , f (x0 )) = 3 , 0.46
2
(x1 , f (x1 )) =

2 , 0.797

Veja que
p[x0 , x1 ] =
Assim

f (x0 ) f (x1 )
1.257
p(x0 ) p(x1 )
=
=
x0 x1
x0 x1

p(x) = f (x0 ) + (x x0 )p[x0 , x1 ]


= 0.46 + x

3
2

1.257

= 1.257 x + 1, 425

3.4

Erro de Truncamento

Considere o problema (ii ) na Introduo do Cap


ca
tulo. Nesse caso
conhecemos a forma anal
tica de f (x). Veremos que se f (x) for sucientemente diferencivel, ento podemos calcular o erro de truncaa
a
mento na interpolao.
ca
Seja p(x) o polinmio interpolador de grau n criado com base em
o
(x0 , x1 , . . . , xn ). Denimos o erro de truncamento como:
Et (x) = f (x) p(x)
A proposio abaixo caracteriza Et (x). Mas sua demonstrao
ca
ca
requer um famoso teorema, chamado de Teorema de Rolle. Apenas

CAP
ITULO 3. INTERPOLACAO

60

enunciaremos esse teorema. Sua demonstrao pode ser encontrada


ca
em livros de Clculo ou em [3].
a
ca
nua
Teorema 3.3. (Rolle) Seja f : [a b] R uma funo cont
denida em um intervalo fechado [a b]. Se f (x) diferencivel no
e
a
intervalo aberto (a b) e f (a) = f (b) = 0. Ento existe (a b) tal
a
que f () = 0.
Proposio 3.1. Seja f (x) = Et (x) + p(x), onde p(x) o polinmio
ca
e
o
interpolador de f (x) relativamente aos pontos (x0 , x1 , . . . , xn ) de [a b]
e f (x) seja (n + 1) vezes diferencivel em [a b]. Ento existe
a
a
(a b) tal que
Et (x) = (x x0 )(x x1 ) (x xn )

f n+1 ()
(n + 1)!

demonstrao
ca
Comeamos construindo uma funo auxiliar
c
ca
(x) = f (x) p(x) (x x0 )(x x1 ) (x xn )A,
observe que (x0 ) = (x1 ) = = (xn ) = 0, ou seja, (x) se
anula em n + 1 pontos. Tome z (a b) distinto de (x0 , x1 , . . . , xn )
e escolhemos A tal que (z) = 0.
(x) (n + 1) vezes diferencivel, j que isso ocorre com f (x) e
e
a
a
p(x). Assim podemos aplicar o Teorema de Rolle repetidas vezes e
garantir a existncia de (a b) tal que:
e
0 = n+1 () = f n+1 () (n + 1)!A
donde
A=

f n+1 ()
(n + 1)!

ou
Et (z) = (z x0 )(z x1 ) (z xn )

f n+1 ()
(n + 1)!

Como z foi escolhido arbitrrio temos o resultado.


a

3.4. ERRO DE TRUNCAMENTO

61

A Proposio 3.1 garante a existncia de . Na prtica no


ca
e
a
a e
poss
vel encontr-lo. Para resolver isso, tomamos como f n+1 () o
a
mximo que |f n+1 (x)| assume em [a b].
a
Uma observao que deve ser feita, vem do fato de que o polinmio
ca
o
interpolador unico de acordo com o Teorema 3.1, ento o erro
e
a
de truncamento tambm o mesmo, tanto para o polinmio de
e e
o
Lagrange, quanto para o polinmio obtido via DDF. Neste caso o
o
polinmio interpolador obtido por DDF (por exemplo com trs pono
e
tos {x0 , x1 , x2 }) escrito como:
e
p(x) = f (x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x0 , x1 , x2 ]
com isto,
Et (x) = f (x) p(x)
= f (x) (f (x0 ) + (x x0 )p[x0 , x1 ] + (x x0 )(x x1 )p[x0 , x1 , x2 ])
= (x x0 ){f [x, x0 ] p[x0 , x1 ] (x x0 )(x x1 ) p[x0 , x1 , x2 ]
f [x0 ,x1 ]

f [x0 ,x1 ,x2 ]

= (x x0 )(x x1 )(x x2 )f [x, x0 , x1 , x2 ]


Podemos generalizar para
Et (x) = (x x0 )(x x1 ) (x xn )f [x, x0 , x1 , . . . , xn ]
Comparando essa ultima equao com a Proposio 3.1 conclu

ca
ca
mos
que:
f n+1 ()
f [x, x0 , x1 , . . . , xn ] =
(n + 1)!
para algum em (a b).
Exemplo 3.4.1. Considere a funao f (x) = sen(x) no intervalo
c
o
e
0 . Vamos obter o polinmio interpolador via mtodo de La2
grange nos pontos
(x0 , f (x0 )) =
(x1 , f (x1 )) =
(x2 , f (x2 )) =

(0, 0)

4, 2

2,1

CAP
ITULO 3. INTERPOLACAO

62
assim
2

f (xi )

p(x) =
i=0

j=0,j=i

(x xj )
=
(xi xj )

88 2
2

4 22
x +

Vericamos facilmente que |f 3 (x)| assume mximo igual a 1 em


a

0 2 . Dessa forma podemos calcular o erro de truncamento:


Et (x) = (x x0 )(x x1 )(x x2 )

1
=x x
3!
4

Como aplicao vejamos o erro de truncamento no ponto


ca
Et

3
8

1
6
3
8 .

= 0.30280

Por comparao vamos calcular os valores exatos:


ca
Et

3
8

= f

3
8

3
8

= 0.018

Certamente o leitor deve estar se perguntando; no teria que rea


sultar o mesmo valor? A resposta no. Quando tomamos o mximo
e a
a
ca
de |f 3 (x)| no intervalo 0 estamos assumindo uma aproximao
2
3 ()|. Portanto o erro de truncamento deve ser calculado
para o |f
com bastante cuidado.
O erro de truncamento pode ser visto geometricamente na gura
3.1.

3.5

Mtodo de Briot-Runi
e

Consideremos um polinmio de grau n, p(x) = an xn + an1 xn1 +


o
+ a1 x + a0 em R. Veja que para calcular o valor p(c) para um
c R efetuamos n(n+1) multiplicaes e n adies. O mtodo de
co
co
e
2
Briot-Runi prope reduzir o nmero de multiplicaes.
o
u
co
Pela diviso euclidiana de p(x) por (x c) temos:
a
p(x) = (x c)Q(x) + R

(3.6)


3.5. METODO DE BRIOT-RUFFINI

63

0
0

0.25

0.5

0.25

0.75

1.25

1.5

1.75

0.5

0.75

1.25

1.5

1.75

-1

-2

p(x)

Figura 3.1: Erro de truncamento


onde R uma constante, j que o grau de p(x) n e o grau de
e
a
e
Q(x) n 1.
e
Assim p(c) = R, ou seja, basta encontrar R. Para isso comeamos
c
escrevendo Q(x) na forma geral:
Q(x) = bn1 xn1 + bn2 xn2 + + b1 x + b0

(3.7)

e substituindo (3.7) em (3.6)


p(x) = (x c)(bn1 xn1 + bn2 xn2 + + b1 x + b0 ) + R
= bn1 xn + (bn2 cbn1 )xn1 + (bn3 cbn2 )xn2 + +
+(b1 cb2 )x2 + (b0 cb1 )x + (cb0 + R)
Expandindo p(x)
an xn + an1 xn1 + + a1 x + a0
igual a
e

CAP
ITULO 3. INTERPOLACAO

64

bn1 xn +(bn2 cbn1 )xn1 +(bn3 cbn2 )xn2 + +(b1 cb2 )x2 +(b0 cb1 )x+(Rcb0 )
Portanto:
bn1 = an
bn2 = an1 + cbn1
bn3 = an2 + cbn2
.
.
.
b0
R

= a1 + cb1
= a0 + cb0

Dessa forma, R facilmente encontrado e o nmero de multie


u
plicaes igual a n.
co e
e
Exemplo 3.5.1. Use o mtodo de Briot-Runi para avaliar p(x) =
x2 + 3x + 1 em c = 2
b1 = a2
= 1
b0 = a1 + cb1 = 5
R = a0 + cb0 = 11
Assim p(2) = 11.

3.6

Consideraes Finais
co

Uma observao importante que devemos fazer em relao a interca


ca
polao a seguinte; quanto maior o nmero de pontos melhor a
ca e
u
e
bom lembrar
aproximao fornecida pelo polinmio interpolador. E
ca
o
que quanto mais pontos, maior o grau do polinmio e assim mais
e
o
lenta sua avaliao, por isso necessrio a utilizao de mtodos
e
ca
e
a
ca
e
1.
de avaliao polinomial tal como o mtodo de Briot-Runi
ca
e
1

No o unico.
a e

3.7. EXERC
ICIOS

3.7

65

Exerc
cios

ca
3.7.1. Use interpolao de Lagrange para determinar uma aproximao de f sabendo que:
ca
5

3
= ,f
= 0, f
=
f (0) = 1, f
3
2
2
6
2
cos(x)

. Calcule uma aproximao para f


ca
3
x2
atravs do polinmio de Lagrange.
e
o
3.7.2. Seja f (x) =

3.7.3. Usando interpolao por DDF obtenha o valor aproximado de


ca
f 1 sabendo que:
2
f (1) = 1, f

3
2

2
1
= , f (2) =
3
2

3.7.4. Os problemas vistos at agora so da forma:


e
a
Dado os pontos (x0 , x1 , . . . , xn ), onde f (x) conhecida, pede-se
e
para encontrar um valor f (c) para algum c [xj xi ] conhecido.
Pense agora no problema inverso:
Dado os pontos (x0 , x1 , . . . , xn ), onde f (x) conhecida, pede-se
e
para encontrar um valor c onde conhecemos o valor f (c). Chamamos
de interpolao inversa.
ca
Determine o valor aproximado de c para f (c) = 0.95 usando os
valores da funo f (x) = sen(x) (x em radianos) dados abaixo:
ca
i
xi
f (xi )

0
1.75
0.984

1
1.80
0.9738

2
1.85
0.9613

3
1.90
0.9463

3.7.5. Verique que, se f (x) for um polinmio de grau n, ento o


o
a
polinmio interpolador p(x) relativo a (x0 , x1 , . . . , xn ) igual a f (x).
o
e
3.7.6. Usando interpolao inversa, determine uma aproximao
ca
ca
para um zero de:
a) f (x) = x3 9x + 10
b) g(x) = ln(x) + 4x 3

CAP
ITULO 3. INTERPOLACAO

66

3.7.7. Interpole a funo f (x) = ex no intervalo [0 1] com 4 pontos.


ca
Calcule o erro de truncamento.
3.7.8. Mostre que f [x0 , x1 , x2 ] = f [x2 , x1 , x0 ].
3.7.9. Seja p(x) um polinmio de grau n. Mostre que necessrio
o
e
a
n(n+1)
multiplicaes e n adies para avaliar p(c) para c R
co
co
2
3.7.10. Calcule o nmero de adioes e multiplicaes para gerar o
u
c
co
polinmio interpolador de Lagrange em (n + 1) pontos.
o
3.7.11. Determina-se empiricamente o alongamento de uma mola
em mil
metros, em funo da carga P kgf que sobre ela atua, obtendoca
se
x
P

5
49

10
105

15
172

20
253

25
352

30
473

35
619

40
793

mm
Kgf

Interpolando adequadamente por meio de polinmios de terceiro grau,


o
encontre as cargas que produzem os seguintes alongamentos na mola:
a) 12mm
b) 22mm
c) 31mm
3.7.12. Numa rodovia federal, medindo-se a posio de um nibus
ca
o
que partiu do marco zero da rodovia, obtiveram-se as seguintes marcaes:
co
T(min)
D(km)

60
76

80
95

100
112

120
138

140
151

160
170

180
192

Pede-se o posicionamento do nibus para os tempos de:


o
a) 95 min
b) 130 min
c) 170 min

3.7. EXERC
ICIOS

67

3.7.13. A velocidade so som na gua varia com a temperatura. Usa


ando os valores da tabela abaixo, determine o valor aproximado da
velocidade do som na gua a 100 C
a
Temperatura ( C)
Velocidade (m/s)

86.0
1.552

93.3
1.548

98.9
1.544

104.4
1.538

110.0
1.532

68

CAP
ITULO 3. INTERPOLACAO

Cap
tulo 4

Integrao Numrica
ca
e
4.1

Introduo
ca

A mais de 2000 anos, o clculo da rea e volume de guras geomtricas


a
a
e
intriga a curiosidade humana. Os gregos, foram talvez os primeiros
a tentar calcular a rea de guras complicadas por aproximaes
a
co
numricas, um exemplo disso o clculo da rea e comprimento do
e
e
a
a
circulo pelo mtodo da exausto de Eudxio (408-355 a.C.) Com a
e
a
o
inveno do Clculo por Newton(1642-1727) e Leibnitz(1646-1716),
ca
a
vrios problemas foram resolvidos, mas tambm surgiram outros.
a
e
Para integrais, temos o Teorema Fundamental do Clculo(T.F.C.),
a
ou seja, se f (x) uma funo cont
e
ca
nua no intervalo [a b], ento a
a
a
rea sob o grco de f (x) dado por:
a
e
b

f (x) dx = F (a) F (b), onde F a antiderivada de f (x).


e
a

Uma pergunta surge: onde o Clculo Numrico pode contribuir,


a
e
uma vez que o T.F.C. parece ter resolvido tudo? Ocorre que, nem
sempre podemos aplicar o T.F.C. conforme os problemas abaixo:
i- De acordo com resultados do Clculo, toda funo cont
a
ca
nua em
um intervalo fechado possui antiderivada. Mas o clculo desta nem
a
sempre simples. Por exemplo:
e
69


CAP
ITULO 4. INTEGRACAO NUMERICA

70

ex dx

ii- Como calcular a integral de uma funo conhecendo-a apenas


ca
em um nmero nito de pontos?.
u
Desta forma recorremos a integrao numrica1 para resolver
ca
e
estes e outros problemas.
Na Interpolao polinmial aprendemos como gerar o polinmio
ca
o
o
b

interpolador, ou seja, p(x) f (x). Portanto


=

p(x) dx
=

f (x) dx.
a

Nesta linha, vamos desenvolver os mtodos numricos de integrao.


e
e
ca

4.2

Regra dos Trapzios


e

Comeamos considerando a Interpolao de Lagrange (veja cap. anc


ca
terior) em uma funo f (x) conhecida apenas em (x0 , f (x0 )), (x1 , f (x1 )).
ca
Seja ento
a
p(x) = f (x0 )

x x1
x x0
+ f (x1 )
x0 x1
x1 x0

integrando
x1

p(x) dx =
x0

f (x0 )
x0 x1

x1
x0

(x x1 ) dx +

f (x1 )
x1 x0

x1
x0

(x x0 ) dx

x1 x0
[f (x1 ) f (x0 )]
2
x1

Donde conclu
mos que
conforme gura 4.1.

p(x) dx exatamente a rea do trapzio


e
a
e
x0

Se tivermos (n + 1) pontos, digamos (x0 , x1 , . . . , xn ) igualmente


espaados, ou seja, xk = xk1 + h,(k = 1, . . . , n), ento podemos
c
a
generalizar (acompanhe com a gura 4.2) para:
1
Tambm chamado de quadratura, devido a Arquimedes(387-212 a.C.) e o
e
problema da quadratura do circulo


4.2. REGRA DOS TRAPEZIOS

71
y

Figura 4.1: Area do trapzio


e

xn

x1

p(x) dx =
x0

x0

x2

p1 (x) dx +

x1 x0
2 [f (x1 )

x1

xn

p2 (x) dx + +

f (x0 )] +

x2 x1
2 [f (x2 )

xn1

pn (x) dx

f (x1 )] + +

+ xn xn1 [f (xn ) f (xn1 )]


2
=

h
[f (x0 ) + 2f (x1 ) + + 2f (xn1 ) + f (xn )]
2

Com pk (x) o polinmio interpolador nos pontos (xk1 , xk ),(k =


o
1, . . . , n).

4.2.1

Erro de Truncamento

De acordo com a seo 3.4 o erro de truncamento na interpolao


ca
ca e
f ()
para (x0 x1 ). Integrando
dado por Et (x) = (xx0 )(xx1 )
2
teremos


CAP
ITULO 4. INTEGRACAO NUMERICA

72
y

x x

...
2

x x

Figura 4.2: Clculo da rea por trapzios


a
a
e

x1
x0

x1

Et (x) dx =

x0

(x x0 )(x x1 )

f ()
dx
2

f ()(x1 x0 )3
12
Assumindo x1 x0 = h, ento o erro de integrao dado por
a
ca e
=

EI =

f ()h3
12

Lembre-se que, no caso geral(x0 , x1 , . . . , xn ), temos que somar


todos os erros, ou seja, o erro total ser dado por:
a
n1

EIi , onde EIi o erro calculado em (xi1 , xi ).


e
i=1

Exemplo 4.2.1. Considere f (x) conhecida nos pontos


Pela regra dos trapzios teremos:
e

5 1
3
,
,
,
.
3 2
6 2

4.3. 1a REGRA DE SIMPSON

x1
x0

[f (x1 ) f (x0 )]
(1 +
f (x) dx = (x1 x0 )
=
2
8

73

3)
= 1.07287

Sabendo que f (x) = sen(x) e f () = max{|f (x)| ; x (x0 x1 )} =


|f (/3)| 0.86602 calculamos o erro de integrao
ca
=
EI =

f ()(x1 x0 )3
= 0.2797
12

Portanto
x1
x0

f (x) dx + EI = 1.35257

Compare este resultado com o valor fornecido pelo T.F.C.


Escolhemos f (x) = sen(x) no exemplo anterior para vericar o
erro cometido. Nos problemas onde a forma anal
tica de f (x) no
a e
conhecida no podemos calcular EI .
a

1a Regra de Simpson

4.3

A regra dos trapzios utiliza polinmios interpolantes de grau 1, j


e
o
a
que trabalha de dois em dois pontos. No caso de trs pontos, podee
mos ter uma interpolante de grau 2, ou seja, nosso erro de interpolao tende a ser menor. Dessa forma, se f (x) conhecida em
ca
e
trs pontos (x0 , x1 , x2 ), ento o polinmio interpolador de Lagrange
e
a
o
ser dado por:
a

p(x) = f (x0 )

(x x1 )(x x2 )
(x x0 )(x x2 )
(x x0 )(x x1 )
+f (x1 )
+f (x2 )
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
(x2 x0 )(x2 x1 )

assim

x2

p(x) dx =
x0

h
[f (x0 ) + 4f (x1 ) + f (x2 )].
3

O caso geral em (n + 1) pontos dado por:


e
x2

p(x) dx =
x0

h
[f (x0 )+4f (x1 )+2f (x2 )+4f (x3 )+2f (x4 )+ +2f (xn2 )+4f (xn1 )+f (xn )]
3


CAP
ITULO 4. INTEGRACAO NUMERICA

74

p(x)

Figura 4.3: Clculo da rea pela 1a regra de Simpson


a
a
A comparao da 1a regra de Simpson com a regra dos trapzios
ca
e
pode ser observada nas guras 4.3 e 4.4.
O erro de truncamento pode ser rapidamente calculado:
x2
x0

x1

Et (x) dx =

x0

(x x0 )(x x1 )(x x2 )

f 3 ()
dx
3!

f 3 ()h4
12

Portanto o erro de integrao na 1a regra de Simpson ser dado


ca
a
por:

EI =

f 3 ()h4
12

4.3. 1a REGRA DE SIMPSON

75

Figura 4.4: Clculo da rea por trapzios


a
a
e
Exemplo 4.3.1. Considere f (x) conhecida apenas em

(x0 , f (x0 )) = (/3, 3/2)


(x1 , f (x1 )) = (5/2, 1/2)
(x2 , f (x2 )) = (, 0)
Pela regra dos trapzios (observe que h = /4) temos:
e
x2

f (x) dx
=

x0

h
[f (x0 ) + 2f (x1 ) + f (x2 )] = 1.4655
2

Pela 1a regra de Simpson temos:


x2
x0

f (x) dx
=

h
[f (x0 ) + 4f (x1 ) + f (x2 )] = 1.5006
3

Qual resultado o melhor? Certamente o valor fornecido pela 1a ree


gra
de
Simpson. Uma vez que o erro tende a ser menor.
Para convencer o leitor revelamos que f (x) = sen(x), e calculamos o valor exato via T.F.C.

sen(x) dx = 1.50
/3

Podemos obter a 2a regra de Simpson com um processo anlogo


a
no polinmio interpolador de grau 3 gerado por 4 pontos. Mais
o
detalhes veja exerc 4.5.7.
cio


CAP
ITULO 4. INTEGRACAO NUMERICA

76

4.4

Quadratura Gaussiana

Nos mtodos anteriores de Integrao, usamos intervalos igualmente


e
ca
espaados, ou seja, xk = xk1 + h. No mtodo de Gauss estes pontos
c
e
no
a
so
a
mais
escolhidos, vamos denir um critrio para essa escolha.
e
Comeamos considerando o teorema de mudana de varivel:
c
c
a
Teorema 4.1. (Mudana de varivel) Sejam f : [a b] R
c
a
cont
nua,
g : [c d] R com derivada integrvel e g([c d]) [a b]. Ento
a
a
g(d)

f (x) dx =
g(c)

f (g(t)).g (t) dt.


c

A demonstrao pode ser encontrada em [6]. Esse teorema ser


ca
a
muito util como veremos.

Nosso problema continua sendo tentar calcular

f (x) dx. Para


a

facilitar as contas vamos efetuar a seguinte mudana de varivvel.


c
a
ba
b+a
t+
, observe
2
2
que g(1) = a e g(1) = b. Aplicando o Teorema 4.1 temos:
Seja g : [1 1] R tal que, g(t) =

f (x) dx =
a

F (t) dt
1

onde
F (t) = f (g(t)).g (t) = f

ba
b+a
t+
2
2

ba
.
2
b

Com isto conclu


mos que para saber o valor de
1

calcular

f (x) dx basta
a

F (t) dt.
1

O mtodo da Quadratura Gaussiana(no demonstraremos) arma


e
a
que:
n

F (t) dt =
1

wi F (ti )
i=0

4.4. QUADRATURA GAUSSIANA

77

onde wk so chamados de pesos e tk pontos do intervalo [1 1].


a
Nosso objetivo identicar estes pesos e pontos. Para simplicar
e
comeamos com n = 1, ou seja, dois pontos apenas. Dessa forma:
c
1

F (t) dt = w0 F (t0 ) + w1 F (t1 )

(4.1)

Para descobrir estas quatro incgnitas necessitamos de um siso


tema com quatro equaes. Uma vez que estas incgnitas no deco
o
a
pendem de F (t) podemos assumir F (t) = tk ,k = 0, 1, 2, 3. Ou seja,
1
1

tk dt = w0 F (t0 ) + w1 F (t1 )
1

k = 0 = 2 =
1
1

k = 1 = 0 =
1

k = 2 =

2
=
3

t0 dt = w0 t0 + w1 t0
0
1
t1 dt = w0 t0 + w1 t1

1
1
1

k = 3 = 0 =
1

t2 dt = w0 t2 + w1 t2
0
1

t3 dt = w0 t3 + w1 t3
0
1

com estas equaes geramos o sistema:


co

0
2/3

=
w0 + w1
= w0 t0 + w1 t1
= w0 t2 + w1 t2
0
1
= w0 t3 + w1 t3
0
1

Resolvendo...

w0 = w1 = 1 e t0 = t1 = 1/ 3.
Substituindo estes valores na equao (4.1) temos:
ca


CAP
ITULO 4. INTEGRACAO NUMERICA

78

F (t) dt = F (1/ 3) + F (1/ 3)

Com um processo anlogo na forma geral


a
n

F (t) dt =
1

wi F (ti )
i=0

wk e tk podem ser calculados por polinmios de Legendre(veja [11]).


o
No faremos essa demonstrao, mas os valores podem ser vistos na
a
ca
tabela 4.1.
e
o
e
a
Observao 4.1. Se F um polinmio de at grau 3, ento esta
ca
frmula fornece o valor exato da integral. Caso contrrio o erro pode
o
a
ser calculado pela frmula abaixo:
o

E=

2(2n+3) [(n + 1)!]4 (2n+2)


F
()
(2n + 3)[(2n + 2)!]3

com [1 1].

E bom lembrar que F (2n+2) () deve ser tomado como o maior


valor poss
vel, como feito em sees anteriores.
co
/2

Exemplo 4.4.1. Calcular

sen(x) dx por quadratura gaussiana


0

com n = 1.
Comeamos fazendo a mudana de varivel
c
c
a
F (t) = f
= sen

ba
b+a
t+
2
2

t+
4
4

ba
2

4.4. QUADRATURA GAUSSIANA

79

ti

wi

1;0

0.57735027

0;1
2

0.77459667
0

5/9
8/9

0;1
2;3

0.86113631
0.33998104

0.34785484
0.65214516

0;1
2;3
4

0.90617985
0.53846931
0

0.23692688
0.47862868
0.53888889

0;1
2;3
4;5

0.93246951
0.66120939
0.23861919

0.17132450
0.36076158
0.46791394

0;1
2;3
4;5
6

0.94910791
0.74153119
0.40584515
0

0.12948496
0.27970540
0.38183006
0.41795918

0;1
2;3
4;5
6;7

0.96028986
0.79666648
0.52553242
0.18343464

0.10122854
0.22238104
0.31370664
0.36268378
n

Tabela 4.1: Valores de wk e tk para

F (t) dt =
1

wi F (ti )
i=0


CAP
ITULO 4. INTEGRACAO NUMERICA

80
dessa forma
/2

sen(x) dx =
0

F (t) dt = F (1/ 3) + F (1/ 3) = 0.9984

Compare com o valor fornecido pelo T.F.C.


/2

Exemplo 4.4.2. Calcular

sen(x) dx por quadratura gaussiana


0

com n = 2.
De acordo com a tabela 4.1 temos
1
1

F (t) dt = w0 F (t0 ) + w1 F (t1 ) + w2 F (t2 )


=

5
5
8
F (0.77459667) + F (0.77459667) + F (0)
9
9
9

= 1
Compare esse resultado com o valor fornecido pelo T.F.C.
Finalizamos lembrando o leitor, que este texto apenas introe
dutrio e abrange alguns mtodos de integrao numrica. Em [11]
o
e
ca
e
poss encontrar outros mtodos de integrao.
e
vel
e
ca

4.5

Exerc
cios
1

4.5.1. Calcule o valor da integral

f (x) dx apenas sabendo que:


0

(x0 , f (x0 )) = (0, 0)


(x1 , f (x1 )) = (1/2, 1/4)
(x2 , f (x2 )) = (1, 1)
1

4.5.2. Calcule o valor da integral


com 4 pontos.

x2 dx pela regra dos trapzios


e

4.5. EXERC
ICIOS

81
3

4.5.3. Calcule pela regra dos trapzios a integral


e
2

cometido.

4.5.4. Calcule o valor da integral

1
dx e o erro
x3

2xsen(x2 ) dx com n = 3 pela

regra dos trapzios e pela 1a regra Simpson. Calcule o erro cometido.


e
Compare com o T.F.C.
3

4.5.5. Calcule o valor da integral

sen/2 (x + 1)cos(x2 ) dx com

n = 4 pela regra dos trapzios e pela 1a regra Simpson.


e
4.5.6. Mostre que
xn

p(x) dx =
x0

h
[f (x0 )+4f (x1 )+2f (x2 )+4f (x3 )+2f (x4 )+ +2f (xn2 )+4f (xn1 )+f (xn )]
3

Na 1a regra de Simpson.
4.5.7. Dados os pontos (x0 , x1 , x2 , x3 ) mostre que a 2a regra de Simpson dada por:
e
x3
x0

3
f (x) h[f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )]
=
8

e o caso geral

xn

f (x)
x0

3
h[f (x0 )+3f (x1 )+3f (x2 )+2f (x3 )+3f (x4 )+3f (x5 )+2f (x6 )+ +3f (xn2 )+3f (xn1 )+f (xn )]
8
4.5.8. Atravs da 2a regra de Simpson, com n = 4 calcule a integral
e
do exerc
cio 4.5.4.
e
4.5.9. Atravs da 2a regra de Simpson, com n = 6 calcule a integral
3

ln(x + 2) 1 dx.
2
3

4.5.10. Calcule por quadratura gaussiana a integral


n = 1 e n = 2. Calcule tambm o erro.
e

ex dx com

4.5.11. Calcule por quadratura gaussiana a integral do exerc


cio
4.5.4.

82

CAP
ITULO 4. INTEGRACAO NUMERICA

Cap
tulo 5

M
nimos e Mximos
a
5.1

Introduo
ca

Neste cap
tulo faremos uma breve introduo ao problema de enca
contrar m
nimos e mximos de uma funo. Na prtica desejamos
a
ca
a
encontrar o valor m
nimo ou mximo que a funo assume num dea
ca
terminado intervalo. Esse problema tem aplicaes imediatas nas
co
engenharias, f
sica e na propria matemtica. No nal, daremos um
a
exemplo prtico.
a
Comeamos analisando funes de R em R.
c
co
Denio 5.1. Seja f : [a b] R. Dizemos que k m
ca
e nimo local
se, dado > 0, para todo x (k , k + ) temos f (x) f (k).
A denio de mximo local segue anlogo.
ca
a
a
Denio 5.2. Seja f : [a b] R. Dizemos que k mximo local
ca
e a
se, dado > 0, para todo x (k , k + ) temos f (x) f (k).
Observe que o dene o carter local do m
a
nimo ou mximo.
a
Denimos agora o m
nimo e mximo global, veja:
a
Denio 5.3. Seja f : [a b] R. Dizemos que k m
ca
e nimo
global se, para todo x [a, b] temos f (x) f (k).
Denio 5.4. Seja f : [a b] R. Dizemos que k mximo
ca
e a
global se, para todo x [a, b] temos f (x) f (k).
83


CAP
ITULO 5. M
INIMOS E MAXIMOS

84

Exemplo 5.1.1. Considere f : [a b] R cujo grco exibido


a
e
na gura 5.1. Veja que k0 e k1 so m
a
nimos locais. Mas podemos
armar que k1 m
e nimo global, uma vez que f (k1 ) < f (k0 ).

k0

k1

Figura 5.1: M
nimos local e global
Para encontrar m
nimos/mximos podemos utilizar varias tcnicas.
a
e
Se a funo diferencivel no intervalo, ento podemos observar o
ca e
a
a
comportamento da derivada da funo. Uma vez que os m
ca
nimos/mximos
a
so pontos onde a derivada zero.
a
e
Exemplo 5.1.2. Considere f (x) = x4 2x3 4x2 + 2x no intervalo
[2 2], cuja derivada ser dada por f (x) = 4x3 6x2 8x +
a
2. Aplicando os mtodos do cap
e
tulo de zeros de funo podemos
ca
encontrar os zeros de f (x) que so: 1, 0.2192 e 2.2808. Avaliando
a
f (x) nesses pontos temos:
f (1)

= 3

f (0.2192

= 0.2274

f (2.2808) = 12.9149
Assim ca claro que 2.2808 um ponto de m
e
nimo global no
intervalo [2 2].

5.1. INTRODUCAO

85

Lembramos o leitor que, se k um ponto de mximo ou m


e
a
nimo
local, a derivada se anula em k. Mas se a derivada se anula em k
no quer dizer que seja m
a
nimo ou mximo local. Veja o exemplo
a
abaixo.
Exemplo 5.1.3. Considere f (x) = x3 com f (x) = 3x2 . Veja que
para k = 0, f (k) = 0 mas k no ponto de m
a e
nimo nem mximo.
a
Dizemos que k um ponto de inexo, veja denio abaixo.
e
a
ca
Denio 5.5. Seja f (x) uma funao diferencivel em [a b]. Dizeca
c
a
mos que k ponto de inexo horizontal se, existe > 0 tal que uma
e
a
das duas situaes ocorre:
co
i) f (x) < f (k) para todo k < x < k e f (x) > f (k) para todo
k <x<k+
ii) f (x) > f (k) para todo k < x < k e f (x) < f (k) para todo
k < x < k + .
Observao 5.1. Caso f (x) seja duas vezes diferencivel podemos
ca
a
visualizar o ponto de inexo como o ponto onde f (x) muda de
a
sinal.
Com estas denies no poder
co
a
amos deixar de enunciar o
Teorema 5.1. Seja f : (a b) R uma funo n vezes diferca
encivel e cujas derivadas, f , f , . . . , f n sejam cont
a
nuas em (a b).
Seja k (a b) tal que f (k) = f (k) = . . . = f n1 (k) = 0 e
f n (k) = 0. Ento, se n par,
a
e
f n (k) < 0 implica que f tem mximo em k f n (k) > 0 implica
a
que f tem m
nimo em k.
Se n
e mpar, k um ponto de inexo horizontal.
e
a
A demonstrao pode ser encontrada em [3].
ca
Exemplo 5.1.4. Como aplicao do Teorema 5.1 vamos mostrar
ca
que k = 1 ponto de m
e
nimo de f (x) = x3 3x + 1. Tome f (x) =
3x2 3, f (x) = 6x, f 3 (x) = 6, f 4 (x) = 0, ...,f n (x) = 0. Veja que
f (k) = 0 e f (k) = 6 > 0, assim pelo Teorema temos que k = 1
e
ponto de m
nimo.


CAP
ITULO 5. M
INIMOS E MAXIMOS

86

Devemos lembrar que o Teorema 5.1 tem suas limitaes. Veja


co
que uma vez dado k podemos aplicar o Teorema. O grande problema encontrar k. Por isso, vamos desenvolver um mtodo para
e
e
encontrar tais pontos.
Para nalizar considere tambm o
e
ca
nua em um intervalo fechado possui
Teorema 5.2. Toda funo cont
m
nimo/mximo global.
a
A demonstrao pode ser encontrada em [7].
ca
Deste ponto em diante trataremos apenas o caso de encontrar
m
nimos de uma funo. Uma vez que o m
ca
nimo de f (x) o mximo
e
a
de f (x).

5.2

Mtodo da Seo Aurea


e
ca

Seja f (x) uma funo cont


ca
nua com um unico m

nimo no intervalo
[a b]. O mtodo da seo urea consiste em criar uma seqncia
e
ca a
ue
(xn ) que converge para o m
nimo da funo. A seqncia (xn ) ser
ca
ue
a
an +bn
dada por xn = 2 onde [a0 b0 ] [a1 b1 ] [an bn ] .
Assim seja a0 = a e b0 = b.
a1 = b0 0.618(b0 a0 ) e b1 = a0 + 0.618(b0 a0 )
Se f (a1 ) < f (b1 ), ento a2 = a1 e b2 = a1 + 0.618(b1 a1 ).
a
Se f (a1 ) f (b1 ), ento a2 = b1 0.618(b1 a1 ) e b2 = b1
a
Novamente
Se f (a2 ) < f (b2 ), ento a3 = a2 e b3 = a2 + 0.618(b2 a2 ).
a
Se f (a2 ) f (b2 ), ento a3 = b2 0.618(b2 a2 ) e b3 = b2 .
a
E o processo segue at que |xn xn1 | seja menor que um certo
e
xado como critrio de parada.
e


5.2. METODO DA SECAO AUREA

87

Exemplo 5.2.1. Seja f (x) = x2 2x+3. Vamos encontrar o m


nimo
de f (x) em [2 3] pelo mtodo da seo urea com = 0.06.
e
ca a
i
1
2
3
4
5

5.2.1

ai
0.09
0.3608
0.6393
0.8115
0.9179

bi
1.09
1.09
1.09
1.09
1.09

xi
0.5
0.7254
0.8647
0.9507
1.0030

|xi xi1 |
0.2254 >
0.1393 >
0.0860 >
0.0523 < parar o mtodo
e

Convergncia no Mtodo da Seo Aurea


e
e
ca

Observe que no mtodo, utilizamos os intervalos [a0 b0 ] [a1 b1 ]


e
[an bn ] com a0 a1 an e b0 b1
bn . Logo (an ) e (bn ) so seqncias montonas e limitadas.
a
ue
o
Pelo Teorema de Bolzano (veja em [3]) temos:
lim an = lim bn = L

o que implica em
lim xn = L.

Vamos mostrar que L o m


e
nimo que f (x) assume em [a b].
Para isso, seja k o ponto m
nimo em [a b]garantido pelo Teorema
5.2. Assim f (k) f (ai ) e f (k) f (bi ) para i = 0, . . . , , o que
implica em k [ai bi ] para i = 0, . . . , , ou seja, ai k bi para
i = 0, . . . , . Aplicando o limite nesta ultima desigualdade teremos:

lim an k lim bn ,

ou seja,
LkL
o que implica em
L = k.
Observao 5.2. O nmero 0.618 chamado de razo urea. Que
ca
u
e
a a
era considerado sagrado para os estudantes da escola grega pitagrica
o
(fundada por Pitagors (586-500 a.C.)). Procure conhecer mais sobre
esse famoso nmero e surpreenda-se1 .
u
1

Veja mais em [4].


CAP
ITULO 5. M
INIMOS E MAXIMOS

88

Superf
cies em R3

5.3

Para nosso estudo vamos considerar f : D R2 R, onde D


um retngulo em R2 . Por exemplo f (x, y) = x2 + y 2 onde D =
e
a
[0 1] [1 2]. Veja que o grco de f (x) o parabolide dado na
a
e
o
gura 5.2.

50

40

30

20

10

0
5
5
0
0

Figura 5.2: Parabolide


o
Nosso problema agora encontrar o m
e
nimo global k D. Podemos tambm enunciar da seguinte forma: minimizar f na caixa
e
D = [a b] [c d].
Denio 5.6. Seja f : D R2 R uma funo diferencivel.
ca
ca
a
O vetor gradiente de f no ponto a ser dado por:
a
f (a) =

f
f
(a),
(a) .
x
y

a
Exemplo 5.3.1. Seja f (x, y) = x2 + y 2 . Ento f (x, y) = (2x, 2y).
Dessa forma o gradiente de f no ponto a = (2, 1) ser dado por
a
f (2, 1) = (4, 2).


5.4. METODO DO GRADIENTE

89

Denio 5.7. Uma superf de n ser dada pelo conjunto:


ca
cie
vel
a
Sc = {(x, y) R2 / f (x, y) = c}
Podemos visualizar Sc como os pontos em D com imagem igual
a c, o que geometricamente corresponde a um corte na superf na
cie
altura de c. Veja na gura 5.2 os c
rculos no plano XY. Cada circulo
corresponde a superf de n
cie
vel.
Proposio 5.1. Seja f : D Rn R uma funao diferencivel.
ca
c
a
Ento podemos armar que:
a
i) o vetor gradiente
crescente.

f (x) aponta para uma direo onde f (x)


ca
e

ii) dentre todas as direes ao longo das quais f (x) cresce, a


co
direo do gradiente f (x) a de crescimento mais rpido.
ca
e
a
iii) o gradiente
passa por x.

f (x) perpendicular a superf


e
cie de n que
vel

A demonstrao dessas propriedades pode ser encontrada em [7].


ca
Lembramos que, se estamos interessados no m
nimo de f (x),
ento devemos tomar a direo contrria a do gradiente, ou seja,
a
ca
a
f (x) para encontrar a direo onde f (x) mais decresce.
ca

5.4

Mtodo do Gradiente
e

Tendo em mente a Proposio 5.1, vamos desenvolver um mtodo


ca
e
numrico para localizar o m
e
nimo de uma funo em uma caixa D,
ca
utilizando vetor gradiente. Para isso, considere um ponto p0 qualquer
em D(acompanhe com a gura 5.3). Pelo item ii a direo f (p0 )
ca
tem maior decrescimento. Nosso objetivo caminhar nesta direo
e
ca
para encontrar o m
nimo de f (x). Para nos auxiliar vamos denir a
funo g0 (t) = f (p0 t f (p0 ).
ca
Observe que a funo g0 (t) de uma varivel. Podemos ento,
ca
e
a
a
aplicar o mtodo da seo urea para encontrar seu m
e
ca a
nimo, digamos
p1 .


CAP
ITULO 5. M
INIMOS E MAXIMOS

90

Repetimos o processo para p1 , ou seja, denimos g1 (t) = f (p1


t f (p1 ) e encontramos seu m
nimo p2 .
O processo segue at que a distncia entre pn e pn1 seja menor
e
a
que um certo xado como critrio de parada, nesse caso ser dado
e
a
por pi pi1 . Tambm podemos utilizar como critrio de parada
e
e
o prprio vetor gradiente. Nesse caso, paramos o mtodo se a norma
o
e
do vetor gradiente em pn for menor que um certo .
Essa distncia pode ser calculada como a norma do vetor pn
a
pn1 de acordo com a seo 1.3.2.
ca

p5

p3
p4

p1
p2

p0

Figura 5.3: Seqncia (pn ) se aproximando do m


ue
nimo de f (x)
Observao 5.3. Lembramos que, ao aplicar o mtodo da seo
ca
e
ca
urea na funo gn (t), devemos ter cuidado de restringir t, de tal
a
ca
forma que, o vetor pn t f (pn ) permanea em D.
c
Exemplo 5.4.1. Considere f : [1 1] [1 1] R dada
por f (x, y) = x2 + y 2 (veja o grco na gura 5.2). Escolhemos
a
p0 = (1, 1), logo f (p0 ) = (2, 2). Continuando temos g(t) = f (p0
t f (p0 )) = f ((1, 1) t(2, 2) = (1 2t)2 + (1 2t)2 = 8t2 8t + 2.
1
Minimizando g(t) pelo mtodo da seo urea temos t0 = 2 . Calcue
ca a
1
lamos agora p1 = p0 t0 f (p0 ) = (1, 1) 2 (2, 2) = (0, 0). Observe
que o mtodo convergiu em apenas uma iterao.
e
ca

5.5

Bacias de atrao
ca

Podemos dizer que cada m


nimo/mximo local de uma funo difera
ca
encivel possui uma bacia de atrao. Veja na gura 5.4 as vrias
a
ca
a

5.5. BACIAS DE ATRACAO

91

bacias de atrao de f . Cada bacia possui um m


ca
nimo ou um mximo
a
local.

8
6
4
2
0
2
4
6
8
10
25
20

25
15

20
15

10
10
5

5
0

Figura 5.4: Bacias de atrao


ca
Para sintetizar considere a
Proposio 5.2. Se o mtodo do gradiente for iniciado em um ponto
ca
e
p0 no situado na bacia de atrao do m
a
ca
nimo global; ento podemo
a
ocorrer duas situaes:
co
i) o mtodo gradiente converge para o m
e
nimo local associado a
bacia de atrao em que estiver o ponto p0 .
ca
ii) Caso p0 no esteja associado a nenhuma bacia de atrao,
a
ca
ento o mtodo do gradiente no converge.
a
e
a
Assim temos um problema: se a funo possui vrios m
ca
a
nimos/mximos
a
locais, como encontrar o m
nimo/maximo global? A resposta ; inie
ciar o mtodo do gradiente em vrios pontos distintos. Dessa forma
e
a
temos uma probabilidade de iniciar o mtodo justamente na bacia de
e
atrao do m
ca
nimo/mximo global. E bom lembrar que esse mtodo
a
e
no muito convel.
a e
a


CAP
ITULO 5. M
INIMOS E MAXIMOS

92

5.6

Mtodo de direoes aleatrias


e
c
o

Seja f : D R2 R uma funo apenas cont


ca
nua em D. No
mtodo do gradiente escolhemos a direo do gradiente para ene
ca
contrar mximos, e a direo contrria do gradiente para encontrar
a
ca
a
m
nimos. J no mtodo de direes aleatrias, a direo de busca
a
e
co
o
ca
aleatria. Para construir o mtodo basta voltar no mtodo do
e
o
e
e
gradiente e substituir f (pn ) por um vetor qualquer, veja:
Tome p0 qualquer em D, e v0 um vetor qualquer. Considere
g0 (t) = f (p0 + tv0 ). Aplicando o mtodo da seo urea em g0 ene
ca a
contramos seu m
nimo em t0 . Dessa forma p1 = p0 +t0 v0 . Novamente
escolhemos outro vetor aleatrio v1 , tal que, v1 = v0 e consideramos
o
g1 (t) = f (p1 + tv1 ) cujo m
nimo ser t1 .
a
O processo segue at que pn pn1 seja menor que um certo
e
xado como critrio de parada.
e
e
Observao 5.4. Lembramos que o mtodo do gradiente converge
ca
mais rpido que o mtodo de direoes aleatrias. Porm o mtodo
a
e
c
o
e
e
do gradiente exige que a funo seja diferencivel em D.
ca
a
Outro fato, no mtodo do gradiente, se o ponto inicial p0 no
e
a
estiver em nenhuma bacia de atrao, o mtodo pode no convergir.
ca
e
a
No mtodo de direes aleatrias isso pode no ocorrer, uma vez que
e
co
o
a
as direes so escolhidas aleatriamente.
co
a
o
Exemplo 5.6.1. Considere f : [1 1] [1 1] R dada por
f (x, y) = x2 + y 2 (veja o grco na gura 5.2). Denimos como
a
critrio de parada = 0.6 .
e
1
Escolhemos p0 = (1, 1) e v0 = (1, 2 ). Dessa forma g0 (t) = f (p0 +
1
2 + (1 + 1 t)2 . Aplicando o mtodo da
tv0 ) = f (1 + t, 1 + 2 t) = (1 + t)
e
2
5
seo urea, g0 tem m
ca a
nimo em t0 = 6 . Assim p1 = p0 + t0 v0 =
1 7
( 6 , 12 ). Escolhemos o vetor aleatrio v1 = ( 1 , 1), e g1 (t) = 17 t2 +
o
4
16
5
53
t + 144 . Onde g1 tem m
nimo em t1 = 10 , continuando p2 =
4
17
1
1
( 51 , 204 ). Paramos o mtodo, pois j atingimos o delta desejado.
e
a
i
pi
0
(1, 1)
1 (0.166, 0.583)
2 (0.019, 0.0049)

pi pi1

0.933 >
0.596 <

parar o mtodo.
e

5.7. EXERC
ICIOS

93

Observe que a seqncia (pn ) converge para o ponto (0, 0).


ue

5.7

Exerc
cios

5.7.1. Apenas usando a derivada, calcule os pontos de mximo,


a
m
nimo e inexo, da funo f (x) = 16x3 22x 5 no intervalo
a
ca
[2 2].
5.7.2. De acordo com o Teorema 5.2, ache os pontos mximo e
a
m
nimo de f (x) = x3 3x + 1.
5.7.3. Aplique o mtodo da seao urea para encontrar o ponto de
e
c a
m
nimo de f (x) = x2 5x+1 no intervalo [1 3]. Compare o resultado
com o fornecido pela derivada.
nimo de
5.7.4. Apenas fazendo f = 0, encontre o ponto de m
2 + 3y + 3x 3y.
f (x, y) = 5x
5.7.5.
5.7.6.
5.7.7.

94

CAP
ITULO 5. M
INIMOS E MAXIMOS

Cap
tulo 6

Introduo ao Matlab
ca
Faremos uma introduo ao algoritmo estruturado na linguagem porca
tugus, e em paralelo o Matlab.
e

6.1

Introduo
ca

Toda linguagem de programao constitu essencialmente por


ca e
da
COMANDOS e ESTRUTURAS DE CONTROLE que o computador
capaz de interpretar e executar. Os COMANDOS so ordens base
a
tante primitivas como: Ler um valor; Imprimir um valor; Somar dois
valores; Multiplicar dois valores; etc...etc...etc. As ESTRUTURAS
DE CONTROLE so uma espcie de comandos de n mais elevado,
a
e
vel
porque elas so utilizadas para gerenciar a execuo dos comandos
a
ca
mais primitivos. Por exemplo: admitamos que eu queira bater o
nmero 1 no teclado, e queira que o computador exiba na tela:
u
a) Todos os nmeros inteiros de 1 a 9.; b) Os pares de 10 a 20;
u
c) Os
mpares de 20 a 30.
Para tal, deve-se ter a seguinte seqncia de comandos e estruue
turas de controle:
1 - Ler teclado (Comando: ordena o computador a armazenar na
memria o nmero que eu digitar no teclado.
o
u
95

CAP
ITULO 6. INTRODUCAO AO MATLAB

96

2 - Repetir 9 vezes (Estrutura de controle: gerencia a repetio


ca
dos comandos 2.1 e 2.2)
inicio
2.1 - Exibir teclado 2.2 - teclado + 1
m
3 - Repetir 6 vezes
inicio 3.1 Exibir teclado 3.2 teclado + 2 m
4 - teclado -1
5 - Repetir 5 vezes
inicio 5.1 - Exibir teclado 5.2 - teclado +2
m
Os comandos e estruturas de controle que utilizamos no exemplo acima so apenas ilustrativos. Eles no existem de verdade nas
a
a
linguagens. Mais adiante daremos esses comandos e estruturas de
controle na linguagem Matlab.
ALGORITMO
Receita de bolo uma expresso mais apropriada ` arte culinria
e
a
a
a
e ` gastronomia. A receita de bolo uma seqncia de comandos
a
e
ue
escritos para um cozinheiro executar. A seqncia de comandos esue
critos para um computador executar chamada na verdade de ALe
GORITMO. Ou seja, a seqncia de comandos e estruturas de conue
trole que escrevemos anteriormente chamada de algoritmo. Um
e
algoritmo uma soluo que voc encontra para um determinado
e
ca
e
problema fazendo uso exclusivamente dos comandos e estruturas de
controle que a linguagem de programao lhe oferece. Para resolver o
ca
mesmo problema voc pode escrever inmeros algoritmos diferentes.
e
u
Tudo vai depender do seu estado de alma no momento. Se voc
e

6.2. COMANDOS

97

estiver inspirado, cheio de criatividade, voc poder resolver o probe


a
lema como um algoritmo bem pequeno com poucas linhas. Se no
a
for o seu dia, o algoritmo pode car longo e talvez nem funcionar.
Nosso objetivo central aprender a escrever algoritmos; ou seja,
e
aprender a encontrar soluo para os problemas propostos fazendo o
ca
uso exclusivamente dos comandos e estruturas de controle.

6.2
6.2.1

Comandos
Comando de leitura

Ao executar um comando de Leitura o computador faz um pequeno


cursor car piscando na tela, indicando que ele, o computador, est
a
esperando que voc digite um nmero (ou um caracter) no teclado.
e
u
Assim que voc digita o nmero, pressionando em seguida a tecla
e
u
enter, o computador apanha (l) o nmero que voc digitou e o
e
u
e
armazena em uma posio na sua memria.
ca
o
Em Matlab
input
exemplo:
>>A=input(tecle um valor para A)

6.2.2

Comando de impresso
a

Este comando utilizado quando se deseja que o computador exe


iba na tela os valores que tem armazenado em diversas posies na
co
memria. Em portugus seria Imprima(A) e o computador exibe o
o
e
valor da varivel A.
a
Em Matlab
disp
exemplo:

CAP
ITULO 6. INTRODUCAO AO MATLAB

98
>>disp(A)

exibe o valor da varivel A


a

>>disp(exibe este texto)

6.2.3

exibe uma mensagem

Comando de atribuio
ca

O comando de atribuio tambm chamado de COMANDO ARca e


e

ITMETICO porque nele que denimos as expresses aritmticas


e
o
e
necessrias ` resoluo de um problema qualquer. Ao executar um
a
a
ca
comando de atribuio, o computador armazena na varivel cujo
ca
a
nome mencionado ` esquerda do sinal de (=) o valor da expresso
e
a
a
aritmtica especicada ` direita do sinal de (=).
e
a
Em Matlab
=
exemplo:
>>a=5

atribui o valor 5 a varivel a


a

>>b=a+10
>>b=b+1

atribui a varivel b o valor de a mais 10


a
atribui a varivel b o valor de b mais 1
a

>>c=o mundo to lindo


e a
o mundo to lindo
e a

atribui a varivel c a mensagem


a

Observao 6.1. Lembramos que o Matlab faz distino de maisculas


ca
ca
u
e minsculas. Assim a varivel c difere da varivel C. Outro fato;
u
a
a
no necessrio declarar a varivel antes de atribuir qualquer valor
a e
a
a
a ela.
Denio 6.1. Uma estrutura de controle uma espcie de coca
e
e
mando especial, de patente mais elevada, cujo objetivo controlar a
e
maneira como os comandos so executados.
a

6.2. COMANDOS

6.2.4

99

Estrutura de deciso
a

Esta estrutura fora o computador a tomar uma deciso quanto a


c
a
executar ou no uma determinada seqncia de comandos. Existem
a
ue
na verdade duas estruturas distintas: a estrutura SE de um unico

ramo, ou, de uma unica alternativa; e a estrutura SE de dois ramos,

ou, de duas alternativas.


A estrutura SE de um unico ramo (ou de uma unica alternativa).

SE <COMPARACAO>

Comandos e outras estruturas


FIM SE
Podemos entender a estrutura SE da seguinte forma: Se <COMPARACAO>

for verdadeira ento Comandos e outras estruturas executado.


a
e

Caso contrrio, ou seja, <COMPARACAO> falso, o computador


a

e
d um salto para logo aps o FIM SE.
a
o
A estrutura SE de dois ramos (ou de duas alternativas).
SE <COMPARACAO>

Comandos 1

SENAO
Comandos 2
FIM SE
Nessa estrutura, se a <COMPARACAO> for verdadeira ento

a
Comandos 1 executado e Comandos 2 no executado. Caso
e
a e
<COMPARACAO> for falso ento Comandos 2 executado e Co
a
e
mandos 1 no executado. Sempre um dos dois executado.
a e
e
Em Matlab

CAP
ITULO 6. INTRODUCAO AO MATLAB

100

SE de um ramo

SE de dois ramos

if < >

if < >

Comandos
end

Comandos 1
else
Comandos 2
end

exemplo:
A=input(digite um valor para A)
B=input(digite um valor para B)
if A < B
disp(A varivel A menor que a varivel B)
a
e
a
else
disp(A varivel A maior ou igual que a varivel B)
a
e
a
end

6.2.5

Estruturas de repetio
ca

Estrutura PARA
Esta estrutura serve para se repetir uma determinada quantidade
de vezes a execuo de um ou mais comandos. O formato geral da
ca
estrutura de repetio PARA dado por:
ca
e

PARA i ;Passo k; DE j ATE M


Comandos e outras estruturas.

6.2. COMANDOS

101

FIM PARA
A varivel i comea valendo j, e adicionando k ela cresce/decresce
a
c
at M. Cada acrscimo da varivel i Comandos e outras estruturas
e
e
a
executado. Caso k=1 ao nal teremos (M-j+1) repetio de Coe
ca
mandos e outras estruturas. Por exemplo:
`
PARA i;Passo 1; DE 1 ATE 10
Comandos e outras estruturas.
FIM PARA

Comandos e outras estruturas. E executado (10-1+1)=10 vezes.


a
Observao 6.2. A varivel i,j,k e M devem necessariamente ser
ca
inteiras.
Em Matlab
for i=j:k:M
Comandos e outras estruturas
end
exemplo:
for i=3:1:5
disp(mundo)
end
A palavra mundo repetida 3 vezes.
e
Estrutura ENQUANTO

CAP
ITULO 6. INTRODUCAO AO MATLAB

102

O ENQUANTO uma estrutura de repetio que funciona mais


e
ca
ou menos nos mesmos moldes da estrutura PARA. Ou seja, ENQUANTO e PARA so estruturas de repetio que diferem entre
a
ca
si basicamente nos detalhes. Ambas foram projetadas para fazer
o computador repetir uma determinada quantidade de vezes a execuo de um bloco de comandos. O formato geral da estrutura de
ca
repetio ENQUANTO dado por:
ca
e
ENQUANTO <COMPARACAO>

Comandos e outras estruturas


FIMENQUANTO
Enquanto a <COMPARACAO> for verdadeira Comandos e out
ras estruturas executado. O m da repetio acontece quando
e
ca
<COMPARACAO> se torna falsa. Na fase inicial o estudante comete

um erro muito comum, ou seja, criar uma estrutura de repetio sem


ca
m. Por exemplo:
A=5
ENQUANTO A < 10
Imprima(mundo)
FIMENQUANTO
Veja que a condio (A < 10) sempre verdadeira. O computaca
e
dor comea a imprimir a palavra mundo e nunca para. Por isso para
c
a estrutura ENQUANTO terminar deve ocorrer algo dentro do Lao
c

que torne a <COMPARACAO> falsa. No exemplo acima faamos

c
uma pequena mudana.
c
A=5
ENQUANTO A < 10
Imprima(mundo)


6.3. ITENS BASICOS DO MATLAB
A=A+1
FIMENQUANTO
Agora a palavra mundo repetida apenas 5 vezes.
e
Em Matlab
While < >
Comandos e outras estruturas
end
exemplo:
A=5
while A < 10
disp(mundo)
A=A+1
end

6.3
6.3.1
<
<=
>
>=
==
=

Itens Bsicos do Matlab


a
Operadores relacionais
Menor que
Menor ou igual que
Maior que
Maior ou igual que
Igual a
Diferente de

103

CAP
ITULO 6. INTRODUCAO AO MATLAB

104

6.3.2
&
|

Xor

6.3.3

Conectivos lgicos
o
E
Ou
No
a
Ou excludente

Funes Pr-denidas
co
e

cos(x)
sin(x)
tan(x)
csc(x)
cot(x)

exp(x)
log(x)
log10(x)
sqrt(x)
abs(x)
isreal(x)
f ix(x)
f loor(x)
ceil(x)
round(x)
rem(x, y)
mod(x, y)
det(A)
inv(A)
size(A)
isprime(x)
primes(x)
gcd(x, y)
lcm(x, y)
cross(v, w)
sum(v. w)

Retorna ao cosseno de x
Retorna ao seno de x
Retorna a tangente de x
Retorna a co-secante de x
Retorna a co-tangente de x
Potncia, exemplo: 5 2 = 52
e
Retorna a ex
Retorna ao ln(x)
Retorna a log10 (x)

Retorna a x
Valor absoluto de x ou |x|
Verdadeiro para valores reais
Arredondamento na direo do zero
ca
Arredondamento na direo de
ca
Arredondamento na direo de +
ca
Arredondamento para o inteiro mais prximo
o
Resto da diviso de x por y
a
Resto com sinal.
Determinante da matriz A
Inversa da matriz A
Retorna a dimenso da matriz A
a
1 se x primo, 0 se x no primo.
a e
Seqncia de primos menores que x
ue
Mximo divisor comum de x e y
a
M
nimo mltiplo comum de x e y
u
Produto vetorial v w
Produto interno < v, w >


6.3. ITENS BASICOS DO MATLAB

6.3.4

105

Script

Rapidamente voc vai notar que a janela do Octave no suciente


e
a e
para escrever programas mais extensos. Por isso; ser necessrio criar
a
a
um Script (Roteiro). Um Script nada mais do que uma lista de
e
comandos e estruturas que sero executados seqencialmente. Para
a
u
criar um Script basta clicar em arquivo/novo.
Exemplo 6.3.1. Vamos criar um Script para somar o primeiros 100
nmeros.
u
soma=0;
for i=1:1:100
soma=soma+i;
end
disp(soma)
Para executar o Script basta escrever na linha de comando >>
o nome do mesmo.
Lembramos que o ; no nal de cada atribuio faz com que os
ca
valores no sejam exibidos na tela.
a
Exemplo 6.3.2. Faamos um Script para encontrar e imprimir o
c
menor valor de 3 nmeros.
u
a=input(digite o primeiro nmero)
u
b=input(digite o segundo nmero)
u
c=input(digite o terceiro nmero)
u
if a < b
if a < c
disp(a)
disp( o menor valor)
e

CAP
ITULO 6. INTRODUCAO AO MATLAB

106

else
disp(c)
disp( o menor valor)
e
end
else
if b < c
disp(b)
disp( o menor valor)
e
else
disp(c)
disp( o menor valor)
e
end
end
Exemplo 6.3.3. Faamos um Script para ler um nmero inteiro
c
u
positivo N e calcular S onde:
S=

1 3 5 7
I
+ + + + +
1 2 3 4
N

N=input(digite o nmero inteiro positivo N)


u
S=0; I=1;
for j=1:1:N
S=S+(I/j);
I=I+2;
end
disp(o valor de S : )
e
disp(S)


6.3. ITENS BASICOS DO MATLAB

107

Exemplo 6.3.4. Faamos um Script para ler um nmero inteiro


c
u
positivo N > 1 e imprimir os N primeiros termos da seqncia de
ue
Fibonacci.
bo = 0 1 1 2 3 5 8 13 21 34 55 ... X Y (X+Y) ...
N=input(digite o nmero inteiro positivo N > 1)
u
Disp(A seqncia ser produzida abaixo)
ue
a
X=0; Y=1
for i=2:1:N
Z=X+Y
X=Y;
Y=Z;
end
Veja que nesse programa no utilizamos os comando DISP para
a
exibir o nmero Z. Simplesmente retiramos o ponto e v
u
rgula (;).
Exemplo 6.3.5. Faamos um Script para ler um nmero inteiro
c
u
positivo N > 0 e responder, se N primo ou no. O Script deve
e
a
terminar quando o N lido for negativo.
N=input(digite o nmero inteiro positivo N > 0)
u
while (N > 0)
X=2;
Sinal=0;
while (X <= (f ix(sqrt(N ))))
if (rem(N,X))==0
Sinal=1;
end
X=X+1;
end
if Sinal==0

CAP
ITULO 6. INTRODUCAO AO MATLAB

108

disp(Esse nmero primo)


u
e
else
disp(Esse nmero no primo)
u
a e
end
N=input(digite o nmero inteiro positivo N > 0)
u
end

6.4

Vetores e Matrizes

Um vetor pode ser considerado como uma varivel mltipla, ou seja,


a
u
uma varivel que possui outras variveis. Assim o vetor V=[1 0 0 5 6]
a
a
considerado um vetor de 5 posies. Cada elemento do vetor V
e
co
pode ser obtido por referncia a posio. Assim V(1)=1, V(2)=0,
e
ca
V(3)=0, V(4)=5 e V(5)=6.
O mesmo vale para matrizes. Se M=[1 3 0; 3 3 3; 2 1 8]

1 3 0
temos a matriz 3 3 3 . Podemos fazer referncia da seguinte
e
2 1 8
forma: V(i,j) onde i a linha e j a coluna. Assim V(3,2)=1, V(1,3)=0
e
etc...
No Matlab
>> V=[1 1 0]
V=
1
1
0
>> 5*V
ans =
5

>> K=[2 3 5]
K=
2
3
5
>> V+K
ans =
3
4

6.4. VETORES E MATRIZES


>> M=[1
M=
1 3
3 3
2 1

109

3 0;3 3 3;2 1 8]
0
3
8

>> M(1,3)
ans = 0
>> M(2,3)
ans = 3
>> M(2,2)
ans = 3
>> c=7*M(2,2)
c = 21
>> 2*M
ans =
2 6 0
6 6 6
4 2 16
Nota: No poder
a
amos deixar de comentar o comando size que
retorna as dimenses de uma matriz. Se M uma matriz qualquer
o
e
ento o comando [L,C]=size(M) grava na varivel L o nmero de
a
a
u
linhas de M e na varivel C o nmero de colunas. Caso M seja um
a
u
vetor L sempre igual a 1.
e
Exemplo 6.4.1. Vamos escrever um Script para preencher um vetor
com os nmeros pares de 1 a 100.
u
posi=1; num=2;
while posi < 100
v(posi)=num;
posi=posi+1;

CAP
ITULO 6. INTRODUCAO AO MATLAB

110

num=num+2;
end
disp(V)
Exemplo 6.4.2. Escreva um Script para preencher uma matriz 44
da seguinte forma:

0
1

2
3

0
1
2
3

0
1
2
3

0
1

2
3

for i=1:1:4
for j=1:1:4
M(i,j)=i-1;
end
end
disp(M)
Exemplo 6.4.3. 3) Escreva um Script para colocar em ordem crescente o vetor abaixo:
V=[0 1

for i=1:1:9
for j=1:1:9
if v(j)v(j+1)
aux=v(j);
v(j)=v(j+1);
v(j+1)=aux;
endif
endfor
endfor
disp(v)

1]

6.5. FUNCOES EM MATLAB

111

Nota: Em outras linguagens ter


amos que criar um pequeno programa para multiplicar duas matrizes A e B. No Matlab essa rotina
j est pronta, desde que seja poss a multiplicao. Basta efetuar
a
a
vel
ca
A*B.

6.5

Funoes em Matlab
c

Voc certamente j utilizou algumas funes pr-denidas, por exe


a
co
e
emplo a funo sqrt(x) que retorna a raiz quadrada de x, a funo
ca
ca
cos(x) que retorna ao co-seno de x e muitas outras j descritas. Nesta
a
seo vamos aprender a criar estas funes que so to importantes
ca
co
a a
para os problemas que queremos resolver.
Uma funo em Matlab bem parecida com uma funo matemtica,
ca
e
ca
a
ou seja, dado um valor x a funo associa a um valor y. No comca
putador o valor x chamado de entrada, y de sa e a associao
e
da
ca
de processamento.
Assim a funo F (x) = x2 pode ser constru da seguinte forma:
ca
da
function [F ] = F (x)
F = x2
end
Quando retornamos para a linha de comando (>>) basta aplicar
a funo F (x) em um nmero qualquer que teremos o quadrado desse
ca
u
nmero.Por exemplo:
u
>> F (2)
ans=4
>> F (3)
ans=9
Nota: Cada funo deve ser salva com o mesmo nome do cabealho.
ca
c
Outro fato; cada funo deve ter um arquivo diferente.
ca

CAP
ITULO 6. INTRODUCAO AO MATLAB

112

Exemplo 6.5.1. Vamos escrever uma funo para receber como enca
trada, um nmero inteiro positivo N e tenha como sa
u
da:
i)1 se o nmero for primo.
u
ii) 0 se o nmero no for primo.
u
a
function [eprimo]=eprimo(N )
X=2;
Sinal=1;
while (X <= (f ix(sqrt(N ))))
if (rem(N,X))==0
Sinal=0;
end
X=X+1;
end
eprimo=Sinal
end
Exemplo 6.5.2. Vamos escrever uma funo para receber dois valca
ores x, y inteiros positivos e retornar ao quociente inteiro da diviso
a
de x por y.
function [quociente]=quociente(x,y)
quociente=

X rem(x, y)
y

end
Exemplo 6.5.3. Vamos escrever uma funo para receber um vetor
ca
V qualquer e retornar o vetor em ordem crescente.
function [cresc]=cresc(V)
[L,C]=size(V)
for i=1:1:C-1


6.6. GRAFICOS BIDIMENSIONAIS

113

for j=1:1:C-1
if V(j)>V(j+1)
aux=V(j);
V(j)=V(j+1);
V(j+1)=aux;
end
end
end
cresc=V
end

6.6

Grcos Bidimensionais
a

O processo para criar um grco de uma funo f (x) bem simples


a
ca
e
e parecido com aquele dado ensino fundamental, ou seja, criamos
uma tabela de pontos com valores (x, y) e simplesmente marcamos
estes pontos no plano. Veja passo a passo a construo do grco da
ca
a
2 no intervalo [3 3].
funo f (x) = x
ca
1- Criamos a funo f (x) (como feito acima em F (x) = x2 )
ca
2 - Criamos o vetor X com espaamento de 1/100 no intervalo
c
[3 3].
x = 3 : 0.01 : 3
3 - No sabemos o tamanho do vetor X por isso usaremos o
a
funo pr-denida size() para descobrir o tamanho do vetor X. e
ca
e
assim calcular o vetor Y = f (X).
[L,C]=size(X)
for i=1:C
Y = f (X(i));
end

CAP
ITULO 6. INTRODUCAO AO MATLAB

114

4- Para traar o grco basta usar a funo pr-denida plot().


c
a
ca
e
Essa funo simplesmente marca no plano os pontos (X(i), Y (i)) dos
ca
vetores X e Y .
plot(X, Y ) veja o resultado a gura 6.1.
9

0
3

Figura 6.1: Grco de f (x) = x2


a

Modo rpido: O modo com que criamos o grco acima, pera


a
mite mais controle sobre o mesmo. Mas existe uma outra forma de
construir mais rapidamente o grco de f (x). Veja:
a
>> x = 3 : 0.01 : 3
>> y = x.2
>> plot(x, y)
Observao 6.3. Para saber mais sobre a funo plot() basta digitar
ca
ca
>> help plot1 na linha de comando. Para construir dois grcos
a
ao mesmo tempo basta utilizar o comando hold on depois de cada
grco.
a
1

Isso pode ser feito com qualquer funao pr-denida


c
e


6.7. GRAFICOS TRIDIMENSIONAIS

6.7

115

Grcos Tridimensionais
a

O processo para construir grcos tridimensionais bem parecido


a
e
com o bidimensional. Vamos construir o grco de f (x, y) = x2 + y 2
a
na caixa D = [1 1] [2 3].
>> [X, Y ] = meshgrid(1 : 0.1 : 1, 2 : 0.1 : 3);
>> Z = X. 2 + Y. 2 Z uma matriz, por isso, usamos X. e
e
Y. no clculo.
a
>> surf (Z)
Veja gura 6.2 As curvas de n
vel podem ser

10

0
60
50

25

40

20

30

15
20

10
10

5
0

Figura 6.2: Grco de f (x, y) = x2 + y 2


a

constru
das com a funo contour(z). Para desenhar grco + curva
ca
a
de n use surf c(z)(veja gura 6.3).
vel

10

0
60
50

25

40

20

30

15
20

10
10

5
0

Figura 6.3: Grco+(curva de n


a
vel) de f (x, y) = x2 + y 2

CAP
ITULO 6. INTRODUCAO AO MATLAB

116

6.8

Exerc
cios

6.8.1. Escrever um SCRIPT que imprima em ordem decrescente os

mpares entre 500 e 100.


6.8.2. Escrever um SCRIPT para ler um inteiro positivo N e dizer
se N ou no mltiplo de 7. Terminar o SCRIPT quando N for
e
a
u
negativo.
ue
6.8.3. Escreva um SCRIPT para imprimir a seqncia:
1 2 3 4 -5 -6 -7 -8 9 10 11 12 -13 -14 -15 -16 17 18 19 20 ...
<1500
6.8.4. Escreva um SCRIPT para imprimir a seqncia:
ue
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 ... <1500
6.8.5. Escreva um SCRIPT para imprimir a seqncia de primos
ue
menores que 1000.
6.8.6. Escreva um SCRIPT para ler um inteiro positivo N e imprimir o valor de S onde:
0 1 1 2 3
5
8
F
S= + + + + +
+
+ ... +
1 2 3 5 7 11 13
P
N termos

F a seqncia de Fibonacci
e
ue
P a seqncia de Primos
e
ue
6.8.7. Escrever uma funo em Octave para calcular a norma de um
ca
vetor de tamanho qualquer, onde
V =

x2 + x2 + . . . + x2
n
1
2

6.8.8. Escrever uma funo em Octave para calcular a norma de


ca
uma Matriz Aij onde,
|aij |

Aij =
ij

6.8. EXERC
ICIOS

117

6.8.9. Crie uma funo para dizer se um Npertence ou no a


ca
a
seqncia abaixo:
ue
1 2 4 7 11 16 17 19 22 26 31 32 34 37 41 46 ... 10000
6.8.10. Escreva uma funo para calcular o mdulo de uma matriz
ca
o
nxn, onde
|A| = M ax{|aij |}
6.8.11. Criar o grco da funo f (x) = 2x2 + sen(x) no intervalo
a
ca
[2 5].
6.8.12. Construa o grco da funo f (x, y) = sen(xy) na caixa
a
ca
D = [2 2, 2 2]

118

CAP
ITULO 6. INTRODUCAO AO MATLAB

Cap
tulo 7

Implementao dos
ca
Mtodos
e
Neste cap
tulo vamos implementar os mtodos numricos que foram
e
e
estudados anteriormente. Lembramos que o pr-requisito ser apee
a
nas o conhecimento bsico de algoritmos. Caso o leitor no tenha
a
a
familiaridade com o Matlab, recomendamos a leitura do Cap
tulo de
Introduo ao Matlab. Nossa ordem ser:
ca
a

i) Algoritmo em portugus.
e
ii) Algoritmo em Matlab (em forma de funo).
ca
iii) Quando poss
vel, funo pr-denida do Matlab.
ca
e

7.1

Sistemas Lineares

Algoritmo 7.1.1. Mtodo da substituiao retroativa, ou retro-substituio.


e
c
ca
Sistema triangular superior.
119


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

120

Entrada :

aij , i j, bi , j n

1
2
3
4
5
6
7
8

xn = bn /a(k, k)
para k = n 1 : 1
soma = bk
para j = k + 1 : n
soma = soma akj xj
f im para
xk = soma
akk
f im para

:
:
:
:
:
:
:
:

Sa :
da

(aij elementos da M. dos Coecientes.

NO MATLAB
function [retro]=retro(A)
[L,C]=size(A);
n=L;
m=C;
x(n)=A(n,m)/A(n,n);
for k=n-1:-1:1
soma=A(k,m);
for j=k+1:n
soma=soma-A(k,j)*x(j);
end
x(k)=soma/A(k,k);
end
retro=x
Nota: Veja que no Matlab, usamos a matriz ampliada do sistema(matriz dos coecientes + vetor de termos independentes), assim trocamos os elementos bi por A(i, m).
Exemplo:

0
2x1 + x2 x3 =
x2 x1 = 2
Vamos aplicar a funo retro() no sistema
ca

1/2x3 =
2

7.1. SISTEMAS LINEARES


>> A = [2 1 1 0; 0 1 1 2; 0 0 1/2 1]
>> retro(A)
ans =
1 0 2
Algoritmo 7.1.2. Mtodo da eliminao Gaussiana.
e
ca
Entrada : A = [aij ] Matriz n m
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :

para k = 1 : n
se akk = 0
para s = k + 1 : n
se ask = 0
troque a linha s com linha k
f im se
f im para
f im se
para i = k + 1 : n
mik = aik /akk
para j = k : m
aij = ai j mik akj
f im para
f im para
f im para

Sa :
da

matriz triangularA = [aij ]

NO MATLAB
function [egauss]=egauss(A)
[L,C]=size(A);
n=L;
m=C;
for k=1:n
if A(k,k)==0
for s=k+1:n
if A(s,k) =0
auxiliar=A(k,:);

121


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

122

A(k,:)=A(s,:);
A(s,:)=auxiliar;
end
end
end
for i=k+1:n
m(i,k)=A(i,k)/A(k,k);
for j=k:m
A(i,j)=A(i,j)-m(i,k)*A(k,j);
end
end
end
egauss=A

Nota: A funo egauss() pode ser composta com a funo retro()


ca
ca
para resolver uma sistema nn qualquer, ou seja, retro(egauss(A)),
onde A a matriz ampliada do sistema.
e

Exemplo:

=
0
2x1 + x2 x3
x1 + x2 x1
= 1
Considere o sistema

4x1 x2 1/2x3 =
3

>> A = [2 1 1 0; 1 1 1 1; 4 1 1/2 3]
>> retro(egauss(A))
ans =
1

Algoritmo 7.1.3. Mtodo da eliminao Gaussiana com pivoteae


ca

7.1. SISTEMAS LINEARES


mento.

123

Entrada :

A = [aij ]

Matriz n m

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :

para k = 1 : n
w = |akk |
para s = k + 1 : n
se |ask | > w
w = |ask |, r = s
f im se
f im para
troque a linha s com linha k
para i = k + 1 : n
mik = aik /akk
para j = k : m
aij = ai j mik akj
f im para
f im para
f im para

Sa :
da

matriz triangularA = [aij ]

NO MATLAB
function [egausspiv]=egausspiv(A)
[L,C]=size(A);
n=L;
m=C;
for k=1:n
w=abs(A(k,k));
for s=k+1:n
if abs(A(s,k))w
w=abs(A(s,k));
r=s;
end
end
for i=k+1:n
m(i,k)=A(i,k)/A(k,k);

124

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

for j=k:m
A(i,j)=A(i,j)-m(i,k)*A(k,j);
end
end
end
egausspiv=A;

Algoritmo 7.1.4. Decomposio LU.


ca
Entrada :

Ann

1 :
2 :

para i = 1 : n
para j = i : n
i1

3 :
4 :

mik ukj

uij = aij
k=1

para j = i + 1 : n
i1

5 :

mji =

mjk ukj

aji

6 :
7 :
8 :

f im para
f im para
f im para

Sa :
da

matrizes L e U

NO MATLAB
function [fatlu]=fatlu(A)
[L,C]=size(A); n=L;
for i=1:n
for j=i:n
u(i,j)=A(i,j);
for k=1:i-1
u(i,j)=u(i,j)-m(i,k)*u(k,j);
end
end
for j=i+1:n

k=1

/uii

7.1. SISTEMAS LINEARES

125

m(j,i)=A(j,i);
for k=1:i-1
m(j,i)=m(j,i)-m(j,k)*u(k,i);
end
u(i,j)=u(i,j)/u(i,i);
end
end
L=m U=u

Nota: No zemos nesse algoritmo, mas necessrio completar


a
e
a
a diagonal principal da matriz L com 1.

1 1 2
Exemplo: Considere a matriz A = 1 2 3 .
0 1 5

>> A = [1 1 2; 1 2 3; 0 1 5]
>> f atlu(A)
L=
0

U=
1

e
Algoritmo 7.1.5. Mtodo Iterativo de Jacobi.

126

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

Entrada :

Ann , bn , x0 ,

1 :
2 :
3 :

k=1
enquanto xk xk1 >
para i = 1 : n

4 :

xk+1 =
i

1
bi
aii

aii xk
j
j=1,j=i

5 :
6 :

f im para
f im enquanto

Sa :
da

soluo aproximada xk
ca

NO MATLAB
function [jacobi]=jacobi(A,x,delta)
[L,C]=size(A);
n=L;
m=C;
k=2;
x(:,2)=1;
cont=1;
while norm(x(:,k)-x(:,k-1))>delta
k=k+1;
if cont==1
k=k-1;
cont=0;
end
for i=1:n
x(i,k)=A(i,m);
for j=1:n
if j =i
x(i,k)=x(i,k)-A(i,j)*x(j,k-1);
end
end
x(i,k)=x(i,k)/A(i,i)
end

7.1. SISTEMAS LINEARES

127

end
jacobi=x;
Nota: A sa da funo jacobi() ser dada pelo vetor x na
da
ca
a
seguinte formatao:
ca
soluo x1
ca

x2

...

xk

x1
1

x2
1

...

xk
1

x1
2

x2
2

...

xk
2

.
.
.

.
.
.

.
.
.

.
.
.

x1
n

x2
n

...

xk
n

e
Algoritmo 7.1.6. Mtodo Iterativo de Gauss-Seidel
Entrada :

Ann , bn , x0 ,

1 :
2 :
3 :

k=1
enquanto xk xk1 >
para i = 1 :
n

4 :

1
=
bi
aii

xk+1
i

i1

aij xk
j

aij xk+1
j
j=1

5 :
6 :

f im para
f im enquanto

Sa :
da

soluo aproximada xk
ca

NO MATLAB
function [gausseidel]=gausseidel(A,x,delta)

j=i+1


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

128

[L,C]=size(A);
n=L;
m=C;
k=2;
x(:,2)=1;
cont=1;
while norm(x(:,k)-x(:,k-1))>delta
k=k+1;
if cont==1
k=k-1;
cont=0;
end
for i=1:n
x(i,k)=A(i,m);
for j=1:i-1
x(i,k)=x(i,k)-A(i,j)*x(j,k);
end
for j=i+1:n
x(i,k)=x(i,k)-A(i,j)*x(j,k-1);
end
x(i,k)=x(i,k)/A(i,i);
end
end
gausseidel=x;

Nota: A sa da funo gausseidel() ser dada pelo vetor x na


da
ca
a

7.1. SISTEMAS LINEARES

129

seguinte formatao:
ca
soluo x1
ca

x2

...

xk

x1
1

x2
1

...

xk
1

x1
2

x2
2

...

xk
2

.
.
.

.
.
.

.
.
.

.
.
.

x1
n

x2
n

...

xk
n

Exemplo:
3x1 + x2 = 4
pelo mtodo
e
2x1 + 6x2 = 8
de Jacobi e em seguida pelo mtodo de Gauss-Seidel com = 0.0001
e
Vamos achar a soluao do sistema
c

NO MATLAB
>> A = [3 1 4; 2 6 8]
3 1 4
A=
2 6 8
>>jacobi(A,[0 0],0.0001)
Columns 1 through 7
0
0

1.3333
1.3333

0.8889
0.8889

1.0370
1.0370

Columns 8 through 11
1.0005 0.9998 1.0001
1.0005 0.9998 1.0001
>>gausseidel(A,[0 0],0.0001)

0.9877
0.9877

1.0000
1.0000

1.0041
1.0041

0.9986
0.9986


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

130
ans
0
0

1.3333
0.8889

1.0370
0.9877

1.0041
0.9986

1.0005
0.9998

1.0001
1.0000

1.0000
1.0000

Observe que o mtodo de Jacobi retornou a soluo exata (1, 1)


e
ca
com = 0.0001 em 11 iteraes, incluindo a soluo inicial, enco
ca
quanto o mtodo de Gauss-Seidel retornou a soluo exata em 7
e
ca
iteraes. Essa diferena tende a aumentar com o tamanho do sisco
c
tema.

7.2

Zeros de Funo
ca

Algoritmo 7.2.1. Mtodo de Localizao de Zeros.


e
ca
Entrada :

f (x), a, b, n

1 :

2
3
4
5
6
7
8

:
:
:
:
:
:
:

Sa :
da

n o nmero de subintervalos
e
u

|b a|
n
p0 = a
para i = 1 : n
pi = pi1 +
se f (pi )f (pi1 ) 0
armazenar o intervalo [pi1 pi ] em um vetor V
f im se
f impara
V etor V

NO MATLAB
function[MLZ]=MLZ(a,b,n)
gama=abs(b-a)/n;
p(1)=a; %trocamos p(0) por p(1)
j=1;
for i=2:n+1
p(i)=p(i-1)+gama;
if(f(p(i))*f(p(i-1)))<=0

7.2. ZEROS DE FUNCAO

131

V(j)=p(i-1);
V(j+1)=p(i);
j=j+2;
end
end
MLZ=V;
Nota: O retorno da funo M LZ() dado pelos intervalos [v1 v2 ], [v3 v4 ], . . . , [vk1 vk ]
ca
e
onde esto os poss
a
veis zeros de f (x). O vetor V dado na seguinte
e
formatao:
ca
M LZ = V = v1 v2 v3 v4 . . . vk1 vk

Exemplo:
Seja f (x) = x3 2x2 + 1 cujos zeros so 0.6180, 1, 1.6180.
a
Vamos aplicar a funao M LZ() no intervalo [1 2] com n = 10
c
depois com n = 500.
>> M LZ(1, 2, 10)
ans =
-0.7000

-0.4000

0.8000

1.1000

1.4000

1.7000

0.9980

1.0040

1.6160

1.6220

>> M LZ(1, 2, 500)


ans =
-0.6220

-0.6160

Veja que os zeros de f (x) esto nos intervalos [vi vi+1 ].


a
Algoritmo 7.2.2. Mtodo do Meio Intervalo - MMI.
e


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

132

Entrada :

f (x), a, b,

1 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :

enquanto |b a| >
a+b
x=
2
se f (x) = 0
x zero, encerrar
e
seno
a
se f (a)f (x) < 0
b=x
seno
a
a=x
f im se
f im se
f im enquanto

Sa : x
da

aproximaao para o zero de f em [a b]


c

2 :

NO MATLAB
function[MMI]=MMI(a,b,delta)
while abs(b-a)>delta
x=(a+b)/2;
if f(x)==0
MMI=x;
return %termina a funo
ca
else
if (f(a)*f(x))0
b=x;
else
a=x;
end
end
end
MMI=x;

7.2. ZEROS DE FUNCAO

133

De acordo com o exemplo do Algoritmo 7.2.1, temos que f (x)


possui zeros em [0.7 0.4], [0.8 1.1], [1.4 1.7]. Aplicando a
funo M M I() em cada intervalo com delta = 0.01 temos:
ca
>> M M I(0.7, 0.4, 0.01)
ans =
-0.6156
>> M M I(0.8, 1.1, 0.01)
ans =
0.9969
>> M M I(1.4, 1.7, 0.01)
ans =
1.6156
Tente fazer com delta = 0.0001, veja que os resultados so mela
hores.
Algoritmo 7.2.3. Mtodo da Secante.
e
Entrada :

f (x), a, b,

1
2
3
4
5

11 :

se f (a)f (a) > 0


c = a, x0 = b
seno
a
c = b, x0 = a
f im se
f (x0 )
x1 = x0
(x0 c)
f (x0 ) f (c)
n=1
enquanto|xn xn1 | >
n=n+1
f (xn1 )
xn = xn1
(xn1 c)
f (xn1 ) f (c)
f im enquanto

Sa :
da

xn

:
:
:
:
:

6 :
7 :
8 :
9 :
10 :

134

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

NO MATLAB
function[secante]=secante(a,b,delta)
if (f(a)*ddf(a))>0 %ddf() a derivada segunda de f(x)
e
c=a;
x(1)=b;
else
c=b;
x(1)=a;
end
x(2)=x(1)-(f(x(1))*(x(1)-c))/(f(x(1))-f(c));
n=2;
while abs(x(n)-x(n-1))>delta
n=n+1;
x(n)=x(n-1)-(f(x(n-1))*(x(n-1)-c))/(f(x(n-1))-f(c));
end
secante=x(n);

De acordo com o exemplo do Algoritmo 7.2.1, temos que f (x)


possui zeros em [0.7 0.4], [0.8 1.1], [1.4 1.7]. Aplicando a
funo secante() em cada intervalo com delta = 0.01 temos:
ca
>> secante(0.7, 0.4, 0.01)
ans =
-0.6163
>> secante(0.8, 1.1, 0.01)
ans =
1.0003
>> secante(1.4, 1.7, 0.01)
ans =
1.6169
Tente fazer com delta = 0.0001, veja que os resultados so mela
hores. Compare com o M M I().
Nota: A funao ddf () deve ser criada como a funo f ().
c
ca

7.2. ZEROS DE FUNCAO

Algoritmo 7.2.4. Mtodo de Newton.


e
Entrada :

f (x), f (x), a, b,

1
2
3
4
5

7 :
8 :
9 :
10 :
11 :

se f (a)f (a) > 0


x0 = a
seno
a
x0 = b
f im se
f (x0 )
x1 = x0
f (x0 )
n=1
enquanto|xn xn1 | >
n=n+1
f
xn = xn1 f (xn1 ))
(xn1
f im enquanto

Sa :
da

xn

:
:
:
:
:

6 :

NO MATLAB
function[newton]=newton(a,b,delta)
if (f(a)*ddf(a))>0 %ddf() a derivada segunda de f(x)
e
c=a;
x(1)=b;
else
c=b;
x(1)=a;
end
x(2)=x(1)-f(x(1))/ddf(x(1));
n=2;
while abs(x(n)-x(n-1))>delta
n=n+1;
x(n)=x(n-1)-f(x(n-1))/ddf(x(n-1));
end
newton=x(n);
Nota: A funo ddf () deve ser criada como a funo f ().
ca
ca

135


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

136

Algoritmo 7.2.5. Mtodo da Iteraao Linear.


e
c
Entrada :

(x), x0 ,

1
2
3
4
5
6

x1 = (x0 )
n=1
enquanto |xn xn1 | >
n=n+1
xn = (xn1 )
f im enquanto

:
:
:
:
:
:

Sa :
da

xn

No Matlab podemos encontrar os zeros, utilizando a funo prca


e
denida f zero( f uncao , [a b]). Por exemplo:
Desejamos encontrar o zero de f (x) = sen(x) no intervalo [1 4]
>> x = f zero( sin(x) , [1 4]
x = 3.1416
No caso polinomial, como exemplo, considere f (x) = x2 3x + 2.

>> p = [1 3 2] vetor que dene o polinmio.


o
r = roots(p) calcula as ra
zes(zeros) do polinmio.
o
2
r=
1

7.3

Interpolao
ca

Algoritmo 7.3.1. Avaliao do polinmio interpolador de Lagrange.


ca
o

7.3. INTERPOLACAO

137

Entrada :

x, X = [x0 , x1 , , xn ], f (X) = [f (x0 ), f (x1 ), , f (xn )]

1
2
3
4
5

7 :
8 :
9 :
10 :

soma = 0
para i = 0 : n
P =1
para j = 0 : n
se j = i
(x xj )
P =P
(xi xj )
f im se
f im para
soma = soma + f (xi )P
f im para

Sa :
da

soma

:
:
:
:
:

6 :

No Matlab podemos utilizar a funo interp1. Veja exemplo:


ca
>> X = [1 2 3]
>> f X = [1 4 9]

%vetor de pontos X.
%vetor imagem f (X)

>> interp1(X, f X, 2.5)


avalia em 2.5
ans = 6.5

%calcula o polinmio interpolador e


o

>> p = polyf it(X, f X, 2)


interpolador de grau 2.
p=
1.0000

0.0000

%exibe os coecientes do polinmio


o

0.0000

Logo nosso polinmio interpolador ser p(x) = 1x2 + 0x + 0 = x2 .


o
a


CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

138

7.4

Integrao
ca

Algoritmo 7.4.1. Integrao por trapzios.


ca
e
Entrada :

x0 , h

1
2
3
4
5

soma = 0
para i = 1 : n 1
xi = xi1 + h
soma = soma + f (xi )
f im para
h
IT r = [f (x0 ) + 2soma + f (xn )]
2

:
:
:
:
:

6 :
Sa :
da

IT r

No Matlab integramos com o comando trapz() que calcula a integral por trapzios. Por exemplo:
e
2

Desejamos calcular

(x2 + 1) dx.

>> x = 0 : 0.01 : 2
h = 0.01

faz uma partio do intervalo [0 2] com


ca

>> y = x. 2 + 1 avalia a funo no vetor x.


ca

IT R = trapz(x, y) calcula o valor da integral.

IT R = 4.6667
Algoritmo 7.4.2. Integrao pela 1a Regra de Simpson.
ca

7.5. OTIMIZACAO

139

Entrada :

x0 , h

1
2
3
4
5
6
7
8
9

soma = 0
para i = 1 : n 1
xi = xi1 + h
se (i par)
soma = soma + 2f (xi )
seno
a
soma = soma + 4f (xi )
f im se
f im para
h
IS = [f (x0 ) + soma + f (xn )]
3

:
:
:
:
:
:
:
:
:

10 :
Sa :
da

IS

No Matlab utilizamos o comando quad( f , a, b), onde f deve ser


a funo a ser integrada no intervalo [a b]. Lembramos que nesse
ca
caso a funo f deve ser escrita com arquivo .m. Por exemplo:
ca
2

Desejamos calcular a

(x2 + 1) dx.

Arquivo f.m
function [f ] = f (x)
f = x. 2 + 1
>> quad( f , 0, 2)
ans = 4.6667

7.5

Otimizao
ca

Algoritmo 7.5.1. M
nimo de uma funo(de uma varivel) pelo
ca
a
mtodo da seo urea.
e
ca a

140

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

Entrada :

f (x), a, b,

1
2
3
4
5
6
7
8
8
8
9

enquanto |b a| >
xa = b 0.618(b a)
xb = a + 0.618(b a)
se f (xa ) < f (xb )
b = xb
xb = a + 0.618(b a)
seno
a
a = xa
xa = b 0.618(b a)
f im se
f im enquanto
xa + xb
I=
2

:
:
:
:
:
:
:
:
:
:
:

10 :
Sa :
da

NO MATLAB
function[aurea]=aurea(a,b,delta)
while abs(b-a)>delta
xa=b-0.618*(b-a);
xb=a+0.618*(b-a);
if f(xa)<f(xb)
b=xb;
xb=a+0.618*(b-a);
else
a=xa;
xa=b-0.618*(b-a);
end
end
I=(xa+xb)/2;
aureo=I;
Considerando f (x) = sen(x), vamos encontrar o zero de f (x)
em [0 2] com = 0.01, aplicando a funo que acabamos de criar
ca

7.5. OTIMIZACAO

141

aurea(). Em seguida vamos comparar o resultado com a funo


ca
pr-denida do Matlab f min().
e
>> aurea(0, 2 pi, 0.01)
ans =
4.7128
>> f min( sin(x) , 0, 2 pi)
ans =
4.7124
Experimente = 0.0001.
Algoritmo 7.5.2. M
nimo de uma funo (duas variveis) pelo
ca
a
mtodo do gradiente.
e
Entrada :

f (x), x0 ,

1
2
3
4
5
6
7
8

k=0
enquanto xk xk1 >
gk = f (xk )
dk = gk
k = m
nimo por seo urea de gk (t) = f (xk + tdk )
ca a
xk+1 = xk + k dk
k =k+1
f im enquanto

:
:
:
:
:
:
:
:

Sa :
da

xk

NO MATLAB
function[Mgrad]=Mgrad(x,delta)
k=2;
x=x; %transforma x em um vetor coluna
x(:,k)=1;
cont=1;
while norm(x(:,k)-x(:,k-1))>delta
if cont =1
k=k+1;

142

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

end
gk=gradiente(x(:,k-1),0.0001);
dk=-gk;
ak=aurea(0,1,x(:,k-1),dk,0.0001);
x(:,k)=x(:,k-1)+ak*dk;
cont=cont+1;
end
Mgrad=x(:,k)

A funo M grad() faz uso das funes gradiente() e aurea().


ca
co
Vamos conhecer essas funes;
co
gradiente(): Essa funo calcula o gradiente da funo f no
ca
ca
ponto x. O serve como grau de preciso. Lembrando que, a funo
a
ca
f (x)
deve
ser
diferencivel.
a
Entrada: x,
Sa
da:
f (x)
function[gradiente]=gradiente(x,delta)
[L,C]=size(x);
for i=1:C
k=x;
k(i)=x(i)+delta;
s(i)=((f(k)-f(x))/delta);
end
gradiente=s;
aurea(): Fizemos uma pequena modicaao(veja abaixo) no Alc
goritmo ?? para adaptar ao mtodo gradiente. Essa modicao ine
ca
clui na entrada do mesmo o ponto xk e a direo dk. Lembrando
ca
que, estamos interessados em encontrar o m
nimo da funao gk(t) =
c
f (xk + tdk), e nesse caso, t varia em [a b]. Dessa forma podemos
denir manualmente a, b de tal forma que xk + tdk no saia da caixa
a
onde queremos o m
nimo da funo.
ca
function [aurea]=aurea(a,b,xk,dk,delta)
while abs(b-a)>delta

7.5. OTIMIZACAO

143

xa=b-0.618*(b-a);
xb=a+0.618*(b-a);
if f(xk+xa*dk)<f(xk+xb*dk)
b=xb;
xb=a+0.618*(b-a);
else
a=xa;
xa=b-0.618*(b-a);
end
end
I=(xa+xb)/2;
aureo=I;
Algoritmo 7.5.3. M
nimo de uma funo (duas variveis) por direo
ca
a
ca
aleatria.
o
Entrada :

f (x), x0 ,

1
2
4
5
6
7
8

k=0
enquanto xk xk1 >
dk = rand(n, 1)
k = m
nimo por seo urea de gk (t) = f (xk + tdk )
ca a
xk+1 = xk + k dk
k =k+1
f im enquanto

:
:
:
:
:
:
:

Sa :
da

xk

O algoritmo em Matlab para direes aleatrias anlogo ao


co
o
e
a
mtodo do gradiente. Apenas modicamos a direo dk com a funo
e
ca
ca
pr-denida do Matlab rand(2, 1) e aumentamos o intervalo da seo
e
ca
a
urea. Veja:
NO MATLAB
function [aleatorio]=aleatorio(x,delta)
k=2;
x=x;

144

CAP
ITULO 7. IMPLEMENTACAO DOS METODOS

x(:,k)=1;
cont=1;
while norm(x(:,k)-x(:,k-1))>delta
if cont =1
k=k+1;
end
dk=rand(2,1);
ak=aurea(-1,1,x(:,k-1),dk,0.0001);
x(:,k)=x(:,k-1)+ak*dk;
cont=cont+1;
end
aleatorio=x(:,k)

Exemplo de aplicao: Considere a funo f (x1 , x2 ) = (x1 +


ca
ca
Vamos aplicar as funes M grad() e aleatorio() com
co
o ponto inicial (4, 5) e = 0.001. O valor k representa a nmero de
u
iteraes em cada funo:
co
ca
1)2 + (x2 + 2)2 .

>> M grad([4 5], 0.001)


k= 3
Mgrad =
-1.0000 -2.0000
>> aleatorio([4 5], 0.001)
k = 60
aleatorio =
-1.0027 -1.9969
Veja que o mtodo do gradiente resolve com apenas 3 iteraes,
e
co
enquanto o mtodo aleatrio em 60. Assim ca claro que, para
e
o
funes diferenciveis o mtodo do gradiente muito melhor. Mas
co
a
e
e
nunca demais lembrar que, o mesmo s pode ser aplicado em
e
o
funes diferenciveis e com ponto inicial na bacia de atrao do
co
a
ca
m
nimo.
Tambm podemos utilizar as funes pr-denidas do Matlab.
e
co
e
Assim para encontrar m
nimo de uma funo de Rn em R, utilizamos
ca
a funo f mins( f , x0). Onde f deve ser uma funo que recebe um
ca
ca
vetor em Rn e x0 deve ser o valor inicial. Veja:

7.6. EXERC
ICIOS

145

Desejamos encontrar o m
nimo da funo f : R2 R dada
ca
2 + (x + 2)2 . Tomamos como ponto inicial
por f (x1 , x2 ) = (x1 + 1)
2
x0 = (4, 5).
>> x = f mins( (x(1) + 1) 2 + (x(2) + 2) 2 , [4 5]
x = 1.0000 2.00000

7.6

Exerc
cios

7.6.1. Teste os algoritmos nos exerc


cios e exemplos, dos cap
tulos
anteriores.
7.6.2. Implemente em Matlab o mtodo da Iterao Linear.
e
ca
7.6.3. Utilizando o mtodo de localizaao de zeros - MLZ associado
e
c
com o mtodo da Iterao Linear encontre os 3 zeros reais de f (x) =
e
ca
x5 4x3 + x 1 no intervalo [3 3]. Faa o mesmo para o mtodo
c
e
do meio intervalo MMI, Secante e Newton.
7.6.4. Implemente em Matlab o mtodo de interpolao de lagrange,
e
ca
cujo algoritmo foi dado. Faa uma funo que retorne aos coec
ca
cientes do polinmio interpolador, compare sua funo com a funo
o
ca
ca
pr-denida do Matlab. Dica: use sistemas lineares.
e
ca
7.6.5. Implemente em Matlab os algoritmos de Integrao. Compare
os resultados com as funes pr-denidas do Matlab.
co
e
7.6.6. Na funo M grad() utilizamos a funo aurea() com o interca
ca
valo xo em [0 1]. Explique por que na funo aleatorio() utilizamos
ca
a funo aurea() com o intervalo [1 1].
ca


Indice Remissivo

Aurea, mtodo, 86
e

Decomposio LU, 8
ca
Direo aleatria, 92
ca
o
Direto Mtodo, 4
e
Doolitle mtodo, 11
e

Algoritmo, denio, 96
ca
Ampliada, matriz, 2
Atratoras, bacias, 90

Elementares, operaes, 4
co
Eliminao Gaussiana, 8
ca
Erro, 17
Erro de truncamento, 59

Bacias de atrao, 90
ca
Bolzano, teorema de, 30
Briot-Runi, mtodo de, 62
e
Cauchy, 38
Cauchy, seqncia de, 27
ue
Comentrios nais Zeros de funo,
a
ca
41
Complexos, sistemas lineares,
20
Condicional, nmero, 17
u
Cont
nua, funo, 25
ca
Convergncia no mtodo da see
e
cante, 33
Convergncia no mtodo de Newe
e
ton, 35
Convergncia, mtodo de Jae
e
cobi e Gauss-Seidel, 19
Critrio de linhas, 19
e
Critrio de parada, 14
e
DDF, 57
DDF, frmula geral interpolao,
o
ca
58
146

Funo cont
ca
nua, 25
Funo de Iterao, 39
ca
ca
Funo de iterao, 11
ca
ca
Funo, zeros de uma, 25
ca
Funes pr-denidas, 104
co
e
Gauss mtodo, 4
e
Gauss, mtodo iterativo de, 15
e
Gaussiana, eliminao, 8
ca
Geomtrica, soluo, 2
e
ca
Global, mximo, 83
a
Global, m
nimo, 83
Gradiente de uma funo, 88
ca
Grout mtodo, 11
e
Innitas solues, 3
co
Inexo, ponto, 85
a
Interpolao, 53
ca
Interpolao de Lagrange, 54
ca
Interpolao por DDF, 57
ca


INDICE REMISSIVO
Inverso de matriz, 10
a
Inverso, matriz, 10
a
Iterao linear, mtodo da, 36
ca
e
Iterao, funo de, 11
ca
ca
Iterativo, mtodo do renamento,
e
17
Iterativos mtodos, 11
e
Jacobi, mtodo, 11
e
Linear, Sistema, 1
Local, mximo, 83
a
Local, m
nimo, 83
Localizao de zeros, 41
ca
Localizao de zeros, mtodo
ca
e
de, 27
LU decomposio, 8
ca
Mximo local, 83
a
Mtodo Briot-Runi, 62
e
Mtodo da iterao linear, 36,
e
ca
42
Mtodo da Seo Aurea, 86
e
ca
Mtodo da secante, 31, 41
e
Mtodo de Doolitle, 11
e
Mtodo de Gauss, 4
e
Mtodo de Grout, 11
e
Mtodo de Localizao de Zee
ca
ros, 27
Mtodo de Newton, 33, 41
e
Mtodo do meio intervalo, 29,
e
41
Mtodo do Renamento Iterae
tivo, 17
Mtodo iterativo de Jacobi, 11
e
Mtodo iterativo Gauss-Seidel,
e
15
Mtodos Diretos, 4
e

147
Mtodos Iterativos, 11
e
M
nimo global, 83
M
nimo local, 83
Matriz ampliada, 2, 4, 5
Matriz dos coecientes, 2
Matriz quadrada, 2
Matriz triangular inferior, 8
Matriz triangular superior, 8
Meio intervalo, mtodo do, 29
e
Multiplicidade de um zero, 50
Nmero condicional, 17, 18
u
Newton, convergncia no mtodo
e
e
de, 35
Newton, mtodo, 33
e
Operaes elementares, 4
co
Otimizao, 83
ca
Parada, Critrio de, 14
e
Partio, 28
ca
Pivo, 7
Pivotao parcial, 8
ca
Ponto de inexo, 85
a
Ponto xo, 36
Quadrada, matriz, 2
Renamento iterativo, mtodo
e
do, 17
Res
duo, vetor, 17
Script, 105
Seo urea, 86
ca a
Secante, convergncia no mtodo
e
e
da, 33
Secante, mtodo da, 31
e
Seidel, mtodo iterativo de, 15
e
Seqncia de Cauchy, 27
ue

148
Seqncia montona, 30
ue
o
Sistemas Complexos, 20
Sistemas Lineares, 1
Soluo de um sistema n n,
ca
3
Soluo Geomtrica de um sisca
e
tema, 2
Substituio Retroativa, 9
ca
Substituio retroativa, 6
ca
Teorema de Bolzano, 30
Teorema de Rolle, 60
Teorema de Weirstrass, 53
Teorema do ponto de inexo,
a
85
Teorema Interpolao de Laca
grange, 54
triangular matriz, 8
Vetor incgnitas, 2
o
Vetor res
duo, 17
Vetor termos independentes, 2
Zeros de funo, 25
ca
Zeros de um polinmio, 43
o

INDICE REMISSIVO

Referncias Bibliogrcas
e
a
[1] Lenidas C. Barroso. Clculo Numrico com aplicaes. Harbra,
o
a
e
co
1987.

e
[2] Jos Luiz Boldrini. Algebra Linear. Ed. Harbra, 1980.
[3] Djairo Guedes de Figueiredo. Anlise I. Ed. LTC, 1996.
a
[4] Howard. Eves. Introduao ` Histria da Matemtica.
c a
o
a
Pol
gono, 1989.

Ed.

[5] I.N. Hernstein. Tpicos de Algebra. Ed. Pol


o
gono, 1970.
[6] Elon Lajes Lima. Curso de Anlise, vol.1. Ed. SBM, 1993.
a
[7] Elon Lajes Lima. Curso de Anlise, vol.2. Ed. SBM, 1999.
a

[8] Elon Lajes Lima. Algebra Linear. Ed. SBM, 1980.


[9] Walter Rudin. Princ
pios de Anlise Matemtica. Ed. Ao Livro
a
a
Tcnico, 1971.
e
[10] Francis Scheid. Anlise Numrica. McGraw-Hill, 1991.
a
e
[11] Dercio Sperandio. Clculo Numrico: caracteristicas matematia
e
cas e computacionais dos mtodos numricos. Ed. Prentice Hall,
e
e
2003.

149

Você também pode gostar