Beruflich Dokumente
Kultur Dokumente
Instituto de Matemtica
Universidade Federal do Rio Grande do Sul
Waldir L.
Roque
Sumrio
Prefcio
1
ERROS COMPUTACIONAIS
1.1
1.2
1.3
Sistemas de numerao . . . . . . . . . . . . . . . . .
1.1.1 Sistema mtrico versus sistema de numerao
1.1.2 Base de numerao . . . . . . . . . . . . . . .
1.1.3 Sistema decimal . . . . . . . . . . . . . . . . .
1.1.4 Sistema binrio . . . . . . . . . . . . . . . . .
Converso de decimal para binrio . . . . . .
Parte inteira . . . . . . . . . . . . . . . . . . .
Parte fracionria . . . . . . . . . . . . . . . .
Algoritmo de converso binrio-decimal . . . .
Algoritmo de converso decimal-binrio . . . .
1.1.5 Outros sistemas de numerao . . . . . . . . .
Sistema octal . . . . . . . . . . . . . . . . . .
Sistema hexadecimal . . . . . . . . . . . . . .
Sistema de ponto utuante . . . . . . . . . . . . . . .
1.2.1 Representao em ponto utuante . . . . . . .
1.2.2 Representao compacta de um nmero . . . .
1.2.3 Operaes aritmticas com ponto utuante . .
Adio . . . . . . . . . . . . . . . . . . . . . .
Multiplicao . . . . . . . . . . . . . . . . . .
Diviso . . . . . . . . . . . . . . . . . . . . .
1.2.4 Distributividade e associatividade . . . . . . .
1.2.5 Preciso e exatido de mquina . . . . . . . .
Tipos de erros . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Erros de dados . . . . . . . . . . . . . . . . .
1.3.2 Erros do modelo . . . . . . . . . . . . . . . .
1.3.3 Erros por truncamento . . . . . . . . . . . . .
1.3.4 Erros por arredondamento . . . . . . . . . . .
1.3.5 Erros absoluto e relativo . . . . . . . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Waldir L.
Roque
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
13
13
14
14
15
16
16
17
19
20
20
20
21
22
23
24
27
27
28
29
30
31
31
32
32
32
33
35
4
1.4
1.5
1.6
Propagao de erros . . . . .
1.4.1 Adio . . . . . . . . .
1.4.2 Subtrao . . . . . . .
1.4.3 Multiplicao . . . . .
1.4.4 Diviso . . . . . . . . .
1.4.5 Operao geral . . . .
Complexidade computacional
Exerccios propostos . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.1
2.2
2.3
Isolamento de razes . . . . . . . . . . . .
Equaes algbricas . . . . . . . . . . . . .
Valor numrico de um polinmio . . . . . .
2.3.1 Mtodo de Briot-Runi . . . . . .
2.3.2 Mtodo de Horner . . . . . . . . .
2.4 Limites das razes polinomiais . . . . . . .
2.5 Nmero de razes reais . . . . . . . . . . .
2.6 Regra de sinais de Descartes . . . . . . . .
2.6.1 Razes imaginrias . . . . . . . . .
2.7 Relaes de Girard . . . . . . . . . . . . .
2.8 Equaes transcendentais . . . . . . . . . .
2.9 Grau de exatido de uma raiz . . . . . . .
2.10 Razes complexas . . . . . . . . . . . . . .
2.11 Mtodos iterativos para renamento de
2.11.1 Mtodo da bisseo . . . . . . . . .
Critrio da convergncia . . . . . .
2.11.2 Mtodo das cordas ou das secantes
Critrio da convergncia . . . . . .
2.11.3 Mtodo de Newton-Raphson . . . .
Critrio da convergncia . . . . . .
2.11.4 Mtodo da iterao linear . . . . .
Critrio da convergncia . . . . . .
2.12 Exerccios propostos . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
razes
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.1
3.2
Sistemas lineares . . . . . .
3.1.1 Sistemas compatveis
3.1.2 Sistemas triangulares
Transformaes elementares
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
38
39
39
40
41
43
44
45
46
46
48
49
52
52
53
54
55
56
58
59
59
60
62
65
66
68
68
70
71
75
75
77
78
79
5
3.3
3.4
3.5
3.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 79
. 79
. 80
. 82
. 84
. 84
. 85
. 86
. 88
. 89
. 89
. 90
. 91
. 96
. 97
. 100
APROXIMAO DE AUTOVALORES
4.1
INTERPOLAO
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
105
Interpolao linear . . . . . . . . . . . . . . . . . . . . . . . . . .
Interpolao quadrtica . . . . . . . . . . . . . . . . . . . . . . . .
Existncia e unicidade do polinmio interpolador . . . . . .
Interpolao de Lagrange . . . . . . . . . . . . . . . . . . . . . . .
Erros de truncamento . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Erro de truncamento na interpolao linear . . . . . . . . .
5.5.2 Erro de truncamento na interpolao quadrtica . . . . . .
5.5.3 Erro de truncamento na interpolao de Lagrange . . . . .
Interpolao de Newton . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 Frmula de Newton para interpolao com diferenas
divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.2 Comparao dos mtodos de Newton e Lagrange . . . . . .
Interpolao com diferenas nitas . . . . . . . . . . . . . . . . .
Interpolao por Splines . . . . . . . . . . . . . . . . . . . . . . .
5.8.1 Spline linear . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8.2 Spline cbica . . . . . . . . . . . . . . . . . . . . . . . . .
Exerccios propostos . . . . . . . . . . . . . . . . . . . . . . . . .
111
113
115
116
117
118
120
121
122
123
125
127
129
130
131
132
137
AJUSTE DE CURVAS
6.1
6.2
6.3
6.4
6.5
6.6
.
.
.
.
.
.
.
.
.
ajustes .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7.1
7.2
7.3
7.4
7.5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8.1
8.2
8.3
8.4
8.5
8.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
139
140
141
144
144
146
148
148
149
151
151
153
153
155
158
159
160
163
164
166
167
168
168
170
171
172
173
174
176
177
178
179
180
180
186
189
9.1
9.2
9.3
9.4
9.5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
191
192
192
195
197
198
198
199
201
201
204
204
205
210
213
Bibliograa
215
ndice remissivo
217
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:27:03 -03'00'
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:27:45 -03'00'
Prefcio
10
em dia grande parte dos estudantes possuem calculadoras e computadores portteis ou mesmo so disponibilizados em laboratrios nas instituies de ensino, o
que amplia enormemente a possibilidade de realizao de exerccios demandando
uma maior experincia computacional. Muitos softwares para computao numrica ou mesmo integrados com computao algbrica e grca esto disponveis
tanto comercialmente quanto de domnio pblico, com uma capacidade enorme
de clculo. Deste modo, este livro est muito mais direcionado ao ensino das
tcnicas do que s suas implementaes computacionais.
Uma bibliograa complementar apresentada no nal do livro, onde os textos
citados foram escolhidos com os compromissos de qualidade e acessibilidade, j
que a maioria pode ser facilmente encontrada nas bibliotecas, livrarias ou mesmo
na internet. H vrios outros bons livros-textos de clculo numrico que no foram
citados na bibliograa e que podero tambm ser consultados pelos estudantes.
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L.
Roque, o, ou,
email=wlroque@gma
il.com, c=BR
Dados: 2013.08.09
12:28:56 -03'00'
Captulo 1
ERROS COMPUTACIONAIS
12
clculo numrico
1
S = s0 + v0 t + at2 ,
2
onde S o espao percorrido pelo corpo, partindo de uma posio inicial s0 com
velocidade v0 e acelerao a, e t indica o tempo de movimento do objeto.
Suponha que desejamos determinar a altura de um penhasco, utilizando esse
modelo. Se largarmos uma esfera de ao do alto do penhasco, sua velocidade
inicial nula, v0 = 0. Observando que a esfera levou um tempo t = 5 segundos
para atingir o solo, e que a acelerao que atua sobre a esfera a da gravidade,
que podemos considerar como g = 9, 8 m/s2 , usando a equao anterior, tem-se:
1
9.8 52 = 122, 5 m.
2
primeira vista, podemos achar que esse resultado convel. De certa
forma, razovel, dependendo da exatido exigida. No entanto, o modelo adoS =0+05+
Waldir
L.
Roque
erros computacionais
13
tado pode ser muito mais renado, se considerarmos alguns aspectos importantes
que interferem sobre o sistema, como: (i) resistncia do ar sobre a esfera, (ii)
velocidade e direo do vento, e (iii) constante gravitacional. Assim, um novo
modelo, mais sosticado, pode ser construdo, resultando em um modelo mais
prximo da realidade do problema fsico.
Muitas vezes, os modelos conduzem a um conjunto de equaes (algbricas,
diferenciais ordinrias ou parciais no lineares, tensoriais, etc.) cuja soluo
obtida quando tais equaes so resolvidas. Na fase de resoluo, as equaes
que descrevem o modelo do sistema fsico nem sempre podem ser resolvidas de
forma exata, e, portanto, h a necessidade da utilizao de mtodos numricos e
aproximaes de funes, o que conduz a erros.
Por m, a prpria medida realizada com aparelhos mecnicos ou eletrnicos
apresenta erros em suas medies. Dessa forma, vemos que h muitas etapas no
processo de investigao de um problema fsico que so passveis de gerar erros.
Neste captulo, estaremos interessados particularmente nos erros que surgem
na fase de resoluo do problema. Vamos considerar inicialmente os erros que
surgem devido ao sistema de numerao adotado. Para isso, apresentaremos
algumas noes sobre os principais sistemas de numerao.
14
clculo numrico
r = (dn dn1 . . . d2 d1 d0 , d1 d2 . . . dm ) ,
(1.1)
dn n + dn1 n1 + + d1 1 + d0 0
+d1 1 + d2 2 + + dm m .
(1.2)
15
erros computacionais
an 2n + + a2 22 + a1 21 + a0 20 + a1 21 + a2 22 + + am 2m ,
1 23 + 1 22 + 0 21 + 1 20 + 0 21 + 1 22 ,
que equivale a 13, 25.
Waldir L.
Roque
16
clculo numrico
101010?
11011 e
0 + 0 = 0,
0 + 1 = 1,
1 + 0 = 1,
1 + 1 = 10,
0 0 = 0,
0 1 = 0,
1 0 = 0,
1 1 = 1.
Parte inteira
O mtodo das divises sucessivas utilizado para obteno do correspondente
valor em binrio, partindo-se da parte inteira de um nmero escrito em decimal.
Considerando a parte inteira de um nmero N em decimal, dividimos este nmero
por dois; em seguida, o resultado da diviso novamente dividido por dois, seguindo esse procedimento sucessivas vezes at que o quociente 1 seja encontrado.
O nmero expresso em binrio obtido tomando-se a concatenao do ltimo
quociente com os restos das divises, lendo-se no sentido inverso ao que foram
obtidos. Esse procedimento ilustrado na Figura 1.2.
17
erros computacionais
(1.3)
20 primeiros nmeros
Parte fracionria
A parte fracionria de um nmero em decimal obtida em binrio por meio
da aplicao do mtodo das multiplicaes sucessivas. Nesse caso, devemos considerar a parte fracionria do nmero; ento:
1. multiplicamos o nmero fracionrio por dois;
2. do resultado, a parte inteira ser considerada o primeiro dgito da representao do nmero em binrio. A parte fracionria novamente multiplicada
por dois;
18
clculo numrico
3. o procedimento continua sucessivamente at obtermos que a parte fracionria do ltimo produto seja igual a zero;
4. em algumas ocasies, os termos da multiplicao passam a repetir-se, ocorrendo um ciclo. Nesses casos, a representao peridica.
Vejamos os seguintes exemplos de aplicao para a parte fracionria.
=
=
=
=
0, 3750,
0, 7500,
1, 5000,
1, 0000.
..
.
=
=
=
=
=
1, 2,
0, 4,
0, 8,
1, 6,
1, 2,
Exerccio 1.3 Determine a representao binria para o nmero 13, 25=10 . Su-
gesto: considere as partes inteira e fracionrias separadamente e, no nal, a representao ser dada pela parte inteira, em binrio,seguida da parte fracionria
em binrio, separadas por uma vrgula.
19
erros computacionais
bn =
bn1 =
bn2 =
..
. =
an
an1 + 2bn
an2 + 2bn1
..
.
b1 = a1 + 2b2
b0 = a0 + 2b1 ,
onde b0 corresponde ao nmero N na forma decimal.
Agora,
b3
b2
b1
b0
=
=
=
=
a3 = 1
a2 + 2b3 = 1 + 2 1 = 3
a1 + 2b2 = 0 + 2 3 = 6
a0 + 2b1 = 1 + 2 6 = 13.
20
clculo numrico
b0 = N,
b0 a0
b1 =
,
2
b1 a1
b2 =
,
2
..
..
.
.
bk1 ak1
,
bk =
2
onde ak = 1, se bk um nmero mpar; ou ak = 0, se bk um nmero par. O
procedimento termina quando obtemos bk = 0. O valor em binrio obtido pela
concatenao retroativa dos valores obtidos para os ak .
Sistema octal
O sistema de numeraco octal possui a base formada pelos oito dgitos inteiros
8 = {0, 1, 2, 3, 4, 5, 6, 7}.
A converso do sistema octal para o sistema decimal ocorre de forma semelhante apresentada para os binrios. Portanto, um nmero em octal convertido
para decimal usando a relao:
an 8n + + a2 82 + a1 81 + a0 80 + a1 81 + a2 82 + + am 8m ,
onde os ai so dgitos pertencentes base octal.
21
erros computacionais
7 83 + 6 82 + 3 81 + 4 80 + 1 81 + 5 82 + 2 83
3996, 207031=10 .
Observe que 8 = 23 ; portanto, cada algarismo da base octal requer trs algarismos da base binria para a converso octal-binrio. A tabela de converso da
base octal-binrio dada por:
Octal
0
1
2
3
4
5
6
7
Binario 000 001 010 011 100 101 110 111
Utilizando essa relao de grupo para converso dos algarismos na base octal
pelos correspondentes na base binria, a converso torna-se bastante simples.
O octal 7634, 152=8 111 110 011 100, 001 101 010=2 , pois, lembrando que os
sistemas so posicionais, podemos substituir para cada posio do algarismo octal
seu correspondente agrupamento em binrio. Assim, no caso do algarismo 7,
temos:
7 7 83 7 29 (1 22 + 1 21 + 1 20 ) 29
1 211 + 1 210 + 1 29 111
A converso de binrio para octal ocorre de maneira inversa. Basta considerarmos agrupamentos de trs dgitos binrios, a partir da vrgula, e substituir
pelo correspondente algarismo da base octal.
Exemplo 1.7 Converso do binrio 11011, 10111 para octal. Formando os grupos, temos:
011 |{z}
011 , |{z}
101 |{z}
110
|{z}
3
3 , 5
6
= 33, 56=8 .
Sistema hexadecimal
O sistema hexadecimal formado por uma base que contm 16 elementos, os
quais so:
16 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }.
A converso entre hexadecimal e decimal imediata, usando
22
clculo numrico
Exemplo 1.8 Converta o nmero 6AC, E9=16 para decimal. Tomando a relao
de converso, obtemos:
6 162 + 10 161 + 12 160 + 14 161 + 9 162 1708, 910156
A converso de hexadecimal para binrio segue o mesmo raciocnio usado entre
octal e binrio. Observe que 16 = 24 ; assim, cada algarismo em hexadecimal
corresponde a um agrupamento de 4 algarismos binrios.
cimal para binrio. Em seguida, converta o nmero 76EA, 0D=16 para binrio.
Qual
o
valor
em
hexadecimal
do
nmero
101111.0110111=2 ?
Waldir L.
Roque
23
erros computacionais
bites, e usarmos quatro dgitos para a parte inteira e trs para a parte fracion-
ria, o maior nmero representado por esse computador no sistema decimal ser
9999, 999, e o menor, 0000, 001, respectivamente.
Para possibilitar maior representatividade dos nmeros, esse problema foi melhorado por meio da representao em ponto utuante.
r = 0, d1 d2 . . . dt e
(
)
d1
d2
dt
=
+
+ + t e,
1 2
(1.4)
Cada elemento di da mantissa um smbolo da base do sistema de numerao. Chamando de q = 0.d1 . . . dt a mantissa de um nmero, fcil vericarmos
que o valor da mantissa q limitado.
Denio 1.4 Um nmero r na representao de ponto utuante dito normalizado quando o dgito d1 de sua mantissa tal que d1 = 0.
0, 2587 =
5
8
9
2
+ 2+ 3+ 4
10 10
10
10
)
102 .
0
1
1
+ 2+ 3
2 2
2
23 .
24
clculo numrico
F (, t, I, S)
Padro IEEE
IBM 3090
CRAY X-MP
2 23
16 5
2 47
126
127
65
62
16385 8190
MATLAB
aberto alternativo de excelente qualidade (http://www.scilab.org/). Os sistemas
de computao algbrica (SCA), so capazes de realizar clculos simbolicamente
e com preciso arbitrria, porm na prtica a preciso torna-se nita devido s
limitaes impostas pelo prprio hardware da mquina. Exemplos de tais SCA
R e MATHEMATICA
R ; enquanto o MAXIMA livre
comerciais so MAPLE
e pode facilmente ser baixado da internet (http://maxima.sourceforge.net/).
25
erros computacionais
1 0 0 1 1 0 0 0 0 0
0 1 0 1
0 1 0 0 1 1 0 0 0 0 0
0 1 0 1
Na notao estendida, temos o primeiro bite para representar o sinal do nmero; se positivo, o dgito 0; se negativo, o dgito 1. Na posio 12 da notao,
acrescentado um bite para representar o sinal do expoente. Assim, temos aqui
um sistema formado por uma palavra de 16 bites.
Supondo ainda o mesmo sistema de ponto utuante e considerando apenas a
notao compacta, podemos perguntar quais seriam o menor e o maior valores
numricos, em termos absolutos, representveis nesse sistema.
As respostas podem ser facilmente encontradas, observando que o maior valor
numrico dado por:
0 1 1 1 1 1 1 1 1 1 1
1 1 1 1
0, 1111111111 2
1111
10
1
=
215 = 32736=10 .
k
2
k=1
0 1 0 0 0 0 0 0 0 0 0
1 1 1 1
0, 1 21111 =
1
215 = 0, 0000152587=10 .
2
26
clculo numrico
0, 0000152587=10 .
Por meio desses exemplos, vemos que os nmeros so representados de forma
discreta em um sistema de ponto utuante. Observamos ainda que, para o sistema
em questo, F (2, 10, 15, 15), o intervalo onde esto representados os nmeros,
incluindo o zero, [32736, 32736].
As regies compreendidas alm desses valores formam o que se chama de regio
de overow, isto , os intervalos
m = 0, 1 I ,
(1.5)
M = 0, ( 1)( 1) . . . ( 1) S .
(1.6)
possvel mostrar que a quantidade de nmeros que so representveis explicitamente por um sistema de ponto utuante qualquer dado pela relao
N = 2(S I + 1)( 1) t1 + 1.
(1.7)
Para nosso estudo de caso, F (2, 10, 15, 15), temos N = 31745. Com uma calculadora programvel ou um sistema de computao algbrica fcil declararmos
uma funo para a equao (1.7).
Exerccio 1.5 Verique que a distribuio dos nmeros representados pelo sistema de ponto utuante no igualmente espaada.
Exerccio 1.6 Dado o sistema de ponto utuante F(2, 3, 1, 2), determine quantos e quais so os nmeros representados por esse sistema.
27
erros computacionais
x = 0, d1 d2 . . . dt e ,
y = 0, l1 l2 . . . lt f .
Adio
A operao de adio entre dois nmeros realizada em uma seqncia de
passos.
1. Os registros dos nmeros so dispostos da forma a seguir, admitindo-se que
x y.
d1 d2
l1 l2
dt 0 0
lt 0 0
0
0
y 0
0 l1 l2 |
lt 0
a b0 ... b1 b2
bt bt+1
a 0 ... b1 b2
.
bt .. bt+1
28
clculo numrico
a 0 b1 b2
bt bt+1
a = x + y = 0, b1 b2 bt g .
1 5 4 7 0
2 7 4 8 0
y 0 0 0 0 0 0 2 7 4 8
a = x + y = x.
Multiplicao
Sejam dois nmeros x e y em ponto utuante e seja p = x y seu produto. A
operao de multiplicao realiza-se por meio dos passos:
1. Dispor os nmeros em seus registros
d1 d2
l1 l2
dt 0 0
lt 0 0
0
0
29
erros computacionais
p b1 b2
bt bt+1
p b1 b2
bt bt+1
p b1 b2
bt 0
p = 0, b1 b2 bt g .
Diviso
A operao de diviso de dois nmeros em ponto utuante realiza-se por meio
das seguintes etapas. Dados x e y , obtenha o valor q = xy .
1. O primeiro passo carregar os nmeros em seus registros
d1 d2
l1 l2
dt 0 0
lt 0 0
0
0
q b0 b1 b2
bt bt+1
30
clculo numrico
q 0 ... b1 b2
bt bt+1
q 0 ... b1 b2
bt bt+1
q=
x
= 0, b1 b2 bt g .
y
x
= 4, 162859 101 = 0, 4162859 100 = 0, 4162 100 .
y
sobre o conjunto dos nmeros reais . Para ilustrarmos, vejamos o Exemplo 1.15.
a1 = (x2 + x1 ) x1
= (0, 2345 100 + 0, 3491 104 ) 0, 3491 104
= 0, 0000
Agora, tomando-se
a2 = x2 + (x1 x1 )
= 0, 2345 100 + (0, 3491 104 0, 3491 104 )
= 0, 2345 100
31
erros computacionais
t = 10p p =
t ln
.
ln 10
(1.8)
Denio 1.7 A exatido de uma mquina medida por , que o menor nmero em ponto utuante, tal que temos
1 + > 1.
de mquina.
Note que, nos sistemas de computao algbrica possvel denir vrias precises
t.
F(2,
23, 126, 127), IBM 3090 F(16, 5, 65, 62) e do supercomputador CRAY XM-P
F(2, 47, 16385, 8190), determine a preciso destes em decimal.
Waldir L.
Roque
32
clculo numrico
(x x0 )2
f (x0 )
2!
(x x0 )3
f (x0 ) +
(1.9)
3!
Exemplo 1.16 Seja a funo f(x) = sen x. A expanso da funo em torno do
ponto x = 0, at ordem 5, dada por
+
p5 (x) = x x3 /3 + x5 /120.
Se considerarmos a aproximao sen x p5 (x), temos que o erro de truncamento dado por: ET =| sen x p5 (x) |. Tomando o valor de x = /4 na
expresso do erro de truncamento, temos
33
erros computacionais
ET = |sen x p(x)| ,
(1.10)
1 1 1
+ +
(1.11)
3 3 3
A soluo exata dessa operao 1. Suponha, agora, que estejamos trabalhando com uma mquina cuja preciso t = 4. Considere a soma usando a
aproximao decimal para cada termo da equao (1.11), ou seja:
0, 3333 + 0, 3333 + 0, 3333 = 0, 9999
(1.12)
34
clculo numrico
2 2 2
+ + = 2,
3 3 3
Em uma mquina com preciso t = 4, temos:
0, 6666 + 0, 6666 + 0, 6666 = 0, 19998 10
(1.13)
(1.14)
Exemplo 1.17 Se
x = 13 = 0, 3333333, ento x = 0, 3333 100 para uma mquina com preciso t = 4, com arredondamento do tipo corte.
Se x = 0, 666666.... Ento, com t = 5, temos que x = 0, 66667 100 , com
35
erros computacionais
x = q e = 0, d1 . . . , dt e , com 0 di < , i = 1, . . . , t.
(1.15)
1
|q q| t ,
2
e o limite do erro entre os valores dado por:
(1.16)
1
|x x| et .
2
(1.17)
(1.18)
EA
|x x|
=
.
|x|
|x|
(1.19)
ER =
1 et
|x x|
t
2 e =
.
|x|
|q|
2|q|
(1.20)
ER =
1
|x x|
1t .
|x|
2
(1.21)
36
clculo numrico
(1.22)
importante chamar a ateno para o fato de que a unidade de arredondamento um valor independente da magnitude do nmero que est sendo aproximado. A acurcia do resultado de uma grandeza pode ser estimada por seus
erros absoluto e relativo.
EA
0, 2 105
=
= 0, 25
|x|
0, 8 105
|x x|
5, 85 107
=
= 0, 134237 102 ,
|x|
0, 435795 103
ER < 0, 5 102 = t = 3.
37
erros computacionais
(
)]
|x x|
m = 0, 3 + log10 +
,
|x|
(1.24)
1
101t .
(1.25)
2
Na prtica, no sabemos o valor exato da grandeza x. Assim, o que fazemos,
ao tomar duas medidas consecutivas de x calcular a grandeza
=
(
)]
|xi+1 xi |
D(xi , xi+1 ) = 0, 3 + log10 +
,
|xi |
(1.26)
que nos d o nmero de dgitos signicativos exatos de xi+1 com relao ao valor
xi .
1.4.1 Adio
Sejam x e y os valores aproximados de duas grandezas x e y , respectivamente.
Sejam Ex e Ey os erros em x e y . Temos ento que:
S = x + y,
(1.27)
S = x + y,
(1.28)
Es = S S = (x + y) (x y) = (x x) + (y y).
(1.29)
(1.30)
Isto , o valor absoluto da soma dos erros absolutos menor que a soma individual
do valor absoluto dos erros.
38
clculo numrico
Exerccio 1.10 Mostre que, para o erro relativo, a operao de adio resulta
em:
(1.31)
1.4.2 Subtrao
O procedimento para subtrao similar ao da adio; temos que:
Exy = Ex Ey =
|Exy | |Ex | + |Ey |.
(1.32)
(1.33)
Exerccio 1.11 Mostre que, para o erro relativo, a operao de subtrao resulta
em:
ER (x y) =
ER (x) + ER (y)
,
|x y|
(1.34)
1.4.3 Multiplicao
Seguindo a mesma construo anterior, vemos que:
Exy x Ey + y Ex =
(1.35)
(1.36)
ER (x y) ER (x) + ER (y),
39
erros computacionais
1.4.4 Diviso
Finalmente, seguindo o mesmo procedimento, temos para a diviso:
|Ex/y |
(1.37)
Exerccio 1.13 Mostre que para o erro relativo, a operao de diviso resulta
em:
|Ey | 0, 5 10 .
4
Temos que:
x = x + Ex ,
y = y + Ey ,
x y x y = (x y x y) + (x y x y).
(1.38)
40
clculo numrico
x y x y
,
xy
(1.39)
(1.40)
erros computacionais
41
Exemplo 1.21 Na Seo 2.3 mostraremos que o algoritmo direto para determi-
b) x y
c) cos (2x y) + sen (2x y)
d)
x
y
y
x
42
clculo numrico
Waldir L.
Roque
Captulo 2
RESOLUO DE EQUAES
ALGBRICAS E
TRANSCENDENTAIS
Denio 2.1 Um nmero x0 dito uma raiz ou zero da funo f , quando temos
f(x0 ) = 0, para a equao f(x) = 0.
f(x) = 0.
44
clculo numrico
Isolamento:
Achar um intervalo [a, b], o menor possvel, tal que este contenha
uma e somente uma raiz da equao f (x) = 0.
Renamento:
Teorema 2.1 Seja f uma funo contnua que assume valores de sinais opostos
nos extremos do intervalo [a, b], isto , temos que f(a)f(b) < 0. Ento, o intervalo
[a, b] conter no mnimo uma raiz da equao f(x) = 0. Haver no mnimo um
nmero x0 (a, b), tal que f(x0 ) = 0.
O Teorema 2.1 pode ser interpretado gracamente, conforme ilustra a Figura
2.1.
45
(2.1)
Teorema 2.2 (Teorema Fundamental da lgebra) Uma equao algbrica de grau n tem exatamente n razes, reais ou complexas, desde que cada raiz
seja contada levando em considerao sua multiplicidade.
onde Pi (x0 ) =
di P(x)
|x=x0 , i
dxi
= 1, 2, . . . , m.
Corolrio 2.1 Uma equao algbrica de grau mpar com coecientes reais tem,
no mnimo, uma raiz real.
A armao desse corolrio bastante intuitiva, pois as razes complexas
ocorrem sempre ao pares, e, assim, para uma ordem mpar do polinmio, pelo
menos uma raiz dever ser real.
46
clculo numrico
Pn (x) = a0 + a1 x + + an xn ,
Pn (x0 ) = a0 + a1 x0 + + an xn0 ,
Pn (x0 ) = a0 + a1 x0 + a2 x0 x0 + + an x0 . . . x0 .
(2.2)
Assim, de (2.2) vemos que o clculo do valor numrico P (x0 ) requer o seguinte
nmero de operaes:
Nmero de adies: n;
Nmero de multiplicaes:
n(n+1)
.
2
O nmero total de operaes para obteno de Pn (x0 ) dado pela soma das
operaes de adio e multiplicao. Temos, portanto,
n(n + 1)
n2 + 3n
=
.
(2.3)
2
2
O custo computacional para clculo do valor numrico de um polinmio da
ordem de O(n2 ), onde n da reete o tamanho do problema a ser resolvido.
#Op = n +
Veremos a seguir dois mtodos que permitem simplicar o nmero de operaes a serem executadas para obtermos o valor numrico de um polinmio.
P (x) = a0 + a1 x + + an xn ,
Q(x) = b1 + b2 + + bn xn1 .
Dividindo o polinmio P (x) pelo binmio (x c), temos:
47
P (x) = (x c)Q(x) + r,
(2.4)
(2.5)
a0 + a1 x + + an xn =
[
]
(x c) bn xn1 + bn1 xn2 + + b2 x + b1 + r.
Realizando a multiplicao do primeiro termo da direita, obtemos:
an =
an1 =
..
.
bn ,
bn1 cbn bn1 = an1 + cbn ,
..
.
a0 = r cb1 r = a0 + cb1 .
As relaes anteriores formam um algoritmo para determinao do valor numrico de um polinmio. Esquematicamente, podemos reescrev-las da forma:
an an1 an2
c
cbn cbn1
bn bn1 bn2
a1
a0
cb2
cb1
b1 r = b0
(2.6)
48
clculo numrico
1 7 16
10
2 10
12
1 5 6 2 = P(2)
(2.7)
= an , n = 3 b3 = a3 = 1,
2 1 = 2,
= c bn + an1 b2 = 2 + (7) = 5,
2 (5) = 10,
= c bn1 + an2 b1 = 2 (5) + 16 = 6.
x = 1(c = 1),
(2.8)
(2.9)
(2.10)
(2.11)
Vemos da expresso anterior que o valor numrico de um polinmio, determinado pelo mtodo de Horner, necessita de um total de n operaes de adio
e n operaes de multiplicao, totalizando o nmero de operaes #Op = 2n.
Vemos que o custo computacional do algoritmo de Horner , tambm, da ordem
O(n).
49
P(x) =
=
=
=
L=1+
nk
B
,
an
(2.12)
50
clculo numrico
7/1 = 1 + 7 = 8.
43
Pn (x) = an (x 1 )(x 2 ) (x n ).
(2.13)
Q1 (x) = xn Pn (1/x),
(2.14)
Q1 (x) = an xn (1 x1 )(1 x2 ) (1 xn ) = 0.
(2.15)
teremos:
1
1
L 1 p
.
p
L1
(2.16)
an (x 1 )(x 2 ) (x n ) = 0,
an (x 1 )(x 2 ) (x n ) = 0,
an (x + 1 )(x + 2 ) (x + n ) = 0.
(2.17)
51
q L2 q L2 .
(2.18)
1
1
1
an xn ( 1 )( 2 ) ( n ) = 0.
x
x
x
(2.19)
1
1
L 3 q .
q
L3
(2.20)
(2.21)
1
.
L3
(2.22)
3, B = | 5|. Podemos vericar que o limite superior das razes positivas dado
por L 3, 828427.
=
=
=
=
x2 + x 1 = 0,
x3 7x2 + 16x 10 = 0,
x5 + x4 9x3 x2 + 20x 12 = 0,
2x6 3x5 2x3 + x2 x + 1 = 0.
Usando uma calculador ou computador, determine os limites das razes para esses
polinmios, desenhe os seus grcos e estime os valores das suas razes.
52
clculo numrico
Figura 2.2: Ilustrao do Teorema de Bolzano, f(1) f(6) > 0 nmero par de
razes.
i) se
P(a) P(b) < 0, ento existe um nmero impar de razes reais (contando
suas multiplicidades) no intervalo [a, b];
ii) se P(a) P(b) > 0, ento existe um nmero par de razes reais (contando as
multiplicidades), ou no existem razes reais no intervalo [a, b].
Regra de Descartes
O nmero de razes reais positivas de uma equao poliniomial igual a variao de sinais na seqncia dos coecientes do polinmio,
ou menor que este por um nmero inteiro par, sendo uma raiz de multiplicidade
m contada como m razes e no sendo contados os coecientes iguais a zero.
O exemplo a seguir ilustra a aplicao da regra.
53
reais positivas.
de zero, ento o nmero de razes reais negativas () (contando as multiplicidades) igual ao nmero de permanncia de sinais de seus coecientes, ou menor
que este por um nmero inteiro par.
Exemplo 2.10 Seja P(x) = x4 5x3 7x2 + 29x + 30 = 0. Para essa equao,
Exerccio 2.3 Dado o polinmio P(x) = x5 9x4 + 7x3 + 185x2 792x + 1040,
faa um estudo detalhado sobre quantas razes reais positivas e negativas podem
existir para P(x) = 0. Usando uma calculadora ou computador, determine as
razes deste polinmio.
k, 1 k < n, tiver-
(2.23)
54
clculo numrico
que
razes complexas. De fato, para esta equao temos: duas razes complexas, duas
razes reais negativas e uma raiz real positiva dadas por
a23
Exemplo 2.12 Seja P(x) = 2x6 3x5 2x3 + x2 x 1 = 0, ento, pela regra
an (x 1 ) (x n ) = 0,
onde os i correspondem s razes do polinmio.
Fazendo a multiplicao dos termos, obtemos:
an xn an (1 + 2 + + n )xn1
+ an (1 2 + 1 3 + + 1 n + 2 3 + + n1 n )xn2
an (1 2 3 + + 1 2 n + 1 3 4 + + n2 n1 n )xn3
..
.
(1)n an (1 2 3 n ) = 0.
(2.24)
55
an xn + an1 xn1 + + a0 = 0,
(2.25)
1 + 2 + + n =
an1
an
1 2 + 1 3 + + 1 n + 2 3 + + n1 n =
an2
an
1 2 3 + + 1 2 n + 1 3 4 + + n2 n1 n =
..
.
a0
1 2 3 n = (1)n .
an
an3
an
g(x) h(x) = 0,
(2.26)
(2.27)
56
clculo numrico
(2.28)
f(x) = ex sen x 2 = 0. Se
Teorema 2.8 Seja uma raiz isolada exata e xn uma raiz aproximada da equa-
57
(2.29)
(2.30)
Logo,
|xn |
|f(xn )|
.
m
(2.31)
f(2, 827)
0, 002.
4
Logo,
= 2, 827 0, 002.
(2.32)
|xn xn1 | ;
(2.33)
|xn xn1 |
.
|xn |
(2.34)
58
clculo numrico
P (z) = an z n + an1 z n1 + + a1 z + a0 ,
(2.35)
u(x, y) + iv(x, y) = 0.
(2.36)
u(x, y) = 0,
v(x, y) = 0.
Assumindo x e y como variveis, temos um sistema de duas equaes com
duas variveis. Infelizmente, o sistema acima , em geral, no linear.
As solues desse sistema representam as solues da equao P (z) = 0. Para
termos uma idia sobre as solues complexas, podemos utilizar o mtodo grco.
Desenhando o grco das funes u(x, y) e v(x, y), vemos que onde estas se
cruzam temos uma raiz.
No captulo sobre resoluo de sistemas, veremos como obter a soluo numrica para esse tipo de sistema de equaes algbricas no lineares.
Exerccio 2.5 Utilize uma calculadora ou computador para obter as solues das
equaes u(x, y) = 0, v(x, y) = 0 do exemplo 2.15.
Waldir L.
Roque
59
ba
= x0 .
2
(2.37)
(2.38)
(2.39)
ou
60
clculo numrico
b1 a1
= x1 .
2
(2.40)
Critrio da convergncia
Vemos que, em algum passo do processo, obtemos a raiz exata , ou uma
61
bn an =
ba
,
2n
(2.41)
|xn xn1 | =
ba
, n = 1, 2, . . .
2n+1
(2.42)
(2.43)
2n+1
ba
(n + 1) ln 2 ln(
ba
)
)
ln( ba
n+1
ln 2
ln( ba
)
n
1.
ln 2
(2.44)
lim an = lim bn = .
(2.45)
(2.46)
Contudo:
62
clculo numrico
Ento, temos:
(2.47)
Exemplo 2.16 Seja f(x) = x3 10, a raiz exata [2, 3] e a tolerncia desejada
Exerccio 2.6 Seja a equao x3 10 = 0 com raiz no intervalo [2, 3]. Determine
a raiz dessa equao para quatro iteraes.
y y0 = m(x x0 ),
(2.48)
onde
m=
f (b) f (a)
.
ba
(2.49)
y0 = m(x1 x0 ), x0 = a, y0 = f (a),
x1 = x0
y0
=a
m
f (a)
f (b)f (a)
ba
=a
f (a)
(b a).
f (b) f (a)
(2.50)
(2.51)
63
x2 = x1
f (x1 )
(x1 b),
f (x1 ) f (b)
(2.52)
xn+1 = xn
f (xn )
(xn b), n = 0, 1, . . . .
f (xn ) f (b)
(2.53)
(2.54)
(2.55)
64
clculo numrico
(2.56)
(2.57)
xn+1 = xn
f (xn )
(xn a).
f (xn ) f (a)
(2.58)
xn+1 = xn
f (xn )
(xn a).
f (xn ) f (a)
(2.59)
Caso III:
65
Caso IV:
f (xn )
(xn b).
(2.60)
f (xn ) f (b)
Vemos que nas equaes de cada caso o que muda apenas o valor do ponto
a ou b nas equaes. Assim, podemos escrever uma frmula nica:
xn+1 = xn
f (xn )
(xn c),
(2.61)
f (xn ) f (c)
onde denimos o valor de c como o ponto extremo do intervalo [a, b] para o qual
a funo f (x) apresenta o mesmo sinal da derivada segunda f (x). Em outras
palavras, devemos vericar se o seguinte teste vlido para a escolha do valor de
c:
xn+1 = xn
(2.62)
Critrio da convergncia
Como a seqncia xn montona e limitada, temos:
(2.63)
Contudo,
lim xn+1 =
f (xn )
(xn c)
n f (xn ) f (c)
lim xn lim
f ()
( c)
f () f (c)
f () = 0.
Logo, temos que = a raiz exata da equao no intervalo [a, b].
A tolerncia pode ser considerada tomando-se:
|xn xn1 | .
(2.64)
Exerccio 2.8 Seja f(x) = ex sen x2, denida no intervalo [1; 1, 2]. Determine
a raiz dessa equao para uma tolerncia da ordem de 105 .
66
clculo numrico
(2.65)
x1 = x0
f (x0 )
.
f (x0 )
(2.66)
(2.67)
f (xn )
,
(2.68)
f (xn )
com n = 0, 1, 2, . . . e xn+1 a aproximao da raiz para a iterao de ordem n.
Geometricamente, o processo de Newton-Raphson parece com o mtodo das
cordas, s que ao invs das retas secantes, temos as retas tangentes, conforme
podemos vericar na ilustrao da Figura 2.7.
Veja que a tangente do ngulo dada por:
xn+1 = xn
tg =
x0 x1 =
f (x0 )
= f (x0 )
x0 x1
f (x0 )
f (x0 )
x1 = x0
f (x0 )
.
f (x0 )
(2.69)
67
f (x1 )
= f (x1 )
x1 x2
f (x1 )
=
f (x1 )
f (x1 )
.
= x1
f (x1 )
tg =
x1 x2
x2
(2.70)
xn+1 = xn
f (xn )
.
f (xn )
(2.71)
68
clculo numrico
Critrio da convergncia
Para podermos aplicar o mtodo de Newton-Raphson, devemos, portanto,
observar a seguinte regra para convergncia:
i)
ii)
=
lim xn+1 =
f (xn )
n f (xn )
lim xn lim
f ()
f () = 0.
f ()
(2.72)
Exerccio 2.10 Seja a funo f(x) = 2x3 + ln x 5 com raiz localizada no inter-
valo [1, 2]. Determinar a raiz aproximada para 10 iteraes, usando as funes
denidas acima.
f (x) = x F (x),
69
(2.73)
x1 = F (x0 )
x2 = F (x1 )
..
..
.
.
xn+1 = F (xn ), n = 0, 1, 2, . . . .
(2.74)
A partir deste mecanismo de iterao, geramos uma seqncia de aproximaes S = {x0 , x1 , . . . , xn }. A interpretao geomtrica desse mtodo simples e
est ilustrada na Figura 2.8:
70
clculo numrico
lim xn = .
(2.75)
Critrio da convergncia
A escolha da funo F (x) deve satisfazer ao seguinte teorema.
Teorema 2.9 Seja I uma raiz da equao f(x) = 0 e F(x) uma funo
contnua e derivvel no intervalo I. Se |F (x)| k < 1 para todos os pontos do
intervalo I e x0 I, ento os valores dados pela equao xn+1 = F(xn ) convergem
para a raiz exata .
Observe que o Teorema garante a convergncia, partindo-se de uma estimativa
inicial qualquer x0 I , desde que a derivada da funo candidata seja limitada
para todos os pontos no intervalo I que contm uma nica raiz. Deste modo,
o Teorema no for vlido para uma certa estimativa inicial, ento a escolha da
funo F (x) deve ser descarta.
(2.76)
x2 = sen x x =
sen x,
sen x = x2 x = arcsen x2 .
71
(2.77)
(2.78)
I = [1/2, 3/2] temos F2 (x) < 1, satisfazendo o Teorema. Logo, a funo F2 (x) =
sen x gera uma seqncia convergente para qualquer valor da estimativa inicial
no intervalo I , e por conseguinte para x0 = 0, 9.
Usando a funo de iterao F2 (x), obtemos a seguinte seqncia de razes
aproximadas para 8 iteraes
S = {0, 9; 0, 8850575741; 0, 8797451034; 0, 8778248379; 0, 8771266440;
0, 8768722470; 0, 8767794824; 0, 8767456467; 0, 8767333039}
(2.79)
72
clculo numrico
2. Supondo que duas locomotivas viajem no mesmo sentido e trilho com equaes de movimento dadas por: x1 (t) = 110 80e(t/2) e x2 (t) = 50t, respectivamente. Utilizando argumentos grcos, verique se essas locomotivas
se chocam. Se isso acontecer, em quanto tempo o acidente ocorreria?
3. Dada a equao x3 6x2 + 10x 6 = 0, encontre um intervalo de comprimento unitrio onde se encontre uma, e apenas uma, raiz da equao.
4. Seja o polinmio P (x) = x5 6x4 + 8x3 + 8x2 + 4x 40. Determine o valor
de P (3), utilizando os mtodos de Briot-Runi e Horner.
5. Para o polinmio do exerccio anterior, faa um estudo sobre os limites das
razes reais desse polinmio. Em seguida, use a regra de Descartes para
inferir sobre os sinais das razes reais do polinmio e as regras de Du Gua
e da Lacuna, para as razes imaginrias.
6. Encontre um intervalo a x b tal que as funes abaixo possuam sinais
opostos em f (a) e f (b).
a) ln(x) + x 5
b) ex x 2
7. Use o mtodo da bisseo para determinar as razes das funes do exerccio
anterior com uma preciso = 106 .
8. Se [0, 2] o intervalo inicial para a soluo de uma equao f (x) = 0, qual
o nmero de iteraes necessrias para alcanarmos a soluo aproximada
com uma tolerncia da ordem de 106 e 1010 ? Valide seu resultado encontrando a raiz da equao: x3 4x2 2x + 8 = 0.
9. Seja a equao x2 = ex ln x 0, 5. Encontre uma funo de iterao para
essa equao e em seguida determine a soluo para uma tolerncia da
ordem de 103 .
10. Resolva a equao 2x4 9ex 20 = 0, no intervalo de [5, 5] com uma
tolerncia de 103 , usando o mtodo da iterao linear.
11. Resolva as equaes abaixo usando o mtodo das cordas, com uma preciso
t = 10, utilizando intervalos diferentes de inicializao.
a) 10cos(x) = x
3
b) xx = 9
73
a) 50, partindo de x0 = 7;
74
clculo numrico
Waldir L.
Roque
Captulo 3
RESOLUO DE SISTEMAS DE
EQUAES ALGBRICAS
..
.
(3.1)
..
.
S=
aij xj = bi , i = 1, 2, . . . , m.
(3.2)
j=1
Podemos ainda escrever as equaes de um sistema linear na sua forma matricial, como:
76
clculo numrico
Ax = B.
A matriz
a1n
.. .
.
amn
a11 a12
..
..
A= .
.
am1 am2
(3.3)
x1
x2
x = .. .
(3.4)
.
xn
A matriz B uma matriz coluna de ordem m 1, conhecida como a matriz
dos termos independentes, dada por:
b1
b2
B = .. .
(3.5)
.
bm
C=
a11
..
.
a12
..
.
am1 am2
a1n
..
.
b1
..
.
(3.6)
amn bm
x1
x2
x = ..
.
xn
77
fcil vermos que todo sistema linear homogneo S possui soluo. Assim, o
mesmo compatvel, pois
Ax = 0 xi = 0.
Essa soluo chamada de soluo trivial, x = 0.
Suponha agora o seguinte sistema:
x1 + x2 = 0,
x1 + x2 = 2.
Da primeira equao podemos escrever que x1 = x2 , e da segunda, substituindo-se este resultado, temos:
x2 = 2 x1 x2 = 2 + x2 0 = 2? Absurdo!
Portanto, vemos que o sistema apresentado no possui soluo, incompatvel.
Geometricamente, visto como formado por duas retas paralelas, onde cada
equao corresponde a equao de uma reta e, por isso, elas no se cruzam,
gerando um sistema incompatvel.
Sistema determinados;
Sistemas indeterminados.
78
clculo numrico
..
.
..
.
ann = bn
..
.
..
.
79
Mtodos diretos;
Mtodos iterativos.
Os mtodos diretos so os que determinam a soluo de um sistema linear por
meio de um nmero nito de passos (operaes). Os mtodos iterativos requerem
um nmero innito de passos.
Veremos inicialmente alguns mtodos diretos e, em seguida, os mtodos iterativos.
80
clculo numrico
2x1 + 3x2 x3 = 5,
4x1 + 4x2 3x3 = 3,
2x1 3x2 + x3 = 1.
(3.7)
2 3 1 5
B0 = 4 4 3 3 .
2 3 1 1
(0)
(0)
(0)
(0)
m21
a21
a31
(0)
a11
(0)
(0)
m31
(0)
a11
4
= = 2,
2
2
= = 1.
2
L1 ,
L1
(1)
(0)
(0)
(0)
L2 ,
(0)
(0)
(0)
L3 ,
m21 L1 + L2
m31 L1 + L3
(1)
(1)
(1)
(1)
(1)
2 3 1 5
B1 = 0 2 1 7 .
0 6 2 6
81
(1)
m32 =
a32
(1)
a22
6
= 3.
2
L1 ,
(1)
L2 ,
(1)
L3 .
L1
L2
(1)
(1)
m32 L2 + L3
(2)
(2)
(2)
2 3 1 5
B2 = 0 2 1 7 .
0 0
5 15
Vemos que o sistema original foi reduzido a um sistema triangular equivalente
dado por:
2x1 + 3x2 x3 = 5,
2x2 x3 = 7,
5x3 = 15.
Resolvendo o sistema equivalente por substituio retroativa, temos a soluo:
1
x = 2 .
3
Genericamente, observe que os multiplicadores so construdos de tal forma
a gerar elementos nulos na nova matriz ampliada equivalente do sistema. Os
elementos da nova matriz ampliada podem ser obtidos para um certo piv akk = 0,
da forma:
aik
,
akk
k + 1 i n, k + 1 j n, e k = 1, . . . , n 1.
bi = bi mik bk , i = k + 1, . . . , n.
82
clculo numrico
Exerccio 3.1 Escreva o algoritmo para o mtodo de Gauss e verique quantas operaes (custo computacional) so necessrias no mtodo de eliminao de
Gauss.
Mtodo da pivotizao completa
Seja M a matriz ampliada do sistema Ax = B, vamos expressar M da forma:
M=
a11 a12
a21 a22
..
..
.
.
ap1 ap2
..
..
.
.
an1 an2
. . . a1q . . . a1n b1
. . . a2q . . . a2n b2
.
.
..
. . . .. . . . ..
.
. . . apq . . . apn bp
.
.
..
. . . .. . . . ..
.
. . . anq . . . ann bn
(3.8)
miq =
aiq
, i = q.
apq
mi Lp + Li Li , i = p,
o resultado dessa operao gera uma nova matriz cuja q -sima coluna formada
por zeros, exceto o termo que o piv.
Com essa nova matriz M , podemos gerar outra matriz M1 , onde a p-sima
linha e a q -sima coluna so retiradas, gerando M1 , cuja ordem (n 1) n.
Considerando a matriz M1 e fazendo o mesmo procedimento de transformao
elementar e depois a retirada da linha e coluna, obtemos uma nova matriz, M2 .
Esse procedimento ser realizado sucessivas vezes at obtermos a matriz Mn1 .
Podemos notar que esta ltima matriz formada por uma nica linha que contm
apenas dois elementos.
Para obter a soluo do sistema, construmos as equaes geradas por todas as
linhas pivotais. Ento, por meio da tcnica da substituio retroativa, a soluo
nalmente determinada.
importante observar a ordem em que foram realizadas as eliminaes para
cada incgnita, pois esta deve ser preservada, para que o novo sistema gerado
seja equivalente ao sistema original.
83
2 3 1 5
2x1 + 3x2 x3 = 5
4x1 + 4x2 3x3 = 3 M0 = 4 4 3 3 .
2 3 1 1
2x1 3x2 + x3 = 1
a11
2
1
= =
a21
4
2
m3 =
a31
2
1
= =
a21
4
2
1
1 7
m1 L2 + L1 = (4, 4, 3, 3) + (2, 3, 1, 5) = (0, 1, , )
2
2 2
1
5 5
m3 L2 + L3 = (4, 4, 3, 3) + (2, 3, 1, 1) = (0, 5, , )
2
2 2
E1 = 4x1 + 4x2 3x3 = 3
(
M2 =
1
5
1
2
5
2
7
2
52
a11
1
1
= =
a21
5
5
1
5 5
1 7
(5, , ) + (1, , ) = (0, 1, 3)
5
2 2
2 2
5
5
= 5x2 + x3 =
2
2
= x3 = 3
m1 L2 + L1 =
E2
E3
1
x2 = 2, x1 = 1, x = 2 .
3
84
clculo numrico
Mtodo de Jordan
O mtodo de Jordan consiste em realizar operaes elementares para transformar o sistema original em um sistema diagonal equivalente. Nesse caso, escolhemos sempre o piv como um elemento da diagonal e executamos o mtodo da
pivotizao completa.
Vejamos o seguinte exemplo.
1 1
2
M = 2 1 1
1 1 1
1 0 1/3
0
3 5
0 0 1/3
1
4
0 0
0
1
4/3
8
1/3
1
2
4
3 5 8
2 3 5
1 0
0
1
0 3 0 3 .
0 0 1/3 1/3
1
x = 1 .
1
r = B Ax.
Supondo que a soluo aproximada para o sistema Ax = B seja x(0) , obtemos
a soluo melhorada x(1) fazendo a correo
85
Ax(1) = B.
Ento, substituindo, teremos:
A(x(0) + (0) ) = B
A (0) = B Ax(0)
A (0) = r(0) .
Devemos resolver agora o sistema linear apresentado para obtermos (0) , que
o termo de correo. Assim, x(1) = x(0) + (0) .
Para obter melhor aproximao da soluo, o mesmo procedimento pode ser
adotado para o novo sistema:
A (1) = r(1) ,
onde (1) a parcela de correo de x(1) e r(1) o resduo produzido por x(1) . Isto
:
x(2)
Ax(2)
A (1)
A (1)
=
=
=
=
x(1) + (1)
A(x(1) + (1) ) = B
B Ax(1)
r(1) .
Waldir L.
Roque
86
clculo numrico
Mtodo de Jacobi
No mtodo de Jacobi, os valores das incgnitas so obtidos de forma iterativa,
partindo das equaes geradas para cada uma das incgnitas individualmente.
Considerando o sistema linear Sn , podemos extrair as variveis da forma:
(k)
(k)
(k)
(k)
(k+1)
x1
b1 (a12 x2 + + a1n xn )
,
=
a11
(k+1)
x2
b2 (a21 x1 + + a2n xn )
=
,
a22
..
.
..
.
(k)
x(k+1)
=
n
(k)
bn (an1 x1 + + an n1 xn1 )
.
ann
onde k = 0, 1, 2, . . .
O sistema acima pode ser reescrito da seguinte forma:
x = Fx + C,
onde temos:
x=
F=
x1
x2
..
.
, C =
xn
0
a21 /a22
..
.
an1 /ann
b1 /a11
b2 /a22
..
.
bn /ann
a1n /a11
a2n /a22
..
.
x(k+1) = Fx(k) + C, k = 0, 1, 2, . . .
c) tolerncia,
(k+1)
(k)
xi
xi
max
< , 1 i n.
87
x1
(k+1)
x2
1
(k)
(1 + x2 )
2
1
(k)
=
(3 + x1 ), k = 0, 1, 2, . . .
2
x1
(1)
x2
1
1
1
(0)
(1 + x2 ) = (1 + 0) = ,
2
2
2
1
1
3
(0)
=
(3 + x1 ) = (3 0) =
.
2
2
2
|aij | ; i = j, i = 1, . . . , n.
j=1
88
clculo numrico
Mtodo de Gauss-Seidel
Nesse mtodo, as solues so obtidas da forma:
i) partindo de uma estimativa inicial:
(
)
(0)
(0)
x(0) = x1 , x2 , , x(0)
,
n
ii) calculamos a seqncia de aproximaes x(1) , x(2) , , x(k) , utilizando as equaes:
(k+1)
x1
(k+1)
x2
]
1 [
(k)
(k)
,
b1 a12 x2 a13 x3 a1n x(k)
n
a11
]
1 [
(k+1)
(k)
=
,
b2 a21 x1
a23 x3 a2n x(k)
n
a22
=
..
.
x(k+1)
=
n
..
.
]
1 [
(k+1)
(k+1)
(k+1)
bn an1 x1
an2 x2
an n1 xn1 .
ann
Denio 3.11 O raio espectral de uma matriz quadrada Ann denido por
(A) = max|i |,
89
onde a tolerncia.
seguida, utilize sua implementao, para resolver o sistema dado no exemplo 3.5.
x1 + 1, 001x2 = 2, 001,
0, 999x1 + x2 = 1, 999.
(3.9)
90
clculo numrico
(
A soluo exata desse sistema x =
(
)
2, 0
b=
mada seja x
. Ento,
0, 001
(
r =
(
=
2, 001
1, 999
0, 000001
0, 000000
1
1
)
. Suponha que a soluo aproxi-
1, 000 1, 001
0, 999 1, 000,
)(
2, 000
0, 001
ma:
Det(Norm A) =
onde i =
Det(A)
,
1 2 n
Det(Norm A) = 5 107 1,
que conrma que o sistema mal-condicionado.
Exerccio 3.4 Implemente computacionalmente o clculo do determinante normalizado e verique com a sua implementao, o resultado para o caso (3.9).
91
fi (x1 , x2 , . . . , xn ) = 0, i = 1, 2, . . . , n,
(3.10)
f1 (x, y) = x2 2x y + 0, 5 = 0,
f2 (x, y) = x2 + 4y 2 4 = 0.
(3.11)
(3.12)
x=
x2 y + 0, 5
.
2
92
clculo numrico
x2 + 4y 2 8y 4 = 8y y =
x2 4y 2 + 8y + 4
.
8
x2k yk + 0.5
,
2
x2k 4yk2 + 8yk + 4
= u2 (xk , yk ) =
,
8
xk+1 = u1 (xk , yk ) =
(3.13)
yk+1
(3.14)
com k = 0, 1, . . .
Observando os grcos da Figura 3.1, vemos que uma das razes est prxima
do ponto (0, 2; 1) e a outra de (1, 8; 0, 3).
Se iniciarmos a iterao com a raiz inicial (x0 , y0 ) = (0, 1), vemos na Figura
3.2 a soluo para as iteraes k = 0, 1, 10. O leitor poder fazer a seqncia
completa e vericar que ela convergente para o valor de uma das razes que est
nessa vizinhana.
93
(3.10), o mtodo da
iterao de ponto xo uma seqncia de pontos (p, q, r, . . .) denidos por:
pk+1 = g1 (pk , qk , rk , . . .)
qk+1 = g2 (pk , qk , rk , . . .)
rk+1 = g3 (pk , qk , rk , . . .)
..
.
..
.
(3.15)
(3.16)
94
clculo numrico
com k = 0, 1, 2, . . .
Vamos supor um sistema no linear de ordem dois. Sejam as funes g1 (x, y)
e g2 (x, y) contnuas e com derivadas parciais tambm contnuas na regio que
contm um ponto xo, e assumindo que o ponto inicial (p0 , q0 ) escolhido sucientemente prximo do ponto xo (p, q), temos:
95
g1 (p, q, r)
g1 (p, q, r) g1 (p, q, r)
+
+
< 1,
x
y
z
g2 (p, q, r)
+ g2 (p, q, r) + g2 (p, q, r) < 1,
x
y
z
g3 (p, q, r)
+ g3 (p, q, r) + g3 (p, q, r) < 1,
x
y
z
e a iterao converge para o ponto xo (p, q, r).
A condio de convergncia do mtodo do ponto xo pode ser estendida para
sistemas de ordens superiores, seguindo o mesmo procedimento.
Do clculo de funes de vrias variveis, podemos notar que as expresses
que envolvem as derivadas parciais esto relacionadas matriz do Jacobiano das
funes.
fi (x) =
fi (x)
x1
fi (x)
x2
..
.
fi (x)
xn
denida por:
f1 (x)T
f2 (x)T
J(x) =
..
.
fn (x)T
f1 (x)
x1
f2 (x)
x1
f1 (x)
x2
f2 (x)
x2
fn (x)
x1
fn (x)
x2
..
.
f1 (x)
xn
f2 (x)
xn
..
.
...
fn (x)
xn
Waldir L.
Roque
96
clculo numrico
f1 (x, y) = x2 + y2 1,
f2 (x, y) = x3 y.
x2k yk + 0.5
,
2
x2k+1 4yk2 + 8yk + 4
= u2 (xk , yk ) =
,
8
xk+1 = u1 (xk , yk ) =
(3.17)
yk+1
(3.18)
com k = 0, 1, . . .
O mtodo de Seidel facilmente estendido para sistemas de ordem superior.
97
x3 + 4x + y
u1 (x, y) =
,
4
4y y2 x2
u2 (x, y) =
+ 1,
4
9
partindo do ponto inicial (1, 2; 1, 8). Em seguida, desenhe os grcos das curvas e verique o valor da inteseco. Observe que deve vericar o critrio de
convergncia.
f1 (x, y) = 0,
f2 (x, y) = 0.
Supondo que uma soluo aproximada (xi , yi ) do sistema conhecida e a soluo
aproximada est sucientemente prxima da soluo exata (x , y ), ento as funes f1 e f2 no ponto (x , y ) podem ser expressas em termos da srie de Taylor
das funes f1 (x, y) e f2 (x, y) em torno do ponto (xi , yi ), da forma:
f1
f1
(xi ,yi ) + (y yi )
(x ,y ) + (3.19)
x
y i i
f2
f2
f2 (x , y ) = f2 (xi , yi ) + (x xi )
(xi ,yi ) + (y yi )
(x ,y ) + (3.20)
x
y i i
f1 (x , y ) = f1 (xi , yi ) + (x xi )
f1
f1
(xi ,yi ) xi +
(x ,y ) yi = f1 (xi , yi )
x
y i i
f2
f2
(xi ,yi ) xi +
(x ,y ) yi = f2 (xi , yi ),
x
y i i
(3.21)
(3.22)
98
clculo numrico
(3.24)
xi =
yi =
i ,yi )
i ,yi )
+ f2 (xi , yi ) f1 (x
f1 (xi , yi ) f2 (x
y
y
i ,yi )
i ,yi )
+ f1 (xi , yi ) f2 (x
f2 (xi , yi ) f1 (x
x
x
,
J(f1 (xi , yi ), f2 (xi , yi ))
(3.25)
(3.26)
xi+1 = xi + xi ,
yi+1 = yi + yi .
(3.27)
(3.28)
f1 (x1 , x2 , , xn ) = 0,
f2 (x1 , x2 , , xn ) = 0,
..
.
fn (x1 , x2 , , xn ) = 0,
ou de forma compacta matricial,
99
(3.29)
f (x) = 0.
(k)
(k)
(k)
(3.30)
(3.31)
uma vez que o clculo da inversa de uma matriz possui um custo computacional
elevado.
O critrio de garantia da convergncia do mtodo de Newton requer um detalhamento que est alm do escopo do presente texto; no entanto, pode-se garantir que o mtodo convergente desde que a estimativa inicial x(0) seja tal
que x(0) p < , onde p corresponde soluo exata e seja um nmero
bem pequeno [Burden, 03]. Em outras palavras, que a estimativa inicial esteja
na vizinhana da soluo exata, alm da necessidade de que as funes fi sejam
contnuas e limitadas na vizinhana de p e que o Jacobiano seja no-nulo na
vizinhana de p.
2, 0
0, 25
x2 2x y + 0, 5
x2 + 4y2 4
(
, J(x) =
2x 2 1
2x
8y
)
.
0, 25
0, 25
(
, J(2, 0; 0, 25) =
2, 0 1, 0
4, 0 2, 0
)
.
100
clculo numrico
2, 0 1, 0
4, 0 2, 0
)(
x
y
(
=
0, 25
0, 25
)
.
x
y
(
=
0, 09375
0, 0625
(1)
=x
(0)
+ x =
2, 0
0, 25
(
+
0, 09375
0, 0625
(
=
1, 9625
0, 3125
)
.
Exerccio 3.8 Implemente o mtodo de Newton para sistemas e em seguida determine a soluo do sistema do exemplo apresentado para cinco iteraes.
2x + 4y 6z = 4
x + 5y + 3z = 10
x + 3y + 2z = 5
b)
5x + 2y z = 1
x + 3z = 5
3x + y + 6z = 17
101
c)
0, 8x + 1, 4y + 3z = 12, 6
0, 6x + 0, 9y + 2, 8z = 10, 8
2x + y = 4
d)
x + 4y 2z + 2w
2x + 3y + z + 3w
x + 5y 5z 3w
2x + 4y 4z
=
=
=
=
8
8
18
12
aij = ij1 , 1 i, j 6.
Verique se esse sistema mal-condicionado.
6. Qual o nmero de operaes necessrias no mtodo direto de Gauss?
7. Sejam os sistemas de equaes algbricas lineares a seguir. Utilize os mtodos iterativos vistos neste captulo para determinar a soluo para dez
iteraes.
a)
x1 5x2 = 9
4x1 x2 = 15
b)
2x1 + 8x2 x3 = 11
5x1 x2 + x3 = 10
x1 + x2 + 4x3 = 3
102
clculo numrico
12x1 2x2 + x3
2x1 + 12x2 2x3 + x4
x1 2x2 + 12x3 2x4 + x5
x2 2x3 + 12x4 2x5 + x6
..
.
=
=
=
=
5
5
5
5
..
.
y x3 + 3x2 + 3x
x =
4
y 2 + 2y x 2
y =
2
partindo de (0, 3; 1, 3).
b)
sen (xy) y = x
y cos (xy) = 1,
partindo do ponto (1, 2).
c)
y 2 + x2 2 = 0
x2 y = 0
partindo de (0, 8; 0, 8) e de (1, 3; 0, 8).
10. Use o mtodo de Newton-Raphson para resolver os sistemas:
a)
2y 2 3x2 + 1 = 0
x2 + 2x 2y + 8 = 0
x + ey = 68, 0742
sen x y = 3, 5942
partindo de (2, 5; 4, 0).
c)
4x21 + 2x22 + x3 = 16
(x1 1)2 + x2 x3 = 0
(x1 + 1)2 + (x2 + 1)2 x3 = 0
com uma tolerncia de 0, 001.
d)
sen x + ln x + ln y ez = 1, 87
cos x + sen y + ez = 39, 94
ln x ey + sen z = 13, 10
com uma tolerncia de 0, 001.
103
104
clculo numrico
Captulo 4
APROXIMAO DE
AUTOVALORES
Ax = x,
(4.1)
Ax x = 0,
(4.2)
(A I)x = 0,
(4.3)
ou ainda, da forma,
106
clculo numrico
(4.4)
10 0
0
A = 1 3 7
0 1
3
107
aproximao de autovalores
x = c1 x1 + c2 x2 + + cn xn =
(4.5)
ci xi ,
i=1
Ax =
(4.6)
ci Axi = ci i xi = y(1) ,
i=1
2
A x = Ay
(1)
ci i Axi = ci 2i xi = y(2) ,
(4.7)
ci k1
Axi = ci ki xi = y(k) .
i
(4.8)
i=1
..
.
k
A x = Ay
(k1)
i=1
A x=
k1
i=1
(
ci
i
1
)k
(4.9)
xi = y(k) .
( )k
i
1
0 quando
(4.10)
Podemos notar que a equao (4.10) tende a zero quando |1 | < 1 e tende a
innito quando |1 | > 1. Logo, devemos fazer um ajuste de escala em cada passo
na equao (4.10).
O ajuste de escala pode ser obtido fazendo qualquer componente do vetor y(k)
igual a um a cada passo no processo. Vamos escolher a primeira componente do
108
clculo numrico
(k)
(4.11)
y1 = k1 c1 .
Considerando a equao (4.10) de k para k + 1, obtemos
(k+1)
y1
= k+1
1 c1 .
(4.12)
y1
(k)
y1
(k)
k+1
c1
= 1k
= c1 .
1 c1
(k+1)
(4.13)
(k+1)
Portanto, se y1 = 1, ento y1
= 1 . Se y1
for ajustado por 1 de modo
(k+1)
(k+2)
que y1
= 1, ento y1
= 1 , e assim por diante. Consequentemente, ajustar
uma componente particular de um vetor y a cada iterao essencialmente fatora
1 do vetor y de forma que a equao (4.10) converge para um valor nito. No
limite quando k , o fator de escala tende a 1 e o vetor y ajustado por escala
tende ao autovetor x1 .
Embora o mtodo da potncia seja um mtodo interessante, a sua aplicao
deve observar os seguintes requisitos: i) o maior autovalor deve ser distinto, ii) os
(0)
n autovetores devem ser linearmente independentes, iii) a estimativa inicial xi
deve conter alguma componente do autovetor xi , de modo que ci = 0, e iv) a taxa
de convergncia deve ser proporcional razo |i |/|i1 |, onde i o autovalor
de maior magnitude e i1 o segundo autovalor de maior magnitude.
4 2 2
A = 2 8 1
1 4 4
x(0)
temos:
1
= 1 ,
1
aproximao de autovalores
y(1) = Ax(0)
4 2 2
1
8
0, 8888
1
= 2 8 1 1 = 9 = 9
1 4 4
1
1
0, 1111
109
(4.14)
(1)
y(2) = A
y
y(1)
4 2 2
0, 8888
5, 7777
= 9, 6666
1
= 2 8 1
1 4 4
0, 1111
4, 4444
0, 5977
1
= 9, 6666
(4.15)
0, 4598
5, 3104
0, 5977
4 2 2
= 8, 7356
1
= 2 8 1
2, 7585
0, 4598
1 4 4
0, 6064
1
(4.16)
= 8, 7356
0, 3158
(2)
y(3) = A
y
y(2)
A. Considerando
x1
0, 6064
.
1
0, 3158
110
clculo numrico
Captulo 5
INTERPOLAO
i xi
0 x0
1 x1
.. ..
. .
n xn
yi
y0
y1
..
.
yn
Uma questo que surge , ento, como poderemos estimar o valor da funo
que gerou a tabela, digamos y = f (x), para um dado valor de x = xi ? O problema
consiste em determinar uma funo g(x) tal que g(x) seja uma aproximao para
a funo desconhecida f (x) que deu origem tabela.
Duas situaes podem ocorrer:
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:42:37 -03'00'
112
clculo numrico
Figura 5.1: A funo g(x) uma aproximao para f(x) no intervalo [a, b].
Suponha que temos a situao ilustrada na Figura 5.1:
Na Figura 5.1, a funo g(x) pode ser considerada uma aproximao para a
funo f (x). Observe que temos:
(5.1)
113
interpolao
satisfeita.
114
clculo numrico
P1 (x0 ) = a0 + a1 x0 = y0 ,
(5.2)
P1 (x1 ) = a0 + a1 x1 = y1 .
(5.3)
(
A=
1 x0
1 x1
)
(5.4)
Para que a soluo do sistema seja nica, devemos ter que det(A) = 0
x0 = x1 .
Exemplo 5.3 Suponha a funo f(x) tal que conhecemos apenas os pontos (0, 00;
1, 35), (1, 00; 2, 94). Determinar o valor de f(0, 73).
1, 00 0, 00
1, 00 1, 00
) (
a0
a1
(
=
1, 35
2, 94
)
(5.5)
115
interpolao
P2 (x) = a2 x2 + a1 x + a0 .
Sejam os pontos da tabela dados por (x0 , y0 ), (x1 , y1 ), (x2 , y2 ). Assim, do Teorema 5.1 temos:
(5.7)
(5.8)
(5.9)
a0 + a1 x0 + a2 x20 = y0 ,
a0 + a1 x1 + a2 x21 = y1 ,
a0 + a1 x2 + a2 x22 = y2 .
A matriz dos coecientes para esse sistema dada por:
1 x0 x20
A = 1 x1 x21 .
1 x2 x22
(5.10)
0, 000
1 0
0
a0
1 /6 (/6)2 a1 = 0, 328 .
a2
1 /4 (/4)2
0, 560
178
, a2
125
178
408 2
x+
x.
125
125 2
408
.
125 2
(5.11)
Portanto, o
116
clculo numrico
Pn (x) = a0 + a1 x + . . . + an xn .
Para determinar o polinmio Pn (x) para os pontos da tabela, preciso determinar os coecientes ai , i = 0, . . . , n. Para isso, sabemos que a condio de
interpolao deve ser satisfeita,
Pn (xi ) = yi , i = 0, . . . , n.
Tais condies conduzem ao sistema de equaes algbricas lineares nas variveis ai , i = 0, . . . , n
a0 + a1 x0 + a2 x20 + . . . + an xn0 = y0 ,
a0 + a1 x1 + a2 x21 + . . . + an xn1 = y1 ,
..
..
.
.
a0 + a1 xn + a2 x2n + . . . + an xnn = yn .
(5.12)
A=
1 x0 x20 . . . xn0
1 x1 x21 . . . xn1
.. ..
..
..
.. .
. .
.
.
.
2
1 xn xn . . . xnn
(5.13)
DET (A) =
(xi xj ) = 0 xi = xj , i = j.
(5.14)
i>j
117
interpolao
p0 (x) = (x x1 )(x x2 ) . . . (x xn ),
p1 (x) = (x x0 )(x x2 ) . . . (x xn ),
..
.
pn (x) = (x x0 )(x x1 ) . . . (x xn1 ).
(5.15)
(5.16)
(5.17)
pi (x) =
(x xj ), i = 0, . . . , n.
(5.18)
j=0,j=i
pi (xi ) = 0, i
pi (xj ) = 0, i = j.
(5.19)
(5.20)
polinmios de Lagrange.
Como desejamos encontrar o polinmio interpolador Pn (x) que satisfaz condio Pn (xi ) = yi , vamos considerar uma combinao linear dos polinmios de
Lagrange,
Pn (x) =
bi pi (x).
(5.21)
i=o
(5.22)
118
clculo numrico
Pn (xk ) = bk pk (xk ) bk =
Pn (xk )
.
pk (xk )
(5.23)
yk
,
pk (xk )
bk =
(5.24)
Pn (x) =
i=0
pi (x)
yi
pi (x) =
yi
.
pi (xi )
p
(x
)
i
i
i=0
n
(5.25)
Pn (x) =
yi
i=0
j=0,j=i
(x xj )
.
(xi xj )
(5.26)
Se denirmos
Li (x) =
j=0,j=i
(x xj )
,
(xi xj )
(5.27)
Pn (x) =
yi Li (x).
(5.28)
i=0
Exerccio 5.2 Implemente computacionalmente o mtodo de interpolao de Lagrange; em seguida, encontre o polinmio interpolador de Lagrange para os pontos
da tabela abaixo, e determine o valor P3 (0, 3).
xi 0, 0 0, 2
0, 4
0, 5
yi 0, 0 2, 008 4, 064 5, 125
(5.29)
119
interpolao
(5.30)
fcil vermos que ET de fato uma funo que depende do ponto x considerado.
ET (x = a) = f (a) Pn (a) = 0,
(5.31)
ET (x = b) = f (b) Pn (b) = 0,
(5.32)
ET (x = c) = f (c) Pn (c) = 0,
(5.33)
(5.34)
polinmio.
120
clculo numrico
(5.35)
(5.36)
(5.37)
Teorema 5.2 (Teorema de Rolle) Seja f uma funo contnua em um intervalo [a, b] e derivvel no intervalo (a, b), tal que f(a) = f(b). Ento, existe pelo
menos um valor (a, b) tal que f () = 0.
f ()
.
2
Voltando e substituindo o valor de A na expresso de E(t), temos:
A=
(5.38)
1
(5.39)
ET (x) = (x x0 )(x x1 )f (), (a, b).
2
Da equao (5.39), vemos que o erro de truncamento da interpolao polinomial linear uma funo quadrtica na varivel x.
121
interpolao
f ()
, (1, 00; 2, 00).
2
1
= 0, 12,
2
ou ainda,
0, 12 ET (/2) 0, 12.
(5.40)
e a funo auxiliar
122
clculo numrico
1 (x0 , x ) ; G (1 ) = 0,
2 (x , x1 ) ; G (2 ) = 0,
3 (x1 , x2 ) ; G (3 ) = 0,
4 (1 , 2 ) ; G (4 ) = 0,
5 (2 , 3 ) ; G (5 ) = 0.
Por m, temos que
(4 , 5 ); G () = 0, (x0 , x2 ).
(5.42)
G (t) = f (t) 6A = 0 G () = f () 6A = 0.
(5.43)
Logo:
f ()
A=
.
6
Substituindo na expresso do erro, obtemos:
(5.44)
f ()
ET (x) = (x x0 )(x x1 )(x x2 )
.
(5.45)
3!
Observe que o erro depende da derivada terceira da funo. Assim, para
polinmios de ordem n < 3 a interpolao exata.
(5.46)
(5.47)
(5.48)
123
interpolao
A=
f n+1 ()
,
(n + 1)!
(5.49)
ET (x) = (x x0 )(x x1 ) . . . (x xn )
f n+1 ()
,
(n + 1)!
(5.50)
onde (x0 , xn ).
Observe que o grau da funo ET (x) da ordem de (n + 1) para um polinmio
interpolador de grau n.
f (x0 ) = lim
xx0
f (x) f (x0 )
.
x x0
(5.51)
f[x, x0 ] =
f(x) f(x0 )
.
x x0
y0 = f [x1 , x0 ] =
Como:
f (x1 ) f (x0 )
.
x1 x0
124
clculo numrico
f (x1 ) f (x0 )
f (x0 ) f (x1 )
=
,
x1 x0
x0 x1
conclumos que:
f [x1 , x0 ] = f [x0 , x1 ],
isto , a diferena dividida de primeira ordem simtrica. Em geral, temos:
yi = f [xi , xi+1 ] =
f (xi+1 ) f (xi )
.
xi+1 xi
yi =
yi+1 yi
.
xi+1 xi
0 yi = f[xi ] = f(xi ) = yi .
Utilizando a denio anterior, temos
yi = f [xi , xi+1 ] =
f (xi+1 ) f (xi )
0 yi+1 0 yi
=
.
xi+1 xi
xi+1 xi
Denio 5.4 A diferena dividida de ordem dois de uma funo f dada por:
2 y0 = f[x0 , x1 , x2 ] =
f[x1 , x2 ] f[x0 , x1 ]
.
x2 x0
3 y0 = f[x0 , x1 , x2 , x3 ] =
f[x1 , x2 , x3 ] f[x0 , x1 , x2 ]
.
x3 x0
125
interpolao
das.
i xi
yi
0 0, 3 3, 09
1 1, 5 17, 25
2 2, 1 25, 41
Teorema 5.3 Se f(x) uma funo polinomial de grau n que passa pelos pontos
Demonstrao:
Corolrio 5.1 Se f(x) uma funo polinomial de grau n, ento todas as dife-
interpolao com
P [x, x0 ] =
Pn [x] Pn [x0 ]
.
x x0
Logo,
(5.52)
126
clculo numrico
P [x, x0 , x1 ] =
P [x, x0 ] P [x0 , x1 ]
x x1
(5.53)
(x x0 )(x x1 )P [x0 , x1 , x2 ] +
(x x0 )(x x1 )(x x2 )P [x0 , x1 , x2 , x3 ] + . . . +
(x x0 )(x x1 ) . . . (x xn1 )P [x0 , x1 , . . . , xn ] +
(x x0 )(x x1 ) . . . (x xn )P [x, x0 , x1 , . . . , xn ].
Pelo corolrio, P [x, x0 , x1 , . . . , xn ] = 0. Considerando, ento, que Pn (x0 ) = y0 ,
temos:
Pn (x) = y0 + (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 x1 ) . . . (x xn1 )P [x0 , x1 , . . . , xn ].
(5.54)
127
interpolao
Pn (x) = y0 + (x x0 )y0 +
(5.55)
(x x0 )(x x1 )2 y0 + . . . +
(x x0 )(x x1 ) . . . (x xn1 )n y0 .
Expressando o polinmio Pn (x) em uma forma mais compacta, temos:
Pn (x) = y0 +
i=1
yo
i1
(x xj ).
(5.56)
j=0
Exerccio 5.8 Determine o valor aproximado de f(0, 4), usando o polinmio interpolador de Newton para os pontos tabelados:
i
0
1
2
3
4
xi 0, 0
0, 2
0, 3
0, 5
0, 6
yi 1, 008 1, 064 1, 125 1, 343 1, 514
Adies
Multiplicaes
n2 + n 2
2n 3
2
n +n1
n2 1
Divises
(n2 n)/2
2n
128
clculo numrico
Mtodos
o
N total de operaes
Newton
(3n + 5n 10)/2
2
Lagrange
2n2 + 3n 2
Podemos ento comparar os mtodos em termos do menor nmero de operaes, vericando para que valor de n teremos um mtodo mais rpido. Nesse
caso:
3n2 + 5n 10
2n2 + 3n 2 n 2
2
Logo, o mtodo de interpolao de Newton mais rpido, pois possui um
nmero menor de operaes que o mtodo de Lagrange, a partir de dois pontos
tabelados. Na Figura 5.5, apresentamos os grcos para os dois mtodos, assumindo valores contnuos de n 2. Esses grcos foram produzidos com o desenho
das linhas #3: e #4:, respectivamente. Na verdade, para produzirmos os grcos
com pontos discretos, para n 2 inteiro, poderamos desenhar diretamente a
linha #5: e fazer em seguida o mesmo para a funo Newton(n). Para observarmos os nmeros de operaes de cada mtodo simultaneamente, poderamos
utilizar o comando da linha #7:.
129
interpolao
xi+1 xi = h, h = constante, i = 0, 1, , n 1.
Para o mtodo de Newton, vimos que
Pn (x) = y0 +
i=0
y0
i1
(x xj ).
j=0
z=
x x0
x x0 = hz,
h
teremos ento:
x x1 = (x (x0 + h)) = x x0 h = hz h = h(z 1),
1) zero ordem: 0 yi = yi
2) primeira ordem: yi = yi+1 yi = 0 yi+1 0 yi
3) segunda ordem: 2 yi = yi+1 yi ,
e assim por diante at a ordem n-sima
n) ordem n: n yi = n1 yi+1 n1 yi
(5.57)
xi+1 xi =
130
clculo numrico
n yi =
(xi , yi ), i = 0, . . . , n, tais
n yi
.
n!hn
z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 .
n!
(5.58)
Pn (z) = y0 +
ET (z) = h
n+1
f n+1 ()
z(z 1)(z 2) . . . (z n)
.
(n + 1)!
Exerccio 5.12 Construa as diferenas nitas com base na tabela dada abaixo e
em seguida determine o polinmio de Gregory-Newton:
x 3, 5 4, 0 4, 5 5, 0 5, 5
y 9, 8 10, 9 12, 0 13, 1 16, 2
131
interpolao
Si (x) = ai (x xi ) + bi , xi x xi+1 , i = 0, 1, 2, . . . , n 1.
(5.59)
(5.60)
termo splines surgiu a partir da utilizao de um tipo de rgua exvel a qual foi utilizada
na indstria para o design naval e de avies. Um pouco da histria sobre splines pode ser
encontrado na pgina da Wikipedia na internet.
132
clculo numrico
(5.61)
Mas, como a funo deve passar por todos os pontos, temos que Si (xi ) = fi
ou que Si+1 (xi+1 ) = fi+1 , portanto, obtemos da equao (5.61) que:
ai =
fi+1 fi
.
xi+1 xi
(5.62)
Exerccio 5.13 Dados os pontos {(1, 0), (0, 1), (1, 2), (2, 1)}, determine a spline
linear e o valor interpolado para x = 3/2.
Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.
Si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 ,
com i = 0, 1, 2, . . . , n 1.
(5.63)
133
interpolao
(5.64)
(5.65)
(5.66)
Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2,
(5.67)
Si+1
(xi+1 ) = Si (xi+1 ), i = 0, 1, 2, . . . , n 2.
(5.68)
(5.69)
ci+1 = ci + 3di hi .
Da condio (5.70) obtemos:
di =
ci+1 ci
.
3hi
(5.71)
fi+1 = fi + bi hi + ci h2i +
fi+1 = fi + bi hi +
ci+1 ci 3
hi ,
3hi
hi
(2ci + ci+1 ).
3
(5.72)
134
clculo numrico
ci+1 ci
,
3hi
(5.73)
bi =
fi+1 fi hi
(2ci + ci+1 ),
hi
3
(5.74)
bi1 =
fi fi1 hi1
(2ci1 + ci ).
hi1
3
(5.75)
(5.76)
fi+1 fi
fi fi1
3
,
hi
hi1
(5.77)
S0 (x0 ) = Sn1
(xn ) = 0,
(5.78)
(5.79)
ou
A condio (5.78) conhecida como spline natural e a condio (5.79) conhecida como spline correto. A condio de spline natural resulta em:
135
interpolao
(5.80)
e para
x = xn Sn1
(xn ) = 2cn1 + 6dn1 (xn xn1 ) = 0,
2cn1 + 6
cn cn1
hn1 = 0 cn = 0.
3hn1
(5.81)
zi
zi+1 zi
(x xi )2 +
(x xi )3 ,
2
6hi
(5.82)
fi+1 fi
hi
hi
zi+1 zi , i = 0, 1, 2, . . . , n 1,
hi
6
3
(5.83)
Si (xi ) = bi =
(
hi zi + 2(hi + hi+1 )zi+1 + hi+1 zi+2 = 6
hi+1
hi
)
,
(5.84)
Exemplo 5.6 Sejam os pontos {(0, 1), (1, 0), (2, 1/2), (3, 1)}. Determine a spline
136
clculo numrico
h0 = x1 x0 = 1, h1 = x2 x1 = 1, h2 = x3 x2 = 1,
f1 f0 = 1, f2 f1 = 1/2, f3 f2 = 1/2.
Para i = 0, temos:
(
h0 z0 + 2(h0 + h1 )z1 + h1 z2 = 6
f2 f1 f1 f0
h1
h0
)
4z1 + z2 = 9.
Para i = 1, temos:
(
h1 z1 + 2(h1 + h2 )z2 + h2 z3 = 6
f3 f2 f2 f1
h2
h1
)
z1 + 4z2 = 0.
12
3
, z2 = .
5
5
(5.85)
S0 (x0 ) = b0 =
S1 (x1 ) = b1
S2 (x2 ) = b2
Exerccio 5.15 Aproxime a funo f (x) = sen(x) por uma spline natural, con-
137
interpolao
Neste captulo, foram apresentados alguns mtodos de interpolao polinomial. No entanto, h outros mtodos de interpolao polinomial, como a aproximao de uma funo por polinmios de Chebyshev, ou ainda por meio de funes
que no sejam polinmios, como, por exemplo, pela aproximao por funes racionais, cujo mtodo conhecido como aproximao de Pad. Um estudo sobre
essas novas tcnicas est fora do escopo deste livro, e por isto no sero tratadas
aqui.
x
1. Desenhe os grcos das funes f (x) = sen x e g(x) = x x6 + 120
e verique
em que intervalo o polinmio uma boa aproximao da funo sen (x).
2. Seja a tabela
x 0
0, 25
0, 5
.
y 1, 0 1, 064494458 1, 284025416
Encontre o polinmio interpolador quadrtico para os pontos da tabela, e,
em seguida, compare os grcos do polinmio interpolador com o da funo
2
f (x) = ex . Determine o valor do polinmio em x = 0, 4 e estime o erro de
truncamento cometido pela aproximao.
3. Na srie de co cientca Star Trek, a nave Enterprise viaja com velocidade medida em Wraps, onde 1 Wrap igual velocidade da luz no vcuo
c, e 10 Wraps innitamente rpido. De acordo com o Star Trak: The
Next Generation Technical Manual, by Sternbach e Okuda, a relao entre
Wraps e a velocidade da luz c dada pela tabela (veja [Etchells, 97]):
W rap 1 2 3
4
5
6
7
8
9
.
c
1 10 39 102 214 392 656 1024 1516
Determine o polinmio interpolador de Lagrange para esses pontos e, em seguida, determine qual o valor da velocidade da Enterprise quando a mesma
viaja com uma velocidade de 5, 5 Wraps.
Nota: De acordo com a teoria da Relatividade Geral de Einstein, nada
pode viajar com uma velocidade superior velocidade da luz no vcuo c,
embora haja uma teoria que prope partculas com velocidades superiores
da luz, chamadas de tachyons, mas estas ainda no foram comprovadas
experimentalmente ou observacionalmente.
4. A tabela a seguir apresenta o Produto Interno Bruto per Capita (PIBpC)
do Brasil, medido em US$. Determine o polinmio interpolador de Newton
138
clculo numrico
Ano
1900 1913 1950 1973 1987
P IBpC BR 436 521 1073 2504 3417
Na tabela a seguir, o PIBpC dos Estados Unidos apresentado em US$.
Observando que o intervalo entre os anos constante, utilize o mtodo de
interpolao de Gregory-Newton para encontrar o polinmio interpolador
referente a esta tabela. Em seguida, clcule o PIBpC dos Estados Unidos
no ano de 1964 e compare ao valor brasileiro.
Ano
1890 1910 1930 1950 1970
P IBpC U S 3101 4538 5642 8605 12815
Que concluses voc pode tirar deste exerccio?
5. O mtodo da interpolao estudado neste captulo pode tambm ser aplicado para determinar o valor de x para certo valor de y , quando temos uma
funo da forma y = f (x). Esse procedimento conhecido com interpolao
inversa, e obtido com a troca dos papis de x com y na interpolao direta.
Usando os valores tabelados a seguir, determine o polinmio interpolador
de Lagrange de ordem 3, e em seguida indique o valor do ngulo cujo seno
0.6. Qual o erro de truncamento?
y
0, 0 0, 5 0, 8660254037 1, 0
x = arcsen y 0, 0 6
3
2
Captulo 6
Waldir L.
Roque
AJUSTE DE CURVAS
Neste captulo, vamos estudar o mtodo de ajuste de curvas (funes), utilizando a tcnica dos mnimos quadrados. Essa tcnica de aproximao tem
caractersticas diferentes da interpolao polinomial.
Suponha que temos um conjunto de pontos tabelados da forma
140
clculo numrico
ajuste de curvas
141
(6.1)
142
clculo numrico
Ri = f (xi ) yi , i = 1, . . . , m.
Seja {(xi , yi ), i = 1, . . . , m} um conjunto de pontos de uma tabela. A funo
f que melhor se ajusta, no sentido dos mnimos quadrados, aos pontos da tabela
denida como aquela cujos parmetros cj so determinados de tal forma que a
soma dos quadrados dos resduos seja mnima.
O resduo escrito como:
R =
i=1
Ri2
(f (xi ) yi )2
(6.2)
i=1
i=1
i=1
R
(c ,..., c ) = 0.
cj 1 n
Logo, calculando as derivadas parciais, temos:
R
=2
(yi c1 1 (xi ) . . . cn n (xi )) (j (xi ));
cj
i=1
(6.3)
(6.4)
i=1
(6.5)
143
ajuste de curvas
j =1
j =2
i=1
m
i=1
..
.
j =n
i=1
i=1
i=1
(1 (xi )yi ),
i=1
i=1
..
.
(6.6)
i=1
i=1
(n (xi )yi ).
i=1
..
.. ,
..
A = ...
.
.
.
an1 an2 ann
com
aij =
k=1
C = (c1 , c2 , . . . , cn ),
144
clculo numrico
B = (b1 , b2 , . . . , bn ),
com
bi =
yk i (xk ),
k=1
temos o sistema:
A C = B.
possvel mostrar que, se as funes n (x) so linearmente independentes, o
determinante da matriz A no nulo, det(A) = 0. Logo, o sistema possui soluo
nica. Tal soluo minimiza a funo R(c1 , c2 , . . . , cn ) e denominada a funo
de melhor ajuste para a tabela dada.
Ri = yi f (xi ) = yi (a0 + a1 xi ).
Sabemos que
que:
1 (x) = 1, c1 = a0 ,
2 (x) = x, c2 = a1 .
145
ajuste de curvas
a11 =
a12 =
a22 =
b1
b2
=
=
1 (xk )1 (xk ) =
k=1
k=1
k=1
m
k=1
m
1 (xk )2 (xk ) =
k=1
m
2 (xk )2 (xk ) =
1 1 = m,
1 xk =
xk xk =
k=1
yk 1 (xk ) =
k=1
k=1
yk 2 (xk ) =
xk ,
k=1
m
x2k ,
k=1
1 yk ,
1yk xk .
k=1
k=1
Na forma matricial,
(
)(
) (
)
x
m
c
y
k
1
k
k
k
2
=
.
c2
k xk
k xk
k yk xk
(6.7)
yk k x2k k yk xk k xk
,
=
m k x2k ( k xk )2
m k yk xk k xk k yk
=
.
m k x2k ( k xk )2
c1
c2
(6.8)
(6.9)
c2 = a1 =
yk xk
2
k xk
xk k y k
m
( k xk ) 2
m
c1 = a0 = Y a1 X,
(6.10)
(6.11)
onde
xk
,
m
yk
= k .
m
X =
Y
(6.12)
(6.13)
146
clculo numrico
Exerccio 6.2 Uma mquina sofre um desgaste ao longo do tempo de tal forma
que passou a ter a produo anual dada na tabela de disperso a seguir:
x(anos)
0, 5 1, 0 1, 5 2, 0 2, 5 3, 0
y(produo) 3000 2700 2500 2000 1300 800
f (x) = a0 + a1 x + a2 x2 .
(6.14)
c1 = a0 ,
c 2 = a1 ,
c3 = a2 ,
(6.15)
147
ajuste de curvas
a11 =
a12 =
a13 =
a22 =
a23 =
a33 =
1 (x)1 (x) =
k=1
k=1
1 (x)2 (x) =
k=1
k=1
1 (x)3 (x) =
k=1
k=1
2 (x)2 (x) =
k=1
k=1
2 (x)3 (x) =
k=1
k=1
3 (x)3 (x) =
b1 =
b2 =
yk 1 (x) =
k=1
k=1
yk 2 (x) =
xk ,
k=1
x2k
x2k ,
k=1
xk xk =
x2k ,
k=1
xk
x2k
x3k ,
k=1
x2k
x2k
x4k ,
k=1
yk ,
yk xk ,
k=1
k=1
b3 =
1 xk =
k=1
k=1
m
1 1 = m,
yk 3 (x) =
k=1
k xk2
k xk
2 k xk3
k xk
k xk
yk x2k .
k=1
so:
2
x
y
c
k
1
k
k
k
3
c2 = k yk xk .
k xk4
2
c
x
3
k
k
k yk xk
(6.16)
148
clculo numrico
Exerccio 6.3 Escreva um operador para o ajuste polinomial quadrtico; em seguida, determine o ajuste polinomial quadrtico para o exemplo 6.2.
f (x) = a0 + a1 x + . . . + an xn .
(6.17)
k xk2
k xk
k xk
..
..
. n . n+1
k xk
k xk
n
k
k xn+1
x
k k
..
. 2n
k xk
c1
c2
..
.
cn
k yk
yk xk
k
=
..
. n
k yk xk
(6.18)
O sistema (6.18) possui soluo nica desde que os pontos xi sejam distintos.
Como assumido que isso se verica na tabela de disperso, a soluo do sistema
existe e, portanto, a funo de ajuste polinomial obtida.
determine a reta e a parbola que melhor se ajustem aos pontos da tabela. Usando uma calculadora compare os resultados, desenhando os grcos das curvas
encontradas e o grco dos pontos da tabela de disperso.
149
ajuste de curvas
f (x) = c1 ec2 x .
(6.19)
z = ln f (x) = ln y,
dessa relao podemos ver que:
z = c1 + c2 x 1 (x) = 1, 2 (x) = x.
(6.20)
c1
c2
k xk k xk ln yk
=
,
m k x2k ( k xk )2
m k xk ln yk k xk k ln yk
.
=
m k x2k ( k xk )2
k
x2k
ln yk
k
(6.21)
(6.22)
Contudo, sabemos que c1 = ec1 . Ento, uma vez obtidos os valores dos coecientes, podemos escrever a funo exponencial de melhor ajuste como:
(6.23)
150
clculo numrico
Mudanas de variveis
Forma linear y = ax + b
a
x
x = x1 , y = y
y = a x1 + b
y=
+b
y=
d
x+c
y=
1
ax+b
y=
x
a+bx
x = x y, y = y
c = a1 , d = ab
x = x, y = y1
y = 1c (x y) +
1
y
= ax + b
1
y
= a x1 + b
d
c
y = a ln(x) + b
x = x1
y = y1
x = ln(x), y = y
y = a ln(x) + b
y = ceax
x = x, y = ln(y)
ln(y) = ax + ln(c)
y = cxa
c = eb
x = ln(x), y = ln(y)
y=
1
(ax+b)2
y = cxedx
y=
m
1+ceax
c = eb
x = x
y = 1y
x = x, y = ln( xy )
c = eb , d = a
x = x, y = ln( m
1)
y
b
c = e , m =constant
1
y
= ax + b
ln( xy ) = dx + ln(c)
ln( m
1) = ax + ln(c)
y
1
.
a1 + a2 x
Na Tabela 6.1, apresentamos alguns casos de linearizao para ajuste de funes no lineares.
Existem outras tcnicas que permitem fazer o ajuste de curvas, como Sries
de Fourier e polinmios ortogonais. No entanto, tais tcnicas esto fora do escopo
deste livro.
151
ajuste de curvas
D2 = (
yk
m
]2
k xk
)
(
),
2
2 (k yk )2
( k xk )
2
k xk
k yk
m
m
k
xk yk
(6.24)
onde 0 D 1.
Quanto melhor o ajuste, mais prximo o coeciente D estar da unidade.
Uma frmula alternativa do coeciente de determinao dada por:
2
2
k (yk yk )
,
(6.25)
D =1
2 ( k yk )2
k yk
m
onde yk corresponde ao valor estimado de yk pela funo de ajuste linear.
bn+2 = bn+1 = b0
2k + 1
k+1
bk = ak +
xbk+1
bk+2 k = 0, . . . , n.
k+1
k+2
Implemente no
Derive
152
clculo numrico
x
0, 2 0, 4 0, 6 0, 8 1, 0
.
F (x) 5, 5 10, 3 15, 8 21, 3 26, 5
Determine uma aproximao para o valor da constante de elasticidade da
mola k .
3. Encontre a melhor reta e a melhor parbola que se ajustem s tabelas
a seguir, e em seguida desenhe a curva para a tabela de disperso e dos
polinmios encontrados.
a)
x 4 2 0
2
4
;
y 1, 2 2, 8 6, 2 7, 8 13, 2
b)
x
1
2
3
4
5
6
.
y 1, 39 1, 95 2, 72 3, 79 5, 29 7, 39
4. No exerccio proposto 4 do Captulo 5 temos duas tabelas com os valores do
Produto Interno Bruno per Capita do Brasil e dos Estados Unidos durante
um conjunto de anos. Para ambas as tabelas, ajuste a melhor reta e a
melhor parbola e verique qual das duas curvas possui o menor resduo.
Com base em seu resultado, verique qual o valor do PIBpC de ambos os
pases no ano 2005.
5. A tabela de disperso a seguir fornece o valor da populao (em milhes de
habitantes) brasileira para alguns anos.
Ano
1900 1920 1940 1960 1980
Habitantes 17, 4 30, 6 41, 2 70, 2 119, 9
Determine a equao logstica P (t) do crescimento populacional que melhor
se ajusta tabela, sendo:
500
.
1 + aebt
Qual a estimativa de populao para o ano 2000?
P (t) =
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:44:28 -03'00'
Captulo 7
MTODOS DE DERIVAO
NUMRICA
O objetivo deste captulo apresentar algumas tcnicas para derivao numrica de funes, das quais so conhecidos apenas pontos discretos ou mesmo quando
desejamos obter apenas uma aproximao numrica. Em outras palavras, na
primeira situao, no temos a funo e sim uma tabela de pontos, e na segunda
conhecemos a funo, mas por alguma razo necessitamos de uma aproximao, como acontece, por exemplo, nos mtodos de otimizao, ou na soluo de
equaes diferenciais parciais.
f (x0 + h) f (x0 )
+ ET (f, h),
(7.1)
h
onde ET corresponde ao erro de truncamento.
A aproximao dada pela equao (7.1) conhecida como diferena progressiva
ou posterior, uma vez que para obtermos a estimativa no ponto x0 utilizamos o
ponto posterior a este. Denotamos esta derivada por D+ (h).
Por outro lado, a aproximao poderia ser tomada, considerando a razo
incremental:
f (x0 )
154
clculo numrico
f (x0 ) f (x0 h)
+ ET (f, h).
(7.2)
h
Nesse caso, a equao (7.2) uma aproximao da derivada em x0 pela esquerda, conhecida como diferena regressiva ou anterior e denotada por D (h).
Alternativamente, quando o valor de h pequeno, podemos considerar uma
nova aproximao da derivada de f (x) no ponto x0 por meio da reta que passa
pelos pontos (x0 h, f (x0 h)) e (x0 + h, f (x0 + h)), resultando na diferena:
f (x0 )
f (x0 + h) f (x0 h)
+ ET (f, h).
(7.3)
2h
Essa aproximao da derivada conhecida como diferena central e denotada por D0 (h). A derivada central uma medida da mdia entre as derivadas
regressiva e progressiva.
Para obtermos o erro de truncamento devido aproximao pela diferena
central, vamos considerar a expanso da funo f em uma srie de Taylor para
f (x + h) e f (x h):
f (x0 )
f (x + h) = f (x) + f (x)h +
f (x)h2 f (x)h3
+
+ ,
2
6
(7.4)
f (x h) = f (x) f (x)h +
f (x)h2 f (x)h3
+ .
2
6
(7.5)
2f (x)h3
+ .
(7.6)
6
Se truncarmos a expresso anterior a partir da derivada terceira, e usando o
teorema de Taylor, temos que existe uma valor tal que |x | < h de forma
que:
f (x + h) f (x h) = 2f (x)h +
2f ()h3
.
6
Resolvendo a equao (7.7) para f (x), obtemos:
f (x + h) f (x h) = 2f (x)h +
f (x) =
f (x + h) f (x h) h2 f ()
.
2h
6
(7.7)
(7.8)
155
(7.9)
e1+1/12 e11/12
2.954511527 2.500940013
=
= 2.721429080.
2 1/12
1/6
e1+1/144 e11/144
2.954511527 2.500940013
=
= 2.718303676.
2 1/144
1/72
e1+1/1728 e11/1728
2.719855363 2.716709203
=
= 2.718282012.
2 1/1728
1/864
156
clculo numrico
f (x)
= Pn (x).
Se Pn (x) o polinmio interpolador, o erro gerado pela interpolao dado
por:
1
(x)f (n+1) (), [x0 , xn ],
(n + 1)!
z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 ,
n!
Pn (z) = y0 +
0
.
com xi+1 xi = h e z = xx
h
Vamos considerar inicialmente o caso em que o polinmio interpolador linear,
temos que:
P1 (z) = y0 + zy0 ,
e como f (x) =
dz df
dx dz
1 df
,
h dz
obtemos:
1
y1 y0
1 dP1 (z)
= y0 =
.
f (x0 )
=
h dz
h
h
Vemos que esse resultado corresponde diferena progressiva da equao (7.1).
Fazendo o mesmo para o erro de truncamento, obtemos, neste caso:
h
f (), [x0 , x1 ].
(7.10)
2
Observe que no sabemos nem o valor do ponto , nem a derivada segunda,
mas da expresso (7.10) vemos que o erro de truncamento da ordem O(h). Se o
valor da derivada segunda no variar muito no intervalo, podemos reduzir o erro
pela metade tomando um novo valor de h como sendo h/2, e assim sucessivamente.
ET (x) =
157
1
P2 (z) = y0 + zy0 + z(z 1)2 y0
2
1
1
f (x) = [y0 + (2z 1)2 y0 ].
h
2
(7.11)
1
f (x0 )
(4y1 3y0 y2 ).
=
2h
(7.12)
1
f (x1 )
(y2 y0 ).
=
2h
(7.13)
1
f (x2 )
(y0 4y1 + y2 ).
=
2h
(7.14)
h2
f (), [x0 , x2 ].
3
Veja que agora o erro da ordem O(h2 ). Note que podemos ainda obter a
derivada primeira com base nos polinmios de ordens superiores.
ET (x) =
Exerccio 7.1 Deduza o resultado da derivao aproximada pela diferena central para o caso de aproximao da funo pelo polinmio de Gregory-Newton de
segunda ordem. Qual a expresso para o erro de truncamento?
158
clculo numrico
y2 2y1 + y0
,
f (x0 )
=
h2
e o erro de truncamento associado ser:
ET (x0 ) = hf ().
Observe que podemos obter tambm ainda as derivadas segundas nos pontos
x1 e x2 . De forma anloga, a derivada segunda pode ser obtida a partir do
polinmio de Gregory-Newton com ordens superiores a dois.
Para a estimativa da derivada terceira, devemos considerar, pelo menos, o
polinmio de ordem trs. Neste caso, aps algumas manipulaes, obtemos:
y3 3y2 + 3y1 y0
f (x0 )
.
=
h3
Observe que podemos obter tambm ainda as derivadas terceiras nos pontos
x1 , x2 e x3 . De forma anloga, a estimativa da derivada terceira pode ser obtida
a partir do polinmio de Gregory-Newton com ordens superiores a trs.
rivadas de ordem dois e trs apresentadas acima e, determine tambm estas derivadas considerando polinmios de Greogory-Newton de ordem imediatamente
superiores, nos respectivos casos.
f(1, 5) f(1, 4)
= 2, 2500.
0, 1
159
f (x + h) f (x h)
.
2h
Se o erro de truncamento, quando h 0, for conhecido podemos obter uma
boa aproximano para F (0), que corresponde derivada da funo f (x), pois:
F (h) =
h0
h2 f ()
+ O(h4 ).
6
Se considerarmos um passo de comprimento 2h nessa expresso, temos:
F (h) = f (x) +
4h2 f ()
+ O(h4 ).
6
Subtraindo as duas expresses, temos:
F (2h) = f (x) +
F (2h) F (h) =
3h2 f ()
+ O(h4 )
6
F (2h) F (h)
h2 f ()
=
+ O(h4 ).
3
6
(7.15)
A expresso
h2 f ()
6
corresponde ao erro de truncamento associado funo F (h), o qual pode ser
estimado pela expresso do lado esquerdo da equao (7.15).
Usando a equao (7.15) na expresso para F (h), obtemos:
ET (F (h)) =
F (h) = f (x) +
F (2h) F (h)
+ O(h4 ),
3
F (h) F (2h)
+ O(h4 ).
(7.16)
3
Observe que a derivada na expresso (7.16) possui um erro de truncamento
da ordem de O(h4 ), em vez de O(h2 ) como na frmula da diferena central (7.8).
f (x) = F (h) +
160
clculo numrico
Observe que o valor absoluto do erro do clculo da derivada f (1) pelo mtodo
de Richardson de 1, 456674580 104 .
e
4. Determine a derivada segunda da funo f (x) = cos x+sen
, no ponto x = 1,
x
para os passos h = 0, 2; 0, 1; 0, 05; 0, 01. Usando o Derive , determine a
derivada exata da funo e em seguida verique o erro de truncamento no
ponto x = 1.
161
t
1, 0 1, 1 1, 2 1, 3 1, 4
I(t) 8, 23 7, 24 5, 99 4, 53 2, 91
Encontre o valor de I (1, 2) usando o mtodo de Richardson. Qual ser o
valor da voltagem para t = 1, 2 se a mesma dada pela equao E(t) =
0, 05 dI(t)
+ 2I(t). Utilize o Derive para resolver essa equao diferencial de
dt
forma exata e compare com o resultado aproximado obtido.
162
clculo numrico
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L.
Roque, o, ou,
email=wlroque@gmail
.com, c=BR
Dados: 2013.08.09
12:45:06 -03'00'
Captulo 8
MTODOS DE INTEGRAO
NUMRICA
F (x) = f(x)
Mtodos de Newton-Ctes, que empregam os valores de f (x), onde os valores de x esto uniformemente espaados;
Mtodo da Quadratura Gaussiana, que utiliza os pontos x com espaamentos distintos. Nesse mtodo, o espaamento determinado por certas
propriedades de polinmios ortogonais.
164
clculo numrico
z
z(z 1) 2
y0 +
y0 + . . . +
1!
2!
z(z 1) . . . [z (n 1)] n
y0 + Rn ,
n!
Pn (z) = y0 +
xx0
.
h
(8.1)
A expresso
(8.2)
z(z 1)f ()
.
2!
I=
f (x)dx,
a
z=
1
x x0
dz = dx.
h
h
(8.3)
165
I=
z1
f (x)dx =
a
x0 x0
x1 x0
h
= 0, z1 =
= = 1.
h
h
h
z0 =
Logo, a integral ca:
I =
0
z 2 1
]
2 0
(8.4)
1
1
= h[y0 + (y1 y0 )] = h(y0 + y1 ).
2
2
Como o valor de h conhecido e y0 , y1 esto dados na tabela, ento o valor
da integral aproximado pela expresso (8.4), que a Regra dos Trapzios para
integrao.
A interpretao geomtrica da regra dos trapzios simples, a ilustrao da
Figura 8.1 mostra-nos o porqu desse nome.
166
clculo numrico
h
1
A = h (f (x0 ) + f (x1 )) = (y0 + y1 ),
2
2
que o resultado da regra dos trapzios.
z(z 1)h2
f ()hdz
2!
a
0
( 3
)
z
h3
z 2 1
=
f ()
0
2!
2
2
ET =
R1 dx =
(8.5)
h3
f (), a b.
12
Observe que na expresso do erro dada em (8.5), se f () > 0, o erro ser por
excesso, e se f () < 0, o erro ser por falta.
3,6
1
dx
3,0 x
trapzios.
Soluo: O resultado falcilmente obtido, pois sabemos que o resultado da
integral dado por:
I=
h
(y0 + y1 ),
2
Logo:
O clculo do erro :
I 0, 183333.
167
ET =
h3 2
.
12 3
2
2
2
=
=
.
3
33
27
0, 63 2
1, 33333 103 .
12 27
x1
I =
x2
f (x) dx +
x0
f (x) dx + +
x1
xn
f (x) dx
xn1
h
h
h
(y0 + y1 ) + (y1 + y2 ) + + (yn1 + yn )
2
2
2
h
=
(y0 + 2y1 + 2y2 + + 2yn1 + yn ).
2
=
(8.6)
ETi =
Logo:
h3
f (i ).
12
h3
f (i ).
12 i=0
n1
ET =
168
clculo numrico
n1
f (i )
(b a)3
ET =
f (), a b; f () = i=0
.
(8.7)
2
12n
n
onde n corresponde ao nmero de divises consideradas do intervalo [a, b]. Vemos
que, quanto maior for o nmero n de divises do intervalo, melhor a aproximao
pela regra dos trapzios composta.
3,6
I=
a
A primeira regra de Simpson obtida tomando a funo f (x) por uma aproximao polinomial, usando o polinmio de Gregory-Newton de grau dois, isto
:
f (x) P2 (x),
P2 (z) = y0 + zy0 +
x x0
z(z 1) 2
y0 , z =
.
2!
h
Assim, temos:
f (x)dx
I=
a
P2 (x)dx.
a
Na aproximao por um polinmio de segundo grau, temos 3 pontos igualmente espaados. Considerando esses pontos como x0 , x1 , x2 , vemos que para
= 0 e
x0 = a e x2 = b, e como h = xi+1 xi , ento x = a z = aa
h
ba
2h
x = b z = h = h = 2.
Logo, a integral ca:
z(z 1) 2
(y0 + zy0 +
y0 )hdz
2!
a
0
[
]
)
( 3
z2
z2
z
2
h zy0 + y0 +
y0 20
2
6
4
(
)
1
h 2y0 + 2y0 + 2 y0 .
3
169
P2 (x)dx =
(8.8)
y0 = y1 y0 , 2 y0 = y2 2y1 y0 ,
substituindo na expresso da integral (8.8), obtemos
h
(y0 + 4y1 + y2 ) ,
3
(8.9)
R2 (z) =
z(z 1)(z 2)
f ()h3 .
3!
z(z 1)(z 2)
f ()h4 dz
3!
0
2
h4
=
f ()
(z 3 2z 2 + 2z)dz
3!
0
2
ET =
(8.10)
h4
z4
f ()( z 3 + z 2 ) 20
3!
4
= 0.
=
170
clculo numrico
ET =
R3 (z)dz
(8.11)
=
0
h5 iv
f (), a b.
90
Por meio dessa frmula, vemos que, se a funo f (x) for uma funo polinomial
de grau trs ou inferior, o clculo da integral via primeira regra de Simpson
exato, uma vez que f iv () zero para esses polinmios.
I1
h
(y0 + 4y1 + y2 ),
3
I2
h
(y2 + 4y3 + y4 ),
3
..
.
In/2 =
(8.12)
h
(yn2 + 4yn1 + yn ).
3
I = I1 + I2 + + In/2
=
h
(y0 + 4y1 + 2y2 + 4y3 + 2y4 + + 2yn2 + 4yn1 + yn ), (8.13)
3
171
I=
h
y0 + 4
y2i1 + 2
y2i + yn .
3
i=1
i=1
n/2
n/21
(8.14)
ET =
ou, substituindo h =
ba
,
n
h5
nf iv (),
180
(8.15)
obtemos:
(b a)5 iv
ET =
f (), a b.
180n4
(8.16)
Note que o erro de truncamento nesse caso diminui com a quarta potncia do
nmero de intervalos (n4 ). Na frmula do mtodo dos trapzios, o erro caa com
o quadrado do nmero de intervalos (n2 ).
valor da integral
4
2
f(x)dx.
x 2, 0 2, 5 3, 0
3, 5
4, 0
y 41 77, 25 130 202, 25 298
f (x)dx
I=
a
P3 (x)dx,
a
172
clculo numrico
onde
P3 (z) = y0 + zy0 +
z(z 1) 2
z(z 1)(z 2) 3
x x0
y0 +
y0 , z =
.
2!
3!
h
3
I h(y0 + 3y1 + 3y2 + y3 ),
(8.17)
8
que a segunda regra de Simpson ou regra dos 3/8.
O erro de truncamento para a segunda regra de Simpson dado por:
ET =
3h5 iv
f (), a b.
80
(8.18)
De maneira anloga, podemos determinar a segunda regra de Simpson composta. Nesse caso, o nmero n de subintervalos deve ser mltiplo de trs, pois
necessitamos de 4 pontos para determinarmos o polinmio de Gregory-Newton
de grau trs.
3h
(y0 + 3y1 + 3y2 + 2y3 + 3y4 + 3y5 + 2y6 + + 3yn2 + 3yn1 + yn ) (8.19)
8
(b a)5 iv
ET =
f (), a b.
80n4
(8.20)
173
I=
a
ai f (xi ),
(8.21)
i=0
1
1
x = (b a)t + (b + a).
(8.22)
2
2
Veja que para t = 1 x = a e para t = 1 x = b. Assim, a integral ca:
f (x)dx =
F (t)dt,
1
b
a
1
f (x)dx = (b a)
2
1
1
f [ (b a)t + (b + a)]dt,
2
2
1
1
1
1
F (t) = (b a)f [ (b a)t + (b + a)].
2
2
2
A expanso em termos da funo F (t), torna-se:
Waldir L.
Roque
174
clculo numrico
b
a
f (x)dx =
1
F (t) = tk , k = 0, 1, 2, 3,
teremos:
Agora,
k = 0
k = 1
k = 3
t1 dt = A0 t10 + A1 t11 ,
t0 dt = A0 t00 + A1 t01 ,
k = 2
t2 dt = A0 t20 + A1 t21 ,
t3 dt = A0 t30 + A1 t31 .
A0 + A1 = 2,
A0 t0 + A1 t1 = 0,
2
,
A0 t20 + A1 t21 =
3
A0 t30 + A1 t31 = 0.
Multiplicando a equao (8.25) por t20 , temos
(8.24)
(8.25)
(8.26)
(8.27)
175
t20 (A0 t0 + A1 t1 ) = 0.
Subtraindo esse resultado da equao (8.27), obtemos:
(8.28)
A1 = A0 = 1, t0 = t1 =
1/3.
(8.29)
1
1
F (t)dt = F ( ) + F ( ).
3
3
1
(8.30)
I=
ex
2 /2
dx
I = 2e2(1/
3)2
+ 2e2(1/
2
3)
= 4e2/3 2, 053668476.
176
clculo numrico
F (t) = tk , k = 0, 1, 2, 3, 4, 5
teremos:
A0 + A1 + A2 = 2,
A0 t0 + A1 t1 + A2 t2 = 0
A0 t20 + A1 t21 + A2 t22 = 2/3
A0 t30 + A1 t31 + A2 t32 = 0
A0 t40 + A1 t41 + A2 t42 = 2/5
A0 t50 + A1 t51 + A2 t52 = 0,
cuja soluo
A0 = 8/9, A1 = A2 = 5/9, t0 = 0, t1 = t2 =
3/5.
(8.31)
b
a
8
5
5
f (x) dx = F (0) + F ( 3/5) + F ( 3/5).
9
9
9
(8.32)
siana para n = 2.
177
Tomando agora F (t) = tk , k = 0, 1, . . . , (2n + 1), e seguindo o mesmo procedimento anterior, obtemos o sistema de equaes no lineares:
A0 + A1 + + An = 2,
(8.33)
A0 t0 + A1 t1 + + An tn = 0,
(8.34)
(8.35)
(8.36)
corrncia:
P0 (x) = 1,
P1 (x) = x,
Pm+1 (x) =
1
[(2m + 1)xPm (x) mPm1 (x)] ,
m+1
com m = 1, 2, . . . .
Os polinmios de Legendre P2 (x), P3 (x) e P10 (x) so apresentados abaixo.
1
P2 (x) = (3x2 1),
2
x
P3 (x) = (5x2 3),
2
1
(46189x10 109395x8 + 90090x6 30030x4 + 3465x2 63).
256
Podemos determinar as solues para as equaes P2 (x) = 0 e P3 (x) = 0,
P10 =
178
clculo numrico
P2 (x) = 0 x =
1
,
3
P3 (x) = 0 x = 0 ou x =
(8.37)
3
.
5
(8.38)
tk (tk1i = ti )
t0 = 0, 0
t1 = t0 = 0, 5773502691
t0 = t2 = 0, 7745966692
t1 = 0, 0
t0 = t3 = 0, 8611363115
t1 = t2 = 0, 3399810435
t0 = t4 = 0, 9061798459
t1 = t3 = 0, 5384693101
t2 = 0, 0
A0
A1
A0
A1
A0
A1
A2
Ak (Ak1i = Ai )
A0 = 2, 0
A0 = A1 = 1, 0
= A2 = 0, 5555555555
= 0, 8888888888
= A3 = 0, 3478548451
= A2 = 0, 6521451548
= A4 = 0, 2369268850
= A3 = 0, 4786286704
= 0, 5688888888
1 iv
F (), 1 1.
(8.39)
135
No caso geral, o erro de truncamento para funes contnuas determinado
pela relao a seguir, e a quadratura Gaussiana converge para o valor exato da
integral [Szidarovszky, 89], quando k :
ET =
ET =
22k+1 k!4
F 2k (), 1 1,
(2k + 1)[(2k)!]3
(8.40)
179
Exerccio 8.6 Qual o valor do erro de truncamento para o exemplo 8.2 resolvido
anteriormente?
i)
b
A integral a ser estimada do tipo a f (x)dx, onde o integrando no est
denido no ponto extremo x = b, mas bem denida em qualquer intervalo
[a, b ], com 0 < < b a. Estamos ento supondo que a integral
lim
0
ii)
f (x)dx,
(8.41)
b
existe. Neste caso, denotamos (8.41) por a f (x)dx e dizemos que a integral
1
converge. Um exemplo de integrao com singularidade 0 1x dx = 2. J
1
a integral 0 x1 dx no converge para um valor nito.
lim
f (x)dx,
(8.42)
existe. Neste caso, denotamos (8.42) por a f (x)dx e dizemos que a integral
180
clculo numrico
sen x
dx,
1x
(8.43)
sen x
dx = 2
1x
1 x, com
sen (1 u2 )du,
(8.44)
que pode ser agora resolvida usando quadratura Gaussiana, por exemplo.
ba
dc
= h,
= l.
(8.46)
n
m
De acordo com a primeira regra de Simpson, os valores de n e m devem ser
par para podermos gerar um nmero par de subintervalos. Desta forma geramos
um conjunto de pontos x0 , x1 , . . . , xn e y0 , y1 , . . . , ym . Escrevendo a integral (8.45)
na sua forma iterada, temos:
b (
I=
f (x, y) dA =
R
)
f (x, y) dy dx.
(8.47)
181
equation
Podemos considerar a integral na varivel y e resolv-la utilizando a primeira
regra de Simpson composta dada em (8.14). Fazendo yj = c + j l com j =
0, 1, . . . , m, onde l o tamanho do passo na direo y e considerando x constante,
temos:
f (x, y) dy =
c
l
f (x, y0 ) + 2
3
m/21
f (x, y2j ) + 4
j=1
m/2
j=1
(8.48)
+ ET (f, l),
com erro de truncamento ET (f, l) dado por,
(d c)l4 4 f (x, )
ET =
, c < < d.
180
y 4
(8.49)
I =
a
m/21
l f (x, y0 ) + 2
f (x, y2j )
3
j=1
+4
m/2
(8.50)
j=1
resultando em
m/21 b
m/2 b
l b
I =
f (x, y0 )dx + 2
f (x, y2j )dx + 4
f (x, y2j1 )dx
3 a
a
a
j=1
j=1
+
a
(d c)l4
f (x, ym )dx
180
b
a
4 f (x, )
dx.
y 4
(8.51)
182
clculo numrico
f (x, yj )dx =
a
h
f (x0 , yj ) + 2
3
n/21
f (x2i , yj ) + 4
n/2
i=1
f (x2i1 , yj ) + f (xn , yj )
i=1
(b a)h4 4 f (j , yj )
, a < j < b.
180
x4
(8.52)
b
a
d
c
n/21
hl
f (x0 , y0 ) + 2
f (x, y)dy dx
f (x2i , y0 )
9
i=1
+ 4
n/2
f (x2i1 , y0 ) + f (xn , y0 )
i=1
m/21
+2
m/21 n/21
f (x0 , y2j ) + 2
j=1
j=1
m/21 n/2
+ 4
j=1
f (x2i , y2j )
i=1
m/21
f (x2i1 , y2j ) +
i=1
f (xn , y2j )
j=1
m/2
m/2 n/21
f (x0 , y2j1 ) + 2
f (x2i , y2j1 )
+4
j=1
+ 4
m/2 n/2
j=1
f (x2i1 , y2j1 ) +
j=1 i=1
i=1
m/2
f (xn , y2j1 )
j=1
n/21
+ f (x0 , ym ) + 2
f (x2i , ym )
j=1
+ 4
n/2
i=1
f (x2i1 , ym ) + f (xn , ym ) ,
(8.53)
183
]
e
f (,
e)
(d c)(b a) 4 f (, )
h
+ l4
,
ET =
4
4
180
x
y
4
(8.54)
e
with , , ,
e values in the region R.
ex y dy dx
I=
0
184
clculo numrico
0, 25 0, 5
exi yj dy dx
9
2
+4
+2
{[
f (x0 , y0 ) + 2
f (x0 , y2j ) + 2
j=1
0
1
0
2
[ 1
f (x2i1 , y2j ) +
f (x0 , y2j1 ) + 2
]
f (xn , y2j )
1
1
f (x2i1 , y2j1 ) +
j=1 i=1
+ f (x0 , ym ) + 2
f (x2i , y2j1 )
]
f (xn , y2j1 )
j=1
1
i=1
+ 4
j=1 i=1
1
2
f (x2i , y2j )
j=1
j=1
+ 4
j=1 i=1
j=1 i=1
+4
f (x2i , y0 )
i=1
f (x2i1 , y0 ) + f (x4 , y0 )
i=1
[ 0
+ 4
f (x2i , ym )
]}
f (x2i1 , ym ) + f (xn , ym )
i=1
Como temos apenas a aplicaoda primeira regra de Simpson simples na direo y , pois m = 2, os termos com 0j=1 no se aplicam, devendo ser considerados
iguais a zero na expresso acima. Portanto, calculando cada um dos termos da
expresso temos:
185
f (x0 , y0 ) = ex0 y0 = e0 = 1,
1
f (x2i , y0 ) = f (x2 , y0 ) = e0 = 1,
i=1
2
i=1
f (x4 , y0 ) = e0 = 1,
1
j=1 i=1
1
2
f (x2i1 , y2j1 ) =
j=1 i=1
0,250,5
j=1
0,750,5
=e
+e
= 2, 588139867,
1
f (x0 , y2 ) = e0 = 1,
1
i=1
ex y dy dx 1, 318016005.
I=
0
12
0
186
clculo numrico
(8.55)
Observe que neste caso, teremos ao nal uma expresso formada por 64 termos. Da mesma forma, podemos tambm obter a aproximao das integrais
triplas iteradas utilizando a segunda regra de Simpson composta. As dedues
destas aproximaes so deixadas como exerccios para o leitor.
I=
(8.56)
f (x, y)dy.
(8.57)
1
1
y = (d c)v + (d + c),
2
2
(8.58)
temos:
f (x, y)dy =
1
1
1
1
(d c) f [x, (d c)v + (d + c)] dv.
2
2
2
(8.59)
Denindo a funo,
1
1
1
F (x, v) = (d c) f [x, (d c)v + (d + c)],
2
2
2
e aplicando a quadratura para n = 1, obtemos:
(8.60)
(8.61)
187
1/3, provenientes da
I=
(8.62)
1
1
x = (b a)u + (b + a),
2
2
(8.63)
temos:
I =
F (x, v0 ) dx +
a
F (x, v1 ) dx
a
=
1
1
1
1
(b a)F [ (b a)u + (b + a), v0 ] du
2
2
2
1
+
1
1
1
1
(b a)F [ (b a)u + (b + a), v1 ] du.
2
2
2
(8.64)
Denindo-se,
1
1
1
G(u, v) = (b a) F [ (b a)u + (b + a), v],
2
2
2
(8.65)
a integral torna-se:
I=
1
G(u, v0 )du +
G(u, v1 )du,
(8.66)
188
clculo numrico
1
1
1
1
1
(b a)(d c)f [ (b a)u0 + (b + a), (d c)v0 + (d + c)]
4
2
2
2
2
1
1
1
1
1
(b a)(d c)f [ (b a)u1 + (b + a), (d c)v0 + (d + c)]
4
2
2
2
2
1
1
1
1
1
(b a)(d c)f [ (b a)u0 + (b + a), (d c)v1 + (d + c)]
4
2
2
2
2
1
1
1
1
1
(b a)(d c)f [ (b a)u1 + (b + a), (d c)v1 + (d + c)].(8.67)
4
2
2
2
2
Substituindo
na
expresso
(8.67)
os
valores
de
u
=
u
=
1/3, e v0 =
0
1
1
=
f [ 1/12 + 1/2, 1/12 + 1/2]
4
1 (1/12+1/2)2
=
e
= 0, 4656663477,
4
G(u0 , v0 ) =
G(u0 , v1 ) = 0, 2614175968
G(u1 , v0 ) = 0, 2614175968
G(u1 , v1 ) = 0, 2614175968,
ex y dy dx 1, 317764150.
I=
0
189
com n = 1.
I=
0
dx
.
1 + 3xex2
1
2. Qual o valor da integral 0 x24+1 dx, usando a primeira regra de Simpson?
Utilize o Derive para determinar o valor exato da integral e, em seguida,
compare ao valor obtido com a regra de Simpson.
3. Mostre que a primeira regra de Simpson exata para polinmios cbicos
no intervalo [h, h].
com um ngulo com respeito
4. O perodo de um pndulo largado do repouso
L
vertical dado pela relao: P = 4 g I , onde L o comprimento do
pndulo, g a constante gravitacional, e I a integral
/2
I=
0
com a =
Simpson.
sen (/2)
.
2
1
1 a2 sen 2 (x)
dx,
190
clculo numrico
2.0
1.2
e2x+y dy dx.
0
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:46:29 -03'00'
Captulo 9
RESOLUO NUMRICA DE
EDO'S
Denio 9.1 Uma equao diferencial ordinria de primeira ordem dada por
y = f(x, y),
onde y =
dy
dx
(9.1)
192
clculo numrico
Denio 9.2 Um problema do valor inicial formado por uma equao diferencial e uma condio inicial, de tal forma que:
y = f(x, y), y(x0 ) = y0 .
(9.2)
Teorema 9.1 (Teorema de Lipschitz) Seja uma funo f(x, y) denida e contnua em um intervalo a x b e < y < , com a e b valores nitos. Se
a funo f satisfaz a condio de Lipschitz, de existir uma constante L tal que
|f(x, y) f(x, y )| L|y y |, x [a, b], y, y ,
ento para qualquer valor inicial y0 existe uma nica soluo do problema do
valor inicial
y = f(x, y), y(a) = y0 .
Exemplo 9.2 Seja a equao diferencial do exemplo (9.1). Vemos que h inni-
193
f (x, y)
f (x, y)
2 f (x, y)
, fy (x, y) =
, fxy (x, y) =
,
x
y
yx
e assim sucessivamente.
Se considerarmos a equao diferencial em (9.2) e tomarmos as derivadas
sucessivas da expresso, teremos:
fx (x, y) =
(9.3)
y (x0 )
y (k) (x0 )
(x x0 ) + +
(x x0 )k .
(9.4)
1!
k!
(Note que o) erro de truncamento associado equao (9.4) da ordem de
O (x x0 )k+1 . Em outras palavras, se tivermos a diferena |x x0 | muito
grande, o erro ser tambm muito grande, e assim num intervalo [x0 , b] de comprimento moderado podemos ter um erro relativamente grande, tornando a aplicao
do mtodo insatisfatria.
y(x) y(x0 ) +
=
=
=
=
=
=
x2 + y 2 ,
02 + y(0)2 = 0,
2x + 2yy y (0) = 2 0 + 2 y(0) y (0) = 0,
2 + 2y2 + 2yy y (0) = 2,
6y y + 2yy(3) y(4) (0) = 0,
6y2 + 8y y(3) + 2yy(4) y(5) (0) = 0.
194
clculo numrico
y(x)
2x3
x3
= .
3!
3
Vrios sistemas computacionais dispem de facilidades para resoluo de equaes diferenciais ordinrias. Hoje, temos alguns sistemas de computao algbrica
com enorme capacidade de resoluo de equaes diferenciais de forma puramente
simblica, como por exemplo o maple e o mathematica.
y = x3 + y2 , y(0) = 0
y (xi )
y (k) (xi )
(x xi ) + +
(x xi )k .
(9.5)
1!
k!
A aproximao nos d um mtodo para determinarmos a soluo aproximada
para o problema do valor inicial caminhando ao longo do eixo x com passos h,
partindo-se do ponto inicial x0 . Assim, podemos ver que no intervalo [x0 , x1 ] a
srie de Taylor com i = 0 nos d uma aproximao de y(x). Em particular, se
desejamos o valor para x = x1 , obtemos:
y(x) y(xi ) +
y (k) (x0 ) k
y (x0 )
h + +
h .
y(x1 ) = y1 y0 +
1!
k!
Esse procedimento estabelece um algoritmo para obtermos os valores sucessivos de y(x) nos pontos da seqncia de tal forma que, para um valor y(xi+1 ),
temos:
y
yi
h + + i hk ,
(9.6)
1!
k!
onde as derivadas so obtidas a partir da equao (9.3) avaliadas para os pontos
x = x i , y = yi .
(k)
yi+1 yi +
195
(9.6) para k = 3 ite-
xi = x0 + ih, i = 1, . . . , n,
onde o valor h denominado tamanho do passo. Observe que o tamanho do passo
determinado da forma
(b a)
h=
,
n
com n 1 um valor inteiro.
Se considerarmos a srie de Taylor dada em (9.6), para o valor k = 1, temos
yi+1 = yi + hyi .
Essa equao pode ser reescrita da forma
yi+1 = yi + hf (xi , yi ),
(9.7)
onde usamos yi = f (xi , yi ). A equao (9.7) recursiva, podendo ser usada para
estimarmos y1 , y2 , . . ., partindo-se da condio inicial y0 = y(x0 ).
A frmula recursiva (9.7) chamada de mtodo de Euler para soluo do problema do valor inicial. Observe que, na recurso de Euler, no h necessidade de
fazermos qualquer derivao.
Embora o mtodo de Euler seja bastante simples, o mesmo pouco utilizado
para a soluo numrica do problema do valor inicial, j que h outros mtodos,
como veremos adiante, que possuem uma melhor ecincia e acurcia. Como
tudo tem custos e benefcios, os outros mtodos so mais complicados, porm
computacionalmente melhores.
196
clculo numrico
y = Ry, y(0) = y0 no
intervalo [0, b] e com R uma constante conhecido como modelo do juro composto
Assim, temos:
y1 = 100 + 1 (0, 12 100) = 112.
y2 = 112 + 1 (0, 12 112) = 125, 44.
y3 = 125, 44 + 1 (0, 12 125, 44) = 140, 4928.
y4 = 140, 4928 + 1 (0, 12 140, 4928) = 157, 3519.
y5 = 157, 3519 + 1 (0, 12 157, 3519) = 176, 2341683.
197
h2
y (),
2
yn+1 y(xn+1 ),
198
clculo numrico
analtica desse problema dada por y(x) = e 2 . Pelo mtodo de Euler, a soluo
deste problema at ordem 4 com o passo h = 0, 1 y4 = 1, 061106. O erro de
truncamento global dado por EG = |1, 061106 1, 083287067| = 0, 02218106699.
O mtodo de Euler a aproximao linear do mtodo da srie de Taylor.
As principais vantagens do mtodo de Euler com relao ao mtodo da srie de
Taylor para ordens mais elevadas so: primeiro, no h necessidade de clculos
de derivadas; segundo, um mtodo muito fcil de ser implementado computacionalmente.
Mtodo de Heun
O princpio dessa nova tcnica est no mtodo de Euler. Nesse mtodo, caminhamos ao longo da direo da reta tangente curva no ponto (xn , yn ), durante
todo o intervalo de comprimento igual ao passo, enquanto a curva-soluo comea
a desviar-se. Se, ao invs de considerarmos a derivada progressiva, tomarmos a
(e)
mdia das direes tangentes para os pontos (xn , yn ) e (xn+1 , yn+1 ), onde o (e)
denota o resultado determinado para x = xn+1 pelo mtodo de Euler, podemos
melhorar a aproximao.
A inclinao das duas retas tangentes determinada por:
(e)
Se denirmos os termos
(n)
k1
= hf (xn , yn ),
(n)
k2
(e)
ento, podemos dar um passo h, a partir de (xn , yn ) na direo da mdia das duas
retas tangentes, tomando
Waldir L.
Roque
199
1 (n)
(n)
yn+1 = yn + (k1 + k2 ).
2
(9.8)
(e)
no intervalo [0, 3] e
y(0) = 1. Determine o valor da soluo para um passo h = 0, 25 com duas
iteraes.
Soluo: temos para a primeira iterao:
(0)
k1
(0)
k2
y1
y =
xy
2
x0 y0
0, 25
=
= 0, 125,
2
2
(0)
(x0 + h) (y0 + k1 )
= h
= 0, 078125,
2
(0)
(0)
= y0 + 0, 5(k1 + k2 ) = 0, 8984375,
= h
k1
(1)
k2
y2
x1 y1
= 0, 0810546875,
2
(1)
(x1 + h) (y1 + k1 )
= 0, 03967285156,
= h
2
(1)
(1)
= y1 + 0, 5(k1 + k2 ) = 0, 8380737304.
= h
200
clculo numrico
(n)
k1
= hf (xn , yn ),
(n)
(n)
k2
(n)
k3
yn+1
h
k
= hf (xn + , yn + 1 ),
2
2
(n)
3h
3k2
= hf (xn + , yn +
),
4
4
1
(n)
(n)
(n)
= yn + (2k1 + 3k2 + 4k3 ).
9
(9.9)
terceira ordem.
O mtodo clssico de Runge-Kutta permite reduzir o erro global de truncamento para O(h4 ). Da mesma forma que os demais, o intervalo [x0 , b] dividido
em n partes de comprimento h. Se calcularmos agora a funo f (x, y) quatro
vezes em vez de apenas duas, como no mtodo de Heun, ou trs como o mtodo
de terceira ordem, teremos o mtodo clssico de Runge-Kutta dado a seguir:
(n)
k1
= hf (xn , yn ),
(n)
(n)
k2
(n)
k3
(n)
k4
yn+1
h
k
= hf (xn + , yn + 1 ),
2
2
(n)
h
k
= hf (xn + , yn + 2 ),
2
2
(n)
= hf (xn + h, yn + k3 ),
1 (n)
(n)
(n)
(n)
= yn + (k1 + 2k2 + 2k3 + k4 ).
6
(9.10)
201
= hf (x0 , y0 ) = h x0 y0 = 0, 4 0 1 = 0;
(0)
(0)
(0)
k1
k2
k3
k4
y1
(0)
(0)
(0)
y = f (x, y).
Se integrarmos a equao acima no intervalo [xn , xn+1 ], temos:
xn+1
xn+1
y dx =
f (x, y(x))dx.
xn
xn
(9.11)
202
clculo numrico
yn+1 = yn +
h
[f (xn , yn ) + f (xn+1 , yn+1 )] .
2
(9.12)
O erro de truncamento global do mtodo trapezoidal de ordem O(h2 ). Observe que nos mtodos de Runge-Kutta, para computarmos o valor de yn+1 as
equaes dependem apenas dos valores anteriores, isto , de xn e yn . Tais mtodos
so tambm conhecidos como mtodos explcitos. No entanto, quando olhamos
para o mtodo trapezoidal, vemos que na equao (9.12) o lado direito depende
do termo yn+1 . Ou seja, o mtodo trapezoidal um mtodo implcito. Quando
a funo f (x, y) linear, o mtodo requer a resoluo de uma equao linear,
porm, quando a funo no linear em y(x), o mtodo torna-se mais complexo,
devido necessidade de resoluo de uma equao no linear. Os exemplos a
seguir ilustram esses casos.
f(x, y) = xy linear em y(x), assim mais fcil de resolver para obter o valor
yn+1 quando tomamos um passo no mtodo trapezoidal. Considerando um passo
h = 0, 2, determine a aproximao para duas iteraes.
Soluo: Usando a equao (9.12), temos
h
y1 = y0 + (x0 y0 + x1 y1 )
2
0, 2
= 1+
(0 1 + 0, 2 y1 ) = 1 + 0, 02y1
2
y1 1, 020408.
203
y1 = 0, 1 ey1 + 1, 03678.
Usando o mtodo de Newton para resoluo de equaes transcendentais, considerando a varivel y1 , aplicando a tcnica do isolamento da raiz, vemos que no
intervalo [1, 2] existe uma nica raiz. Ento, a soluo para a equao
y1 = 1, 07105.
yn+1 = yn + hf (xn , yn ),
)
h(
(k)
(k+1)
yn+1 = yn +
f (xn , yn ) + f (xn+1 , yn+1 ) , k = 0, 1, 2, . . .
2
importante vericar se a aplicao do mtodo trapezoidal garantir convergncia para o tamanho de passo escolhido. Para isso, podemos mostrar que a
condio de convergncia para o mtodo do ponto-xo dada por:
h f
2 y < 1,
em uma vizinhana do ponto (xn+1 , yn+1 ).
204
clculo numrico
xn+2
xn+2
y dx =
xn
f (x, y(x))dx
xn
h
[f (xn , yn ) + 4f (xn+1 , yn+1 ) + f (xn+2 , yn+2 )]
3
h
= yn + [f (xn , yn ) + 4f (xn+1 , yn+1 ) + f (xn+2 , yn+2 )]. (9.13)
3
yn+2 yn =
yn+2
h
(fn2 5fn1 + 19fn + 9fn+1 ),
24
computado antecipadamente pela frmula
yn+1 = yn +
onde o termo fn+1 pn+1
pn+1 = yn +
h
(55fn 59fn1 + 37fn2 9fn3 ).
24
(9.14)
(9.15)
205
251 (5) 5
y () h ,
720
19 (5) 5
y ( ) h ,
|y(xn+1 ) yn+1 | =
720
|y(xn+1 ) pn+1 | =
|y(xn+1 ) yn+1 |
19
|yn+1 pn+1 |.
270
Dessa relao, podemos observar que o erro estimado entre os dois valores no
depende da derivada, mas apenas dos valores do preditor e corretor.
(9.16)
x(t0 ) = x0 , x (t0 ) = y0
(9.17)
(9.18)
206
clculo numrico
x (t) = y(t),
temos que x (t) = y (t), e a equao diferencial (9.18) torna-se:
x (t) = y,
y (t) = f (t, x, y),
(9.19)
(9.20)
x(t0 ) = x0 , y(t0 ) = y0 .
Agora, com base nesse sistema de duas equaes de primeira ordem com condies iniciais, podemos usar um mtodo, como Runge-Kutta, para encontrar
duas seqncias xk e yk , em que a primeira corresponde soluo numrica do
problema do valor inicial de segunda ordem.
Em geral, o problema do valor inicial de segunda ordem pode ser expresso da
forma:
(9.21)
u1 (x) = y(x),
u2 (x) = y (x).
(9.22)
(9.23)
207
(n)
(9.26)
(n)
k2,1
(n)
k1,1
k1,2
h
= hf1 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)
(n)
k2,1
k2,2
h
(n)
k3,1 = hf1 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)
(n)
(n)
(9.28)
(9.29)
(9.30)
(n)
(n)
k2,2
k1,1
k1,2
h
= hf2 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)
k3,2
k2,1
k2,2
h
= hf2 (xn + , u1 (xn ) +
, u2 (xn ) +
),
2
2
2
(n)
(n)
(9.27)
(n)
(9.31)
(n)
(n)
(9.32)
(9.33)
1 (n)
(n)
(n)
(n)
u1,n+1 = u1,n + (k1,1 + 2k2,1 + 2k3,1 + k4,1 ),
(9.34)
6
1 (n)
(n)
(n)
(n)
u2,n+1 = u2,n + (k1,2 + 2k2,2 + 2k3,2 + k4,2 ),
(9.35)
6
onde n = 0, 1, 2, , e f1 (x, u1 , u2 ) = u2 e f2 (x, u1 , u2 ) = f (x, u1 , u2 ).
(n)
Observe que por ser um sistema de equaes acopladas, o clculo dos ki,j
devem ser realizados xando-se i e variando o j , at obter-se todos os valores.
Exemplo 9.10 Seja o problema do valor inicial de segunda ordem y (x)+4y (x)+
Denindo-se
u1 (x) = y(x),
u2 (x) = y (x),
u2 (x) = y (x) = 4u2 (x) 5u1 (x),
208
clculo numrico
temos que:
u1 (0) = y(0) = 3,
u2 (0) = y (0) = 5.
(
= hf2 x0 + h, u1 (x0 ) +
(0)
k3,1 , u2 (x0 )
(0)
k3,2
)
= 0, 531375.
u1,i+1 = u1,i +
u2,i+1
209
u1,1 = u1,0 +
u2,1
Note que para obtermos a soluo para o prximo passo, isto , em y(x2 )
necessrio que tenhamos computado o valor de u2,1 , pois este valor ser utilizado
(1)
, m = 1, 2, 3, 4 e n = 1, 2.
nos clculos dos km,n
Uma extenso da tcnica aplicada para equaes de segunda ordem pode ser
utilizada para equaes diferenciais de ordem superiores. Em geral, uma equao
diferencial de ordem m pode ser escrita da forma:
(9.36)
v1 = u = v2 ,
v2 = u = v3 ,
v3 = u = v4 ,
..
.
vm1 = u(m1) = vm ,
(9.37)
vm
= u(m) = f (x, u, u , u , . . . , u(m1) ).
vk (x0 ) = ak , k = 1, . . . , m.
A soluo do sistema pode ser encontrada pela aplicao do mtodo de RungeKutta, analogamente ao realizado para o caso do problema do valor inicial de
segunda ordem.
210
clculo numrico
Exemplo 9.11 Seja o problema do valor inicial de terceira ordem dado por:
y = x + y + 2y + y2 , y(0) = y (0) = y (0) = 0.
(9.38)
(9.39)
211
y (xi )
(9.40)
(9.41)
y2 (2 + h2 q1 )y1 + y0 = h2 f1 ,
como y0 = , temos
y2 (2 + h2 q1 )y1 = h2 f1 .
(9.42)
Para i = n 1, temos:
(9.43)
y=
y1
y2
..
.
yi1
(9.44)
212
clculo numrico
(2 + h2 q1 )
1
0
0
2
1
(2
+
h
q
)
1
0
2
..
A=
.
1 (2 + h2 qi2 )
1
0
1
(2 + h2 qi1 )
B=
h2 f1
h 2 f2
..
.
2
h fi2
h fi1
(9.45)
(9.46)
escrevemos
A y = B,
(9.47)
(2 + h2 )
1
0
0
y1
y2 =
.
1
(2 + h2 )
1
0
2
y3
0
1
(2 + h )
1, 175
0, 2528
y = 0, 5214 .
0, 8225
Waldir
L.
Roque
Assinado de forma
digital por Waldir L.
Roque
DN: cn=Waldir L. Roque,
o, ou,
email=wlroque@gmail.c
om, c=BR
Dados: 2013.08.09
12:47:53 -03'00'
213
1
y
b) y = x2 y, y(1) = 1, h = 0, 1k , k = 1, 2, 3, 4, 5.
c) y = ycos(x), y(0) = 1, h = 0, 1k , k = 1, . . . , 10.
d) y = e2x 2y, y(0) = 0, 1, no intervalo [0; 0, 2], h = 0, 05
4. O crescimento populacional de certa espcie de bactria aumenta a uma
taxa que proporcional ao valor da prpria populao, e obedece ao problema do valor inicial y (t) = 1, 8y(t), y(1) = 1, 9 108 . Supondo um
perodo de cinco horas, determine, pelo mtodo de Euler, a quantidade de
bactrias tomando passos h = 1 hora, h = 1/60 horas. Quanto tempo
necessrio para a duplicao da populao?
5. Seja um projtil lanado verticalmente do solo e que cai verticalmente.
Sabemos que a resitncia do ar proporcional velocidade do projtil, o
problema do valor inicial para a velocidade do projtil dado por: v (t) =
e m
= 0, 15, use o mtodo de Heun com passo h = 0, 5 para determinar a
soluo do problema do valor inicial no intervalo t = [0, 30].
6. Um modelo ecolgico para o crescimento de certo pssaro dado pela equao diferencial dN
= 0, 89N 0, 003N 1,9 , onde t medido em meses. Qual
dt
o nmero de pssaros ao nal de um ano, quando o nmero inicial de
100 pssaros? Utilize o mtodo de Runge-Kutta para resolver a questo e
compare com outros mtodos estudados neste captulo.
214
clculo numrico
dx(t)
= x(1 y 2 ); x(0) = 5,
dt
dy(t)
= y(0, 75x 1, 5); y(0) = 2.
dt
Encontre a soluo do sistema para t = 1, com h = 0, 1, usando o mtodo
de Runge-Kutta.
8. Encontre a soluo para os problemas do valor inicial de segunda ordem
dados por
a) y (x) + y(x) = 6 cos(x), y(0) = 2, y (0) = 3. Use Runge-Kutta com
h = 0, 1 para 30 iteraes.
b) L (t) + 20L (t) + 125L(t) = 9sen (5t), L(0) = L (0) = 0. Use RungeKutta com h = 0, 05 para 50 iteraes. Essa equao descreve um circuito
eltrico RLC.
Waldir L.
Roque
Referncias Bibliogrcas
[Arenales, 07] ARENALES, S. e DAREZZO, A. Clculo Numrico: Aprendizagem com apoio de software. So Paulo : Thomson Learning, 2007.
[Barroso et al., 87] BARROSO, L. C. et al. Clculo numrico com aplicaes. So
Paulo : Harbra, 1987.
[Burden, 03] BURDEN, R. L. and FAIRES, J. D. Anlise Numrica. So Paulo
: Thomson Learning, 2003.
[Campos, 07] CAMPOS FILHO, F. F., Algoritmos Numricos. Rio de Janeiro :
Livros Tcnicos e Cientcos Editora SA, 2007.
[Claudio, 94] CLUDIO, D. M., MARINS, J. M. Clculo numrico computacional : teoria e prtica. So Paulo : Atlas, 1994.
[Eldn, 90] ELDN, L., WITTMEYER-KOCH, L. Numerical analysis : an introduction. Londres : Academic Press, 1990.
[Etchells, 97] ETCHELLS, T., BERRY, J. Learning numerical analysis through
Derive . Bolton : Chartwell-Bratt, 1997.
[Forsythe, 77] FORSYTHE, G., MALCOLM, M., MOLER, C. Computer
methods for mathematical computations. Englewood Clis : Prentice Hall,
1977.
[Homan, 01] HOFFMAN, J. D. Numerical methods for engineers and scientists.
Second Edition, New York : Marcel Dekker, Inc., 2001.
[Johnson, 77] JOHNSON, L. W., REISS, R. Numerical analysis. Reading, Mass
: Addison-Wesley, 1977.
[Kutzler, 00] KUTZLER, B., KOKOL-VOLJC, V. Introduco ao Derive 5. Linz
: Soft Warehouse Europe, Gutenberg-Werbering GmBH, 2000 (Traduo).
[Mathews, 87] MATHEWS, J. H. Numerical methods. New York : Prentice Hall,
1987.
216
clculo numrico
ndice Remissivo
Ajuste
no linear, 156
polinomial geral, 155
polinomial quadrtico, 154
por uma reta, 152
Anlise de regresso, 149
Aproximao
de Chebychev, 144
de Pad, 144
Arredondamento
para nmero mais prximo
de mquina, 41
tipo corte, 41
unidade de, 43
Base de numerao, 20
Bolzano, 62
algbricas, 51
normais, 151
transcendentais, 51
Erro
absoluto, 43
no modelo, 39
nos dados de entrada, 39
por arredondamento, 41
por truncamento, 39
relativo, 43
Exatido, 44
Extrapolao de Richardson, 166
FORTRAN, 31
Funo de iterao, 84
Gradiente, 112
Interpolao
de Gregory-Newton, 144
de Lagrange, 130
de Newton, 137
linear, 123
quadrtica, 126
Mantissa, 29
Matriz ampliada, 92
Matriz de Vandermonde, 130
Matriz Jacobiano, 112
Mtodo
da bisseo, 72
da iterao linear, 84
da pivotizao completa, 98
da quadratura Gaussiana, 179
da srie de Taylor, 188
das cordas, 78
da mquina, 44
Equaes
Jacobiano, 112
218
clculo numrico
Representao
compacta, 31
em ponto xo, 29
em ponto utuante, 29
Segunda regra de Simpson, 178
Segunda regra de Simpson
composta, 178
Sistema
compatvel, 93
decimal, 20
determinado, 93
de equaes algbricas
lineares, 91
de equaes algbricas
no lineares, 107
de ponto utuante, 31
equivalente, 95
incompatvel, 93
indeterminado, 93
hexadecimal, 28
homogneo, 93
mal-condicionado, 106
octal, 26
triangular inferior, 94
triangular superior, 94
Sistema binrio, 21
Sistema de numerao, 19
no posicional, 19
posicional, 19
Suavizao de dados, 149
Transformaes elementares, 95
Underow, 33
Unidade de arredondamento, 43
Waldir L.
Roque