Escolar Documentos
Profissional Documentos
Cultura Documentos
Cálculo Numérico Computacional - Praciano-Pereira PDF
Cálculo Numérico Computacional - Praciano-Pereira PDF
NUMERICO
COMPUTACIONAL.
Tarcisio Praciano-Pereira1
Universidade Estadual Vale do Acara
u
Sobral, 26 de janeiro de 2008
tarcisio@member.ams.org
Praciano-Pereira, Tarcisio
P496c
C
alculo Num
erico Computacional.
Sobral: UeVA, Sobral, 26 de janeiro de
2008
133.p
Bibliografia
ISBN:85-87906-05-4
1 - Linguagem - Computaca
o C/C++
2 - C
alculo Num
erico.
I. Ttulo
CDD
515.1
Sum
ario
1 A derivada aproximada
1.1 derivada . . . . . . . . . . .
1.2 Quocientes de diferencas
de ordem superior . . . . .
1.3 Polinomios de Taylor . . . .
1.4 Derivadas parciais . . . . .
1.5 Solucao de alguns exercicios
1.6 Vocabulario . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Razes aproximadas
2.1 Razes por varredura . . . . . . . . . . . . . .
2.1.1 Metodo computacional basico . . . . .
2.1.2 Busca de razes por varredura . . . . .
2.2 A troca de sinal . . . . . . . . . . . . . . . . .
2.2.1 Analise de um programa . . . . . . . .
2.3 Raz do tipo secante . . . . . . . . . . . . . .
2.3.1 Metodo da secante . . . . . . . . . . .
2.4 Quando a derivada e zero . . . . . . . . . . .
2.5 O metodo da tangente . . . . . . . . . . . . .
2.5.1 Como funciona o metodo da tangente
2.5.2 Quando o metodo nao funciona . . . .
2.5.3 A precisao do metodo . . . . . . . . .
2.6 Metodo da busca binaria . . . . . . . . . . . .
2.7 Encontrar razes, sumario . . . . . . . . . . .
2.8 Intersecao de graficos . . . . . . . . . . . . . .
3 Recursividade
3.1 exemplos . . . . . . . . . . . . . . . . . .
3.1.1 raz quadrada . . . . . . . . . . . .
3.2 Fundamentos da convergencia de iteradas
3.3 O algoritmo babibilonio e convergente . .
3.4 Exerccios . . . . . . . . . . . . . . . . . .
3.5 Solucao de alguns exercicios . . . . . . .
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
.
.
.
.
.
10
18
21
26
26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28
29
30
37
44
44
47
49
57
62
63
64
65
70
74
77
.
.
.
.
.
.
82
82
88
89
91
93
94
4 Splines
4.1 Aproximacao polinomial classica . . . . . .
4.1.1 Analise de dois casos particulares . .
4.1.2 A solucao geral do problema . . . .
4.1.3 Interpolacao polinomial de Lagrange
4.2 Funcoes polinomiais por pedacos . . . . . .
4.2.1 sensor . . . . . . . . . . . . . . . . .
4.2.2 aproximacao . . . . . . . . . . . . .
4.3 Quase-splines . . . . . . . . . . . . . . . . .
4.3.1 polinomiais . . . . . . . . . . . . . .
4.4 Valor medio integral . . . . . . . . . . . . .
4.5 Splines c
ubicos . . . . . . . . . . . . . . . .
4.5.1 convolucao . . . . . . . . . . . . . .
4.5.2 suporte compacto . . . . . . . . . . .
4.6 Solucao de alguns exercicios . . . . . . . .
4.7 Vocabulario . . . . . . . . . . . . . . . . . .
5 Integral aproximada
5.1 soma de Riemann . . . . . . . . . . . .
5.1.1 Integracao geometrica. . . . . .
5.1.2 Somas de Riemann . . . . . . .
5.2 Integral no sentido de Riemann . . . .
5.2.1 propriedades da integral . . . .
5.2.2 Calculo numerico da integral
5.3 trapesio . . . . . . . . . . . . . . . . .
5.4 polinomios . . . . . . . . . . . . . . . .
5.4.1 Apresentacao do metodo . . . .
5.4.2 Integral num sub-intervalo . . .
5.5 quasi-splines . . . . . . . . . . . . . . .
6 E.D.O.
6.1 Metodo de Euler . .
6.2 Metodo de Taylor . .
6.2.1 segundo grau
6.2.2 grau maior do
. . . . . .
. . . . . .
. . . . . .
que dois .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
101
102
105
115
124
126
127
129
135
135
137
142
144
151
158
163
.
.
.
.
.
.
.
.
.
.
.
169
170
170
171
178
180
183
189
191
192
192
199
.
.
.
.
200
203
207
207
208
211
Bibliografia
211
iii
Lista de Figuras
1
3
Ret
angulos para aproximar uma integral
Uma aproximaca
o spline de uma curva.
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
Razes de f no intervalo [, ]
Partica
o do intervalo I
. . .
3.1
3.2
3.3
4.1
4.2
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
ix
xi
. . . .
Taxa de variaca
o . . . . . . . . . . . . .
Dados obtidos com um sensor . . . . . . .
Dados obtidos por um sensor mais preciso .
Curva que interpola os dados . . . . . . .
interpolaca
o n
ao linear . . . . . . . . . .
Qual pode ser o gr
afico de f ? . . . . . . .
grafico de f analisando f . . . . . . . . .
Dados amostrais
. . . . . . . . . . . . .
Reta tangente ao gr
afico de f . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
5
6
7
8
9
17
18
20
. . . . . .
. . . . . .
Malha sobre uma regi
ao do plano . . . .
V
arios representantes da u
nica raiz
. . .
O m
etodo das secantes . . . . . . . . .
Fluxograma - m
etodo da secante . . . . .
Num ponto de tang
encia, tipo parab
olico .
Quando a derivada
e zero . . . . . . . .
Uma sequ
encia de retas tangentes... . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
rea limitada por duas curvas
. . . . . .
. . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
32
35
40
48
54
60
62
63
65
78
80
81
81
Determinaca
o de 10 . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
87
91
92
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . 104
iv
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
Duas soluco
es do problema homog
eneo
O teorema do m
odulo m
aximo . . . .
. . .
. . .
Aproximaca
o linear por pedacos - 1-spline .
interpolaca
o polinomial dos pontos . . . . .
Polin
omio de Lagrange . . . . . . . . . .
Aproximaca
o de uma funca
o . . . . . . . .
4.20
Regularizaca
o por convoluca
o
5.1
5.2
5.3
Trap
esios para aproximar a
rea
Soma de Riemann . . . . . .
5.4
5.5
5.6
a
rea do trap
esio
e uma m
edia aritm
etica
6.1
6.2
6.3
Uma poligonal-soluca
o aproximada
O m
etodo de Euler - uma poligonal
.
.
.
.
.
.
.
.
.
.
.
.
Derivada, tangente e Teorema do Valor m
edio .
Uma funca
o positiva cuja integral
e1 . . . . .
Definica
o geom
etrica - produto de convoluca
o
.
O significado geom
etrico de tr
es valores . . . .
Correca
o pelo valor m
edio numa vizinhanca de c
M
edia viciada . . . . . .
N
ucleos ou pulsos unit
arios
. . . . . . . . . . .
. . . . . . . . . .
quadrado de convoluca
o da funca
o caracterstica
2-splines . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Comparaca
o: polin
omio de Lagrange e splines .
Comparaca
o: polin
omio de Lagrange e splines - quando os n
os ficam uniformente pr
oximos.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
106
107
109
112
118
130
134
143
144
146
147
148
152
154
166
167
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . 172
. . . . . . . . . . . . . . . . . . . . . . 173
R3 2
ret
angulos da soma de Riemann para
x + 2x + 1 . . . . . . . . . . . 185
3
. . . . . . . . . . . . . . . . . 190
. . . . . . . . . . . . . . . . . . . . 197
Modelagem com polin
omios por pedacos . . . . . . . . . . . . . . . . . 198
Gr
afico do polin
omio por pedacos
soluca
o aproximada de y = yx
. . . . . . . . . . . . . . . . . . . 202
. . . . . . . . . . . . . . . . . . . 204
. . . . . . . . . . . . . . . . . . . . . 206
Introdu
c
ao
Faca apenas uma leitura superficial desta introducao como primeira leitura.
Volte a le-la depois mais algumas vezes ate que ela lhe pareca mais clara. No
incio sera difcil entende-la por completo, porque ela fala de assuntos que ser
ao
objeto do trabalho do livro. Mas, ainda assim, o seu lugar e aqui mesmo, no
incio....
O autor deste livro sente responsabilidade com @ leitor@ e quer disponibilizar material complementar que incluir no texto o deixaria demasiado longo.
Para isto ha uma pagina na Internet em que o material complementar do livro
pode ser encontrado, entretanto os links para paginas na Internet podem mudar e o endereco do autor e mais estavel, havendo dificuldade com algum link,
me envie um e-mail para tarcisio@member.ams.org, mas nao se esqueca de que
eu nao posso lhe dar cursos particulares via e-mail, use este recurso de forma
cuidadosa.
Ha duas areas muito produtivas e com objetivos e metodos diferentes em que
se utiliza o computador para fazer Matematica ou para aplicar Matem
atica:
Matem
atica aplicada e computacional, e a terminologia brasileira, que ainda
se chama de computaca
o cientfica; Um ramo da matem
atica aplicada e
computacional e an
alise numerica que e onde se encontra a nossa disciplina, o c
alculo numerico.
O nosso trabalho se enquadra, portanto, nesta area, computaca
o cientfica
e neste caso os programas que usamos como auxiliares, neste livro s
ao
scilab, gnuplot, calc, e algumas linguagens de programacao como C,
C++, Python. Todos estes itens podem ser, em geral, encontrados nas
distribuicoes Linux.
alculo
Computaca
o algebrica que tenta, com razoavel sucesso, substituir o c
aproximado pelo c
alculo formal. Representantes deste trabalho s
ao
Maxima um pacote de computacao algebrica de domnio p
ublico que
em geral e encontrado nas distribuicoes de GNU/Linux ;
vi
e ha outros que sao francamente comerciais e nao vemos razao para cit
a-los
aqui. A sintaxe usada no Maxima, MuPad, Maple e muito semelhantes,
de modo que quem ja usou algum deles, facilmente migra para outro, e
naturalmente, sugerimos que se migre para Maxima que e distribuido sob
GPL.
Metodologia de comunicacao
O texto e completado com observacoes de dois tipos. Um dos tipos se chama
claramente observacao, o outro sao as notas de rodape.
Voce deve ler as observacoes na ordem em que elas aparecerem, mas sem lhes
dar muita importancia numa primeira leitura. Em geral elas sao apresentadas
com letra pequena, para salientar o fato de que voce lhe deve dar pouca atenc
ao,
numa primeira leitura.
Para lhe permitir uma busca mais acurada de informacoes, o livro tem um
ndice remissivo alfabetico, ao final, em que todos os conceitos que surgem nas
observacoes se encontram indexados, de forma que voce podera facilmente retornar a eles quando achar necessario. Tambem se encontram indexadas todas
as palavras-chave do texto.
Quando falamos usamos encenacao para completar o sentido das palavras
usadas no discurso: mexemos as maos, o corpo e alteramos a entonac
ao da
voz. Para suprir um pouco deste teatro usaremos uma convencao tipogr
afica:
texto em it
alico representa material que voce deve olhar com cuidado, possivelmente nao esta definido ainda e estamos usando a concepcao intuitiva do termo.
Quando usarmos texto tipogr
afico estaremos fazendo referencia a um termo
tecnico ja definido anteriormente ou considerado bem conhecido como tal. As
palavras da linguagem C serao escritas no estilo tipogr
afico. Quan-do usarmos letra pequena estamos lhe querendo dizer que o assunto e polemico e que ha
muito mais coisa para ser dito do que estamos conseguindo dizer naquele momento. Usamos texto sublinhado para chamar sua atencao de um detalhe que
poderia passar desapercebido, tem o mesmo sentido texto em negrito.
O que e Calculo Numerico
Acima dissemos que este livro e sobre Calculo Numerico e queremos agora
dizer-lhe qual e o planejamento do nosso trabalho, porque ha muitas formas de
desenvolver esta disciplina e nos vamos escolher uma que nao precisa ser melhor
do que qualquer outra, apenas traduz a nossa preferencia. Se voce gostar do
nosso trabalho, insistiremos em que leia outros autores para completar a sua
visao.
De uma forma simplificada e repetir o Calculo Diferencial e Integral calculando, aproximadamente, aquilo que e obtido formalmente na outra
disciplina;
Resolver, numericamente, algumas questoes que o Calculo consegue apenas mostrar que tem solucao; Por exemplo;
determinacoes de valores, n
umeros, raizes de equacoes para os quais
o calculo formal pode ser longo ou muito complexo, isto e feito aqui
no captulo 0.
vii
-2
-3
Figura 1:
-2
-1
Ret
angulos para aproximar uma integral
Nela voce pode ver o domnio de integracao subdividido em diversos intervalos e um retangulo associado a cada um destes sub-intervalos.
A soma das areas dos retangulos e uma aproximacao para a integral desejada.
Que precisamos para fazer este calculo ? Quais sao as tecnicas envolvidas no
calculo de uma integral usando Somas de Riemann ?
Uma colecao de retangulos, devidamente dimensionados, representam uma
area que aproxima a area de uma determinada funcao.
Um programa de computador permite o calculo rapido de somas e portanto
cria as condicoes para que usemos retangulos com bases nfimas o que nos
conduz a uma grande aproximacao.
Analise e controle de variacao
Um exemplo tpico, e bem atual, e o da qualidade da corrente eletrica que
uma determinada instituicao, um hospital, por exemplo, recebe da rede p
ublica
(manipulada por empresas privadas...) Veja o grafico na figura (fig. ??),
Como se poderia tratar este problema ? Qual e o problema ? quais s
ao as
ferramentas ?
Surpreendemente, ha uma superposicao de tecnicas a serem usadas aqui e
no problema que discutimos anteriormente. Mas ha tecnicas novas tambem.
Vamos rapidamente analisar o que precisamos.
Deixando de lado a coleta de dados, que deveria ser feita por uma placa
apropriada instalada em um computador, vamos resolver o problema a partir
ix
dos dados colhidos. Estamos indicando ao lado de cada uma das etapas o
departamento cientfico responsavel pela mesma. Chamamos isto de divis
ao do
trabalho.
1. Leitura e digitalizacao de dados anal
ogicos recebidos da placa coletora de
dados (a digitalizacao pode ser trabalho da placa); (Computaca
o, Engenharia Eletrica )
2. Calculo da variacao da tensao criando uma serie temporal com estes dados;
(C
alculo Numerico e Estatstica)
3. Comparacao dos piques de tensao com valores maximais selecionados como
suportaveis. (C
alculo Numerico Engenharia eletrica)
4. Decisao, em tempo real, sobre conexao ou desconexao de aparelhos, com
desvio para nobreakes ou outro tipo de alimentacao de seguranca. (Computaca
o e Engenharia Eletrica);
5. O calculo de uma integral faz o registro do consumo da energia eletrica
recebida... (quantidade de energia que passou pela placa controladora),
calcula medias, desvios. (C
alculo Numerico
Tangente, derivadas.
Para que servem.
Examine a figura (fig. 1.1), pagina 2. Tangentes e derivada servem pelo
menos para colher mangas maduras de arvores. Mas podemos, partindo deste
exemplo, atingir um uso mais sofisticado. Como poderiamos colher mangas
maduras usando derivada ? Indiretamente, e claro.
A figura (fig. 1.1) sugere alguma coisa. Queremos lancar uma pedra, amarrada a um cordao, de modo que o cordao fique preso proximo a um conjunto
de mangas. Rodamos a pedra preza ao cordao ate que ela atinja uma velocidade angular razoavel. Quando a pedra, em seu caminho sobre o crculose
encontrar na posicao adequada, soltamos o cordao que ir
a acompanhar a pedra
se alojando entre as mangas. Usamos o coeficiente angular instaneo da pedra
percorrendo o crculopara escolher a direcao certa.
O mecanismo e o mesmo quando um computador vai dirigir a trajet
oria de
um foguete. Com as informacoes guardadas na memoria do computador sobre o
mapa da Terra em sua orbita, o computador calcula a cada milesimo de segundo
qual deve ser o coeficiente angular relativo do eixo do foguete e desta forma vai
corrigindo a rota que levara a nave ao seu destino.
O piloto automatico dos grandes avioes comerciais fazem algo parecido. Ao
partir o piloto humano coloca o aviao na direcao do aeroporto de destino. O
piloto automatico vai medindo o erros de rota impostos pelo fluxo do ar e calculando a direcao para corrigir o erro.
Aproximacao polinomial de curvas
As funcoes nos fornecem dados dinamicos sobre diversos fenomenos. Mas
nem sempre a natureza se conforma `a matematica como nos gostariamos...
xii
Captulo 1
A derivada aproximada
A taxa de variacao de f e uma das informacoes mais importantes
que podemos ter sobre um fenomeno descrito por f . O Calculo
Diferencial e Integral define a derivada, usando o limite da taxa
de variacao ou a taxa de variaca
o instant
anea
A taxa de variacao e definida por um quociente de diferencas e
esta e a definicao basica que iremos usar neste captulo.
1.1
Quociente de diferencas
Uma funca
o f
e diferenci
avel se em cada ponto do domnio o gr
afico
graf (f ) tiver uma reta tangente
A reta tangente no ponto (a, f (a) tem um coeficiente angular m e n
os diremos
que f (a) = m. A funca
o derivada, f
e uma outra funca
o que descreve as
derivadas de f e portanto as taxas de variaca
o instant
aneas de f . No C
alculo
dizemos que a derivada define a reta tangente ao gr
afico, aqui preferimos
inverter a forma de falar porque vamos criar modelos, funco
es, a partir de
dados amostrais e a taxa de variaca
o ser
a frequentemente um desses dados
amostrais.
Aqui se quebrou
o cordo
Figura 1.1:
(1.1)
a+h
(f(a+h)f(a))/h
Taxa de variao
Figura 1.2:
Taxa de variaca
o
f (a1 )f (a)
a1 a
f (a2 )f (a)
a2 a
(1.2)
(1.3)
m3 =
f (a3 )f (a)
a3 a
(1.4)
(1.5)
(1.6)
(1.7)
(1.8)
(1.9)
(1.10)
(1.11)
e a equacao de uma reta e o grafico da funcao nao precisa ser uma reta3 ent
ao a
igualdade representada pela reta esta errada e e isto que estamos representando
uma forma pratica de indicar que existe
com o termo de correcao o(x a). E
um erro sem precisar entrar no detalhe do valor do erro.
2 A nota
ca
o dos o s de Landau nos ajudam a falar de aproximaca
o de uma forma pr
atica
escondendo a precis
ao, veja mais a respeito no ndice remissivo
3 compare as equa
co
es 8 e 10
Observa
c
ao 1 Porque falar em aproximaca
o
Falaremos seguidamente de aproximaca
o, neste livro. Podemos dizer que
Calculo Numerico faz de forma aproximada o que o C
alculo Diferencial e Integral diz que faz exatamente.
Porque falar que as secantes sao aproximacoes da tangente?
Veja a seguinte experiencia que voce certamente j
a fez4 .
Suponha que voce deseje recortar um crculo em papel. A geometria nos
ensina que as tangentes a um crculo s
ao perpendiculares ao raio. Assim, se
Posio da tesoura,
perpendicularmente,
ao raio do crculo
se n
ao tiver feito, use a primeira oportunidade para executar a experi
encia que estamos
aqui relatando...
Dados amostrais
x
1
2
Figura 1.3:
x4
;
;
f (x13 )f (x12 )
x13 x12
f (x23 )f (x22 )
x23 x22
(1.12)
(1.13)
x
51
x
1
x4
52
53
i3
i2
Figura 1.4:
f (x32 )f (x31 )
x32 x31
f (x42 )f (x41 )
x42 x41
f (x52 )f (x51 )
x52 x51
;
;
;
f (x33 )f (x32 )
x33 x32
f (x43 )f (x42 )
x43 x42
f (x53 )f (x52 )
x53 x52
(1.14)
(1.15)
(1.16)
s
ao curvas, poligonais, s
ao curvas, e tem curvas que n
ao retas...
x
1
2
Figura 1.5:
x4
Vamos ver como fazer isto no captulo 0, esta curvas interpolantes ser
ao
pedacos de polin
omios.
Agora, com as taxas de variaca
o podemos descrever melhor o fen
omeno medido. Lendo o gr
afico contido na figura (fig. 1.6), podemos dizer
H
a um ponto de mnimo do fen
omeno entre os pontos x1 e x2 ;
o crescimento abrupto que parecia acontecer entre x3 e x4 de fato acontece
num pequeno pedaco deste intervalo, a partir do ponto medio.
tambem houve um crescimento abrupto pr
oximo do ponto x5 .
Observe que a interpolacao linear n
ao nos permitia tecer nenhuma dessas consideraco
es. Sem o conhecimento da taxa de variaca
o em cada um dos pontos, tudo
que podemos fazer e uma interpolaca
o linear que descreve um comportamento
uniforme entre os pontos em que as medico
es foram feitas.
Este exemplo nos mostra uma situaca
o bem concreta do dia-a-dia em que a
derivada formal seria in
util6 . A derivada tem que ser obtida aproximadamente
a partir de algumas medico
es finas tomadas em alguns pontos escolhidos.
O exemplo tambem nos mostra a import
ancia da derivada como informaca
o
complementar.
6 mas
se voc
e estiver deduzindo que o estudo do C
alculo
e in
util, engana-se. Precisamos
de teorias formais, para produzir a t
ecnica e as aproximaco
es, mas isto
e uma hist
oria mais
longa, envolva o professor nesta discuss
ao...
x
1
i2
Figura 1.6:
x4
i3
interpolaca
o n
ao linear
f (a+x)f (a)
x
1. micro medico
es Considere a funca
o f (x) = (x + 3) (x 4) e no ponto
x = 3 considere as micro-medico
es
(3, f (3)), (3.01, f (3.01)), (3.02, f (3.02)).
(3)
(3.01)
Calcule 3 (f ) = f (3.01)f
e 3.01 (f ) = f (3.02)f
e a media aritmetica
0.01
0.01
3 (f )+3.01 (f )
2. micro medico
es Repita a quest
ao anterior com o ponto x = 4 com x =
0.001
3. Sabendo que f (1) = 3, f (1) = 1 qual dos gr
aficos na figura (fig. 1.7)
p
agina 9, corresponde ao gr
afico de f . Justifique sua resposta.
f
f
Figura 1.7:
2
4. Calcule a (f ) = f
x com f (x) = x + 3x + 2 no ponto x = a e com os
valores de x indicados
x=a
1
2
1.5
x
0.1
0.1
0.1
x
0.01
0.01
0.01
x
0.001
0.001
0.001
x=a
1
2
1.5
x
0.001
0.001
0.001
10
|f (a) a (f )|
a (f )(1)
0.667
0.002
0.812
2.926
5.895
a (f )(2)
0.701
0.001
0.774
2.861
5.816
a (f )(3)
0.719
0.000
0.755
2.828
5.776
a (f )(4)
0.728
0.000
0.746
2.812
5.756
f(a)
3
-5
-7
-14
-20
1.2
Quocientes de diferencas
de ordem superior
Se calcularmos a diferenca entre dois quocientes de diferencas sucessivos
2a (f ) =
a+x (f ) a (f )
x
11
2a (f ) =
(1.17)
=)/x
(1.18)
(1.19)
Nao havendo d
uvida7 nos usaremos uma notacao mais simples para os quocientes
de diferenca de segunda ordem:
2 (f ) = 2a (f )
(1.20)
Enquanto que os quocientes de diferencas de primeira ordem sao razoavelmente precisos, quando passamos aos de segunda ordem, e preciso ter muito
cuidado com os resultados porque a precisao cai.
Veja seguinte listagem obtida com a funcao:
f (x) = (1 x2 )sin(x/4)
Usamos um programa feito em calc que tem uma sintaxe semelhante a da
linguagem C, e o programa deriva02.calc que voce pode encontrar em [20,
programas.tgz]. A listagem foi editada e resumida, voce pode rodar e alterar o
programa para ganhar mais experiencia. Nao tema extragar os programas, eles
estarao na pagina `a sua diposicao quando voce cometer erros e nao souber como
corrig-los, aprenda, tranquilamente, a alterar os programas.
O programa derivada02.calc produz uma sada de dados pronta para usar
em um texto com LATEX. Experimente a versao derivada03.calc que produz
o resultado no terminal.
As funcoes d2f() e ddf() sao idendticas.
ddf() calcula o quociente de primeira ordem da funcao df(), que calcula o
quociente de primeira ordem de f(), corresponde a equacao (17), d2f() calcula
diretamente o quociente de segunda ordem usando f(), corresponde a equac
ao
(19).
Intervalo [0, 10], passo 1, Delta = 0.000001
x
0
1
2
3
4
5
6
7
8
9
d2f
-0.000001520000
-1.463721700812
-2.624124797793
-3.217524857357
-3.055271491335
-2.051102544324
-0.237390644956
2.231711106131
5.090941230838
7.987785378986
ddf
-0.000001520000
-1.463721700812
-2.624124797793
-3.217524857357
-3.055271491335
-2.051102544324
-0.237390644956
2.231711106131
5.090941230838
7.987785378986
exata
-0.5
-1.463720340220
-2.185332631556
-2.485835877783
-2.244818686029
-1.420459396864
-0.060549895849
1.696970169472
3.634424528937
5.475087704277
7 (f ), um quociente de diferen
cas, e f = f (x2 ) f (x1 ), uma diferenca, como x =
x2 x1
12
coef. angular
m
3
1
no ponto
(a, b)
(1, 3)
(1, 3)
coef. angular
m
1
2
(c) te
orica Escreva a equaca
o da reta que passa nos pontos (a1 , b1 ), (a2 , b2 ).
es das retas que passam nos pontos in(d) aplicaca
o Escreva as equaco
dicados em cada um dos itens abaixo. Para cada caso faca gr
aficos
precisos. Voce pode usar gnuplot ou xfig para fazer estes gr
aficos,
mas deve indicar por escrito como fez.
P1
(a1 , b1 )
(1, 3)
(1, 3)
P1
(a2 , b2 )
(1, 3)
(3, 3)
P1
(a1 , b1 )
(1, 3)
(1, 3)
13
P1
(a2 , b2 )
(3, 1)
(2, 5)
Para cada
item abaixo faca o gr
afico da funca
o e da reta tangente no ponto
(a, f (a)) indicado. Voce pode usar gnuplot ou xfig para fazer estes
gr
aficos, mas deve indicar por escrito como fez.
f (x) = (x + 3)(x 4)
f (x) = (x + 3)(x 4)
f (x) = (x + 3)(x 4)
f (x) = sin(x)(x + 1)
f (x) = sin(x)(x 1)(x 5)
f (x) = cos(x)(x + 3)(x 4)
a = 3
a=4
a = 0.5
a = 4
a = 2
a = 0.5
14
(1.21)
15
16
Solu
c
ao 1 A derivada da funca
o f (x) = x3 3x2 9x + 2 e uma funca
o
do segundo grau, cujos zeros sabemos calcular.
f (x) = x3 3x2 9x + 2
f (x) = 3x2 6x 9 = 0 = x2 2x 3
(1.22)
(1.23)
x = 2 24+12
=3=
x1 = 2+4
2
(1.24)
(1.25)
x2 = 1 =
(1.26)
As razes, x1 , x2 da derivada s
ao pontos de extremos de f , neste caso com
certeza porque s
ao zeros isolados de um polin
omio.
Temos duas maneiras de determinar se s
ao m
aximo ou mnimos. Uma
consiste em calcular a segunda derivada e verificar o sinal. Outra consiste
em verificar a variaca
o em volta do ponto.
Vamos usar o teste da segunda derivada. Lembrando a f
ormula de Taylor,
a segunda derivada representa a concavidade da funca
o e portanto mostra uma par
abola que lhe e semelhante no ponto. Se f (xi ) for positiva,
ent
ao f neste ponto lembra uma par
abola com com o vertice para baixo,
passando por um mnimo. Se for negativa passar
a por um m
aximo.
ponto
f (x1 )
f (x2 )
diagn
ostico
passa por um mnimo
passa por um m
aximo
valor no ponto
f (x1 ) = 25
f (x2 ) = 7
O esboco gr
afico de f pode ser visto na figura (1.8) p
agina 17,
Comandos do gnuplot usados na resoluca
o desta quest
ao
f(x) = x**3 - 3*x**2 - 9*x + 2
df(x) = 3*x**2 - 6*x - 9 ## x**2 - 2*x - 3 = 0
a1 = (2 + sqrt(4+12))/2.0
a2 = (2 - sqrt(4+12))/2.0
print df(a1)
print df(a2)
plot df(x),0
ddf(x) = 6*x - 6
print ddf(a1)
print ddf(a2)
set xrange [a2-2:a1+2]
plot f(x),df(x),0
plot f(x),df(x),0
set terminal post enhanced portrait
set output derivada_funcao01.eps
plot f(x),df(x),0
17
40
f(x)
df(x)
0
30
20
10
-10
-20
-30
-3
-2
-1
Figura 1.8:
grafico de f analisando f
10
6
2
0
3
7
9
Figura 1.9:
1.3
18
28.6
15.4
2.2
4.4
11.7
22.5
27.9
Dados amostrais
Polin
omios de Taylor
(1.27)
(1.28)
(1.29)
(1.30)
(1.35)
(1.36)
f (a)
2
(1.37)
P (a) = f (a) a2 =
8 esta
9 os
(1.33)
(1.34)
f
ormula est
a errada!
coeficientes
e que s
ao as inc
ognitas deste problema....
19
a2 =
f (a)
2
Este exemplo tambem lhe mostra a razao pela qual a equacao do movimento
acelerado (caso da gravidade) e
g
v = s0 + v0 (t a) + (t a)2
2
(1.39)
(1.40)
(1.42)
20
Aqui voce pode observar a crtica diferenca entre o calculo feito manualmente (e formalmente) e os calculos automaticos. Podemos atingir precis
oes
muito maiores com o calculo manual, mas possivelmente com um grande lapso
de tempo, nao esquecendo que nele estamos sujeitos a erros diversos. No entanto, no calculo automatico os computadores incluem outros tipos de erros
com a inevitavel aproximacao com que tem que trabalhar. A conclus
ao, nos
a repetiremos com frequencia, e temos que fazer os c
alculos com programas de
computador, mas temos que monitorar os resultados e saber analis
a-los criticamente para tirar o bom proveito que eles nos podem trazer.
No pen
ultimo captulo 0 iremos estudar aproximacao polinomial quando
necessitaremos que voce tenha uma boa pratica com do uso do polin
omio de
Taylor e de programacao, eis uma boa razao para lhe oferecermos logo uma
lista de exerccios.
Exerccios 3 Polin
omios de Taylor
ormula de Taylor. A derivada
1. Reta tangente ao gr
afico de uma funca
o F
de uma funca
o nos fornece o coeficiente angular instant
aneo da mesma no
ponto:
f (a) e o coeficiente angular instant
aneo de f em (a, f (a))
Veja na figura (fig. 1.10),
600
f(x)
reta(x)
0
500
400
300
200
100
100
200
300
Figura 1.10:
Reta tangente ao gr
afico de f
21
reta que passa no onto (a, f (a)), com coeficiente angular f (a).
solu
c
ao: altere derivada02.02.gnuplot
2. An
alise do gr
afico de f
(a) par
abola tangente Encontre a par
abola tangente ao gr
afico de
f (x) = (1 x2 )sin(x/4)
no ponto (4, f (4)) e deduza como e o gr
afico de f nas vizinhancas
deste ponto.
solu
c
ao: altere derivada02.03.gnuplot
abola tangente ao gr
afico de f no
(b) par
abola tangente Encontre a par
ponto (2, f (2)) e deduza como e o gr
afico de f nas vizinhancas
deste ponto.
solu
c
ao: altere derivada02.03.gnuplot
(c) Deduca
o do gr
afico de f Com base nas duas informaco
es10 obtidas
anteriormente, simule o gr
afico de f numa vizinhanca do intervalo
[1, 1].
ao usual dos polin
omios e
3. Polin
omio desenvolvido em um ponto A express
desenvolvida no ponto x = 0
P (x) = a0 + a1 x + a2 x2 + a0 x3 + + an xn
(1.43)
Usando polin
omio de Taylor podemos desenvolver um polin
omio em qualquer outro ponto.
Desenvolva o polin
omio
P (x) = 3 x + 2x2 3x3 + 5x4
(1.44)
no ponto x = 3 e faca os gr
aficos dos dois polin
omios com gnuplot.
Comente o resultado obtido.
solu
c
ao:11 num terminal, rode calc < poltay2.calc
1.4
Derivadas parciais
Vamos generalizar a formula de Taylor para o caso multivariado. Aqui a restricao sera mais forte, nao passaremos do primeiro grau e a considerac
ao feita
anteriormente sobre erros nas aproximacoes de derivadas de ordem maior se
10 este
22
aplica, fora que a otencao de dados amostrais com taxas de variacao parcial
maior do que um e bem mais difcil de ser obtida.
Se considerarmos uma express
ao dependendo de varias variaveis
F (x, y, x) = d
(1.45)
F
F
F
dx +
dy +
dz = 0
x
y
z
(1.46)
(1.47)
(1.48)
a) +
F
y
(y b) +
F
z
(z c) = 0
x
|(a, b, c) 6= 0 z c = F
(x a)
z
F
y
F
z
(1.49)
(y b)
(1.50)
x
z = f (x, y) ; f
x = F ;
z
12 variedade
F
y
= F
f
(x a) + f
(y b) ; c =
x
y
f
f (a, b) + f
x (x a) + y (y b) ; c
zc=
z=
f
y
(1.51)
f (a, b)
(1.52)
= f (a, b)
(1.53)
23
e assim temos duas formulas que podemos adaptar para fazer aproximac
oes
de funcoes com duas ou tres variaveis sendo imediato (basta considerar mais
derivadas parciais) estender estas formulas para um n
umero qualquer que se
15
precise de variaveis
O smbolo := que utilizamos, apareceu com a linguagem de programac
ao
Pascal para evitar a confusao com a igualdade matematica. Queremos dizer
que os dois objetos que se encontram de cada lado do smbolo := tem natureza
distinta, mas que e possvel fazer uma deducao de um, a partir do outro.
Observe que a equacao (53 ) e a f
ormula de Taylor multivariada, de grau 1
para a funcao = f (x, y).
Existe tambem uma f
ormula de Taylor multivariada de grau 2, de grau
3, etc... mas em geral nao passamos da formula do primeiro grau, devido as
imprecisoes que o calculo numerico joga nas derivadas de ordem superior.
Exerccios 4 Polin
omio de Taylor
Voce deve usar gnuplot para obter todos os gr
aficos, mas deve apresentar
toda a justificaca
o das equaco
es que usar.
O comando do gnuplot para fazer gr
aficos de funco
es de duas vari
aveis e
splot f(x,y)
es (53),
1. Te
orica - polin
omio do segundo grau tangente Expanda as equaco
(44) para encontrar aw equaco
es de uma par
abola (polin
omio do segundo
grau) tangente ao gr
afico de f memorizando tambem a curvatura (segunda
derivada)
y = A + B(x a) + C(x a)2
(1.54)
Um polin
omio desenvolvido16 no ponto x = a.
solu
c
ao: polin
omio de Taylor do segundo grau no ponto x = a
2. Te
orica - polin
omio do terceiro grau tangente Expanda as equaco
es (53),
(44) para obter as condico
es que facam de
P (x) = A + B(x a) + C(x a)2 + D(x a)3
(1.55)
um polin
omio do terceiro grau, tangente ao gr
afico de f no ponto (a, f (a)).
Descreva as equaco
es para determinarmos os coeficientes A, B, C, D.
solu
c
ao: polin
omio de Taylor do terceiro grau no ponto x = a
3. F
ormula de Taylor
(a) Ache o desenvolvimento de Taylor para f (x) = sen(x) no ponto x = 0
de ordem 7 (grau 7) (um polin
omio de grau 7).
15 os
problemas econ
omicos lidam com espacos de dimens
ao de alguns milhares, o que justifica a grande dificuldade no planejamento econ
omico, por outro lado justifica trabalharmos
com dimens
oes altas.
16 novamente, um polin
omio desenvolvidono ponto x = a
24
z c + A(x a) + B(y b) = 0
z = c A(x a) B(y b)
(1.56)
(1.57)
f
x (x
a) +
f
y (y
b)
(1.58)
(1.59)
(1.60)
25
f
y (y b)
f
z a = f (a, b) (x a) + f
(y b)
z
y
f
a = f (a, b) (x a) + f
x (x a) + y (y
(1.61)
z a = f (a, b) (x a) +
(1.62)
b)
(1.63)
solu
c
ao: z = 5 + 2(x 1) + 3(y 2); f (1.1, 2.1) 4.5
i. Escreva a equaca
o do plano tangente ao gr
afico de f no ponto
(1, 2, f (1, 2))
ii. calcule aproximadamente
f (1.1, 2.1)
(e) F
ormula de Taylor multivariada de grau 1 Observe que a equaca
o do
plano tangente pode ser escrita de forma semelhante a
equaca
o da
reta tangente. Encontre as semelhancas e escreva a formula de Taylor
multivariada de grau 1. Voce vai precisar de um produto de matrizes
(estas matrizes se chamam de gradiente ou Jacobiana).
6. Polin
omio Esta e uma variante do metodo polinomio de Taylor. Podemos
encontrar um polin
omio que memoriza as informaco
es de uma funca
o de
forma parecida com o polin
omio de Taylor, mas usando informaco
es em
dois pontos. Encontre um polin
omio P desenvolvido no ponto x = a tal
que
P (a) = f (a); P (a) = f (a)
P (b) = f (b); P (b) = f (b)
P (3) = 1
P (3) = 1
b) P (3) = 3
P (3) = 3
Faca os gr
aficos destes polin
omios usando gnuplot
P (3) = 1
P (3) = 1
1.5
Solu
c
ao de alguns exercicios
1.6
Vocabul
ario
26
(1.64)
y
=0
x=0 x
(1.65)
x = O(y) lim
x = o(y) lim
No primeiro caso, equacao (64), o significado e que para valores cada vez
menores de x as variaveis x, y se encontram numa proporcao e podemos
dizer que sao comparaveis.
Este e o caso
f
f (x) f (a)
=
(1.66)
x
xa
quando a funcao for diferenciavel no ponto a com derivada diferente de
zero. Neste ponto a funcao tem uma tangente paralela a reta
x 7 Kx
(1.67)
27
Captulo 2
Razes aproximadas de
fun
c
oes contnuas
O plano do trabalho e:
mostrar e exemplificar o problema;
apresentar uma primeira solucao computacional, simples, ingenua mesmo,
usando varredura eliminando parte do problema;
mostrar uma solucao mais efetiva;
apresentar os metodos, metodo da secante e o metodo da tangente e imergir
estes metodos em metodos computacionais;
vamos estudar dois metodos matematicos importantes, busca bin
aria e
sucess
oes recursivas;
28
29
2.1
Estamos interessados
nesta raz
Figura 2.1:
Razes de f no intervalo [, ]
30
2.1.1
Um m
etodo computacional: varredura
31
.
(2.1)
x =
n
Quando a malha for uniforme este conceito perde sentido, e a medida de qualquer sub-intervalo. Ele e importante quando as malhas
nao sao uniformes porque serve para controlar a distribuicao quaseuniforme dos nos, impedindo que uma grande de quantidade de n
os
se concentre em uma pequena sub-regiao.
(b) nos da malha Podemos agora definir os n
os como os elementos de
uma progress
ao aritmetica
= x0 , x1 , , xn =
(2.2)
x0 = ,
x1 = + x,
(2.3)
(2.4)
x2 = + 2x, ,
xk = + kx, ,
(2.5)
(2.6)
, xn1 = + (n 1)x,
xn = + nx =
(2.7)
(2.8)
ou
1 ou
norma da partica
o
(2.9)
(2.10)
(2.11)
(2.12)
32
desprezamos o primeiro no
(xk )nk=1 = x1 = + x, , xn =
x1 = + x, x2 = + 2x, ,
(2.13)
(2.14)
(2.15)
(2.16)
xn
x0
x1
Partio do
intervalo I
Figura 2.2:
Partica
o do intervalo I
Algumas vezes preferimos salientar que este processo criou uma colec
ao
de sub-intervalos
I0 = [x0 , x1 ),
I1 = [x1 , x2 ), . . . ,
(2.17)
(2.18)
In1 = [xn1 , xn ]
I0 I1 In1 = I
(2.19)
(2.20)
cuja uni~
ao e o intervalo I sendo estes sub-intervalo disjuntos. Esta
colecao de sub-intervalos e o que chamamos uma parti
ca
~o de I
Em Matematica gostamos de pensar que escolhemos uma coleca
o
arbitr
aria de pontos
x0 , x1 , x2 , . . . , xn1 , xn I
(2.21)
33
(2.22)
como ja descrevemos.
Esta express
ao aparecera com frequencia neste livro.
Observa
c
ao 2 Aprendendo a ler ou a programar
O programa raizes01.c, [20, programas.tgz], e um implementaca
o deste
metodo, mas ele faz um pouco mais do que isto, procura algumas razes.
Leia o programa sem stress.
lendo programas que a gente aprende a programar, assim como e lendo
E
os autores cl
assicos que a gente aprende a escrever.
Mas nem aprendemos a escrever apenas lendo como n
ao aprenderemos
34
(2.23)
1 1
2 2
; y =
n
n
(2.24)
Agora o produto cartesiano dos dois conjuntos de nos em cada intervalo, define um conjunto de n
os no plano, uma malha no plano;
temos que selecionar um sub-conjunto desta malha que fique no interior de , veja a figura (fig. 2.3).
Se for definido por uma express
ao algebrica, pode ser simples a selec
ao
automatica dos nos que esteja no seu interior.
Frequentemente este e um outro problema a ser resolvido, mas este livro
vai lhe apresentar, no captulo 0 uma tecnica, aproximacao polinomial,
que pode fornecer a equacao algebrica determinando o contorno de uma
figura como (fig. 2.3) a partir de uma coleta de dados como uma fotografia
aerea, por exemplo, ou um conjunto de medicoes tomadas no proprio local.
Veja na figura (fig. 2.3), um domnio, , do plano, em que colocamos uma
malha e fizemos a selecao dos pontos da malha que se encontram dentro
do domnio.
35
1 1
;
n
2 1
;
n
(2.25)
(2.26)
(2.27)
36
mostrar ao leitor, onde ele pode fazer uso de malhas multidimensionais e uma
pista de como encontrar a solucao para os problemas envolvidos.
Tais situacoes podem ser facilmente encontradas como aplicacoes do c
alculo
aproximado de integrais.
Exemplo 2 Uso de malhas multidimensionais
1. Populaca
o de microrganismos numa lamina. Sabendo que os microrganismos a serem estudados s
ao capazes de um certo tipo de reaca
o, e possvel
pint
a-los com uma soluca
o qumica que far
a com que eles respondam a
reaca
o qumica com um comprimento de onda, que habitualmente chamamos de cor. Cada um dos pontos da figura (2.3) pode ser descrito como
aquele que o sensor captou como estando na faixa de comprimento de onda
que identifique a presenca dos microrganismos que interessa.
Depois podemos contar a quantidade de microrganismos calculando a a
rea
da regi
ao que eles ocupam. O bi
ologo deve, experimentalmente, descobrir
uma constante especfica que permita transformar esta a
rea na quantidade
microrganismos presentes na l
amina.
ao urbana. A figura (2.3) pode representar
2. Fotografia de satelite de regi
uma regi
ao fotografada por um satelite e novamente, via comprimento de
onda, se pode detectar intensidade construco
es urbanas, florestas etc...
Neste caso a fotografia pode ser feita sob emiss
ao de uma onda com uma
comprimento particular, ver [14, onda], objetivando obter um determinado
resultado: florestas, construco
es urbanas, determinados tipos de poluica
o.
Novamente o c
alculo da a
rea da regi
ao determinada vai permitir uma avaliaca
o da regi
ao urbana, da floresta, ou da quantidade de poluica
o que se
estiver observando. Aqui tambem constantes especficas permitem a transformaca
o da a
rea nas quantidades que seja deseja determinar.
No captulo 0 vamos estudar o c
alculo aproximado das integrais.
Estes exemplos s
ao bastante genericos e mostram a amplitude do uso de
integrais multivariadas.
Estas aplicacoes fogem ao planejamento deste livro mas se o leitor precisar, encontrara aqui meios para fazer estas aplicacoes, se puder contar com
informacoes sobre as constantes mencionadas nos exemplos, na literatura especializada.
Pelo menos um metodo para calculo de integrais multivariadas sera visto no
captulo 0.
Malhas num programa de computador
Dentro de um programa de computador, podemos implementar a progress
ao
aritmetica definida na (eq.1 )
x=
enquanto (x < )
37
// (1)
// (2)
{
x = x + x
}
// (3).
1. o ponto inicial
2. a logica que controla o laco
3. a progress
ao aritmetica que define os nos da malha
Este pequeno programa n
ao faz nada, visvel ! Seria preciso um comando
para guardar, num arquivo, no disco, os elementos da progress
ao aritmetica ou
faze-los aparecer na tela do computador:
(1)
x =
n
x=
enquanto (x < )
// (1)
// (2)
{
x = x + x
imprima(x)
}
// (3).
// (4)
2.1.2
38
[1]
[2]
{
se (|f (x)| < ) escreva x, f (x);
x = x + x
}
[3]
[4]
Este livro nao pode oferecer-lhe tecnicas de programacao, sem fugir dos seus
objetivos, mas algumas sugestoes podem ser encontradas aqui. Uma delas e
basica: construa programas que executem tarefas especficas e bem restritas,
depois cole os programas para produzir um algorimo mais complexo, quando
tiver certeza de que todas as etapas anteriores foram bem testadas.
Outra forma de fazer programas eficientes consiste em partir de um programa
como este que esta acima e ir acrescentando ao programas novas rotinas. Mesmo
neste caso vale a observacao anterior: teste as rotinas separadamente antes de
inclu-las no programa.
Esta metodologia se presta para o trabalho em equipe.
Descricao das etapas do programa
1. valores iniciais para as variaveis
2. a logica que controla o laco
3. o teste para encontrar as razes aproximadas
4. a progress
ao aritmetica que define os nos da malha
Exemplo 3 Procura de razes
Todos os exemplos apresentados aqui foram executados com programa
raizes01.c
que pode ser obtido aqui,[20, programas.tgz], ou no CD que acompanha este
livro. Em seguida lhe apresentamos uma lista de exerccios em que voce ser
a
convidado a usar o programa para repetir estes exemplos e construir outros para
melhorar a sua compreens
ao do assunto.
1. Raiz de f (x) = x2 no intervalo [1, 1]
Rodamos um programa que implementa o algoritmo acima. O programa
solicita os pontos inicial e final do intervalo de busca, e pede a norma da
malha, depois o programa usa a pr
opria norma da malha no teste
|f (x)| < = x
39
Aqui voce j
a pode ver uma dificuldade na determinaca
o de razes aproximadas, com programas de computador. O programa encontrou duas raizes,
uma no intervalo [0.1, 0] e outra no intervalo [0, 0.1] que representam,
ambas, a mesma raz, x = 0.
Este e o problema intitulado separacao das razes . O nome n
ao e dos
melhores porque, como voce ve, acima, n
ao h
a duas razes e sim uma u
nica
que foi apresentada como aparecendo em dois intervalos consecutivos.
A figura (fig. 2.4) p
agina 40, pretende ilustrar o problema descrito no
exemplo. Uma malha muito fina levar
a o programa a encontrar v
arios
pontos que satisfazem a desigualdade.
Este e um dos principais problemas em C
alculo Numerico: nos n
ao sabemos fazer programas que possam funcionar sozinhos.
Temos que monitorar o resultado dos programas e selecionar, dentre as
possibilidades por eles encontradas, quais s
ao interessantes. Este mesmo
programa poderia n
ao encontrar nenhuma raz no intervalao indicado, se
usarmos um valor muito pequeno para . Veja o resultado se modificarmos
o programa com x 6=
Forneca-me o intervalo [a,b] para busca de raizes:
a = -1 b = 1
40
|y| < r
Figura 2.4:
V
arios representantes da u
nica raiz
41
a = -1 b = 1
Sua busca de raizes no intervalo [ -1.000000 , 1.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta
< 0.5
delta = 0.1
Precisao da malha: 0.100000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon
< 0.5
0.001
Erro : 0.001000
=================================================
Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[0.000000,0.100000]
valor de f no ponto 0.000000 --> 0.000000
valor de f no ponto 0.100000 --> 0.010000
O programa analisou os intervalos
[1, 0.9], [0.9, 0.8], . . . , [0.1, 0], [0, 0.1]
e achou uma raiz no intervalo [0, 0.1]. Se o programa tivesse testado os
dois extremos de cada intervalo, teria achado tambem uma raz no intervalo [0.1, 0].
2. razes de f (x) = x5 + x4 + x3 + x2 + x + 1 em [3, 3]
Forneca-me o intervalo [a,b] para busca de raizes:
a = -3 b = 3
Sua busca de raizes no intervalo [ -3.000000 , 3.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta
< 0.5
delta = 0.01
Precisao da malha: 0.010000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon
< 0.5
0.1
Erro : 0.100000
=================================================
Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[-1.030002,-1.020002]
valor de f no ponto -1.030002 --> -0.095599
valor de f no ponto -1.020002 --> -0.062463
Raiz provavel da funcao no intervalo
[-1.020002,-1.010002]
42
Esta funca
o tem uma u
nica raz, no ponto x = 1 e o programa encontrou
v
arios intervalos em que o valor de |f (x)| < . Rodando o programa
novamente, com o valor menor para temos
Forneca-me o intervalo [a,b] para busca de raizes:
a = -3
b = 3
Sua busca de raizes no intervalo [ -3.000000 , 3.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta
< 0.5
delta = 0.01
Precisao da malha: 0.010000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon
< 0.5
0.0001
Erro : 0.000100
=================================================
Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[-1.000002,-0.990002]
valor de f no ponto -1.000002 --> -0.000006
43
--> 0.029401
44
2.2
(2.29)
2.2.1
An
alise do programa raizes01.c
45
Este metodo nos livra do relativismo2 . Quando uma funcao contnua trocar
de sinal em um intervalo, neste intervalo ha um ponto (pelo menos) em que a
funcao vai se anular.
Se introduzirmos esta pequena melhora no programa ele ira encontrar uma
raiz aproximada com os mesmo dados (x, ).
Vamos incluir o teste
f (x) f (x + x) 0
que descobre quando f troca de sinal dentro de um intervalo.
O programa
x =
n
x=
enquanto (x < )
[1]
[1]
[2]
{
se (|f (x)| < ) ou (f (x)f (x + x) 0 )
{escreva x, f (x)};
x = x + x
}
[3]
[4]
46
47
de sinal, voce pode refinar sua pesquisa em sub-intervalos deste ate encontrar
um pequeno intervalo onde se encontra a raz.
Exerccios 6 Explorando raizes011.c
1. Leia o programa raizes011.c. Logo no incio o programa traz instruco
es
de como compilar e rodar um programa.
2. Leia o programa raizes011.c. Leia o coment
ario (10) que lhe explica que
o problema tem dados pre-definidos que voce pode aproveitar na primeira
vez que rodar o programa.
3. Leia o coment
ario (30) e elimine o teste do modulo maximo. Verifique
que alguma raiz pode ser perdida, dependendo da equaca
o que voce estiver
usando. Experimente v
arios tipos de equaco
es. Leia o coment
ario (50).
4. Altere o programa a vontade, deve haver uma c
opia em disco para voce
retornar a
` vers
ao original... faca suas experiencias.
2.3
(2.30)
e nao seria possvel obter esta raz pelo metodo das secantes neste
ponto porque neste ponto (nesta raz) f nao troca de sinal. Aparentemente a u
nica forma de encontrar esta raz e usando o teste
|f (x)| <
(2.31)
48
raz aproximada
obtida pelo mtodo
das secantes
f
1
x
raz impossvel
de se obter pelo
mtodo das secantes
Figura 2.5:
O m
etodo das secantes
(2.33)
49
(2.34)
porque se o zero x2 [x, x+x] entao f tera sinais diferentes nos extremos
do intervalo.
2.3.1
M
etodo da secante
O chamado metodo da secante consiste em substituir o grafico de f , num intervalo em que haja troca de sinal, pela reta secante obtida com os valores de f
nos extremos do intervalo.
Notacao: Vamos designar por [a, a + x] um intervalo que descobrimos4 em
que f troca de sinal.
Veja o grafico (fig. 2.5), pagina 48, e observe o ponto x2 . Na figura estou
salientando que a raiz da equacao do primeiro grau que representa a reta secante,
e uma aproximacao da raiz de f .
Queremos obter a raiz da funcao do primeiro grau cujo grafico passa no
pontos
(2.35)
(a, f (a)), (a + x, f (a + x))
entao precisamos da equacao da reta que passa por estes dois pontos. Relembrando a equacao da reta que passa num ponto com coeficiente angular m dado
chegamos `a equacao que nos interessa:
m=
f (a+x)f (a)
a+xa
f (a+x)f (a)
x
a f
x
y f (a) = m(x a)
fazendo y = 0 em y f (a) = m(x a)
(a)
y = 0 x a = fm
s0 = a
f (a)
m
(2.36)
(2.37)
(2.38)
(2.39)
(2.40)
f (a)
m
(2.41)
50
(2.42)
x2 e o limite da sucessao sn
Ao iterarmos este processo vamos criar a sucessao (sn ) referida acima. Precisamos re-escrever as equacoes acima alterando a notacao de forma a sermos
conduzidos a uma express
ao (matem
atica) adequada. Depois vou transformar
as equacoes matematicas no algoritmo computacional que e muito mais simples,
e se voce preferir (nao deve) pode saltar direto para o algoritmo computacional.
Repetindo (e alterando a notacao) temos:
a0 = a; b0 = a0 + x;
m0 =
y f (a0 ) = m0 (x a0 )
y = f (a0 ) + m0 (x a0 )
f (b0 ) f (a0 )
b0 a0
(a0 )
y = 0 s0 a0 = f m
0
(2.43)
(2.44)
(2.45)
(2.46)
(2.47)
f (a0 )
m0
(2.48)
a u
nica modificacao foi que designamos por m0 o coeficiente angular da reta
secante no intervalo onde (o programa) detectou a troca de sinal, e usamos a0 , b0
para representar os extremos do intervalo inicial, porque isto vai uniformizar a
notacao.
Leia com calma e vera que e verdade, nao foi para complicar, foi para tornar
mais claro (padronizar).
Porque agora vamos considerar um segundo intervalo, um sub-intervalo deste
primeiro.
Veja a construcao do algoritmo.
O ponto s0 associado ao coeficiente angular m0 , divide o intervalo
[a0 , b0 ]
em dois sub-intervalos
[a0 , s0 ] , [s0 , b0 ]
(2.49)
51
[a0 , b0 ];
Problema
Pode haver mais de uma troca de sinal e isto pode representar um complicador para o algoritmo, o programa pode simplesmente se perder em buscas
indefinidas... Logo diremos como podemos controlar este problema.
Mas vamos supor a situacao mais benignaa e para depois procurar melhores
algoritmos.
a
e a t
ecnica que estamos utilizando, montamos a teoria usando os casos simples, depois
iremos test
a-la e procurar algoritmos mais robustos
a0 = a; b0 = b;
(2.51)
Se f (a0 )f (s0 ) 0
entao b1 = s0 ; a1 = a0 ;
(2.52)
(2.53)
senao b1 = b0 ; a1 = s0 ;
(2.54)
m1 =
f (b1 )f (a1 )
b1 a1
(2.55)
y=0
y = r1 (x) = f (a1 ) + m1 (x a1 )
x = s1 = a1
f (a1 )
m1
(2.56)
(2.57)
f (bn )f (an )
bn an
(2.58)
y=0
y = rn (x) = f (an ) + mn (x an )
x = sn = an
f (an )
mn
(2.59)
(2.60)
52
Observa
c
ao 3 Voce pode fazer isto com calc
A linguagem de programaca
o calc e injustamente chamada de C interpretado, e uma outra linguagem de programaca
o que tem uma precis
ao infinita,
coisa que C n
ao tem. Mas se parece com C e pode servir para fazer prot
otipos
de programas em C.
Veja uma sess
ao para obter a sucess
ao de razes de uma funca
o. Depois
que voce rodar o script do calc, volte e releia as contas matem
aticas que v
ao
da equaca
o (51) ate a equaca
o (60) a respeito das quais voce, provavelmente,
pensou que o autor estava complicando, para ver que e, exatamente, o que a
m
aquina precisa para pensar corretamente e lhe dar os resultados certos.
define f(x) {return sin(1 +x/4)*(x+1)}
x = -10
delta = 0.7
while (f(x)*f(x+delta) >= 0){
x = x + delta;
print x,;
}
print x-delta, x ;
## o resultado
e o intervalo [-5.1 ,-4.4]
a0 = -5.1;
b0 = -4.4;
m0 = (f(b0)-f(a0))/(b0 - a0);
s0 = a0 - f(a0)/m0;
print s0;
-4.09298252718108963004
if (f(a0)*f(s0) <= 0 ) { b1 = s0; a1 = a0;}
m1 = (f(b1)-f(a1))/(b1 - a1);
s1 = a1 - f(a1)/m1;
print s1;
-4.01048304495901701641
if (f(a1)*f(s1) <= 0 ) { b2 = s1; a2 = a1;}
m2 = (f(b2)-f(a2))/(b2 - a2);
s2 = a2 - f(a2)/m2;
print s2;
-4.00121371137763323854
if (f(a2)*f(s2) <= 0 ) { b3 = s2; a3 = a2;}
m3 = (f(b3)-f(a3))/(b3 - a3);
s3 = a3 - f(a3)/m3;
print s3;
-4.00014094678986900281
53
m4 = (f(b4)-f(a4))/(b4 - a4);
s4 = a4 - f(a4)/m4;
print s4;
-4.00001637370536391669
A notacao matematica tem que passar por pelas quatro sucessoes
(an )n , (bn )n , (mn )n , (sn )n
que irao definir os novos sub-intervalos que iremos encontrar.
A notacao computacional nos permite calcular as razes, com um programa,
e a notacao matematica nos permite provar que ela existe.
Sao duas coisas distintas e somente podemos rodar programas se pudermos
provar que eles chegar
ao em algum resultado. O contrario e inocuo.
No captulo 0 vamos discutir melhor os metodos matematicos que determinam as razes dentro de um quadro mais geral. Todos os metodos que estamos
usando aqui sao recursivos e o o captulo 0 vai discutir recursividade. Claro,
voce pode, e deve, chegar ate o o captulo 0 agora para entender melhor o que
estamos fazendo e comecar a ler sobre este outro assunto. O livro esta departamentalizado por uma questao de organizacao, mas voce nao precisa ficar preso
a estas paredes.
Vou transformar o metodo matematico no algoritmo computacional, ate
mesmo porque voce podera rodar o algoritmo e isto lhe servira de motivac
ao
para entender melhor o metodo matematico.
O algoritmo do m
etodo da secante I
Comece analisando a figura (2.6) pagina 54, que e um fluxograma, um planejamento visual que fazemos antes de escrever um programa.
No centro da figura (2.6) voce pode observar um caminho, indicado pelas
seta que sai do diamante que representa o teste de parada do programa
|f (a)| > epsilon
(2.61)
Pascal a funca
o valor absoluto
e abs(), em C
e fabsf()
54
f troca de sinal em
[a,b]
Mtodo da secante
F
| f(a) | > epsilon
m = (f(b)f(a))/(ba)
r(x) = f(a) + m(x a)
s a raz de r
a a raz
aproximada
com erro epsilon
V
b=s
f(s)f(a)<=0
F
a=s
Figura 2.6:
Fluxograma - m
etodo da secante
(2.62)
55
(2.63)
x0 = b0 a0
(2.64)
y f (a0 ) = m0 (x a0 )
y = f (a0 ) + m0 (x a0 )
(2.66)
(2.67)
m0 =
f (b0 )f (a0 )
x0
y = 0 s0 = a0
(2.65)
f (a0 )
m0
(2.68)
f (a0 )
m0
(2.69)
(2.70)
(2.71)
(2.72)
56
)f (a1 )
m1 = f (b1x
1
y f (a1 ) = m1 (x a1 )
f (a1 ) = m1 (x1 a1 )
s1 = a1
f (a1 )
m1
(2.73)
(2.74)
(2.75)
(2.76)
(2.77)
(2.78)
(2.79)
f (a1 )
m1
(2.80)
f (an )
mn
(2.81)
f (bk ) f (ak )
f (ak )
, sk = ak
bk ak
mk
(2.82)
Algoritmo do M
etodo da secante II
A notacao computacional e mais simples. Vamos usar a mesma tecnica, copiando
a equacao e alterando a notacao. Repetindo (e alterando a notacao) temos.
Simplesmente chamamos de [a, b] o intervalo onde foi detectada a troca de
sinal
[a, b] e o intervalo onde ha troca de sinal
m=
f (b)f (a)
ba
y f (a) = m(x a)
(a)
y = 0 x a = fm
x=a
f (a)
m
(2.83)
(2.84)
(2.85)
(2.86)
(2.87)
f (a)
m
(2.88)
57
(2.89)
(2.90)
2.4
Vamos agora estudar como podemos descobrir a raiz quando ela for um ponto em que a
funca
o tang
encia o eixo OX. O m
etodo consiste em usar a troca de sinal da derivada. Vou
comecar mostrando alguns exemplos gr
aficos para ilustrar as dificuldades e como podemos
sair delas.
Para lhe dar uma visao da necessidade de um pouco mais de teoria, comece
resolvendo os exerccios seguintes sobre os quais eu farei comentarios em seguida.
A figura (fig. 2.5) pagina 48 e a referencia para as experiencias que vamos
comecar fazendo, nela ha uma raiz num ponto de tangencia do grafico com o
eixo OX e o objetivo e produzir um programa que consiga descobrir esta raiz.
Exerccios 7 Usando raizes011.c
1. Edite o programa raizes011.c e escolha a funca
o
f (x) = (x + 3)(x + 3)(x 2)
que pode estar desligada (com o smbolo de coment
ario) na vers
ao que
voce tiver do programa. Depois compile e rode o programa com os valores
pre-definidos que ele tem (de enter em todas as perguntas do programa).
Analise o resultado.
2. Rode novamente o programa usando os valores pre-determinados, entretanto responda com o valor 0.1 para a precis
ao (quando o programa
solicitar o valor da vari
avel epsilon). Observe que o resultado ficou diferente.
3. Rode novamente o programa usando os valores pre-determinados, mas escolha um valor grande para a norma da partica
o. Sugest
ao x = 1.
Comentando os resultados do programa nas experiencias que voce fez usando
os valores pre-deteminados no programa.
58
Quando = x o programa encontrou diversas razes que na verdade representam a mesma raiz exata x = 3. Veja uma replica dos resultados
do programa captados8 por um editor de textos:
Forne
ca-me o intervalo [a,b] para busca de raizes:
a =
b =
Forne
ca-me o passo delta da malha para a busca:
Sugest~
ao 0.01 < delta
< 0.5
delta =
Forne
ca-me o erro epsilon (m
odulo m
aximo) :
Sugest~
ao 0.01 < epsilon
< 0.5
epsilon
=
Sua busca de ra
zes no intervalo [-5.000000 , 5.000000]
Precis~
ao da malha: 0.100000
Erro (m
odulo m
aximo): 0.100000
=================================================
Aperte <enter> para continuar
Ra
z prov
avel da fun
ca
~o no intervalo
[-3.100002,-3.000002]
valor de f no ponto -3.100002
e 0.051002
valor de f no ponto -3.000002
e 0.000000
Ra
z prov
avel da fun
ca
~o no intervalo
[-3.000002,-2.900002]
valor de f no ponto -3.000002
e 0.000000
valor de f no ponto -2.900002
e 0.048998
Ra
z prov
avel da fun
ca
~o no intervalo
[-2.900002,-2.800002]
valor de f no ponto -2.900002
e 0.048998
valor de f no ponto -2.800002
e 0.191996
Estas razes representam todas a raiz x = -3 - sao valores proximos de 3
que o programa captou. Achou tambem a raiz x = 2
Ra
z prov
avel da fun
ca
~o no intervalo
[1.999998,2.099998]
valor de f no ponto 1.999998
e 0.000057
valor de f no ponto 2.099998
e -2.600939
Quando << x lhe sugeri no exerccio que voce usasse 0.1 o programa
achou uma representacao para cada uma das razes existentes:
8 o editor de textos joe, permite que voc
e rode programa dentro dele e consequentemente
pode captar os resultados do programa
59
Forne
ca-me o intervalo [a,b] para busca de raizes:
a =
b =
Forne
ca-me o passo delta da malha para a busca:
Sugest~
ao 0.01 < delta
< 0.5
delta = 0.3
Forne
ca-me o erro epsilon (m
odulo m
aximo) :
Sugest~
ao 0.01 < epsilon
< 0.5
epsilon
= 0.1
Sua busca de ra
zes no intervalo [-5.000000 , 5.000000]
Precis~
ao da malha: 0.300000
Erro (m
odulo m
aximo): 0.100000
=================================================
Aperte <enter> para continuar
Ra
z prov
avel da fun
ca
~o no intervalo
[-2.900000,-2.600000]
valor de f no ponto -2.900000
e 0.049000
valor de f no ponto -2.600000
e 0.736001
Ra
z prov
avel da fun
ca
~o no intervalo
[1.900000,2.200000]
valor de f no ponto 1.900000
e 2.400998
valor de f no ponto 2.200000
e -5.408001
Vamos agora continuar as experiencias agora usando o programa raizes012.c
Exerccios 8 Experiencias com raizes012.c
1. Leia o programa raizes012.c e verifique se a funca
o escolhida e f (x) =
9
(x + 3)(x + 3)(x 2). Se n
ao for selecione esta funca
o cujo gr
afico e
semelhante ao da figura (fig. 2.5).
2. Leia o programa raizes012.c. Ele e uma alteraca
o de raizes011.c.
Leia tambem os coment
arios dentro do programa. Compile e rode o programa usando os valores predefinidos no programa. O programa escolhe,
ele mesmo, o valor da precis
ao , verifique isto. Veja o coment
ario (41)
do programa, veja como foi calculado .
3. O programa, como os valores pre-definidos, encontrou as razes 3, 2.
Teste o programa com valores diferntes para a norma da malha.
4. Rode raizes012.c alterando a equaca
o de f para f (x) = (x 1)2 (1 +
7(x + 1)2 ). Observe que esta equaca
o j
a se encontra no programa, mas
desligada por um coment
ario. Basta lig
a-la.
9 voce pode ligar ou desligar uma express
ao colocando ou apagando o smbolo de coment
ario // na frente, n
ao precisa apagar
60
(2.91)
Analise a figura (fig. 2.7), pagina 60. Vamos tirar algumas informac
oes desta
figura.
No ponto a temos uma raz do tipo tangente,
e marcamos dois pontos, a, a+, anterior e posterior10 , ao ponto a,
fizemos os graficos das retas tangentes em (a, f (a)), e (a+, f (a+)).
f
a+
O coeficiente angular da
reta tangente negativo
Figura 2.7:
O coeficiente angular da
reta tangente positivo
10 a,
6=
sinal( f
x |a+ )
(2.92)
(2.93)
a+ s
ao notaco
es padr
ao em Matem
atica para representar pontos anterior e posterior
ao ponto a
61
Como x > 0 entao11 podemos comparar apenas os numeradores12 . Analisaremos apenas os produtos dos n
umeradores, o produto de dois valores
sucessivos de f ao longo da varredura. Estamos evitando os quocientes:
f (a) f (a + ) < 0
(2.94)
O gr
afico desta funcao se assemelha ao grafico na figura (fig. 2.8). Voce pode
obter este grafico usando Gnuplot, nao se esqueca de usar o comando
set xrange [-4:3]
para instruir Gnuplot a considerar o grafico sobre o intervalo [4, 3] afim de que
voce consiga ver alguma coisa interessante. Se voce nao fizer isto ele vai usar o
intervalo padr
ao, [10, 10].
Vimos assim o metodo para separar estas duas situacoes dentro de uma
analise automatica (dentro de um programa). O algoritmo ira fazer os dois testes
em cada ponto da varredura, ira aceitar o ponto x2 como uma raiz aproximada
e descartar o ponto x1 . Estamos nos referindo ainda `a figura (fig. 2.8).
Observe que terminamos por voltar a usar a desigualdade, agora apenas em
uma forma complementar. Assim ela funciona.
11 x
n
ao precisa ser positivo, mas tradicionalmente consideramos assim para que o seu
valor concida com o comprimento do intervalo considerado
12 aqui voc
e tem a t
ecnica prometida no captulo das derivadas, em vez de usarmos derivada,
estamos usando derivada aproximada
x2
x1
A derivada se anula
no ponto x1 mas ele no
uma raiz
Figura 2.8:
62
Quando a derivada
e zero
Exerccios 9
1. Leia o programa raizes013.c e identifique onde o programa verifica a troca de sinal de f e da derivada.
2. Rode o programa com cada uma das tres funco
es definidas no programa.
Com os dados pre definidos os resultados n
ao s
ao muito bons, aumente a
precis
ao da malha em experiencias sucessivas.
3. Defina novas funco
es para testar o programa.
2.5
O m
etodo da tangente
Vamos estudar o m
etodo da tangente para determinaca
o aproximada da raz de uma funca
o.
Evite confundir-se, nas seco
es anteriores falamos de raiz (do tipo) tangente, s
ao as razes
m
ultiplas, em que o graf (f )
e tangente ao eixo OX. Agora vamos discutir o m
etodo da
tangente para determinar razes.
natural observar, pese o trocadilho, que o m
E
etodo da tangente serve para encontrar razes
(do tipo) tangente. . .
S
ao duas coisas diferentes os tipos como classificamos as raizes, tangente, secantes e os
m
etodos cl
assicos, com estes nomes, para determinar razes, metodo da tangente, que vamos
estudar agora e m
etodo da secante que usamos rapidamente na seca
o anterior. Comecaremos
por mostrar as limitaco
es do m
etodo. A crtica se encontra no contexto, ao iniciarmos o
captulo chamamos sua atenca
o para a dificuldade de resolver o problema que nos ocupa
aqui, estamos apenas ressaltando, em cada momento as dificuldades que aparecem.
O plano do trabalho:
63
2.5.1
Como funciona o m
etodo da tangente
Veja as figuras (fig. 2.9) pagina 63 que nos mostram como funciona o metodo.
raz exata
f
raz aproximada
obtida por uma tangente
A raz
exata
esta
Razes aproximadas
por retas tangentes
Figura 2.9:
Uma sequ
encia de retas tangentes...
64
(2.95)
(2.96)
(2.97)
2.5.2
E quando o m
etodo n
ao funciona ?
Mas vamos logo ver quando deixa de funcionar. Na figura (fig. 2.10) pagina 65,
Consideramos a reta tangente no (A, f (A)); A raiz da reta tangente em A
e B;
Esta reta tangente tem como raiz o ponto x = B
Consideramos entao a reta tangente no ponto (B, f (B)) corta o eixo OX
no ponto x = A e a raiz da reta tangente em B e A ...
65
Figura 2.10:
Vemos que caimos num circulo vicioso. O programa que fizermos cair
a em
loop infinito.
Obviamente este e um exemplo raro de acontecer, ele apenas mostra que
o risco existe e uma intervencao do usuario do programa pode prevenir contra
este acontecimento com uma troca do ponto inicial. No intervalo que a figura
(2.10) exibe o problema, podemos escolher um ponto inicial diferente de A ou
B para evitar o ciclo vicioso.
preciso incluir no programa um teto de operacoes que ao ser atingido sem
E
sucesso o programa sugira ao usuario alterar um pouco um dos extremos do
intervalo inicial. Voce pode ver na figura (fig. 2.10) pagina 65 que uma alterc
ao
no valor de A faz com que a sucessao dos zeros das retas tangentes convirja para
uma das razes.
2.5.3
Considere o ponto a escolhido para tracarmos a reta tangente por (a, f (a))
A equacao da reta tangente sendo
(2.9
(2.9
a0 = a = s0
y f (a0 ) = f (a0 )(x a0 )
y = 0 s0 = a0
s1 = s0
f (a0 )
f (a0 )
f (s0 )
f (s0 )
= T (a0 ) = T (s0 )
= T (s0 )
(2.10
s2 = s1
f (s1 )
(2.10
= T (s1 ) = T (T
(s
f (s1 )
(2.10
66
f (sn1 )
= T n (s0 )
f (sn1 )
(2.103)
(2.104)
f (b)
f (b)
f (b)
f (b)
f (b)
f (b)
=0
(2.105)
(2.106)
(2.107)
ou seja, a hipotese de que a sucessao seja convergente nos conduz a que o limite
seja uma raz de f .
Uma consequencia dos calculos acima e que
T (b) = b.
(2.108)
67
(2.112)
|xn xn1 | = |T (xn1 ) T (xn2 )| =
(2.113)
= |T (xn2 )||xn1 xn2 | + o(|xn1 xn2 |)
(2.114)
f (x)
f (x)
(x)
|T (x)| = | f (x)f
f (x)2 |
(2.115)
(2.116)
(2.117)
68
a = a - f(a)/df(a)
plot reta(x),f(x),0
pause -2
(2.119)
69
-20
-13.43755383290267011197
-9.05962558919570544190
-6.13716679398553077204
-4.18447916859825334681
-2.87926553135386543847
-2.01119102134060700997
-1.45135929223981982374
-1.13389377376757093773
-1.01570113608729869728
-1.00024268578025712329
-1.00000005888209635796
e vemos que novamente o algoritmo produz uma sucess
ao convergindo para a
raiz x = 1. Estas duas sequencias foram obtidas com calc e o programa
e o seguinte em que uma funca
o recursiva, principal() est
a se chamando a
si pr
opria enquanto o par
ametro p for estritamente positivo. Quando p = 0 o
processo para. Copie esta sequencia em um arquivo, por exemplo, raizes.calc
e depois chame
calc < raizes.calc
e voce poder
a repetir a experiencia feita acima. Troque a equaca
o da funca
o
para calcular razes de outras funco
es.
define principal(a,p)
{
if (p) {printf("%f \n",a);principal(T(a),p-1);}
}
70
que n
ao tem razes reais. Use um n
umero de pequeno de iteraco
es, 10 no
m
aximo.
2.6
Busca bin
aria
A busca bin
aria e um metodo matematico antigo, o matematico Dedekind
o utilizou para definir n
umeros reais, os chamados cortes de Dedekind, que
consistem em dividir a reta racional em duas semi-retas, numa se encontra o
ponto13 (n
umero real desejado) e assim sucessivamente vai sendo dividido o
conjunto Q dos n
umero racionais ate se obter uma aproximacao desejada de um
n
umero real (ou uma sucessao convergente).
Vamos usar esta ideia para produzir uma sucessao de razes aproximadas
convergindo para uma raiz de f .
Precisamos encontrar um intervalo em que f troque sinal e o processo e
muito semelhante ao do metodo da reta secante.
Descricao matematica do metodo:
Suponha que que no intervalo [a, b] = [a0 , b0 ]
Hip
otese 1 Existencia de raz em um subintervalo
f troque de sinal,
ou f troque de sinal, e f seja pequena.
Este intervalo pode ser obtido com uma varredura que pare quando uma
destas duas condicoes for satisfeita.
Selecione o ponto medio do intervalo
s0 =
b0 a0
2
(2.120)
e repita o teste 1 para descobrir em qual das duas metades esta a raz
procurada e defina
[a0 , s0 ] = [a1 , b1 ]
[s0 , b0 ] = [a1 , b1 ]
13 eta
b1 a1
2
erro l
ogico... se o ponto estivesse a n
ao seria uma reta racional...
(2.121)
(2.122)
71
m([an , bn ]) =
r
2n
(2.123)
(2.124)
(2.125)
(2.126)
(2.127)
sendo esta uma convergencia muito rapida porque e dominada por progress
ao
geometrica de razao 12 . Veja abaixo o poder decrescente de uma progress
ao
geometrica num calculo executado por calc
C-style arbitrary precision calculator (version 2.11.10.1)
Calc is open software. For license details type: help copyright
[Type "exit" to exit, or "help" for help.]
; define f(n,r) {return r*power(1/2, n);}
f(n,r) defined
; r = 3
; k = 10
; for(n=0; n<= k; n++) {printf("%d --> %f \n", n, f(n,r));}
0 --> 3
1 --> 1.5
2 --> 0.75
3 --> 0.375
4 --> 0.1875
5 --> 0.09375
6 --> 0.046875
7 --> 0.0234375
8 --> 0.01171875
9 --> 0.005859375
10 --> 0.0029296875
;
na decima iterada, partindo de um intervalo de medida tres ja estamos com
um intervalo de medida 0.0029296875 e portanto ja teriamos uma aproximac
ao
da raiz com esta precisao. Como em geral vamos procurar mudancas de sinal
usando intervalos de medida 0.1 na decima iterada ja teriamos um intervalo medindo 0.00009765625 consequentemente nos oferecendo a raiz com esta precis
ao.
72
Exemplo 5 C
alculo de uma raiz
Considere a funca
o
f (x) = x3 + x2 + x + 1
(2.128)
x2
x
)
+1
(2.129)
73
(2.130)
74
1. o metodo da secante;
2. o metodo da tangente;
aos quais associamos a tecnica computacional varredura.
Tambem estudamos dois metodos matem
aticos (e a correspondente implementaca
o computacional)
1. busca bin
aria;
2. sucess
oes recursivas;
3. ponto fixo.
O metodo do ponto fixo e muito mais profundo do que nos foi possvel discutir aqui. Tudo que fizemos foi partir da hip
otese de convergencia e usando a
continuuidade de uma funca
o fomos conduzidos a que o limite satisfaz a
` equaca
o
T (b) = b
(2.131)
2.7
O problema completo
75
(2.133)
x
x2 + 1
(2.134)
que nao chega a ser uma funcao realmente maldosa. Bastaria acrescentar um
termo como sen(3x) para deixar o programa instavel. Esta instabilidade pode
ser resolvida com uma mudanca de variaveis, entretanto, como eu ja disse diversas vezes, nao ha programa que possa funcionar sozinho, eles tem que ser
monitorados.
O programa conseguiu encontrar todas as razes quando usei o passo 0.0001
com passo maior ele perde alguma das razes.
Raizes aproximadas - metodos da secante e tangente
Forneca-me o intervalo [a,b] para busca de raizes:
a = -10.000000
b = 10.000000
Forneca-me o passo da malha para a busca:
Sugestao 0.01 < delta
< 0.5
delta = 0.050000 0.0001
busca de raizes no intervalo [-10.000000, 10.000000]
============= Tr^
es m
etodos ===========
Raiz prov
avel da fun
ca
~o no intervalo [-2.000017, -1.999917]
========1o m
etodo: por busca bin
aria =======
valor de f no ponto -2.000000 --> 0.000000
========2o m
etodo: pelo m
etodo da secante =========
valor de f no ponto -2.000012 --> -0.000000
========3o m
etodo: pelo m
etodo da tangente ========
valor de f no ponto -1.999998 --> 0.000000
======== fim do caso troca de sinal ========
============= Tr^
es m
etodos ===========
Raiz prov
avel da fun
ca
~o no intervalo [-0.000097, 0.000003]
========1o m
etodo: por busca bin
aria =======
valor de f no ponto -0.000000 --> 0.000984
========2o m
etodo: pelo m
etodo da secante =========
valor de f no ponto -0.000000 --> 0.000000
========3o m
etodo: pelo m
etodo da tangente ========
valor de f no ponto 0.000000 --> -0.000250
======== fim do caso troca de sinal ========
76
77
============= Tr^
es m
etodos ===========
Raiz prov
avel da fun
ca
~o no intervalo [2.999995, 3.000095]
========1o m
etodo: por busca bin
aria =======
valor de f no ponto 3.000000 --> 0.000000
========2o m
etodo: pelo m
etodo da secante =========
valor de f no ponto 3.000000 --> 0.000000
========3o m
etodo: pelo m
etodo da tangente ========
valor de f no ponto 3.000000 --> 0.000000
======== fim do caso troca de sinal ========
2.8
Interse
c
ao de gr
aficos
Discutimos at
e agora a soluca
o do problema
f (x) = 0
mas
e muito mais frequente precisarmos de resolver o problema
f (x) = g(x)
em que f, g s
ao duas funco
es dadas. Evidentemente que este problema se
reduz ao anterior, entretanto h
a t
ecnicas especficas para resolver o segundo
problema que vamos discutir nesta seca
o.
Uma express
ao da forma f (x) = g(x) pode ser escrita como
h(x) = f (x) g(x) = 0 h(x) = 0
e portanto podemos dizer que este nao e um novo problema que estamos estudando.
Mas as peculiaridades em que o problema f (x) = g(x) se encontra, ou as
aplicacoes que podem ser modeladas por este problema justificam que nos lhe
demos uma atencao diferenciada como logo voce ira ver.
Vamos comecar lendo o grafico na figura (fig. 2.11) pagina 78.
Este e um caso interessante que descreve uma gama de problemas do tipo
f (x) = g(x) ou f (x) g(x)
Analisando o grafico vemos:
Temos um intervalo [a, b]
f (a) = g(a) e f (b) = g(b)
f (a) > g (a) e f (b) < g (b)
c ; c (a, b) ; f (c) = g (c)
(2.135)
78
f
f(a) > g(a)
Figura 2.11:
Interseca
o de curvas
(2.136)
ent
ao e possvel encontrar outra soluca
o b > a para o problema f (x) = g(x)
Cosidere
g(x) = x
f (x) = 2(1 ex ) ; f (x) = 2ex 0 quando x cresce
f (0) = g(0) = 0 ; f (0) = 2 > g (0) = 1
(2.137)
(2.138)
(2.139)
79
Vamos analisar o que nos diz o Teorema do Valor medio para derivadas, se
em algum ponto f (x) = 1
f (x) = 2ex = 1 ex = 12
ex = 2 x = ln(2)
(2.140)
(2.141)
(2.142)
80
Figura 2.12:
Regi
ao cuja a
rea queremos calcular
de um intervalo onde haja raz15 pode ser feito com auxlio de uma m
aquina
de calcular eletronica e isto e o que se espera na lista de exerccios a seguir
proposta.
Exerccios 10 Raizes de funco
es
1. Considere f (x) = x5 + x2 4
(a)
(b)
(c)
(d)
x
x
) ; f (x) = (x2 x 12) sin( )
2
2
no plural, a determinaca
o dos intervalos onde haja razes
81
15
f(x)
g(x)
0
10
10
15
4
Figura 2.13:
a
rea limitada por duas par
abolas
100
f(x)
g(x)
0
80
60
40
20
0
20
40
60
80
100
10
Figura 2.14:
a
rea limitada por duas curvas
10
Captulo 3
Sucess
oes recursivas
Os babil
onios conheciam um m
etodo pr
atico, ver [?], para c
alcular razes
quadradadas, que vamos usar como introduca
o para o assunto deste captulo
porque
e um algoritmo recursivo.
Recursividade
e um m
etodo em que uma funca
o f chama a si pr
opria.
A recursividade
e conhecida e usada em Matem
atica h
a mil
enios, como o
algoritmo do c
alculo de ra
zes quadradas, mas recentemente (desde 1970), com
LISP, vem sendo usada em programas de computador produzindo algoritmos
bastante otimizados.
3.1
Babil
onios e raz quadrada
Vamos usar o algoritmo dos babilonios para calcular razes quadradas como motivacao para o assunto deste captulo.
Uma sequencia e recursiva se for definida em funcao dos seus
proprios termos: xn = f (xn1 , . . . , x1 ) em que f e uma express
ao
legal (computacional ou matematica).
Escolhemos o algoritmo dos babilonios para servir de introducao (e motivacao) para o assunto deste captulo por duas razoes:
pela sua antiguidade provavel de mais de 4.000 anos e assim nos educamos
no respeito dos antigos e do antigo contra o mito de que o moderno e que
bom;
pela sua alta precisao, com auxlio de uma maquina de calcular com
memoria, com algumas iteradas, quatro ou cinco, voce obtem uma raiz
quadrado com boa precisao.
CAPITULO 3. RECURSIVIDADE
83
ab
a+b
2
(3.1)
Dem :
a+b
2
ab
a +2ab+b
4
2ab + b2
ab ( a+b
)2 =
2
4ab
a2
(3.2)
0 a2 2ab + b2 = (a b)2
(3.3)
(3.4)
(3.5)
e como a u
ltima equac
ao
e verdadeira e as anteriores s
ao equivalentes alg
ebricas dela, ent
ao
a primeira
e verdadeira. q.e.d .
1+a
, a
2
se encontram ambos entre 1 e a ate porque ambos sao a media entre 1, a, um a
media aritmetica, o outro a media geometica, pelo teorema (2).
assim
a=
1a
a+1
2
(3.6)
a+1
2
10 + 1
= 5.5
2
Podemos ver neste exemplo como a estimativa fornecida pela desigualdade
aritmetico-geometrica e de baixa classe. Mas os babil
onios h
a mais de 4.000
anos souberam iterar esta estimativa obtendo um algoritmo que fornece a raz
quadrada com grande precis
ao depois de alguns passos.
Uma observaca
o simples conduz ao algoritmo dos babil
onios.
1
Se tivermos uma estimativa inicial, digamos, x, para a raz quadrada a
o:
ent
ao, xa e outra aproximaca
10
a
a
= a
x
a
1e
temos, que
e a m
edia com a unidade
(3.7)
CAPITULO 3. RECURSIVIDADE
84
a menor do a.
a ent
ao xa ser
ao xa ser
a maior do a.
Se x for menor do que a ent
Se x for maior do que
a
a
x, ; x < a <
x
x
x+
2
a
x
a + x2
2x
(3.8)
cuja derivada e
; g ( a) = 0
g e crescente x > a
x>a
g( a) = a g(x) > a
<x
x > a g(x) = x+a/x
2
x2 a
2x2
(3.9)
(3.10)
(3.11)
(3.12)
(3.13)
(3.14)
hip
otese: a < sn = g(sn1 ) < sn1
(3.15)
(3.16)
(3.17)
(3.18)
(3.19)
(3.20)
(3.21)
(3.22)
CAPITULO 3. RECURSIVIDADE
85
A sucess
ao (sn )n definida recursivamente por
a
x e uma
aproxima
c
a
o
de
x> a
s0 = g(x)
sn = g(sn1 )
sn l = a
(3.23)
(3.24)
Dem :
(3.25)
A direita na equac
ao (25) temos
lim sn+1 = l
(3.26)
g(lim sn ) = g(l)
(3.27)
g(l) = l
(3.28)
e a esquerda na equac
ao (25) temos
n
Substituindo na equac
ao de g, (8), temos
g(l) =
l2 + a
=l
2l
l2 + a = 2l2
l=
(3.29)
q.e.d .
Defini
c
ao 1 Ponto fixo
Quando uma funcao g satisfizer a equaca
o (28), dizemos que o valor l e um
ponto fixo de g.
A sucess
ao seguinte de equaco
es mostra como eles faziam:
0
= x0 +10/x
2
1
= x1 +10/x
2
2
= x2 +10/x
2
3
= x3 +10/x
2
4
= x4 +10/x
2
x0
x1
x2
x3
x4
=1
= 5.5
= 3.6590909
= 3.196005
= 3.162455
x1
x2
x3
x4
x5
x1
x2
x3
x4
x5
= 5.5
= 3.6590909
= 3.196005
= 3.162455
= 3.1622776
que n
os d
a 10 x25 < 0.0000004 =
4
107
(3.30)
CAPITULO 3. RECURSIVIDADE
86
1000.
=1
= 500.5
= 251.249
= 127.6145
= 67.7253273
= 41.2454260
= 41.2454260
= 32.74526
x1
x2
x3
x4
x5
x6
x7
x8
=
=
=
=
=
=
=
=
x0 +1000/x0
2
x1 +1000/x1
2
x2 +1000/x2
2
x3 +1000/x3
2
x4 +1000/x4
2
x5 +1000/x5
2
x6 +1000/x6
2
x7 +1000/x7
2
x1
x2
x3
x4
x5
x6
x7
x8
= 500.5
= 251.249
= 127.6145
= 67.7253273
= 41.2454260
= 32.74526
= 32.74526
= 31.62278
(3.31)
y=1
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y=(y+1000/y)/2
y
~31.62277660168433424334
; y**2
~1000.00000000003421099649
em que, tudo que precisamos, fazer foi apertar a seta para cima no teclado
tudo que podemos fazer para melhorar o algoritmo dos
do micro, oito vezes. E
babilonios.
Resta-nos agora entender o que se encontra por tras do metodo, e o que
passaremos a fazer.
Exerccios 11 Medias e razes
1. Calcule as medias aritmeticas e geometricas dos pares de n
umeros
CAPITULO 3. RECURSIVIDADE
87
12
f(x)
x
0
"data"
10
8
6
4
2
0
Raz
aproximada
de 10
Figura 3.1:
a
1
2
0.2
0.2
Determinaca
o de
b
2
4
0.4
1
a+b
2
10
ab
p1 , p2 , p3
3
P
pi ai
i=1
1, 2, 3
1, 2, 3
1, 2, 3
1, 2, 3
(1, 2), (2, 1), (1, 1)
a
x4
a
1
2
20
200
O gr
afico (fig. 3.1), mostra a realizacao do algoritmo dos babilonios (para
raz quadrada de 10). Nele podemos ver a funcao identidade e grafico de
g(x) =
x + 10/x
2
CAPITULO 3. RECURSIVIDADE
88
com a sucessao de pontos que vai sendo obtida com a iteradas de g para obter
a sucessao recursiva (xn )n cujo limite e o ponto fixo
( 10, g( 10)).
Voce pode repetir este processo inclusive com outras razes quadradas usando
o programa em C que apresentamos logo a seguir.
Exerccios 12 Sequencias recursivas
1. Matem
atica Social Escolha uma funca
o f (sem combinar com seus colegas
de trabalho) tal que graf (f ) e o o gr
afico da primeira bissetriz y = x se
cortem no primeiro quadrante e que2 hipergraf (f ) seja convexo.
Considere x0 > 0 escolhido arbitrariamente (sem combinar com seus colegas de trabalho) e construa graficamente a sucess
ao de pontos no plano
(n n
ao menor do que 4)
(x0 , x0 )
(x0 , f (x0 )) ; x1 = f (x0 )
(x1 , x1 )
(x1 , f (x1 )) ; x2 = f (x1 )
(3.32)
e agora compare o seu resultado com o dos seus colegas de trabalho para
tirar uma conclus
ao.
[a, b]
3.1.1
Um programa em C
hipergr
afico de f
e o conjunto dos pontos (x, y) tal que y f (x) -
e o conjunto limitado
inferiormente pelo graf (f )
CAPITULO 3. RECURSIVIDADE
89
x + a/x
2
ao no
em que deixamos a como parametro de formas que uma pequena alterac
programa permite que ele rode na linha de comandos.
A funcao principal, main(), que e obrigatoria em todo programa em C ou
C + + e que puxa o script do teatro.
Alguns comandos colocados na funcao principal para criar o arquivo data
onde se encontram as linhas que Gnuplot ira tracar.
Um arquivo que chamamos transfere e que contem os comando de Gnuplot
e que serao chamados internamente pelo programa uma vez que quem vai fazer
tudo e o programa em C.
O programa contem comentarios para ajuda-lo a compreender o que ele, faz,
mas voce deve ler os arquivos data e transfere que o programa cria, para
compreende-lo melhor. E, finalmente, escreva um e-mail ao autor, com suas
d
uvidas, ou consulte um hacker em computacao a sua volta, eles sao, em geral,
benignos.
O comando para compilar o programa e
gcc -Wall -oprog -lm programa.c
em que programa.c e o nome do arquivo onde voce guardou o texto acima, e gcc
e o nome do compilador C que acompanha qualquer distribuicao Linux. Compilado o programa voce o pode rodar (executar) o executavel, prog, digitando
numa shell do Linux
./prog
no diretorio onde se encontra o programa gravado.
O programa descrito acima constroi qualquer exemplo de raz quadrada que
voce desejar, implementando o metodo dos babilonios. Ele cria dois arquivos: data e transfere. Se voce apenas quiser rever3 o grafico, digite numa shell
(Linux)
gnuplot transfere
e voce voltara a ver o grafico recem feito com o programa. Ou, simplesmente,
rode novamente4 o
programa com os mesmos dados. O programa fara, automaticamente, o caso 2 se voce apenas der, enter, como resposta a todas as
perguntas. Movendo o cursor, sobre a tela grafica do Gnuplot, voce pode ver
o valor aproximado da raz escolhida. Nao espere conseguir grande precis
ao,
nesta visualizacao.
3.2
Fundamentos da converg
encia de iteradas
voc
e n
ao der enter, o gr
afico ficar
a presente na tela
voc
e tiver problemas com o programa, ou n
ao rodar Linux em seu computador, solicite
uma vers
ao do programa, ao autor, indicando qual o sistema que roda em seu computador
4 se
CAPITULO 3. RECURSIVIDADE
g(x) = x
90
f (x)
; xn+1 = g(xn )
f (x)
(3.33)
(3.35)
(3.36)
(3.37)
(3.38)
(3.39)
Estes calculos nos mostram que precisamos da hipotese de que g seja diferenciavel e que em uma vizinhanca do ponto inicial x0 o modulo da derivada
seja menor do que 1. Se isto acontecer podemos deduzir das equacoes acima:
|x2 x1 | = |g(x1 ) g(x0 )| |g (x0 )| |x1 x0 |
|x3 x2 | = |g (x1 )| |x2 x1 | |g (x1 )||g (x0 )| |x1 x0 |
|xn+1 xn |
n1
Y
k=0
(3.40)
(3.41)
(3.42)
|g (xk )||x1 x0 |
(3.43)
(3.44)
(3.45)
Au
ltima parte da tese do Teorema e o resultado das contas que fizemos na
secao anterior, com o algoritmo dos babilonios para a raz quadrada. Embora
CAPITULO 3. RECURSIVIDADE
91
o ponto fixo no caso daquele algoritmo tenha sido obtido num caso especial de
funcao contnua, o arqumento aqui seria o mesmo.
Ha varios teoremas do ponto fixo, nos demonstramos acima um caso particular e bem simples que atende `as nossas necessidades aqui. Mas o estudioso
de an
alise ira encontrar mais a frente outras formulacoes deste teorema quando
vera, entretanto, que a questao gira em torno das mesma ideias, poder garantir
que a funcao g que define uma certa sucessao recursiva funcione como um freio
interno da sucessao. Tais funcao satisfazem `a desigualdade
|g(a) g(b)| < |a b|
portanto elas contraem a imagem e poristo se chamam de contracoes. Quando
a derivada for menor do que 1 em modulo temos uma contracao, e foi isto que
usamos na demonstracao do teorema-4.
3.3
O algoritmo babibil
onio
e convergente
1
2
a
x
(3.46)
a
2x2 .
g (x) = 0 = 1
a
= 0 = x = a
2
x
(3.47)
Figura 3.2:
CAPITULO 3. RECURSIVIDADE
92
xo
Figura 3.3:
Nos dois tipos de graficos, (fig. 3.2) ou (fig. 3.3), vemos que o gra
fico
de g
corta a primeira bissetriz na imagem do ponto fixo sobre o graf (g), ( a, a).
Como g e assntota `a funcao
x
y=
2
e no ponto ( a, a) a derivada de g e zero, entao se x0 for grande, quer dizer
maior do que a, entao |g (x0 )| < 1.
Consideremos entao o intervalo I = [ a, ). Sobre I a hipotese do (Teorema
4) e atendida porque como g(x) < x entao g(g(x))< g(x) e portanto xn I, o
que termina a demonstracao se escolhermos x0 > a.
Mas
podemos considerar um ponto inicial x0 pequeno, isto e, menor do
que a. Mas neste caso
x1 = g(x0 ) = x0 +
x0 + xa0 > a
a
x0
a 2
) >a
x0
x20 + 2a + ( xa0 )2 > a
x20 + a + ( xa0 )2 > 0
(x0 +
(3.48)
(3.49)
(3.50)
(3.51)
(3.52)
provando que x1 I portanto, se escolhermos um ponto inicial pequeno o segundo ponto da sucessao obtida pelas iteracoes de g sera grande, pertentecer
a
ao intervalo I e portanto a sucessao
(xn )n1 I
(3.53)
CAPITULO 3. RECURSIVIDADE
3.4
93
Exerccios
s0 = 0; s1 = 1
s0 = 1
s0 = 2; s1 = 1
s0 = 1; s1 = 1
s0 = 1
s0 = 3; s1 = 1
s0 = 1; s1 = 1
s0 = 1; s1 = 2
s0 = 2;
s0 = 1; s1 = 1
s0 = 1; s1 = 1
s0 = 3;
(3.54)
(3.55)
an
1
n
n2
Sn+1
b) Sn+1
d) Sn+1
f) Sn+1
an
1
n
1
n2
3
5. Seq
uencia de Fibonacci6
A seq
uencia de Fibonacci e definida, recursivamente, como
s0 = 1
(3.56)
s1 = 1
n > 1sn = sn1 + sn2
(3.57)
(3.58)
CAPITULO 3. RECURSIVIDADE
3.5
94
Solu
c
ao de alguns exercicios
1. (ex. 1) pagina 93
(a)
sn = sn1 + sn2 ; s0 = 0; s1 = 1
s2 = 1; s3 = 2; s4 = 3; s5 = 5;
(3.59)
(3.60)
sn = sn1 + sn2 ; s0 = 1; s1 = 1
s2 = 2; s3 = 3; s4 = 5; s5 = 8
(3.61)
(3.62)
(b)
(c)
sn = 1 + sn1 ; s0 = 1
(3.63)
s1 = 2; s2 = 3; s3 = 4; s4 = 5; s5 = 6
(3.64)
sn = 1 + sn1 ; s0 = 1
s1 = 0; s2 = 1; s3 = 2; s4 = 3; s5 = 4
(3.65)
(3.66)
(d)
(e)
sn = nsn1 ; s0 = 2; s1 = 1
(3.67)
s2 = 2; s3 = 6; s4 = 24; s5 = 120
(3.68)
sn = nsn1 ; s0 = 3; s1 = 1
s2 = 2; s3 = 6; s4 = 24; s5 = 120;
(3.69)
(3.70)
(f)
2. (ex. 2) pagina 93
(a) entrada de dados: n;
int S=0, a0=1, a1=1,contador=2;
if (n ==0 ) return(a0);
if (n == 1) return(a1);
while(contador <=n)
{
S = a0 + a1;
a0 = a1;
a1 = S;
contador++; // contador = contador + 1
}
CAPITULO 3. RECURSIVIDADE
0
1
2
3
4
5
6
7
8
9
10
(b)
(c)
95
CAPITULO 3. RECURSIVIDADE
S = a1*a0; // s(n+1)
printf("%d %f \n",contador, S);
a0 = a1; // s(n-1)
a1 = S; // s(n)
contador++;
}
0 1.000000
1 2.000000 2 2.000000
3 4.000000
4 8.000000
5 32.000000
6 256.000000
7 8192.000000
8 2097152.000000
9 17179869184.000000
10 36028797018963968.000000
(d)
(e)
96
CAPITULO 3. RECURSIVIDADE
printf("%d %f \n ",0,a0);
if (n == 0 ){printf("%d %f \n ",0,a0);
while(contador <=n)
{
S = contador*a0; // s(n+1)
printf("%d %f \n",contador, S);
a0 = S; // s(n)
contador++;
}
97
return(a0);}
0 2.000000
1 2.000000
2 4.000000
3 12.000000
4 48.000000
5 240.000000
6 1440.000000
7 10080.000000
8 80640.000000
9 725760.000000
10 7257600.000000
(f)
CAPITULO 3. RECURSIVIDADE
98
3. (ex. 3) pagina 93
S0 = 0 = S1 = S0 + a0 = a0
S2 = S1 + a1 = S0 + a0 + a1
S2 = a0 + a1
(3.71)
(3.72)
(3.73)
S3 = S2 + a2 = a0 + a1 + a2
(3.74)
(3.75)
Sn+1 = Sn + an = a0 + a1 + a2 + + an
n
P
ak
Sn+1 =
(3.76)
(3.77)
k=0
4. (ex. 4) pagina 93
(a) Sn+1 =
(b) Sn+1 =
n
P
k=0
n
P
k=1
1=n+1
1
k
1 1.000000
2 1.500000
3 1.833333
4 2.083333
5 2.283334
6 2.450000
7 2.592857
8 2.717857
9 2.828969
10 2.928968
Sn+1 ln(n) para grandes valores de n.
100000
P 1
ln(100000) 11.51292546497022842009;
k 12.090851
k=1
(c)
n
P
k=1
k=
(1+n)n
2
1 1.0000000000000
2 1.2500000000000
3 1.3611111111111
4 1.4236111111111
5 1.4636111111111
6 1.4913888888889
7 1.5117970521542
8 1.5274220521542
9 1.5397677311665
CAPITULO 3. RECURSIVIDADE
99
10 1.5497677311665
double S=0; // inicilizando soma
double a0=1.0;
int
contador=1;
printf("%d %lf \n ",0,a0);
if (n == 0 ){printf("%d %lf \n ",0,a0); return(a0);}
while(contador <=n)
{
S = S + a0; // s(n+1)
printf("%d %2.13lf \n",contador, S);
contador++; // contador = contador + 1
a0 = (double) 1/(contador*contador); // s(n-1)
}
n
X
2
1
k2
6
1
para grandes valores de n. Com n = 35000S35000 = 1.6449054958278
2
e 6 1.64493406684822643649
(d) 1 1.000000
2 5.000000
3 14.000000
4 30.000000
5 55.000000
6 91.000000
7 140.000000
8 204.000000
9 285.000000
10 385.000000
float S=0; // inicializa uma soma
float a1=1.0;
int
contador=1;
printf("%d %f \n",1, a1);
if (n == 1 ) return(a1);
while(contador <=n)
{
S = S + a1; // s(n+1)
printf("%d %f \n",contador, S);
contador++; // contador = contador + 1
a1 = contador*contador;
}
n
P
P (k) em que P e um polinomio a coeficientes
As somas do tipo
k=0
CAPITULO 3. RECURSIVIDADE
100
a uma express
ao da forma Q(n + 1) Q(0), ver [27, inducao finita].
n
P
= Q(n); Q(10) =
k 2 = n(n+1)(2n+1)
neste caso a formula exata e
6
385
k=1
5. 1 1.000000
2 9.000000
3 36.000000
4 100.000000
5 225.000000
6 441.000000
7 784.000000
8 1296.000000
9 2025.000000
10 3025.000000
float S=0; // inicializa uma soma
float a1=1.0;
int
contador=1;
printf("%d %f \n",1, a1);
if (n == 1 ) return(a1);
while(contador <=n)
{
S = S + a1; // s(n+1)
printf("%d %f \n",contador, S);
contador++; // contador = contador + 1
a1 = contador*contador*contador;
}
Como foi dito no item anterior, esta soma pode ser calculada exatamente,
n
P
)2
k 2 = (1 + 2 n)2 = ( n(n+1)
2
k=1
Captulo 4
Aproximac
ao polinomial de
fun
c
oes
Este captulo vai lhe apresentar o objetivo deste livro: a modelagem matematica usando aproximacao polinomial.
Primeiro consideraremos o metodo intuitivo, um polinomio de
grau n interpolando n pontos do plano, depois vamos otimizar
este metodo o que nos vai conduzir ao chamado metodo de La o que chamamos de metodo classico e que foi utilizado
grange. E
ate 1950.
Com o metodo classico, que consiste em fazer passar um polinomio pelos pontos conhecidos de uma funcao, para obter-se uma
boa aproximacao e preciso que a densidade da malha seja muito
grande e consequentemente o grau do polinomio muito alto. As
consequencias computacionais sao graves com esta metologia, mas
o metodo e excelente para epoca em que foi construidoa ,como o
programa que acompanha o livro bem o mostra.
Aos poucos, a partir dos anos 50, no seculo passado, foi surgindo
um metodo sugerido por autores da decada de 40 que se constitue
em considerar varios polinomios, um para cada intervalo da malha.
o que chamamos polin
E
omios por pedacos, ou uma polinomial e
finalmente vieram os splines, e os metodos finitos que muito se
parecem: ambos sao polinomiais.
A parte final deste captulo faz a construcao dos splines por convolucao.
a Lagrange,
(1736-1813)
101
CAPITULO 4. SPLINES
4.1
102
Aproxima
c
ao polinomial cl
assica
(4.1)
(4.2)
CAPITULO 4. SPLINES
103
Q
(c,d)
f(p)
f(x) = m (xa) + b
f(a) = b
P
f(c) = d
(a,b)
[a,c]
Figura 4.1:
db
; c 6= a
ca
(4.3)
Como ja vimos em varias ocasioes neste livro, e interessante escrever o polinomio desenvolvido em dos pontos porque teremos de graca um dos coeficientes
quando impusermos a condicao f (a) = b na equacao (3) temos o valor de b a
ordenada de um dos pontos que determina a reta.
Claro, e preciso vermos claro quais sao as condicoes do problema, mesmo
que isto tenha sido dito acima, uma pequena repeticao torna-se didatica: s
ao
dados dois pontos e queremos saber qual e o polinomio que interpola estes dois
pontos. Encontrar um polinomio significa encontrar os seus coeficientes.
O nosso objetivo aqui nao e geometrico e sim funcional, desejamos func
oes.
No caso da reta, figura (4.1) estamos entendendo que foram feitas duas medidas,
uma no ponto x = a com intensidade y = b e outra no ponto x = c com
intensidade y = d resultando nos dois pontos P = (a, b), Q = (c, d) e a reta que
aparece na figura e a uma aproximacao do que acontece no intervalo [a, c].
Se todas as informacoes que tivermos forem estas (muito pobre o conjunto
de informacoes) a u
nica modelagem do fenomeno e o segmento de reta que passa
nos dois pontos, na figura (4.1).
Se considerarmos um ponto p [a, c] o valor do fenomeno neste ponto, obtido
como interpolacao (linear) e o valor da funcao do primeiro grau, equac
ao (3),
calculada no ponto p. Pontos calculados em cima de retas sao medias aritmetica
CAPITULO 4. SPLINES
104
ponderadas dos valores que determinam esta reta, isto e a melhor que coisa que
podemos obter com esta quantidae (pobre) de informacoes.
Em geral se quer obter mais informacoes, mas obviamente existe um custo
associado a quantidade de informacoes: mais pessoas levantando dados, mais
tempo de busca, mais tempo de processamento. Entao precisamos de metodos
mais eficientes para conseguir o melhor resultado com uma quantidade menor
de informacoes, este e o objetivo deste captulo, desenvolver um metodo nos
permita interpolar as informacoes conhecidas para calcular mais informacoes a
partir das (poucas) informacoes obtidas.
Nesta primeira secao estamos apresentando a solucao classica, que se originou no seculo 18, uma antiguidade digna de museu, mas que vale a pena pelo
menos conhecer porque e magnifica considerando os parcos meios que Euler e
Lagrange e outros tinham para chegar nesta solucao, e nao somente nisto, ela e
bastante exata, porem depende de uma grande quantidade de informac
oes.
Veja mais uma comparacao grafica para ilustrar a imprecisao com que uma
pequena quantidade de informacoes nos deixa. Na figura (4.2) pagina 104,
estamos apresentando uma formulacao grafica de um pretenso fen
omeno real
o valor obtido por
interpolao linear
para x=p
o fenmeno "real"
(c,d)
f(x) = m (xa) + b
f(a) = b
P
f(c) = d
(a,b)
O erro no ponto
x=p
[a,c]
Figura 4.2:
A reta e o fen
omeno real
associado `a reta que que interpola o fenomeno a partir, apenas, das informac
oes
coletadas nos extremos do intervalo. Voce pode ver neste grafico que a reta
nada tem a ver com o fenomeno modelado, porque a quantidade de informac
oes
coletadas e muito pequena.
Observe que se, tudo que soubermos for os valores nos pontos x = a e x = c,
nao teremos nenhuma condicao de avaliar o erro ocorrido ao considerar a media
CAPITULO 4. SPLINES
105
(4.4)
4.1.1
An
alise de dois casos particulares
CAPITULO 4. SPLINES
106
3.5
P(x)
g(x)
0
3
2.5
1.5
0.5
0.5
1.5
Figura 4.3:
Duas soluco
es do problema homog
eneo
pause -2
plot P(x),dP(x),0,p(x),dp(x)
pause -2
g1(x) = 2*P(x)
g2(x) = 3*P(x)
plot P(x), g1(x), g2(x),0
pause -2
#set terminal fig color big portrait
#set output "splines01_03.fig
Neste caso particular, quando estivermos interpolando pontos de um intervalo contido em R, qualquer m
ultiplo de uma solucao e tambem uma solucao,
e a soma de duas solucoes e tambem uma solucao produzindo um espaco vetorial de soluco
es e voce pode se divertir procurando a dimensao deste espaco
vetorial. . .
Ao construir a solucao do problema:
fizemos o grafico de p, p = dp
modulo maximo calculamos, visualmente, o modulo maximo de p . Existe
um teorema que garante que o modulo maximo de um polinomio ocorre na
o teorema
fronteira de um disco que contem este intervalo considerado. E
do m
odulo m
aximo e a figura (fig. 5) pagina 120, e uma ilustrac
ao do
teorema do m
odulo m
aximo estudado em variaveis complexas. A figura
justifica porque preferimos calcular visualmente o maximo da derivada;
usamos como coeficiente
1
; M = 470.0 ; M = max(|p (x)|)
M
CAPITULO 4. SPLINES
107
1
M p(x),
O modulo maximo vem do plano complexo que o melhor lugar para estudarmos polinomios (mas tambem um pouco mais complicado), a figura
(5) mostra o que significa o modulo maximo quando estudamos polin
omios
com variaveis complexas. Esta e a u
ltima mencao `as vari
aveis complexas
neste livro para o caso de voce querer saber onde e que se pode obter
informacoes mais completas sobre o uso do m
odulo m
aximo.
Mdulo mximo
pr imagem do
ponto de mdulo
mximo
O mdulo mximo
no plano complexo
Figura 4.4:
O teorema do m
odulo m
aximo
CAPITULO 4. SPLINES
108
(4.5)
(4.6)
CAPITULO 4. SPLINES
109
7
f(x)
0
6
-1
-2
-3
-2
-1
Figura 4.5:
Aproximaca
o linear por pedacos - 1-spline
Solu
c
ao 2 Veja o gr
afico na figura (fig. 4.5) p
agina 109,
Esta funca
o est
a definida por dois sementos de reta, um quando x < 0 e
outro quando x 0.
x = 2 (x < 0)f (x) = 7 (9/3)(x + 3); f (2) = 4
x = 0 (x 0)f (x) = 2 + (3/5) x; f (0) = 2
x = 2 (x 0)f (x) = 2 + (3/5) x; f (2) = 0.8
(4.8)
(4.9)
(4.10)
3. interpolaca
o n~
ao linear Temos as informaco
es f (xk ) sobre f definida no
intervalo [a, b]:
[a, b] = [3, 5]; x0 = 3; x1 = 2; x2 = 0; x3 = 2; x4 = 5
f (3) = 7; f (2) = 3; f (0) = 3; f (2) = 0; f (5) = 1
(4.11)
(4.12)
Encontre um polin
omio do quarto grau
P (x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4
(4.13)
P (xk ) = f (xk )
(4.14)
tal que
interpolando nao linearmente as informaco
es contidas na (eq. 12). Use
esta interpolaca
o para obter uma estimativa dos valores de f nos pontos
{1, 1, 3}
Faca um gr
afico ilustrativo.
(4.15)
CAPITULO 4. SPLINES
110
Solu
c
ao 3 As informaco
es que temos nos permitem montar a tabela
xk
yk
-3
7
-2
3
0
-3
2
0
5
1
(4.16)
(4.17)
(4.18)
(4.19)
(4.20)
(4.21)
(4.22)
(4.23)
3
2
2
5
a1
9 27 81
4 8
16
a2 =
4
8
16 a3
a4
25 125 625
(4.24)
11
6
3
4
(4.25)
9.
4.
4.
25.
- 27.
- 8.
8.
125.
-->b=[11 ; 6 ;3
b =
!
!
11. !
6. !
;4]
81.
16.
16.
625.
!
!
!
!
CAPITULO 4. SPLINES
!
!
3.
4.
111
!
!
-->a\b
ans =
! - 0.6880952 !
!
1.2678571 !
! - 0.0154762 !
! - 0.0357143 !
-->function y = f(x)
-->y =-3 -0.6880952*x + 1.2678571*x*x - 0.0154762*x*x*x - 0.0357143*x*
-->endfunction
-->f(0) = - 3.
-->f(-3)
-->f(-2) =
7.9999986
2.9999996
-->f(2) = - 0.0000004
-->f(5) =
0.999989
a0 = 3; a1 = 0.6880952; a2 = 1.2678571;
a3 = 0.0154762; a4 = 0.0357143
(4.26)
(4.27)
- 1.0642858
-->f(1)
- 2.4714286
-->f(3)
3.0357126
Veja o gr
afico deste polin
omio, feito com scilab na figura (fig. 4.6) p
agina
112,
CAPITULO 4. SPLINES
112
8
f(x)
0
4
3
Figura 4.6:
interpolaca
o polinomial dos pontos
Outra soluca
o, de acordo com o que desenvolvemos no captulo 1, vamos
desenvolver o polin
omio no ponto x = 3
f (x) = a0 + a1 (x + 3) + a2 (x + 3)2 + a3 (x + 3)3
a0 = 7
f (2) =
7 + a1 + a2 + a3
=3
f (0) =
7 + 3a1 + 9a2 + 27a3
= 3
f (2) = 7 + 5a1 + 25a2 + 125a3 = 0
(4.28)
(4.29)
(4.30)
CAPITULO 4. SPLINES
113
a1 + a2 + a3
3a1 + 9a2 + 27a3
5a1 + 25a2 + 125a3
= 10
=4
=7
=8
(4.31)
[1 , 1 , 1 ;
3, 9, 27; 5,
25,
b = [10; 4; 7; 8]
c = a\b
function y = f(x)
y = -7 + c(1)*(x+3) + c(2)*(x+3)**2 + c(3)*(x+3)**3;
return y;
endfunction
-->f(-3)
ans =
- 7.
-->f(-2)
ans =
- 1.2993631
-->f(0)
ans =
1.0127389
-->f(2)
ans =
- 2.0063694
-->f(5)
ans =
1.2866242
em que obtivemos precis
ao apenas para f (3).
Este dois exemplos nos mostram as dificuldades de obter uma interpolaca
o
confi
avel com polin
omios de grau alto determinado pelo n
umero de informaco
es. Aqui foram polin
omios de grau pequeno porque tambem temos
poucas informaco
es.
4. Faca uma pequena dissertaca
o descrevendo quem e f e P na quest
ao
(ex.3). Use em sua redaca
o algumas das palavras: interpolacao, linear,
estimativa, aproximacao, modelo.
CAPITULO 4. SPLINES
114
chama polin
omio m
onico aquele cujo coeficiente do termos de maior grau
e1
CAPITULO 4. SPLINES
115
(4.33)
(4.34)
4.1.2
A soluc
ao geral do problema
(4.35)
(4.36)
P (x0 ) =
P (x1 ) =
..
P (xn ) =
P (x0 )
..
=
P (xn1 )
P (x0 )
..
.
P (xn1 )
(4.37)
(4.38)
y0
..
.
yn1
= (4.39)
a0 + a0 x0 + + an1 xn1
=
y0
y0
0
y1
a0 + a0 x1 + + an1 xn1
=
y1
1
=
(4.40)
..
..
..
.
.
.
yn
a0 + a0 xn1 + + an1 xn1
n1 = yn1
n1
x0
1
x0
x20
a0
y0
a 1 y1
1
x1
x21
xn1
1
..
..
..
.. .. = .. (4.41)
.
.
.
. . .
n1
an1
yn1
1 xn1 x2n1 xn1
CAPITULO 4. SPLINES
116
a0
a1
..
.
an1
y0
y1
..
.
yn1
(4.42)
sabemos, da Algebra
Linear que o valor do seu determinante e obtido pelo
produto das diferencas entre os seus elementos caractersticos
x0 , x1 , x2 , , xn1
(4.43)
(4.44)
(4.45)
(4.46)
(4.47)
existe um u
nico polin
omio de grau menor ou igual a n passando pelos pontos
(x0 , y0 ) (xn1 , yn1 )
(4.48)
Ou
nico polinomio identificado no (teorema 6) pode ser calculado a partir do
sistema de equacoes descrito acima, mas este metodo conduz `a formulas muito
difceis de expressar. Em vez disto vamos usar um metodo algortmico que vai
conduzir a uma formula mais simples para encontrar este polinomio.
Os exerccios seguintes sao um tutorial para conduz-l@ a 7 entender o chamado metodo de Lagrange para determinacao deste u
nico polinomio de grau n
que interpola os pontos
{(x0 , y0 ), (x1 , y1 ), . . . , (xn1 , yn1 )}
(4.49)
(4.50)
associados `a malha
sobre o intervalo [a, b].
5 Alexandre
Vandermonde, matem
atico franc
es (1735-1796).
da malha de precis
ao
7 mas descoberto por Edward Waring (1736-1798) e por Leonard Euler (1707-1783)
6 pontos
CAPITULO 4. SPLINES
117
(4.51)
Verifique que
P (x) = (x x1 )(x x2 ) + (x x1 )(x x3 ) + (x x2 )(x x3 ) (=4.52)
P (x) = P1 (x) + P2 (x) + P3 (x)
(4.53)
em que (nota
c
ao)
P1 (x) =
P (x)
P (x)
P (x)
; P2 (x) =
; P3 (x) =
x x1
x x2
x x3
(4.54)
Solu
c
ao 4 Usando a derivada do produto: (uv) = u v + uv que pode
ser usada com um produto de qualquer quantidade termos, e observando
que a derivada de que cada fator e 1, temos
P (x) = (x x2 )(x x3 ) + (x x1 )(x x3 ) + (x x1 )(x x2 )
uma soma de produtos em que, sucessivamente, cada um dos fatores ori razo
ginais foi eliminado (trocado por 1). E
avel designarmos
P (x)
xx1 ;
P (x)
P2 (x) = (x x1 )(x x3 ) = xx
;
2
P (x)
P3 (x) = (x x1 )(x x2 ) = xx
3
P1 (x) = (x x2 )(x x3 ) =
(4.55)
(4.56)
(4.57)
e desta forma
P (x) = P1 (x) + P2 (x) + P3 (x)
(4.58)
em que Pk e o polin
omio sem o fator (x xk ) ou ainda e o quociente
P (x)
xxk .
Vamos usar esta notaca
o no pr
oximo exerccio.
2. Verifique que se
P (x) = (x x1 )(x x2 )(x x3 )
ent
ao
(a) Pj (xk ) = 0 se j 6= k
(4.59)
CAPITULO 4. SPLINES
118
(b) Pk (xk ) 6= 0
Esboce o gr
afico de P e tente uma justificativa geometrica para o fato de
que a derivada de P e diferente de zero se as razes forem distintas.
Solu
c
ao 5 (a) Pj tem todos os fatores (x xk ) exceto (x xj ) logo
Pj (xk ) = 0 se j 6= k.
Como (x xj ) n
ao e fator de Pj ent
ao Pj (xj ) 6= 0. Vemos assim que
o valor de Pj (xk ) e
Pj (xk ) = 0 j 6= k
(4.60)
Pj (xk ) 6= 0 j = k
(b) O c
alculo da derivada P (xk ):
P (x) =
3
P
Pk (x)
(4.61)
3
P
(4.62)
k=1
dado k P (xk )
Pj (xk )
j=1
P (xk ) = Pk (xk ) 6= 0
(4.63)
x1
x2
x3
Figura 4.7:
Polin
omio de Lagrange
CAPITULO 4. SPLINES
119
ponto
m1 = P (x1 ) e coeficiente angular em x1
m2 = P (x2 ) e coeficiente angular em x2
(4.64)
(4.65)
(4.66)
(4.67)
3. Verifique que se
P (x) = (x x1 )2 (x x2 )(x x3 )
(4.68)
ent
ao P (x1 ) = 0.
Verifique que definindo
P1 (x) =
ent
ao P =
3
P
P (x)
P (x)
2P (x)
; P2 (x) =
; P3 (x) =
x x1
x x2
x x3
Pk .
k=1
Esboce o gr
afico de P e tente uma justificativa geometrica do valor zero
ou diferente de zero das derivadas. Tente elaborar uma uma teoria geral
sobre o assunto, comparando este caso com o anterior.
4. derivada algoritmica Considere o polin
omio de grau n
P (x) = nk=1 (x xk )
(a) Verifique que
P (x) =
n
X
Pk (x)
(4.69)
(4.70)
k=1
P (x)
.
xxk
CAPITULO 4. SPLINES
120
P1 =
P2 =
P (x)
xx1
P (x)
xx2
..
.
Pn =
(4.71)
(4.72)
(4.73)
P (x)
xxn
(4.74)
(4.75)
(4.76)
k=1
n
X
k=1
Pk (xj ) = Pj (xj ) 6= 0
(4.77)
O gr
afico de P corta o eixo OX em todos os n
os se alternando com m
aximo
ent
ao as razes de P s
ao todas distintas das razes de P .
Como entre duas razes de P este polin
omio ter
a um m
aximo ou um
mnimo8 local, ent
ao P tem uma raz entre duas razes de P .
8 quem
garante isto
e a continuidade
CAPITULO 4. SPLINES
121
ultiplas em
6. * Por que a teoria do item anterior falha se houver raizes m
(eq. 69) ?
Solu
c
ao 8 Porque quando houver uma raz m
ultipla, ela tambem ser
a
raiz da derivada. Suponhamos que x = a seja uma raz com multiplicidade
n > 1 ent
ao
(4.78)
n
f (x) = n(x a)
g(x) + (x a) g (x) =
f (x) = (x a)[n(x a)n2 g(x) + (x a)n1 g (x)]
f (a) = 0
(4.79)
(4.80)
(4.81)
ent
ao x = a tambem e raz de f .
para que o m
aximo da derivada P seja maior do que o m
aximo de P no
9
intervalo que contem as razes [a, a]; a > 0 Prove que se |ba| 4 ent
ao
|(x a)(x b)| |2x a b| = x [a, b]
Sugest
ao: nada muda no tamanho (desigualdades) quando os gr
aficos forem transladados...
aximo
9. *oscilaca
o da derivada(2) Verifique que para P (x) = x(x2 1) o m
condica
o a > 0 n
ao
e essencial, apenas facilita a apresentaca
o do problema.
CAPITULO 4. SPLINES
122
uencia de n
os
11. polin
omio de Lagrange Considere a seq
xk {2.5, 1.5, 0.5, 2, 3} [3, 3]
do intervalo [3, 3]. Seja P o polin
omio m
onico10 que tem estes n
os como
P (x)
razes. E defina Pk (x) = xxk .
(a) Calcule P .
(b) Mostre que
P =
5
X
Pk .
k=1
polin
omio f interpola os pontos
11 aquele
CAPITULO 4. SPLINES
123
i. Calcule P .
ii. Mostre que
P =
n
X
Pk .
k=0
n
X
Pk (x)
f (x) =
P (xk )
k=0
f interpola os pontos
((xk , yk )nk=0 )
do plano.
(h) Considere uma sucess
ao (crescente) de n
os (xk )nk=0 de um intervalo
[a, b]. Seja P o polin
omio m
onico12 que tem estes n
os como razes. E
P (x)
defina Pk (x) = xxk . Verifique que
i.
P =
n
X
Pk
k=0
ii.
Pj (xk ) = 0 = j 6= k
iii.
Pj (xj ) = P (xj )
iv. f (x) =
n
P
k=0
Pk (x)
P (xk )
e um polin
omio de grau no m
aximo n. Calcu-
12 aquele
CAPITULO 4. SPLINES
4.1.3
124
Interpolac
ao polinomial de Lagrange
(4.82)
CAPITULO 4. SPLINES
125
P (x)
xxk
um polinomio de grau n
P (x) =
n1
P
Pk (x)
(4.83)
(4.84)
k=0
Pk (xk ) = P (xk )
Pk (xj ) = 0 == j 6= k
n1
P Pk (x)
f (x) =
P (xk )
(4.85)
(4.86)
(4.87)
k=0
f (xk ) =
n1
P
k=0
Pk (xk )
P (xk )
Pk (xk )
P (xk )
P (xk )
P (xk )
=1
(4.88)
(uma soma de pesos), para todos os valores de x no intervalo [a, b]. Se portanto
escolhermos uma colecao de n + 1 valores, cada um deles associados a um dos
nos podemos definir:
n1
X yk Pk (x)
(4.89)
g(x) =
P (xk )
k=0
CAPITULO 4. SPLINES
4.2
126
Func
oes polinomiais por peda
cos
Nesta secao vamos fazer a construcao teorica das funcoes polinomiais por
pedacos que ja aparecerem em varios exerccios e que portanto voce j
a est
a
praticamente familiarizado com este instrumento. Aqui a linguagem ser
a mais
formal apenas.
Alguns itens da lista de exerccios seguinte servem apenas para relembr
a-lo
de algumas tecnicas, do C
alculo Diferencial e Integral e da Geometria Analtica
que precisaremos na continuacao. Aquilo que lhe parecer trivial voce deve,
simplesmente, saltar.
Exerccios 15 Polin
omios por pedacos
1. Funca
o linear por pedacos
(a) Considere a seq
uencia de n
os
xk {3, 2.5, 1.5, 0.5, 0.5, 1.5, 2.5, 3} [3, 3]
e a seq
uencia de valores correspondente
yk {0, 1, 1, 2, 3, 1, 2, 0}
Construa, (faca o gr
afico) da poligonal que interpola os pontos (xk , yk ).
(b) Chame f a funca
o cujo gr
afico foi feito no item anterior e calcule os
seus valores nos pontos inteiros do intervalo [3, 3].
2. Considere a seguinte melhoria nos dados do item anterior: para cada n
o
da malha, o sensor calculou a taxa de variaca
o
dk {1, 0, 2, 1, 0, 1, 0, 1}
e consequentemente, em cada intervalo Ik = [ak , ak+1 ] temos quatro informaco
es:
CAPITULO 4. SPLINES
Ik =
127
n
o
xk
xk+1
valor
yk
yk+1
taxa de variaca
o
dk
dk+1
Pk (xk ) = yk
Pk (xk+1 ) = yk+1
yk
7
3
5
dk
3
1
2
em que xk s
ao os n
os da malha e yk , dk s
ao, respectivamente o valor medido e a taxa de variaca
o calculada em cada n
o. Encontre um polin
omio
16
por pedacos do terceiro grau, P , que represesente o fen
omeno no intervalo [3, 3] e faca o gr
afico.
4.2.1
(4.90)
definindo uma particao de um intervalo [a, b], o problema tpico que desejamos
resolver consiste em criar um modelo para um fenomeno cujos valores
{y0 , . . . , yn }
(4.91)
(4.92)
CAPITULO 4. SPLINES
128
(4.93)
y0,2 y0,1
y
y
y0,2
y0,1
+ 0,3t 0,2
t1
t1 + t2
2
=
2
2
..
..
..
..
..
(4.94)
.
.
.
.
.
yn,3 yn,2
yn,2
yn,1
yn,2 yn,1
xn
yn,1
yn,2
yn,3
dn =
t1
+
2
t2
t1
+
2
t2
x0 y0,1 d0
..
..
..
(4.95)
.
.
.
xn
yn,1
dn
x0
..
.
xn
y0
..
.
d0
..
.
dn
yn
(4.96)
CAPITULO 4. SPLINES
129
(4.97)
no n
o xk+1 : yk+1 , dk+1 ;
(4.98)
Polin^
omios por peda
cos. Em cada sub-intervalo podemos calcular um
polin
omio de grau tres que modela o fen
omeno no intervalo [xk , xk+1 ];
Pk (x) = ak,0 + ak,0 (x xk ) + ak,0 (x xk )2 + ak,0 (x xk )3
Examine, novamente, os exercicios (ex. 2) e (ex. 3), p
agina 127.
Malha com n + 1 n
os, com os n + 1 pontos, incluindo os extremos do intervalo, determinammos n subintervalos, temos n polin
omios de grau tres
que ir
ao modelar o fen
omeno no intervalo [a, b];
Polinomial de grau tres e esta funca
o que estamos chamando de uma polinomial de grau tres que usaremos como modelo para os fen
omenos que
estamos estudando. A polinomial tambem chamada de funcao polinomial
por pedacos.
Podemos resumir estes dados na tabela:
..
.
yn dn Pn (x) = an,0 + an,1 (x xn ) + an,2 (x xn )2 + an,3 (x xn )3
(4.99)
H
a v
arias formas de resolver o exerccio 1. Leia a soluca
o dos exerccios ao
final do captulo, n
os vamos us
a-la como metodo de trabalho. Rode os nossos
programas usando-os como exemplos din
amicos18 do texto.
x0
..
.
xn
y0
..
.
4.2.2
d0
..
.
Aproximac
ao de func
oes
(4.100)
CAPITULO 4. SPLINES
130
grfico da aproximao
20
20
40
60
10
10
grfico da funo
Figura 4.8:
Aproximaca
o de uma funca
o
obtida pelo produto de uma funcao polinomial por uma senoide. Tais func
oes
sao bons exemplos de modelos com grandes oscilacoes e portanto que oferecem
dificuldades para serem aproximadas. Rodando o programa com intervalos grandes, por exemplo [30, 30] voce podera ver os defeitos da aproximacao. Usando
o intervalo default do programa, voce tera uma visao enganosa de perfeic
ao, mas
e este o objetivo do programa, permitir que voce manipule o exemplo o que n
ao
e possvel fazer com uma figura como (fig. 4.8).
Observa
c
ao 5 Simulaca
o da realidade
Primeiro que tudo e preciso observar que n
ao temos nenhuma funca
o para
aproximar. O nosso objetivo e o de resolver problemas do tipo exemplificado
pelo (ex. 3), p
agina 127 em que uma massa de dados e obtida, de alguma
20
forma , representando um certo fen
omeno que desejamos estudar. No caso
dos programas educacionais que fizemos, e interessante supor que exista uma
funca
o f dada, por uma equaca
o algebrica21 , como
f (x) = P (x)sen(ax + b),
porque podemos exibir gr
aficos que mostrem as perfeico
es ou as fraquezas do
metodo. Nada poderiamos ilustrar apenas apresentando o modelo.
Falaremos com frequencia de uma funcao hipotetica que estamos tentando
aproximar, e essa funca
o seria a equaca
o do fen
omeno. Ora, a Natureza e muito
rebelde para ser equacionada e e porisso que precisamos de modelos matem
aticos
para simular a Natureza, e, naturalmente, sempre estar conscientes de que uma
parte, possivelmente significativa, da realidade se perdeu em sua idealizaca
o pelo
modelo.
20 em
CAPITULO 4. SPLINES
131
Au
nica forma de ter seguranca com simulaco
es e
Rodar diversas vezes o modelo. Rode o programa aproximacao com intervalos bem diferentes, para entender o que estamos dizendo;
cada vez que o modelo for rodado, fazer uma nova entrada de dados experimentais;
acompanhar estatisticamente a dispers
ao entre os dados obtidos com o
modelo e os levantamentos de dados do fen
omenos estudado;
somente aceitar o modelo quando resultados independentes tiverem uma
dispers
ao estatstica baixa.
Modelos s
ao aproximacoes da realidade construidas por seres humanos que
podem perder de vista um aspecto muito importante do problema no qual voce
estiver aplicando o modelo. Eis a raz
ao da import
ancia de entendamos os modelos por dentro e os possamos modificar, este e um ponto central na quest
ao
software aberto.
Obviamente que existe um custo a ser considerado e, infelizmente, este custo
pode ser alguma vezes sobreposto a quest
oes como seguranca, aqui entra a etica...
Base te
orica dos modelos
Ha varios tipos de modelos e este assunto sozinho ocupa varios volumes na
literatura, portanto o leitor deve ficar consciente de que aqui seguiremos por
um atalho em busca de um tipo de modelo de nossa escolha. Na bibligrafia voce
podera encontrar mais dados para prosseguir num aprofundamento, se este for
o seu desejo.
Numa classificacao um pouco simples consideraremos dois tipos de modelos:
discretos em que o conjunto sobre os quais as funcoes estiverem definidas tenha um n
umero finito de valores. Teoria dos jogos por exemplo
usa este tipo de modelos, a an
alise combinat
oria, ou mais amplamente a
combinat
oria, e uma base teorica para tais modelos;
contnuos em que as funcoes envolvidas tem como domnios subconjuntos
dos n
umeros reais. As funco
es contnuas e diferenci
aveis sao a peca central
nestes modelos com todas as tecnicas, integral e derivada, do C
alculo
Diferencial e Integral.
Os modelos de que trataremos neste livro sao do segundo tipo, os contnuos.
Observa
c
ao 6 Contradica
o dos modelos contnuos
Melhor do que contradica
o seria possivelmente usar a palavra paradoxo. Aqui
e preciso chamar sua atenca
o para uma contradica
o com a qual e preciso conviver.
Todo o nosso trabalho se encontra intimamente ligado com programas de
computador, enfim com computadores. Ora, tudo em um computador e finito,
CAPITULO 4. SPLINES
132
quer dizer que estaremos modelando o infinito (contnuo)22 com um modelo discreto, o computador.
Uma das conseq
uencias mais funestas desta contradica
o e que surge um item
omnipresente em nossos trabalhos, o erro, que temos que, permanentemente,
levar em conta. Aqui e preciso ter uma atitude sempre realista de verificaca
o
sistem
atica dos modelos em suas aplicaco
es. Mas o objetivo desta observaca
o
n
ao e o de sugerir o receio e sim o de observar que o cuidado sempre deve
estar presente e um metodo pr
atico para enfrentar esta quest
ao e o trabalho em
equipes.
Os elementos da teoria sao os seguintes:
da computacao vem uma tecnica que estamos usando deste o primeiro
captulo, varredura;
na Matematica, esta tecnica computacional de varreduras, assume o aspecto de malha, ou partica
o de um determinado conjunto. Estes dois
conceitos matematicos sao equivalentes, malha,partica
o, embora algumas
vezes nao seja trivial a passagem de um para o outro. Neste livro sempre usaremos malhas associadas a um conjunto de pontos que determinam
retangulos (nos casos multidimensionais) ou sub-intervalos (nos casos
unidimensionais). Veja as figuras (fig. 2.2), pagina 32 e (fig. 2.3), p
agina
35.
Um exemplo, no caso unidimensional e o que voce tem no (ex. 3), p
agina
127, em um conjunto de n
os escolhidos em um intervalo determina a
malha. Associada a esta malha temos uma famlia de polin
omios do grau
tres, uma polinomial do grau tres e assim escapamos do alto custo computacional que e trabalhar com polinomios de grau elevado;
convergencia do algoritmo Os algoritmos definem sucessoes. Estudamos
sucessoes no captulo tres. Uma sucessao e uma funcao definida no conjunto dos n
umeros naturais e tomando valores em um outro conjunto. Este
segundo conjunto determina a natureza das sucessoes. Com frq
uencia,
neste livro, as sucessoes tem valores reais, e o que chamamos de sucess
oes
23
de n
umeros reais . Sucessoes deste tipo definem n
umeros quando forem
convergentes, e o limite da sucessao. Entretanto, nao daremos enfase `
a
convergencia de algoritmos neste livro, e isto e um defeito do livro, procure
compensar este defeito com literatura complementar.
o conceito de continuidade e utilizado seguidamente. No Calculo voce essencialmente estudou que se a diferenca
|x| = |x2 x1 |
22 com
freq
u
encia a palavra contnuo
e tomada como sin
onimo de infnito mas os dois conceitos s
ao distintos
23 em geral n
umeros racionais, sobretudo porque os nossos programas de computador somente podem lidar com n
umeros racionais
CAPITULO 4. SPLINES
133
CAPITULO 4. SPLINES
134
xk
x0 = 5
x1 = 0
x2 = 6
yk
1
0
2
dk
0
1
1
1
b
a
Figura 4.9:
yk
f (5)
f (0)
f (6)
dk
f (5)
f (0)
f (6)
f (x2 )f (x1 )
x2 x1
f (x1 )f (x0 )
x1 x0
indicando qual e
CAPITULO 4. SPLINES
4.3
135
Quase-splines
Como anunciamos no incio, a partir dos anos 1950, comecamos a
descobrir que havia um metodo polinomial mais inteligente. Em
vez de procurarmos um polinomio de grau elevado, n passando
por n + 1 pontos dados, poderiamos procurar varios polinomios
de grau mais baixo. Isto e o que chamamos de polin
omios por
pedacos, uma polinomial. . Estas polinomiais sao quase-splines.
Vamos construtivamente mostrar que uma polinomial de grau tres
e a solucao otima e depois vamos definir o que sao splines.
4.3.1
Polinomiais de grau tr
es
(4.101)
(4.102)
(4.103)
que se reduz assim a duas equacoes nas incognitas ainda restantes m2 , m3 observando que sao conhecidos:
m0 = c1 , m1 = d1 , b a, c2 , d2
c1 + d1 (b a) + m2 (b a)2 + m3 (b a)3
d1 + 2m2 (b a) + 3m3 (b a)2
(4.104)
= c2
= d2
(4.105)
CAPITULO 4. SPLINES
136
= 3c2
(4.106)
= d2 (b a)
(4.107)
(4.108)
c2 (c1 + d1 (b a) + m2 (b a)2 )
(b a)3
(4.109)
(4.110)
(4.111)
(4.114)
(4.115)
sk = xk+1 xk 6= 0
(4.116)
mk,2 =
mk,3 =
(4.117)
(4.118)
CAPITULO 4. SPLINES
137
Pk (xk+1 ) e Pk+1
(xk+1 ) = Pk (xk+1 ) entao P e contnua e diferenciavel no intervalo [a, b]
Pk (xk+1 ) = 2mk,2
Pk+1 (xk+1 ) = 2mk+1,2
(4.119)
(4.120)
(4.121)
4.4
Valor m
edio integral
1
=
ba
Zb
f (x)dx
e verdade.
Vale a pena discutir um t
opico muito importante que
e Valor m
edio integral.
Vamos comecar analisando qual
e o significado da integral
Z
g=1
(4.123)
CAPITULO 4. SPLINES
138
que os sub-intervalos v
ao gerar no gr
afico de g. Assim produzimos a soma que chamamos de
soma de Riemann, e que voc
e deve ter visto no curso de C
alculo26 , veja o gr
afico na figura
(fig. 1), na p
agina ix. Uma soma de Riemann tem o seguinte aspecto:
n
X
g(xi )xi
(4.124)
i=0
g(xi )xi 1
(4.125)
em que27 todos os n
umeros que aparecem na soma s
ao positivos.
Defini
c
ao 3 Pesos
Uma colec
ao de n
umeros positivos, cuja soma
e 1 se chama uma coleca
o de pesos, ou
simplesmente pesos.
Famlias de pesos s
ao usadas para calcular m
edias aritm
eticas ponderadas, por exemplo,
a inflaca
o28
e uma m
edia aritm
etica ponderada.
No caso da funca
o g = [0.5,0.5] esta soma
e exatamente 1, mas observe que estamos
fazendo uma demonstraca
o e assim g
e uma funca
o qualquer satisfazendo duas propriedades:
e positiva;
sua integral
e 1.
(4.126)
i=0
f (xi ); xi [, ]
podem ser interpretados como amostragem de f neste intervalo e a equaca
o (eq. 126)
e o
valor m
edio desta amostragem por que a soma dos n
umeros g(xi )xi
e quase 1.
Quanto mais fina for a malha, mas pr
oximo de 1 estar
a a soma na equaca
o (eq.125 )30 ,
portanto
e este o valor da integral, o valor m
edio de f no intervalo [, ], relativamente `
a
func
ao g.
Aqui temos dois fatores de precis
ao com que lidar:
24 um
n
ucleo, ou um pulso unit
ario
apenas integrais no sentido de Riemann, neste livro! e tem integral num sentido
diferente?
26 O cap
tulo 0 faz uma revis
ao r
apida deste assunto, visite-o agora se achar que precisa.
27 aproximadamente 1 porque
e uma aproximaca
o da integral que supusemos ser 1
28 Em que os governos colocam pesos onde lhe interessam para produzir os
ndices inflacionarios com que nos enganam
29 quase, porque a soma de Riemann,(eq. 125), n
ao
e 1, ela
e aproximadamente 1
30 e mais preciso o c
alculo da m
edia aritm
etica
25 usamos
CAPITULO 4. SPLINES
139
a densidade dos pontos da malha, quanto mais pontos forem tomados na amostragem,
mais preciso fica o levantamento de dados, mas tamb
em fica mais caro;
e o tamanho do intervalo [, ], a base da funca
o a medida da regi
ao de correca
o que
peso com que estamos fazendo a m
edia. Veja a ilustraca
o da regi
ao de correc
ao na
figura (fig. 4.13) p
agina 147. Quanto menor for a medida desta regi
ao, mais exato fica
a correc
ao do erro na funca
o,
a ci
encia vai consistir em obter o m
aximo de precis
ao com o mnimo de custo.
A funca
o utilizada para calcular o valor m
edio, influ
encia este valor m
edio. Como em
qualquer m
edia aritm
etica ponderada31 , a escolha dos pesos influ
encia o valor da m
edia, quer
dizer que tais m
edias s
ao viciadas32 , n
ao podemos ter uma resposta padr
ao sobre o valor
m
edio integral
Z
f (x)g(x)dx = V alMedg,[,] (f )
(4.127)
o valor m
edio integral
e uma m
edia ponderada
adjetivo vicidadas tem sentido t
ecnico, aqui, mas voc
e pode facilmente extrapolar o
sentido da frase para outros contextos menos t
ecnicos...como no c
alculo da inflaca
o. A inflaca
o
e poltica! os precos s
ao polticos! os juros s
ao polticos!
33 esta
e uma propriedade das funco
es contnuas
34 aqui tem um erro, veja observa
ca
o mais a frente
32 o
CAPITULO 4. SPLINES
140
g=1
(4.128)
ent
ao
V alMedg,[,] =
f (x)g(x)dx
(4.129)
e o valor m
edio integral de f relativamente a g no intervalo [, ]. E se g for equilibrada no
intervalo [, ] no sentido de que tenha a mesma
area a esquerda e
a direita do ponto central
a deste intervalo, ent
ao
a [, ] ; V alMedg,[,] =
f (x)g(x)dx = f (a)
(4.130)
Observa
c
ao 8 Um erro no teorema do valor m
edio
O teorema 8 tem um erro que
e preciso corrigir. Observe o gr
afico na figura (fig. 4.11).
A func
ao f n
ao est
a definida no ponto c
Quer dizer que n
ao podemos escrever
c [, ] ; V alMedg,[,] =
f (x)g(x)dx = f (c)
(4.131)
como est
a no teorema, mas sim
V alMedg,[,] =
f (x)g(x)dx
(4.132)
o acontece, no gr
ou seja, apenas dizer que
e o valor m
edio. E
afico (fig. 4.11), p
agina 144
em relac
ao ao ponto c em que a func
ao pode nem siquer estar definida.
Aproveitemos para ver que o valor m
edio serve para definir o valor f (c) que faltava para
f ou que tinha sido calculado de forma errada.
Este
e um m
etodo que os estatsticos usam frequentemente, e tamb
em muito usado nas
telecomunicac
oes, restaurac
oes de arquivos, recuperac
ao de dados.
Observa
c
ao 9 Evoluc
ao e correc
ao de um teorema
Quando redigimos o teorema 8 cometemos o erro de escrever o valor de f no ponto a
a volta do qual o valor m
edio est
a sendo calculado. Depois nos apercebemos do erro, mas
resolvemos deix
a-lo assim, com a correc
ao posterior, para que voc
e veja que os teoremas as
vezes nascem errados. Em geral eles sempre s
ao corrigidos, depois, mas por outra pessoa que
l
e o trabalho, n
ao pelo pr
oprio autor.
Acho que este erro torna mais f
acil a compreens
ao do teorema.
Exerccios 17 (Valor m
edio) Valor medio
1. Considere a funca
o f = [0.5,0.5] , a funca
o caracterstica do intervalo
[0.5, 0.5]. Prove que g (x) = f (x) tambem tem integral 1. Produza
alguns exemplos usando gnuplot.
2. Construa uma funca
o que seja contnua e positiva cuja integral seja 1.
CAPITULO 4. SPLINES
141
Solu
c
ao 9 Se uma funca
o positiva for contnua e diferenci
avel, digamos
f , e definida e integr
avel no intervalo [a, b] ent
ao podemos calcular
A=
Rb
f (x)dx
(4.133)
1
f (x)
A
(4.134)
g(x) =
|x| > 2
1
f (x)
|x| 2 A
(4.135)
(4.136)
(4.137)
x 4
x 2
x2
g(x) =
x4
x>4
0
f1 (x)
f (x) + 4
f2 (x) = (x 4)2
0
(4.138)
Esta funca
o se anula fora do intervalo [4, 4], por contruca
o e diferenci
avel
e sua integral vale
CAPITULO 4. SPLINES
142
R4
g(x)dx =
(4.139)
2
R
=
+
R2
f1 (x)dx +
(4.140)
(f (x) + 4)dx +
(4.141)
R4
+ f2 (x)dx
(4.142)
R2
2
R
f1 (x)dx =
R2
x2 dx =
(f (x) + 4)dx = 16
R4
g(x) =
(4.143)
32
3
(4.144)
8
3
(4.145)
48
3
(4.146)
f2 (x)dx =
16
3
8
3
3
Defina ent
ao F (x) = 48
g(x) e temos assim uma funca
o cuja integral e 1
sendo diferenci
avel na reta. O gr
afico de F pode ser vista na figura (4.10)
p
agina 143,
4.5
Splines c
ubicos
Em muitas aplicacoes os quase-splines construidos na secao anterios sao suficientes oferecendo boa aproximacao. Mas em outras,
como exemplo em computacao grafica, em que e necessario mais
din
amica, os algoritmo tem que ser mais otimizado e o metodo de
aproximacao mais preciso. Para isto temos os splines c
ubicos que
construiremos aqui.
CAPITULO 4. SPLINES
143
10
F(x)
0
g(x)
-5
-10
-15
-10
Figura 4.10:
-5
10
15
Uma funca
o positiva cuja integral
e1
CAPITULO 4. SPLINES
144
4.5.1
Produto de convoluc
ao
Vamos definir uma operacao que ficou na geladeira por anos ate que os metodos
computacionais a viessem resgatar, a convoluca
o, ou melhor dizendo, o produto
de convoluca
o que e o seu nome original.
Vamos comecar com uma definicao geometrica errada, ilustrada36 na figura (fig. 4.11) pagina 144.
f
retngulo
mvel
Figura 4.11:
posio
original
do retngulo
Definica
o geom
etrica - produto de convoluca
o
No proximo paragrafo corrigiremos a definicao usando uma motivacao algebrica para adotar uma forma mais adequada de definir a operacao.
36 Voc
e
deve ter compreendido o poder do erro que aparece no coeficiente do segundo grau
do Polin
omio de Taylor no captulo 1
CAPITULO 4. SPLINES
145
f (x)b (x)dx =
f (x)(x b)dx
(4.147)
Na express
ao da integral o exerccio proposto linhas acima ficou resolvido.
Sem d
uvida e difcil39 calcularmos f [0.5,0.5] (x) num ponto x qualquer
ou mesmo obtermos uma formula para este resultado.
Nosso objetivo e mostrar-lhe alguns exemplos do que significa f g para convence-l@ do valor do investimento pesado que vai fazer. Depois voce ver
a que
um programa de computador sera o encarregado de fazer o trabalho pesado,
nao se esqueca de que voce esta lendo um livro de Calculo Numerico Computacional. . . e que voce deve apresnder a escrever expressoes formais que um
computador possa ler e calcular.
E, finalmente, deixe-me dizer-lhe, nos avioes comerciais, a fuselagem, e feita
com este instrumento, e quase que todos os jogos eletronicos tem splines por
tras, portanto estamos diante de uma ferramenta que vale a pena ser entendida
e dominada.
Depois, passado o susto com a definicao geometrica, voce vera que o trabalho
ficara com os programas...mas, temos que entender como fazer, para podermos
escrever os programas.
37 Duas
das c
opias est
ao superpostas dando a impress
ao de que voc
e dois ret
angulos com
bases menores, mas
e uma ilus
ao de o
tica.
38 O autor escreveu os limites , propositadamente, para que voc
e se intimidasse, verifique
esta integral se limita ao intervalo [0.5 + b, 0.5 + b]
39 n
ao h
a porque escondermos a dificuldade, o difcil
e apenas difcil, n
ao impossvel, e
apenas exige mais trabalho para dominar, somente isto. Como escalar um morro
e difcil, e o
segredo
e saber e ter os meios...
CAPITULO 4. SPLINES
146
clculo de
clculo de
f*X(a)
posio inicial
f*X(b)
do retngulo
b>a
posio inicial
do retngulo
0.5+b
0.5+a
0.5 +a
0.5+b
c
0
clculo de
posio inicial
f*X(c)
do retngulo
c>b>a
0.5+c
0.5+c
Figura 4.12:
O significado geom
etrico de tr
es valores
CAPITULO 4. SPLINES
147
tem area 1, a integral do produto vai nos dar o valor medio da integral de f no
intervalo de medida 1 (por causa da base do quadradinho) tendo como ponto
medio a translaca
o. Estamos discutindo:
a<b<c
;
f [0.5,0.5] (a), f [0.5,0.5](b), f [0.5,0.5] (c)
(4.148)
(4.149)
(4.150)
quando este valor existir, e no caso do ponto c e um valor que fica entre os
ao na
extremos do salto que a funcao da no ponto c. Veja o grafico da convoluc
figura (fig. 4.13) pagina 147,
f
c
0
Regio de
correo
Figura 4.13:
Correca
o pelo valor m
edio numa vizinhanca de c
CAPITULO 4. SPLINES
148
(4.151)
A regi
ao de correca
o pode ter medida menor e alguns dos exerccios da lista
que segue vao lhe mostrar isto: a regi
ao de correca
o pode ser arbitrariamente
corrigida de modo que a funca
o f seja uma melhor aproximaca
o para f .
Exerccios 18 Media e n
ucleo
aficos das funco
es abaixo e descubra o que h
a de comum
1. n
ucleos Faca os gr
entre elas do ponto de vista da integral. Voce n
ao precisa fazer todos os
gr
aficos se descobrir a regra do jogo...
[0.5,0.5]
1
2 [1,1]
[0,1]
[1,0]
2[0.25,0.25]
1
4 [2,2]
2[0,0.5]
2[0.5,0]
3
1 1
2 [ 3 , 3 ]
1
10 [5,5]
3
2
2 [0, 3 ]
3
2
2 [ 3 ,0]
5[0.1,0.1]
1
20 [10,10]
1
20 [0,20]
1
20 [20,0]
2. Podemos classificar os n
ucleos definidos na quest
ao anterior como (1)
com tendencia `a esquerda, (2) com tendencia `a direita ou (3)equilibrados.
Descubra quais ficam em cada uma dessas classes.
3. Para cada um dos n
ucleos apresentados no primeiro exerccio, indique a
medida da respectiva regiao de correcao que lhe est
a associada.
4. media viciada O gr
afico seguinte representa f, f g em que g e um n
ucleo
tendencioso (`
a direita, ou a
` esquerda). Decida qual e a tendencia de g,
analisando o gr
afico Veja na figura (fig. 4.14) p
agina 148,
f
f*g
c
0
Clculo de mdia
com sinal tendencioso
Figura 4.14:
M
edia viciada
Defini
c
ao correta da convolu
c
ao
Esta e uma secao difcil, o que nao significa que nao seja para os comuns mortais.
preciso,
Aquilo que e difcil apenas exige mais esforco para ser adquirido. E
CAPITULO 4. SPLINES
149
entretanto, salientar que, na pratica do dia-a-dia, nao sera preciso estar com
todas estas contas presentes. Ao final voce vai encontrar a equacao de um
n
ucleo-splines c
ubico que podera registrar num arquivo, num pen-drive, e sair
com ele por a para usar quando precisar fazer convolucoes, e uma contribuic
ao
deste livro para sua vida pratica.
- forca uma parada do LaTeX
Vamos definir o produto de convolucao, e inicialmente escreveremos uma
definica
o errada, acompanhando as ideias geometricas que desenvolvemos anteriormente. Logo veremos, com um calculo algebrico, porque esta definic
ao n
ao
serve e assim chegaremos `a definica
o adequada da convolucao.
Na introducao geometrica que fizemos acima dissemos que o valor de f g
no ponto a era obtido
translatando a funcao g de a e
calculando a integral do produto de f por esta translatada
Precisamos de uma notacao adequada para escrever tudo isto:
a translatada de g por a vamos chamar de ga e assim
a transformacao translacao tem uma equacao curiosa:
x 7 ga (x) = g(x a)
(4.152)
f (x)ga (x)dx
(4.153)
es vale a
Vamos logo responder parcialmente esta questao: para que funco
express
ao (eq. 5 ) da convoluca
o. Veja que, se a integral
Z
f (x)dx
(4.154)
CAPITULO 4. SPLINES
150
f g(a) =
R
=
=
f (x)ga (x)dx =
(4.155)
f (x)g(x a)dx =
(4.156)
f (y + a)g(y)dy =
(4.157)
f (y + a)g(y)dy
(4.158)
g(a x) dx =
| {z }
troca de sinal
y = a x = x = a y = dx = dy
f (a y)g(y)dy =
(f g)(a) =
f (x)
(4.159)
(4.160)
(4.161)
f (a y)g(y)dy =
(4.162)
(4.163)
f (x)g(a x)dx
(4.164)
CAPITULO 4. SPLINES
151
Analise do domnio de f g
f g(a) =
f (x)g(a x)dx
(4.165)
se uma das funcoes for integravel na reta e a outra for limitada, esta
integral existe. Isto mostra que esta operacao tem sentido, e logo veremos
que ha uma infinidade de funcoes que podem ser os operandos do produto
de convoluca
o.
Demonstramos assim o teorema
Teorema 9 Domnio de validade da convoluca
o
A convoluca
o f g est
a bem definida se g for uma funca
o caracterstica
de um intervalo fechado e f tiver integral em qualquer intervalo fechado.
Exemplo 12 Domnio da convoluca
o
Exemplos de funco
es para as quais podemos calcular f g s
ao qualquer
funca
o contnua f se g for uma funca
o caracterstica de um intervalo
fechado.
Podemos calcular a convoluca
o de duas funco
es caracterstica de intervalos
fechados.
Nos voltaremos logo a esta questao, ampliando o conjunto de pares de
funcoes para os quais podemos calcular a convolucao.
A convolucao define uma nova funcao que nos estamos sugerindo que seja
uma aproximaca
o de f o que e inteiramente errado. Isto somente vai ser verdadeiro se a funcao g for um n
ucleo41 . Vamos discutir este detalhe logo a frente.
4.5.2
Fun
c
oes a suporte compacto
CAPITULO 4. SPLINES
152
ncleo equilibrado
Figura 4.15:
N
ucleos ou pulsos unit
arios
Exemplo 13 N
ucleo tendo como suporte a reta
2
A funca
o f (x) = ex , chamada de gaussiana tem integral finita
2
g(x) =
1 f (x)
2
(4.167)
g(x)dx = 1
(4.168)
ex dx =
(4.166)
CAPITULO 4. SPLINES
153
Observa
c
ao 10 Domnio da convoluca
o
Podemos ampliar um pouco a resposta da quest
ao do domnio de definica
o
da convoluca
o, ou, para que tipos de funco
es podemos calcular a convoluca
o.
Onde acima usamos funca
o caracterstica, agora podemos dizer funcoes a suporte
compacto.
Nota
c
ao o suporte de f e designado42 por supp(f ).
Um exemplo simples mostra como podemos construir n
ucleos com suporte
compacto:
Exemplo 14 Um n
ucleo com suporte compacto
Considere f = [0.5,0.5] e vamos calcular f f .
Geometricamente podemos ver que se a translaca
o for maior do que 1 em
m
odulo, a convoluca
o se anula, porque os dois ret
angulos n
ao mais ter
ao superposica
o, ser
ao disjuntos. Faca um gr
afico para se verificar isto. Como consequencia temos
x
/ [1, 1] = f f (x) = 0
e portanto o supp(f f ) [1, 1]. Por outro lado, para qualquer translaca
o cujo
m
odulo seja menor do que 1, os dois ret
angulos ter
ao superposica
o e assim a
integral ser
a diferente de zero. Verifique isto geometricamente, faca um gr
afico.
Consequentemente supp(f f ) = [1, 1].
Vamos agora calcular f f , determinar sua equaca
o.
Prosseguiremos com o metodo geometrico. Observe que o par
ametro da
funca
o f g e a translaca
o aplicada a
` funca
o g
x 7 f f (x) =
f f (x) =
=
0.5
R
0.5
0.5
R
0.5
f (t)f (x t)dt
f (t)f (x t)dt
f (x t)dt
(4.169)
(4.170)
(4.171)
x0.5
chegamos a
` equaca
o (eq. 170) porque f e a funca
o caracterstica do intervalo
[0.5, 0.5], logo, fora dele e nula, a
` equaca
o (eq. 171) porque f e 1 sobre o
intervalo [0.5, 0.5], na equaca
o (eq. 172) estamos preparando a mudanca de
vari
avel que ir
a na simplificar a an
alise na equaca
o (eq. 173). As hip
oteses,
42 duas
raz
oes para usar pp, sup
e para supremo, em ingl
es usamos supp para o suporte
CAPITULO 4. SPLINES
154
x+0.5
dy
x + 0.5 [0.5, 0.5] f f (x) =
0.5
0.5
R
(4.174)
x0.5
x < 1
f f (x) = 0
x>1
f f (x) = 0
e voce pode ver o gr
afico da convoluca
o na figura (fig. 4.16) p
agina 154.
Figura 4.16:
quadrado de convoluca
o da funca
o caracterstica
Observe! A convoluca
o de duas funco
es descontnuas, resultou numa funca
o
contnua, f f . A convoluca
o n
ao existe para ser calculada a
` m
ao, e o c
alculo
acima mostra que ele pode ser bastante complicado, em geral, com muitas equaco
es
e hip
oteses. Vamos ver isto no pr
oximo exemplo.
Mas o principal resultado deste exemplo e f f e um 1-splines. Estamos
assim nos aproximando do objetivo do captulo... e para melhorar o
animo,
no meio de tantas contas, vamos calcular f f f que podemos antecipar que
sera um 2-splines coisa que anteriormente dissemos que seria difcil de calcular
manualmente.
Exemplo 15 2-splines por convoluca
o
Queremos calcular f f f , e como o produto de convoluca
o e associativo,
temos f f f = f (f f ) = (f f ) f o que nos diz que vamos aproveitar o
resultado do exemplo anterior.
Preparando os c
alculos, temos
f (f f )(x) =
=
0.5
R
0.5
f (t)f f (x t)dt
(4.176)
(4.177)
CAPITULO 4. SPLINES
155
x0.5
A raz
ao da equaca
o (eq. 177 ) e que o suporte de f e o intervalo [0.5, 0.5],
na equaca
o (eq. 178 ) estamos fazendo os c
alculos para mudanca de vari
avel, e
finamente, como x0.5 < x+0.5 invertemos os limites de integraca
o e trocamos
o sinal na equaca
o (eq. 179 ).
Agora recorremos a intuica
o gr
afica para agilizar o metodo. A funca
o f f
tem quatro fases (quatro equaco
es) e seu suporte e o intervalo [1, 1]
antes de 1;
no intervalo [1, 0]
no intervalo [0, 1]
depois de 1
que s
ao os intervalos em que a equaca
o de f f muda, e temos que interpretar
au
ltima integral em cada um desses casos, esta e a primeira an
alise
x + 0.5 < 1
x + 0.5 [1, 0]
x + 0.5 [0, 1]; x 0.5 [1, 0]
R0
x0.5
x 0.5 [0, 1]
f f (y)dy +
R1
x0.5
x 0.5 > 1
Re-escrevendo as equaco
es, temos:
x < 1.5
x [1.5, 0.5]
x [0.5, 1.5]
x > 1.5
f f f (x) = 0
x+0.5
R
f f (y)dy
x+0.5
R
0
f f (y)dy
f f (y)dy
f f f (x) = 0
R0
(4.180)
f f f (x) = 0
x+0.5
R
(y + 1)dy
1
(y + 1)dy +
x0.5
x+0.5
R
0
R1
x0.5
(1 y)dy
(1 y)dy
f f f (x) = 0
(4.181)
CAPITULO 4. SPLINES
156
x < 1.5
f f f (x) = 0
(x+ 23 )
x [1.5, 0.5]
2
3
x [0.5, 0.5]
x2
4
3
(x 2 )
x [0.5, 1.5]
x > 1.5
f f f (x) = 0
(4.182)
2
g(0.5) =
= 0.5 a
` esquerda, e a
` direita g(0.5)+ =
2
3
(0.5)2 = 0.5 e as duas equaco
es concidem a
` direita e a
` esquerda
4
!
` esquerda, e a
` direita g(0.5)+ =
g(0.5) = 43 (0.5)2 = 0.5 a
0.5 as duas equaco
es concidem a
` direita e a
` esquerda !
(0.5 32 )2
2
g(1.5) = 0 a
` direita e a
` esquerda !
e provamos que g e contnua.
Verificando que a derivada e contnua.
g (1.5)+ =
2x+3
2 |1.5
= 0 concidindo a
` direita e a
` esquerda !
ncidindo a
`
g (0.5) = 2x+3
2 |0.5 = 1 g (0.5)+ = 2x|0.5 = 1 co
direita e a
` esquerda !
2x3
2 |1.5
2x3
2 |0.5
= 1 concidindo a
` direita
= 0 concidindo a
` direita e a
` esquerda !
O gr
afico de g = f f f e formado de tres segmentos de parbola
tangentes
duas a duas no ponto (0.5, g(0.5)) e no ponto (0.5, g(0.5)). As par
abolas
externas sao tangentes ao eixo OX e voce pode ver o grafico de g, feito `
a m
ao,
na figura (fig. 4.17) pagina 166. Na mesma figura voce pode ver o grafico, feito
com Gnuplot, das tres parabolas, e usando os comandos do Gnuplot g(x)=
(x<-1.5)?0:x<-0.5?0.5*(x+3.0/2.0)**2:
x<0.5?0.75-x**2:x<1.5?0.5*(x-3.0/2.0)**2:0
set xrange [-1.5:1.5] plot g(x),0 voce pode obter o terceiro gr
afico
que tambem aparece na referida figura. Observe a barra invertida na linha em
CAPITULO 4. SPLINES
157
que se inicia a definicao de g(x) dentro do Gnuplot. Ela serve para lhe permitir
escrever uma formula que se expanda por mais de uma linha. Terminando a
linha com a barra invertida, evita que Gnuplot leia um fim de linha e assim
uma formula pode ser escrita em diversas linhas.
Observando, dos exemplos que duramente desenvolvemos, que ao fazer uma
convolucao a polinomial aumenta de um grau assim como a classe de continuidade.
Isto e verdade mas a demonstracao e muito difcil e vamos apenas enunciar
o resultado sem demonstra-lo, para uma demonstracao leia o artigo [21].
Teorema 10 N
ucleos n-splines
A enesima potencia de convoluca
o da funca
o caracterstica do intervalo
[0.5, 0.5] e um (n-1)-splines a suporte compacto, positivo, com a
rea 1. Portanto um n
ucleo (n-1)-splines.
Nas aplicacoes nos contentamos com 3-splines, os splines c
ubicos, que d
ao
ttulo a esta secao.
Exerccios 19 Splines a suporte compacto
ucleo 2-splines, construa um n
ucleo
1. splines c
ubico Partindo do exemplo do n
3-splines (splines c
ubico).
2. escala e n
ucleo
(a) Chame g ao 2-splines construido no exemplo (ex. 15). Considere a
seguinte operaca
o:
ga (x) = ag(ax)
e verifique a identidade
Z
ga (x)dx =
g(x)dx = 1
para todo n
umero real a 6= 0.
(b) Faca o gr
afico de g2 , g3 , g4 , g 31 sugest
ao use gnuplot para fazer estes
gr
aficos.
3. splines c
ubico - formato arbitr
ario
(a) Faca o gr
afico da funca
o
x < 4
x+8
[4,
1]
2
x [1, 0.5]
1
x [0.5, 1]
|2x|
x [1, 4]
2
CAPITULO 4. SPLINES
4.6
158
Solu
c
ao de alguns exercicios
M ax(|P |) = 2|a|
M ax|P | = a2 2|a| == |a| 2
(4.183)
(4.184)
(4.185)
1 1
( 1) =
3 3
12
<2
33
(x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
(x+3)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
(x+3)*(x+2.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
(x+3)*(x+2.5)*(x+1.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
(x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-1.5)*(x-2.5)*(x-3)
rgido, n
ao altera as proporco
es no gr
afico
CAPITULO 4. SPLINES
159
P6(x)= (x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-2.5)*(x-3)
P7(x)= (x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-3)
P8(x)= (x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)
dP(x)= P1(x)+ P2(x)+ P3(x)+ P4(x)+ P5(x)+ P6(x)+ P7(x)+ P8(x)
set xrange [-3:3]
plot P(x),dP(x),0
f(x) = P1(x)/dP(-3) + P2(x)/dP(-2.5) + P3(x)/dP(-1.5)+\
P4(x)/dP(-0.5)+P5(x)/dP(0.5) + P6(x)/dP(1.5) + P7(x)/dP(2.5)+\
P8(x)/dP(3)
plot f(x),0
g(x) = (x**2 - 9)*sin(2*x)
h(x) = g(-3)*P1(x)/dP(-3) + g(-2.5)*P2(x)/dP(-2.5)+\
g(-1.5)*P3(x)/dP(-1.5) + g(-0.5)*P4(x)/dP(-0.5)+\
g(0.5)*P5(x)/dP(0.5) + g(1.5)* P6(x)/dP(1.5)+\
g(2.5)*P7(x)/dP(2.5) + g(3)*P8(x)/dP(3)
plot h(x),g(x),0
P(x) = (x+7)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-7)
P1(x)= (x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-7)
P2(x)= (x+7)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-7)
P3(x)= (x+7)*(x+2.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-7)
P4(x)= (x+7)*(x+2.5)*(x+1.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-7)
P5(x)= (x+7)*(x+2.5)*(x+1.5)*(x+0.5)*(x-1.5)*(x-2.5)*(x-7)
P6(x)= (x+7)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-2.5)*(x-7)
P7(x)= (x+7)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-7)
P8(x)= (x+7)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)
dP(x)= P1(x)+ P2(x)+ P3(x)+ P4(x)+ P5(x)+ P6(x)+ P7(x)+ P8(x)
set xrange [-7:7]
plot P(x),dP(x),0
f(x) = P1(x)/dP(-7) + P2(x)/dP(-2.5) + P3(x)/dP(-1.5)+\
P4(x)/dP(-0.5)+P5(x)/dP(0.5) + P6(x)/dP(1.5) + P7(x)/dP(2.5) +\
P8(x)/dP(7)
plot f(x),0
g(x) = (x**2 - 9)*sin(2*x)
h(x) = g(-7)*P1(x)/dP(-7) + g(-2.5)*P2(x)/dP(-2.5)+\
g(-1.5)*P3(x)/dP(-1.5) + g(-0.5)*P4(x)/dP(-0.5)+\
g(0.5)*P5(x)/dP(0.5) + g(1.5)* P6(x)/dP(1.5)+\
g(2.5)*P7(x)/dP(2.5) + g(7)*P8(x)/dP(7)
plot h(x),g(x),0
6. (ex. 1) pagina 126
(a) Coloque no arquivo dados os pares de pontos (xk , yk ).
-3 0
-2.5
CAPITULO 4. SPLINES
160
-1.5 -1
-0.5 -2
0.5
-3
1.5
-1
2.5 2
3 0
observe que xk e yk ficam separados por espaco, e cada par fica em
uma u
nica linha. Depois, chame Gnuplot e execute
set pointsize 0.1 ## definir a expessura da linha
plot 0, "dados" with lines ## o nome do arquivo entre aspas
Se voce estiver lendo este arquivo eletronicamente (em pdf), cortar
e colar funciona com Gnuplot.
(b) Em cada intervalo a funcao f esta definida por uma equac
ao do
primeiro grau fk
y = b + m(x a) equacao da reta por (a, b);
fk (x) = yk + mk (x xk );
k+1 yk
; x [xk , xk+1 ]
mk = k = xyk+1
xk
(4.186)
(4.187)
(4.188)
(4.189)
(4.190)
(4.191)
(4.192)
CAPITULO 4. SPLINES
161
fk (xk ) = dk
fk (xk+1 ) = yk+1
fk (xk+1 ) = dk+1
a1,k + a2,k (x xk ) +
CAPITULO 4. SPLINES
162
ga (x)dx =
(4.200)
ag(ax)dx =
(4.201)
ag(ax)d(ax) =
(4.202)
1
a
R
a
g(ax)d(ax) =
a
R
a
g(y)d(y) =
a
g(y)d(y)
(4.203)
(4.204)
(4.205)
CAPITULO 4. SPLINES
163
a=2;b=3;c=4;
h1(x)=a*g(a*x);
h2(x)=b*g(b*x);
h3(x)=c*g(c*x);
plot g(x), h1(x),h2(x),h3(x),0
10. (ex. 3) pagina 157 Figura (fig. 4.20) pagina 168,
(a) Faca o grafico da funcao
x < 4
x+8
[4,
1]
2
x [1, 0.5]
1
x [0.5, 1]
|2x|
x [1, 4]
2
(b) Amacie a funcao cujo grafico foi feito no item anterior, multiplicandoa por convolucao, sucessivamente, pelos n
ucleos g2 , g3 , g4 e faca um
laudo do resultado.
4.7
Vocabul
ario
corre
ca
~o da informa
ca
~o, scilab
corre
c
ao da informa
c
ao
CAPITULO 4. SPLINES
164
A inmaforcao foi rbidecea, mas ptare dela se pdeeru pquore o ltoeir anapes
abvsoreu patre do prcaedido e paert do pratiedicvo na oracao. Se o astsuno de
fato lhe chssamae atcaeno, voriltaa e se ceicartifria de pater dos dados pedordis.
Qudano, num tetxo, a infaormcao for retipeda e abdaunnte, etsa leuitra r
adpia
e saftisatoria pourqe, com a amraostgem, o leoitr abrsove toda a inmaforc
ao
imtapornte. Qunado o tetxo e coincso, sorbio, teicnco, a letiura temrina sedno
mias letna poqrue a amotsragem se reevla impfereita, o letior obesrva que n
ao
esta cogunseindo coeemprnder e, natlmuraente, psasa a faezr uma amraostgem
mais fina, teirmna ledno. . .
A informacao foi recebida, mas parte dela se perdeu porque o leitor apenas
absorveu parte do predicado e parte do predicativo na oracao. Se o
assunto de fato lhe chamasse atencao, voltaria e se certificaria de parte
dos dados perdidos.
Quando, num texto, a informacao for repetida e abundante, esta leitura
rapida e satisfatoria porque, com a amostragem, o leitor absorve toda
a informacao importante. Quando o texto e conciso, sobrio, tecnico, a
leitura termina sendo mais lenta porque a amostragem se revela imperfeita,
o leitor observa que nao esta conseguindo compreender e, naturalmente,
passa a fazer uma amostragem mais fina, termina lendo. . .
CAPITULO 4. SPLINES
165
CAPITULO 4. SPLINES
166
1
f1(x)
f2(x)
f3(x)
0
2
1.5
0.5
0.5
1.5
0.6
0.5
0.4
0.3
0.2
0.1
0
1.5
0.5
Figura 4.17:
0.5
2-splines
1.5
CAPITULO 4. SPLINES
167
40
"polped"
"lagrange"
"precisao"
"XOY"
30
20
10
-10
-20
-30
-40
-8
-6
-4
Figura 4.18:
-2
Comparaca
o: polin
omio de Lagrange e splines
CAPITULO 4. SPLINES
168
8
"polped"
"lagrange"
"precisao"
"XOY"
-2
-4
-6
-8
-3
-2
-1
Figura 4.19: Comparacao: polinomio de Lagrange e splines - quando os nos ficam uniformente pr
oximos.
4
data1
data2
2
6
Figura 4.20:
Regularizaca
o por convoluca
o
Captulo 5
Integrac
ao aproximada
O objetivo deste captulo e o de apresentar-lhe dois metodos para
o calculo aproximado da integral
Zb
f (x)dx
5.1
170
5.1.1
Integra
c
ao geom
etrica.
limitada pelo gr
afico de f e o eixo OX desde x = a at
e x = b.
3
R3
2x
3
R10
3
R3
e)
2x + 3
h)
x+4
3
R3
m)
k)
x2 + 2x + 1
n)
0
R3
2x
2
R10
1
R3
0
R3
0
f)
2x 3
i)
x4
l)
1 x2
o)
R3
2x
0
3
R
3
R0
3
R0
3
3 2x
4x
x2 4
R3
x2 + 2x + 1
b)
R3
0
1 x2
c)
R3
4 x2
171
Sugest
ao aproxime por falta ou por excesso as a
reas com ret
angulos, tri
angulos
ou trapesios, conforme for conveniente, e aumente a precis
ao dos resultados usando uma m
aquina de calcular ou um programa de computador.
5.1.2
Express
ao formal do c
alculo da integral
x2 + 2x + 1
(5.1)
R3
1 x2
(5.2)
x2 4
(5.3)
R3
Area
aproximada usando ret
angulos
As integrais, (eq. 1), (eq. 2) e (eq. 3), representam as areas de regioes limitadas
por contornos nao retilneos.
Voce ja foi convidado, em exerccio anterior, a representar geometricamente
estas integrais.
Neste momento tudo que podemos fazer e calcular estas areas aproximadamente, este metodo esta representado na figura (fig. 5.1) pagina 172 e ser
a
discutido em detalhe mais abaixo, mas e assunto que voce pode encontrar discutido em profundidade nos cursos de Calculo.
Uma sada, para obter uma aproximacao de integrais como
Z3
x2 + 2x + 1
(5.4)
representando a a
rea de regi
oes com contornos curvilneos, consiste em subdividir a regiao que elas representam com ret
angulos, tri
angulos ou trapesios e
calcular a soma das areas destas figuras:
Veja na figura (fig. 5.1) pagina 172,
Voce logo deve se convencer de que nao ha ganho especial em trabalhar com
tantas figuras. Usando apenas retangulos podemos obter alta precisao, desde
que a base dos retangulos seja pequena, e este objetivo podera ser alcancado
com um programa de computador, nao com calculos manuais.
Veja, por exemplo, a area de um trapesio e a media aritmetica entre as
areas
de dois retangulos, um com a altura maxima do trapesio, e o outro com a altura
mnima do trapesio, supondo que o trapesio tenha duas alturas. Analise as
figuras (fig. 5.4), pagina 190.
172
a
Figura 5.1:
Trap
esios para aproximar a
rea
Isto mostra que o calculo da area usando trapesio pode ser obtido com a
media aritmetica dos calculos feitos usando, retangulos por excesso e ret
angulos
por falta.
Depois, um triangulo e apenas um tipo particular de trapesio...
Entao vamos nos concentrar no calculo com retangulos, para encontrar a
area aproximada das integrais e nos preocupar em obter este resultado com
precisao maxima diminuindo a base dos retangulos.
Se convenca do que foi dito fazendo alguns graficos.
Somas de Riemann
Para calcular aproximadamente
Rb
retangulos ou trapesios, conforme a conveniencia ou de acordo com as possibilidades geometricas da figura. Mas ja observamos que nao se ganha muito com
este detalhe, muito mais se ganha na quantidade de subdivis
oes1 , e, naturalmente com o uso de um programa de computador.
Mas a principal razao de usarmos retangulos e a de que podemos obter
uma express
ao algebrica simples para a soma das area dos retangulos e depois
aplica-la num programa de computador.
A express
ao algebrica que se presta, facilmente, para utilizar num programa
e uma soma de Riemann.
As somas de Riemann usam exclusivamente retangulos. Para obter os ret
angulos,
se subdivide o intervalo [a, b] em n sub-intervalos, veja na figura (fig. 5.2) p
agina
173, a sugestao grafica de como fazer isto. as subdivisoes nao precisam ser irregulares, como e o caso da (fig. 5.2), elas podem ser os nos de uma partic
ao
ba
uniforme e assim satisfazer a uma progressao aritmetica de razao x = n .
1 em
173
b
a
[a,b]
Figura 5.2:
Soma de Riemann
174
Exerccio 1 Area
por falta ou por excesso
1. Verificar que os quatro primeiros ret
angulos na (fig. 5.2) representam uma
aproximaca
o por excesso.
2. Verificar que os ret
angulos quinto e sexto na (fig. 5.2) representam uma
aproximaca
o por falta da a
rea.
3. Verificar que os ret
angulos, setimo, oitavo e nono, na (fig. 5.2) representam uma aproximaca
o por falta e que o decimo aproxima por excesso a
a
rea.
Se voce nao concordou com a veracidade das afirmacoes contidas nos exerccios
acima, e porque, talvez, voce nao tenha observado que ha alguns ret
angulos
com area nula (altura nula), volte a analisar os exerccios munido desta nova
informacao.
Vamos agora passar a express
ao formal da soma de Riemann.
Soma de Riemann
Considere agora a figura (fig. 5.2) pagina 173. Estipulamos um tamanho x
para a base dos retangulos e cobrimos a area algumas vezes por excesso, outras
vezes por falta. Para isto consideramos a progressao aritmetica
a + kx; k = 0, 1, ...
(5.6)
eou
ltimo retangulo ficou extrapolando o intervalo de integracao [a, b].
Para evitar que isto aconteca temos que
calcular x usando a medida do intervalo [a, b] e
um n
umero de divis
oes, um n
umero inteiro escolhido:
x =
ba
n
(5.8)
(5.9)
(5.10)
175
n1
X
f (xk )x =
n1
X
f (a + kx)x
(5.11)
k=0
k=0
(5.12)
(5.13)
2 ordem
3 J
a
x0 = a
..
.
(5.14)
xk = a + kx
..
.
(5.16)
xn1 = a + (n 1)x = b x
b = a + nx
(5.18)
(5.19)
(5.15)
(5.17)
como
Sn (f ) =
n1
X
176
f (a + kx)x.
(5.20)
k=0
Observe que em todos os retangulos consideramos a altura dada pelo primeiro extremo do correspondente subintervalo. Quer dizer que, no intervalo
[xk , xk+1 ] = [a + kx, a + (k + 1)x]
a altura considerada e f (xk ).
Poderiamos ter usado o segundo extremo obtendo a formula
Sn (f ) =
n
X
f (a + kx)x.
(5.21)
k=1
f (x) =
Z3
x2
usando sempre o m
aximo de f em cada sub-intervalo. Esta soma de Riemann assim obtida se chama soma superior de Riemann
S 10 (f )
e vale a desigualdade
Z3
f (x) S 10 (f )
177
f (x) =
Z3
x2
usando sempre o m
aximo de f em cada sub-intervalo. Esta soma de Riemann assim obtida se chama soma superior de Riemann
S 20 (f )
e valem as desigualdades
Z3
f (x) S 20 (f ) S 10 (f )
n1
X
f (a + kx)x.
(5.22)
k=0
e uma aproximaca
o por falta da integral
Rb
f e
Sn (f ) =
n
X
f (a + kx)x.
(5.23)
k=1
e uma aproximaca
o por excesso da integral. Faca um gr
afico ilustrativo.
5. Prove que, se f for uma funca
o decrescente,
Sn (f ) =
n1
X
k=0
f (a + kx)x.
(5.24)
178
Rb
e uma aproximaca
o por excesso da integral
f e
Sn (f ) =
n
X
f (a + kx)x.
(5.25)
k=1
e uma aproximaca
o por falta da integral. Faca um gr
afico ilustrativo.
6. Use o programa riemann() para calcular, aproximadamdente, as integrais
R3
a)
c)
3
R3
i)
5 2x
2
R10
3
3
R
3
k)
R3
x2 2x + 3
f)
4xsen(x) + 3x2
h)
j)
sen(x)
l)
2x x2
3x2 2x
R3
3 2x
R3
d)
m)
R3
b)
3
R0
e)
g)
2x + 3
R3
2 2x2
0
R10
1
R3
3
R0
3
R3
n)
x2 cos(x) 2x 3
(x3 x2 x + 4)sen(x)
cos(x)
1 + x2 cos(x)
5.2
[a, b] R
179
(5.26)
(5.27)
(5.28)
[a, b] R.
f e integr
avel no sentido de Riemann se qualquer sucess
ao de somas de Riemann
obtida por refinamentos arbitr
arios de uma partica
o de modo que a medida dos
subintervalos tendam a zero, definir um mesmo n
umero real.
Este u
nico n
umero real e
Zb
f.
a
Observa
c
ao 11 Partico
es uniformes
Observe que na definica
o n
ao fizemos menca
o a
`s partic
oes uniformes. Para
definir a integral precisamos de famlias arbitr
arias de partico
es.
Mas neste texto somente faremos uso de particoes uniformes. Para que voce
fique alerta, a funca
o
1
(5.29)
x
seria integr
avel se usarmos apenas particoes uniformes e na verdade esta funca
o
n
ao e integr
avel.
f
[1, 1] R; x 7
4 que
180
Entretanto, se a funca
o for integr
avel, usando apenas partico
es uniformes
podemos calcular a sua integral, este e o atalho que estamos usando aqui. Este
e um livro de C
alculo Numerico, em que calculamos numericamente aquilo que
voce aprendeu a calcular exatamente no curso de C
alculo Diferencial e Integral.
Exemplo 16 Programa riemann.py
Rode e leia o programa riemann.py. Ele produz alguns refinamentos de uma
partica
o inicial criando uma sucess
ao que converge para o valor da integral, se
este valor existir.
Experimente o programa com algumas das funco
es que est
ao definidas nele,
por exemplo inv(x) que igual a x1 quando x 6= 0. Experimente calcular sua
integral no intervalo [1, 1] para ver alguns elementos de uma sucess
ao que n
ao
parece ser convergente. Os n
umeros que surgem n
ao formam uma sucess
ao
que pareca ter limite.
Observe que um programa deste tipo n
ao prova nada! ele apenas serve como
exemplo e deve ser usado com este cuidado.
Para usar o programa, troque o nome da funca
o cuja integral voce deseja
dentro de uma das u
ltimas linhas do programa. Veja a observaca
o que indica
isto no pr
oprio programa. Use o programa para definir outras funco
es cujas
integrais voce deseja, observe a sintaxe da linguagem Python ao definir novas
funco
es.
5.2.1
f=
Zb
(h + g) =
Zb
a
h+
Zb
(5.31)
Sn (h) =
(5.32)
k=0
n
P
k=0
h(xk )xn ;
(5.30)
Sn (g) =
n
P
181
g(xk )xn ;
(5.33)
k=0
Sn (h + g) =
n
P
(5.34)
k=0
n
P
f (xk )xn = Sn (f )
(5.35)
k=0
f;
Zb
h+g
(5.36)
Kf = K
Zb
(5.37)
10x2 + 2x + 7 = 10
Z3
x2 + 2
Z3
x+
Z3
7.
(5.38)
Exerccios 22 Express
ao formal do c
alculo da integral
1. Escreva somas de Riemann, com 10 sub-intervalos, para aproximar cada
uma das integrais abaixo:
a)
R3
1
1
x
b)
R3
1
1+x2
c)
R3
2x+3
4+x2
182
3. O n
umero de Napier Descubra experimentalmente um ponto e R tal que
Ze
1
=1
x
(5.39)
Sugest
ao, use o programa riemann.py e calcule as integrais
Za
1
x
x ;
n1
X
0
n
k2 1 X k2 1
;
n2 n 1 n2 n
(5.40)
x ; pN; p>1 ;
n1
X
0
n
kp 1 X kp 1
;
np n
np n
1
(5.41)
R1
0
riemann() in riemann.py.
x2 =
1
.
3
Use
k <n
k=0
Z1
x <
n
X
k2
(5.42)
n
X
k3
(5.43)
k=1
k <n
Z1
0
x3 <
k=1
183
Z
n1
n
a3 X 3
a3 X 3
3
k < x < 4
k
n4
n
k=0
(5.44)
k=1
k <n
p+1
k=0
Z1
xp <
n
X
kp
(5.45)
k=1
Z
n1
n
a4 X 3
a4 X 3
3
k
<
x
<
k
n4
n4
k=0
(5.46)
k=1
Z
n1
n
ap+1 X 3
ap+1 X p
p
k
<
x
<
k
np+1
np+1
k=0
(5.47)
k=1
5.2.2
C
alculo num
erico da integral
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
x=
-3
-2.8
-2.6
-2.4
-2.2
-2.0
-1.8
-1.6
-1.4
-1.2
-1.0
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4
2.6
2.8
Sn(-3) =
Sn(-2.8) =
Sn(-2.6) =
Sn(-2.4) =
Sn(-2.2) =
Sn(-2.0) =
Sn(-1.8) =
Sn(-1.6) =
Sn(-1.4) =
Sn(-1.2) =
Sn(-1.0) =
Sn(-0.8) =
Sn(-0.6) =
Sn(-0.4) =
Sn(-0.2) =
Sn(0) =
Sn(0.2) =
Sn(0.4) =
Sn(0.6) =
Sn(0.8) =
Sn(1.0) =
Sn(1.2) =
Sn(1.4) =
Sn(1.6) =
Sn(1.8) =
Sn(2.0) =
Sn(2.2) =
Sn(2.4) =
Sn(2.6) =
Sn(2.8) =
0.7262867
1.3078534
1.7607801
2.1011468
2.3450335
2.5085202
2.6076869
2.6586136
2.6773803
2.680067
2.6827137
2.7013204
2.7518871
2.8504138
3.0129005
3.2553472
3.5937539
4.0441206
4.6224473
5.344734
6.2318207
7.2957874
8.5527141
10.0186808
11.7097675
13.6420542
15.8316209
18.2945476
21.0469143
24.104801
x2 + 2x + 1 = 24
184
185
def integral(f,inicio,fim):
inicio = input(inicio do intervalo [a, b] > a =)
fim = input(fim do intervalo [a, b] > b =)
soma = 0
deltax = 0.0000001 ## a precis
ao do c
alculo.
while (inicio < f im):
soma = soma + f(inicio)
inicio = inicio + deltax
soma = soma*deltax
return soma
inicio = 0
fim = 1
print integral(f,inicio,fim)
## fim do arquivo integral.py
16
data
14
12
10
8
6
4
2
0
-3
-2
Figura 5.3:
-1
ret
angulos da soma de Riemann para
R3
Observa
c
ao 12
Comentando o programa
x2 + 2x + 1
186
N
ao considere como ponto de honra entender um programa de computac
ao agora. O
autor deste livro levou quase 15 anos para conseguir entender os programas de computac
ao...
Use os programas, e aos poucos eles passar
ao a fazer parte de sua vida.
Existe uma regra com algumas excec
oes, em Unix (LinuX
e Unix). O smbolo # representa coment
ario e o programa ignora o que vier depois deste sinal at
e o final da linha.
Assim podemos inserir nos programas coment
arios para o outros que forem usar os programas. No programa voc
e pode encontrar o coment
ario a precis
ao do c
alculoao lado da
vari
avel deltax. Esta
e medida da base dos ret
angulos com a integral est
a sendo calculada.
Troque por valor menor se quiser ter mais precis
ao, mas ver
a que logo deixa de valer a pena,
porque a precis
ao m
axima da m
aquina ser
a atingida.
Entretanto se voc
e iniciar os c
aculos com valores maiores para deltax, ao substituir
valores menores, ver
a que c
alculo se torna mais preciso. Experimente iniciar com
deltax = 0.1
(5.48)
R1
(5.49)
(5.50)
Se voc
e for al
em mais um pouquinho ter
a a desgrad
avel surpreza de ver que a m
aquina
comeca se perder... mas
e bom que isto aconteca para que voc
e desmistifique a m
aquina.
N
os, e n
ao as m
aquinas, sabemos com contornar esta dificuldade para obter precis
oes ainda
maiores, mais isto n
ao cabe ser discutido aqui.
Na pr
oxima lista de exerccios vamos usar o que o programa nos ofereceu, (supondo que
voc
e tenha usado o programa, naturalmente).
Observe que a sucess
ao das somas de Riemann parece produzir uma sucess
ao de n
umeros
com um comportamento assint
otico previsvel.
def integral(f,inicio,fim):
fim = 1
soma = 0
deltax = 0.1; ## precisao incial do calculo.
while deltax > 0.0000001:
soma = 0
6 Os
programas usados neste livro podem ser conseguidos via e-mail com o autor.
187
x = deltax
while (x < f im):
soma = soma + f(x)
x = x + deltax
soma = soma*deltax
print soma
deltax = deltax/2
return soma
print integral(f,inicio,fim)
## fim do arquivo integral.py
Esta versao difere da anterior nos seguintes pontos, agora iniciovale deltaxe fim=1, quer dizer que ele calcula
Z1
f (x).
(5.51)
188
Exerccios 23 C
alculo numerico da integral
Objetivo
1. Rode o programa integral.py com as integrais abaixo e decida em que
casos parece haver um comportamento assint
otico previsvel (limite).
R1
a) x3
b)
e)
R1
x4
R1
0
f)
R1
0
1
x
c)
R1
x+3
d)
x+1
x
g)
R1
0
R1
0
x
x+1
h)
R1
0
1
x2
x+1
x+2
Rb
f , os sub-intervalos tive-
Rb
f existir, ent
ao
1
ba
Zb
f =M
(5.52)
f (a + kx)x
(5.53)
k=1
e escreva a express
ao da soma de Riemann em que x e a metade de
x = ba
n .
6. Suponha que os valores
V0 , V1 , , Vn1
(5.54)
s
ao os resultados das medidas da velocidade de um carro tomadas a intervalos regulares (iguais) do tempo t [a, b].
(a) Qual a velocidade media Vm ?
189
3t =
Zx
6
t3
(5.55)
3t =
Zx
6
t3
(5.56)
g(x) = ex ; ; x [3, 3]
(5.57)
(5.58)
No u
ltimo exerccio voce solicitado a fazer tabelas de valores para o c
alculo
das integrais para `as quais nao ha forma de calculo exato.
A integral da funcao f (x) =
logaritmo natural.
1
x
5.3
Regra do trap
esio
Vamos fazer referencia a este metodo apenas para nao deixa-lo de fora, seu valor
e historico. Foi um metodo que teve importancia quando calculavamos aproximacoes manualmente. Ao mesmo tempo ele serve de exemplo de formulas que
se escrevem facilmente com Matematica e que e difcil traduzir num programa
de computador.
Fizemos um comentario, paginas acima, dizendo que a area de um trapesio
(ou de um triangulo) e a media aritmetica das areas de dois retangulos:
190
Figura 5.4:
a
rea do trap
esio
e uma m
edia aritm
etica
BH1 +BH2
2
(5.59)
(5.60)
(5.61)
(5.62)
191
e a figura (fig. 5.4) lhe mostra como, geometricamente, voce pode obter um
trapesio, a partir do retangulo menor, cortando um triangulo.
Em Matematica e facil escrever a soma de Riemann superior que fornece a
area por excesso associada a uma particao ([a, b]):
S n (f ) =
n1
X
f k x
(5.63)
k=0
ao h
a
em que f k representa o supremo de f no intervalo [xk , xk+1 ]. Mas n
programas de computador que consigam calcular supremos facilmente. De forma
analoga a soma de Riemann inferior se escreve
S n (f ) =
n1
X
f k x
(5.64)
k=0
de S n (f ), S n (f ) que e
n1
S n (f ) + S n (f ) X f k + f k
=
x
2
2
(5.65)
k=0
5.4
Integral de func
oes polinomiais
f (x)dx =
Zb
a
bn+1
an+1
xn+1 b
| =
= F (b) F (a)
x dx =
n+1 a n+1 n+1
n
que e a express
ao do Teorema Fundamental do C
alculo para as funcoes polinomiais. Vou agora usar este teorema para o calculo da integral das aproximac
oes
quase-splines de dados.
5.4.1
192
Apresentac
ao do m
etodo
No captulo 4 vimos que num levantamento de dados, por exemplo, com auxlio
de sensores, podemos recuperar de forma muito precisa a distribuicao de um determinado fenomeno usando apenas as informacoes obtidas sobre este fen
omeno
em pequena quantidade de nos de uma malha.
Na primeira parte deste captulo fiz uso de malhas, que chamei de partico
es
de um intervalo, sobre cujos nos calculei os valores de uma funcao, portanto
tambem um levantamento de dados, concluindo na construcao de somas de
Riemann como aproximacoes para a integral das funcoes.
Agora vou substituir a utilizacao dos sub-intervalos das particoes para neles
simular os valores de uma funcao usando um quase-spline e calcular a integral de
cada um desses pedacos de polin
omio em cima de cada sub-intervalo da partic
ao,
substituindo estes valores na express
ao das somas de Riemann. Estarei assim
re-utilizando o conceito de soma de Riemann para obter uma nova forma de
aproximacao da integral de uma funcao.
Veremos, na comparacao com casos particulares, em que sabemos calcular a
integral com precisao, que o resultado da aproximacao da integral usando este
metodo fornece uma grande aproximacao do valor da integral, validando, assim
o metodo.
Finalmente vou mostrar que os bons resultados nao correspondem a conncidencias obtidas com casos bem comportados, mas que a integral dos quasesplines correspondem a uma forma excelente de aproximacao quando a func
ao
tiver alguma classe de regularidade (ser contnua, por exemplo).
A conclusao sendo, portanto, que, como os dados amostrais sao supostos serem o resultado de medicoes de fenomenos regulares, em geral mais do que apenas contnuos, diferenciaveis tambem, entao a a modelagem com quase-splines
dos mesmo nos permite uma quantificacao muito boa dos dados no calculo da
quantidade total (integral), taxas de variacao (derivadas), valor medio (integral).
5.4.2
Integral de quase-splines
Vou usar, neste secao, o calculo da integral de uma funcao polinomial, automatizada, com um programa de computador.
Os quase-splines com que trabalhamos sao funcoes polin
omiais por pedacos,
de grau menor ou igual a tres. Simplificando inicialmente a notacao, vou designar por [a, b] um sub-intervalo tpico de uma malha considerarada num intervalo
I.
Entao o pedaco de polinomio, P , associado a este sub-intervalo tem por
equacao
P (x) = a0 + a0 (x a) + a2 (x a)2 + a3 (x a)3
e sua integral no intervalo [a, b] sera
(5.66)
A=
Rb
193
P (x)dx =
(5.67)
A=
ba
R
P (x + a)d(x + a)
(5.68)
3 ba
R
P
(5.69)
A=
ak xk dx
k=0 0
3
P
A=
A=
k=0
3
P
k=0
k+1
ak xk+1 |ba
0
(5.70)
k+1
ak (ba)
k+1
(5.71)
em que
na equacao (68) fiz a chamada mudanca de vari
avel para transformar o
intervalo de integracao de [a, b] para [0, b a];
na equacao (69) estou trocando a ordem dos smbolos de soma e integral
(distributividade da integral relativamente `a soma);
na equacao (70) apliquei o Teorema Fundamental do Calculo a cada um
dos mon
omios;
e na equacao (71) fiz a substituicao final usando a expressao simples obtida
em consequencia da mudanca de variavel.
Agora, se substituirmos a notacao do intervalo [a, b] por um sub-intervalo
tpico da malha, com as correspondentes expressoes para os pedacos de polinomio, teremos
[a, b] := [xi , xi+1 ]
3
P
k+1 x
x
A := Ai =
ai,k xk+1 |0 i+1 i
(5.72)
(5.73)
k=0
Rb
a
Rb
a
f (x)dx
f (x)dx
n1
P
3
P
i=0 k=0
n1
P
Ai
(5.74)
i=0
k+1
xi )
ai,k (xi+1k+1
(5.75)
em que
na equacao (72) substitui o intervalo [a, b] por um intervalo generico [xi , xi+1 ]
da particao (malha);
na equacao (73) escrevi a express
ao da integral pedacao de polin
omio Pi
no subintervalo [xi , xi+1 ];
194
(5.76)
i,k = xi+1 xi
(5.77)
e das medidas
de cada um dos sub-intervalos da malha considerada. A informacao sobre o
fenomenos esta guardada nos coeficientes da matriz dos splines e em alguma
forma tambem na medida dos intervalos. Quando as malhas forem informes
esta medidas serao todas iguais a e ja vimos nas discussoes anteriores que
esta simplificacao em geral nao traz nenhuma distorcao significativa na an
alise
dos fenomenos. Vou sintetizar estes resultados em alguns teoremas para tornar
facil a referencia.
Teorema 11 Integral de quase-splines - partica
o n
ao uniforme
Considere uma aproximaca
o quase-spline de
f : [a, b] R
(5.78)
(ai,k ) i = 0 . . . n 1 ; k = 0 . . . 3
(5.79)
(i ) i = 0 . . . n 1
(5.80)
e pela matriz
f (x)dx
n1
3
XX
ai,k
i=0 k=0
(i )k+1
k+1
(5.81)
(5.82)
195
(ai,k ) i = 0 . . . n 1 ; k = 0 . . . 3
(5.83)
Zb
(5.84)
f (x)dx
n1
3
XX
ai,k
i=0 k=0
()k+1
k+1
(5.85)
(ai,k ) i = 0 . . . n 1 ; k = 0 . . . 3
(5.86)
(i ) i = 0 . . . n 1
(5.87)
e pela matriz
(5.88)
k=0
(5.89)
(ai,k ) i = 0 . . . n 1 ; k = 0 . . . 3
(5.90)
(5.91)
k=0
196
f (xk )
3
0
7
5
f (xk )
1
2
0
6
Calcule a a
rea da funca
o polinomial por pedacos, f , de grau 3 que ela
determina.
Solu
c
ao 11 Os coeficientes dos polin
omios7 s
ao
P1
P2
P3
[4.00, 1.00]
[1.00, 2.00]
[2.00, 6.00]
a0 , a1 , a2 , a3
a0 , a1 , a2 , a3
a0 , a1 , a2 , a3
P1 = 5.24999925
(5.92)
P2 = 12.000006
(5.93)
R2
R6
2
R6
P3 = 12
(5.94)
f = 18.75
(5.95)
Veja o gr
afico da funca
o polinomial por pedacos, na figura (fig. 5.5) p
agina
197.
2. Calcule a quantidade do fen
omeno descrito pelos dados
xk
4
1
2
6
f (xk )
3
0
7
5
f (xk )
1
2
0
6
197
6
"dados"
-2
-4
-6
-8
-4
-3
-2
-1
Figura 5.5:
Gr
afico do polin
omio por pedacos
3.2
3.5
4.7
5.1
5.2
5.21
5.22
5.223
5.2231
5.2232
Encontre um polin
omio por pedacos que descreva este fen
omeno e calcule
a quantidade total do fen
omeno (integral) e o valor medio do mesmo.
Solu
c
ao 12 Como temos medidas igualmente espacadas, (uma partica
o
uniforme) vamos selecionar um subconjunto destas medidas guardando
dois valores seguidos e desprezando tres valores seguidos. Com os valores
seguidos calcularemos a taxa de varica
o. De acordo com esta decis
ao, a
tabela de valores que temos e
xk
0
5
10
f (xk )
3
5
5.2231
198
f (xk )
3.23
1
5.15
1
5.22325.2231
(5.96)
(5.97)
P1 = 20.208334
(5.98)
R10
P2 = 25.765875
(5.99)
e a quantidade do fen
omeno e 45.974209. O valor medio e 4.59742
A representaca
o gr
afica da modelagem deste fen
omeno pode ser vista na
figura (fig. 5.6) p
agina 198,
6
"dados"
0
0
Figura 5.6:
10
199
Voce logo ira perceber que o calculo aproximado da integral usando splines e
uma generalizacao da soma de Riemann o que justifica que tenhamos comecado
o captulo usando um metodo atrazado e ineficiente.
5.5
Integral de quasi-splines
k=0 x
k
8 que
Captulo 6
Equa
c
oes diferenciais
ordin
arias
Vou apresentar alguns metodos que permitem, sobre
tudo, uma visualizacao da solucao aproximadas de
equacoes diferenciais de primeira ordem da forma
dy
= f (x, y)
dx
considerada uma condicao inicial (x0 , y0 ) e uma
regiao retangular da qual esta condicao inicial e um
ponto interior.
Resolver exatamente uma equacao diferencial e uma tarefa difcil mesmo nos
casos em que sabemos tudo1 , equaco
es diferenciais lineares.
Durante a segunda metade do seculo 20 foram desenvolvidos complemen desta fus
tos computacionais para metodos desenvolvidos ja no seculo 19. E
ao
dos metodos antigos, com os avancos computacionais que trataremos aqui para
mostrar como podemos resolver aproximadamente uma equacao diferencial ordinaria.
As equacoes diferenciais de ordem superior a um podem ser reduzidas, atraves
de sistema de equacoes `as equacoes de primeira ordem, e na parte final do
captulo mostrarei alguns exemplos desta tecnica. Entretanto o leitor n
ao deve
perder de vista uma verdade crucial, cada equaca
o diferencial e um novo problema, nao temos uma teoria universal para resolver estas equacoes e nem talvez
isto venha a existir no futuro. Por outro lado os metodos computacionais vem
se revelando cada vez mais eficazes em nos ajudar na construcao das soluc
oes
1 teoricamente sabemos tudo, mas sabemos que nem sempre conseguiremos encontrar as
soluco
es....
200
CAPITULO 6. E.D.O.
201
aproximadas mas continua sendo verdadeiro que os programas nao podem rodar
sozinhos, eles tem que ser monitorados, e o homem que resolve as equac
oes com
auxlio da maquina.
Uma equacao diferencial ordinaria e uma expressao da forma
F (x, y, y , . . . , y (n) ) = 0
(6.1)
(6.3)
CAPITULO 6. E.D.O.
202
Resolver uma equacao diferencial significa para nos encontrar uma soluc
ao
aproximada para um problema de valor inicial
y = f (x, y) ; y (x0 ) = f (x0 , y0 )
(6.4)
Figura 6.1:
Uma poligonal-soluca
o aproximada
x
y
(6.5)
CAPITULO 6. E.D.O.
203
(6.6)
6.1
O m
etodo de Euler
O metodo de Euler pode ser explicado de forma bem elementar. A figura (fig.
6.2) pagina 204, ilustra o metodo com uma construcao feita `a mao. O ponto
P na figura representa uma condica
o inicial onde desenhei um segmento de
reta tangente, uma aproximacao linear da curva num vizinhanca do ponto P . O
outro ponto do segmento, P1 e uma nova condicao inicial em que novo segmento
de reta tangente sera tracado e assim sucessivamente temos uma poligonal que
representa uma aproximacao da curva-solucao da equacao diferencial.
A curva apresentada na (fig. 6.2) e um crculo que se for centrada na origem
e uma solucao da equacao diferencial
y =
x
= f (x, y)
y
(6.7)
x
y
(6.8)
CAPITULO 6. E.D.O.
204
P
P
mtodo de Euler
Figura 6.2:
O m
etodo de Euler - uma poligonal
(6.9)
(6.10)
(6.11)
CAPITULO 6. E.D.O.
205
(6.12)
(6.13)
(6.14)
(6.15)
(6.16)
eu escrevi a equacao da reta fk com a qual calculei yk+1 definindo antes xk+1 =
xk + x .
o primeiro lado da poligonal se originando na condicao inicial para a qual
se calcula a equacao da reta tangente ;
o segundo extremo deste segmento de reta tangente e uma nova condic
ao
inicial para determinar um novo lado da poligonal
e assim sucessivamente.
O programa euler.c implementa este algoritmo mas nao consegue resolver
a equacao do crculo se a condicao inicial estiver em cima do eixo OX. A figura
(fig. 6.3) pagina 206,
O trecho essencial do programa euler.c, escrito em C que implementa este
algoritmo e
data = abrearquivo("dados","e"); // (2)
enquanto( (x > InicioX)*(x < FimX)*(y > InicioY)*(y < FimY)*(k < n)
{
// (cos(theta), sin(theta)) = (a,b)
real m = atan(f(x,y));
real a=cos(m),b = sin(m); // b=sqrt(1 - a*a); // cosenos diretores
imprime_arq(data,"%f %f \n", x, y); // primeiro ponto da reta
x = x + a*salto; y = y + b*salto; // novo ponto da reta
imprime_arq(data,"%f %f \n", x, y);
k++; // contando os segmentos de reta da poligonal
imprime("...");
}
fecha_arquivo(data); // fecha o arquivo "dados"
que coloca no arquivo dadosapenas os vertices da poligonal. Depois posso
usar Gnuplot, um programa de domnio p
ublico, que completa os segmentos de
reta entre os pontos desenhando a poligonal. Eu chamo o Gnuplot diretamente
de dentro do programa de modo que o programa ja apresenta o gr
afico da
solucao aproximada deixando os dados registrados em arquivos o permite repetir
o gr
afico posteriormente, sem rodar o programa.
Alem de poder ver o grafico tenho assim os vertices da poligonal de Euler
disponveis para aplicacoes numericas. O leitor interessado pode me pedir c
opia
do programa por e-mail.
CAPITULO 6. E.D.O.
206
4
"dados"
"XOY"
-1
-2
-3
-4
-4
-3
-2
-1
Figura 6.3:
Exerccios 26
2.
3.
1.
soluca
o aproximada de y = yx
CAPITULO 6. E.D.O.
6.2
207
Polin
omio de Taylor: solu
c
ao aproximada
O metodo de Taylor pode ser visto como generalizacao do metodo de Euler e eu vou apresenta-lo
sob esta forma nesta exposicao. Fazendo assim, o
algoritmo computacional ja produzido par o metodo
de Euler pode ser facilmente alterado para produzir
o metodo de Taylor.
(6.17)
6.2.1
Polin
omio de Taylor do segundo grau
(6.18)
dz =
y =
y (x0 ) =
y = z = f (x, y)
y (x0 ) = A0
(6.19)
(6.20)
f (x,y)
x dx
(6.21)
dz
dx
f (x,y)
x
f (x,y)
|(x0 ,y0 )
x
y (x0 )
f (x,y)
y dy
f (x,y) dy
y
dx
(6.22)
f (x,y)
|(x0 ,y0 ) y (x0 )
y
= A1
f0 (x) = y0 + A0 (x x0 ) +
A1
(x
2
x0 )
(6.23)
(6.24)
(6.25)
CAPITULO 6. E.D.O.
208
f0 (x) = y0 + A0,0 (x x0 ) +
A0,1
2 (x
x0 ) 2
(6.26)
A0,1
(x
2
x1 = x0 + x ; y1 = f0 (x1 )
..
.
(6.27)
x0 ) 2
An,1
2 (x
(6.29)
(6.30)
(6.28)
x0 ) 2
(6.31)
(6.32)
(6.33)
(6.34)
(6.35)
6.2.2
Polin
omio de Taylor de grau n
Refer
encias Bibliogr
aficas
[1] DAzevedo, E.F. Romine, C. H. e Walker, D. W. Shared-Memory Emulation
is key to Billion-Atom Molecular Dynamics Simulation
- SIAM-News Vol 28 (5) - 1995
[2] Beazley, D. M. e Lomdahl, P. S. Large-Scale Molecular Dynamics on MPPs:
Part I
- SIAM-News Vol 28 (2) - 1995
[3] Borwein, Jon - nmbrth@listserv.nodak.edu 28/07/1997
www.cecm.sfu.ca/personal/jborwein/Kanada 50b.html
jborwein@@cecm.sfu.ca
[4] Claudio, D. M. e Marins, J.M.
C
alculo Numerico Computacional - 1994 editora atlas - 2a Edicao
[5] Sperandio, D. Mendes, J. T. e Silva, L.H.M C
alculo Numerico Prentice Hall
Brasil
[6] Shapiro, H. S Smothing and approximation of functions
Van Nostrand Reinhold Mathematical Studies - 24
[7] Franco, N.M.B. C
alculo Numerico Prentice Hall Brasil
[8] Daubechies, Ingrid, Ten lectures on wavelets
- SIAM - Philadelphia, PA - 1992
[9] Dieudone Calcul Infinitesimal
- 1968 - Collection Methodes - Herman - Paris.
[10] Eaton, John W. Octave - A high-level interactive language for numerical
computations
1996 ftp.che.utexas.edu/pub/octave/octave-M.N.tar.gz
209
REFERENCIAS
BIBLIOGRAFICAS
210
- SIAM - 1994
[17] Monagan e Neuenschwander
GRADIENT. Algortithmic Differentiation in Maple
Pre-Print - Symbolic Computation Group
Institut f
ur Wissenschftliches Rechnen
- ETH - Z
urich - Switzerland
[18] Praciano-Pereira, T. C
alculo numerico Computacional - Introduca
o a
` linguagem Pascal
- Editora da Universidade Estadual Vale do Acara
u - 2000
http://www.4shared.com/file/14206895/ae074651/pascal.html
[19] Praciano-Pereira, T.
C
alculo numerico Computacional - Edicao Eletronica
Laboratorio de Matematica Computacional - 2007
http://www.4shared.com/dir/1751707/4c187abc/sharing.html
[20] Praciano-Pereira, T Programas para C
alculo Numerico - programas.tgz
http://www.4shared.com/dir/2041165/e14cc331/programas.html
[21] Praciano-Pereira, T Splines por convoluca
o
http://www.4shared.com/file/17757661/3515d0b6/convspl02.html
[22] Rossum, Guido van A tutorial on Python
- guido@cnri.reston.va.us - ftp.python.org.
REFERENCIAS
BIBLIOGRAFICAS
211
Indice Remissivo
1-spline, 133
2-spline, 133
aberto
software, 126
algebrica
computacao, vi
algortmica
derivada, 13, 112115
amostragem, 10, 102
antigo
moderno, 82
aproximacao, 4
Aquiles
paradoxo, 30
aritmetica
geometrica
desigualdade, 83
assintotico, comportamento, 177
babilonios, 83
algoritmo, 88
precisao, 82
barra invertida, 148
binaria
busca, 73
busca binaria, 28
calc, vi
C interpretado, 52
caracterstica
funcao, 133
crculo
desenhando, 4
compilar e rodar, 43
comportamento assintotico, 177
computacao
algebrica, vi
cientfica, vi
numerica, vi
constantes
especficas, 36
construcoes
area de, 36
contnuo, 127
continuidade, 129
contracao, 91
contradicao, 127
convexa
comb. linear, 121
convolucao
correcao, 143
def. geometrica, 133
domnio, 144
produto, 133
produto de, 133
correcao
informacao, 137
pela media, 8
cortes de Dedekind, 69
c
ubicos
splines, 132, 148
c
ubicos, splines, 132
Dedekind
cortes de, 69
derivada, 1
aproximada, 7
importancia, 7
derivada algortmica, 13, 112115
derivada zero, 61
desigualdade
aritmetico-geometrica, 83
212
INDICE REMISSIVO
213
diferenca
quociente, 10
diferenci
aveis
funcoes, 128
diferenciabilidade, 128
metodo da secante, 54
metodo de Euler, 195, 197
malha, 32, 35
figura plana, 35
multiplicidade
razes, 40
n
ucleos, 144
particao, 32
figura plana, 35
polin. por ped., 188, 189
raz
recursividade, 91, 92
raz
reta tangente, 63
raz da tangente, 64
Raz duma funcao, 29
raz quadrada, 87
razes
secantes, 48
Reta tangente, 20
secantes
razes, 48
sensor
mais antigo, 5
melhor geracao, 6
solucao
edo, 193
soma de Riemann, 164
tangencia
parabolico, 60
tangente
crculo, 2
taxa de variacao, 2
trapesio, 181
um-spline, 105
Valor medio, 130
valor medio, 139
equipe
trabalho, 127
erra
formula, 18
erro, 19, 127, 138
correcao, 138
Valor Medio, 138
especficas
constantes, 36
etica, 126
Euler, 112
metodo de, 194
poligonal, 194
figura
area, 80, 81
area aproximada, 163
rea, 79
2-spline, 157
aprox. polin. classica, 103
aproximacao, 125
Lagrange,splines, 158, 159
convolucao, 146
produto, 134
produto de, 135
convolucao
regularizacao, 159
dados amostrais, 18
derivada
interpretacao, 9
derivada zero, 61
grafico de f , 17
interpolacao, 108
linear, 7
nao linear, 8
intersecao
curvas, 77
Lagrange, polinomio, 114
maximo modulo, 104
media viciada, 140
fixo
ponto, 66, 73
ponto,teorema, 90
fixo ponto
teoremas, 90
florestas
area de, 36
gaussiana, 143
INDICE REMISSIVO
214
iterada de T, 65
hipotetica
funcao, 126
Lagrange
interpolacao, 112, 121
metodo, 112
tutorial, 112
Landau
O grande de, 26
o pequeno de, 3
o pequeno de , 26
Linux, vi, xii, 127
loop infinito, 65
implcita
teorema da funcao, 22
impulso
unitario, 134
infinito, 127
loop, 65
informacao
correcao, 137
informacoes
excesso, 120
integravel
`a Riemann, 170
nao, 170
integral, 183
aprox. por falta, 173
aproximacao, 174176, 178
calculo numerico, 178
calculo, 161
Expressao formal, 169
python, 178
soma de Riemann, 167169
valor medio, 136, 138, 186
interpolacao
curva, 6
Lagrange, 112
linear, 104
nao linear, 7, 105, 109
poligonal, 121
polinomial classica, 111
interpolacao
linear, 7
intervalo
particao, 32
INDICE REMISSIVO
teorema, 103
monico
polinomio, 109
movimento
equacao, 19
multidimensional
malha, 34
MuPad, xii
n-splines, 133, 148
no
de uma malha, 112
nos, 164
malha, 120
n
ucleo, 134, 136
n-spline, 148
norma da malha, 31
Octave, xii
orbita
foguete, 4
oscilacao, 104
fenomenos com, 120
paradoxo, 127
de Aquiles, 30
particao, 31, 120, 127, 164
norma, 31
uniforme, 120
particao
nao uniforme, 120
pedacos
linear, 121, 122
polinomios, 124
pen-drive-splines, 140
pequeno
relativamente, 48
peso, 121
pesos, 136
pique
fenomeno com, 120
poligonal, 121
polinomio
de Lagrange, 121
polinomial, 130
aprox. classica, 102
215
INDICE REMISSIVO
n
umero, 170
realidade
simulacao, 126
recursiva
sucessao, 66
recursivas
sucessoes, 88
sucesswoes, 88
recursividade, 28, 53, 66, 73
raz, 91, 92
Reduce, xii
Riemann
soma, 166, 173, 174
Riemann, soma, 162, 163
riemann.py, 173
rodar e compilar, 43
Runge-Kutta, 194
salto quantico, 128
Scilab, xii
scilab, vi
secante
metodo, 73
secantes
e tangentes, 4
seguranca
simulacao, 126
separacao
das razes, 39
sequencias
recursivas, 88
serie
termo geral, 98
Simpson
integral, 160
simulacao, 126
sinal, 134
soma de Riemann, 160, 162, 163, 166
splines, 101, 102, 130, 133,190
aplicacoes, 134
pen-drive, 140
splines c
ubicos, 132
sucessao, 128
sucessoes
recursivas, 88
suporte
216
notacao, 144
tangente
metodo, 73
parabola, 18, 19
tangentes
e secantes, 4
taxa de variacao, 183
Taylor
formula, 19, 23
formula multivariada, 21
polinomio, 194
teorema
modulo maximo, 103
tipos de razes, 47
translacao, 134
trapesio
regra do, 160
tutorial, 112
Lagrange, polinomio, 112
uniforme
particao, 120, 170
unitario
pulso, 136
unitario, impulso, 134
valor medio, 136, 138, 183
integral, 186
valor medio integral, 138
Vandermonde, 111, 112
variacao
taxa, 9
taxa de, 1, 183
variedade, 22, 27
varredura, 30, 127
viciada
media, 137
Waring, 112