Вы находитесь на странице: 1из 113

C

ALCULO NUM

ERICO
COMPUTACIONAL.
Tarcisio Praciano-Pereira
1
Universidade Estadual Vale do Acara u
Sobral, 3 de setembro de 2007
1
tarcisio@member.ams.org
Edi coes Lab. de Matematica Computacional
Universidade Estadual Vale do Acara u
Sobral - Ce
copyleft by Tarcisio Praciano Pereira
Praciano-Pereira, Tarcisio
P496c C alculo Numerico Computacional. Sobral: UeVA, Sobral, 3 de setembro de
2007 133.p Bibliograa ISBN:85-87906-05-4 1 - Linguagem - Computa c ao -
C/C++ 2 - C alculo Numerico. I. Ttulo CDD
515.1
1 A derivada aproximada 1
1.1 derivada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Quocientes de diferen cas
de ordem superior . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Polinomios de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4 Derivadas parciais . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Vocabulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Razes aproximadas 25
2.1 Razes de uma fun cao por varredura . . . . . . . . . . . . . . . . 26
2.1.1 Um metodo computacional: varredura . . . . . . . . . . . 27
2.1.2 Procura de razes por varredura . . . . . . . . . . . . . . . 34
2.2 A troca de sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2.1 An alise do programa raizes01.c . . . . . . . . . . . . . . 41
2.3 secantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.1 metodo da secante . . . . . . . . . . . . . . . . . . . . . . 46
2.4 derivada zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5 encontrar razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.5.1 Como funciona o metodo das tangentes . . . . . . . . . . 60
2.5.2 E quando o metodo nao funciona ? . . . . . . . . . . . . . 61
2.5.3 Funciona com precisao, se funcionar . . . . . . . . . . . . 62
2.6 encontrar razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.7 encontrar razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.8 Interse cao de gr acos . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.9 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.10 Solu cao de alguns exercicios . . . . . . . . . . . . . . . . . . . . 78
3 Recursividade 79
3.1 exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.1.1 raz quadrada . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2 Fundamentos da convergencia de iteradas . . . . . . . . . . . . . 86
3.3 O algoritmo babibil onio e convergente . . . . . . . . . . . . . . . 88
3.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5 Solu cao de alguns exercicios . . . . . . . . . . . . . . . . . . . . 90
4 Splines 98
4.1 Aproxima cao polinomial classica . . . . . . . . . . . . . . . . . . 99
4.1.1 An alise de dois casos particulares . . . . . . . . . . . . . . 99
4.1.2 A solu cao geral do problema . . . . . . . . . . . . . . . . 108
4.1.3 Interpola cao polinomial de Langrange . . . . . . . . . . . 116
4.2 Fun coes polinomiais por peda cos . . . . . . . . . . . . . . . . . . 118
4.2.1 sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.2 aproxima cao . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.3 Quasi-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.1 polinomiais . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4 Splines c ubicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
ii
4.4.1 convolu cao . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.4.2 suporte compacto . . . . . . . . . . . . . . . . . . . . . . . 140
4.4.3 Corre cao da informa cao . . . . . . . . . . . . . . . . . . . 146
4.5 Solu cao de alguns exercicios . . . . . . . . . . . . . . . . . . . . 148
4.6 Vocabulario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5 Integral aproximada 157
5.1 soma de Riemann . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.1.1 Integra cao geometrica. . . . . . . . . . . . . . . . . . . . . 158
5.1.2 Somas de Riemann . . . . . . . . . . . . . . . . . . . . . . 159
5.2 Integral no sentido de Riemann . . . . . . . . . . . . . . . . . . . 166
5.2.1 propriedades da integral . . . . . . . . . . . . . . . . . . . 168
5.2.2 C alculo numerico da integral . . . . . . . . . . . . . . . 171
5.3 trapesio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.4 polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
5.4.1 Apresenta cao do metodo . . . . . . . . . . . . . . . . . . . 180
5.4.2 Integral num sub-intervalo . . . . . . . . . . . . . . . . . . 180
5.5 quasi-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6 E.D.O. 188
6.1 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2 Metodo de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.2.1 segundo grau . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.2.2 grau maior do que dois . . . . . . . . . . . . . . . . . . . . 196

Indice Remissivo Alfabetico 199


Bibliograa 199
iii
Lista de Figuras
1 Ret angulos para aproximar uma integral . . . . . . . . . . . . . . . . . ix
3 Uma aproxima c ao spline de uma curva. . . . . . . . . . . . . . . . . . xi
1.1 A pedra, quando o cord ao se rompe . . . . . . . . . . . . . . . . . . . 2
1.2 Taxa de varia c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Dados obtidos com um sensor . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Dados obtidos por um sensor mais preciso . . . . . . . . . . . . . . . . 6
1.5 Curva que interpola os dados . . . . . . . . . . . . . . . . . . . . . . 7
1.6 interpola c ao n ao linear . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Qual pode ser o gr aco de f ? . . . . . . . . . . . . . . . . . . . . . . 9
1.8 graco de f analisando f

. . . . . . . . . . . . . . . . . . . . . . . . 17
1.9 Dados amostrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.10 Reta tangente ao gr aco de f . . . . . . . . . . . . . . . . . . . . . . 20
2.1 Razes de f no intervalo [, ] . . . . . . . . . . . . . . . . . . . . . . 29
2.2 Parti c ao do intervalo I . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3 Malha sobre uma regi ao do plano . . . . . . . . . . . . . . . . . . . . 35
2.4 V arios representantes da unica raiz . . . . . . . . . . . . . . . . . . . 40
2.5 O metodo das secantes . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6 Fluxograma - metodo da secante . . . . . . . . . . . . . . . . . . . . . 54
2.7 Num ponto de tangencia, tipo parab olico . . . . . . . . . . . . . . . . . 60
2.8 Quando a derivada e zero . . . . . . . . . . . . . . . . . . . . . . . . 62
2.9 Uma sequencia de retas tangentes... . . . . . . . . . . . . . . . . . . . 63
2.10 Duas tangentes se reproduzindo indenidamente . . . . . . . . . . . . . 65
2.11 Interse c ao de curvas . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.12 Regi ao cuja area queremos calcular . . . . . . . . . . . . . . . . . . . 80
2.13 area limitada por duas par abolas . . . . . . . . . . . . . . . . . . . . 81
2.14 area limitada por duas curvas . . . . . . . . . . . . . . . . . . . . . . 81
3.1 Determina c ao de

10 . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2 Ponto inicial menor do que

a . . . . . . . . . . . . . . . . . . . . . 91
3.3 Ponto inicial maior do que

a . . . . . . . . . . . . . . . . . . . . . . 92
4.1 Duas solu c oes do problema homogeneo . . . . . . . . . . . . . . . . . . 103
4.2 O teorema do m odulo m aximo . . . . . . . . . . . . . . . . . . . . . . 104
iv
4.3 Aproxima c ao linear por peda cos - 1-spline . . . . . . . . . . . . . . . . 106
4.4 interpola c ao polinomial dos pontos . . . . . . . . . . . . . . . . . . . . 109
4.5 Polin omio de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.6 Aproxima c ao de uma fun c ao . . . . . . . . . . . . . . . . . . . . . . . 126
4.7 Derivada, tangente e Teorema do Valor medio . . . . . . . . . . . . . . 131
4.8 Uma fun c ao positiva cuja integral e 1 . . . . . . . . . . . . . . . . . . 139
4.9 Deni c ao geometrica - produto de convolu c ao . . . . . . . . . . . . . . 141
4.10 O signicado geometrico de tres valores . . . . . . . . . . . . . . . . . 143
4.11 Corre c ao pelo valor medio numa vizinhan ca de c . . . . . . . . . . . . . 144
4.12 Media viciada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.13 N ucleos ou pulsos unit arios . . . . . . . . . . . . . . . . . . . . . . . 148
4.14 quadrado de convolu c ao da fun c ao caracterstica . . . . . . . . . . . . . 150
4.15 2-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
4.16 Compara c ao: polin omio de Lagrange e splines . . . . . . . . . . . . . . 163
4.17 Compara c ao: polin omio de Lagrange e splines - quando os n os cam unifor-
mente pr oximos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.18 Regulariza c ao por convolu c ao . . . . . . . . . . . . . . . . . . . . . . 164
5.1 Trapesios para aproximar area . . . . . . . . . . . . . . . . . . . . . . 168
5.2 Soma de Riemann . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.3 ret angulos da soma de Riemann para
3
R
3
x
2
+ 2x + 1 . . . . . . . . . . . 181
5.4 area do trapesio e uma media aritmetica . . . . . . . . . . . . . . . . . 186
5.5 Gr aco do polin omio por peda cos . . . . . . . . . . . . . . . . . . . . 193
5.6 Modelagem com polin omios por peda cos . . . . . . . . . . . . . . . . . 194
6.1 Uma poligonal-solu c ao aproximada . . . . . . . . . . . . . . . . . . . 198
6.2 O metodo de Euler - uma poligonal . . . . . . . . . . . . . . . . . . . 200
6.3 solu c ao aproximada de y

=
x
y
. . . . . . . . . . . . . . . . . . . . . 202
v
Introducao
Fa ca apenas uma leitura supercial desta introdu cao como primeira leitura.
Volte a le-la depois mais algumas vezes ate que ela lhe pare ca mais clara. No
incio ser a difcil entende-la por completo, porque ela fala de assuntos que serao
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 disponibi-
lizar material complementar que incluir no texto o deixaria demasiado longo.
Para isto h a uma p agina na Internet em que o material complementar do livro
pode ser encontrado, entretanto os links para paginas na Internet podem mu-
dar e o endere co do autor e mais estavel, havendo diculdade com algum link,
me envie um e-mail para tarcisio@member.ams.org, mas nao se esque ca de que
eu n ao 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 Matematica:
Matem atica aplicada e computacional, e a terminologia brasileira, que ainda
se chama de computac ao cientca; Um ramo da matem atica aplicada e
computacional e an alise numerica que e onde se encontra a nossa disci-
plina, o c alculo numerico.
O nosso trabalho se enquadra, portanto, nesta area, computa c ao cientca
e neste caso os programas que usamos como auxiliares, neste livro sao
scilab, gnuplot, calc, e algumas linguagens de programa cao como C,
C++, Python. Todos estes itens podem ser, em geral, encontrados nas
distribui coes Linux.
Computac ao algebrica que tenta, com razoavel sucesso, substituir o c alculo
aproximado pelo c alculo formal. Representantes deste trabalho sao
Maxima um pacote de computa cao algebrica de domnio p ublico que
em geral e encontrado nas distribui coes de GNU/Linux ;
Pari um pacote de computa cao algebrica voltado para

Algebra, de
domnio p ublico;
MuPad um pacote de computa cao algebrica publicado por um grupo
de matem aticos da Universidade Paderborne (Alemanha) que e dis-
tribuido com uma licen ca amigavel para usuarios individuais, mas
normalmente vendido;
Maple um pacote de computa cao algebrica publicado por um grupo
de universidades do Canada e Estados Unidos, que e vendido por um
pre co n ao muito acessvel;
Reduce que e semelhantes ao MuPad, do ponto de vista de distribui cao;
vi
e h a outros que sao francamente comerciais e n ao vemos razao para cit a-los
aqui. A sintaxe usada no Maxima, MuPad, Maple e muito semelhantes,
de modo que quem j a usou algum deles, facilmente migra para outro, e
naturalmente, sugerimos que se migre para Maxima que e distribuido sob
GPL.
Metodologia de comunica cao
O texto e completado com observa coes de dois tipos. Um dos tipos se chama
claramente observa cao, o outro sao as notas de rodape.
Voce deve ler as observa coes 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 aten cao,
numa primeira leitura.
Para lhe permitir uma busca mais acurada de informa coes, o livro tem um
ndice remissivo alfabetico, ao nal, em que todos os conceitos que surgem nas
observa coes se encontram indexados, de forma que voce podera facilmente re-
tornar a eles quando achar necessario. Tambem se encontram indexadas todas
as palavras-chave do texto.
Quando falamos usamos encena cao para completar o sentido das palavras
usadas no discurso: mexemos as m aos, o corpo e alteramos a entona cao da
voz. Para suprir um pouco deste teatro usaremos uma conven cao tipograca:
texto em it alico representa material que voce deve olhar com cuidado, possivel-
mente n ao est a denido ainda e estamos usando a concep cao intuitiva do termo.
Quando usarmos texto tipografico estaremos fazendo referencia a um termo
tecnico j a denido anteriormente ou considerado bem conhecido como tal. As
palavras da linguagem C ser ao escritas no estilo tipografico. Quan-do usar-
mos 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 mo-
mento. Usamos texto sublinhado para chamar sua aten cao de um detalhe que
poderia passar desapercebido, tem o mesmo sentido texto em negrito.
O que e C alculo Numerico
Acima dissemos que este livro e sobre C alculo Numerico e queremos agora
dizer-lhe qual e o planejamento do nosso trabalho, porque h a muitas formas de
desenvolver esta disciplina e n os 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 simplicada e repetir o C alculo Diferencial e Integral cal-
culando, aproximadamente, aquilo que e obtido formalmente na outra
disciplina;
Resolver, numericamente, algumas quest oes que o C alculo consegue ape-
nas mostrar que tem solu cao; Por exemplo;
determina coes de valores, n umeros, raizes de equa coes para os quais
o calculo formal pode ser longo ou muito complexo, isto e feito aqui
no captulo 0.
vii
cria cao de modelos semi-formais para representar dados de um fenomeno,
este e o objeto do captulo 0 mas o captulo 0 tambem representa este
item.
calculo de algumas integrais para as quais nao existem formulas, este
e objeto do captulo 0.
solu coes aproximadas de equa coes diferenciais, isto e feito aqui, muito
moderadamente, no captulo 0, e somente uma introdu cao.
Associar uma linguagem de programa cao, ou pacotes computacionais para
realizar o projeto acima descrito.
Vamos discutir detalhadamente cada um dos topicos que levantamos an-
teriormente.

E preciso lembrar que nao e facil explicar o desconhecido e ate
poderiamos questionar a validade de uma introdu cao como esta.
A ideia de tentar explicar o que faremos tem sentido ainda assim, porque
em parte estamos falando de topicos que os leitores deste livro ja estudaram,
no C alculo Diferencial e Integral e cujos aspectos esta disciplina ira desenvolver
com outro objetivo. Mas estamos nos referindo a itens novos tambem e a razao
e lhe oferecer um plano do trabalho.
Suas perguntas, entretanto, podem fornecer ao expositor ganchos valiosos
na tentativa de deixar as coisas mais claras. O autor tambem se sentira agra-
decido se os leitores tiverem a bondade de lhe mostrar o que nao gostaram no
texto.
Razes de uma fun cao
Este e o assunto do captulo 0.
Para a determina cao das razes de uma fun cao vamos fazer uso de progra-
mas que apresentaremos resumidamente no texto. Os programas se encontram
disponveis em endere co citado na biliograa.
A busca de razes e um assunto que nao e diretamente discutido nos Cursos
de C alculo.
C alculo de integrais
O c alculo de integrais e um dos itens mais importantes do Calculo Diferencial
e Integral. Sua importancia supera a propria conceitua cao da integral, como
caculo de area ou volume.
A integral e um metodo que se insere em outras deni coes, um exemplo bem
simples disto sao os conceitos qualicados com quantidade de, como e o caso
de
quantidade de movimento;
quantidade de exposi cao ` a irradia cao;
n umero de moleculas ou virus em determinado vetor.
Aqui h a duas vers oes do problema:
h a integrais que n ao sabemos calcular formalmente,
viii
ou, mesmo sabendo, o calculo formal e muito complexo ou longo para
certas aplica coes, como nas telecomunica coes, por exemplo.
e o resultado e que se torna mais pr atico calcular estas integrais aproximada-
mente.
Um dos instrumentos para o calculo aproximado de integrais e a Soma de
Riemann. Como instrumento, est a longe de ser o melhor, mas os metodos
melhores usam-na como metodo auxiliar. Porisso come caremos por discut-la.
Veja na gura (g. 1), o que e uma soma de Riemann.
-2
0
2
4
6
8
10
-3 -2 -1 0 1 2 3
Soma de Riemann para f; passo=0.2
data
Figura 1: Ret angulos para aproximar uma integral
Nela voce pode ver o domnio de integra cao subdividido em diversos inter-
valos e um retangulo associado a cada um destes sub-intervalos.
A soma das areas dos retangulos e uma aproxima cao 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 cole cao de retangulos, devidamente dimensionados, representam uma
area que aproxima a area de uma determinada fun cao.
Um programa de computador permite o calculo rapido de somas e portanto
cria as condi coes para que usemos retangulos com bases nmas o que nos
conduz a uma grande aproxima cao.
An alise e controle de varia cao
Um exemplo tpico, e bem atual, e o da qualidade da corrente eletrica que
uma determinada institui cao, um hospital, por exemplo, recebe da rede p ublica
(manipulada por empresas privadas...) Veja o gr aco na gura (g. ??),
Como se poderia tratar este problema ? Qual e o problema ? quais sao as
ferramentas ?
Surpreendemente, h a uma superposi cao de tecnicas a serem usadas aqui e
no problema que discutimos anteriormente. Mas h a 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 cientco responsavel pela mesma. Chamamos isto de divis ao do
trabalho.
1. Leitura e digitaliza cao de dados analogicos recebidos da placa coletora de
dados (a digitaliza cao pode ser trabalho da placa); (Computa c ao, Enge-
nharia Eletrica )
2. C alculo da varia cao da tens ao criando uma serie temporal com estes dados;
(C alculo Numerico e Estatstica)
3. Compara cao 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 alimenta cao de seguran ca. (Com-
putac ao 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 gura (g. 1.1), p agina 2. Tangentes e derivada servem pelo
menos para colher mangas maduras de arvores. Mas podemos, partindo deste
exemplo, atingir um uso mais sosticado. Como poderiamos colher mangas
maduras usando derivada ? Indiretamente, e claro.
A gura (g. 1.1) sugere alguma coisa. Queremos lan car uma pedra, amar-
rada a um cord ao, de modo que o cordao que preso proximo a um conjunto
de mangas. Rodamos a pedra preza ao cordao ate que ela atinja uma veloci-
dade angular razo avel. Quando a pedra, em seu caminho sobre o crculose
encontrar na posi cao adequada, soltamos o cordao que ir a acompanhar a pedra
se alojando entre as mangas. Usamos o coeciente angular instaneo da pedra
percorrendo o crculopara escolher a dire cao certa.
O mecanismo e o mesmo quando um computador vai dirigir a trajetoria de
um foguete. Com as informa coes 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 coeciente angular relativo do eixo do foguete e desta forma vai
corrigindo a rota que levara a nave ao seu destino.
O pil oto autom atico dos grandes avioes comerciais fazem algo parecido. Ao
partir o pil oto humano coloca o aviao na dire cao do aeroporto de destino. O
piloto autom atico vai medindo o erros de rota impostos pelo uxo do ar e cal-
culando a dire cao para corrigir o erro.
Aproxima cao polinomial de curvas
As fun coes nos fornecem dados dinamicos sobre diversos fenomenos. Mas
nem sempre a natureza se conforma `a matematica como nos gostariamos...
x
A solu cao e fazermos aproxima coes para os fen omenos naturais. Ha diversos
tipos de aproxima coes vamos analisar uma delas aqui, splines.
Splines sao uma melhora consideravel dos polinomios de Taylor. Precisare-
mos deste assunto de C alculo para desenvolver esta forma de aproxima cao que
uma aproxima cao polinomial por peda cos. A gura (g. 3) ilustra este tipo de
aproxima cao usando polinomios do primeiro grau o que resulta numa poligonal.
O objetivo do curso
Discutir os problemas
-20
0
20
40
60
80
100
120
140
160
180
-20 -15 -10 -5 0 5 10 15 20
data
Figura 3: Uma aproxima c ao spline de uma curva.
do C alculo Diferencial e
Integral de modo a en-
contrar solu coes aproxi-
madas para este proble-
mas.
Questionar a validade
destas aproxima coes.
Criar a sensa cao de
que a solu cao exata pode
ser um mito.
Linguagem de programa cao
Vimos que metodos com-
putacionais sao essenci-
ais para desenvolvermos as aproxima coes.
Os alunos, seja do curso de Computa cao, ou do curso de Matematica ou
das Engenharias, j a deveriam conhecer uma linguagem de programa cao, a esta
altura.
Infelizmente isto raramente e verdade.
Mas achamos que e preciso for car a barra, como temos feito com os nossos
alunos de C alculo Numerico, com resultados positivos: ao nal do segundo mes
de aula a maioria deles j a sabe fazer programas e inclusive planejar um pequeno
pacote, claro, isto pressup oe que eles tenham acesso a computadores.
Na metologia que temos empregado os programas crescem de nvel de modo
que, se o aluno se empenhar em entende-los, car a gradualmente no nvel dos
mesmos.
Nas duas ou tres primeiras semanas temos mantido a preocupacao de explicar
detalhadamente os programas.
Mas aos poucos vamos deixando que o leitor comece a voar sozinho...obviamente,
na companhia de um bom livro sobre uma linguagem de programa cao, e tambem
sob a hipotese de que ele ir a encontrar sempre um hackera sua volta no la-
borat orio de computa cao de modo a lhe tirar algumas d uvidas (e lhe implantar
mais uma dezena...).
Vamos adotar a linguagem C, mas ninguem deve se sentir obrigado a nos
acompanhar nesta escolha. Use o que houver ` a sua m ao, aquilo que car mais
f acil, mas que os alunos aprendam a programar.
As linguagens de programa cao de um certo tipo todas se parecem de for-
mas que quando apresentarmos um programa em C facilmente ele podera ser
transformado para a linguagem preferida do leitor.
xi
Como e que se aprende uma linguagem ?
Primeiro que tudo metendo a cara, depois perguntando muito a quem ja sabe
um pouco mais, e sem dar muita importancia ao semblante de incomodado que
algumas pessoas possam fazer... quem sabe um pouco mais, aprendeu pergun-
tando aos outros. Pergunte! incomode inclusive o professor! use o seu endere co
eletr onico para tirar suas d uvidas, mas nao se esque ca de que sera o seu esfor co
pessoal que ser a decisivo.
Procure economizar a paciencia dos outros, tente descobrir voce sozinho
como fazer as coisas. Este e seguramente o melhor aprendizado: quando voce
mesmo descobre.
Estamos convencido de que o uso de computa cao no ensino de Matematica
enriquece fortemente a experiencia do aluno porque permite introduzir uma
dinamica que giz e quadro n a conseguem mais gerar ante uma nova mentalidade
gr aca que est a presente em n os todos.
Isto vale para qualquer outra prossao e nos nao tentariamos convencer os
alunos de computa cao desta verdade.
Vamos listar algumas linguagens de programa cao parecidas com C
1. Pascal, e voce certamente vai encontrar [18] na biblioteca que lhe pode
conduzir a dominar esta linguagem.
2. Python, e uma linguagem de domnio p ublico que se encontra disponvel
em todo sistema Gnu/Linux. Nestes sistemas voce encontra um tutorial
sobre esta linguagem no diret orio /usr/doc/python/tutorial.
3. Java, praticamente de domnio p ublico, se encontra disponvel em todo
sistema Gnu/Linux
4. Computa cao Algebrica.
Domnio p ublico ou relativamente livres MuPad, Reduce, Maxima
Comerciais - n ao aconselhamos! Maple, Derive
5. C alculo Numerico, domnio publico SciLab Octave
6. C alculo Numerico, comercial MatLab. Scilab, Octave fazem tudo que
MatLab faz.
Os programas distribuidos sob o GPL, General Public License, sao de exce-
lente qualidade. Ninguem mais precisa, hoje, pagar, para ter um computador
funcionando, alem do pre co da m aquina... Este livro, todos os programas que o
acompanham, todo o trabalho de pesquisa do autor, se desenvolve inteiramente
com programas de domnio p ublico rodando em ambiente Linux.
xii
Captulo 1
A derivada aproximada
A taxa de varia cao de f e uma das informa coes mais importantes
que podemos ter sobre um fen omeno descrito por f. O C alculo
Diferencial e Integral dene a derivada, usando o limite da taxa
de varia cao ou a taxa de variac ao instant anea
A taxa de varia cao e denida por um quociente de diferen cas e
esta e a deni cao b asica que iremos usar neste captulo.
1.1 Quociente de diferen cas
Uma fun c ao f e diferenci avel se em cada ponto do domnio o gr aco
graf(f) tiver uma reta tangente
A reta tangente no ponto (a, f(a) tem um coeciente angular m e n os diremos
que f

(a) = m. A fun c ao derivada, f

e uma outra fun c ao que descreve as


derivadas de f e portanto as taxas de varia c ao instant aneas de f. No C alculo
dizemos que a derivada dene a reta tangente ao gr aco, aqui preferimos
inverter a forma de falar porque vamos criar modelos, fun coes, a partir de
dados amostrais e a taxa de varia c ao ser a frequentemente um desses dados
amostrais.
Este primeiro captulo e dedicado a uma revisao do C alculo Diferencial e
Integral e de programa cao como um alerta daquilo que voce precisa saber para
o desenvolvimento dos demais captulos.
Observe a gura (g. 1.1) em que estamos simulando o que acontece com
uma pedra que alguem esteja rodando presa a um cord ao e que, num certo
momento, o cord ao (provavelmente podre) se rompa. A pedra memoriza o
ultimo coeciente angular que o seu movimento tinha sobre o crculo e segue
em movimento uniforme n ao acelerado
1
pela reta tangente.
Assim o coeciente angular da reta tangente e o coeciente angular ins-
tantaneo da trajet oria da pedra no crculo.
1
falso, obviamente, porque a acelera c ao da gravidade esta presente
1
CAP

ITULO 1. A DERIVADA APROXIMADA 2


Aqui se quebrou
o cordo
Ao se quebrar o cordo, a pedra sai pela tangente
Figura 1.1: A pedra, quando o cord ao se rompe
Se f representar a parte da equa cao do crculo onde vemos a pedra ainda
presa ao cord ao, e t
1
for o valor do parametro no ponto em que o cordao se
rompeu, entao
f

(t
1
) e a derivada de f no ponto (t
1
, f(t
1
))) (1.1)
Para dizer o mesmo que dissemos acima, o professor de Calculo considera
a seguinte gura (g. 1.2) em que podemos ver uma reta tangente e tres retas
a a+h
(f(a+h)f(a))/h
Taxa de variao
Tangente e uma sucesso de secantes
Figura 1.2: Taxa de varia c ao
secantes. As retas secantes sao aproxima c oes da tangente.
Na gura (g. 1.2) est ao indicados apenas dois valores para o parametro
a, a + h mas temos al as secantes correspondentes a tres valores: a
1
, a
2
, a
3
e o
o calculo do coeciente angular, das secantes, e feito assim:
m
1
=
f(a1)f(a)
a1a
(1.2)
m
2
=
f(a2)f(a)
a2a
(1.3)
CAP

ITULO 1. A DERIVADA APROXIMADA 3


m
3
=
f(a3)f(a)
a3a
(1.4)
Quanto mais pr oximo estiver a
i
de a mas preciso ser a o valor do coeciente
angular da secante, relativamente ao desejado coeciente angular da tangente.
Veja mais abaixo onde estamos explicando um metodo pr atico para cortar
um crculo em um folha de papel como um exemplo do que e aproxima c ao.
O coeciente angular da tangente e o limite das taxas de varia cao. Como
nem sempre podemos calcular o limite, seja recortando crculos em papel (ou
colocando foguetes em orbita), muita vezes temos que nos contentar com o coe-
ciente angular de uma reta secante, tentando minimizar o erro disto decorrente,
ou tentando corrigir o erro ao longo do processo.
Relembrando a equa cao da reta tangente
f(x1)f(a)
x1a
f

(a) (1.5)
f(x1)f(a)
x1a
= m =
f
x
=
a
(f) (1.6)
y
1
y
0
= f(x
1
) f(a) = m(x
1
a) (1.7)
f(x) f(a) = f

(a)(x a) +o(x a) (1.8)


f(x) f(a) f

(a)(x a) (1.9)
y f(a) = f

(a)(x a) (1.10)
Vamos parar um pouquinho nas ultimas equa coes.
A equa cao 7 representa a rela cao entre os lados de um triangulo sobre a
reta secante que passa nos pontos (a, f(a)), (x
1
, y
1
).
As equa coes 8 e 9 sao equivalentes, representam a aproxima cao que a
reta tangente fornece para os valores de f. Na equa cao 8 o erro est a
representado com a nota cao o(x a), o o pequeno de Landau
2
Na equa cao 8 estamos indicando com o termo corretor o(x a) que a
equa cao da reta fornece o valor de f(x) com este erro: o(x a)
A ultima equa cao, 10, e simplesmente a equa cao da reta tangente:
y b = m(x a) ; b = f(a), m = f

(a)
Escrevemos a equa cao 8 com o termo corretor, o(x a) porque a expressao
y f(a) = f

(a)(x a) (1.11)
e a equa cao de uma reta e o gr aco da fun cao n ao precisa ser uma reta
3
entao a
igualdade representada pela reta est a errada e e isto que estamos representando
com o termo de corre cao o(x a).

E uma forma pr atica de indicar que existe
um erro sem precisar entrar no detalhe do valor do erro.
2
A nota c ao dos o s de Landau nos ajudam a falar de aproximac ao de uma forma pr atica
escondendo a precis ao, veja mais a respeito no ndice remissivo
3
compare as equa c oes 8 e 10
CAP

ITULO 1. A DERIVADA APROXIMADA 4


Observa cao 1 Porque falar em aproxima c ao
Falaremos seguidamente de aproxima c ao, neste livro. Podemos dizer que
C alculo Numerico faz de forma aproximada o que o C alculo Diferencial e Inte-
gral diz que faz exatamente.
Porque falar que as secantes sao aproxima coes da tangente?
Veja a seguinte experiencia que voce certamente j a fez
4
.
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
quisermos recortar um crculo em papel, devemos marcar o centro e ir mantendo
a tesoura a dist ancia constante do centro e sempre perpendicular a uma reta
(imaginaria...) que parte do centro.
Mas, quando voce aciona a tesoura, voce corta um pequeno segmento de
reta, que dizer que voce est a na verdade recortando um polgono com um n umero
de lados t ao grande que lhe parece que o resultado e um crculo.
Voce n ao est a cortando tangentes, mas sim secantes. Mas voce queria que
fossem tangentes.
O resultado e uma aproximac ao e voce, em geral, car a satisfeito com ela.
Mas n ao e apenas uma situac ao t ao simples quanto recortar crculos em papel
que nos interessam. H a situac oes bem mais importantes, como como colocar
um satelite em orbita para tornar possvel as comunicaca c oes. O metodo e bem
parecido com o da construc ao de crculos em papel com tesoura. No captulo
nal, quando discutirmos equa coes diferenciais, estaremos mostrando como e
parecido, recortar crculos em papel, e colocar um foquete em orbita em que um
computador, substituindo a tesoura, estar a corrigindo a trajet oria do foquete
e fazendo-o percorrer pequenos segmentos de reta de algumas centenas de
kil ometros. Corrigindo assim a trajet oria para que o foguete atinja uma orbita
(elptica ) desejada. Portanto, para aprender a colocar foguetes em orbita no
ultimo captulo, v a logo treinando com papel, tesoura e crculos...
O C alculo Diferencial e Integral algumas vezes deixa uma sensa cao de que
derivadas e integrais podem ser sempre calculadas exatamente. O Calculo tem a
sua fun cao e aqui n os temos a nossa de corrigir o otimismo do Calculo. Vejamos
4
e se n ao tiver feito, use a primeira oportunidade para executar a experiencia que estamos
aqui relatando...
CAP

ITULO 1. A DERIVADA APROXIMADA 5


no seguinte exemplo como podemos usar derivadas aproximadas como a unica
op cao disponvel.
Exemplo 1 Sensor e levantamento de dados
Veja na gura (g. 1.3) p agina 5,
x
x
x x x
5
4
3 2
1
Dados amostrais
Figura 1.3: Dados obtidos com um sensor
Lendo a gura podemos dizer, sobre o fen omeno descrito, que
houve um descrescimento de x
1
para x
2
;
de x
2
em diante o fen omeno apenas cresceu;
houve um crescimento consider avel entre x
3
para x
4
;
o crescimento entre x
4
para x
5
foi relativamente reduzido.
Mas esta impres ao visual poderia ser tornada efetiva se usassemos um sensor
de gera c ao mais recente que fosse capaz de fazer micro medi coes ao redor de cada
ponto, veja na gura (g. 1.4) p agina 6,
Na gura (g. 1.4) estamos indicando que, em cada um dos pontos que o
sensor mediu, ele tambem fez tres medi c oes a pequenos intervalos de tempo.
Estas micro-medi c oes nos permitem calcular a taxa de variac ao do fen omeno
em cada um dos pontos:
f(x12)f(x11)
x12x11
;
f(x13)f(x12)
x13x12
(1.12)
f(x22)f(x21)
x22x21
;
f(x23)f(x22)
x23x22
(1.13)
CAP

ITULO 1. A DERIVADA APROXIMADA 6


x
x
x x x
5
4
3 2
1
medidas em cada um
dos pontos:
i1 i3
x x x
x x x
51 52 53
i2
foram tomadas trs medidas
Dados amostrais refinados
Figura 1.4: Dados obtidos por um sensor mais preciso
f(x32)f(x31)
x32x31
;
f(x33)f(x32)
x33x32
(1.14)
f(x42)f(x41)
x42x41
;
f(x43)f(x42)
x43x42
(1.15)
f(x52)f(x51)
x52x51
;
f(x53)f(x52)
x53x52
(1.16)
Alem de sabermos o valor no ponto, podemos calcular a derivada aproximada
da func ao que descreve o fen omeno.
O C alculo nos ensina que tudo pode ser descrito por alguma fun c ao, e isto e
certssimo, apenas nem sempre as fun c oes tem equa c oes algebricas que possamos
derivar. Algumas vezes tudo que sabemos sobre estas fun c oes s ao valores colidos
por um sistema de amostragem, como as guras que acabamos de comentar
indicam.
Para terminar o exemplo, vejamos mais duas guras. A gura (g. 1.5)
p agina 7, nos apresenta uma interpola cao linear dos dados, quer dizer, tudo
que sabiamos eram os valores obtidos em cada ponto, e os segmentos de reta
al desenhados nos sugerem qual poderia ser o valor do fen omeno em pontos
intermedi arios entre aqueles em que foram tomados medidas.
Veja agora na pr oxima gura, (g. 1.6) p agina 8, em que, usando as ta-
xas de variac ao obtidas em cada um dos pontos, pudemos tra car uma curva
n ao poligonal
5
interpolante descrevendo melhor o que acontece nos pontos inter-
medi arios.
5
retas, s ao curvas, poligonais, s ao curvas, e tem curvas que n ao retas...
CAP

ITULO 1. A DERIVADA APROXIMADA 7


x
x
x x x
5
4
3 2
1
Interpolao linear dos dados
Figura 1.5: Curva que interpola os dados
Vamos ver como fazer isto no captulo 0, esta curvas interpolantes ser ao
peda cos de polin omios.
Agora, com as taxas de variac ao podemos descrever melhor o fen omeno me-
dido. Lendo o gr aco contido na gura (g. 1.6), podemos dizer
H a um ponto de mnimo do fen omeno entre os pontos x
1
e x
2
;
o crescimento abrupto que parecia acontecer entre x
3
e x
4
de fato acontece
num pequeno peda co deste intervalo, a partir do ponto medio.
tambem houve um crescimento abrupto pr oximo do ponto x
5
.
Observe que a interpola cao linear n ao nos permitia tecer nenhuma dessas consi-
dera c oes. Sem o conhecimento da taxa de variac ao em cada um dos pontos, tudo
que podemos fazer e uma interpola c ao linear que descreve um comportamento
uniforme entre os pontos em que as medi c oes foram feitas.
Este exemplo nos mostra uma situa c ao bem concreta do dia-a-dia em que a
derivada formal seria in util
6
. A derivada tem que ser obtida aproximadamente
a partir de algumas medi c oes nas tomadas em alguns pontos escolhidos.
O exemplo tambem nos mostra a import ancia da derivada como informac ao
complementar.
6
mas se voce estiver deduzindo que o estudo do C alculo e in util, engana-se. Precisamos
de teorias formais, para produzir a tecnica e as aproxima c oes, mas isto e uma hist oria mais
longa, envolva o professor nesta discuss ao...
CAP

ITULO 1. A DERIVADA APROXIMADA 8


x
x
x x x
5
4
3 2
1
medidas em cada um
dos pontos:
i1 i3
x x x
i2
foram tomadas trs
Interpolao no linear dos dados
Figura 1.6: interpola c ao n ao linear
E o qual seria a taxa de variac ao a ser considerada em cada um dos pontos?
Temos tres medidas, logo duas taxas de variac ao.
Aqui entra em cena uma decis ao tpica de quem cria modelos para fen omenos.
A media e uma melhor opc ao, ela corrige possveis erros de medidas. Um
bom sensor tomaria n ao tres medic oes mas certamente uma dezena de micro-
medi coes o que permitiria uma boa media.
Voltaremos a discutir interpolac ao mais a frente.
Resumindo,

a
(f) =
f
x
representa o coeciente angular de uma reta secante que
desejamos que seja uma aproxima cao da reta tangente;
f

(a) e o coeciente angular da reta tangente ao graco de f no ponto


(a, f(a)).
Usaremos, quando a tecnica nos permitir, o valor medio de uma cole cao
de taxas de varia cao, obtidas com micro medi coes, para representar (apro-
ximar) f

(a).
Nos exerccios seguintes, voce sera solicitado a calcular a derivada aproxi-
mada de fun coes cuja derivada voce sabe calcular exatamente. Desta forma voce
podera comprender melhor a derivada aproximada, comparando-a em casos em
que temos a derivada exata disponvel.
CAP

ITULO 1. A DERIVADA APROXIMADA 9


Exerccios 1 Derivada aproximada
Notac ao
a
(f) =
f(a+x)f(a)
x
1. micro medi c oes Considere a fun c ao f(x) = (x + 3) (x 4) e no ponto
x = 3 considere as micro-medi c oes
(3, f(3)), (3.01, f(3.01)), (3.02, f(3.02)).
Calcule
3
(f) =
f(3.01)f(3)
0.01
e
3.01
(f) =
f(3.02)f(3.01)
0.01
e a media aritmetica
3(f)+3.01(f)
2
. Compare o resultado com f

(3)
2. micro medi c oes 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 acos na gura (g. 1.7)


p agina 9, corresponde ao gr aco de f. Justique sua resposta.
1
f
1
f
Figura 1.7: Qual pode ser o gr aco de f ?
4. Calcule
a
(f) =
f
x
com f(x) = x
2
+ 3x + 2 no ponto x = a e com os
valores de x indicados
x = a x x x
1 0.1 0.01 0.001
2 0.1 0.01 0.001
1.5 0.1 0.01 0.001
5. Complete a tabela, calculando a diferenca (o erro) D = |f

(a)
a
(f)| =
|f

(a)
f
x
|
x=a
| com f(x) = x
2
+ 3x + 2.
CAP

ITULO 1. A DERIVADA APROXIMADA 10


x = a x |f

(a)
a
(f)|
1 0.001
2 0.001
1.5 0.001
6. A seguinte listagem de valores foi obtido por um sensor para os valores de

a
(f) =
f
x
na vizinhanca de um ponto. Calcule a derivada media.
0.99884447020655558927
0.99945892356272536761
0.99976592143543602562
0.99991936316018971376
7. Um sensor apresenta a seguinte sada de dados em que o primeiro valor
e f(a) e os quatro seguintes s ao
a
(f) =
f
x
na proximidades do ponto
x=a.
(a) Construa, gr aca e algebricamente, a interpola cao linear dos dados.
(b) Construa, gr aca e algebricamente, uma interpola cao nao linear da
amostragem com quatro dados obtidos pelo sensor em cada ponto.
a
a
(f)(1)
a
(f)(2)
a
(f)(3)
a
(f)(4) f(a)
1 0.667 0.701 0.719 0.728 3
0 0.002 0.001 0.000 0.000 -5
1 0.812 0.774 0.755 0.746 -7
2 2.926 2.861 2.828 2.812 -14
3 5.895 5.816 5.776 5.756 -20
8. Faca um programa que liste os valores de
a
(f) de de f

(a) para alguns


valores de um um intervalo. Use um while() para controlar uma lista de
valores.
solu cao derivadas.c, [20].
1.2 Quocientes de diferencas
de ordem superior
Se calcularmos a diferen ca entre dois quocientes de diferen cas sucessivos

2
a
(f) =
a+x(f) a(f)
x
estaremos obtendo uma aproxima c ao da segunda derivada.
Este e um quociente de diferen cas de segunda ordem.
Como n ao podemos calcular a derivada formal, em nossos programas de
c alculo numerico, resta-nos a tentativa com os quocientes de diferen cas. Aqui
CAP

ITULO 1. A DERIVADA APROXIMADA 11


vamos discutir os quocientes de diferenca de segunda ordem

2
a
(f) =
a+x(f)a(f)
x
= (1.17)
(
f(a+2x)f(a+x)
x

f(a+x)f(a)
x
=)/x (1.18)
=
f(a+2x)2f(a+x)+f(a)
x
2
(1.19)
Nao havendo d uvida
7
n os usaremos uma nota cao mais simples para os quocientes
de diferen ca de segunda ordem:

2
(f) =
2
a
(f) (1.20)
Enquanto que os quocientes de diferencas de primeira ordem sao razoavel-
mente 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 fun cao:
f(x) = (1 x
2
)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
estar ao na p agina ` a sua diposi cao quando voce cometer erros e n ao 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 L
A
T
E
X. Experimente a vers ao derivada03.calc que produz
o resultado no terminal.
As fun coes d2f() e ddf() sao idendticas.
ddf() calcula o quociente de primeira ordem da fun cao df(), que calcula o
quociente de primeira ordem de f(), corresponde a equa cao (17), d2f() calcula
diretamente o quociente de segunda ordem usando f(), corresponde a equa cao
(19).
Intervalo [0, 10], passo 1, Delta = 0.000001
x d2f ddf exata
0 -0.000001520000 -0.000001520000 -0.5
1 -1.463721700812 -1.463721700812 -1.463720340220
2 -2.624124797793 -2.624124797793 -2.185332631556
3 -3.217524857357 -3.217524857357 -2.485835877783
4 -3.055271491335 -3.055271491335 -2.244818686029
5 -2.051102544324 -2.051102544324 -1.420459396864
6 -0.237390644956 -0.237390644956 -0.060549895849
7 2.231711106131 2.231711106131 1.696970169472
8 5.090941230838 5.090941230838 3.634424528937
9 7.987785378986 7.987785378986 5.475087704277
7
(f), um quociente de diferen cas, e f = f(x2) f(x1), uma diferen ca, como x =
x2 x1
CAP

ITULO 1. A DERIVADA APROXIMADA 12


Podemos ver nesta listagem erros da ordem de 300% no calculo aproximado
da derivada segunda, e o caso quando x = 6 ou de 3289% quando x = 0 o que
mostra que n ao podemos conar em calculos aproximados da segunda derivada
usando quocientes de diferen ca. Mas veremos no captulo 0 que conseguimos
modelar com boa precisao dados discretos (obtidos com sensores) usando ape-
nas aproxima coes da primeira derivada, esta sim, calculada com quociente de
diferen cas.
No captulo 0 vamos usar do quociente de segunda ordem, apenas o nume-
rador, quando estudarmos o problema,
f(x) = 0
veremos que assim e possvel contornar o problema deste erro, ao evitar o quo-
ciente, No momento certo voltaremos a discutir esta questao.
Exerccios 2 Revis ao de C alculo e computa c ao
objetivo adquirir familiaridade com quest oes de C alculo e de computa c ao,
necess arias ao C alculo Numerico Computacional. Conscientemente, ignore as
quest oes que voce domina, o objetivo n ao e perder tempo, mas ao mesmo tempo,
aprofunde e procure outras quest oes parecidas com as que voce n ao dominar para
aumentar a sua pr atica.
O programa gnuplot e um pacote computacional para fazer gr acos, tem
tambem uma vers ao que roda em windows que pode ser encontrada aqui, [13].
Nas revis oes de programac ao, voce pode usar em programas em Pascal, [18],
mas os programas que associados a este livro, que est ao aqui, [20], foram escritos
em C ou em calc.
Voce quiser rodar programas em Pascal existe um compilador, gpc, para
Linux.
1. Equac ao da reta que passa num ponto
(a) te orica Escreva a equac ao da reta que passa no (a, b) e tem coeciente
angular m.
(b) aplicac ao Escreva as equa c oes das retas que passam no (a, b) com
o coeciente angular indicado, em cada item abaixo. Fa ca gr acos
procurando ser preciso. Voce pode usar gnuplot ou xfig para fazer
estes gr acos, mas deve indicar por escrito como fez.
no ponto coef. angular
(a, b) m
(1, 3) 3
(1, 3) 1
no ponto coef. angular
(a, b) m
(1, 3) 1
(1, 3) 2
(c) teorica Escreva a equac ao da reta que passa nos pontos (a
1
, b
1
), (a
2
, b
2
).
(d) aplicac ao Escreva as equa c oes das retas que passam nos pontos in-
dicados em cada um dos itens abaixo. Para cada caso fa ca gr acos
precisos. Voce pode usar gnuplot ou xfig para fazer estes gr acos,
mas deve indicar por escrito como fez.
CAP

ITULO 1. A DERIVADA APROXIMADA 13


P
1
P
1
(a
1
, b
1
) (a
2
, b
2
)
(1, 3) (1, 3)
(1, 3) (3, 3)
P
1
P
1
(a
1
, b
1
) (a
2
, b
2
)
(1, 3) (3, 1)
(1, 3) (2, 5)
2. teoria Reta tangente ao gr aco de uma fun c ao F ormula de Taylor. A de-
rivada de uma fun c ao nos fornece o coeciente angular instant aneo da
mesma no ponto:
f

(a) e o coeciente angular instant aneo de f em (a, f(a))


(a) teorica F ormula de Taylor - equa c ao da reta Escreva a equa c ao da
reta que passa no (a, f(a)) e e tangente ao gr aco da fun c ao neste
ponto. Observe que voce deseja a equa c ao da reta que passa no ponto
(a, f(a)), com coeciente angular f

(a). Fa ca um gr aco generico


mostrando o que acontece.
(b) Aplica c ao - derivada algortmica Derivar algortmicamente signica, para
este exerccio, evitar de fazer todas as contas, represente as contas, nao as faca
totalmente, deixe que a linguagem de programacao calcule por voce. Para cada
item abaixo fa ca o gr aco da fun c ao e da reta tangente no ponto
(a, f(a)) indicado. Voce pode usar gnuplot ou xfig para fazer estes
gr acos, mas deve indicar por escrito como fez.
f(x) = (x + 3)(x 4) a = 3
f(x) = (x + 3)(x 4) a = 4
f(x) = (x + 3)(x 4) a = 0.5
f(x) = sin(x)(x + 1) a = 4
f(x) = sin(x)(x 1)(x 5) a = 2
f(x) = cos(x)(x + 3)(x 4) a = 0.5
3. Altere o programa ex01.c para imprimir alguns n umeros. Voce encontra
este programa aqui, [20, programas.tgz].
4. Altere o programa ex01.c para que ele escreva quatro termos de uma
progress ao artimetica cujo primeiro termo seja 3 a ra ao 4.
solu cao: ex02.c
5. Fa ca um programa que escreva de 0 a 10, use um while().
solu cao: ex03.c
6. Altere ex03.c para escrever os 10 termos de uma progress ao aritmetica
de raz ao 3.
solu cao: ex04.c
7. Altere ex04.c para escrever os 10 termos de uma progress ao geometrica
de raz ao 2.
solu cao: ex05.c
CAP

ITULO 1. A DERIVADA APROXIMADA 14


8. Altere ex05.c para escrever os 100 termos de uma progress ao geometrica
de raz ao 1.0005, os juros da simpl oria cadernete de poupan ca.
solu cao: ex06.c
9. Altere o programa ex06.c colocando um if() dentro do while() controlando
um contador para permitir a visualiza c ao do sagrado capital sendo trans-
formado na poupanca.
solu cao: ex07.c
10. Escreva um programa que
(a) Produza uma progress ao artimetica de raz ao 0.5, primeiro termo 3 e
o n umero de termos 10;
solu cao: altere ex04.c
(b) Produza uma progress ao artimetica de raz ao 5, primeiro termo -3 e
o n umero de termos 10;
solu cao: altere ex04.c
(c) uma progress ao geometrica de raz ao 7% com primeiro termo 1000
e com 12 termos. Obtenha outra cuja raz ao seja 0.5%. Uma delas
(qual ?) mostra como cresce sua dvida se voce usar cheque especial
ou cart ao de credito.
solu cao: altere ex07.c
11. Derivada aproximada O quociente
f
x
=
f(a + x) f(a)
x
f

(a) (1.21)
e uma aproxima cao do valor da derivada de f no ponto x = a quando
x for pequeno. Os pr oximos itens servem para que voce desenvolva a
sua intui cao com respeito a esta aproxima cao, fa ca gr acos bem feitos
que permitam voce se convencer do seu signicado, a precis ao com que
os gr acos ser ao feitos e parte essencial da quest ao, um gr aco mal feito
n ao lhe indicar a nada, use papel quadriculado (ou milimetrado). Se voce
usar gnuplot, ele lhe permite um zoom usando o bot ao direito do ratinho
e voce poder a ver assim o detalhe entre as duas retas.
(a) Considere f(x) = x
2
2x 3 e encontre a reta tangente ao gr aco
de f no ponto (1, f(1)). Fa ca o gr aco.
solu cao: derivada02 01.gnuplot, [20].
(b) Use x = 0.2, calcule o valor aproximado da derivada com este erro,
e obtenha a equac ao da reta tangente no ponto (1, f(1)). Fa ca
o gr aco.
solu cao: derivada02 02.gnuplot
CAP

ITULO 1. A DERIVADA APROXIMADA 15


(c) Use x = 0.05, calcule o valor aproximado da derivada com este
erro, e obtenha a equa c ao da reta tangente no ponto (1, f(1)).
Fa ca o gr aco.
solu cao: altere derivada02 02.gnuplot
(d) Com f(x) = x
2
2x 3 e encontre a reta tangente ao gr aco de f
no ponto (3, f(3)). Complete o gr aco anterior.
solu cao: altere derivada02 02.gnuplot
(e) Use x = 0.2, calcule o valor aproximado da derivada com este
erro, e obtenha a equa c ao da reta tangente no ponto (3, f(3)).
Complete os gr acos anteriores.
solu cao: altere derivada02 02.gnuplot
(f ) Use x = 0.05, calcule o valor aproximado da derivada com este
erro, e obtenha a equa c ao da reta tangente no ponto (3, f(3)).
Complete os gr acos anteriores.
solu cao: altere derivada02 02.gnuplot
12. Fa ca um programa que imprima a derivada aproximada, por quociente de
diferencas, do item anterior. Aprenda a usar fun c ao, em C,
solu cao: derivadas.c
13. Para f(x) = x
2
9
(a) Encontre as retas tangentes ao gr aco de f nos pontos
(4, f(4)), (3, f(3)), (0, f(0))
Fa ca os gr acos.
solu cao: altere derivada02 02.gnuplot
(b) Use x = 0.05, calcule o valor aproximado da derivada com este
erro, e obtenha a equa c ao da reta tangente nos pontos
(4, f(4)), (3, f(3)), (0, f(0))
Complete os gr acos anteriores.
solu cao: altere derivada02 02.gnuplot
14. Signicado da derivada Considere a fun c ao f(x) = x
3
3x
2
9x + 2
(a) Calcule a derivada f

.
(b) Encontre as razes de f

e deduza os pontos extremos relativos f


(c) objetivo: Algumas vezes e mais f acil fazer o gr aco de f

que o gr aco
de f. Deduza um esbo co do gr aco de f do gr aco usando o gr aco
da derivada.
CAP

ITULO 1. A DERIVADA APROXIMADA 16


Solu cao 1 A derivada da fun c ao f(x) = x
3
3x
2
9x+2 e uma fun c ao
do segundo grau, cujos zeros sabemos calcular.
f(x) = x
3
3x
2
9x + 2 (1.22)
f

(x) = 3x
2
6x 9 = 0 = x
2
2x 3 (1.23)
x =
2

4+12
2
(1.24)
x
1
=
2+4
2
= 3 = (1.25)
x
2
= 1 = (1.26)
As razes, x
1
, x
2
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 vericar o sinal. Outra consiste
em vericar a variac ao em volta do ponto.
Vamos usar o teste da segunda derivada. Lembrando a f ormula de Taylor,
a segunda derivada representa a concavidade da fun c ao e portanto mos-
tra uma par abola que lhe e semelhante no ponto. Se f

(x
i
) 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 2a. derivada no ponto diagn ostico valor no ponto
f

(x
1
) 12 passa por um mnimo f(x
1
) = 25
f

(x
2
) -12 passa por um m aximo f(x
2
) = 7
O esboco gr aco de f pode ser visto na gura (1.8) p agina 17,
Comandos do gnuplot usados na resolu c ao 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
CAP

ITULO 1. A DERIVADA APROXIMADA 17


-30
-20
-10
0
10
20
30
40
-3 -2 -1 0 1 2 3 4 5
f(x)
df(x)
0
Figura 1.8: graco de f analisando f

15. Modelo Encontre a equa c ao de uma reta (um tipo de modelo) que melhor
represente os dados da tabela na gura (1.9) p agina 18. Justique sua
solu c ao;
Calcule o valor deste modelo no ponto x = 2. Calcule o valor medio
que estes dados representam usando a reta como modelo, e admita que o
intervalo de observa c oes e [10, 10].
solu cao: calcule o valor medio das taxas de variac ao e use este valor para
a equa c ao da reta.
16. Teste do modelo Fa ca o gr aco do conjunto de pontos da tabela (1.9) e da
reta que voce encontrou para modelar os dados com gnuplot e verique
assim se o modelo est a adequado. Justique a sua conclus ao.
CAP

ITULO 1. A DERIVADA APROXIMADA 18


10 28.6
6 15.4
2 2.2
0 4.4
3 11.7
7 22.5
9 27.9
Figura 1.9: Dados amostrais
1.3 Polinomios de Taylor
Estudamos a equa cao da reta tangente ao graco de f no ponto (a, f(a)) e na
verdade quando come camos a estudar esta questao o nosso exemplo, na gura
(g. 1.1), p agina 2, nos dizia que nao era a reta tangente que nos deveria
interessar e sim a par abola tangente. Vamos agora ver como podemos obter
uma parabola tangente ao gr aco graf(f) no ponto (a, f(a)).
O metodo se parece com o que ja usamos para a reta tangente, foi porisso
mesmo que come camos com este caso mais simples. Revendo o caso da reta
tangente,
y f(a) = f

(a)(x a) (1.27)
y = f(a) +f

(a)(x a) (1.28)
seriamos facilmente conduzidos ao erro de imaginar que a equa cao da parabola
tangente seria (esta errado)
8
y f(a) = f

(a)(x a) +f

(a)(x a)
2
(1.29)
y = f(a) +f

(a)(x a) +f

(a)(x a)
2
(1.30)
Para encontrar a f ormula correta, vamos inicialmente considerar um polinomio
do segundo grau
P(x) = a
0
+a
1
(x a) +a
2
(x a)
2
(1.31)
desenvolvido no ponto x = a e vamos impor as condi coes que nos interessam,
para encontrar
9
os coecientes
a
0
, a
1
, a
2
(1.32)
P(a) = f(a) a
0
= f(a) (1.33)
P

(x) = a
1
+ 2a
2
(x a) (1.34)
P

(a) = f

(a) a
1
= f

(a) (1.35)
P

(x) = 2a
2
(1.36)
P

(a) = f

(a) a
2
=
f

(a)
2
(1.37)
8
esta f ormula est a errada!
9
os coecientes e que s ao as inc ognitas deste problema....
CAP

ITULO 1. A DERIVADA APROXIMADA 19


Na equa cao (33) estamos impondo a condi cao de que o polinomio P passe
no ponto (a, f(a)). Na equa cao (34) calculamos a derivada do polinomio P
para impor a condi cao, na equa cao (35), que o polinomio P tivesse a mesma
derivada que f no ponto (a, f(a)). Derivamos, na equa cao (36), o polinomio P
para impor na equa cao (37) que o polinomio tivesse a mesma derivada segunda
(curvatura) que a fun cao f tem no ponto (a, f(a)).
Vemos assim que a f ormula correta para a equa cao da parabola tangente ao
gr aco graf(f) no ponto (a, f(a)) e
y = P(x) = f(a) +f

(a)(x a) +
f

(a)
2
(x a)
2
(1.38)
Compare a equa cao errada 33 com a equa cao correta 38 e veja que a diferen ca
se encontra no metodo do calculo para o coeciente do segundo grau:
a
2
=
f

(a)
2
Este exemplo tambem lhe mostra a razao pela qual a equa cao do movimento
acelerado (caso da gravidade) e
v = s
0
+v
0
(t a) +
g
2
(t a)
2
(1.39)
em que t = a e o ponto considerado como incio do movimento.
Nos cursos de C alculo este topico aparece sob o nome de f ormula de Taylor
e vai bem alem na constru cao de um polinomio de grau n tangente ao gr aco
de f no ponto (a, f(a)). A metodologia para obter esta f ormula e exatamente a
mesma que apresentamos acima, entretanto partindo do polinomio
P(x) = a
0
+a
1
(x a) + . . . +a
n
(x a)
n
(1.40)
ao qual se imp oem, sucessivamente, as condi coes de tangencia. A conclus ao e
que
a
n
=
f
(n)
(a)
n!
(1.41)
e a voce deve observar que
2 = 2!, 1 = 1!, 1 = 0! (1.42)
sao os denominadores dos termos em x
2
, x, x
0
.
Fizemos men cao ao erro existente entre a equa cao da reta tangente ao
graf(f) e os valores de f numa vizinhan ca do ponto de tangencia, chamando-o
de o(x a).
Aqui usaremos a mesma nota cao, porem o erro e, teoricamente, menor.
Infelizmente, quando passarmos aos calculos numericos este erro tende a
ser bem maior, desta maneira h a que ser prudente com o uso da aproxima cao
polinomial do grau elevado. O fato e que em geral nos damos muito bem com
as aproxima coes do primeiro grau. No captulo 0 vamos ver que o grau ideal
para as aproxima coes polinomiais e o terceiro grau.
CAP

ITULO 1. A DERIVADA APROXIMADA 20


Aqui voce pode observar a crtica diferen ca entre o calculo feito manual-
mente (e formalmente) e os calculos automaticos. Podemos atingir precisoes
muito maiores com o calculo manual, mas possivelmente com um grande lapso
de tempo, n ao esquecendo que nele estamos sujeitos a erros diversos. No en-
tanto, no calculo autom atico os computadores incluem outros tipos de erros
com a inevit avel aproxima cao com que tem que trabalhar. A conclusao, 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 critica-
mente para tirar o bom proveito que eles nos podem trazer.
No pen ultimo captulo 0 iremos estudar aproxima cao polinomial quando
necessitaremos que voce tenha uma boa pratica com do uso do polinomio de
Taylor e de programa cao, eis uma boa razao para lhe oferecermos logo uma
lista de exerccios.
Exerccios 3 Polin omios de Taylor
1. Reta tangente ao gr aco de uma fun c ao F ormula de Taylor. A derivada
de uma func ao nos fornece o coeciente angular instant aneo da mesma no
ponto:
f

(a) e o coeciente angular instant aneo de f em (a, f(a))


Veja na gura (g. 1.10),
300
200
100
0
100
200
300
400
500
600
4 2 0 2 4
f(x)
reta(x)
0
Figura 1.10: Reta tangente ao gr aco de f
(a) Considere f(x) = x
2
2x3 calcule f

(2) e encontre a reta tangente


ao gr aco de f no ponto (2, f(2)).
solu cao: altere derivada02.02.gnuplot, voce o encontra aqui, [?]
(b) Considere f(x) = x
2
9 calcule f

(4) e encontre a reta tangente


ao gr aco de f no ponto (4, f(4)).
solu cao: altere derivada02.02.gnuplot
CAP

ITULO 1. A DERIVADA APROXIMADA 21


(c) Escreva a express ao da reta tangente ao gr aco de uma fun c ao qual-
quer, f no ponto (a, f(a)). Observe que voce deseja a equa c ao da
reta que passa no onto (a, f(a)), com coeciente angular f

(a).
solu cao: altere derivada02.02.gnuplot
2. An alise do gr aco de f
(a) par abola tangente Encontre a par abola tangente ao gr aco de
f(x) = (1 x
2
)sin(x/4)
no ponto (4, f(4)) e deduza como e o gr aco de f nas vizinhan cas
deste ponto.
solu cao: altere derivada02.03.gnuplot
(b) par abola tangente Encontre a par abola tangente ao gr aco de f no
ponto (2, f(2)) e deduza como e o gr aco de f nas vizinhan cas
deste ponto.
solu cao: altere derivada02.03.gnuplot
(c) Dedu c ao do gr aco de f Com base nas duas informac oes
10
obtidas
anteriormente, simule o gr aco de f numa vizinhan ca do intervalo
[1, 1].
3. Polin omio desenvolvido em um ponto A express ao usual dos polin omios e
desenvolvida no ponto x = 0
P(x) = a
0
+a
1
x +a
2
x
2
+a
0
x
3
+ +a
n
x
n
(1.43)
Usando polin omio de Taylor podemos desenvolver um polin omio em qual-
quer outro ponto.
Desenvolva o polin omio
P(x) = 3 x + 2x
2
3x
3
+ 5x
4
(1.44)
no ponto x = 3 e fa ca os gr acos dos dois polin omios com gnuplot.
Comente o resultado obtido.
solu cao:
11
num terminal, rode calc < poltay2.calc
1.4 Derivadas parciais
Vamos generalizar a f ormula de Taylor para o caso multivariado. Aqui a res-
tri cao ser a mais forte, n ao passaremos do primeiro grau e a considera cao feita
anteriormente sobre erros nas aproxima coes de derivadas de ordem maior se
10
este exerccio tem o defeito de sugerir que podemos fazer uma simula c ao destas em qual-
quer intervalo sabendo o que acontece nos extremos. Isto e falso!
11
Todos os programas do livro se encontram aqui, [20]
CAP

ITULO 1. A DERIVADA APROXIMADA 22


aplica, fora que a oten cao de dados amostrais com taxas de varia cao parcial
maior do que um e bem mais difcil de ser obtida.
Se considerarmos uma expressao dependendo de varias variaveis
F(x, y, x) = d (1.45)
e lhe aplicarmos derivac ao implcita, vamos obter um modelo que nos permitira
chegar ` a equa cao de um objeto linear tangente:
dw = dF(x, y, z) =
F
x
dx +
F
y
dy +
F
z
dz = 0 (1.46)
Vamos agora admitir a hipotese de que conhecemos um ponto
P = (a, b, c)
onde passa a variedade
12
.
F(x, y, z) = d
Uma outra forma de dizermos a mesma coisa e
P = (a, b, c)
e uma solu cao da equa cao (45). Nesta forma de falar a hipotese e que existe
uma solu cao para esta equa cao, que e P.
Se substituirmos, neste modelo,
dx := x a ; dy := y b ; dz := z c (1.47)
vem a equa cao da variedade
13
linear tangente:
F
x
(x a) +
F
y
(y b) +
F
z
(z c) = 0 (1.48)
Podemos explicitar z nesta expressao
F
x
(x a) +
F
y
(y b) +
F
z
(z c) = 0 (1.49)
F
z
|(a, b, c) = 0 z c =
F
x
F
z
(x a)
F
y
F
z
(y b) (1.50)
o que nos conduz, com auxlio do Teorema da Fun c ao Implcita
14
a garantir que
existe uma fun cao
z = f(x, y) ;
f
x
=
F
x
F
z
;
f
y
=
F
y
F
z
(1.51)
z c =
f
x
(x a) +
f
y
(y b) ; c = f(a, b) (1.52)
z = f(a, b) +
f
x
(x a) +
f
y
(y b) ; c = f(a, b) (1.53)
12
variedade e o conceito que nos livra da pris ao tridimensional veja no ndice remissivo mais
informa c oes a respeito neste caso esta e variedade de dimensao dois, uma superfcie
13
esta variedade tangente e um plano, planos s ao variedades lineares de dimens ao dois
14
voce encontra este teorema em qualquer bom livro de C alculo. Estamos tambem admi-
tindo a hip otese de a derivada parcial que aparece no denominador seja diferente de zero
CAP

ITULO 1. A DERIVADA APROXIMADA 23


e assim temos duas f ormulas que podemos adaptar para fazer aproxima coes
de fun coes com duas ou tres vari aveis sendo imediato (basta considerar mais
derivadas parciais) estender estas f ormulas para um n umero qualquer que se
precise de vari aveis
15
O smbolo := que utilizamos, apareceu com a linguagem de programa cao
Pascal para evitar a confus ao com a igualdade matem atica. Queremos dizer
que os dois objetos que se encontram de cada lado do smbolo := tem natureza
distinta, mas que e possvel fazer uma dedu cao de um, a partir do outro.
Observe que a equa cao (53 ) e a f ormula de Taylor multivariada, de grau 1
para a fun cao = f(x, y).
Existe tambem uma f ormula de Taylor multivariada de grau 2, de grau
3, etc... mas em geral n ao passamos da f ormula 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 acos, mas deve apresentar
toda a justica c ao das equa c oes que usar.
O comando do gnuplot para fazer gr acos de fun c oes de duas vari aveis e
splot f(x,y)
1. Te orica - polin omio do segundo grau tangente Expanda as equa c oes (53),
(44) para encontrar aw equa c oes de uma par abola (polin omio do segundo
grau) tangente ao gr aco de f memorizando tambem a curvatura (segunda
derivada)
y = A+B(x a) +C(x a)
2
(1.54)
Um polin omio desenvolvido
16
no ponto x = a.
solu cao: polin omio de Taylor do segundo grau no ponto x = a
2. Te orica - polin omio do terceiro grau tangente Expanda as equa c oes (53),
(44) para obter as condi c oes que fa cam 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 aco de f no ponto (a, f(a)).
Descreva as equa c oes para determinarmos os coecientes A, B, C, D.
solu cao: 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 espa cos de dimens ao de alguns milhares, o que jus-
tica a grande diculdade no planejamento econ omico, por outro lado justica trabalharmos
com dimens oes altas.
16
novamente, um polin omio desenvolvidono ponto x = a
CAP

ITULO 1. A DERIVADA APROXIMADA 24


(b) Ache o desenvolvimento de Taylor para g(x) = cos(x) no ponto x = 0
de ordem 8 (grau 8), (um polin omio de grau 8). Analise porque a
diferenca de grau entre esta quest ao e anterior.
solu cao: derivada02 ex02.calc
(c) Calcule a derivada de g(x) + if(x), com os polin omios encontrados
no item anterior. Ser a que o resultado poderia ser interpretado como
sendo
(g(x) +if(x))

= i(g(x) +if(x))
4. Aplicac oes
(a) Calcule o valor aproximado de sen(0.1) usando a f ormula de Taylor
de ordem 7. Compare o resultado, indicando o erro ocorrido usando
uma calculadora.
solu cao: derivada02 ex02.calc
(b) Calcule o valor aproximado de cos(0.1). Compare o resultado, indi-
cando o erro ocorrido usando uma calculadora.
solu cao: derivada02 ex02.calc
5. Derivadas parciais introduc ao te orica A equa c ao de plano que passa no
ponto (a, b, c) e por comparac ao com a equa c ao da reta
z c +A(x a) +B(y b) = 0 (1.56)
z = c A(x a) B(y b) (1.57)
(a) Calcule as derivadas parciais de z = f(x, y) na equa c ao (57).
resposta: A, B
(b) Justique a armac ao seguinte usando os conceitos tangente, co-
eciente angular dentro de uma pequena reda c ao. Se o plano cuja
equa cao est a em (56), for tangente ao graco de uma fun cao no ponto
(a, b, f(a, b)) entao a equa cao do plano seria, atualizando os valores
de c, A, B na equa coes (56), (57):
z f(a, b) +A(x a) +B(y b) = 0 (1.58)
z = f(a, b) +
f
x
(x a) +
f
y
(y b) (1.59)
(c) Considere uma func ao
z = f(x, y) (1.60)
que seja deriv avel numa vizinhan ca do ponto (a, b, f(a, b)). Ent ao
ela tem um plano tangente no ponto (a, b, f(a, b)), semelhante ao
caso da func ao univariada com a reta tangente. Identique entre as
equac oes abaixo a equac ao do plano tangente ao gr aco de f no ponto
(a, b, f(a, b)) e justique sua escolha.
CAP

ITULO 1. A DERIVADA APROXIMADA 25


z a = f(a, b) (x a) +
f
y
(y b) (1.61)
f
z
z a = f(a, b) (x a) +
f
y
(y b) (1.62)
z a = f(a, b) (x a) +
f
x
(x a) +
f
y
(y b) (1.63)
solu cao: z = 5 + 2(x 1) + 3(y 2); f(1.1, 2.1) 4.5
(d) Sabendo que as taxas de variac ao parciais de z = f(x, y) no ponto
(1, 2) s ao
f
x
= 2;
f
y
= 3
e que f(1, 2) = 5
i. Escreva a equa c ao do plano tangente ao gr aco 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 equa c ao do
plano tangente pode ser escrita de forma semelhante a equac ao da
reta tangente. Encontre as semelhan cas e escreva a f ormula 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 informac oes de uma fun c ao de
forma parecida com o polin omio de Taylor, mas usando informac oes 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)
em que [a, b] e um intervalo em que f est a denida e e deriv avel. Sugest ao:
escreva a express ao de um polin omio desenvolvido no ponto x = a.
7. Aplica c ao Encontre um polin omio tal que
a) P(3) = 3 P

(3) = 1
P(3) = 1 P

(3) = 1
b) P(3) = 3 P

(3) = 1
P(3) = 3 P

(3) = 1
Fa ca os gr acos destes polin omios usando gnuplot
CAP

ITULO 1. A DERIVADA APROXIMADA 26


1.5 Solu cao de alguns exercicios
1.6 Vocabulario
gnuplot, Landau, variedade
Nesta se cao vamos incluir alguns conceitos que e
preciso discutir mas cujo desenvolvimento dentro do
texto seria prejudicial. Mesmo assim sera uma pe-
quena amostra de cada assunto.
gnuplot e um programa para fazer gracos, uma especie de m aquina
de calcular eletr onica com capacidade para fazer gr acos, que roda num
terminal do computador, com alguma habilidade sintatica. Voce pode
escrever pequenos algoritmos no terminal do gnuplot ou com um editor
de textos e chamar gnuplot para ler e executar o algoritmo.
gnuplot pode ser chamado de dentro de um programa, logicamente fa-
lando e o mesmo que j a dissemos acima a respeito de chamar gnuplot na
linha de comandos passando-lhe um arquivo: isto pode ser feito de dentro
de um programa e inclusive o programa pode construir o arquivo de co-
mandos do gnuplot, veja, por exemplo raizq graf.c, rode apenas, este
e um programa relativamente avan cado que sera discutido no captulo 0.
O pr oprio programa lhe dira que construiu um arquivo de comandos do
gnuplot que voce podera ler como um exemplo.
Landau Para representar que uma variavel tem uma rela cao multiplica-
tiva com outra, usamos uma das nota coes
x = O(y) lim
x=0
y
x
= K = 0 (1.64)
x = o(y) lim
x=0
y
x
= 0 (1.65)
No primeiro caso, equa cao (64), o signicado e que para valores cada vez
menores de x as vari aveis x, y se encontram numa propor cao e podemos
dizer que sao compar aveis.
Este e o caso
f
x
=
f(x) f(a)
x a
(1.66)
quando a fun cao for diferenciavel no ponto a com derivada diferente de
zero. Neste ponto a fun cao tem uma tangente paralela a reta
x Kx (1.67)
CAP

ITULO 1. A DERIVADA APROXIMADA 27


em que K e o que aparece na equa cao (64).
No segundo caso, equa cao (65), a vari avel y e innitamente menor do que
a vari avel x, e o caso em que a fun cao deriv avel f tangencia o eixo dos X,
a derivada e nula, portanto f e innitamente pequeno relativamente a
x.
Esta linguagem, innitamente pequeno, traduzida com a palavra in-
nitesimo, gerou uma confus ao e um mito grande durante toda a primeira
metade do seculo 20 em que v arios autores procuraram apresentar in-
nitesimos como um tipo de n umero.
Observe o salto violento que existe entre as duas nota coes, n ao h a nada
entre elas. A melhor forma de entender a nota cao de Landau, que foi uma
tentativa de evitar os innitesimos, e us a-la para aos poucos compreender
quando usar uma ou a outra, e talvez admitir o que Courant dizia, que o
limite se encontra no limiar da Matematica superior. . .
Se voce quiser ver alguma coisa experimental nesta linha, considere y =
f(x) e compare
x com f(x) quando x V(0), uma vizinhan ca de zero, e o caso
do o pequeno de Landau, fa ca um programa que liste x, f(x) com x
decrescendo para zero.
xa com f(x)f(a) quando x V(a), uma vizinhan ca de um ponto
a = zero, e o caso do O grande de Landau, fa ca um programa que
liste xa, f(x) f(a) com xa decrescendo para zero, voce vai ver
que neste caso K = f

(a).
Variedade e uma palavra que nos livra da prisao tridimensional em que
a geometria do mundo fsica em que vivemos nos conna.
Diremos variedade de dimens ao 1 para fazer referencia as curvas, uma
reta, um crculo sao variedades de dimens ao 1.
Diremos variedade de dimens ao 0 para fazer referencia aos pontos.
As superfcies sao as variedades de dimens ao 2, como um plano que e uma
variedade linear de dimens ao 2.
Depois da dimens ao 2 a geometria n ao tem mais palavras e nos conti-
nuamos a denominar os objetos de variedades lineares ou n ao-lineares
acrescentando a dimens ao que eles tenham. Podemos entao falar de uma
variedade linear de dimens ao 4 que seria uma generaliza cao dos planos ou
das retas.
Enm, agora n ao temos mais as limita coes da geometria.
Captulo 2
Razes aproximadas de
funcoes contnuas
Neste captulo vou estudar o problema determinacao das razes de uma funcao: queremos
descobrir quando f(x) = 0. Este e um velho problema e a justica c ao de sua inclus ao no
currculo se deve a que ele e ilustrativo de tecnicas importantes que tem valor por s pr oprias,
como o metodo da tangente, a procura binaria, e o metodo da secante e a recursividade.
O problema e velho e atual, como veremos na discuss ao, e atual no sentido que n os n ao
sabemos resolve-lo.
Resolver esta equa c ao computacionalmente, e bastante difcil, e iremos, no momento apropri-
ado, indicar quais os problemas envolvidos. A sada, computacional, e resolver a desigualdade
|f(x)| <
para um valor adequado para . Veremos que isto e insuciente e irrealista, apesar de ser
naturalmente a sada matem atica.
Iremos salientar como os metodos computacionais, associados a estas antigas metodologias,
as tornam mais ageis.
O plano do trabalho e:
mostrar e exemplicar o problema;
apresentar uma primeira solu cao computacional, simples, ingenua mesmo,
usando varredura eliminando parte do problema;
mostrar uma solu cao 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
CAP

ITULO 2. RA

IZES APROXIMADAS 29
apresentar ao nal o problema completo, mas, obviamente, n ao, a solu c ao.

E interessante observar que a primeira parte, a solu c ao ingenua e simples


far a parte integrante da solu cao nal. Tambem faremos uma arma cao: este
problema, a determina cao das razes, nos ensina uma li cao, que os humanos s ao
companheiros dos computadores na busca de solu c oes. . .
2.1 Razes de uma fun cao por varredura
Queremos determinar todos os pontos a tal que
f(a) = 0 ; a [, ]
isto e, todas as razes de f no intervalo [, ].
Veja a gura (g. 2.1) que mostra uma fun cao que tem diversas razes, mas
apenas uma no intervalo que nos interessa.
f
Estamos interessados
nesta raz
Figura 2.1: Razes de f no intervalo [, ]
Claro, e voce deveria come car se perguntando: e porque nos interess aria um
deteminado intervalo, e n ao o conjunto mais amplo em que uma fun c ao tivesse
razes ?
A resposta para esta pergunta, absolutamente logica, e que existem conjun-
tos que sao os domnios naturais para uma fun cao dentro de um problema em
que ela aparece. Neste caso seria uma perda tempo procurarmos propriedades
desta fun cao num conjunto mais amplo.
CAP

ITULO 2. RA

IZES APROXIMADAS 30
Uma outra forma de responder, seria, quando denimos uma fun c ao, ne-
cess ariamente estipulamos um domnio de validade para a mesma.
Sera neste domnio que iremos procurar as razes da fun cao.
2.1.1 Um metodo computacional: varredura
Um metodo computacional b asico, para resolver esta questao, e varias outras
que voce vai encontrar neste livro, e varredura.
Existe um paradoxo muito conhecido, de Zenon, resolvido por Aristoteles,
em que Aquiles persegue uma tartaruga. Aquiles corre a um metro por segundo
enquanto que a tartaruga corre a 0.1 metro por segundo, mas a tartaruga parte
de um ponto mais avan cado, a 0.9 m mais a frente.
O paradoxo estabelece que Aquiles somente pode atingir a tataruga depois
de percorrer o espa co percorrido por esta (e aqui esta o paradoxo):
Aquiles parte do ponto 0 e a tartaruga parte do ponto 0.9;
quando Achile atingir o ponto 0.9 a tartaruga ja nao esta mais la;
nova corrida come ca, agora com Aquiles no ponto 0.9 e a tartaruga no
ponto 0.91 e quando ele atingir o ponto 0.91 a tartaruga ja n ao esta mais
la . . . e assim nova corrida come ca, [14, logica, Stanford].
Podemos inventar outra forma equivalente deste paradoxo com uma tarta-
ruga que aos poucos fosse cando cansada com a corrida.
A tartaruga come ca uma corrida e no primeiro dia corre a metade do per-
curso ocial, no segundo dia corre a metade do que cou faltando e assim,
sucessivamente, segue correndo sempre a metade do que estiver faltando nos
dias seguintes. Serve para ilustrar que nunca a tartaruga terminaria a corrida...
Aqui vamos usar a ideia para convence-lo de que por menor que for o passo,
n ao ser a possvel percorrer todos os pontos de um intervalo.
Em vez de falar em percorrer, coisa impossvel, vamos falar em varrer. Aqui-
les pode varrer o espa co a sua frente e passar a pela tartaruga em algum ponto no
caminho, mas pode sempre acontecer, dependo do passo escolhido, que nunca
Aquiles encontre a tartaruga.
E n ao h a nenhum paradoxo nesta questao, assim como o paradoxo de Aquiles
nada mais e do que uma forma enganosa de colocar a questao. Nao existe
nenhum paradoxo de Aquiles.
Problema 1 Nunca encontrar o zero de f
Este e o problema b asico, sem nenhum paradoxo, e simplesmente pouco
prov avel que encontremos x tal que f(x) = 0.
Para fazer uma varredura de uma regiao vamos colocar uma malha de nos
sobre esta regiao.
Pense numa rede de pesca, mas nos interessam apenas os nos da rede . . .
A regiao (pode ser uma regiao da reta, do plano ou do espa co), e quere-
mos escolher um conjunto de nos, denindo a malha, associada a esta regiao.
Existe um conceito vizinho a este denominado de parti c ao.
CAP

ITULO 2. RA

IZES APROXIMADAS 31
Malha associada a um intervalo
Vamos come car com o caso unidimensional.
Acompanhe a descri cao do metodo com a gura (g. 2.2) p agina 32.
1. Malha uniforme associada a um intervalo I = [, ]
(a) A precisao da malha - a norma
Considere um intervalo I = [, ]
A medida deste intervalo e
m([, ]) =
e a dividimos por um inteiro n que representa a precisao com que
faremos os calculos.
A norma da malha
1
e
x =

n
. (2.1)
Quando a malha for uniforme este conceito perde sentido, e a me-
dida de qualquer sub-intervalo. Ele e importante quando as malhas
n ao sao uniformes porque serve para controlar a distribui cao quase-
uniforme dos n os, impedindo que uma grande de quantidade de n os
se concentre em uma pequena sub-regiao.
(b) n os da malha Podemos agora denir os nos como os elementos de
uma progress ao aritmetica
= x
0
, x
1
, , x
n
= (2.2)
x
0
= , (2.3)
x
1
= + x, (2.4)
x
2
= + 2x, , (2.5)
x
k
= +kx, , (2.6)
, x
n1
= + (n 1)x, (2.7)
x
n
= +nx = (2.8)
Em geral desprezamos um dos extremos, deste conjunto de n os,
desprezamos o ultimo n o
(x
k
)
n1
k=0
= x
0
, x
1
, , x
n1
= x (2.9)
x
0
= , x
1
= + x, x
2
= + 2x, , (2.10)
x
k
= +kx, , (2.11)
x
n1
= + (n 1)x (2.12)
ou
1
ou norma da parti c ao
CAP

ITULO 2. RA

IZES APROXIMADAS 32
desprezamos o primeiro no
(x
k
)
n
k=1
= x
1
= + x, , x
n
= (2.13)
x
1
= + x, x
2
= + 2x, , (2.14)
x
k
= +kx, , x
n1
= + (n 1)x, (2.15)
x
n
= +nx = (2.16)
Veja na gura (g. 2.2) pagina 32,
x
x
0
n
1
x
I
k
intervalo I
Partio do
Figura 2.2: Parti c ao do intervalo I
Algumas vezes preferimos salientar que este processo criou uma cole cao
de sub-intervalos
I
0
= [x
0
, x
1
), (2.17)
I
1
= [x
1
, x
2
), . . . , (2.18)
I
n1
= [x
n1
, x
n
] (2.19)
I
0
I
1
I
n1
= I (2.20)
cuja uni~ao e o intervalo I sendo estes sub-intervalo disjuntos. Esta
cole cao de sub-intervalos e o que chamamos uma partic~ao de I
Em Matematica gostamos de pensar que escolhemos uma cole c ao
arbitr aria de pontos
x
0
, x
1
, x
2
, . . . , x
n1
, x
n
I (2.21)
CAP

ITULO 2. RA

IZES APROXIMADAS 33
mas, para tornar computacional uma parti cao e preciso estabelecer
uma equa cao, para o elemento generico coisa que os computadores
entendem.
Se a sucess ao (x
k
)
n
k=1
formar uma progress ao aritmetica, dizemos que
temos uma malha uniforme (ou uma parti cao uniforme). Esta ser a a
nossa preferencia neste livro: parti coes uniformes.
Usamos, entao, x como a razao de uma progress ao aritmetica cujo
primeiro termo e x
0
=
x
k
= +kx (2.22)
como j a descrevemos.
Esta expressao aparecera com frequencia neste livro.
Observa cao 2 Aprendendo a ler ou a programar
O programa raizes01.c, [20, programas.tgz], e um implementa c ao deste
metodo, mas ele faz um pouco mais do que isto, procura algumas razes.
Leia o programa sem stress.

E lendo programas que a gente aprende a programar, assim como e lendo


os autores cl assicos que a gente aprende a escrever.
Mas nem aprendemos a escrever apenas lendo como n ao aprenderemos
a programar apenas lendo programas.

E preciso aprender a alterar os
programas.
N ao tenha medo de faze-lo. N ao se preocupe com estragar o programa, o
original se encontrar a, sempre, ` a sua disposi c ao na p agina ou no CD.
2. Malha n ao uniforme Vamos descrever o que seria construir uma malha
n ao uniforme, mas n ao faremos nenhum uso para este tipo de malha neste
livro, imediatamente.
A constru cao de malhas uniformes conduz a sele cao de uma razao como
a que se encontra na equa cao (1), e de uma progress ao aritmetica que se
encontra na sucess ao de equa coes que iniciando em (2), ou do conjunto de
intervalos, todos com mesma medida que apresentamos nas equa coes que
come cam com (17).
No captulo 0 e no captulo 0 vamos usar malhas n ao uniformes, elas apare-
cerem naturalmente quando pensamos em aplica coes do tipo coleta de da-
dos feitas por sensores distribuidos ao longo do percurso de um fen omeno.
Neste momento seria articial dividir este percurso em partes iguais, es-
tabelecendo um passo x porque tais caminhos tem pontos crticos que
merecem aten cao especial onde haver a uma concentra cao de sensores. Um
exemplo tpico seria a an alise do tr afego numa rodovia em que eventos
como curvas, cidades ou vilarejos, acidentes geogr acos exigiriam um le-
vantamento especial de dados.
CAP

ITULO 2. RA

IZES APROXIMADAS 34
A resposta para este tipo de necessidade vem com um arquivo de dados
em que os n os est ao denidos pela posi cao dos sensores.
A esta altura do texto e tambem um pouco articial esta discussao que
preferimos relegar para o momento certo, apenas declarando aqui teremos
necessidade de malhas n ao uniformes. Se o leitor precisar de imediata-
mente ver este ponto, recorra aos captulos 0 ou 0 ou procure no ndice
remissivo ao nal do livro.
Descrevemos assim malhas unidimensionais. Vamos descrever, na proxima
sec cao, como construir malhas bidimensionais.
Malhas bidimensionais
1. Malha associada a uma regiao do plano Selecionar malhas para regioes de
dimens ao maior que 1 geralmente e mais trabalhoso. No caso unidimen-
sional n ao h a muitas escolhas mas nos casos pluridimensionais ha varios
problemas a serem considerados.
Analise um caso simples, representado pela gura (g. 2.3) pagina 35, e
acompanhe com a gura, as deni coes que faremos.
Come caremos supondo que se trata de uma regiao limitada.
Quer dizer que existem quatro n umeros reais:
1
,
2
,
1
,
2
tal que e
um subconjunto do produto cartesiano de dois intervalos:
[
1
,
1
] x [
1
,
1
] (2.23)
e entao criamos uma malha em cada um dos intervalos:
x =

1

1
n
; y =

2

2
n
(2.24)
Agora o produto cartesiano dos dois conjuntos de nos em cada inter-
valo, dene um conjunto de n os no plano, uma malha no plano;
temos que selecionar um sub-conjunto desta malha que que no in-
terior de , veja a gura (g. 2.3).
Se for denido por uma expressao algebrica, pode ser simples a sele cao
autom atica dos n os 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, aproxima cao polinomial,
que pode fornecer a equa cao algebrica determinando o contorno de uma
gura como (g. 2.3) a partir de uma coleta de dados como uma fotograa
aerea, por exemplo, ou um conjunto de medi coes tomadas no proprio local.
Veja na gura (g. 2.3), um domnio, , do plano, em que colocamos uma
malha e zemos a sele cao dos pontos da malha que se encontram dentro
do domnio.
CAP

ITULO 2. RA

IZES APROXIMADAS 35
regio do plano
Malha sobre uma

1
2

1
2

Figura 2.3: Malha sobre uma regi ao do plano


Um elemento generico da malha tem por equa cao
x
i,j
= (x
i
, y
j
) ; i = 0, . . . , n 1 ; j = 0, . . . , n 1
em que estamos ignorando os pontos que se encontram na ultima linha da
malha (tanto na horizontal como na vertical).
Se usarmos o mesmo metodo da progress ao aritmetica, que j a usamos com
malhas sobre um intervalo, (eq.1) teremos
x
i,j
= (
1
+ix
1
,
2
+jx
2
); (2.25)
x
1
=
11
n
; (2.26)
x
2
=
21
n
; (2.27)
Tambem podiamos considerar n umeros de pontos diferentes na horizontal
e na vertical, neste caso, usariamos as vari aveis n, m para designar estas
quantidade e nos denominadores, das fra coes nas equa coes (26), (27).
Estamos usando a hipotese de que e possvel selecionar os pontos com
uma decis ao algebrica, realmente isto pode ser complicado de fazer e n ao
conhecemos um algoritmo generico para tratar deste caso, mas os metodos
do captulo 0 podem resolver esta quest ao.
Neste livro usaremos malhas em dimens ao maior do que um apenas no calculo
de integrais multivariadas no captulo 0.

E entretanto conveniente, pelo menos
CAP

ITULO 2. RA

IZES APROXIMADAS 36
mostrar ao leitor, onde ele pode fazer uso de malhas multidimensionais e uma
pista de como encontrar a solu cao para os problemas envolvidos.
Tais situa coes podem ser facilmente encontradas como aplica coes do calculo
aproximado de integrais.
Exemplo 2 Uso de malhas multidimensionais
1. Populac ao de microrganismos numa lamina. Sabendo que os microrganis-
mos a serem estudados s ao capazes de um certo tipo de rea c ao, e possvel
pint a-los com uma soluc ao qumica que far a com que eles respondam a
reac ao qumica com um comprimento de onda, que habitualmente chama-
mos de cor. Cada um dos pontos da gura (2.3) pode ser descrito como
aquele que o sensor captou como estando na faixa de comprimento de onda
que identique a presenca dos microrganismos que interessa.
Depois podemos contar a quantidade de microrganismos calculando a area
da regi ao que eles ocupam. O bi ologo deve, experimentalmente, descobrir
uma constante especca que permita transformar esta area na quantidade
microrganismos presentes na l amina.
2. Fotograa de satelite de regi ao urbana. A gura (2.3) pode representar
uma regi ao fotografada por um satelite e novamente, via comprimento de
onda, se pode detectar intensidade constru c oes urbanas, orestas etc...
Neste caso a fotograa pode ser feita sob emiss ao de uma onda com uma
comprimento particular, ver [14, onda], objetivando obter um determinado
resultado: orestas, construc oes urbanas, determinados tipos de poluic ao.
Novamente o c alculo da area da regi ao determinada vai permitir uma ava-
liac ao da regi ao urbana, da oresta, ou da quantidade de poluic ao que se
estiver observando. Aqui tambem constantes especcas permitem a trans-
formac ao da area 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 aplica coes fogem ao planejamento deste livro mas se o leitor preci-
sar, encontrar a aqui meios para fazer estas aplica coes, se puder contar com
informa coes sobre as constantes mencionadas nos exemplos, na literatura espe-
cializada.
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 denida na (eq.1 )
CAP

ITULO 2. RA

IZES APROXIMADAS 37
x = // (1)
enquanto (x < ) // (2)
{
x = x + x // (3).
}
1. o ponto inicial
2. a logica que controla o la co
3. a progress ao aritmetica que dene os n os 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:
x =

n
(1)
x = // (1)
enquanto (x < ) // (2)
{
x = x + x // (3).
imprima(x) // (4)
}
1. dando valores iniciais as vari aveis
2. a logica que controla o la co
3. a progress ao aritmetica que dene os n os da malha
4. o comando para imprimir na tela os elementos da progress ao aritmetica
O caso de malhas multidimensionais, num programa, consiste em encadeiar
la cos semelhantes a estes que apresentamos acima para o caso unidimensional,
n ao tem segredo, outro, que dominar a deni cao do domnio, e como j a dissemos
este pode ser um problema especial: considere um lado dentro de uma regiao,
ele pode representar um buraco em que voce n ao deseja ou n ao podera obter
informa coes. Mas o tal lago pode representar informa coes preciosas num estudo
de rea coes clim aticas da mesma regiao. . .
2.1.2 Procura de razes por varredura
Temos as ferramentas para fazer a nossa primeira pesquisa de razes de uma
fun cao. Vamos discutir uma solu cao simples e intuitiva do problema.
Vamos varrer um intervalo [, ] procurando quando os valores de f sejam
menores que um erro escolhido. Pela discussao feita acima sobre o chamado
paradoxo de Aquiles, n ao vale a pena procurar quando f(x) = 0, porque a
probabilidade de que Aquiles encontre a tartaruga, e a mesma de encontremos
x tal que f(x) = 0, e muito pequena praticamente nula.
CAP

ITULO 2. RA

IZES APROXIMADAS 38
Como no caso de Aquiles, e melhor procurar saber quando tivermos passado
pela tartaruga:
|f(x)| > (2.28)
Um primeiro programa seria:
x =

n
[1]
x = [1]
enquanto (x < ) [2]
{
se (|f(x)| < ) escreva x, f(x); [3]
x = x + x [4]
}
Este livro n ao pode oferecer-lhe tecnicas de programa cao, sem fugir dos seus
objetivos, mas algumas sugestoes podem ser encontradas aqui. Uma delas e
b asica: construa programas que executem tarefas especcas 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 ecientes consiste em partir de um programa
como este que est a acima e ir acrescentando ao programas novas rotinas. Mesmo
neste caso vale a observa cao anterior: teste as rotinas separadamente antes de
inclu-las no programa.
Esta metodologia se presta para o trabalho em equipe.
Descri cao das etapas do programa
1. valores iniciais para as vari aveis
2. a logica que controla o la co
3. o teste para encontrar as razes aproximadas
4. a progress ao aritmetica que dene 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) = x
2
no intervalo [1, 1]
Rodamos um programa que implementa o algoritmo acima. O programa
solicita os pontos inicial e nal 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
CAP

ITULO 2. RA

IZES APROXIMADAS 39
> Forneca-me o intervalo [a,b] para busca de raizes:
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
=================================================
> Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[-0.100000,0.000000]
valor de f no ponto -0.100000 --> 0.010000
valor de f no ponto 0.000000 --> 0.000000
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 acha dois intervalos onde h a valores aproximados para a raiz
da fun c ao, e escreve o valor de f em cada extremo do intervalo:
[0.1, 0]
[0, 0.1]
Aqui voce j a pode ver uma diculdade na determinac ao de razes aproxi-
madas, 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 separa cao das razes . O nome n ao e dos
melhores porque, como voce ve, acima, n ao h a duas razes e sim uma unica
que foi apresentada como aparecendo em dois intervalos consecutivos.
A gura (g. 2.4) p agina 40, pretende ilustrar o problema descrito no
exemplo. Uma malha muito na levar a o programa a encontrar v arios
pontos que satisfazem a desigualdade.
Este e um dos principais problemas em C alculo Numerico: n os n ao sabe-
mos 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 modicarmos
o programa com x =
Forneca-me o intervalo [a,b] para busca de raizes:
a = -1 b = 1
CAP

ITULO 2. RA

IZES APROXIMADAS 40
f
|y| < r
Figura 2.4: V arios representantes da unica raiz
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.3
Precisao da malha: 0.300000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon < 0.5
0.001
Erro : 0.001000
=================================================
Aperte <enter> para continuar
Nenhuma raiz foi encontrada no intervalo dado !
Rode, novamente, o programa, com passo mais fino...
Desta vez o programa n ao conseguiu encontrar nenhuma raiz, observe por-
que.
Como escolhemos x = 0.3 ele analisou os intervalos
[1, 0, 7], [0.7, 0.4], [0.4, 0.1], [0.1, 0.2], ...
e em cada um deles vericou se nos extremos |f(x)| < ;
os testes falharam nos extremos em todos os casos porque somente
no interior do intervalo [0.1, 0.2] e que poderia ter dado certo.
Veja o resultado se agora rodarmos o programa com x = 0.1
Forneca-me o intervalo [a,b] para busca de raizes:
CAP

ITULO 2. RA

IZES APROXIMADAS 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 inter-
valo [0.1, 0].
2. razes de f(x) = x
5
+x
4
+x
3
+x
2
+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]
CAP

ITULO 2. RA

IZES APROXIMADAS 42
valor de f no ponto -1.020002 --> -0.062463
valor de f no ponto -1.010002 --> -0.030613
Raiz provavel da funcao no intervalo
[-1.010002,-1.000002]
valor de f no ponto -1.010002 --> -0.030613
valor de f no ponto -1.000002 --> -0.000006
Raiz provavel da funcao no intervalo
[-1.000002,-0.990002]
valor de f no ponto -1.000002 --> -0.000006
valor de f no ponto -0.990002 --> 0.029401
Raiz provavel da funcao no intervalo
[-0.990002,-0.980002]
valor de f no ponto -0.990002 --> 0.029401
valor de f no ponto -0.980002 --> 0.057650
Raiz provavel da funcao no intervalo
[-0.980002,-0.970002]
valor de f no ponto -0.980002 --> 0.057650
valor de f no ponto -0.970002 --> 0.084781
Raiz provavel da funcao no intervalo
[-0.970002,-0.960002]
valor de f no ponto -0.970002 --> 0.084781
valor de f no ponto -0.960002 --> 0.110833
Esta func ao tem uma unica 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
CAP

ITULO 2. RA

IZES APROXIMADAS 43
valor de f no ponto -0.990002 --> 0.029401
O programa conseguiu isolar um unico intervalo com uma raz aproximada.
Os exemplos acima mostram as diculdades que temos para resolver o pro-
blema de encontrar as razes de uma fun cao usando varreduras. Depois veremos
que, com tecnicas mais renadas, poderemos evitar estes erros.
Porem os programas podem ainda, deixar de encontrar razes, mesmo que
elas existam o que nos obriga a monitorar o funcionamento dos programas para
dirigir a busca a partir dos resultados indicados.
Exerccios 5 Procurando razes com varreduras
1. Leia o programa raizes01.c. Logo no incio o programa traz instru c oes
de como compilar e rodar um programa.
2. Voce pode repetir as experiencias registradas aqui rodando o programa
raizes01.c. A fun c ao cujas razes est ao sendo procuradas, est a denida
dentro do programa, ao nal. Troque a equa c ao para executar os seus ex-
perimentos e depois compile e rode o programa. Dentro do programa, no
incio h a instru c oes de como compilar e rodar o programa.
3. Rode raizes01.c com f(x) = x
2
no intervalo [3.2, 3] com passo 0.3
e erro m aximo 0.001. O programa vai dizer-lhe que nenhuma raiz foi
encontrada. Analise por que ?
4. Rode raizes01.c com f(x) = x
2
no intervalo [3, 3] com passo 0.3 e erro
m aximo 0.001. Agora o programa vai encontrar um intervalo onde h a uma
raiz.
5. Rode raizes01.c com f(x) = x no intervalo [3.2, 3] com passo 0.3 e erro
m aximo 0.05. O programa vai dizer-lhe que nenhuma raiz foi encontrada.
Analise por que ?
6. Rode raizes01.c com f(x) = x
2
no intervalo [3, 3] com passo 0.05 e
erro m aximo 0.01. O programa vai encontrar v arios sub-intervalos onde
h a razes.
Nos exerccios, a busca de razes, com uma mesma fun cao um programa
produz diversos resultados. A gura (2.4) oferece uma boa descri cao geometrica
para este problema:
uma malha com passo muito no e com erro (modulo m aximo) relativa-
mente muito grande, apresenta v arios n os em que a desigualdade e veri-
cada;
se o erro, (modulo m aximo) for relativamente muito pequeno nenhum dos
n os da malha vai satisfazer a desigualdade.
CAP

ITULO 2. RA

IZES APROXIMADAS 44
Observe que usei o adverbio relativamente para qualicar os adjetivos
grande ou pequeno porque as grandezas sao relativas a algum referencial. Voce
talvez precise de fazer algumas experiencias com o programa raizes01.c para
compreender o problema descrito nesta se cao.
Na pr oxima se cao vamos encontrar uma sada para esta diculdade.
2.2 Razes analisando a troca de sinal
Acima analisamos a busca de razes apenas testando quando o valor de f(x)
fosse pequeno:
|f(x)| < (2.29)
Vamos mostrar, como um exemplo, que isto pode ser insuciente.
2.2.1 Analise do programa raizes01.c
Veja o que acontece com a fun cao f(x) = x ao rodarmos o programa raizes01.c.
Forneca-me o intervalo [a,b] para busca de raizes:
a = -3.2
b = 3
Sua busca de raizes no intervalo [ -3.2.000000 , 3.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta < 0.5
delta = 0.3
Precisao da malha: 0.30000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon < 0.5
0.001
Erro : 0.001000
=================================================
Aperte <enter> para continuar
Nenhuma raiz foi encontrada no intervalo dado !
Rode, novamente, o programa, com passo mais fino...
O programa n ao encontrou
|f(x)| < 0.001
no intervalo considerado.
Em vez de procurar por um valor pequeno de |f(x)| e portanto depender da
relatividade do tamanho que se vai procurar, vamos vericar quando a fun cao
troca de sinal.
CAP

ITULO 2. RA

IZES APROXIMADAS 45
Este metodo nos livra do relativismo
2
. Quando uma fun cao contnua trocar
de sinal em um intervalo, neste intervalo h a um ponto (pelo menos) em que a
fun cao vai se anular.
Se introduzirmos esta pequena melhora no programa ele ir a 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
[1]
x = [1]
enquanto (x < ) [2]
{
se (|f(x)| < ) ou (f(x)f(x + x) 0 )
{escreva x, f(x)}; [3]
x = x + x [4]
}
Comentando as etapas do programa
1. valores iniciais para as vari aveis
2. a logica que controla o la co
3. o teste para encontrar as razes aproximadas tanto a verica se m odulo de
f e pequeno:
|f(x)| <
como tambem verica se f troca de sinal no intervalo:
f(x)f(x + x) 0
O operador logico ou pesca se uma destas condi coes for satisfeita.
4. a progress ao aritmetica que dene os n os da malha
Veja o resultado deste programa mais especializado:
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.15
Precisao da malha: 0.150000
2
tamanho e um conceito relativo, depende de um referencial...
CAP

ITULO 2. RA

IZES APROXIMADAS 46
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon < 0.5
0.001000
Erro : 0.001000
=================================================
Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[-0.150000,0.000000]
valor de f no ponto -0.150000 --> -0.150000
valor de f no ponto 0.000000 --> 0.000000
Raiz provavel da funcao no intervalo
[0.000000,0.150000]
valor de f no ponto 0.000000 --> 0.000000
valor de f no ponto 0.150000 --> 0.150000
O programa achou dois intervalos, num deles a fun cao troca de sinal, no outro
a fun cao e pequena. Veja outro exemplo:
Forneca-me o intervalo [a,b] para busca de raizes:
a = -2
b = 2
Sua busca de raizes no intervalo [ -2.000000 , 2.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta < 0.5
delta = 0.15
Precisao da malha: 0.150000
Forneca-me o erro epsilon :
Sugestao 0.01 < epsilon < 0.5
0.01
Erro : 0.010000
=================================================
Aperte <enter> para continuar
Raiz provavel da funcao no intervalo
[-0.050000,0.100000]
valor de f no ponto -0.050000 --> -0.050000
valor de f no ponto 0.100000 --> 0.100000
Bastou que trocassemos os pontos inicial e nal do intervalo de busca para
que o programa identicasse um unico intervalo onde ha raz da fun cao. Moni-
torando o programa conseguimos obter um resultado preciso.
Se voce n ao souber programar, ou nao tiver acesso a um computador, se
tudo que voce tiver for uma m aquina de calcular, o algoritmo analisando a
troca de sinal e o ideal. Depois de vericar num intervalo grande que f troca
CAP

ITULO 2. RA

IZES APROXIMADAS 47
de sinal, voce pode renar 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 instru c oes
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-denidos que voce pode aproveitar na primeira
vez que rodar o programa.
3. Leia o coment ario (30) e elimine o teste do m odulo m aximo. Verique
que alguma raiz pode ser perdida, dependendo da equa c ao que voce estiver
usando. Experimente v arios tipos de equa c oes. 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... fa ca suas experiencias.
2.3 Raiz do tipo secantes
Falamos na troca de sinal para encontrar razes de fun c oes. A forma classica
e o metodo das secantes que vamos estudar mais a frente. Como prepara c ao
para os metodos cl assicos vou fazer uma an alise dos tipos de razes que irei
classicar como do tipo secante e do tipo tangente. Primeiro vamos discutir
as razes do tipo secante.
Vamos nos aprofundar na an alise de quando uma fun cao se anula. S ao
desaos interessantes que temos pela frente. Os gr acos podem ter curvas e
neste caso encontrar as razes exige mais domnio do assunto.
Observe o que nos diz a gura (g. 2.5) p agina 48,
O gr aco da fun cao f corta o eixo OX em dois pontos.
Raz por tangencia Uma desta razes e do tipo tangente, veja o gr aco,
(g. 2.5).
O gr aco de f tangencia o eixo OX, no ponto x
1
e corta o eixo OX no
ponto x
2
.
x
1
e um ponto de tangencia, uma raiz em que
f

(x
1
) = 0. (2.30)
e n ao seria possvel obter esta raz pelo metodo das secantes neste
ponto porque neste ponto (nesta raz) f n ao troca de sinal. Aparen-
temente a unica forma de encontrar esta raz e usando o teste
|f(x)| < (2.31)
Num ponto de tangencia, como x
1
, o gr aco pode ser comparado
com o gr aco de uma parabola em que f << x. O smbolo <<
CAP

ITULO 2. RA

IZES APROXIMADAS 48
f
Esta raz possvel
de se determinar pelo
mtodo das secantes
raz aproximada
obtida pelo mtodo
das secantes
mtodo das secantes
de se obter pelo
raz impossvel
x
1
x
2
Figura 2.5: O metodo das secantes
se le muito menor do que. A tal ponto f << x que o quociente

x1
(f) =
f
x
tem limite zero, quando x representar o zero
3
. A
derivada e zero. Vou tratar deste caso na proxima se cao. Vamos
ver que existe outra maneira de encontrar esta raiz sem ser com a
desigualdade
|f(x)| < (2.32)
que j a sabemos que e problematica porque depende de valor relati-
vamente pequenos, coisas com que programas nao podem lidar de
forma efetiva.
Raz por sec ancia o ponto x
2
e um ponto de secancia do graco com
o eixo OX e vou me especializar neste caso agora.
A outra raz e do tipo secante, o graco graf(f) corta o eixo OX de
forma semelhante a uma reta, neste ponto (nesta raz) f troca de sinal.
Aqui o teste
|f(x)| < (2.33)
funciona mal porque e difcil comparar o tamanho de |f(x)| com o tamanho
de x e desta forma ca difcil denir um erro adequado.
3
ou, como ainda se diz, quando x tender a zero
CAP

ITULO 2. RA

IZES APROXIMADAS 49

E hora de observar que igualdades e desigualdades sao sempre difceis de


serem obtidas com programas, e a razao est a descrita acima, a diculdade
de comparar tamanhos.

E mais simples e pr atico usarmos o teste da troca de sinal


f(x)f(x + x) 0 (2.34)
porque se o zero x
2
[x, x+x] entao f tera sinais diferentes nos extremos
do intervalo.
2.3.1 Metodo da secante
O chamado metodo da secante consiste em substituir o gr aco de f, num inter-
valo em que haja troca de sinal, pela reta secante obtida com os valores de f
nos extremos do intervalo.
Nota cao: Vamos designar por [a, a +x] um intervalo que descobrimos
4
em
que f troca de sinal.
Veja o gr aco (g. 2.5), p agina 48, e observe o ponto x
2
. Na gura estou
salientando que a raiz da equa cao do primeiro grau que representa a reta secante,
e uma aproxima cao da raiz de f.
Queremos obter a raiz da fun cao do primeiro grau cujo gr aco passa no
pontos
(a, f(a)), (a + x, f(a + x)) (2.35)
entao precisamos da equa cao da reta que passa por estes dois pontos. Relem-
brando a equa cao da reta que passa num ponto com coeciente angular m dado
chegamos ` a equa cao que nos interessa:
m =
f(a+x)f(a)
a+xa
=
f(a+x)f(a)
x
=
af
x
(2.36)
y f(a) = m(x a) (2.37)
fazendo y = 0 em y f(a) = m(x a) (2.38)
y = 0 x a =
f(a)
m
(2.39)
s
0
= a
f(a)
m
(2.40)
a raz aproximada que estamos procurando e
s
0
= a
f(a)
m
(2.41)
4
N ao se esque ca de que chegamos ate aqui dentro de um programa que fez uma var-
redura apenas testando troca de sinal e agora vamos entrar numa sub-rotina chamada
procura raiz secante()
CAP

ITULO 2. RA

IZES APROXIMADAS 50
Nao se perca com a mudan ca de nota cao.
Chegamos aqui, olhe a gura (g. 2.5), pagina 48, porque sabemos que existe
um ponto designado por x
2
que e a raiz exata que gostariamos de encontrar.
Resolvemos uma equa cao do primeiro grau para encontrar a raz da reta secante
e estamos chamando s
0
ao primeiro ponto de uma sucessao de pontos que
esperamos que convirjam para a raz
s
n
x
2
(2.42)
x
2
e o limite da sucess ao s
n
Ao iterarmos este processo vamos criar a sucessao (s
n
) referida acima. Pre-
cisamos re-escrever as equa coes acima alterando a nota cao de forma a sermos
conduzidos a uma expressao (matematica) adequada. Depois vou transformar
as equa coes matem aticas no algoritmo computacional que e muito mais simples,
e se voce preferir (n ao deve) pode saltar direto para o algoritmo computacional.
Repetindo (e alterando a nota cao) temos:
a
0
= a; b
0
= a
0
+ x; m
0
=
f(b
0
) f(a
0
)
b
0
a
0
(2.43)
y f(a
0
) = m
0
(x a
0
) (2.44)
y = f(a
0
) +m
0
(x a
0
) (2.45)
y = 0 s
0
a
0
=
f(a0)
m0
(2.46)
(2.47)
uma raz aproximada inicial
s
0
= a
0

f(a
0
)
m
0
(2.48)
a unica modica cao foi que designamos por m
0
o coeciente angular da reta
secante no intervalo onde (o programa) detectou a troca de sinal, e usamos a
0
, b
0
para representar os extremos do intervalo inicial, porque isto vai uniformizar a
nota cao.
Leia com calma e ver a 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 constru cao do algoritmo.
O ponto s
0
associado ao coeciente angular m
0
, divide o intervalo
[a
0
, b
0
]
em dois sub-intervalos
[a
0
, s
0
] , [s
0
, b
0
] (2.49)
CAP

ITULO 2. RA

IZES APROXIMADAS 51
certamente h a uma troca de sinal em um destes intervalos porque havia
troca de sinal no intervalo primitivo
[a
0
, b
0
]; (2.50)
Problema
Pode haver mais de uma troca de sinal e isto pode representar um compli-
cador para o algoritmo, o programa pode simplesmente se perder em buscas
indenidas... Logo diremos como podemos controlar este problema.
Mas vamos supor a situa cao mais benigna
a
e para depois procurar melhores
algoritmos.
a
e a tecnica que estamos utilizando, montamos a teoria usando os casos simples, depois
iremos test a-la e procurar algoritmos mais robustos
Testamos a troca de sinal e no intervalo onde ela se vericar, tra camos
5
nova reta secante usando os extremos para determinar agora o ponto s
2
da sucess ao:
a
0
= a; b
0
= b; (2.51)
Se f(a
0
)f(s
0
) 0 (2.52)
entao b
1
= s
0
; a
1
= a
0
; (2.53)
senao b
1
= b
0
; a
1
= s
0
; (2.54)
m
1
=
f(b1)f(a1)
b1a1
(2.55)
y = r
1
(x) = f(a
1
) +m
1
(x a
1
)
y=0
(2.56)
x = s
1
= a
1

f(a1)
m1
(2.57)
iteramos este processo para encontrar
a
n
, b
n
, m
n
=
f(bn)f(an)
bnan
(2.58)
y = r
n
(x) = f(a
n
) +m
n
(x a
n
)
y=0
(2.59)
x = s
n
= a
n

f(an)
mn
(2.60)
ate que o teste
|f(s
n
)| <
em que e a precisao com que desejamos calcular a raz.
5
n ao tra camos nada, apenas calculamos a raz da equa cao do primeiro grau
CAP

ITULO 2. RA

IZES APROXIMADAS 52
Observa cao 3 Voce pode fazer isto com calc
A linguagem de programac ao calc e injustamente chamada de C interpre-
tado, e uma outra linguagem de programa c ao que tem uma precis ao innita,
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 fun c ao. Depois
que voce rodar o script do calc, volte e releia as contas matem aticas que v ao
da equac ao (51) ate a equac ao (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;} else {a1 = s0; b1 = b0;};
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;} else {a2 = s1; b2 = b1;};
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;} else {a3 = s2; b3 = b2;};
m3 = (f(b3)-f(a3))/(b3 - a3);
s3 = a3 - f(a3)/m3;
print s3;
-4.00014094678986900281
CAP

ITULO 2. RA

IZES APROXIMADAS 53
if (f(a3)*f(s3) <= 0 ) { b4 = s3; a4 = a3;} else {a4 = s3; b4 = b3;};
m4 = (f(b4)-f(a4))/(b4 - a4);
s4 = a4 - f(a4)/m4;
print s4;
-4.00001637370536391669
A nota cao matem atica tem que passar por pelas quatro sucess oes
(a
n
)
n
, (b
n
)
n
, (m
n
)
n
, (s
n
)
n
que ir ao denir os novos sub-intervalos que iremos encontrar.
A nota cao computacional nos permite calcular as razes, com um programa,
e a nota cao matem atica nos permite provar que ela existe.
S ao duas coisas distintas e somente podemos rodar programas se pudermos
provar que eles chegarao em algum resultado. O contr ario e in ocuo.
No captulo 0 vamos discutir melhor os metodos matem aticos que determi-
nam 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 come car a ler sobre este outro assunto. O livro est a departa-
mentalizado por uma quest ao de organiza cao, mas voce nao precisa car preso
a estas paredes.
Vou transformar o metodo matem atico no algoritmo computacional, ate
mesmo porque voce podera rodar o algoritmo e isto lhe servir a de motiva cao
para entender melhor o metodo matem atico.
O algoritmo do metodo da secante
Comece analisando a gura (2.6) p agina 54, que e um uxograma, um planeja-
mento visual que fazemos antes de escrever um programa.
No centro da gura (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)
que e uma mistura de Matematica e computa cao.
Numa linguagem de computa cao deveria
6
estar
(abs(f(a)) > epsilon)
Tambem n ao aparecem s
n
porque numa linguagem de programa cao os valores
se encontram em mem orias cujos endere cos est ao associados a vari aveis, e e isto
que o programador deve ver os nomes das vari aveis (e n ao o endere co onde os
dados est ao guardados).
6
em Pascal a fun c ao valor absoluto e abs(), em C e fabsf()
CAP

ITULO 2. RA

IZES APROXIMADAS 54
s a raz de r
[a,b]
f troca de sinal em
| f(a) | > epsilon
V F
a a raz
aproximada
com erro epsilon
Mtodo da secante
m = (f(b)f(a))/(ba)
r(x) = f(a) + m(x a)
f(s)f(a)<=0
V
F
b=s
a=s
Figura 2.6: Fluxograma - metodo da secante
Entramos no algoritmo quando descobrimos que ha uma troca de sinal no
intervalo [a, b] e calculamos, sucessivamente, m, r(x), s.
Somos levados agora ao teste que vai decidir em que intervalo ha nova
troca de sinal
f(s)f(a) <= 0 (2.62)
Um novo intervalo, onde se verica a troca de sinal, e calculado:
O teste resultando em verdadeiro o programa vai colocar o valor s
na mem oria apontada pela variavel b.
Se o teste resultar em falso o programa vai colocar o valor s na
mem oria apontada pela variavel a.
Neste escolha a vari avel que nao foi usada ca com o seu valor primitivo.
Este novo intervalo continua sendo designado por [a, b] e se o teste de
parada do algoritmo, na equa cao (62), resultar em verdadeiro novo ciclo
vai ser efetuado. Se for falso signica que a precisao esperada ja foi
atingida e portanto o algoritmo para.
CAP

ITULO 2. RA

IZES APROXIMADAS 55
O programa escolhe quem vai ser indicada como raz aproximada, se e a,
ou s ou b, ou como em alguns dos nossos programas
a +b
2
pura quest ao de gosto do programador. Se o programador for mais exi-
gente aplicaria o teste da (62) a estes quatro candidatos para escolher
aquele que ofere ca uma precisao maior.
Matematica do Metodo da secante
Vamos repetir de forma suscinta, tanto os calculos matem aticos como o algo-
ritmo computacional nesta se cao e na pr oxima.
Para construir a formula cao matem atica do metodo, vou mais uma vez re-
tomar a sequencia de equa coes em que calculei a raiz, alterando novamente a
nota cao. Repetindo (e alterando a nota cao) temos:
[a, a + x] = [a
0
, b
0
] (2.63)
x
0
= b
0
a
0
(2.64)
m
0
=
f(b0)f(a0)
x0
(2.65)
y f(a
0
) = m
0
(x a
0
) (2.66)
y = f(a
0
) +m
0
(x a
0
) (2.67)
y = 0 s
0
= a
0

f(a0)
m0
(2.68)
a primeira vers ao da raz aproximada que achamos foi
s
0
= a
0

f(a
0
)
m
0
(2.69)
Agora determinamos em qual dos sub-intervalos h a troca de sinal (se houver
nos dois
7
, o programa tera que se lembrar disto para fazer nova busca no outro
interval):
f(a
0
)f(s
0
) 0 ; f(s
0
)f(b
0
) 0 (2.70)
Vou simplicar a reda cao sob a suposi cao de que apenas um destes produtos
e negativo (mas ca claro que e uma simplica cao e que o programa tem que ir
em busca da outra possibilidade).
se (f(a
0
)f(s
0
) 0)[a
1
, b
1
] = [a
0
, s
0
] (2.71)
senao [a
1
, b
1
] = [s
0
, b
0
] (2.72)
7
observe que isto signica que h a mais de uma raiz no intervalo
CAP

ITULO 2. RA

IZES APROXIMADAS 56
o que nos levar a a denir m
1
e s
1
[a
1
, b
1
] (2.73)
x
1
= b
1
a
1
(2.74)
m
1
=
f(b1)f(a1)
x1
(2.75)
y f(a
1
) = m
1
(x a
1
) (2.76)
f(a
1
) = m
1
(x
1
a
1
) (2.77)
s
1
= a
1

f(a1)
m1
(2.78)
(2.79)
achamos assim a segunda vers ao da raz aproximada
s
1
= a
1

f(a
1
)
m
1
(2.80)
Podemos provar, usando indu cao nita, que
s
n
= a
n

f(a
n
)
m
n
(2.81)
denindo as quatro sucess oes,
a
k
, b
k
, m
k
=
f(b
k
) f(a
k
)
b
k
a
k
, s
k
= a
k

f(a
k
)
m
k
(2.82)
Algoritmo do Metodo da secante
A nota cao computacional e mais simples. Vamos usar a mesma tecnica, copiando
a equa cao e alterando a nota cao. Repetindo (e alterando a nota cao) 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 (2.83)
m =
f(b)f(a)
ba
(2.84)
y f(a) = m(x a) (2.85)
y = 0 x a =
f(a)
m
(2.86)
x = a
f(a)
m
(2.87)
a raz aproximada que estamos procurando, no primeiro passo e
x = a
f(a)
m
(2.88)
e agora tomamos a decis ao sobre a nova troca de sinal
CAP

ITULO 2. RA

IZES APROXIMADAS 57
f(a)f(x) 0 [a, b] = [a, x] (2.89)
f(x)f(b) 0 [a, b] = [x, b] (2.90)
e seguimos no la co com as vari aveis tendo assumido os novos valores. Sera
preciso um condicional para que o processo pare. Isto pode ser feito de duas
maneiras:
com um contador estipulando-se o n umero m aximo de itera coes;
testando em cada passo a precisao da raiz aproximada obtida.
O programas raizes013.c faz isto e mais a frente vamos oferecer-lhe uma
lista de exerccios voltada para fazer experimentos com o programa.
2.4 A raiz num ponto de tangencia
Vamos agora estudar como podemos descobrir a raiz quando ela for um ponto em que a
fun c ao tangencia o eixo OX. O metodo consiste em usar a troca de sinal da derivada. Vou
come car mostrando alguns exemplos gr acos para ilustrar as diculdades 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 gura (g. 2.5) p agina 48 e a referencia para as experiencias que vamos
come car fazendo, nela h a uma raiz num ponto de tangencia do gr aco 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 fun c ao
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-denidos que ele tem (de enter em todas as perguntas do programa).
Analise o resultado.
2. Rode novamente o programa usando os valores pre-determinados, entre-
tanto responda com o valor 0.1 para a precis ao (quando o programa
solicitar o valor da vari avel epsilon). Observe que o resultado cou di-
ferente.
3. Rode novamente o programa usando os valores pre-determinados, mas es-
colha um valor grande para a norma da parti c ao. Sugest ao x = 1.
CAP

ITULO 2. RA

IZES APROXIMADAS 58
Comentando os resultados do programa nas experiencias que voce fez usando
os valores pre-deteminados no programa.
Quando = x o programa encontrou diversas razes que na verdade re-
presentam a mesma raiz exata x = 3. Veja uma replica dos resultados
do programa captados
8
por um editor de textos:
Forneca-me o intervalo [a,b] para busca de raizes:
a =
b =
Forneca-me o passo delta da malha para a busca:
Sugest~ao 0.01 < delta < 0.5
delta =
Forneca-me o erro epsilon (modulo maximo) :
Sugest~ao 0.01 < epsilon < 0.5
epsilon =
Sua busca de razes no intervalo [-5.000000 , 5.000000]
Precis~ao da malha: 0.100000
Erro (modulo maximo): 0.100000
=================================================
Aperte <enter> para continuar
Raz provavel da func~ao 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
Raz provavel da func~ao 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
Raz provavel da func~ao 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
Raz provavel da func~ao 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 representa cao para cada uma das razes existentes:
8
o editor de textos joe, permite que voce rode programa dentro dele e consequentemente
pode captar os resultados do programa
CAP

ITULO 2. RA

IZES APROXIMADAS 59
Forneca-me o intervalo [a,b] para busca de raizes:
a =
b =
Forneca-me o passo delta da malha para a busca:
Sugest~ao 0.01 < delta < 0.5
delta = 0.3
Forneca-me o erro epsilon (modulo maximo) :
Sugest~ao 0.01 < epsilon < 0.5
epsilon = 0.1
Sua busca de razes no intervalo [-5.000000 , 5.000000]
Precis~ao da malha: 0.300000
Erro (modulo maximo): 0.100000
=================================================
Aperte <enter> para continuar
Raz provavel da func~ao 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
Raz provavel da func~ao 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 verique se a fun c ao escolhida e f(x) =
(x + 3)(x + 3)(x 2). Se n ao for selecione
9
esta fun c ao cujo gr aco e
semelhante ao da gura (g. 2.5).
2. Leia o programa raizes012.c. Ele e uma altera c ao de raizes011.c.
Leia tambem os coment arios dentro do programa. Compile e rode o pro-
grama usando os valores predenidos no programa. O programa escolhe,
ele mesmo, o valor da precis ao , verique isto. Veja o coment ario (41)
do programa, veja como foi calculado .
3. O programa, como os valores pre-denidos, encontrou as razes 3, 2.
Teste o programa com valores diferntes para a norma da malha.
4. Rode raizes012.c alterando a equa c ao de f para f(x) = (x 1)
2
(1 +
7(x + 1)
2
). Observe que esta equa c ao 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 co-
ment ario // na frente, n ao precisa apagar
CAP

ITULO 2. RA

IZES APROXIMADAS 60
5. Teste o programa com outras equa c oes e nestes casos altere o intervalo de
busca. Isto pode ser feito dentro do programa ou respondendo ` as perguntas
que o programa zer.
Vamos entender o metodo utilizado no programa raizes012.c. Num ponto
de tangencia com o eixo OX a derivada troca de sinal e podemos nos aproveitar
disto para encontrar a raiz evitando a perigosa compara cao
|f(x)| < . (2.91)
Analise a gura (g. 2.7), p agina 60. Vamos tirar algumas informa coes desta
gura.
No ponto a temos uma raz do tipo tangente,
e marcamos dois pontos, a, a+, anterior e posterior
10
, ao ponto a,
zemos os gr acos das retas tangentes em (a, f(a)), e (a+, f(a+)).
f
a
a
a+
reta tangente positivo
O coeficiente angular da
reta tangente negativo
O coeficiente angular da
Figura 2.7: Num ponto de tangencia, tipo parab olico
Voce pode ver que antes e depois do ponto de tangencia, o coeciente
angular da reta tangente tem sinais diferentes:
sinal(
a
(f)) = sinal(
a+
(f)) (2.92)
sinal(
f
x
|
a
) = sinal(
f
x
|
a+
) (2.93)
10
a, a+ s ao nota c oes padr ao em Matem atica para representar pontos anterior e posterior
ao ponto a
CAP

ITULO 2. RA

IZES APROXIMADAS 61
Como x > 0 entao
11
podemos comparar apenas os numeradores
12
. Ana-
lisaremos 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)
para vericar se e um ponto de tangencia de tipo parabolico.
Se for uma tangencia do tipo ponto de inex ao o programa continuara
fazendo o teste de troca de sinal de f.
Caracterizamos estes dois tipos de razes, veja a gura (g. 2.5), como
raiz tangente, e o que acontece no ponto x
1
em que o gr aco da fun cao
tangencia o eixo OX;
raiz secante, e o que acontece no ponto x
2
em que o gr aco da fun cao
corta o eixo OX. Fica includa, aqui o caso de tangente com ponto de
inex ao.
raiz tangente - num ponto de inex ao vamos trat a-lo como um ponto de
sec ancia porque nele a fun cao troca de sinal.
Vamos agora observar o que acontece no gr aco representado na gura (g.
2.8) p agina 62,
Neste gr aco a gura nos mostra dois pontos em que a derivada se anula,
mas apenas o ponto x
2
e o que nos interessa.
Entao foi preciso incluir no programa raizes012.c um teste complementar
ao teste de troca de sinal da derivada.
Tanto em x
1
, como em x
2
, na (g. 2.8), a derivada troca de sinal. Mas
apenas em x
2
a fun cao e pequena.
Este e o resultado do exerccio em que lhe foi pedido que rodasse o programa
com a fun cao
f(x) = (x 1)
2
(1 + 7(x + 1)
2
).
O gr aco desta fun cao se assemelha ao gr aco na gura (g. 2.8). Voce pode
obter este gr aco usando Gnuplot, n ao se esque ca de usar o comando
set xrange [-4:3]
para instruir Gnuplot a considerar o gr aco sobre o intervalo [4, 3] am de que
voce consiga ver alguma coisa interessante. Se voce n ao zer isto ele vai usar o
intervalo padr ao, [10, 10].
Vimos assim o metodo para separar estas duas situa coes dentro de uma
an alise autom atica (dentro de um programa). O algoritmo ir a fazer os dois testes
em cada ponto da varredura, ir a aceitar o ponto x
2
como uma raiz aproximada
e descartar o ponto x
1
. Estamos nos referindo ainda ` a gura (g. 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 voce tem a tecnica prometida no captulo das derivadas, em vez de usarmos derivada,
estamos usando derivada aproximada
CAP

ITULO 2. RA

IZES APROXIMADAS 62
x
x
1
2
A derivada se anula
no ponto x mas ele no
1
uma raiz
Aqui a derivada se anula
e tambm uma raiz
Figura 2.8: Quando a derivada e zero
Exerccios 9 1. Leia o programa raizes013.c e identique onde o pro-
grama verica a troca de sinal de f e da derivada.
2. Rode o programa com cada uma das tres fun c oes denidas no programa.
Com os dados pre denidos os resultados n ao s ao muito bons, aumente a
precis ao da malha em experiencias sucessivas.
3. Dena novas func oes para testar o programa.
2.5 O metodo da tangente
Vamos estudar o metodo da tangente para determina c ao aproximada da raz de uma fun c ao.
Evite confundir-se, nas se c oes 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 metodo da
tangente para determinar razes.

E natural observar, pese o trocadilho, que o metodo da tangente serve para encontrar razes
(do tipo) tangente. . .
S ao duas coisas diferentes os tipos como classicamos as raizes, tangente, secantes e os
metodos cl assicos, com estes nomes, para determinar razes, metodo da tangente, que vamos
estudar agora e metodo da secante que usamos rapidamente na se c ao anterior. Come caremos
por mostrar as limita c oes do metodo. A crtica se encontra no contexto, ao iniciarmos o
captulo chamamos sua aten c ao para a diculdade de resolver o problema que nos ocupa
aqui, estamos apenas ressaltando, em cada momento as diculdades que aparecem.
O plano do trabalho:
CAP

ITULO 2. RA

IZES APROXIMADAS 63
Come caremos mostrando um exemplo em que o metodo funciona,
depois um exemplo em que ele n ao pode funcionar.
Vamos transformar o metodo em um programa de computador e encontrar
algumas razes. Voce podera rodar o programa e experimentar o resultado.
Finalmente vamos discutir em que condi coes (hip oteses) o metodo da tan-
gente pode ser aplicado e um programa de computador em que ele e usado
intensivamente junto com o metodo da secante.
2.5.1 Como funciona o metodo das tangentes
Veja as guras (g. 2.9) p agina 63 que nos mostram como funciona o metodo.
f
raz exata
raz aproximada
obtida por uma tangente
A raz
exata
esta
Razes aproximadas
por retas tangentes
f
Figura 2.9: Uma sequencia de retas tangentes...
CAP

ITULO 2. RA

IZES APROXIMADAS 64
Com uma sequencia de retas tangentes vamos encontrar uma sequencia de
pontos x
0
, x
1
, . . . que se aproximam de uma raz, a sequencia converge para a
raz da fun cao f.
Descri cao do metodo:
Ponto inicial Escolhemos um ponto inicial x
0
e nele tra camos uma reta
tangente ao gr aco de f;
Ponto inicial o metodo somente se aplica em razes do tipo secante ou
do tipo tangente portanto temos que encontrar um intervalo em que haja
troca de sinal de f ou de f

. O ponto inicial a
0
e um dos extremos deste
intervalo de troca de sinal;
Segundo ponto Escrevemos a equa cao da reta tangente em (a
0
, f(a
0
)) e
cuja raiz encontramos, este e o ponto s
0
da sucessao;
Iteramos o processo, tra cando a reta tangente ao graco de f no ponto
(s
0
, f(s
0
)), resolvendo a nova equa cao do primeiro grau correspondente a
esta nova reta tangente encontrando assim s
2
, s
3
, . . . , s
n
A sucess ao (s
n
)
n>0
converge para uma raiz de f
s
n
s a raz exata (2.95)
f(s
n
) f(s) = 0 (2.96)
f(s
n
) 0 (2.97)
e s
n
e uma raiz aproximada de f.
No algoritmo, que acabamos de descrever, usamos a expressao escolhemos
um ponto inicial. Estamos fazendo uso de uns do metodos mais controversiais
da Matematica, a escolha. Controversial porque funciona e tambem porque
envolve uma dos problemas abertos da Matematica, o axioma da escolha.
Como escolher um elemento pr oximo de um ponto desconhecido ? Em algu-
mas circunstancias podemos provar que o metodo funciona.
2.5.2 E quando o metodo nao funciona ?
Mas vamos logo ver quando deixa de funcionar. Na gura (g. 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 ...
CAP

ITULO 2. RA

IZES APROXIMADAS 65
f
A B
A raiz da reta tangente em A B
a raiz da reta tangente em B A ...
Figura 2.10: Duas tangentes se reproduzindo indenidamente
Vemos que caimos num circulo vicioso. O programa que zermos caira em
loop innito.
Obviamente este e um exemplo raro de acontecer, ele apenas mostra que
o risco existe e uma interven cao do usuario do programa pode prevenir contra
este acontecimento com uma troca do ponto inicial. No intervalo que a gura
(2.10) exibe o problema, podemos escolher um ponto inicial diferente de A ou
B para evitar o ciclo vicioso.

E preciso incluir no programa um teto de opera coes que ao ser atingido sem
sucesso o programa sugira ao usuario alterar um pouco um dos extremos do
intervalo inicial. Voce pode ver na gura (g. 2.10) p agina 65 que uma alter cao
no valor de A faz com que a sucess ao dos zeros das retas tangentes convirja para
uma das razes.
2.5.3 Funciona com precisao, se funcionar
Considere o ponto a escolhido para tra carmos a reta tangente por (a, f(a))
A equa cao da reta tangente sendo
a
0
= a = s
0
(2.98)
y f(a
0
) = f

(a
0
)(x a
0
) (2.99)
y = 0 s
0
= a
0

f(a0)
f

(a0)
= T(a
0
) = T(s
0
) (2.100)
s
1
= s
0

f(s0)
f

(s0)
= T(s
0
) s
2
= s
1

f(s
1
)
f

(s
1
)
= T(s
1
) = T(T(s
0
)) (2.101)
(2.102)
CAP

ITULO 2. RA

IZES APROXIMADAS 66
podemos ver que a lei de forma c ao dos elementos da sucessao e
s
n
= s
n1

f(s
n1
)
f

(s
n1
)
= T
n
(s
0
) (2.103)
em que na equa cao (103) a potencia aplicada no operador T representa
repeti cao do operador aplicado no ponto inicial. Seria interessante fazer
uma primeira leitura do captulo 0, se voce ainda nao tiver feito isto, para
reconhecer que estamos lidando com expressoes recursivas.
Assim,
cada nova raz da fun cao do primeiro grau tangente, se expressa sem-
pre da mesma maneira usando a anterior,
a potencia da transforma cao T, indica o n umero de vezes que
ela foi aplicada ao ponto inicial a, fun c ao de fun c ao.


E o que chamamos de itera c oes de T. Na equa cao (eq. 103) se esta
indicando que calculamos a terceira iterada de T.
Falta-nos provar que a sucessao assim obtida se aproxima da raz exata,
ou tem algum limite.
Este e um exemplo de recursividade, semelhante ao que vamos usar no calculo
de razes, na busca binaria. .
Vamos discutir recursividade no captulo 0.
O metodo Matematico para obter demonstra coes passa pela abstra c ao das
expressoes. Suponhamos que a sucessao produzida pelas iteradas de T seja
convergente (tenha limite) e chamemos este limite de b.
Como T e uma fun cao contnua em qualquer intervalo em que a derivada de
f n ao se anule, (vamos admitir esta hipotese) temos
x
n+1
= T(x
n
) b (2.104)
como T e contnua T(b) = b = b
f(b)
f

(b)
(2.105)
b = b
f(b)
f

(b)

f(b)
f

(b)
= 0 (2.106)
como por hipotese f

(b) = 0 entao f(b) = 0 (2.107)


ou seja, a hipotese de que a sucess ao 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)
Quando isto acontece dizemos que o ponto b e um ponto fixo da fun cao T
Vamos obter uma condi cao suciente para que T tenha um ponto xo.
Come cando por relembrar a aproxima cao linear dada pela derivada, da qual
extrairemos a condi cao que desejamos.
CAP

ITULO 2. RA

IZES APROXIMADAS 67
T(b) T(a) = T

(a)(b a) +o(b a) (2.109)


|x
2
x
1
| = |T(x
1
) T(x
0
)| = |T

(x
0
)||x
1
x
0
| +o(|x
1
x
0
|) (2.110)
|x
3
x
2
| = |T(x
2
) T(x
1
)| = |T

(x
1
)||x
2
x
1
| +o(|x
2
x
1
|) (2.111)
(2.112)
|x
n
x
n1
| = |T(x
n1
) T(x
n2
)| = (2.113)
= |T

(x
n2
)||x
n1
x
n2
| +o(|x
n1
x
n2
|) (2.114)
Na (eq. 109) aplicamos a f ormula de aproxima cao linear pela derivada.
Na (eq. 110) voltamos a usar a mesma aproxima cao, mas agora, e sucessiva-
mente, nas seguintes, estamos aplicando aos elementos que foram sendo obtidos
pela itera cao do metodo das tangentes.
Como queremos que a sucess ao seja convergente, e portanto que a distancia
entre dois novos pontos seja cada vez menor, vamos impor uma semelhan ca com
as series geometricas.
Vemos que a cada dois novos pares de pontos da sucess ao surge como multi-
plicador T

(a) em que a e um dos pontos anteriores. Basta-nos que a derivada


de T seja menor do que 1 para a compara cao com as series geometricas tenha
sucesso.
Esta e a hipotese que precisamos.
Derivando T quando f for um polinomio de grau maior do que 2, temos
T(x) = x
f(x)
f

(x)
(2.115)
|T

(x)| = |
f(x)f

(x)
f

(x)
2
| (2.116)
(2.117)
A fra cao racional que aparece como derivada de T tem polinomios de mesmo
grau no denominador e no denominador: 2n 2 em que n e o grau de f com
termos lider igual
n(n 1)a
2
n
x
2n2
; n
2
a
2
n
x
2n2
(2.118)
respectivamente, no numerador e no denominador. Portanto, exceto no pontos
em que o denominador se anule e numa vizinhan ca destes pontos, a derivada
e menor do que 1 em m odulo o que far a que com que o metodo da tangente
produza iteradas que convirjam para uma raz, se alguma houver.
Demonstramos assim
Teorema 1 Metodo da tangente
Se f for uma fun c ao polinomial de grau maior do que 2, as iteradas de
T(x) = x
f(x)
f

(x)
convergem para uma raz de f
Infelizmente n ao podemos aplicar o metodo arbitrariamente. Ele tem que ser
monitorado, j a vimos um exemplo gr aco mostrando que nem sempre o metodo
funciona.
CAP

ITULO 2. RA

IZES APROXIMADAS 68
Exemplo 4 Iteradas do metodo da tangente
Dentro do Gnuplot voce pode executar a sequencia de comandos abaixo. O
resultado ser a o gr aco das sucessivas retas tangentes cujas razes se aproximam
da raz x = 1 de
f(x) = x
3
+ x
2
+x + 1
set xrange [-3:3]
f(x) = x**3 + x**2 + x + 1
df(x) = 3*x**2 + 2*x + 1
a = -2.0
reta(x) = f(a) + df(a)*(x-a)
plot reta(x),f(x),0
pause -2
a = a - f(a)/df(a) // calculo de novo valor para a
plot reta(x),f(x),0
pause -2
a = a - f(a)/df(a) // calculo de novo valor para a
plot reta(x),f(x),0
pause -2
a = a - f(a)/df(a) // calculo de novo valor para a
plot reta(x),f(x),0
pause -2
a = a - f(a)/df(a) // calculo de novo valor para a
plot reta(x),f(x),0
pause -2
a = a - f(a)/df(a) // calculo de novo valor para a
plot reta(x),f(x),0
pause -2
Os valores de a para seis iterac oes, s ao:
-2
-1.44444444444444444444
-1.13057124921531701193
-1.01497995228090965490
-1.00022106301976068486
-1.00000004885805680258
onde vemos o valor 1.00000004885805680258 para raz aproximada de
f(x) = x
3
+x
2
+x + 1; f(1) = 0 (2.119)
Veja outra iterac ao, em que usamos como ponto inicial x = 20
CAP

ITULO 2. RA

IZES APROXIMADAS 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 fun c ao 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 equa c ao da fun c ao
para calcular razes de outras fun c oes.
define principal(a,p)
{
if (p) {printf("%f \n",a);principal(T(a),p-1);}
}
define f(x){return x**3 +x**2 +x +1;}
define df(x){return 3*x**2 + 2*x + 1;}
define T(x) {return x - f(x)/df(x);}
principal(-2,10);
quit;
Na pen ultima linha se encontra o comando que bota o programa para rodar:
principal(-2,10). O primeiro par ametro, a = 2 e o ponto inicial, e o
segundo par ametro, p = 10 e o n umero de itera c oes que desejarmos.
Troque a equa c ao de f e de sua derivada df e repita a experiencia com outra
fun c ao. Logo no primeiro passo voce ver a se o processo conduz, ou n ao a alguma
raz.
Experimente
f(x) = x
2
+ 1
CAP

ITULO 2. RA

IZES APROXIMADAS 70
que n ao tem razes reais. Use um n umero de pequeno de itera c oes, 10 no
m aximo.
2.6 Busca binaria
Vamos estudar aqui o metodo busca binaria para determina cao de razes.
A busca bin aria e um metodo matematico antigo, o matematico Dedekind
o utilizou para denir n umeros reais, os chamados cortes de Dedekind, que
consistem em dividir a reta racional em duas semi-retas, numa se encontra o
ponto
13
(n umero real desejado) e assim sucessivamente vai sendo dividido o
conjunto Q dos n umero racionais ate se obter uma aproxima cao desejada de um
n umero real (ou uma sucess ao 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.
Descri cao matem atica do metodo:
Suponha que que no intervalo [a, b] = [a
0
, b
0
]
Hipotese 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 condi coes for satisfeita.
Selecione o ponto medio do intervalo
s
0
=
b
0
a
0
2
(2.120)
e repita o teste 1 para descobrir em qual das duas metades esta a raz
procurada e dena
_
[a
0
, s
0
] = [a
1
, b
1
] se hipotese for verdadeira
[s
0
, b
0
] = [a
1
, b
1
] se hipotese for verdadeira
(2.121)
s
1
=
b1a1
2
(2.122)
13
eta erro l ogico... se o ponto estivesse a n ao seria uma reta racional...
CAP

ITULO 2. RA

IZES APROXIMADAS 71
Itere o processo para obter o pr oximo intervalo;
O resultado deste processo e uma sucess ao de intervalos cuja medida ser a
sempre a metade do anterior, tendo partido de um intervalo de medida
r = b a = b
0
a
0
b a = b
0
a
0
= r (2.123)
m([a
0
, b
0
]) = r (2.124)
m([a
1
, b
1
]) =
r
2
(2.125)
.
.
. (2.126)
m([a
n
, b
n
]) =
r
2
n
0 (2.127)
sendo esta uma convergencia muito rapida porque e dominada por progress ao
geometrica de razao
1
2
. 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 j a estamos com
um intervalo de medida 0.0029296875 e portanto j a teriamos uma aproxima cao
da raiz com esta precisao. Como em geral vamos procurar mudan cas de sinal
usando intervalos de medida 0.1 na decima iterada j a teriamos um intervalo me-
dindo 0.00009765625 consequentemente nos oferecendo a raiz com esta precisao.
CAP

ITULO 2. RA

IZES APROXIMADAS 72
Exemplo 5 C alculo de uma raiz
Considere a func ao
f(x) = x
3
+ x
2
+x + 1 (2.128)
que tem uma unica raiz no ponto x = 1, veja isto fazendo o gr aco desta fun c ao
com Gnuplot. Coloque set xrange [-2:2] para obter um gr aco mais ntido.
Vou chamar 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(x) {return power(x,3) + power(x,2) + x + 1}
f(x) defined
define busca_binaria(a,b,n){
local x = (a+b)/2;
if (n==0) {printf("%f \n",x); return x;}
else
if (f(a)*f(x) ==0) return x;
else if (f(a)*f(x) < 0) busca_binaria(a,(a+b)/2,n-1);
else busca_binaria((a+b)/2,b,n-1);}
busca_binaria(a,b,n) defined
; busca_binaria(-3,3,10);
-0.9990234375
; busca_binaria(-3,3,20);
-0.99999904632568359375
busca_binaria(-1.1,-0.9,3)
-1
quit;
observe que no ultimo c alculo usamos um intervalo de medida 0.2 e a busca
bin aria encontrou a raiz com 3 itera c oes. N ao acredite que buscas bin arias
encontrem razes exatas... este e um resultado muito bom. Use as deni c oes
expostas acima, em Calc para construir outros exemplos.
Exemplo 6 As razes de (x 3)
2
(x + 3)sin(
x
x
2
+1
)
O programa raizes014.c procura razes usando busca bin aria nos pontos de
sec ancia e analisa a troca de sinal da derivada nos pontos de tangencia. Veja o
resultado do programa procurando as razes de
f(x) = (x 3)
2
(x + 3)sin(
x
x
2
+ 1
) (2.129)
no intervalo [10, 10] em que h a tres razes:
Raizes aproximadas - metodos da secante e tangente
CAP

ITULO 2. RA

IZES APROXIMADAS 73
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
busca de raizes no intervalo [-10.000000, 10.000000]
Precisao da malha 0.050000
=================================================
Aperte <enter> para continuar
Raiz, por busca binaria, provavel, da func~ao no intervalo
[-3.049978, -2.999978]
valor de f no ponto -10.728836 --> 134.416962
Raiz, por busca binaria, provavel, da func~ao no intervalo
[-0.049980, 0.000020]
valor de f no ponto 27.644634 --> 672.242493
Raiz, por tang^encia, provavel, da func~ao no intervalo
[2.950018, 3.000018]
valor de f no ponto 2.975019 --> 0.001109
Encontrei 3 intervalos onde ha raizes
este resultados foram captados pelo editor Joe dentro do qual eu rodei uma
vers ao compilada do programa raizes014.c.
Observa cao 4 Ponto xo e busca bin aria
Neste captulo estudamos o problema
f(x) = 0 (2.130)
resolver uma equa coes.
Fomos omissos em n ao dizer que tudo que zemos vale para fun c oes polino-
miais. Na verdade sabemos que vale para fun c oes n ao polinomiais tambem, mas
com algumas restri c oes. Por exemplo, a demonstra c ao que zemos do metodo
das tangentes usou que a fun c ao, cujas razes procuravamos, era polinomial.
Sem d uvida sabemos um pouco mais sobre o assunto do que antes de iniciar
o captulo, sobre tudo sabemos que n ao e f acil resolver-se uma equa c ao. Alge-
bricamente, as equa c oes polinomiais somente podem ser resolvidas com radicais
ate o grau quatro. Mesmo as equa c oes do grau tres e quatro oferecem razo aveis
diculdade para que as resolvamos usando as f ormulas algebricas. Com um pro-
grama de computador, e com um monitoramento adequado do mesmo podemos
ir bem mais longe.
Como dissemos no incio do captulo, o nosso objetivo era tomar o problema
de resolu c ao de equa c oes como motiva c ao para o estudo de algumas tecnicas
matem aticas e seus correspondentes algoritmos computacionais.
Estudamos assim os metodos cl assicos para determinac ao de razes,
CAP

ITULO 2. RA

IZES APROXIMADAS 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 imple-
mentac ao computacional)
1. busca bin aria;
2. sucess oes recursivas;
3. ponto xo.
O metodo do ponto xo e muito mais profundo do que nos foi possvel dis-
cutir aqui. Tudo que zemos foi partir da hip otese de convergencia e usando a
continuuidade de uma func ao fomos conduzidos a que o limite satisfaz ` a equa c ao
T(b) = b (2.131)
Um ponto de T satisfazendo esta equa c ao, se chama ponto xo .
Os pontos xos sempre aparecem nas iteradas de uma fun c ao e sempre usa-
mos esta propriedade para resolver equa c oes. Relembre aqui o que j a dissemos
no incio do captulo, estamos usando o problema para estudarmos tecnicas que
tem valor por si pr opria.
Esta e uma delas, construir iteradas para encontrar pontos xos que s ao
soluc oes de equac oes.
Esta tecnica e usada largamente na constru c ao de solu c oes aproximadas de
equac oes diferenciais. N os dedicaremos, ao nal do livro, um captulo ` a in-
troduc ao deste assunto, onde voltaremos a usar o metodo do ponto xo para
resolver estas equac oes.
2.7 O problema completo
O ttulo e audacioso, problemas completos dicilmente existem. O que vou fazer
e juntar os peda cos, as discussoes feitas nas se coes anteriores, numa discussao
nal e apresentar-lhe um programa que faz todas estas analises conjuntamente.
O problema de busca de razes, na forma como o estudamos aqui, separa as
razes em dois tipos,
razes do tipo tangente, que na verdade se classicam algebricamente como
razes m ultiplas porque, numa vizinhan ca da raiz a fun cao pode ser fato-
rada como
f(x) = (x a)
n
g(x) ; g(a) = 0 (2.132)
CAP

ITULO 2. RA

IZES APROXIMADAS 75
em que n e o ndice de multiplicidade da raiz e um n umero par. Se n for
par ser ao estas razes que estou classicando aqui como do tipo tangente,
n ao h a troca de sinal em alguma vizinhan ca da raiz;
razes do tipo secante podemos usar a nota cao do item anterior e dizer que
f(x) = (x a)
n
g(x) ; g(a) = 0 (2.133)
comn impar. Neste caso h a troca de sinal da fun cao em alguma vizinhan ca
da raiz e podemos usar os metodos cl assicos:
busca de razes pelo metodo da secante;
busca de razes pelo metodo da tangente;
busca bin aria. Este metodo, a busca binaria, pode ser usado quando
a multiplicadade da raiz for par, mas eu n ao usei este metodo no
programa.
O programa raizes015.c faz isto salientando qual foi o metodo que ele
escolheu em cada raiz.
Testamos o programa com diversas fun coes com bons resultados, mas lhe
entregamos tambem o c odigo fonte no modo habitual de programa cao aberta.
Se voce melhorar o programa, distribua a melhor vers ao n ao se esquecendo de
nos enviar uma copia, poruqe o conhecimento e universal, e de todos.
Veja o resultado do programa captado pelo editor Joe com pequenas al-
tera coes feitas por mim. Leia e rode o programa para fazer suas experiencias.
A fun cao selecionada dentro do programa e
f(x) = (x + 3.4)
4
(x + 3)
2
(x + 2)
3
(x 1)
2
(x 3)sen(
x
x
2
+ 1
(2.134)
que n ao chega a ser uma fun cao realmente maldosa. Bastaria acrescentar um
termo como sen(3x) para deixar o programa instavel. Esta instabilidade pode
ser resolvida com uma mudan ca de vari aveis, entretanto, como eu j a disse di-
versas vezes, n ao h a 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]
CAP

ITULO 2. RA

IZES APROXIMADAS 76
Precisao da malha 0.000100
=================================================
==== Quando a derivada troca de sinal - tang^encia =====
Raiz, por tang^encia, provavel, da func~ao no intervalo
[-3.400079, -3.399979]
valor de f no ponto -3.400029 --> -0.000000
==== fim do caso troca de sinal da derivada =====
==== Quando a derivada troca de sinal - tang^encia =====
Raiz, por tang^encia, provavel, da func~ao no intervalo
[-3.000090, -2.999990]
valor de f no ponto -3.000040 --> -0.000000
==== fim do caso troca de sinal da derivada =====
============= Tr^es metodos ===========
Raiz provavel da func~ao no intervalo [-2.000017, -1.999917]
========1o metodo: por busca binaria =======
valor de f no ponto -2.000000 --> 0.000000
========2o metodo: pelo metodo da secante =========
valor de f no ponto -2.000012 --> -0.000000
========3o metodo: pelo metodo da tangente ========
valor de f no ponto -1.999998 --> 0.000000
======== fim do caso troca de sinal ========
============= Tr^es metodos ===========
Raiz provavel da func~ao no intervalo [-0.000097, 0.000003]
========1o metodo: por busca binaria =======
valor de f no ponto -0.000000 --> 0.000984
========2o metodo: pelo metodo da secante =========
valor de f no ponto -0.000000 --> 0.000000
========3o metodo: pelo metodo da tangente ========
valor de f no ponto 0.000000 --> -0.000250
======== fim do caso troca de sinal ========
==== Quando a derivada troca de sinal - tang^encia =====
Raiz, por tang^encia, provavel, da func~ao no intervalo
[0.999956, 1.000056]
valor de f no ponto 1.000006 --> -0.000006
==== fim do caso troca de sinal da derivada =====
CAP

ITULO 2. RA

IZES APROXIMADAS 77
============= Tr^es metodos ===========
Raiz provavel da func~ao no intervalo [2.999995, 3.000095]
========1o metodo: por busca binaria =======
valor de f no ponto 3.000000 --> 0.000000
========2o metodo: pelo metodo da secante =========
valor de f no ponto 3.000000 --> 0.000000
========3o metodo: pelo metodo da tangente ========
valor de f no ponto 3.000000 --> 0.000000
======== fim do caso troca de sinal ========
Encontrei 6 intervalos onde ha raizes
2.8 Interse cao de gracos
Discutimos ate agora a solu c ao 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 fun c oes dadas. Evidentemente que este problema se
reduz ao anterior, entretanto h a tecnicas especcas para resolver o segundo
problema que vamos discutir nesta se c ao.
Uma expressao 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 n ao e um novo problema que estamos estu-
dando.
Mas as peculiaridades em que o problema f(x) = g(x) se encontra, ou as
aplica coes que podem ser modeladas por este problema justicam que nos lhe
demos uma aten cao diferenciada como logo voce ir a ver.
Vamos come car lendo o gr aco na gura (g. 2.11) p agina 78.
Este e um caso interessante que descreve uma gama de problemas do tipo
f(x) = g(x) ou f(x) g(x) (2.135)
Analisando o gr aco 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)
CAP

ITULO 2. RA

IZES APROXIMADAS 78
f
g
f(a) > g(a)
f(a) < g(a)
f(c) < g(c)
a
c
b
Figura 2.11: Interse c ao de curvas
ou seja, temos duas fun coes e algum ponto do domnio as derivadas delas se
alternam em tamanho.
Se por um momento aceitarmos a linguagem mecanica
14
diremos que pode
haver um momento em que o gr aco de g passe o graco de f porque a derivada
representa a taxa de crescimento.
Pelo teorema do valor medio tem que haver um ponto no interior do intervalo,
c (a, b), tal que neste ponto as derivadas se igualem.
Vejamos uma classe de problemas que podemos resolver com estes dados.
Exemplo 7 Conhecemos tudo sobre um dos pontos
Sabemos que
f(a) = g(a)
f

(a) > g

(a)
e podemos provar que a partir de um certo valor x = b
f

(x) < g

(x) (2.136)
ent ao e possvel encontrar outra solu c ao b > a para o problema f(x) = g(x)
Cosidere
g(x) = x (2.137)
f(x) = 2(1 e
x
) ; f

(x) = 2e
x
0 quando x cresce (2.138)
f(0) = g(0) = 0 ; f

(0) = 2 > g

(0) = 1 (2.139)
Como f

decresce muito rapidamente, e possvel que haja outra solu c ao para o


problema f(x) = g(x) quando x > 0.
14
que usualmente rejeitamos, tal como tende para limite
CAP

ITULO 2. RA

IZES APROXIMADAS 79
Vamos analisar o que nos diz o Teorema do Valor medio para derivadas, se
em algum ponto f

(x) = 1
f

(x) = 2e
x
= 1 e
x
=
1
2
(2.140)
e
x
= 2 x = ln(2) (2.141)
(2.142)
Temos que procurar uma raz a a partir de x = ln(2) 0.69314718 o que
faremos usando um dos nossos programas:
a = 0.69314718
b = 10
Sua busca de raizes no intervalo [ 0.693147 , 10.000000 ]
Forneca-me o passo delta da malha para a busca:
Sugestao 0.01 < delta < 0.5
delta = 0.001
Precisao da malha 0.001000
=================================================
Aperte <enter> para continuar
Procurando raizes do tipo secante
Raiz, por secancia, provavel, da funcao no intervalo
[1.593147,1.594147]
valor de f no ponto 1.593647 com 13 iteracoes --> 0.000014
Observe somente o detalhe que ponto medio do Teorema do Valor medio n ao e a
media aritmetica entre os pontos a, b que resolvem o problema, mas se encontra
razoavelmente pr oximo do ponto medio.
Em outras palavras, 2ln(2) e uma aproxima c ao da raz.
Uma aplica cao desta quest ao a determina cao da area entre duas curvas.
Neste caso n ao queremos encontrar todas as solu coes do problema f(x) = g(x).
Desejamos encontrar aquelas que cam nos extremos de um intervalo que e a
proje cao, no eixo OX da regiao cuja area desejamos calcular.
Um caso comum e que voce pode ver no gr aco (g. 2.12)
graf(f) graf(g) = {(a, f(a)), (b, f(b))}
as duas curvas se cortam em exatamente dois pontos. O valor da area da regiao
limitada por elas e
|
b
_
a
(f(x) g(x))dx|
e temos que encontrar as duas razes do problema f(x) = g(x).
O calculo, com grande acuracidade de razes somente pode ser feito com
auxlio de programas de computador, entretanto, a determina cao grosseira
CAP

ITULO 2. RA

IZES APROXIMADAS 80
f
g
a
b
Figura 2.12: Regi ao cuja area queremos calcular
de um intervalo onde haja raz
15
pode ser feito com auxlio de uma maquina
de calcular eletr onica e isto e o que se espera na lista de exerccios a seguir
proposta.
Exerccios 10 Raizes de func oes
1. Considere f(x) = x
5
+x
2
4
(a) Mostre que f

tem apenas duas razes, x


0
< x
1
.
(b) Prove, sem fazer c alculos numricos que f(x
0
) > f(x
1
)
(c) Prove fazendo algum c alculo numrico que 0 > f(x
0
) > f(x
1
)
(d) Prove que f tem uma unica raz real e determine um intervalo onde
esta raz se encontra Resposta f(0) < 0, f(2) > 0
2. Encontre um intervalo contendo exatamente uma raz de
f(x) = x 10000
sen(x)
3. Calcule a area da regi ao limitada pelos gr acos das par abolas, gura
y = x
2
x 12 ; y = x
2
x + 12
(g. 2.13) p agina 81,
4. As curvas
g(x) = (x
2
+x 12)cos(
x
2
) ; f(x) = (x
2
x 12) sin(
x
2
)
se cortam segundo tres pontos no intervalo [7, 7], veja a gura
y = x
2
x 12 ; y = x
2
x + 12
(g. 2.14) p agina 81,
Encontre os dois pontos mais distantes (ignore o ponto medio) e calcule a
area indicada na gura.
15
ou no plural, a determina c ao dos intervalos onde haja razes
CAP

ITULO 2. RA

IZES APROXIMADAS 81
15
10
5
0
5
10
15
4 3 2 1 0 1 2 3 4
f(x)
g(x)
0
Figura 2.13: area limitada por duas par abolas
100
80
60
40
20
0
20
40
60
80
100
10 5 0 5 10
f(x)
g(x)
0
Figura 2.14: area limitada por duas curvas
Captulo 3
Sucessoes recursivas
Os babil onios conheciam um metodo pr atico, ver [?], para c alcular razes
quadradadas, que vamos usar como introdu c ao para o assunto deste captulo
porque e um algoritmo recursivo.
Recursividade e um metodo em que uma fun c ao f chama a si pr opria.
A recursividade e conhecida e usada em Matem atica h a milenios, como o
algoritmo do c alculo de razes quadradas, mas recentemente (desde 1970), com
LISP, vem sendo usada em programas de computador produzindo algoritmos
bastante otimizados.
3.1 Babilonios e raz quadrada
Vamos usar o algoritmo dos babilonios para calcular razes qua-
dradas como motiva cao para o assunto deste captulo.
Uma sequencia e recursiva se for denida em fun cao dos seus
pr oprios termos: x
n
= f(x
n1
, . . . , x
1
) em que f e uma expressao
legal (computacional ou matematica).
Escolhemos o algoritmo dos babilonios para servir de introdu cao (e mo-
tiva cao) para o assunto deste captulo por duas razoes:
pela sua antiguidade prov avel 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
mem oria, com algumas iteradas, quatro ou cinco, voce obtem uma raiz
quadrado com boa precisao.
Uma primeira aproxima cao para

a vem da desigualdade entre a media
aritmetica e a media geometrica:
82
CAP

ITULO 3. RECURSIVIDADE 83
Teorema 2 Desigualdade aritmetico-geometrica Se a, b > 0 temos

ab
a +b
2
(3.1)
Dem :

ab
a+b
2
(3.2)
ab (
a+b
2
)
2
=
a
2
+2ab+b
2
4
(3.3)
4ab a
2
+ 2ab + b
2
(3.4)
0 a
2
2ab + b
2
= (a b)
2
(3.5)
e como a ultima equacao e verdadeira e as anteriores sao equivalentes algebricas dela, entao
a primeira e verdadeira. q.e.d .
Este teorema vale para um n umero qualquer de termos, ver [26], mas aqui
e suciente o caso da media entre dois n umero positivos, mais exatamente 1, a
em que a e o n umero positivo cuja raz quadrada desejamos.
Se a > 1 entao 1 <

a < a e 1 <
a+1
2
< a;
Se 0 < a < 1 entao 1 >

a > a e 1 >
a+1
2
> a;
portanto os n umeros
1 +a
2
,

a
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 temos uma estimativa inicial, e de muito baixa precisao, para

a
como consequencia da desigualdade aritmetico-geometrica

a =

1 a
a + 1
2
(3.6)
assim

a
a+1
2
Exemplo 8 Raiz quadrada de 10

10
10 + 1
2
= 5.5
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 observa c ao simples conduz ao algoritmo dos babil onios.
Se tivermos
1
uma estimativa inicial, digamos, x, para a raz quadrada

a
ent ao,
a
x
e outra aproxima c ao:
a
x

a

a
=

a (3.7)
1
e temos, que e a media com a unidade
CAP

ITULO 3. RECURSIVIDADE 84
Se x for maior do que

a ent ao
a
x
ser a menor do

a.
Se x for menor do que

a ent ao
a
x
ser a maior do

a.
Quer dizer que temos duas aproxima c oes, (no segundo caso)
x,
a
x
; x <

a <
a
x
uma menor e outra maior do que

a logo ` a media das duas que vai ser,
melhor do que uma delas.
Denimos (deniram os babil onios)
g(x) =
x +
a
x
2
=
a +x
2
2x
(3.8)
cuja derivada e
g

(x) =
x
2
a
2x
2
; g

a) = 0 (3.9)
g

(x) > 0 x >



a (3.10)
g e crescente x >

a (3.11)
g(

a) =

a
x>

a
g(x) >

a (3.12)
x >

a g(x) =
x+a/x
2
< x (3.13)
x >

a g(g(x)) < g(x) (3.14)
Com estas propriedades podemos deduzir (possivelmente n ao foi assim que
os babil onios provaram)
uma primeira aproxima c ao s
0
= x >

x (3.15)

a < s
1
= g(s
0
) < s
0
(3.16)
g(

a) =

a < g(s
1
) = s
2
< s
1
(3.17)

a < g(s
1
) = s
2
< s
1
< s
0
(3.18)
.
.
. (3.19)
hip otese:

a < s
n
= g(s
n1
) < s
n1
(3.20)
g(

a) =

a < g(s
n
) = s
n+1
< s
n
(3.21)
(3.22)
e assim provamos por induc ao parte do Teorema
Teorema 3 algoritmo dos babil onios
CAP

ITULO 3. RECURSIVIDADE 85
A sucess ao (s
n
)
n
denida recursivamente por
_

_
x e uma aproxima c ao de

a
x >

a
s
0
= g(x)
s
n
= g(s
n1
)
(3.23)
e decrescente e limitada por

a logo converge para um limite
s
n
l =

a (3.24)
Dem :
Falta prova apenas a ultima armacao do teorema, que o limite e exatamente

a.
Para isto observemos que g e contnua, portanto preserva limite o que signica que
lim
n
g(sn) = g(lim
n
sn) (3.25)
A direita na equacao (25) temos
lim
n
sn+1 = l (3.26)
e a esquerda na equacao (25) temos
g(lim
n
sn) = g(l) (3.27)
o que nos leva
g(l) = l (3.28)
Substituindo na equacao de g, (8), temos
g(l) =
l
2
+ a
2l
= l l
2
+ a = 2l
2
l =

a (3.29)
q.e.d .
Deni cao 1 Ponto xo
Quando uma fun cao g satiszer a equa c ao (28), dizemos que o valor l e um
ponto xo de g.
A sucess ao seguinte de equa c oes mostra como eles faziam:
x
0
= 1 x
1
=
x0+10/x0
2
x
1
= 5.5
x
1
= 5.5 x
2
=
x1+10/x1
2
x
2
= 3.6590909
x
2
= 3.6590909 x
3
=
x2+10/x2
2
x
3
= 3.196005
x
3
= 3.196005 x
4
=
x3+10/x3
2
x
4
= 3.162455
x
4
= 3.162455 x
5
=
x4+10/x4
2
x
5
= 3.1622776
e usando x
5
como aproxima c ao de

10 temos
x
2
5
= (3.1622776)
2
= 9.999999
. .
61946176 (3.30)
que n os d a 10 x
2
5
< 0.0000004 =
4
10
7
CAP

ITULO 3. RECURSIVIDADE 86
Vejamos mais um exemplo, calculando a raz

1000.
Exemplo 9 A raz de 1000
x
0
= 1 x
1
=
x0+1000/x0
2
x
1
= 500.5
x
1
= 500.5 x
2
=
x1+1000/x1
2
x
2
= 251.249
x
2
= 251.249 x
3
=
x2+1000/x2
2
x
3
= 127.6145
x
3
= 127.6145 x
4
=
x3+1000/x3
2
x
4
= 67.7253273
x
4
= 67.7253273 x
5
=
x4+1000/x4
2
x
5
= 41.2454260
x
5
= 41.2454260 x
6
=
x5+1000/x5
2
x
6
= 32.74526
x
6
= 41.2454260 x
7
=
x6+1000/x6
2
x
7
= 32.74526
x
7
= 32.74526 x
8
=
x7+1000/x7
2
x
8
= 31.62278
x
2
8
= (31.62278)
2
= 1000.000
. .
2149284 (3.31)
Os exemplos sao eloquentes, mostram que um povo primitivo, como os
babil onios, usavam um metodo h a mais de 4.000 anos que continua hoje im-
batvel...
Nos n ao temos nada melhor, para calcular razes quadradas, a nao ser
m aquinas com recursos formais. Por exemplo, o calculo acima, feito em Calc
tem o seguinte aspecto:
; 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
do micro, oito vezes.

E tudo que podemos fazer para melhorar o algoritmo dos
babil onios.
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
CAP

ITULO 3. RECURSIVIDADE 87
Raz aproximada
de 10
0
2
4
6
8
10
12
1 2 3 4 5 6 7 8
f(x)
x
0
"data"
Figura 3.1: Determina c ao de

10
a b
a+b
2

ab
1 2
2 4
0.2 0.4
0.2 1
2. Calcule a media aritmetica ponderada dos objetos dados considerando os
pesos indicados
a
1
, a
2
, a
3
p
1
, p
2
, p
3
3

i=1
p
i
a
i
1, 2, 3 0.1, 0.2, 0.7
1, 2, 3 0.4, 0.3, 0.3
1, 2, 3
1
3
,
1
3
,
1
3
1, 2, 3
1
6
,
1
3
,
1
2
(1, 2), (2, 1), (1, 1)
1
6
,
1
3
,
1
2
3. Calcule, aproximadamente, as razes quadradas dos n umeros indicados,
usando o metodo dos babil onios, ate a quarta iterada, e indique o erro
cometido:
a x
4

a
1
2
20
200
O gr aco (g. 3.1), mostra a realiza cao do algoritmo dos babil onios (para
raz quadrada de 10). Nele podemos ver a fun cao identidade e gr aco de
g(x) =
x + 10/x
2
CAP

ITULO 3. RECURSIVIDADE 88
com a sucess ao de pontos que vai sendo obtida com a iteradas de g para obter
a sucess ao recursiva (x
n
)
n
cujo limite e o ponto xo
(

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 fun c ao f (sem combinar com seus colegas
de trabalho) tal que graf(f) e o o gr aco da primeira bissetriz y = x se
cortem no primeiro quadrante e que
2
hipergraf(f) seja convexo.
Considere x
0
> 0 escolhido arbitrariamente (sem combinar com seus co-
legas de trabalho) e construa gracamente a sucess ao de pontos no plano
(n n ao menor do que 4)
_

_
(x
0
, x
0
) (x
0
, f(x
0
)) ; x
1
= f(x
0
)
(x
1
, x
1
) (x
1
, f(x
1
)) ; x
2
= f(x
1
)

(x
n
, x
n
) (x
n
, f(x
n
)) ; x
n+1
= f(x
n
)
(3.32)
e agora compare o seu resultado com o dos seus colegas de trabalho para
tirar uma conclus ao.
2. Verique (geometricamente) que a fun c ao f(x) = ln(x) n ao pode denir
uma sucess ao recursiva x
n+1
= f(x
n
) convergente. Justique.
3. Verique quais das func oes seguintes produz uma sucess ao recursiva con-
vergente, e em que regi ao isto se d a (se der). Sugest ao fa ca um gr aco
contendo graf(f), graf(y = x).
f [a, b] .
a)f(x) = x + 3
c)f(x) = x
2
e)f(x) = x
2
9
Os exercos acima est ao longe de esclarecer a importancia ou os metodos
como tratar sucess oes recursivas que e um vasto topico dentro do qual se en-
contra o algoritmo dos babil onios.
3.1.1 Um programa em C
O programa se chama raizq graf.c e voce pode encontra-lo em [20].
2
o hipergr aco de f e o conjunto dos pontos (x, y) tal que y f(x) - e o conjunto limitado
inferiormente pelo graf(f)
CAP

ITULO 3. RECURSIVIDADE 89
Os m odulos do programa sao, a fun cao
g(x, a) =
x +a/x
2
em que deixamos a como parametro de formas que uma pequena altera cao no
programa permite que ele rode na linha de comandos.
A fun cao principal, main(), que e obrigat oria em todo programa em C ou
C + + e que puxa o script do teatro.
Alguns comandos colocados na fun cao principal para criar o arquivo data
onde se encontram as linhas que Gnuplot ir a tra car.
Um arquivo que chamamos transfere e que contemos comando de Gnuplot
e que ser ao chamados internamente pelo programa uma vez que quem vai fazer
tudo e o programa em C.
O programa contem comentarios para ajud a-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, nalmente, escreva um e-mail ao autor, com suas
d uvidas, ou consulte um hacker em computa cao 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 distribui cao Linux. Com-
pilado o programa voce o pode rodar (executar) o executavel, prog, digitando
numa shell do Linux
./prog
no diret orio 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 arqui-
vos: data e transfere. Se voce apenas quiser rever
3
o gr aco, digite numa shell
(Linux) gnuplot transfere
e voce voltar a a ver o gr aco recem feito com o programa. Ou, simplesmente,
rode novamente
4
o programa com os mesmos dados. O programa far a, automa-
ticamente, o caso

2 se voce apenas der, enter, como resposta a todas as


perguntas. Movendo o cursor, sobre a tela gr aca do Gnuplot, voce pode ver
o valor aproximado da raz escolhida. Nao espere conseguir grande precisao,
nesta visualiza cao.
3.2 Fundamentos da convergencia de iteradas
Exemplicamos, com o algoritmo dos babil onios da raz quadrada, que um tipo
de sucess ao, que designamos por recursivas eram convergentes. Tambem j a
vimos que o metodo das tangentes e gerado por uma fun cao recursiva:
3
enquanto voce n ao der enter, o gr aco car a presente na tela
4
se voce 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
CAP

ITULO 3. RECURSIVIDADE 90
g(x) = x
f(x)
f

(x)
; x
n+1
= g(x
n
) (3.33)
Desejamos agora demonstrar os fatos, descobrir em que condi coes podemos
garantir que uma sucess ao
x
n+1
= g(x
n
) (3.34)
seja convergente. Vamos usar a aproxima cao linear
g(b) g(a) = g

(a)(x a) +o(|x a|) (3.35)


x
2
x
1
= g(x
1
) g(x
0
) = g

(x
0
)(x
1
x
0
) +o(|x
1
x
0
|) (3.36)
|x
2
x
1
| = |g(x
1
) g(x
0
)| |g

(x
0
)| |x
1
x
0
| (3.37)
(3.38)
|x
n+1
x
n
| = |g(x
n
) g(x
n1
)| |g

(x
n1
)| |x
n
x
n1
| (3.39)
Estes calculos nos mostram que precisamos da hipotese de que g seja dife-
renci avel e que em uma vizinhan ca do ponto inicial x
0
o modulo da derivada
seja menor do que 1. Se isto acontecer podemos deduzir das equa coes acima:
|x
2
x
1
| = |g(x
1
) g(x
0
)| |g

(x
0
)| |x
1
x
0
| (3.40)
|x
3
x
2
| = |g

(x
1
)| |x
2
x
1
| |g

(x
1
)||g

(x
0
)| |x
1
x
0
| (3.41)
(3.42)
|x
n+1
x
n
|
n1

k=0
|g

(x
k
)||x
1
x
0
| (3.43)
Considerando os fatores na equa cao (eq. 43) seja
r = max(|g

(x
0
)|, . . . , |g

(x
k
)|, . . . , |g

(x
n1
)|) < 1 (3.44)
podemos deduzir da (eq. 43)
|x
n+1
x
n
| r
n
|x
1
x
0
| (3.45)
e assim comparar a sucess ao (x
n
) com uma sucessao geometrica convergente.
Demonstramos assim o Teorema
Teorema 4 Teorema do ponto xo
Se uma sucess ao recursiva x
n+1
= g(x
n
) em que g e uma fun c ao diferenci avel
e tal que exista um domnio [a, b] a cujo interior perten ca o ponto x
0
e que
|g

| < r < 1 em [a, b] ent ao a sucess ao recursiva x


n+1
= g(x
n
) converge para
um ponto a de forma mais r apida que uma sucess ao geometrica de raz ao r e o
ponto a = lim
n
x
n
e um ponto xo de g
A ultima parte da tese do Teorema e o resultado das contas que zemos na
se cao anterior, com o algoritmo dos babilonios para a raz quadrada. Embora
CAP

ITULO 3. RECURSIVIDADE 91
o ponto xo no caso daquele algoritmo tenha sido obtido num caso especial de
fun cao contnua, o arqumento aqui seria o mesmo.
Ha v arios teoremas do ponto xo, n os demonstramos acima um caso parti-
cular e bem simples que atende ` as nossas necessidades aqui. Mas o estudioso
de an alise ir a encontrar mais a frente outras formula coes deste teorema quando
ver a, entretanto, que a quest ao gira em torno das mesma ideias, poder garantir
que a fun cao g que dene uma certa sucess ao recursiva funcione como um freio
interno da sucess ao. Tais fun cao satisfazem ` a desigualdade
|g(a) g(b)| < |a b|
portanto elas contraem a imagem e poristo se chamam de contra coes. Quando
a derivada for menor do que 1 em m odulo temos uma contra cao, e foi isto que
usamos na demonstra cao do teorema-4.
3.3 O algoritmo babibilonio e convergente
Para terminar o projeto, queremos mostrar que o algoritmo babibil onio para
razes quadradas satisfaz ` as hipotses do teorema do ponto xo, e portanto con-
verge.
Vimos que o algoritmo depende da fun cao
g(x) = (x +
a
x
)/2 =
x +
a
x
2
(3.46)
cuja derivada e g

(x) =
1
2

a
2x
2
.
g

(x) = 0 = 1
a
x
2
= 0 = x =

a (3.47)
quer dizer que, para x > 0 o gr aco conjunto de g e da primeira bissetriz e da
forma (g. 3.2) ou da forma (g. 3.3)
a
x
0
g
Figura 3.2: Ponto inicial menor do que

a
CAP

ITULO 3. RECURSIVIDADE 92
a
g
x
o
Figura 3.3: Ponto inicial maior do que

a
Nos dois tipos de gr acos, (g. 3.2) ou (g. 3.3), vemos que o graco de g
corta a primeira bissetriz na imagem do ponto xo sobre o graf(g), (

a,

a).
Como g e assntota ` a fun cao
y =
x
2
e no ponto (

a,

a) a derivada de g e zero, entao se x


0
for grande, quer dizer
maior do que

a, entao |g

(x
0
)| < 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 x
n
I, o
que termina a demonstra cao se escolhermos x
0
>

a.
Mas podemos considerar um ponto inicial x
0
pequeno, isto e, menor do
que

a. Mas neste caso
x
1
= g(x
0
) = x
0
+
a
x0
(3.48)
x
0
+
a
x0
>

a (3.49)
(x
0
+
a
x0
)
2
> a (3.50)
x
2
0
+ 2a + (
a
x0
)
2
> a (3.51)
x
2
0
+a + (
a
x0
)
2
> 0 (3.52)
provando que x
1
I portanto, se escolhermos um ponto inicial pequeno o se-
gundo ponto da sucess ao obtida pelas itera coes de g sera grande, pertentecera
ao intervalo I e portanto a sucess ao
(x
n
)
n1
I (3.53)
satisfaz ao (Teorema 4).
Provamos assim que o algoritmo dos babil onios para razz quadrada converge
e muito rapido.
Teorema 5 Algoritmo babil onio para raz quadrada
A func ao g(x) =
x+a/x
2
dene uma sucess ao recursiva a partir de um ponto
qualquer x
0
>
_
a
3
sendo o seu ponto xo

a.
CAP

ITULO 3. RECURSIVIDADE 93
3.4 Exerccios
1. Escreva os 5 primeiros termos das seguintes sucess oes denidas recursiva-
mente
a)s
n
= s
n1
+s
n2
s
0
= 0; s
1
= 1
c)s
n
= 1 +s
n1
s
0
= 1
e)s
n
= ns
n1
s
0
= 2; s
1
= 1
b)s
n
= s
n1
+s
n2
s
0
= 1; s
1
= 1
d)s
n
= 1 +s
n1
s
0
= 1
f)s
n
= ns
n1
s
0
= 3; s
1
= 1
2. Escreva o loop em pseudo linguagem de programa c ao
5
que calcula cada
uma das sucess oes
a)s
n+1
= s
n
+s
n1
s
0
= 1; s
1
= 1
c)s
n+1
= s
n
s
n1
s
0
= 1; s
1
= 2
e)s
n+1
= s
n
s
n1
s
0
= 2;
b)s
n+1
= s
n
/s
n1
s
0
= 1; s
1
= 1
d)s
n+1
= (n + 1)s
n
s
0
= 1; s
1
= 1
f)s
n+1
= ns
n
s
0
= 3;
3. serie, termos geral Escreva a equa cao de S
n
sabendo que
S
n+1
S
n
= a
n
; S
0
= 0 (3.54)
em que a sucess ao a = (a
n
)
nN
e dada.
4. Escreva a equa cao de S
n
sabendo que
S
n+1
S
n
= a
n
; S
0
= 0 (3.55)
em que a sucess ao a = (a
n
)
nN
e dada
S
n+1
a
n
a)S
n+1
1
c)S
n+1
n
e)S
n+1
n
2
S
n+1
a
n
b) S
n+1
1
n
d) S
n+1
1
n
2
f) S
n+1
n
3
5. Seq uencia de Fibonacci
6
A seq uencia de Fibonacci e denida, recursivamente, como
s
0
= 1 (3.56)
s
1
= 1 (3.57)
n > 1s
n
= s
n1
+s
n2
(3.58)
Calcule alguns termos de s e escreva o loop que calcule s Resposta e
exatamente um dos exerccios anteriores.
5
chamamos de pseudo linguagem de programa c ao uma sequencia de comandos que po-
deriam pertencer a uma determinada linguagem de programa c ao, aquilo que e habitual fazer
em cursos introdut orios de programa c ao com o nome de algoritmo
CAP

ITULO 3. RECURSIVIDADE 94
3.5 Solu cao de alguns exercicios
1. (ex. 1) p agina 93
(a)
s
n
= s
n1
+s
n2
; s
0
= 0; s
1
= 1 (3.59)
s
2
= 1; s
3
= 2; s
4
= 3; s
5
= 5; (3.60)
(b)
s
n
= s
n1
+s
n2
; s
0
= 1; s
1
= 1 (3.61)
s
2
= 2; s
3
= 3; s
4
= 5; s
5
= 8 (3.62)
(c)
s
n
= 1 +s
n1
; s
0
= 1 (3.63)
s
1
= 2; s
2
= 3; s
3
= 4; s
4
= 5; s
5
= 6 (3.64)
(d)
s
n
= 1 +s
n1
; s
0
= 1 (3.65)
s
1
= 0; s
2
= 1; s
3
= 2; s
4
= 3; s
5
= 4 (3.66)
(e)
s
n
= ns
n1
; s
0
= 2; s
1
= 1 (3.67)
s
2
= 2; s
3
= 6; s
4
= 24; s
5
= 120 (3.68)
(f)
s
n
= ns
n1
; s
0
= 3; s
1
= 1 (3.69)
s
2
= 2; s
3
= 6; s
4
= 24; s
5
= 120; (3.70)
2. (ex. 2) p agina 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
}
CAP

ITULO 3. RECURSIVIDADE 95
return(S); // saida de dados do programa
0 1
1 1
2 2
3 3
4 5
5 8
6 13
7 21
8 34
9 55
10 89
(b) float S=1; // produto e divisoes, inicio 1
float a0=2.0, a1=1.0;
int contador=2;
printf("%d %f \n %d %f \n",0,a0,1, a1);
if (n == 0 ) return(a0);
if (n == 1 ) return(a1);
while(contador <=n)
{
S = a1/a0; // s(n+1)
printf("%d %f \n",contador, S);
a0 = a1; // s(n-1)
a1 = S; // s(n)
contador++;
}
0 2.000000
1 1.000000
2 0.500000
3 0.500000
4 1.000000
5 2.000000
6 2.000000
7 1.000000
8 0.500000
9 0.500000
10 1.000000
(c) float S=1; // produto e divisoes, inicio 1
float a0=1.0, a1=2.0;
int contador=2;
printf("%d %f \n %d %f ",0,a0,1,a1);
if (n == 0 ){printf("%d %f \n ",0,a0); return(a0);}
if (n == 1 ){printf("%d %f \n ",1,a1); return(a1);}
while(contador <=n)
{
CAP

ITULO 3. RECURSIVIDADE 96
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) float S=1; // produto e divisoes, inicio 1
float a0=1.0, a1=1.0;
int contador=2;
printf("%d %f \n %d %f \n ",0,a0,1,a1);
if (n == 0 ){printf("%d %f \n ",0,a0); return(a0);}
if (n == 1 ){printf("%d %f \n ",1,a1); return(a1);}
while(contador <=n)
{
S = contador*a1; // s(n+1)
printf("%d %f \n",contador, S);
a1 = S; // s(n)
contador++;
}
0 1.000000
1 1.000000
2 2.000000
3 6.000000
4 24.000000
5 120.000000
6 720.000000
7 5040.000000
8 40320.000000
9 362880.000000
10 3628800.000000
(e) float S=1; // produto e divisoes, inicio 1
float a0=2.0;
int contador=1;
CAP

ITULO 3. RECURSIVIDADE 97
printf("%d %f \n ",0,a0);
if (n == 0 ){printf("%d %f \n ",0,a0); return(a0);}
while(contador <=n)
{
S = contador*a0; // s(n+1)
printf("%d %f \n",contador, S);
a0 = S; // s(n)
contador++;
}
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) float S=1; // produto e divisoes, inicio 1
float a0=3.0;
int contador=1;
printf("%d %f \n ",0,a0);
if (n == 0 ){printf("%d %f \n ",0,a0); return(a0);}
while(contador <=n)
{
S = (contador-1)*a0; // s(n+1)
printf("%d %f \n",contador, S);
a0 = S; // s(n)
contador++;
}
0 3.000000
1 0.000000
2 0.000000
3 0.000000
4 0.000000
5 0.000000
6 0.000000
7 0.000000
8 0.000000
9 0.000000
10 0.000000
CAP

ITULO 3. RECURSIVIDADE 98
3. (ex. 3) p agina 93
S
0
= 0 = S
1
= S
0
+a
0
= a
0
(3.71)
S
2
= S
1
+a
1
= S
0
+a
0
+a
1
(3.72)
S
2
= a
0
+a
1
(3.73)
S
3
= S
2
+a
2
= a
0
+a
1
+a
2
(3.74)
(3.75)
S
n+1
= S
n
+a
n
= a
0
+a
1
+a
2
+ +a
n
(3.76)
S
n+1
=
n

k=0
a
k
(3.77)
4. (ex. 4) p agina 93
(a) S
n+1
=
n

k=0
1 = n + 1
(b) S
n+1
=
n

k=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
S
n+1
ln(n) para grandes valores de n.
ln(100000) 11.51292546497022842009;
100000

k=1
1
k
12.090851
(c)
n

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
CAP

ITULO 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

1
1
k
2


2
6
para grandes valores de n. Com n = 35000S
35000
= 1.6449054958278
e

2
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;
}
As somas do tipo
n

k=0
P(k) em que P e um polinomio a coecientes
inteiros, podem ser calculadas exatamente usando-se um polinomio Q
de grau uma unidade superior ao de P porque estas somas se reduzem
CAP

ITULO 3. RECURSIVIDADE 100


a uma expressao da forma Q(n + 1) Q(0), ver [27, indu cao nita].
neste caso a f ormula exata e
n

k=1
k
2
=
n(n+1)(2n+1)
6
= Q(n); Q(10) =
385
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

k=1
k
2
= (1 + 2 n)
2
= (
n(n+1)
2
)
2
Captulo 4
Aproximacao polinomial de
funcoes
Este captulo vai lhe apresentar o objetivo deste livro: a modela-
gem matem atica usando aproxima cao 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-
grange.

E o que chamamos de metodo cl assico e que foi utilizado
ate 1950.
Com o metodo cl assico, que consiste em fazer passar um po-
lin omio pelos pontos conhecidos de uma fun cao, para obter-se uma
boa aproxima cao 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 construido
a
,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 v arios polinomios, um para cada intervalo da malha.

E o que chamamos polin omios por peda cos, ou uma polinomial e


nalmente vieram os splines, e os metodos nitos que muito se
parecem: ambos sao polinomiais.
A parte nal deste captulo faz a constru cao dos splines por con-
volu cao.
a
Lagrange, (1736-1813)
101
CAP

ITULO 4. SPLINES 102


4.1 Aproxima cao polinomial classica
Come caremos pela aproximac ao polinomial cl assica, na verdade com um unico
objetivo em mente, mostrar que ela exige uma amostragem muito grande do
fen omeno para que se possa obter uma boa aproxima cao e, consequentemente,
n ao e pr atica (computacional). Ela servira como motiva cao para o assunto
das ultimas se coes, aproximac ao polinomial por peda cos e nalmente para os
splines.
A ideia intuitiva, e ingenua
1
, para aproxima cao polinomial ou interpola c ao
polinomial de n + 1 pontos
(x
0
, y
0
) (x
n
, y
n
) (4.1)
consiste em encontrar-se um polinomio
P(x) = a
0
+a
1
x + +a
m
x
m
tal que
P(x
k
) = y
k
; k {0, n} (4.2)
Como as incognitas do problema sao os coecientes de P e como temos n+1
condi coes, vemos que P deve ter no mnimo n + 1 coecientes: um polinomio
de grau n.
Uma solu cao para este problema pode ser obtida com um sistema de n + 1
equa coes nas n + 1 incogntas representadas pelos coecientes de P
P(x) = a
0
+a
1
x + +a
n
x
n
(4.3)
Vamos come car brincando um pouco com varias interpola coes polinomiais
tendo como objetivo mostrar-lhe que gnuplot e um excelente instrumento para
testes porque lhe permite somar polinomios ou multiplica-los por constantes e
portanto pesquisar sadas para um problema para o qual voce nao tiver ainda
um modelo de solu cao.
gnuplot e uma m aquina de calcular com potencialidades bem elevadas e e
isto que lhe queremos mostrar, inicialmente.
4.1.1 Analise de dois casos particulares
Interpolando pontos sobre o eixo OX
Considerarmos o caso em que y
k
= 0 para todo k, podemos facilmente ver que
h a muitas solu coes para este problema e assim discutir a existencia de uma
solu cao otima. Veja na gura (g. 4.1) pagina 103, as m ultiplas solu coes, para
1
veremos mais adiante que existe uma solu c ao, de Lagrange, que n ao e nem ingenua e nem
intuitiva
CAP

ITULO 4. SPLINES 103


1.5
1
0.5
0
0.5
1
1.5
2
2.5
3
3.5
4 2 0 2 4 6
P(x)
g(x)
0
Figura 4.1: Duas solu c oes do problema homogeneo
o problema particular, construidas com gnuplot
Esta modelagem com gnuplot foi produzida com o seguinte script que pode
ser encontrado aqui, [20, programas.tgz].
## splines01.01.gnuplot e o nome do arquivo
a0=5;a1=2;a2=-2;a3=-4
p(x) = (x - a0)*(x-a1)*(x-a2)*(x-a3)
dp(x) = (x-a0)*(x-a1)*(x-a2) + (x-a0)*(x-a1)*(x-a3) +\
(x -a0)*(x-a2)*(x-a3) + (x-a1)*(x-a2)*(x-a3)
set xrange [a3-1:a0+1]
plot p(x),dp(x),0
pause -2
M = 470.0 ## modulo maximo da derivada (visualmente)
P(x) = (1/M)*p(x)
dP(x)=(1/M)*dp(x)
plot P(x), dP(x),0
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.01.fig
Neste caso particular, quando estivermos interpolando pontos de um inter-
valo contido em R, qualquer m ultiplo de uma solu cao e tambem uma solu c ao,
e a soma de duas solu coes e tambem uma solu cao produzindo um espa co ve-
CAP

ITULO 4. SPLINES 104


torial de soluc oes e voce pode se divertir procurando a dimensao deste espa co
vetorial. . .
Ao construir a solu cao do problema:
zemos o gr aco de p, p

= dp
m odulo m aximo calculamos, visualmente, o modulo maximo de p

. Existe
um teorema que garante que o modulo maximo de um polinomio ocorre na
fronteira de um disco que contem este intervalo considerado.

E o teorema
do m odulo m aximo e a gura (g. 4.2) pagina 104, e uma ilustra cao do
teorema do m odulo m aximo estudado em variaveis complexas. A gura
justica porque preferimos calcular visualmente o maximo da derivada;
usamos como coeciente
1
M
; M = 470.0 ; M = max(|p

(x)|)
que e o valor do m odulo m aximo da derivada de p no intervalo I = [a3
1, a0 + 1];
redenimos o polinomio, P(x) =
1
M
p(x), portanto reduzimos a oscila c ao
2
do polinomio P no intervalo I.
Se y
k
= r uma constante r R, qualquer solu cao P do problema ho-
mogeneo, somada de r, e uma solu cao deste problema nao homogeneo.
Lembra a solu cao de um sistema linear e de fato e uma questao de

Algebra
Linear. Veja que n ao e possvel obter todas as solu coes do problema n ao
homogeneo sem considerar o caso homogeneo.
Mdulo mximo
O mdulo mximo
no plano complexo
pr imagem do
ponto de mdulo
mximo
Figura 4.2: O teorema do m odulo m aximo
Esta an alise sugere a existencia de uma solu cao otima. Vamos ver que existe
uma solu cao unica para o problema que e tambem, em um certo sentido, otima.
Os exerccios seguintes devem conduz-lo a uma compreensao da oscila c ao
dos polinomios interpolantes associada a densidade da malha representada pelos
2
Observe que para reduzir a oscila c ao do polin omio fomos buscar o m odulo m aximo da
derivada
CAP

ITULO 4. SPLINES 105


pontos a serem interpolados. Quanto mais densa a malha, menor a oscila cao
no interior do intervalo em que se encontram os pontos (n os) da malha. Os
exerccios tambem lhe apresentam scilab que e um pacote para fazer

Algebra
Linear, [23].
Exerccios 13 Interpola c ao e oscila c ao de um polin omio
1. O gr aco na gura (g. 4.1) foi produzido com o script
splines01.01.gnuplot
que se encontra aqui [20, programas.tgz]. Edite este script e fa ca alguns
experimentos com polin omios. Eis algumas sugest oes:
encontre uma famlia de polin omios que que interpolem os pontos
{(a
0
, r), (a
1
, r), (a
2
, r), (a
3
, r), (a
4
, r)} (4.4)
escolha os valores de a
i
diretamente dentro do script do gnuplot;
Construa um polin omio que passa em dois pontos escolhidos com uma
oscila c ao especicada.
solu cao: splines01.02.gnuplot, [20, programas.tgz].
Mais difcil: construa um polin omio com oscila c ao especicada que
passe em alguns pontos escolhidos. Voce vai precisar de resolver um
sistema de equa c oes. . .
2. interpola c ao linear Tudo que sabemos sobre um fen omeno f medido sobre
o intervalo [a, b] s ao os valores do fen omeno nos pontos a, b, c:
[a, b] = [3, 5] ; f(3) = 7; c = 0f(c) = 2; f(5) = 1 (4.5)
Interpole,linearmente, estas informac oes estimando qual poderia ser o
valor de f nos pontos
{2, 0, 2} (4.6)
Fa ca um gr aco ilustrativo.
Solu cao 2 Veja o gr aco na gura (g. 4.3) p agina 106,
Esta fun c ao est a denida 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 (4.7)
x = 0 (x 0)f(x) = 2 + (3/5) x; f(0) = 2 (4.8)
x = 2 (x 0)f(x) = 2 + (3/5) x; f(2) = 0.8 (4.9)

CAP

ITULO 4. SPLINES 106


-2
-1
0
1
2
3
4
5
6
7
-3 -2 -1 0 1 2 3 4 5
f(x)
0
Figura 4.3: Aproxima c ao linear por peda cos - 1-spline
3. interpolac ao n~ao linear Temos as informac oes f(x
k
) sobre f denida no
intervalo [a, b]:
[a, b] = [3, 5]; x
0
= 3; x
1
= 2; x
2
= 0; x
3
= 2; x
4
= 5 (4.10)
f(3) = 7; f(2) = 3; f(0) = 3; f(2) = 0; f(5) = 1 (4.11)
Encontre um polin omio do quarto grau
P(x) = a
0
+a
1
x +a
2
x
2
+a
3
x
3
+a
4
x
4
(4.12)
tal que
P(x
k
) = f(x
k
) (4.13)
interpolando n ao linearmente as informac oes contidas na (eq. 11). Use
esta interpolac ao para obter uma estimativa dos valores de f nos pontos
{1, 1, 3} (4.14)
Faca um gr aco ilustrativo.
Solu cao 3 As informac oes que temos nos permitem montar a tabela
x
k
-3 -2 0 2 5
y
k
7 3 -3 0 1
P(3) = a
0
3a
1
+ 9a
2
27a
3
+ 81a
4
= 7 (4.15)
P(2) = a
0
2a
1
+ 4a
2
8a
3
+ 16a
4
= 3 (4.16)
CAP

ITULO 4. SPLINES 107


P(2) = a
0
= 3 (4.17)
P(2) = a
0
+ 2a
1
+ 4a
2
+ 8a
3
+ 16a
4
= 0 (4.18)
P(5) = a
0
+ 5a
1
+ 25a
2
+ 125a
3
+ 625a
4
= 1 (4.19)
3a
1
+ 9a
2
27a
3
+ 81a
4
= 11 (4.20)
2a
1
+ 4a
2
8a
3
+ 16a
4
= 6 (4.21)
2a
1
+ 4a
2
+ 8a
3
+ 16a
4
= 3 (4.22)
5a
1
+ 25a
2
+ 125a
3
+ 625a
4
= 4 (4.23)
_

_
3 9 27 81
2 4 8 16
2 4 8 16
5 25 125 625
_

_
_
_
_
_
a
1
a
2
a
3
a
4
_
_
_
_
=
_
_
_
_
11
6
3
4
_
_
_
_
(4.24)
Vamos primeiro usar scilab para resolver o sistema de equa c oes depois
vamos mostrar uma outra forma de resolver o problema associado com o
que zemos no captulo 1, usando a ideia (n ao o conceito) de polinomio
de Taylor. Com scilab resolvemos qualquer sistema de equa c oes portanto
n ao precisamos de tecnicas mais avan cadas de calculos manuais (que mos-
traremos depois).
a = [-3 , 9 , -27 , 81 ;
-2 , 4 , -8, 16 ;
2 , 4 , 8 , 16 ;
5 , 25 , 125 , 625]
a =
! - 3. 9. - 27. 81. !
! - 2. 4. - 8. 16. !
! 2. 4. 8. 16. !
! 5. 25. 125. 625. !
-->b=[11 ; 6 ;3 ;4]
b =
! 11. !
! 6. !
! 3. !
! 4. !
-->a\b
ans =
! - 0.6880952 !
! 1.2678571 !
! - 0.0154762 !
CAP

ITULO 4. SPLINES 108


! - 0.0357143 !
-->function y = f(x)
-->y =-3 -0.6880952*x + 1.2678571*x*x - 0.0154762*x*x*x - 0.0357143*x*x*x*x
-->endfunction
-->f(0) = - 3.
-->f(-3) = 7.9999986
-->f(-2) = 2.9999996
-->f(2) = - 0.0000004
-->f(5) = 0.999989
a
0
= 3; a
1
= 0.6880952; a
2
= 1.2678571; (4.25)
a
3
= 0.0154762; a
4
= 0.0357143 (4.26)
Observe o erro apreci avel no c alculo de f(3) = 7.9999986 cometido
usando scilab. O erro n ao e do scilab mas do metodo, uma interpola c ao
polinomial de grau 4 das quatro informac oes obtidas de uma tabela.
Devemos ainda calcular, usando a interpola c ao polinomial, os valores de
f(1), f(1), f(3), com scilab
-->f(-1) = - 1.0642858
-->f(1) = - 2.4714286
-->f(3) = 3.0357126
Veja o gr aco deste polin omio, feito com scilab na gura (g. 4.4) p agina
109,

Outra soluc ao, de acordo com o que desenvolvemos no captulo 1, vamos


desenvolver o polin omio no ponto x = 3
f(x) = a
0
+a
1
(x + 3) +a
2
(x + 3)
2
+a
3
(x + 3)
3
(4.27)
a
0
= 7 (4.28)
CAP

ITULO 4. SPLINES 109


4
2
0
2
4
6
8
3 2 1 0 1 2 3 4 5
f(x)
0
Figura 4.4: interpola c ao polinomial dos pontos
_

_
f(2) = 7 +a
1
+a
2
+a
3
= 3
f(0) = 7 + 3a
1
+ 9a
2
+ 27a
3
= 3
f(2) = 7 + 5a
1
+ 25a
2
+ 125a
3
= 0
f(5) = 7 + 8a
1
+ 64a
2
+ 512a
3
= 1
(4.29)
_

_
a
1
+a
2
+a
3
= 10
3a
1
+ 9a
2
+ 27a
3
= 4
5a
1
+ 25a
2
+ 125a
3
= 7
8a
1
+ 64a
2
+ 512a
3
= 8
(4.30)
Resolvendo este sistema de equa c oes com scilab temos
a = [1 , 1 , 1 ; 3, 9, 27; 5, 25, 125; 8, 64, 512]
CAP

ITULO 4. SPLINES 110


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 diculdades de obter uma interpola c ao
con avel com polin omios de grau alto determinado pelo n umero de in-
formac oes. Aqui foram polin omios de grau pequeno porque tambem temos
poucas informac oes.
4. Faca uma pequena dissertac ao descrevendo quem e f e P na quest ao
(ex.3). Use em sua redac ao algumas das palavras: interpola cao, linear,
estimativa, aproxima cao, modelo.
5. interpolac ao n ao linear Calcule o polinomio m onico
3
p que interpola os
pontos
(7.5, 0), (2.5, 0), (2.5, 0), (7.5, 0)
6. C alcule o m odulo m aximo M de p no intervalo [3, 4] e dena P(x) =
p(x)
M
. Calcule Max
x[3,4]
P(x) resposta oscila c ao = 0.6
7. interpolac ao n ao linear Refaca a quest ao considerando os pontos
(7.5, 0), (1, 0), (1, 0), (7.5, 0)
.
3
se chama polin omio m onico aquele cujo coeciente do termos de maior grau e 1
CAP

ITULO 4. SPLINES 111


x0 = -7.5; x1=-2.5; x2=2.5; x3=7.5;
p(x)=(x-x0)*(x-x1)*(x-x2)*(x-x3)
dp(x)=(x-x0)*(x-x1)*(x-x2)+(x-x0)*(x-x1)*(x-x3)+(x-x0)*(x-x2)*(x-x3)+\
(x-x1)*(x-x2)*(x-x3)
set xrange [x0:x3]
## quando a particao nao for uniforme altere a etiqueta
set title "uniforme" ## altere esta etiqueta para "nao uniforme"
plot p(x),dp(x),0
pause -2
M=1/1470.0 ## calcule este valor e substitua aqui
P(x) = M*(x-x0)*(x-x1)*(x-x2)*(x-x3)
dP(x) = M*((x-x0)*(x-x1)*(x-x2)+(x-x0)*(x-x1)*(x-x3)+(x-x0)*(x-x2)*(x-x3)+\
(x-x1)*(x-x2)*(x-x3))
plot P(x),dP(x),0
pause -2
8. Comparando as quest oes (ex. 5) e (ex. 7), verique que, se os n os for-
marem uma parti c ao uniforme, a oscila c ao de P e da derivada P

do
polin omio que interpola os pontos e diferente. Identique em que caso a
oscila c ao e menor, sobre o intervalo determinado pelos pontos a serem
interpolados.
resposta oscila c oes 0.6 e 1
Interpolando pontos do plano
Nos exemplos desenvolvidos, mostramos como interpolar n + 1 pontos selecio-
nados num intervalo [a, b] contido em R. Tambem mostramos a baixa precisao
que existe neste metodo ingenuo de interpolar justicando assim que devemos
procurar metodos mais ecientes.
O nosso objetivo entretanto e, considerada uma cole cao de n os sobre um
intervalo [a, b]
a = x
0
< x
1
< < x
n1
< x
n
= b (4.31)
e um correspondente conjunto de valores
{y
0
, y
1
, . . . , y
n1
, y
n
} (4.32)
como poderiamos interpolar, polinomialmente, os pontos
{(x
0
, y
0
), (x
1
, y
1
), . . . , (x
n
, y
n
)} (4.33)
ou ainda, encontrar um polinomio P cujo gr aco passe por estes pontos. No
exemplo anterior zemos isto quando y
k
= 0 para todo k.
Da mesma forma como
dois pontos determinam uma reta, um polinomio de grau 1, porque os dois
pontos determinam os dois coecientes da reta que passa por estes pontos,
CAP

ITULO 4. SPLINES 112


tambem n + 1 pontos determinam um polinomio de grau n, os n + 1
coecientes do polinomio, que os interpola.
Um segmento de reta, um polinomio de grau 1, e a forma de interpolar dois pontos.
A forma eciente de interpolar n + 1 pontos deve ser um polinomio de grau n.
4.1.2 A solucao geral do problema
Resolver o problema geral de interpola cao polinomial classica
(x
0
, y
0
) (x
n
, y
n
) (4.34)
consiste em encontrar um polinomio P de grau n tal que
P(x
k
) = y
k
; k {0, n}. (4.35)
seremos conduzidos a resolver um sistema de n + 1 equa coes cujas incognitas
sao os coecientes de um polinomio do grau n + 1
a
0
, a
1
, , a
n
(4.36)
P(x) = a
0
+a
1
x + +a
n
x
n
(4.37)
_

_
P(x
0
)
.
.
.
P(x
n
)
_

_ =
_

_
y
0
.
.
.
y
n
_

_ = (4.38)
_

_
P(x
0
) = y
0
P(x
1
) = y
1
.
.
.
.
.
.
P(x
n
) = y
n
=
_

_
a
0
+a
0
x
0
+ +a
n
x
n
0
= y
0
a
0
+a
0
x
1
+ +a
n
x
n
1
= y
1
.
.
.
.
.
.
a
0
+a
0
x
n
+ +a
n
x
n
n
= y
n
(4.39)
_

_
P(x
0
)
.
.
.
P(x
n
)
_

_ =
_

_
1 x
0
x
2
0
x
n
0
1 x
1
x
2
1
x
n
1
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
x
n
n
_

_
_

_
a
0
a
1
.
.
.
a
n
_

_
=
_

_
y
0
y
1
.
.
.
y
n
_

_
(4.40)
A
_

_
a
0
a
1
.
.
.
a
n
_

_
=
_

_
y
0
y
1
.
.
.
y
n
_

_
(4.41)
Este e um sistema muito especial cuja matriz Ae uma matriz de Vandermonde
4
e
sabemos, da

Algebra Linear que o valor do seu determinante e obtido pelo
produto das diferen cas entre os seus elementos caractersticos
x
0
, x
1
, x
2
, , x
n
(4.42)
4
Alexandre Vandermonde, matem atico frances (1735-1796).
CAP

ITULO 4. SPLINES 113


(x
0
x
1
) (x
0
x
n
)(x
1
x
2
) (x
1
x
n
) (4.43)
(x
k
x
k+1
) (x
k
x
n
) (x
n1
x
n
) = (4.44)
=
i>j
(x
i
x
j
) = V an((x
i
)
n
i=0
) = D (4.45)
em que V an((x
i
)
n
i=0
) representa o determinante da matriz de Vandermonde,
de ordem n + 1, ver [12, p agina 301] ou [29, Vandermonde], cujos elementos
caractersticos est ao listados entre parenteses como parametros.
Este produto e diferente de zero, porque os nos
5
sao todos diferentes (n ao
teria sentido haver nos repetidos). Consequentemente a solu cao do sistema
existe e unica. Isto demonstra o teorema
Teorema 6 da interpola c ao polinomial de Lagrange
Dada uma parti c ao de um intervalo [a, b] com n + 1 nos,
{a = x
0
, . . . , x
n
= b} (4.46)
existe um unico polin omio de grau menor ou igual a n passando pelos pontos
(x
0
, y
0
) (x
n
, y
n
) (4.47)
O unico polinomio identicado no (teorema 6) pode ser calculado a partir do
sistema de equa coes descrito acima, mas este metodo conduz ` a f ormulas muito
difceis de expressar. Em vez disto vamos usar um metodo algortmico que vai
conduzir a uma f ormula mais simples para encontrar este polinomio.
Os exerccios seguintes sao um tutorial para conduz-l@ a
6
entender o cha-
mado metodo de Lagrange para determina cao deste unico polinomio de grau n
que interpola os pontos
{(x
0
, y
0
), (x
1
, y
1
), . . . , (x
n
, y
n
)} (4.48)
associados ` a malha
a = x
0
< x
1
< < x
n
= b (4.49)
sobre o intervalo [a, b].
Exerccios 14 Tutorial sobre polin omio de Lagrange
Estes exerccios v ao conduz-lo a entender o que e um polin omio de inter-
pola c ao de Lagrange. Os exerccios marcados com asterisco podem ser ignora-
dos, porque n ao ser ao usados em nenhum local do livro.
1. derivada algoritmica Considere
P(x) = (x x
1
)(x x
2
)(x x
3
) (4.50)
Verique que
P

(x) = (x x
1
)(x x
2
) + (x x
1
)(x x
3
) + (x x
2
)(x x
3
) = (4.51)
P

(x) = P
1
(x) +P
2
(x) +P
3
(x) (4.52)
5
pontos da malha de precis ao
6
mas descoberto por Edward Waring (1736-1798) e por Leonard Euler (1707-1783)
CAP

ITULO 4. SPLINES 114


em que (nota cao)
P
1
(x) =
P(x)
x x
1
; P
2
(x) =
P(x)
x x
2
; P
3
(x) =
P(x)
x x
3
(4.53)
Solu cao 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 x
2
)(x x
3
) + (x x
1
)(x x
3
) + (x x
1
)(x x
2
)
uma soma de produtos em que, sucessivamente, cada um dos fatores ori-
ginais foi eliminado (trocado por 1).

E razo avel designarmos
P
1
(x) = (x x
2
)(x x
3
) =
P(x)
xx1
; (4.54)
P
2
(x) = (x x
1
)(x x
3
) =
P(x)
xx2
; (4.55)
P
3
(x) = (x x
1
)(x x
2
) =
P(x)
xx3
(4.56)
e desta forma
P

(x) = P
1
(x) +P
2
(x) +P
3
(x) (4.57)
em que P
k
e o polin omio sem o fator (x x
k
) ou ainda e o quociente
P(x)
xxk
.
Vamos usar esta notac ao no pr oximo exerccio.

2. Verique que se
P(x) = (x x
1
)(x x
2
)(x x
3
) (4.58)
ent ao
(a) P
j
(x
k
) = 0 se j = k
(b) P
k
(x
k
) = 0
(c) Para todo k P

(x
k
) = 0
Esboce o gr aco de P e tente uma justicativa geometrica para o fato de
que a derivada de P e diferente de zero se as razes forem distintas.
Solu cao 5 (a) P
j
tem todos os fatores (x x
k
) exceto (x x
j
) logo
P
j
(x
k
) = 0 se j = k.
Como (xx
j
) n ao e fator de P
j
ent ao P
j
(x
j
) = 0. Vemos assim que
o valor de P
j
(x
k
) e
_
P
j
(x
k
) = 0 j = k
P
j
(x
k
) = 0 j = k
(4.59)
CAP

ITULO 4. SPLINES 115


(b) O c alculo da derivada P

(x
k
):
P

(x) =
3

k=1
P
k
(x) (4.60)
dado k P

(x
k
)
3

j=1
P
j
(x
k
) (4.61)
P

(x
k
) = P
k
(x
k
) = 0 (4.62)
porque todos os termos em que j = k se tem P
k
(x
j
) = 0. Portanto
P

e diferente de zero em todos os n os e o seu valor e P


k
(x
k
) em x
k
.
Veja o esbo co gr aco de P na gura (g. 4.5) p agina 115, As retas
x1 x2
x3
P
Figura 4.5: Polin omio de Lagrange
tangentes tem por coeciente angular o valor da derivada de P no
ponto
m
1
= P

(x
1
) e coeciente angular em x
1
(4.63)
m
2
= P

(x
2
) e coeciente angular em x
2
(4.64)
m
3
= P

(x
3
) e coeciente angular em x
3
(4.65)
(4.66)

3. Verique que se
P(x) = (x x
1
)
2
(x x
2
)(x x
3
) (4.67)
ent ao P

(x
1
) = 0.
Verique que denindo
P
1
(x) =
2P(x)
x x
1
; P
2
(x) =
P(x)
x x
2
; P
3
(x) =
P(x)
x x
3
CAP

ITULO 4. SPLINES 116


ent ao P

=
3

k=1
P
k
.
Esboce o gr aco de P e tente uma justicativa 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) =
n
k=1
(x x
k
) (4.68)
(a) Verique que
P

(x) =
n

k=1
P
k
(x) (4.69)
em que, para cada k, P
k
(x) =
P(x)
xxk
.
(b) Encontre uma lei que descreva os valores P
k
(x
j
)
(c) Prove que se P for um polin omio denido pela equa c ao (eq. 68) e as
raizes x
k
todas distintas, ent ao P

(x
k
) = 0 para todo k = 1 . . . n, o
valor da derivada, em todos os n os, e diferente de zero.
(d) Faca um esboco gr aco de P e escreva uma pequena reda c ao justi-
cando, com uma argumenta c ao geometrica, porque P

(x
k
) = 0.
Solu cao 6 (a)

E uma generaliza c ao dos exerccios anteriores, agora te-
mos um produto de n mon omios, todos tendo por derivada 1. Quando
aplicarmos a derivada do produto teremos uma soma de n novos pro-
dutos, cada com n 1 termos em cada um dos quais aparentemente
dividimos P por cada um dos fatores, sucessivamente:
P
1
=
P(x)
xx1
(4.70)
P
2
=
P(x)
xx2
(4.71)
.
.
. (4.72)
P
n
=
P(x)
xxn
(4.73)
P

(x) = P
1
(x) +P
2
(x) + +P
n
(x) (4.74)
P

(x) =
n

k=1
P
k
(x) (4.75)
(b) Valor de P
k
(x
j
).
Para cada k, o polin omio P
k
(x) e um produto de n 1 termos em
que o fator (x x
k
) n ao est a presente, logo
P
k
(x
k
) = 0.
CAP

ITULO 4. SPLINES 117


Por outro lado todos os fatores (x x
j
) com j = k est ao presentes
em P
k
(x) e assim
P
k
(x
j
) = 0 j = k.
(c) C alculo de P

(x
j
)
P

(x
j
) =
n

k=1
P
k
(x
j
) = P
j
(x
j
) = 0 (4.76)
O gr aco de P corta o eixo OX em todos os n os se alternando com m aximo
ou mnimos locais entre as razes.

E um gr aco semelhante ao que voce
pode ver na gura (g. 4.5) p agina 115.

5. * Verique (tente uma demonstra c ao) se P for dado pela equa c ao (eq. 68)
com todos os x
k
distintos, ent ao as raizes de P e P

se entrela cam (tem


uma) raz de P

entre duas raizes de P. Escreva um teorema descrevendo


inteiramente esta situa c ao.
Solu cao 7 Como as razes s ao todas distintas, (n ao h a razes m ultiplas)
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
mnimo
7
local, ent ao P

tem uma raz entre duas razes de P.

6. * Por que a teoria do item anterior falha se houver raizes m ultiplas em


(eq. 68) ?
Solu cao 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
f(x) = (x a)
n
g(x) (4.77)
f

(x) = n(x a)
n1
g(x) + (x a)
n
g

(x) = (4.78)
f

(x) = (x a)[n(x a)
n2
g(x) + (x a)
n1
g

(x)] (4.79)
f

(a) = 0 (4.80)
ent ao x = a tambem e raz de f

7
quem garante isto e a continuidade
CAP

ITULO 4. SPLINES 118


7. * A hip otese essencial na teoria do exerccio (exer. 5) e que P e uma
func ao contnua e P

tambem e contnua. Generalize o (exer. 5 ) com


estas duas hip oteses, para uma fun c ao f que e contnua e continuamente
diferenci avel.
8. *oscilac ao da derivada(1) Considere P(x) = x
2
a
2
. Encontre uma condi c ao
para que o m aximo da derivada P

seja maior do que o m aximo de P no


intervalo que contem as razes
8
[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 acos fo-
rem transladados...
9. *oscilac ao da derivada(2) Verique que para P(x) = x(x
2
1) o m aximo
da derivada P

e maior do que o m aximo de P no intervalo que contem


as razes [1, 1]
10. Polin omio interpolando pontos no plano
(a) Considere a sequencia de n os
{2.5, 1.5, 0.5, 2, 3} [3, 3]
e encontre P com estas razes e calculo o m odulo m aximo, M, de P

.
(b) Soluc ao otima Calcule os coecientes de Q = P/M
(c) Considere os pontos do plano
{(2.5, 0), (1.5, 2), (0.5, 3), (0.5, 3), (1.5, 1), (2.5, 2)}
e calcule um polin omio que interpole este pontos usando o polin omio
Q. Faca os gr acos.
11. polin omio de Lagrange Considere a seq uencia de n os
x
k
{2.5, 1.5, 0.5, 2, 3} [3, 3]
do intervalo [3, 3]. Seja P o polin omio m onico
9
que tem estes n os como
razes. E dena P
k
(x) =
P(x)
xxk
.
(a) Calcule P

.
(b) Mostre que
P

=
5

k=1
P
k
.
8
a condi c ao a > 0 n ao e essencial, apenas facilita a apresenta c ao do problema.
9
aquele cujo coeciente do termo de maior grau e 1, obtido com os produtos
(x x1) (x x5).
CAP

ITULO 4. SPLINES 119


(c) Mostre que
P
j
(x
k
) = 0 = j = k
(d) Mostre que
P

(x
j
) = P
j
(x
j
)
(e) Dena
f(x) =
5

k=1
P
k
(x)
P

(x
k
)
Verique que f e um polin omio de grau no m aximo 5. Calculando
seus valores sobre os n os, verique sua equa c ao.
(f ) Considere a seguinte sucess ao de dados y
k
{4, 1, 2, 5, 7} e re-
dena f(x) =
5

k=1
ykPk(x)
P

(xk)
. Mostre que f(y
k
) = y
k
e que, portanto, o
polin omio f interpola os pontos
(2.5, 4), (1.5, 1), (0.5, 2)(2, 5), (3, 7)
do plano.
(g) polin omio de Lagrange Considere uma seq uencia de n os
(x
k
)
n
k=0
[, ]
Seja P o polin omio m onico
10
que tem estes n os como razes. E dena
P
k
(x) =
P(x)
xxk
.
i. Calcule P

.
ii. Mostre que
P

=
n

k=0
P
k
.
iii. Mostre que
P
j
(x
k
) = 0 = j = k
iv. Mostre que
P

(x
j
) = P
j
(x
j
)
v. Dena
f(x) =
n

k=0
P
k
(x)
P

(x
k
)
Verique que f e um polin omio de grau no m aximo n. Calcu-
lando seus valores sobre os n os, verique sua equa c ao.
10
aquele cujo coeciente do termo de maior grau e 1, obtido com os produtos
(x x1) (x x8).
CAP

ITULO 4. SPLINES 120


vi. Considere uma sucess ao de dados (y
k
)
n
k=0
e redena f(x) =
n

k=0
ykPk(x)
P

(xk)
. Mostre que f(y
k
) = y
k
e que, portanto, o polin omio
f interpola os pontos
((x
k
, y
k
)
n
k=0
)
do plano.
(h) Considere uma sucess ao (crescente) de n os (x
k
)
n
k=0
de um intervalo
[a, b]. Seja P o polin omio m onico
11
que tem estes n os como razes. E
dena P
k
(x) =
P(x)
xxk
. Verique que
i.
P

=
n

k=0
P
k
ii.
P
j
(x
k
) = 0 = j = k
iii.
P
j
(x
j
) = P

(x
j
)
iv. f(x) =
n

k=0
Pk(x)
P

(xk)
e um polin omio de grau no m aximo n. Calcu-
lando seus valores sobre os n os, verique sua equa c ao.
v. Polin omio de Lagrange Considere uma sucess ao de dados (y
k
)
n
k=0
e redena f(x) =
n

k=0
ykPk(x)
P

(xk)
. Mostre que f(y
k
) = y
k
4.1.3 Interpolacao polinomial de Lagrange
Se voce tiver feito o tutorial sobre polin omio de Lagrange esta se cao representa
apenas um resumo do que foi feito no tutorial e possivelmente pode ser pulada.
Considere dois pontos no plano, eles determinam uma reta que e o graco de
um polinomio de grau menor
12
ou igual a 1. Isto e dois pontos sao interpolados
por um polinomio de grau menor que dois. Tres pontos sao interpolados por
uma parabola ou uma reta, novamente o grau e menor do que a quantidade de
pontos.
Assim, se quisermos interpolar n+1 pontos, deveremos obter um polinomio
de grau no m aximo n cujos n + 1 coecientes cam unicamente determinados
pelos n +1 pontos dados. Ali as, o fato de havermos encontrado uma multitude
de solu coes e um indicativo da fraqueza do metodo. Por outro lado, observe
que o adjetivo fraqueza e enganoso uma vez que na verdade a nossa conclusao
11
aquele cujo coeciente do termo de maior grau e 1, obtido com os produtos
(x x0) (x xn).
12
salvo no caso em que os pontos estejam sobre uma paralela ao eixo OY ...
CAP

ITULO 4. SPLINES 121


deveria ser a de que existe excesso de informac oes e este excesso de informac oes
pode ser algumas vezes usado para obter melhor solu cao em outro contexto.
Guarde este comentario para uso posterior.
Vamos fazer um resumo do metodo, devido a Lagrange
13
para construir um
polinomio de grau menor ou igual a n interpolando n + 1 pontos
(x
0
, y
0
), (x
n
, y
n
) ; x
0
< x
1
< < x
n
dados.
O metodo de Lagrange representa uma alternativa, usando a derivada, para
limitar a oscila cao do polinomio de interpola cao.
Como habitual, chamamos os pontos x
0
, . . . , x
n
I = [a, b] de nos de uma
malha que consideramos no intervalo I. Como sempre,
a = x
0
, b = x
n
sao os extremos do intervalo considerado.
Estes nos que denem uma parti cao do intervalo I sao chamados de pon-
tos de precis ao porque neles conhecemos exatamente a fun cao que est a sendo
estudada, por exemplo, eles sao os pontos em que est ao colocados os sensores
que mediram algum fen omeno. Se estivermos aproximando alguma fun cao g, a
fun cao aproximante f que ser a construida por algum dos metodos que estuda-
remos neste captulo, conncidir a com g nestes pontos: f(x
k
) = g(x
k
).
A parti cao n ao precisa ser uniforme, embora seja pr atico, nas implementa coes
computacionais, considerar parti coes uniformes porque simplica a constru cao
do algoritmo. Voce ir a encontrar, entre os nossos programas, um meio para tra-
balhar com parti coes n ao uniformes, que podem ser uteis em alguns contextos,
como na an alise de de fen omenos com alta oscila cao, ou piques.
Portanto a medida dos intervalos I
k
= [x
k
, x
k+1
] n ao precisa ser a mesma.
Come camos considerando o polinomio
Q(x) = (x x
0
) (x x
n
) (4.81)
de grau n + 1 cuja derivada e obtida pela regra do produto, acompanhe a
sequencia de opera coes que lhe devem ser familiares, como consequencia de
exerccios anteriores:
P
k
(x) =
P(x)
xxk
um polinomio de grau n (4.82)
P

(x) =
n

k=0
P
k
(x) (4.83)
P
k
(x
k
) = P

(x
k
) (4.84)
P
k
(x
j
) = 0 == j = k (4.85)
f(x) =
n

k=0
Pk(x)
P

(xk)
(4.86)
f(x
k
) =
n

k=0
Pk(xk)
P

(xk)
=
Pk(xk)
P

(xk)
=
P

(xk)
P

(xk)
= 1 (4.87)
13
mas descoberto por Edward Waring (1736-1798) e por Leonard Euler (1707-1783)
CAP

ITULO 4. SPLINES 122


como f e uma combina cao de polinomios de grau n entao e um polinomio cujo
grau e no m aximo n. Como os valores deste polinomio nos n + 1 nos sao a
unidade, podemos concluir que f e constante igual a 1. As experiencias feitas
com gnuplot na lista de exerccios acima ja evidenciou estes fatos.
Quer dizer que a expressao
n

k=0
Pk(xk)
P

(xk)
e uma combina cao linear convexa
(uma soma de pesos), para todos os valores de x no intervalo [a, b]. Se portanto
escolhermos uma cole cao de n + 1 valores, cada um deles associados a um dos
n os podemos denir:
g(x) =
n

k=0
y
k
P
k
(x)
P

(x
k
)
(4.88)
e como o valor da soma, em cada n o era 1, agora
g(x
k
) = y
k
o que nos d a um polinomio de grau n passando por n + 1 pontos escolhidos no
intervalo [a, b].
O polinomio de grau n, equa cao (88), e o polinomio de interpola cao de
Lagrange.
4.2 Fun coes polinomiais por pedacos
A forma mais simples de interpolar uma cole c ao de pontos do plano consiste em lig a-los por
segmentos de reta: a poligonal cujos vertices s ao os pontos dados. Aqui vamos considerar
um caso particular em que os pontos dados representam valores de uma fun c ao hipotetica
dena em um intervalo [, ], os valores obtidos pelas medi c oes de um sensor ao longo de um
intervalo do tempo. Nestas condi c oes as abcissas destes pontos s ao uma sequencia crescente
de pontos do intervalo [, ],
{ = a0 < a1 < < an = }
e a poligonal mencionada acima e uma funcao linear por pedacos, caso particular do nosso
objetivo. Vamos generalizar o caso das poligonais nesta sec ao construindo os quase-splines,
que s ao fun c oes polin omiais por peda cos do terceiro grau cuja derivada e contnua.
Nesta se cao vamos fazer a constru cao teorica das fun coes polinomiais por
peda cos que j a aparecerem em v arios exerccios e que portanto voce ja esta
praticamente familiarizado com este instrumento. Aqui a linguagem sera mais
formal apenas.
Alguns itens da lista de exerccios seguinte servem apenas para relembra-lo
de algumas tecnicas, do C alculo Diferencial e Integral e da Geometria Analtica
que precisaremos na continua cao. Aquilo que lhe parecer trivial voce deve,
simplesmente, saltar.
Exerccios 15 Polin omios por peda cos
CAP

ITULO 4. SPLINES 123


1. Fun c ao linear por peda cos
(a) Considere a seq uencia de n os
x
k
{3, 2.5, 1.5, 0.5, 0.5, 1.5, 2.5, 3} [3, 3]
e a seq uencia de valores correspondente
y
k
{0, 1, 1, 2, 3, 1, 2, 0}
Construa, (fa ca o gr aco) da poligonal que interpola os pontos (x
k
, y
k
).
(b) Chame f a fun c ao cujo gr aco 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 variac ao
d
k
{1, 0, 2, 1, 0, 1, 0, 1}
e consequentemente, em cada intervalo I
k
= [a
k
, a
k+1
] temos quatro in-
forma c oes:
I
k
=
n o valor taxa de variac ao
x
k
y
k
d
k
x
k+1
y
k+1
d
k+1
Encontre, para cada intervalo I
k
, o polin omio
P
k
(x) = a
k,0
+a
k,0
(x x
k
) +a
k,0
(x x
k
)
2
+a
k,0
(x x
k
)
3
que
14
pode ser obtido considerando os valores nos extremos de I
k
, y
k
, y
k+1
e as taxas de variac ao nestes pontos, d
k
, d
k+1
, quer dizer que
P
k
(x
k
) = y
k
P

k
(x
k
) = d
k
P
k
(x
k+1
) = y
k+1
P

k
(x
k+1
) = d
k+1
3. Calcule a quantidade do fen omeno descrito no exerccio (ex. 2 ), por
deni c ao a quantidade de um fen omeno e a integral da func ao que o des-
creve.
4. Considere a seguinte tabela de dados (obtidos por um sensor)
x
k
y
k
d
k
5 7 3
1 3 1
7 5 2
14
dizemos que este polin omio est a desenvolvido no ponto x
k
CAP

ITULO 4. SPLINES 124


em que x
k
s ao os n os da malha e y
k
, d
k
s ao, respectivamente o valor me-
dido e a taxa de variac ao calculada em cada n o. Encontre um polinomio
por peda cos do
15
terceiro grau, P, que represesente o fen omeno no inter-
valo [3, 3] e faca o gr aco.
4.2.1 Um sensor mais inteligente
Retomando a linguagem e a nota cao que usamos na discussao do polinomio de
Lagrange, quando tivermos uma malha
{a = x
0
, . . . , x
n
= b} (4.89)
denindo uma parti cao de um intervalo [a, b], o problema tpico que desejamos
resolver consiste em criar um modelo para um fenomeno cujos valores
{y
0
, . . . , y
n
} (4.90)
sao conhecidos (medidos) sobre os n os. Anteriormente usamos a linguagem
desejamos encontrar um polin omio que passe pelos n + 1 pontos
(x
0
, y
0
) (x
n
, y
n
) (4.91)
agora diremos que desejamos encontrar uma polinomial, uma fun c ao polinomial
por pedacos que passe pelos pontos na equa cao (91).
Uma situa cao pr atica que este problema descreve, consiste de uma serie de
sensores colocados ao longo de uma via por onde passe o fenomeno que desejamos
medir, como um oleoduto e a press ao arterial do uido que nele passe, ou a
velocidade e a intensidade do tr afego em uma estrada, enm, qualquer evento
que possa ser medido controlado por um parametro que pertence a um intervalo.
Este e o signicado de y
k
, a medida tomada no no x
k
, examine os exercicios
(ex. 2) e (ex. 3), p agina 123.
Vamos considerar um sensor de melhor qualidade, capaz de nao somente
medir a intensidade do fen omenos em cada no x
k
mas tambem calcular-lhe a
taxa de variac ao neste ponto. Assim a base de dados que temos e
(x
0
, y
0
, d
0
) (x
n
, y
n
, d
n
) (4.92)
em que y
k
e a intensidade do fen omeno em cada no x
k
e d
n
e a taxa de varia cao
em cada no.
Exemplo 10 Sensor
Vamos mostrar com um pequeno exemplo que a situa c ao descrita acima e
explorada no exerccio 1, do sensor que tambem mede taxas de variac ao, e
realista.
Considere um sensor colocado em uma local estrategico para medir um fen ome-
no que executa as medic oes a intervalos determinados, a cada minuto, por exem-
plo. Mas, ao disparar o medidor, em vez de fazer uma unica medida, faz tres
medic oes, por exemplo, a cada mili-segundo.
15
chamos este tipo de fun c ao de uma polinomial do terceiro grau
CAP

ITULO 4. SPLINES 125


**aqui p agina 24
A base de dados assim levantada ca descrita pela matriz
_

_
x
0
y
0,1
y
0,2
y
0,3
d
0
=
y
0,2
y
0,1
t
1
+
y
0,3
y
0,2
t
2
2
=
y
0,1
t
1
+
y
0,2
t
2
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
n
y
n,1
y
n,2
y
n,3
d
n
=
y
n,2
y
n,1
t
1
+
y
n,3
y
n,2
t
2
2
=
y
n,1
t
1
+
y
n,2
t
2
2
_

_
(4.93)
em que d
k
e o valor medio das duas taxas de variac ao que pudemos calcular
usando as tres medidas nas obtidas em cada n o.
Simplicando, desta matriz de dados vamos fazer uso apenas da submatriz
_

_
x
0
y
0,1
d
0
.
.
.
.
.
.
.
.
.
x
n
y
n,1
d
n
_

_ (4.94)
e vamos simplicar a notac ao
_

_
x
0
y
0
d
0
.
.
.
.
.
.
.
.
.
x
n
y
n
d
n
_

_ (4.95)
esquecendo o metodo como obtivemos as derivadas aproximadas e mesmo ig-
noraremos na continuac ao que se tratam de derivadas aproximadas. Diremos
que d
k
e a derivada no ponto x
n
quer dizer que temos 2(n + 1)informac oes
processadas
16
pelo sensor:
Quatro informac oes em cada sub-intervalo [x
k
, x
k+1
]. Temos
no n o x
k
: y
k
, d
k
(4.96)
no n o x
k+1
: y
k+1
, d
k+1
; (4.97)
Polin^omios por pedacos. Em cada sub-intervalo podemos calcular um
polin omio de grau tres que modela o fen omeno no intervalo [x
k
, x
k+1
];
P
k
(x) = a
k,0
+a
k,0
(x x
k
) +a
k,0
(x x
k
)
2
+a
k,0
(x x
k
)
3
Examine, novamente, os exercicios (ex. 2) e (ex. 3), p agina 123.
Malha com n + 1 n os, com os n + 1 pontos, incluindo os extremos do in-
tervalo, determinammos n subintervalos, temos n polin omios de grau tres
que ir ao modelar o fen omeno no intervalo [a, b];
16
Houve uma quantidade bem maior de informa c oes coletadas, depois de coletadas foram
processadas, ou pelo sensor ou por um programa num computador resultando em 2(n + 1)
informa c oes.
CAP

ITULO 4. SPLINES 126


Polinomial de grau tres e esta fun c ao que estamos chamando de uma po-
linomial de grau tres que usaremos como modelo para os fen omenos que
estamos estudando. A polinomial tambem chamada de fun cao polinomial
por peda cos.
Podemos resumir estes dados na tabela:
_

_
x
0
y
0
d
0
P
0
(x) = a
0,0
+a
0,1
(x x
0
) +a
0,2
(x x
0
)
2
+a
0,3
(x x
0
)
3
.
.
.
.
.
.
.
.
.
.
.
.
x
n
y
n
d
n
P
n
(x) = a
n,0
+a
n,1
(x x
n
) +a
n,2
(x x
n
)
2
+a
n,3
(x x
n
)
3
_

_
(4.98)
H a v arias formas de resolver o exerccio 1. Leia a solu c ao dos exerccios ao
nal do captulo, n os vamos us a-la como metodo de trabalho. Rode os nossos
programas usando-os como exemplos din amicos
17
do texto.
4.2.2 Aproximacao de funcoes
Analise o gr aco (g. 4.6) p agina 126,
grfico da funo
grfico da aproximao
60
40
20
0
20
40
60
10 5 0 5 10
Aproximao de uma funo
"polped"
"precisao"
"XOY"
Figura 4.6: Aproxima c ao de uma fun c ao
Este gr aco (g. 4.6), pode ser reproduzido e inclusive impresso em papel,
usando o programa
18
aproximacao que pode ser encontrado em [20, progra-
mas.tgz] No gr aco voce pode ver uma fun cao do tipo
f(x) = P(x)sen(ax +b) (4.99)
obtida pelo produto de uma fun cao polinomial por uma senoide. Tais fun coes
sao bons exemplos de modelos com grandes oscila coes e portanto que oferecem
17
simplesmente rodar os programas n ao o vai levar a adquirir conhecimento...
18
escolha, no programa, a op c ao (3)
CAP

ITULO 4. SPLINES 127


diculdades para serem aproximadas. Rodando o programa com intervalos gran-
des, por exemplo [30, 30] voce podera ver os defeitos da aproxima cao. Usando
o intervalo default do programa, voce tera uma visao enganosa de perfei cao, mas
e este o objetivo do programa, permitir que voce manipule o exemplo o que n ao
e possvel fazer com uma gura como (g. 4.6).
Observa cao 5 Simula c ao da realidade
Primeiro que tudo e preciso observar que n ao temos nenhuma fun c ao para
aproximar. O nosso objetivo e o de resolver problemas do tipo exemplicado
pelo (ex. 3), p agina 123 em que uma massa de dados e obtida, de alguma
forma
19
, representando um certo fen omeno que desejamos estudar. No caso
dos programas educacionais que zemos, e interessante supor que exista uma
fun c ao f dada, por uma equa c ao algebrica
20
, como
f(x) = P(x)sen(ax +b),
porque podemos exibir gr acos que mostrem as perfei c oes ou as fraquezas do
metodo. Nada poderiamos ilustrar apenas apresentando o modelo.
Falaremos com frequencia de uma fun cao hipotetica que estamos tentando
aproximar, e essa fun c ao seria a equa c ao 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 signicativa, da realidade se perdeu em sua idealiza c ao pelo
modelo.
A unica forma de ter seguran ca com simulac oes e
Rodar diversas vezes o modelo. Rode o programa aproximacao com inter-
valos bem diferentes, para entender o que estamos dizendo;
cada vez que o modelo for rodado, fazer uma nova entrada de dados expe-
rimentais;
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 aproxima coes 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 mo-
delos por dentro e os possamos modicar, 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 seguran ca, aqui entra a etica...
19
em geral com auxlio de sensores
20
estamos usando algebrico de forma larga, seno n ao e evidentemente uma fun c ao
algebrica
CAP

ITULO 4. SPLINES 128


Base teorica dos modelos
Ha v arios tipos de modelos e este assunto sozinho ocupa varios volumes na
literatura, portanto o leitor deve car consciente de que aqui seguiremos por
um atalho em busca de um tipo de modelo de nossa escolha. Na bibligraa voce
podera encontrar mais dados para prosseguir num aprofundamento, se este for
o seu desejo.
Numa classica cao um pouco simples consideraremos dois tipos de modelos:
discretos em que o conjunto sobre os quais as fun coes estiverem deni-
das tenha um n umero nito 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 te orica para tais modelos;
contnuos em que as fun coes envolvidas tem como domnios subconjuntos
dos n umeros reais. As func oes contnuas e diferenci aveis sao a pe ca central
nestes modelos com todas as tecnicas, integral e derivada, do Calculo
Diferencial e Integral.
Os modelos de que trataremos neste livro sao do segundo tipo, os contnuos.
Observa cao 6 Contradic ao dos modelos contnuos
Melhor do que contradic ao seria possivelmente usar a palavra paradoxo. Aqui
e preciso chamar sua atenc ao para uma contradic ao com a qual e preciso con-
viver.
Todo o nosso trabalho se encontra intimamente ligado com programas de
computador, enm com computadores. Ora, tudo em um computador e nito,
quer dizer que estaremos modelando o innito (contnuo)
21
com um modelo dis-
creto, o computador.
Uma das conseq uencias mais funestas desta contradic ao 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 verica c ao
sistem atica dos modelos em suas aplica c oes. Mas o objetivo desta observa c ao
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 computa cao vem uma tecnica que estamos usando deste o primeiro
captulo, varredura;
na Matematica, esta tecnica computacional de varreduras, assume o as-
pecto de malha, ou partic ao de um determinado conjunto. Estes dois
conceitos matem aticos sao equivalentes, malha,parti c ao, embora algumas
vezes n ao seja trivial a passagem de um para o outro. Neste livro sem-
pre usaremos malhas associadas a um conjunto de pontos que determinam
21
com freq uencia a palavra contnuo e tomada como sin onimo de infnito mas os dois con-
ceitos s ao distintos
CAP

ITULO 4. SPLINES 129


ret angulos (nos casos multidimensionais) ou sub-intervalos (nos casos
unidimensionais). Veja as guras (g. 2.2), p agina 32 e (g. 2.3), p agina
35.
Um exemplo, no caso unidimensional e o que voce tem no (ex. 3), p agina
123, em um conjunto de nos 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 com-
putacional que e trabalhar com polinomios de grau elevado;
convergencia do algoritmo Os algoritmos denem sucess oes. Estudamos
sucess oes no captulo tres. Uma sucess ao e uma fun cao denida no con-
junto dos n umeros naturais e tomando valores em um outro conjunto. Este
segundo conjunto determina a natureza das sucess oes. Com frq uencia,
neste livro, as sucess oes tem valores reais, e o que chamamos de sucess oes
de n umeros reais
22
. Sucessoes deste tipo denem n umeros quando forem
convergentes, e o limite da sucess ao. Entretanto, n ao 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 C alculo voce es-
sencialmente estudou que se a diferen ca
|x| = |x
2
x
1
|
for pequena, entao a diferen ca
f = f(x
2
) f(x
1
)
tambem ser a pequena quando a fun cao f for contnua. Este e um ponto
essencial e que se encontrar a em jogo a todo momento. Vamos sempre
supor que os fen omenos sao contnuos. Lavoisier dizia, veja [11], que na
Natureza nada se cria e nada se perde, tudo se transforma que se pode
traduzir grosseiramente por a Natureza n ao d a saltos, modicado pela
Ciencia Quantica para a natureza d a saltos, porem pequenos.

E a continuidade que usamos quando armamos que ao renarmos uma


malha reduzimos o erro cometido.
As fun c oes diferenci aveis sao apenas fun coes mais profundamente contnuas.
A derivada e uma ordem superior de continuidade.

E com base nestes tres conceitos


malha ou parti cao e sua realiza cao computacional, a varredura;
convergencia de sucess oes;
22
em geral n umeros racionais, sobretudo porque os nossos programas de computador so-
mente podem lidar com n umeros racionais
CAP

ITULO 4. SPLINES 130


continuidade dos fen omenos a hipotetica equa cao que governaria um feno-
meno das ciencias naturais ou humanas, e uma fun cao contnua e mesmo
diferenci avel,
que vamos construir os modelos e provar que eles conseguem nos dar uma apro-
xima cao satisfat oria da realidade.
A pr oxima lista de exerccios tem por objetivo recclar os seus conhecimentos
de C alculo dentro do nosso objetivo.
Observa cao 7 A admir avel eciencia dos modelos matem aticos
Ou, em outras palavras, modelos contnuos para um Universo esponjoso.
Os saltos qu anticos n ao alteram ou impedem o uso da continuidade nos mo-
delos embora eles tenham que ser levados em conta num momento apropriado...
Na verdade o Universo e esponjoso e n ao existe, na vida real, a continui-
dade dos modelos matem aticos. Mas os modelos, mesmo sendo, como s ao, uma
realidade virtual, nos permitem analisar a realidade fsica muito bem, desde que
saibamos us a-los adequadamente. O nosso objetivo e mostrar-lhe isto aqui.
Exerccios 16 Continuidade e diferenciabilidade
Se um exerccio lhe parecer obvio, n ao o fa ca, n ao perca tempo, mas seja
honesto consigo pr oprio: se um exerccio lhe parecer pouco claro, crie uma
variante do mesmo e fa ca os dois, o exerccio e a variante.
1. continuidade Construa uma polinomial do terceiro grau P usando os dados
da tabela abaixo. Prove, usando P
0
(x
1
) = P
1
(x
1
), que P e continua. Prove
que P tambem e diferenci avel.
x
k
y
k
d
k
x
0
= 5 1 0
x
1
= 0 0 1
x
2
= 6 2 1
2. Considere a gura (g. 4.7) p agina 131. Justique a existencia de pontos
no intervalo de denic ao nos quais f

() =
f(b)f(a)
ba
. Identique , a, b e
o teorema do C alculo que governa esta arma c ao.
3. Considere uma func ao contnua e diferenci avel, f, denida no intervalo
[5, 6] e a poligonal do terceiro grau P denida pela tabela seguinte:
x
k
y
k
d
k
x
0
= 5 f(5) f

(5)
x
1
= 0 f(0) f

(0)
x
2
= 6 f(6) f

(6)
Mostre que existe um ponto x
0,1
[x
0
, x
1
] tal que P

(x
0,1
) =
f(x1)f(x0)
x1x0
e um ponto x
1,1
[x
1
, x
2
] tal que P

(x
1,1
) =
f(x2)f(x1)
x2x1
indicando qual e
o Teorema do C alculo que garante isto.
CAP

ITULO 4. SPLINES 131


a
b
f
1
Figura 4.7: Derivada, tangente e Teorema do Valor medio
4.3 Quase-splines
Como anunciamos no incio, a partir dos anos 1950, come camos 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 v arios polinomios
de grau mais baixo. Isto e o que chamamos de polin omios por
peda cos, uma polinomial. . Estas polinomiais sao quase-splines.
Vamos construtivamente mostrar que uma polinomial de grau tres
e a solu cao otima e depois vamos denir o que sao splines.
4.3.1 Polinomiais de grau tres
Queremos resolver o problema de interpolar n + 1 pontos com a informa cao
extra da taxa de varia cao em cada um dos n os. Isto corresponde a um conjunto
de quatro informa coes sobre cada sub-intervalo considerado o que nos permite
determinar, associado a cada um dos intervalos, um polinomio de grau tres.
A solu cao vai ser obtida iterativamente percorrendo o conjunto dos interva-
los, vamos entao simplicar a nota cao, considerando [a, b] um intervalo generico:
c
1
= P(a), d
1
= P(a)

(4.100)
c
2
= P(b), d
2
= P(b)

(4.101)
no intervalo [a, b] e sabemos, da aproxima cao polinomial cl assica que estudamos
inicialmente, que estas quatro informa coes nos permitem determinar de forma
unica um polinomio do grau tres.
CAP

ITULO 4. SPLINES 132


Temos as equa coes, (desenvolvendo o polinomio no ponto a)
P(x) = m
0
+m
1
(x a) +m
2
(x a)
2
+m
3
(x a)
3
P(a) = m
0
= c
1
P

(x) = m
1
+ 2m
2
(x a) + 3m
3
(x a)
2
P

(a) = m
1
= d
1
P(b) = m
0
+m
1
(b a) +m
2
(b a)
2
+m
3
(b a)
3
= c
2
P

(b) = m
1
+ 2m
2
(b a) + 3m
3
(b a)
2
= d
2
(4.102)
que se reduz assim a duas equa coes nas incognitas ainda restantes m
2
, m
3
ob-
servando que sao conhecidos:
m
0
= c
1
, m
1
= d
1
, b a, c
2
, d
2
(4.103)
_
c
1
+d
1
(b a) +m
2
(b a)
2
+m
3
(b a)
3
= c
2
d
1
+ 2m
2
(b a) + 3m
3
(b a)
2
= d
2
(4.104)
_
3c
1
+ 3d
1
(b a) + 3m
2
(b a)
2
+ 3m
3
(b a)
3
= 3c
2
d
1
(b a) + 2m
2
(b a)
2
+ 3m
3
(b a)
3
= d
2
(b a)
(4.105)
3c
1
+ 2d
1
(b a) +m
2
(b a)
2
= 3c
2
d
2
(b a) (4.106)
m
2
=
3c2d2(ba)(3c1+2d1(ba))
(ba)
2
(4.107)
Nas (eq.105 ) igualamos os coecientes de m
3
depois subtraimos as duas equa coes
para obter a (eq.106) de onde tiramos o valor de m
2
.
Esta solu cao e possvel porque os nos a, b sao diferentes e assim, calculado o
valor de m
2
, ele pode ser substituido numa das equa coes (eq.105 ), por exemplo
em,
c
1
+d
1
(b a) +m
2
(b a)
2
+m
3
(b a)
3
= c
2
o que vai nos permitir o calculo de m
3
:
m
3
=
c
2
(c
1
+d
1
(b a) +m
2
(b a)
2
)
(b a)
3
(4.108)
que tambem e possvel porque a = b. Observe que nao nos preocupamos em
explicitar os valores porque estas contas devem ser feitas dentro de um programa
que ir a fazer os calculos nais.
Como esta solu cao e unica, achamos assim o unico polinomio P do terceiro
grau que satisfaz ` as quatro condi coes no intervalo [a, b].
Demonstramos assim:
Teorema 7 Existencia e unicidade da poligonal de grau tres
Dada uma partic ao
a = x
0
< . . . < x
n
= b (4.109)
de um intervalo [a, b] e uma lista de pares de valores
y
0
, d
0
, . . . , y
k
, d
k
, . . . , y
n
, d
n
(4.110)
CAP

ITULO 4. SPLINES 133


interpretados como valor no ponto, y
k
, e taxa de variac ao no ponto, d
k
, existe
uma unica poligonal P = (P
0
, . . . , P
k
, . . . , P
n
) do terceiro grau tal que
_
P(x
k
) = y
k
P

(x
k
) = d
k
P(x
k+1
) = y
k+1
P

(x
k+1
) = d
k+1
(4.111)
com (desenvolvendo o polin omio P
k
no ponto x
k
)
P
k
(x) = m
k,0
+m
k,1
(x x
k
) +m
k,2
(x x
k
)
2
+m
k,3
(x x
k
)
3
(4.112)
m
k,0
= P
k
(x
k
) = y
k
(4.113)
m
k,1
= P

k
(x
k
) = d
k
(4.114)
s
k
= x
k+1
x
k
= 0 (4.115)
m
k,2
=
3yk+1skdk+13yk2dksk
s
2
k
(4.116)
m
k,3
=
yk+1(yk+dksk+mk,2s
2
k
)
s
3
k
(4.117)
O programa aproximacao calcula os coecientes da poligonal em cada
um dos intervalos lan cando os resultados no arquivo dados que voce pode ler
com um editor de textos. O programa lhe dira isto. Escolha a op cao (5) no
programa, mas antes edite o arquivo leitura onde os dados do sensor devem
estar gravados. O programa tem um pequeno texto explicativo em que estas
informa coes lhe ser ao apresentadas. Use a op cao (7) para isto, ou responda que
deseja ler a teoria, ao iniciar o programa.
Como a polinomial P concide com o polinomio P
k
no intervalo [x
k
, x
k+1
],
entao P e contnua e diferenci avel em cada sub-intervalo. Como P
k+1
(x
k+1
) =
P
k
(x
k+1
) e P

k+1
(x
k+1
) = P

k
(x
k+1
) entao P e contnua e diferenci avel no inter-
valo [a, b]
P
k
(x
k+1
)

= 2m
k,2
(4.118)
P
k+1
(x
k+1
)

= 2m
k+1,2
(4.119)
(4.120)
4.4 Valor medio integral
O tamanho da letra indica que o assunto desta se c ao e mais difcil. Voce pode optar por
salt a-lo se achar que a discuss ao anterior sobre valor medio @ deixou convencid@.
Vamos precisar do valor medio integral em nossa constru c ao dos splines e como este tipo
de valor medio e muito importante e ser a usado muito no captulo 0, vamos fazer aqui uma
revis ao deste assunto de C alculo.
Denimos:
Deni cao 2 (Valor medio integral) Valor medio integral Se f for integravel no intervalo
[a, b] entao
V almed(f)
[a,b]
=
1
b a
b
Z
a
f(x)dx
CAP

ITULO 4. SPLINES 134


Os probabilistas fazem uso de um outro tipo de valor medio integral que e uma genera-
liza c ao deste que acabamos de denir e para denir os splines vamos precisar desta genera-
liza c ao.
Considere uma fun c ao positiva cuja integral seja 1. Um exemplo bem simples e uma
fun c ao como

[0.5,0.5]
(4.121)
a fun c ao caracterstica do intervalo [0.5, 0.5], exatamente porque a medida do suporte,
[0.5, 0.5], e 1. Demos um exemplo, mas vamos continuar pensando numa fun c ao qualquer
positiva cuja integral seja 1.
Esta quest ao do valor medio est a longe de ser obvia. Temos que demonstr a-la, provar que
e verdade.
Vale a pena discutir um t opico muito importante que e Valor medio integral.
Vamos come car analisando qual e o signicado da integral

g = 1 (4.122)
quando g for uma fun c ao positiva
23
, denida em um intervalo limitado [, ].
Integral no sentido
24
de Riemann e area! quer dizer que podemos calcular aproximada-
mente

g se colocarmos uma malha na no intervalo [, ] e considerarmos os sub-ret angulos


que os sub-intervalos v ao gerar no gr aco de g. Assim produzimos a soma que chamamos de
soma de Riemann, e que voce deve ter visto no curso de C alculo
25
, veja o gr aco na gura
(g. 1), na p agina ix. Uma soma de Riemann tem o seguinte aspecto:
n
X
i=0
g(xi)xi (4.123)
e no caso de g, como sua integral vale 1, temos
n
X
i=0
g(xi)xi 1 (4.124)
em que
26
todos os n umeros que aparecem na soma s ao positivos.
Deni cao 3 Pesos
Uma colecao de n umeros positivos, cuja soma e 1 se chama uma cole c ao de pesos, ou
simplesmente pesos.
Famlias de pesos s ao usadas para calcular medias aritmeticas ponderadas, por exemplo,
a ina c ao
27
e uma media aritmetica ponderada.
No caso da fun c ao g =
[0.5,0.5]
esta soma e exatamente 1, mas observe que estamos
fazendo uma demonstra c ao e assim g e uma fun c ao qualquer satisfazendo duas propriedades:
e positiva;
sua integral e 1.
23
um n ucleo, ou um pulso unit ario
24
usamos apenas integrais no sentido de Riemann, neste livro! e tem integral num sentido
diferente?
25
O captulo 0 faz uma revis ao r apida deste assunto, visite-o agora se achar que precisa.
26
aproximadamente 1 porque e uma aproxima c ao da integral que supusemos ser 1
27
Em que os governos colocam pesos onde lhe interessam para produzir os ndices inacio-
narios com que nos enganam
CAP

ITULO 4. SPLINES 135


Se agora colocarmos a fun c ao f na soma de Riemann, teremos:
n
X
i=0
f(xi)g(xi)xi (4.125)
e podemos interpretar esta soma como uma quase
28
media aritmetica dos valores de f no
intervalo [, ] porque
xi [, ]
onde estamos calculando a integral.
Veja esta arma c ao de outra maneira: os valores
f(xi); xi [, ]
podem ser interpretados como amostragem de f neste intervalo e a equa c ao (eq. 125) e o
valor medio desta amostragem por que a soma dos n umeros g(xi)xi e quase 1.
Quanto mais na for a malha, mas pr oximo de 1 estar a a soma na equa c ao (eq.124 )
29
,
portanto e este o valor da integral, o valor medio de f no intervalo [, ], relativamente `a
funcao g.
Aqui temos dois fatores de precis ao com que lidar:
a densidade dos pontos da malha, quanto mais pontos forem tomados na amostragem,
mais preciso ca o levantamento de dados, mas tambem ca mais caro;
a medida da regi ao de corre c ao que e o tamanho do intervalo [, ], a base da fun c ao-
peso com que estamos fazendo a media. Veja a ilustra c ao da regiao de correcao na
gura (g. 4.11) p agina 144. Quanto menor for a medida desta regi ao, mais exato ca
a correcao do erro na fun c ao,
a ciencia vai consistir em obter o m aximo de precis ao com o mnimo de custo.
A fun c ao utilizada para calcular o valor medio, inuencia este valor medio. Como em
qualquer media aritmetica ponderada
30
, a escolha dos pesos inuencia o valor da media, quer
dizer que tais medias s ao viciadas
31
, n ao podemos ter uma resposta padr ao sobre o valor
medio integral

f(x)g(x)dx = V alMed
g,[,]
(f) (4.126)
que chamamos de Valor medio integral de f relativo `a g, no intervalo [, ].
Em geral as fun c oes usadas para calcular valor medio, s ao fun c oes equilibradas em torno do
zero, o ponto central do gr aco, e s ao translatadas para uma certa posi c ao, para al fazer o valor
medio da fun c ao que interessa, como e o caso de
[0.5,0.5]
, que alem do mais e uniforme ao
longo do intervalo [0.5, 0.5] e consequentemente ela produz uma autentica media aritmetica
de f no intervalo.
Quando a medida da regiao de correcao diminue, esta media tende para o valor de f, no
ponto central da regiao de correcao, se ele existir.
Quando a fun c ao f for contnua, este valor concide com algum valor de f no intervalo em
que a media est a sendo calculada
32
. Se a fun c ao for descontnua ele representa uma proposta
de corre c ao da fun c ao. Esta ideia e essencial em diversas areas hoje, sob a rubrica correcao
da informacao.
Veja na gura (g. 4.11) p agina 144, a ilustra c ao da regiao de correcao.
Esta quest ao da media, a sua dependencia de uma fun c ao-peso, est a longe de ser obvia.
Mas se voce raciocinar um pouco, chegar a ` a conclus ao que deve ser assim. Por exemplo,
28
quase, porque a soma de Riemann,(eq. 124), n ao e 1, ela e aproximadamente 1
29
e mais preciso o c alculo da media aritmetica
30
e o valor medio integral e uma media ponderada
31
o adjetivo vicidadas tem sentido tecnico, aqui, mas voce pode facilmente extrapolar o
sentido da frase para outros contextos menos tecnicos...como no c alculo da ina c ao. A ina c ao
e poltica! os pre cos s ao polticos! os juros s ao polticos!
32
esta e uma propriedade das fun c oes contnuas
CAP

ITULO 4. SPLINES 136


considere g, a fun c ao relativamente a qual se quer calcular a media, como tendo mais
area ` a esquerda do ponto central a do intervalo. Tendenciosa `a esquerda. Ent ao a
media estar a mais inuenciada pelos valores ` a esquerda; Veja a (g. 4.13) p agina 148.
considere agora g, a fun c ao relativamente a qual se quer calcular a media, como tendo
mais area ` a direita do ponto central a do intervalo. Tendenciosa `a direita. Ent ao a
media estar a mais inuenciada pelos valores ` a direita; Veja a (g. 4.13) p agina 148.
mas se agora, g for equilibrada, tiver areas iguais ` a direita e ` a esquerda do ponto central,
vamos encontrar a media aritmetica, o valor de f neste ponto central a, se ele existir;
e ca uma pergunta n ao respondida, porque usamos uma variedade grande de fun c oes-
peso, porque n ao usamos sempre a mesma, uma funcao equilibrada em torno de um
ponto central ? guarde esta pergunta no bolso...
este raciocnio deve conduz-l@ a aceitar que se g n ao tiver inclinacoes nem ` a direita, nem ` a
esquerda, ent ao a media calculada com ela corresponder a ao valor f(a)
33
em que a e o ponto
central do intervalo.
Conseguimos assim demonstrar o teorema:
Teorema 8 do valor medio integral
Se g for uma funcao positiva tal que

g = 1 (4.127)
entao
V alMed
g,[,]
=

f(x)g(x)dx (4.128)
e o valor medio 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, entao
a [, ] ; V alMed
g,[,]
=

f(x)g(x)dx = f(a) (4.129)


Observa cao 8 Um erro no teorema do valor medio
O teorema 8 tem um erro que e preciso corrigir. Observe o graco na gura (g. 4.9).
A funcao f nao esta denida no ponto c
Quer dizer que nao podemos escrever
c [, ] ; V alMed
g,[,]
=

f(x)g(x)dx = f(c) (4.130)


como esta no teorema, mas sim
V alMed
g,[,]
=

f(x)g(x)dx (4.131)
ou seja, apenas dizer que e o valor medio.

E o acontece, no graco (g. 4.9), pagina 141 em
relacao ao ponto c em que a funcao pode nem siquer estar denida.
Aproveitemos para ver que o valor medio serve para denir o valor f(c) que faltava para
f ou que tinha sido calculado de forma errada.
Este e um metodo que os estatsticos usam frequentemente, e tambem muito usado nas
telecomunicacoes, restauracoes de arquivos, recuperacao de dados.
33
aqui tem um erro, veja observa c ao mais a frente
CAP

ITULO 4. SPLINES 137


Observa cao 9 Evolucao e correcao 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 medio esta sendo calculado. Depois nos apercebemos do erro, mas
resolvemos deixa-lo assim, com a correcao posterior, para que voce veja que os teoremas as
vezes nascem errados. Em geral eles sempre sao corrigidos, depois, mas por outra pessoa que
le o trabalho, nao pelo proprio autor.
Acho que este erro torna mais facil a compreensao do teorema.
Exerccios 17 (Valor medio) Valor medio
1. Considere a fun c ao f =
[0.5,0.5]
, a fun c ao 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 fun c ao que seja contnua e positiva cuja integral seja 1.
Solu cao 9 Se uma fun c ao positiva for contnua e diferenci avel, digamos
f, e denida e integr avel no intervalo [a, b] ent ao podemos calcular
A =
b
_
a
f(x)dx (4.132)
g(x) =
1
A
f(x) (4.133)
o que resulta numa fun c ao positiva, contnua, diferenci avel cuja integral
sobre o intervalo [a, b] e 1.
Basta-nos, portanto construir uma fun c ao qualquer e poderia ser
f(x) = 4 x
2
; x [2, 2] (4.134)
A =
2
_
2
f(x)dx (4.135)
g(x) =
_
|x| > 2 0
|x| 2
1
A
f(x)
(4.136)
3. Construa uma fun c ao formada de tres segmentos de par abola, que seja
contnua, diferenci avel e positiva cuja integral seja 1.
Solu cao 10 Considere a fun c ao f(x) = 4 x
2
cuja derivada nos extre-
mos do intervalo [2, 2] s ao, respectivamente, {4, 4}. Podemos construir
um par abola que tenha derivada no ponto 4 o valor -2, por exemplo
f
1
(x) = (x + 4)
2
; f

1
(x) = 2(x + 4); f
1
(2) = 4
portanto se somarmos:
h(x) = f(x) + 4
teremos
h(2) = f
1
(2); h

(2) = f

1
(2)
CAP

ITULO 4. SPLINES 138


Dena
g(x) =
_

_
x 4 0
x 2 f
1
(x)
x 2 f(x) + 4
x 4 f
2
(x) = (x 4)
2
x > 4 0
(4.137)
Esta func ao se anula fora do intervalo [4, 4], por contru c ao e diferenci avel
e sua integral vale
4
_
4
g(x)dx = (4.138)
=
2
_
4
f
1
(x)dx + (4.139)
+
2
_
2
(f(x) + 4)dx + (4.140)
+
4
_
2
f
2
(x)dx (4.141)
2
_
4
f
1
(x)dx =
2
_
0
x
2
dx =
8
3
(4.142)
2
_
2
(f(x) + 4)dx = 16
16
3
=
32
3
(4.143)
4
_
2
f
2
(x)dx =
8
3
(4.144)

g(x) =
48
3
(4.145)
Dena ent ao F(x) =
3
48
g(x) e temos assim uma fun c ao cuja integral e 1
sendo diferenci avel na reta. O gr aco de F pode ser vista na gura (4.8)
p agina 139,
4. estoque de n ucleos Mostre que se uma fun c ao f tiver integral 1 ent ao
g(x) = f(x) tambem tem integral 1.
CAP

ITULO 4. SPLINES 139


-10
-5
0
5
10
-15 -10 -5 0 5 10 15
F(x)
0
g(x)
Figura 4.8: Uma fun c ao positiva cuja integral e 1
4.5 Splines c ubicos
Em muitas aplica coes os quase-splines construidos na secao ante-
rios sao sucientes oferecendo boa aproxima cao. Mas em outras,
como exemplo em computa cao gr aca, em que e necessario mais
din amica, os algoritmo tem que ser mais otimizado e o metodo de
aproxima cao mais preciso. Para isto temos os splines c ubicos que
construiremos aqui.
O nome do jogo!

E spline ou splines. Se voce consultar [28, Spline], voce
logo vai ver a indecis ao sobre o nome, hora e usado spline e logo em seguida
CAP

ITULO 4. SPLINES 140


splines. Vamos preferir a segunda forma que nos parece mais eufonica, mas nao
temos nenhuma razao especial pela preferencia a nao ser porque os splines sao
formados sempre de v arios peda cos e talvez porisso devessemos usar o s ao
nal.
Ha v arios metodos para construir splines. O que vamos adotar e muito
poderoso, embora exija um pouco mais de base teorica. Ao mesmo tempo sua
aplicabilidade pode ser bastante simplicado, ao ponto de voce poder carregar
o motor dos splines num pen-drive, ou mesmo num disquete de 1.44 Mb, falei
num pen-drive porque os disquetes em geral representam mais trabalho do que
utilidade. Ate o nal deste captulo esta questao cara clara.
Deni cao 4 Splines
Um n-splines e uma polinomial
34
de grau n que e de classe C
n1
, quer dizer
que tem n 1 derivadas contnuas.
Voce est a vendo a razao porque criamos um o conceito de polinomial que
chamamos de quase-splines. Elas serviram para antecipar os splines e em al-
guns casos substitu-los porque dependem de menos teoria. As polinomiais que
construimos ate agora sao de grau tres e de classe C
1
, poristo nao sao splines, a
segunda derivada pode ser descontnua.
Exemplo 11 Splines
Uma poligonal contnua, isto e uma sucess ao de segmentos de linha reta que
interligue n pontos, e uma polinomial de grau 1 e de classe C
0
, portanto um
1-splines

E difcil construir manualmente um 2-splines, uma polinomial do segundo


grau que seja de classe C
1
. Voce pode e deve tentar construir usando os metodos
que apresentamos para construir os quase-splines am de se convencer da di-
culdade e melhor avaliar a pequena complica c ao onde vamos mete-l@ agora.
4.5.1 Produto de convolucao
Vamos denir uma opera cao que cou na geladeira por anos ate que os metodos
computacionais a viessem resgatar, a convolu c ao, ou melhor dizendo, o produto
de convoluc ao que e o seu nome original.
Vamos come car com uma deni cao geometrica errada, ilustrada
35
na -
gura (g. 4.9) p agina 141.
No pr oximo paragrafo corrigiremos a deni cao usando uma motiva cao algebri-
ca para adotar uma forma mais adequada de denir a opera cao.
Voce pode identicar, na gura (g. 4.9), o graco da fun cao descontnua f
e v arias copias do mesmo
36
retangulo que sao transla c oes do graco da fun cao
caracterstica,
[0.5,0.5]
, do intervalo [0.5, 0.5].
34
N ao precisa ser polinomial, no momento certo faremos esta observa c ao novamente. H a
splines n ao polinomiais.
35
Voce deve ter compreendido o poder do erro que aparece no coeciente do segundo grau
do Polin omio de Taylor no captulo 1
36
Duas das c opias est ao superpostas dando a impress ao de que voce dois ret angulos com
bases menores, mas e uma ilus ao de otica.
CAP

ITULO 4. SPLINES 141


f
mvel
retngulo posio
original
do retngulo
0
Figura 4.9: Deni c ao geometrica - produto de convolu c ao

E esta a forma de fazermos produto de convolu cao entre duas fun coes.
Uma delas ca com o gr aco xo, a outra, tem seu gr aco translatado
para um ponto a, Shapiro,[6], chama isto de media volante e logo voce vai
ver porque.
Neste ponto calculamos a integral do produto das duas fun c oes, o resultado
e f
[0.5,0.5]
(a), o valor do produto de convolu cao no ponto a. Exerccio
(resolvido em seguida) escreva a equa cao da transla cao
[0.5,0.5]a
da
fun cao
[0.5,0.5]
para o ponto a.
A cada novo deslocamento (transla cao) do gr aco de
[0.5,0.5]
, o peso se
deslocando novamente, para um ponto b e nova integral corresponde ao
calculo de f
[0.5,0.5]
(b), o valor do produto de convolu cao no ponto b.
Leitura produto de convolu cao de f por
[0.5,0.5]
no ponto b, a ex-
press ao formal
37
seria (errada, como j a @ advertimos)

f(x)
b
(x)dx =

f(x)(x b)dx (4.146)


Na expressao da integral o exerccio proposto linhas acima cou resolvido.
Sem d uvida e difcil
38
calcularmos f
[0.5,0.5]
(x) num ponto x qualquer
ou mesmo obtermos uma f ormula para este resultado.
37
O autor escreveu os limites , propositadamente, para que voce se intimidasse, verique
esta integral se limita ao intervalo [0.5 + b, 0.5 + b]
38
n ao h a porque escondermos a diculdade, 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...
CAP

ITULO 4. SPLINES 142


Nosso objetivo e mostrar-lhe alguns exemplos do que signica f g para con-
vence-l@ do valor do investimento pesado que vai fazer. Depois voce vera que
um programa de computador ser a o encarregado de fazer o trabalho pesado,
n ao se esque ca de que voce est a lendo um livro de Calculo Numerico Com-
putacional. . . e que voce deve apresnder a escrever expressoes formais que um
computador possa ler e calcular.
E, nalmente, deixe-me dizer-lhe, nos avioes comerciais, a fuselagem, e feita
com este instrumento, e quase que todos os jogos eletronicos tem splines por
tr as, portanto estamos diante de uma ferramenta que vale a pena ser entendida
e dominada.
Depois, passado o susto com a deni cao geometrica, voce vera que o trabalho
car a com os programas...mas, temos que entender como fazer, para podermos
escrever os programas.
Vamos calcular o resultado da convolu cao esbo cada na gura (g. 4.9),
geometricamente. A sucess ao de guras (g. 4.10) pagina 143, (um lme...)
lhe mostra o signicado do produto de convolu cao calculado em tres pontos
diferentes.
Observe que escolhemos uma fun cao muito particular:
[0.5,0.5]
Esta fun cao tem integral 1 e temos a tendencia de chamar tais fun coes de
sinal, impulso unit ario, n ucleo. Vamos usar a palavra n ucleo porque considera-
mos sinal outra coisa que n ao ir a aparecer neste livro. As fun coes deste tipo,
os n ucleos, ser ao o instrumento que precisaremos quando zermos produtos de
convoluc ao.
O produto das duas fun coes no ponto a e no ponto b vai produzir resultados
semelhantes. O quadradinho que representa a transla cao de
[0.5,0.5]
para estes
pontos, ca inteiramente imerso dentro do graco de f. E como o quadradinho
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 translac ao. Estamos discutindo:
a < b < c ; (4.147)
f
[0.5,0.5]
(a), f
[0.5,0.5]
(b), f
[0.5,0.5]
(c) (4.148)
[0.5 +a, 0.5 +a] no caso de a
[0.5 +b, 0.5 +b] no caso de b
[0.5 +c, 0.5 +c] no caso de c
isto e, em qualquer caso, f
[0.5,0.5]
(x) e o valor medio de f no intervalo
[0.5 + x, 0.5 + x] porque a fun cao caracterstica,
[0.5,0.5]
, e positiva e tem
integral 1.
Retornando ` a f
[0.5,0.5]
, como
[0.5,0.5]
e uma fun cao equilibrada em
torno do ponto central do intervalo [0.5, 0.5] entao
f
[0.5,0.5]
(x) = f(x) (4.149)
CAP

ITULO 4. SPLINES 143


f
0
posio inicial
do retngulo f*X(a)
clculo de
a
0.5 +a
0.5+a
f
0
posio inicial
do retngulo
clculo de
f*X(b)
b > a
b
0.5+b
0.5+b
f
0
posio inicial
do retngulo
clculo de
f*X(c)
c > b > a
c
0.5+c
0.5+c
Figura 4.10: O signicado geometrico de tres valores
quando este valor existir, e no caso do ponto c e um valor que ca entre os
extremos do salto que a fun cao d a no ponto c. Veja o gr aco da convolu cao na
gura (g. 4.11) p agina 144,
A gura (g. 4.11) chama sua aten cao para uma regiao do gr aco em que a
fun cao f est a sendo corrigida. Isto ocorre num intervalo de medida 1, (devido a
base do quadradinho utilizado). Nesta gura voce ve os gr acos de duas fun c oes,
a fun cao f descontnua no ponto c e uma outra fun cao

f, contnua, que e igual
a f fora do intervalo de corre cao.
Esta,

f, e a proposta de corre c ao da fun c ao descontnua, de que j a falamos
acima.
Podemos corrigir a equa cao (eq. 149) escrevendo:
f
[0.5,0.5]
(x) =

f(x) (4.150)
CAP

ITULO 4. SPLINES 144


f
0
c
Regio de
correo
Figura 4.11: Corre c ao pelo valor medio numa vizinhan ca de c
A regi ao de correc ao pode ter medida menor e alguns dos exerccios da lista
que segue v ao lhe mostrar isto: a regi ao de corre c ao pode ser arbitrariamente
corrigida de modo que a func ao

f seja uma melhor aproxima c ao para f.
Exerccios 18 Media e n ucleo
1. n ucleos Faca os gr acos das fun c oes abaixo e descubra o que h a de comum
entre elas do ponto de vista da integral. Voce n ao precisa fazer todos os
gr acos se descobrir a regra do jogo...

[0.5,0.5]
2
[0.25,0.25]
3
2

[
1
3
,
1
3
]
5
[0.1,0.1]
1
2

[1,1]
1
4

[2,2]
1
10

[5,5]
1
20

[10,10]

[0,1]
2
[0,0.5]
3
2

[0,
2
3
]
1
20

[0,20]

[1,0]
2
[0.5,0]
3
2

[
2
3
,0]
1
20

[20,0]
2. Podemos classicar os n ucleos denidos na quest ao anterior como (1)
com tendencia ` a esquerda, (2) com tendencia `a direita ou (3)equilibrados.
Descubra quais cam em cada uma dessas classes.
3. Para cada um dos n ucleos apresentados no primeiro exerccio, indique a
medida da respectiva regiao de corre cao que lhe est a associada.
4. media viciada O gr aco seguinte representa f, f g em que g e um nucleo
tendencioso (` a direita, ou ` a esquerda). Decida qual e a tendencia de g,
analisando o gr aco Veja na gura (g. 4.12) p agina 145,
Deni cao correta da convolu cao
Esta e uma se cao difcil, o que n ao signica que nao seja para os comuns mortais.
Aquilo que e difcil apenas exige mais esfor co para ser adquirido.

E preciso,
CAP

ITULO 4. SPLINES 145


f
0
c
Clculo de mdia
com sinal tendencioso
f*g
Figura 4.12: Media viciada
entretanto, salientar que, na pr atica do dia-a-dia, n ao ser a preciso estar com
todas estas contas presentes. Ao nal voce vai encontrar a equa cao 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 convolu coes, e uma contribui cao
deste livro para sua vida pr atica.
- forca uma parada do LaTeX
Vamos denir o produto de convolu cao, e inicialmente escreveremos uma
deni c ao errada, acompanhando as ideias geometricas que desenvolvemos ante-
riormente. Logo veremos, com um calculo algebrico, porque esta deni cao n ao
serve e assim chegaremos ` a deni c ao adequada da convolu cao.
Na introdu cao geometrica que zemos acima dissemos que o valor de f g
no ponto a era obtido
translatando a fun cao g de a e
calculando a integral do produto de f por esta translatada
Precisamos de uma nota cao adequada para escrever tudo isto:
a translatada de g por a vamos chamar de g
a
e assim
a transforma cao transla cao tem uma equa cao curiosa:
x g
a
(x) = g(x a) (4.151)
de modo que se voce quiser translatar para direita, no sentido positivo do
eixo OX entao a > 0, por exemplo, g
3
(x) = g(x 3) translata a fun cao g
de tres no sentido positivo de OX. Se g(0) = 0 entao g
3
(3) = 0. Fa ca as
contas.
deni cao errada da convolu cao no ponto a e
a f g(a) =

f(x)g
a
(x)dx (4.152)
Observe que estamos calculando a integral sobre o conjunto mais amplo
em que f esteja denida, a reta R.

E possvel que esta equa c ao n ao tenha
CAP

ITULO 4. SPLINES 146


sentido portanto se imp oe uma verica cao sobre quais as fun coes para as
quais podemos calcular f g.
Vamos logo responder parcialmente esta questao: para que fun c oes vale a
express ao (eq. 5 ) da convoluc ao. Veja que, se a integral

f(x)dx (4.153)
existir, e se g for a fun cao caracterstica de um intervalo fechado, [, ],
entao
f g(a) =

f(x)g
a
(x)dx = (4.154)
=

f(x)g(x a)dx = (4.155)


=

f(y +a)g(y)dy = (4.156)


=

f(y +a)g(y)dy (4.157)


e se f tiver integral nita sobre R entao qualquer transla cao
39
de f tera
integral nita sobre qualquer intervalo da reta. Isto mostra a ultima e
integral e nita para qualquer valor de a portanto f g esta bem denida
para qualquer que seja a R, quando g for uma fun c ao caracterstica de
intervalo limitado.
Crtica da sucess ao de equa coes Observe que a equa cao (eq. 157 ) sugere
que a convolu cao n ao e comutativa. Aqueles que trabalharam com esta
opera cao, anos atras, observaram que uma pequena modica cao deniria
uma opera cao comutativa:
(f g)(a) =

f(x) g(a x)
. .
troca de sinal
dx = (4.158)
y = a x = x = a y = dx = dy (4.159)

f(a y)g(y)dy = (4.160)

f(a y)g(y)dy = (4.161)

g(y)f(a y)dy = (g f)(a) (4.162)


39
uma propriedade da integral de Riemann, transla c ao n ao alteram o valor da integral
CAP

ITULO 4. SPLINES 147


Isto nos leva ` a deni cao adequada da convlu cao
Deni cao 5 Convoluc ao
f g(a) =

f(x)g(a x)dx (4.163)


quando esta integral existir.
An alise do domnio de f g
Vamos retomar a sequencia de equa coes acima, agora com a deni cao
correta da convolu cao em que g e a fun cao caracterstica do intervalo
[, ]
f g(a) =

f(x)g(a x)dx (4.164)


se uma das fun coes for integr avel na reta e a outra for limitada, esta
integral existe. Isto mostra que esta opera cao tem sentido, e logo veremos
que h a uma innidade de fun coes que podem ser os operandos do produto
de convolu c ao.
Demonstramos assim o teorema
Teorema 9 Domnio de validade da convolu c ao
A convolu c ao f g est a bem denida se g for uma fun c ao caracterstica
de um intervalo fechado e f tiver integral em qualquer intervalo fechado.
Exemplo 12 Domnio da convolu c ao
Exemplos de fun c oes para as quais podemos calcular f g s ao qualquer
fun c ao contnua f se g for uma fun c ao caracterstica de um intervalo
fechado.
Podemos calcular a convolu c ao de duas fun c oes caracterstica de intervalos
fechados.
Nos voltaremos logo a esta quest ao, ampliando o conjunto de pares de
fun coes para os quais podemos calcular a convolu cao.
A convolu cao dene uma nova fun cao que n os estamos sugerindo que seja
uma aproxima c ao de f o que e inteiramente errado. Isto somente vai ser verda-
deiro se a fun cao g for um n ucleo
40
. Vamos discutir este detalhe logo a frente.
40
ou equivalente, um pulso unitario
CAP

ITULO 4. SPLINES 148


4.5.2 Funcoes a suporte compacto
Vamos aqui entender o que controla a regi ao de corre c ao, ja algumas vezes
mencionada, e que estivemos todo tempo associando a base do quadradinho que
ca deslizando sobre o gr aco da fun cao.
Voce j a deve ter percebido que esta fun cao que usamos para calcular medias
deve ter um aspecto do tipo que aparece na gura (g. 4.13) pagina 148. Nos
ncleo equilibrado
ncleo tendencioso esquerda
ncleo tendencioso direita
Figura 4.13: N ucleos ou pulsos unit arios
casos destes exemplos gr acos, existe um intervalo 0 [c, d] tal que, fora do
intervalo [c, d] a fun cao e nula. Este intervalo se chama de suporte do n ucleo.
Nao e preciso que o suporte seja um intervalo limitado.
Exemplo 13 N ucleo tendo como suporte a reta
A func ao f(x) = e
x
2
, chamada de gaussiana tem integral nita

e
x
2
dx =

2 (4.165)
g(x) =
1

2
f(x) (4.166)

g(x)dx = 1 (4.167)
e assim a func ao g(x) =
1

2
f(x) e um n ucleo tendo por suporte a reta R.
Quer dizer que se usarmos g como n ucleo para calcular uma convolu c ao f g
CAP

ITULO 4. SPLINES 149


o resultado seria uma fun c ao muito semelhante a f mas a regi ao de corre c ao
seria a reta inteira. Mesmo com este defeito, f g e uma boa aproxima c ao de
f.
Usar um n ucleo cuja regiao de corre cao se extenda ao espa co inteiro tem
signicado: se dilue o erro ao longo do espa co todo.
Mas em geral n ao usamos a gaussiana para fazer aproxima coes porque ela
introduziria outra complica cao. Procuramos n ucleos parecidos com os gr acos
da gura (g. 4.13) p agina 148, e vamos aqui ver como podemos construir tais
n ucleos. Os intervalos fechados e limitados sao chamados intervalos compactos
da o ttulo desta se cao, queremos n ucleos com suporte compacto.
Observa cao 10 Domnio da convolu c ao
Podemos ampliar um pouco a resposta da quest ao do domnio de deni c ao
da convolu c ao, ou, para que tipos de fun c oes podemos calcular a convolu c ao.
Onde acima usamos fun c ao caracterstica, agora podemos dizer fun coes a suporte
compacto.
Nota cao o suporte de f e designado
41
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 transla c ao for maior do que 1 em
m odulo, a convolu c ao se anula, porque os dois ret angulos n ao mais ter ao su-
perposi c ao, ser ao disjuntos. Fa ca um gr aco para se vericar isto. Como con-
sequencia temos
x / [1, 1] = f f(x) = 0
e portanto o supp(f f) [1, 1]. Por outro lado, para qualquer transla c ao cujo
m odulo seja menor do que 1, os dois ret angulos ter ao superposi c ao e assim a
integral ser a diferente de zero. Verique isto geometricamente, fa ca um gr aco.
Consequentemente supp(f f) = [1, 1].
Vamos agora calcular f f, determinar sua equa c ao.
Prosseguiremos com o metodo geometrico. Observe que o par ametro da
fun c ao f g e a transla c ao aplicada ` a fun c ao g
x f f(x) =

f(t)f(x t)dt (4.168)


f f(x) =
0.5
_
0.5
f(t)f(x t)dt (4.169)
=
0.5
_
0.5
f(x t)dt (4.170)
y = x t; dy = dt; t = 0.5 = y = x + 0.5; t = 1 = y = x 0.5 (4.171)
41
duas raz oes para usar pp, sup e para supremo, em ingles usamos supp para o suporte
CAP

ITULO 4. SPLINES 150


f f(x) =
x0.5
_
x+0.5
f(y)dy =
x+0.5
_
x0.5
f(y)dy (4.172)
chegamos ` a equac ao (eq. 169) porque f e a fun c ao caracterstica do intervalo
[0.5, 0.5], logo, fora dele e nula, ` a equa c ao (eq. 170) porque f e 1 sobre o
intervalo [0.5, 0.5], na equac ao (eq. 171) estamos preparando a mudan ca de
vari avel que ir a na simplicar a an alise na equa c ao (eq. 172). As hip oteses,
que temos que fazer para calcular a integral na equa c ao (eq. 172) s ao
_

_
x + 0.5 < 0.5 f f(x) = 0
x + 0.5 [0.5, 0.5] f f(x) =
x+0.5
_
0.5
dy
x 0.5 [0.5, 0.5] f f(x) =
0.5
_
x0.5
dy
x 0.5 > 0.5 f f(x) = 0
(4.173)
Podemos melhorar as premissas no conjunto de equa c oes re-escrevendo-as como
_

_
x < 1 f f(x) = 0
x [1, 0] f f(x) = x + 0.5 (0.5) = x + 1
x [0, 1] f f(x) = 0.5 (x 0.5) = 1 x
x > 1 f f(x) = 0
(4.174)
e voce pode ver o gr aco da convolu c ao na gura (g. 4.14) p agina 150.
0
1
1
Figura 4.14: quadrado de convolu c ao da fun c ao caracterstica
Observe! A convoluc ao de duas fun c oes descontnuas, resultou numa fun c ao
contnua, f f. A convoluc ao 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 equa c oes
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
ser a um 2-splines coisa que anteriormente dissemos que seria difcil de calcular
manualmente.
Exemplo 15 2-splines por convolu c ao
Queremos calcular f f f, e como o produto de convolu c ao e associativo,
temos f f f = f (f f) = (f f) f o que nos diz que vamos aproveitar o
resultado do exemplo anterior.
CAP

ITULO 4. SPLINES 151


Preparando os c alculos, temos
f (f f)(x) =

f(t)f f(x t)dt (4.175)


=
0.5
_
0.5
f(t)(f f)(x t)dt (4.176)
y = x t; dy = dt; t = 0.5 = y = x + 0.5; t = 0.5 = y = x 0.5 (4.177)
f (f f)(x) =
x0.5
_
x+0.5
f f(y)dy =
x+0.5
_
x0.5
f f(y)dy (4.178)
A raz ao da equa c ao (eq. 176 ) e que o suporte de f e o intervalo [0.5, 0.5],
na equa c ao (eq. 177 ) estamos fazendo os c alculos para mudan ca de vari avel, e
namente, como x0.5 < x+0.5 invertemos os limites de integra c ao e trocamos
o sinal na equa c ao (eq. 178 ).
Agora recorremos a intui c ao gr aca para agilizar o metodo. A fun c ao f f
tem quatro fases (quatro equa c oes) 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 equa c ao de f f muda, e temos que interpretar
a ultima integral em cada um desses casos, esta e a primeira an alise
_

_
x + 0.5 < 1 f f f(x) = 0
x + 0.5 [1, 0]
x+0.5
_
1
f f(y)dy
x + 0.5 [0, 1]; x 0.5 [1, 0]
0
_
x0.5
f f(y)dy +
x+0.5
_
0
f f(y)dy
x 0.5 [0, 1]
1
_
x0.5
f f(y)dy
x 0.5 > 1 f f f(x) = 0
(4.179)
Re-escrevendo as equa c oes, temos:
_

_
x < 1.5 f f f(x) = 0
x [1.5, 0.5]
x+0.5
_
1
(y + 1)dy
x [0.5, 0.5]; x 0.5 [1, 0]
0
_
x0.5
(y + 1)dy +
x+0.5
_
0
(1 y)dy
x [0.5, 1.5]
1
_
x0.5
(1 y)dy
x > 1.5 f f f(x) = 0
(4.180)
CAP

ITULO 4. SPLINES 152


com a devida interpretac ao de f f. Calculando as integrais temos:
_

_
x < 1.5 f f f(x) = 0
x [1.5, 0.5]
(x+
3
2
)
2
x [0.5, 0.5]
3
4
x
2
x [0.5, 1.5]
(x
3
2
)
2
x > 1.5 f f f(x) = 0
(4.181)
Para simplicar a notac ao, vamos chamar g = f f f. Queremos vericar se
g e contnuamente deriv avel, de clase C
1
: uma polinomial de grau 2 de classe
C
1
.
Primeiro a continuidade, o que basta vericar os valores de cada uma das
equac oes nos extremos dos intervalos onde elas est ao denidas.
g(1.5) = 0 ` a direita e ` a esquerda !
g(0.5)

=
(0.5+
3
2
)
2
2
= 0.5 ` a esquerda, e ` a direita g(0.5)
+
=
3
4
(0.5)
2
= 0.5 e as duas equa c oes concidem ` a direita e ` a esquerda
!
g(0.5)

=
3
4
(0.5)
2
= 0.5 ` a esquerda, e ` a direita g(0.5)
+
=
(0.5
3
2
)
2
2
=
0.5 as duas equac oes concidem ` a direita e ` a esquerda !
g(1.5) = 0 ` a direita e ` a esquerda !
e provamos que g e contnua.
Vericando que a derivada e contnua.
g

(1.5)
+
=
2x+3
2
|
1.5
= 0 concidindo ` a direita e ` a esquerda !
g

(0.5)

=
2x+3
2
|
0.5
= 1 g

(0.5)
+
= 2x|
0.5
= 1 concidindo ` a
direita e ` a esquerda !
g

(0.5)

= 2x|
0.5
= 1 g

(0.5)
+
=
2x3
2
|
0.5
= 1 concidindo ` a direita
e ` a esquerda !
g

(1)

=
2x3
2
|
1.5
= 0 concidindo ` a direita e ` a esquerda !
Vericamos assim que g e contnua e que g

e tambem contnua, portanto g


e de classe C
1
sendo uma polinomial do segundo grau, portanto um 2 splines.
O gr aco de g = f f f e formado de tres segmentos de par

bola tangentes
duas a duas no ponto (0.5, g(0.5)) e no ponto (0.5, g(0.5)). As parabolas
externas sao tangentes ao eixo OX e voce pode ver o graco de g, feito `a mao,
na gura (g. 4.15) p agina 162. Na mesma gura voce pode ver o graco, 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 graco
que tambem aparece na referida gura. Observe a barra invertida na linha em
CAP

ITULO 4. SPLINES 153


que se inicia a deni cao de g(x) dentro do Gnuplot. Ela serve para lhe permitir
escrever uma f ormula que se expanda por mais de uma linha. Terminando a
linha com a barra invertida, evita que Gnuplot leia um m de linha e assim
uma f ormula pode ser escrita em diversas linhas.
Observando, dos exemplos que duramente desenvolvemos, que ao fazer uma
convolu cao a polinomial aumenta de um grau assim como a classe de continui-
dade.
Isto e verdade mas a demonstra cao e muito difcil e vamos apenas enunciar
o resultado sem demonstr a-lo, para uma demonstra cao leia o artigo [21].
Teorema 10 N ucleos n-splines
A enesima potencia de convolu c ao da fun c ao caracterstica do intervalo
[0.5, 0.5] e um (n-1)-splines a suporte compacto, positivo, com area 1. Por-
tanto um n ucleo (n-1)-splines.
Nas aplica coes nos contentamos com 3-splines, os splines c ubicos, que d ao
ttulo a esta se cao.
Exerccios 19 Splines a suporte compacto
1. splines c ubico Partindo do exemplo do n ucleo 2-splines, construa um n ucleo
3-splines (splines c ubico).
2. escala e n ucleo
(a) Chame g ao 2-splines construido no exemplo (ex. 15). Considere a
seguinte opera c ao:
g
a
(x) = ag(ax)
e verique a identidade

g
a
(x)dx =

g(x)dx = 1
para todo n umero real a = 0.
(b) Fa ca o gr aco de g
2
, g
3
, g
4
, g1
3
sugest ao use gnuplot para fazer estes
gr acos.
3. splines c ubico - formato arbitr ario
(a) Fa ca o gr aco da fun c ao
_

_
x < 4 x + 8
x [4, 1] 2
x [1, 0.5] 1
x [0.5, 1] |2x|
x [1, 4] 2
(b) Amacie a fun c ao cujo gr aco foi feito no item anterior, multiplicando-
a por convolu c ao, sucessivamente, pelos n ucleos g
2
, g
3
, g
4
e fa ca um
laudo do resultado.
CAP

ITULO 4. SPLINES 154


4.6 Solu cao de alguns exercicios
1. (ex. 8) p agina 118
Analisando o m aximo de |P| e de |P

| no intervalo [a, a]; a > 0 em que


se encontram as razes, temos
|P

(x)| = |x +a +x a| = 2|x| 2|a| (4.182)


Max(|P

|) = 2|a| (4.183)
Max|P| = a
2
2|a| == |a| 2 (4.184)
Se zermos uma transla cao neste graco
42
a equa cao de P sera
P(x) = (x a)(x b)
em que a, b sao as duas raizes do polinomio. Da parte anterior do pro-
blema deduzimos que a distancia entre as razes e no maximo 4 para que
a desigualdade se de, portanto se |a b| 4
2. (ex. 9) p agina 118
O m aximo m odulo de P

se d a no ponto medio das razes ou nos extremos


do intervalo [1, 1]. Calculando estes tres valores encontramos
|P

(1)| = 2 = |P

(1)|; |P

(0)| = 1
logo o m odulo m aximo de P

e 2.
O m odulo m aximo da fun cao do terceiro grau P, sobre o intervalo em que
ela tem razes, se d a nas razes da derivada:
_
1
3
e vale, em modulo
_
1
3
(
1
3
1) =
_
1
3
2
3
< 2
demonstrando o que desejavamos.
3. (ex. 10) p agina 118
4. Polinomio interpolando pontos no plano
5. (ex. 11g) p agina 119
P(x) = (x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
P1(x)= (x+2.5)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
P2(x)= (x+3)*(x+1.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
P3(x)= (x+3)*(x+2.5)*(x+0.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
P4(x)= (x+3)*(x+2.5)*(x+1.5)*(x-0.5)*(x-1.5)*(x-2.5)*(x-3)
P5(x)= (x+3)*(x+2.5)*(x+1.5)*(x+0.5)*(x-1.5)*(x-2.5)*(x-3)
42
movimento rgido, n ao altera as propor c oes no gr aco
CAP

ITULO 4. SPLINES 155


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) p agina 123
(a) Coloque no arquivo dados os pares de pontos (x
k
, y
k
).
-3 0
-2.5 1
CAP

ITULO 4. SPLINES 156


-1.5 -1
-0.5 -2
0.5 -3
1.5 -1
2.5 2
3 0
observe que x
k
e y
k
cam separados por espa co, e cada par ca em
uma unica 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 fun cao f esta denida por uma equa cao do
primeiro grau f
k
y = b +m(x a) equa cao da reta por (a, b); (4.185)
f
k
(x) = y
k
+m
k
(x x
k
); (4.186)
m
k
=
k
=
yk+1yk
xk+1xk
; x [x
k
, x
k+1
] (4.187)
(4.188)
Basta agora, para cada inteiro n, encontrar n [x
k
, x
k+1
]. Por
exemplo
n [x
k
, x
k+1
] (4.189)
1 [0.5, 1.5] = [x
4
, x
5
] (4.190)
f
4
(x) = y
4
+m
4
(x x
4
) (4.191)
f
4
(x) = 3 + 2(x 0.5) ; f(1) = 3 + 2(1 0.5) = 2(4.192)
A deni cao de f num algoritmo de computador e
float fl(float x)
{
float m,a1,b1,a2,b2;
if (x < -2.5)
{a1= -3; b1=0; a2=-2.5; b2=1;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < -1.5)
{a1= -2.5; b1=1; a2=-1.5; b2=-1;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < -0.5)
CAP

ITULO 4. SPLINES 157


{a1= -1.5; b1=-1; a2=-0.5; b2=-2;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < 0.5)
{a1= -0.5; b1=-2; a2=0.5; b2=-3;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < 1.5)
{a1= 0.5; b1=-3; a2=1.5; b2=-1;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < 2.5)
{a1= 1.5; b1=-1; a2=2.5; b2=2;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
if (x < 3)
{a1= 2.5; b1=2; a2=3; b2=0;
m = (b2 - b1)/(a2 -a1);
return m*(x - a1) + b1;
}
else
return(0.0);
}
7. (ex. 1) p agina 123
Sera possvel encontrar polinomios do terceiro grau em cada intervalo I
k
=
[a
k
, a
k+1
] porque temos quatro dados em cada um deles:
f
k
(x) = a
1,k
+a
2,k
(x x
k
) +a
3,k
(x x
k
)
2
+a
4,k
(x x
k
)
3
f
k
(x
k
) = y
k
= a
1,k
a
1,k
+a
2,k
(x x
k
) +a
3,k
(x x
k
)
2
+a
f

k
(x
k
) = d
k
f
k
(x
k+1
) = y
k+1
f

k
(x
k+1
) = d
k+1
8. (ex. 2) p agina 123
A gura (g. 4.16) p agina 163, mostra, comparativamente, a aproxima cao
polinomial cl assica, de Lagrange com a aproxima cao polinomial por peda cos.
CAP

ITULO 4. SPLINES 158


Neste exemplo escolhemos os pontos de precisao
x
1
= 7, x
2
= 5, x
3
= 3.0, x
4
= 1, x
5
= 1, x
6
= 3, x
7
= 5, x
8
= 7;
e estamos aproximando a fun cao
h(x) = (x x 9) sin(x)
no intervalo [7, 7]. A escolha dos nos foi feita de forma a salientar a fra-
gilidade da aproxima cao polinomial de Lagrange uma vez que a distancia
entre os dois primeiros n os e os dois ultimos nos e grande. Se a distancia
entre os n os for pequena, e uniforme, a aproxima cao polinomial de La-
grange tem um desempenho melhor, como se pode Veja na gura (g.
4.17) p agina 164. em que usamos os nos
x
1
= 3.0, x
2
= 2.0, x
3
= 1.0, x
4
= 0.0, x
5
= 1.0, x
6
= 2.0, x
7
= 3.0, x
8
= 4.0
e estamos aproximando a fun cao
h(x) = (x x 9) sin(x)
no intervalo [3, 4].
A aproxima cao melhora na medida em que a malha car mais na, e
consquentemete o polinomio de mais alto grau o que torna o metodo,
computacionalmente, ineciente.
9. (ex. 2) p agina 153
(a)

g
a
(x)dx = (4.199)

ag(ax)dx = (4.200)
1
a

ag(ax)d(ax) = (4.201)
a
a

g(ax)d(ax) = (4.202)
a
a

g(y)d(y) = (4.203)

g(y)d(y) (4.204)
(b) Com Gnuplot dena
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
CAP

ITULO 4. SPLINES 159


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) p agina 153 Figura (g. 4.18) p agina 164,
(a) Fa ca o gr aco da fun cao
_

_
x < 4 x + 8
x [4, 1] 2
x [1, 0.5] 1
x [0.5, 1] |2x|
x [1, 4] 2
(b) Amacie a fun cao cujo gr aco foi feito no item anterior, multiplicando-
a por convolu cao, sucessivamente, pelos n ucleos g
2
, g
3
, g
4
e fa ca um
laudo do resultado.
4.7 Vocabulario
correc~ao da informac~ao, scilab
corre cao da informa cao
Vamos dar aqui um exemplo ilustrativo sobre a corre cao da informa cao.
Observe o seguinte texto:
Mituo isneterasstne
De aorcdo com uma pqsieusa de uma uinrvesriddae ignlsea, n ao
ipomtra em qaul odrem as lrteas de uma plravaa et aso, a uncia
csioa iprotmatne e que a piremria e utmlia lrteas etejasm no lgaur
crteo. O rseto pdoe ser uma b cguana ttaol que vcoe pdoe anida
ler sem pobrlmea. Itso e poqrue n os n ao lmeos cdaa lrtea isladoa,
mas a plravaa cmoo um tdoo.
Mutitu isneterassten
De aorcod com uma pqsieuas de uma uinrvesriddea ignlsae, n ao
ipomtar em qaul odrem as lrtesa de uma plravaa et aso, a uncai
csioa iprotmaten e que a piremrai e utmlai lrtesa etejams no lgaru
crtoe. O rseto pdoe ser uma b cguaan ttalo que vcoe pdoe anida
ler sem pobrlmae. Itso e poqreu n os n ao lmeos cdaa lrtea isladoa,
mas a plravaa cmoo um tdoo.
O texto explicou mal. A razao e outra, e um caso de corre c ao da in-
forma c ao que vou agora explicar.
CAP

ITULO 4. SPLINES 160

E que ao lermos, n ao lemos! Comparamos as palavras com as que temos em


nosso banco de dados e compomos a informa cao usando uma amostragem
da informa cao. Quem le devagar, de fato le. Quem le rapido, faz esta
amostragem e compoe a informa cao.
Quem le rapido, nem siquer le palavras, le frases inteiras, e novamente,
n ao le, analisa o conjunto das palavras, seleciona no banco de dados o que
d a certo para colocar naquele conjunto, e percebe a informa cao.
Claro, esta rapidez pode ter seus contra-pontos, e possvel rapidamente
adquirir o centro da ideia, porem perder detalhes. O leitor rapido pode
num relance compreender, do texto, que brigaram o homem e a mulher,
mas pode n ao perceber que foi o seu irmao com a mulher dele... se
alguem lhe perguntar depois pelo conte udo do texto, responderia:
- Brigaram!
e se o interlocutor insistisse na pergunta:
- Quem brigou, com quem?
responderia:
- Sei la!
A inmafor cao foi rbidecea, mas ptare dela se pdeeru pquore o ltoeir anapes
abvsoreu patre do prcaedido e paert do pratiedicvo na ora cao. Se o astsuno de
fato lhe chssamae at caeno, voriltaa e se ceicartifria de pater dos dados pedordis.
Qudano, num tetxo, a infaorm cao for retipeda e abdaunnte, etsa leuitra radpia
e saftisat oria pourqe, com a amraostgem, o leoitr abrsove toda a inmafor cao
imtapornte. Qunado o tetxo e coincso, sorbio, teicnco, a letiura temrina sedno
mias letna poqrue a amotsragem se reevla impfereita, o letior obesrva que nao
est a cogunseindo coeemprnder e, natlmuraente, psasa a faezr uma amraostgem
mais na, teirmna ledno. . .
A informa cao foi recebida, mas parte dela se perdeu porque o leitor apenas
absorveu parte do predicado e parte do predicativo na ora cao. Se o
assunto de fato lhe chamasse aten cao, voltaria e se certicaria de parte
dos dados perdidos.
Quando, num texto, a informa cao for repetida e abundante, esta leitura
rapida e satisfat oria porque, com a amostragem, o leitor absorve toda
a informa cao importante. Quando o texto e conciso, sobrio, tecnico, a
leitura termina sendo mais lenta porque a amostragem se revela imperfeita,
o leitor observa que n ao est a conseguindo compreender e, naturalmente,
passa a fazer uma amostragem mais na, termina lendo. . .
scilab e um programa para resolver questoes de

Algebra Linear, computa-
cionalmente, distribuido sob GPL.

E semelhante a um programa comercial
tambem dedicado ` a

Algebra Linear. Pode ser obtido na internet, [23].
CAP

ITULO 4. SPLINES 161

CAP

ITULO 4. SPLINES 162


0 1 1
2
1
0
1
2
3
4
5
1.5 1 0.5 0 0.5 1 1.5
f1(x)
f2(x)
f3(x)
0
2spline a suporte compacto
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1.5 1 0.5 0 0.5 1 1.5
g(x)
0
Figura 4.15: 2-splines
CAP

ITULO 4. SPLINES 163


-40
-30
-20
-10
0
10
20
30
40
-8 -6 -4 -2 0 2 4 6 8

"polped"
"lagrange"
"precisao"
"XOY"
Figura 4.16: Compara c ao: polin omio de Lagrange e splines
CAP

ITULO 4. SPLINES 164


-8
-6
-4
-2
0
2
4
6
8
-3 -2 -1 0 1 2 3 4

"polped"
"lagrange"
"precisao"
"XOY"
Figura 4.17: Compara c ao: polin omio de Lagrange e splines - quando os n os cam unifor-
mente pr oximos.
2
1
0
1
2
3
4
6 4 2 0 2 4 6
data1
data2
Figura 4.18: Regulariza c ao por convolu c ao
Captulo 5
Integracao aproximada
O objetivo deste captulo e o de apresentar-lhe dois metodos para
o calculo aproximado da integral
b
_
a
f(x)dx
Vou come car com as somas de Riemann que, embora n ao seja o
metodo conduzindo a melhor aproxima cao, e o mais simples e e
usado em diversas situa coes em que se deseje rapidamente avaliar
a integral. Depois vou discutir uma variante da soma de Riemann
- regra do trapesio.
Embora o metodo n ao seja eciente e n os lhe vamos mostrar na
segunda parte do captulo um que e eciente, as ideias b asicas das
somas de Riemann estar ao presentes posteriormente: parti cao,
varredura, malha.
Finalmente vou mostrar como podemos aplicar o assunto do
captulo 4 no calculo aproximado de integrais. Este metodo, sim,
e de alta precisao e muito otimizado.

E possvel que o leitor, ou o professor, sinta a falta do metodo Simpson


entre os processos para o calculo aproximada da integral. De fato ele est a sendo
omitido aqui uma vez que podemos mostrar coisa melhor que e o uso dos splines,
anal n ao seria somente o metodo de Simpson que estaria faltando, num livro
como este temos que escolher, selecionar material para que n ao transforma-lo
num tratado enciclopedico, alguns destes tratados est ao na bibliograa. Se voce
fez um bom curso de C alculo, estudou integral no sentido de Riemann e portanto
as somas de Riemann. Parte do material deste captulo ser a uma amena revisao
para voce, esperamos.
165
CAP

ITULO 5. INTEGRAL APROXIMADA 166


5.1 Integral no sentido de Riemann
Neste captulo discutimos a integral de forma intuitiva e geometrica fazendo,
inicialmente, uma revis ao concentrada daquilo que se faz em Calculo Diferen-
cial e Integral mas voltados para o nosso objetivo que e o calculo numerico
de integrais.
Come camos por descrever, com alguma simplicidade, o metodo de integra c ao,
atribuido ao matem atico alem ao, Bernard Riemann, as somas de Riemann,
como aproxima c ao para o c alculo da integral e da derivaremos os metodos
tpicos desta disciplina que logo o leitor ver a que e uma aplica c ao da apro-
ximacao polinomial.
5.1.1 Integracao geometrica.
Vamos come car calculando aproximadamente v arias integrais para tornar mec anico o uso
da soma de Riemann como metodo de aproxima c ao de integrais.
Neste livro a integral representa a area algebrica delimitada pelo gr aco de uma fun c ao f
entre dois pontos dados de seu domnio. Veja a interpreta c ao geometrica na gura (g. 5.1)
p agina 168.
Esta e a forma de se interpretar a integral no C alculo: o smbolo
b
R
a
f representa esta area
limitada pelo gr aco de f e o eixo OX desde x = a ate x = b.
A lista de exerccios deve ser entendida como um laboratorio para relembrar
conhecimentos que o aluno deveria ter, o que nem sempre e verdadeiro. Um
aluno que considere um exerccio trivial, simplesmente deve ignora-lo e passar
para o seguinte, apenas tendo o cuidado de ter a certeza de que nao fez um
julgamento apressado.
Exerccios 20 C alculo aproximado da integral
1. Represente geometricamente as seguintes integrais:
a)
3
_
3
4 b)
3
_
0
4 c)
0
_
3
4
d)
3
_
3
2x e)
3
_
2
2x f )
3
_
0
2x
g)
10
_
3
2x + 3 h)
10
_
1
2x 3 i)
3
_
3
3 2x
j)
3
_
3
x + 4 k)
3
_
0
x 4 l)
0
_
3
4 x
m)
3
_
3
x
2
+ 2x + 1 n)
3
_
0
1 x
2
o)
0
_
3
x
2
4
2. Calcule as integrais, que voce souber calcular, dentre as indicadas na
quest ao anterior.
3. Calcule aproximadamente as integrais.
a)
3
_
3
x
2
+ 2x + 1 b)
3
_
0
1 x
2
c)
3
_
3
4 x
2
CAP

ITULO 5. INTEGRAL APROXIMADA 167


Sugest ao aproxime por falta ou por excesso as areas com ret angulos, tri angulos
ou trapesios, conforme for conveniente, e aumente a precis ao dos resulta-
dos usando uma m aquina de calcular ou um programa de computador.
5.1.2 Expressao formal do calculo da integral
Nos ainda n ao sabemos calcular as integrais:
3
_
3
x
2
+ 2x + 1 (5.1)
3
_
0
1 x
2
(5.2)
3
_
3
x
2
4 (5.3)
e agora vamos ver como isto se faz, aproximadamente.

Area aproximada usando retangulos


As integrais, (eq. 1), (eq. 2) e (eq. 3), representam as areas de regioes limitadas
por contornos n ao retilneos.
Voce j a foi convidado, em exerccio anterior, a representar geometricamente
estas integrais.
Neste momento tudo que podemos fazer e calcular estas areas aproxima-
damente, este metodo est a representado na gura (g. 5.1) p agina 168 e ser a
discutido em detalhe mais abaixo, mas e assunto que voce pode encontrar dis-
cutido em profundidade nos cursos de C alculo.
Uma sada, para obter uma aproxima cao de integrais como
3
_
3
x
2
+ 2x + 1 (5.4)
representando a area de regi oes com contornos curvilneos, consiste em subdi-
vidir a regiao que elas representam com ret angulos, tri angulos ou trapesios e
calcular a soma das areas destas guras:
Veja na gura (g. 5.1) p agina 168,
Voce logo deve se convencer de que n ao h a ganho especial em trabalhar com
tantas guras. Usando apenas retangulos podemos obter alta precisao, desde
que a base dos retangulos seja pequena, e este objetivo podera ser alcan cado
com um programa de computador, n ao 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 m axima do trapesio, e o outro com a altura
mnima do trapesio, supondo que o trapesio tenha duas alturas. Analise as
guras (g. 5.4), p agina 186.
CAP

ITULO 5. INTEGRAL APROXIMADA 168


f
a
b
Figura 5.1: Trapesios para aproximar area
Isto mostra que o calculo da area usando trapesio pode ser obtido com a
media aritmetica dos calculos feitos usando, retangulos por excesso e retangulos
por falta.
Depois, um tri angulo 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 m axima diminuindo a base dos retangulos.
Se conven ca do que foi dito fazendo alguns gracos.
Somas de Riemann
Para calcular aproximadamente
b
_
a
f podemos subdividir a regiao em triangulos,
retangulos ou trapesios, conforme a conveniencia ou de acordo com as possibi-
lidades geometricas da gura. Mas ja observamos que nao se ganha muito com
este detalhe, muito mais se ganha na quantidade de subdivis oes
1
, e, natural-
mente com o uso de um programa de computador.
Mas a principal razao de usarmos retangulos e a de que podemos obter
uma expressao algebrica simples para a soma das area dos retangulos e depois
aplic a-la num programa de computador.
A expressao algebrica que se presta, facilmente, para utilizar num programa
e uma soma de Riemann.
As somas de Riemann usam exclusivamente retangulos. Para obter os retangulos,
se subdivide o intervalo [a, b] em n sub-intervalos, veja na gura (g. 5.2) pagina
169, a sugestao gr aca de como fazer isto. as subdivisoes nao precisam ser ir-
regulares, como e o caso da (g. 5.2), elas podem ser os nos de uma parti cao
uniforme e assim satisfazer a uma progressao aritmetica de razao x =
ba
n
.
1
em outras palavras, ao usarmos subintervalos cada vez menores
CAP

ITULO 5. INTEGRAL APROXIMADA 169


a
b
[a,b]
f
Figura 5.2: Soma de Riemann
Este valor x e tambem o tamanho, (medida), da base de cada um dos subin-
tervalos.
Vamos adotar este caso particular de parti cao, chamada de parti c ao uni-
forme, e o leitor pode consultar um livro de C alculo para vericar que se a
integral existir, o valor dela independe do tipo de parti c ao que se escolher para
o C alculo das somas de Riemann.
Os n os da parti cao (malha) sao:
a, a + x, a + 2x, a + 3x, a +kx, , a + (n 1)x = b x (5.5)
Aqui faremos mais uma simplica cao no metodo. Falamos anteriormente de
area por excesso e area por falta. Mas queremos calcular integrais automatica-
mente e assim n ao desejamos analisar o gr aco para escolher a area por excesso
ou por falta. Seguiremos assim o exemplo da gura (g. 5.2) na qual voce pode
ver que alguns retangulos representam a area por excesso e outros por falta.
CAP

ITULO 5. INTEGRAL APROXIMADA 170


Convidamos a que voce fa ca um exerccio:
Exerccio 1

Area por falta ou por excesso
1. Vericar que os quatro primeiros ret angulos na (g. 5.2) representam uma
aproximac ao por excesso.
2. Vericar que os ret angulos quinto e sexto na (g. 5.2) representam uma
aproximac ao por falta da area.
3. Vericar que os ret angulos, setimo, oitavo e nono, na (g. 5.2) represen-
tam uma aproximac ao por falta e que o decimo aproxima por excesso a
area.
Se voce n ao concordou com a veracidade das arma coes contidas nos exerccios
acima, e porque, talvez, voce n ao tenha observado que ha alguns retangulos
com area nula (altura nula), volte a analisar os exerccios munido desta nova
informa cao.
Vamos agora passar a expressao formal da soma de Riemann.
Soma de Riemann
Considere agora a gura (g. 5.2) pagina 169. 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)
e o ultimo retangulo cou extrapolando o intervalo de integra cao [a, b].
Para evitar que isto aconte ca temos que
calcular x usando a medida do intervalo [a, b] e
um n umero de divisoes, um n umero inteiro escolhido:
x =
b a
n
A progress ao aritmetica obtida com esta razao x vai fazer de
b = a +nx,
o ultimo termo da p.a. de modo que o ultimo retangulo escolhido corresponde
ao subintervalo
[a + (n 1)x, a +nx] = [b x, b] (5.7)
Existe uma nota cao pr atica que esconde a expressao dos termos da pro-
gress ao aritmetica, mas que sabemos qual e, de forma implcita. Usamos
x
0
= a = a + 0x; (5.8)
x
k
= a +kx; (5.9)
x
n
= b = a +nx; (5.10)
CAP

ITULO 5. INTEGRAL APROXIMADA 171


Agora podemos escrever a expressao da soma dos retangulos:
b
_
a
f
n1

k=0
f(x
k
)x =
n1

k=0
f(a +kx)x (5.11)
a segunda formula cao e apropriada para programas de computa cao, a primeira
e mais resumida e pr opria para escrever em textos de Matematica. Com este
calculo do x evitamos que haja um retangulo a mais ou a menos na cobertura
da area representada pela integral que e o defeito apresentado na (g. 5.2).
Observe que o ultimo n o n ao e b, mas sim b x.
Para cada um dos subintervalos, consideraremos a altura
f(a +kx) = f(x
k
)
em que k varia desde 0 ate n 1 :
f(a), f(a + x), f(a + 2x), f(a +kx), , f(a + (n 1)x). (5.12)
Quer dizer que os retangulos tem por area:
f(a)x, f(a + x)x, f(a + 2x)x, f(a + (n 1)x)x (5.13)
A soma destas areas e o valor aproximado da integral, agora n ao sabemos se
e por falta ou por execesso, mas, com certeza e um valor medio, entre o calculo
por excesso e o calculo por falta.
Experimente as fun coes
riemann(), riemann grafun()
no arquivo riemann.py. Digite
python riemann.py
depois de editar o arquivo. Vejas as ultimas linhas do arquivo riemann.py que
trazem instru coes de como usar o programa. Nao se preocupe em entender
o programa, agora. Volte a ler o programa em outras ocasioes, ao longo do
captulo.
Deni cao 6 Soma de Riemann
Considere o intervalo [a, b] e uma fun c ao que seja integr avel neste intervalo.
Denimos uma soma de Riemann, de ordem n
2
, associada a uma parti c ao
uniforme
3
x
0
= a (5.14)
.
.
. (5.15)
x
k
= a +kx (5.16)
.
.
. (5.17)
x
n1
= a + (n 1)x = b x (5.18)
b = a +nx (5.19)
2
ordem n porque representa a soma de n parcelas
3
J a dissemos que as parti c oes n ao precisam ser uniforme, estamos fazendo uma escolha.
CAP

ITULO 5. INTEGRAL APROXIMADA 172


como
S
n
(f) =
n1

k=0
f(a +kx)x. (5.20)
Observe que em todos os retangulos consideramos a altura dada pelo pri-
meiro extremo do correspondente subintervalo. Quer dizer que, no intervalo
[x
k
, x
k+1
] = [a +kx, a + (k + 1)x]
a altura considerada e f(x
k
).
Poderiamos ter usado o segundo extremo obtendo a formula
S
n
(f) =
n

k=1
f(a +kx)x. (5.21)
que voce deve se convencer de que representa uma aproxima c ao equivalente da
integral . Dissemos equivalente, os valores nao sao iguais, fa ca as contas e veja.
Mas o erro entre as duas expressoes e pequeno, ou tende a ser pequeno, quando
a medida dos subintervalos decresce.
Exerccios 21 Soma de Riemann superior ou inferior
Objetivo: adquirir uma vis ao intuitiva das integrais superior e inferior e
compreender a relac ao
S
n
(f) S
n
(f)
para uma mesma partic ao do intervalo [a, b] quando f for positiva.
Se os exerccios lhe parecerem claros, n ao perca o seu tempo fazendo-os.
1. Divida o intervalo [3, 3] em 10 subintervalos iguais, represente geome-
tricamente a aproximac ao da area
3
_
3
f(x) =
3
_
3
x
2
usando sempre o m aximo de f em cada sub-intervalo. Esta soma de Rie-
mann assim obtida se chama soma superior de Riemann
S
10
(f)
e vale a desigualdade
3
_
3
f(x) S
10
(f)
Observe que escrevemos menor ou igual porque, por uma casualidade, se
pode obter uma igualdade. Se f for constante vale a igualdade.
CAP

ITULO 5. INTEGRAL APROXIMADA 173


2. Divida o intervalo [3, 3] em 20 subintervalos iguais, represente geome-
tricamente a aproxima c ao da area
3
_
3
f(x) =
3
_
3
x
2
usando sempre o m aximo de f em cada sub-intervalo. Esta soma de Rie-
mann assim obtida se chama soma superior de Riemann
S
20
(f)
e valem as desigualdades
3
_
3
f(x) S
20
(f) S
10
(f)
3. Tente uma demonstra c ao para a arma c ao: se duplicarmos a quantidade
de intervalos, usando parti coes uniformes, se tem
S
2n
(f) S
n
(f)
em outras palavras, as somas superiores obtidas por subdivisao sucessiva
dos subintervalos, forma uma sucess ao decrescente. Ela decresce para o
valor da integral
b
_
a
f(x)
sobre o intervalo [a, b].
4. Prove que, se f for uma fun c ao crescente,
S
n
(f) =
n1

k=0
f(a +kx)x. (5.22)
e uma aproxima c ao por falta da integral
b
_
a
f e
S
n
(f) =
n

k=1
f(a +kx)x. (5.23)
e uma aproxima c ao por excesso da integral. Fa ca um gr aco ilustrativo.
5. Prove que, se f for uma fun c ao decrescente,
S
n
(f) =
n1

k=0
f(a +kx)x. (5.24)
CAP

ITULO 5. INTEGRAL APROXIMADA 174


e uma aproximac ao por excesso da integral
b
_
a
f e
S
n
(f) =
n

k=1
f(a +kx)x. (5.25)
e uma aproximac ao por falta da integral. Fa ca um gr aco ilustrativo.
6. Use o programa riemann() para calcular, aproximadamdente, as integrais
a)
3
_
3
2x + 3 b)
3
_
0
3 2x
c)
0
_
3
5 2x d)
3
_
3
2x x
2
e)
3
_
2
x
2
2x + 3 f )
3
_
0
2 2x
2
g)
10
_
3
4xsen(x) + 3x
2
h)
10
_
1
x
2
cos(x) 2x 3
i)
3
_
3
3x
2
2x j)
3
_
3
(x
3
x
2
x + 4)sen(x)
k)
3
_
0
sen(x) l)
0
_
3
cos(x)
m)
3
_
3
x
2
cos(x) 2xsen(x) cos(x) n)
3
_
0
1 +x
2
cos(x)
e compare o resultado usando o Teorema Fundamental do C alculo, (em
alguns casos voce vai ter que usar integra c ao por partes).
Na proxima se cao alguns calculos feitos com um programa em Python vao
ilustrar numericamente e gracamente o signicado da soma de Riemann.
5.2 Integral no sentido de Riemann
Falamos diversas que as somas de Riemann eram aproxima coes da integral e
vamos agora ver como. A teoria que vamos apresentar e um pouco simplicada,
deixamos que voce leia uma teoria mais completa num livro de Calculo. Um
dos itens de nossa simplica cao reside em que vamos considerar apenas malhas
uniformes, este defeito e importante!
O metodo algortmico para calcular integrais e
Temos uma fun cao
[a, b]
f
R
que desejamos provar que e integravel;
CAP

ITULO 5. INTEGRAL APROXIMADA 175


Determinamos uma sucess ao de malhas
4
(parti coes),
k
, no intervalo [a, b]
de modo que a sucessora de cada malha seja um renamento
5
da anterior

k+1
<<
k
; (5.26)
a cada malha desta sucess ao associamos uma soma de Riemann para f
obtendo assim uma sucess ao de somas de Riemann

k
S
k
(f); (5.27)
Se qualquer sucess ao de somas de Riemann, assim construda, tiver o
mesmo limite, este limite comum e
b
_
a
f (5.28)
este e um dos metodos para denir n umeros reais, um n umero real e o limite
comum de uma classe de equivalencia de sucess oes convergentes de n umeros
racionais.
Podemos escrever uma deni cao para fun cao integr avel a Riemann:
Deni cao 7 integral no sentido de Riemann Seja
[a, b]
f
R.
f e integr avel no sentido de Riemann se qualquer sucess ao de somas de Riemann
obtida por renamentos arbitr arios de uma parti c ao de modo que a medida dos
subintervalos tendam a zero, denir um mesmo n umero real.
Este unico n umero real e
b
_
a
f.
Observa cao 11 Parti c oes uniformes
Observe que na deni c ao n ao zemos menc ao ` as parti coes uniformes. Para
denir a integral precisamos de famlias arbitr arias de parti c oes.
Mas neste texto somente faremos uso de parti coes uniformes. Para que voce
que alerta, a fun c ao
[1, 1]
f
R; x
1
x
(5.29)
seria integr avel se usarmos apenas parti coes uniformes e na verdade esta fun c ao
n ao e integr avel.
4
que na linguagem da estatstica representa uma amostragem
5
na linguagem da estatstica seria uma amostragem compatvel, ou compar avel, com a
anterior
CAP

ITULO 5. INTEGRAL APROXIMADA 176


Entretanto, se a func ao for integr avel, usando apenas parti c oes 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 renamentos de uma
partic ao inicial criando uma sucess ao que converge para o valor da integral, se
este valor existir.
Experimente o programa com algumas das fun c oes que est ao denidas nele,
por exemplo inv(x) que igual a
1
x
quando x = 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 fun c ao cuja integral voce deseja
dentro de uma das ultimas linhas do programa. Veja a observa c ao que indica
isto no pr oprio programa. Use o programa para denir outras fun c oes cujas
integrais voce deseja, observe a sintaxe da linguagem Python ao denir novas
func oes.
5.2.1 Duas propriedades da integral
Nao vamos desenvolver aqui a teoria de integra cao, ela e privativa do curso
de C alculo! Mostraremos entretanto uma propriedade da integral de Riemann
para ilustrar como as somas de Riemann sao um metodo efetivo de aproxima cao.
Depois veremos que combinando as somas de Riemann com aproxima cao poli-
nomial, teremos algoritmos muito possantes para calcular integrais aproxima-
damente.
A propriedade: se f = h +g entao
b
_
a
f =
b
_
a
(h +g) =
b
_
a
h +
b
_
a
g
e de grande uso. Vamos ver sua demonstra cao.
Suponhamos que f, g, h sejam fun coes integraveis e que f = h +g.
Para cada parti cao do intervalo [a, b] podemos escrever
f(x
k
) = g(x
k
) +h(x
k
); (5.30)
S
n
(f) =
n

k=0
f(x
k
)x
n
; (5.31)
S
n
(h) =
n

k=0
h(x
k
)x
n
; (5.32)
CAP

ITULO 5. INTEGRAL APROXIMADA 177


S
n
(g) =
n

k=0
g(x
k
)x
n
; (5.33)
S
n
(h +g) =
n

k=0
(h(x
k
) +g(x
k
))x
n
= (5.34)
n

k=0
f(x
k
)x
n
= S
n
(f) (5.35)
o que nos mostra que os n umeros
b
_
a
f;
b
_
a
h +g (5.36)
sao iguais, porque
As equa coes (30)-(35) valem para qualquer que sejam as parti coes esco-
lhidas no intervalo de integra cao;
Logo a a soma dos limites e igual ao limite da soma, e provamos assim
que a soma das integrais e igual a integral das somas.

E f acil usar uma pequena altera cao desta demonstra cao para provar outra
propriedade tambem muito util:
b
_
a
Kf = K
b
_
a
f (5.37)
se f for uma fun cao integr avel e K for uma constante qualquer.
Temos assim o exemplo
3
_
3
10x
2
+ 2x + 7 = 10
3
_
3
x
2
+ 2
3
_
3
x +
3
_
3
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)
3
_
1
1
x
b)
3
_
3
1
1+x
2
c)
3
_
3
2x+3
4+x
2
2. Re-escreva as somas de Riemann aumentando a precis ao, de modo que
os sub-intervalos tenha medida 0.1 Use uma calculadora ou computador e
calcule estas integrais.
CAP

ITULO 5. INTEGRAL APROXIMADA 178


3. O n umero de Napier Descubra experimentalmente um ponto e R tal que
e
_
1
1
x
= 1 (5.39)
Sugest ao, use o programa riemann.py e calcule as integrais
a
_
1
1
x
ate obter (uma aproximac ao do) n umero desejado.
4. Verique que, das duas somas de Riemann abaixo, uma fornece uma apro-
ximac ao por falta e a outra por excesso da integral
1
_
0
x
2
;
n1

0
k
2
n
2
1
n
;
n

1
k
2
n
2
1
n
(5.40)
identique quem e quem. Use riemann() in riemann.py.
5. Verique que, das duas somas de Riemann abaixo, uma fornece uma apro-
ximac ao por falta e a outra por excesso da integral
1
_
0
x
p
; p N ; p > 1 ;
n1

0
k
p
n
p
1
n
;
n

1
k
p
n
p
1
n
(5.41)
identique quem e quem . Use riemann() in riemann.py.
6. Verique experimentalmente (somas de Riemann) que
1
_
0
x
2
=
1
3
. Use
riemann() in riemann.py.
7. soma de RiemannProve a desigualdade:
n1

k=0
k
2
< n
3
1
_
0
x
2
<
n

k=1
k
2
(5.42)
8. soma de RiemannProve a desigualdade:
n1

k=0
k
3
< n
4
1
_
0
x
3
<
n

k=1
k
3
(5.43)
CAP

ITULO 5. INTEGRAL APROXIMADA 179


9. soma de RiemannProve a desigualdade:
a
3
n
4
n1

k=0
k
3
<
a
_
0
x
3
<
a
3
n
4
n

k=1
k
3
(5.44)
10. soma de RiemannProve a desigualdade:
n1

k=0
k
p
< n
p+1
1
_
0
x
p
<
n

k=1
k
p
(5.45)
11. soma de RiemannProve a desigualdade:
a
4
n
4
n1

k=0
k
3
<
a
_
0
x
3
<
a
4
n
4
n

k=1
k
3
(5.46)
12. soma de RiemannProve a desigualdade:
a
p+1
n
p+1
n1

k=0
k
p
<
a
_
0
x
p
<
a
p+1
n
p+1
n

k=1
k
3
(5.47)
13. Expresse como uma soma de areas de tri angulos is osceles, (ou de ret angulos0
uma aproxima c ao para a area do crculo de raio 1.
5.2.2 Calculo numerico da integral
Vamos calcular as areas dos retangulos limitados pelo graco de
f(x) = x
2
+ 2x + 1
ao longo de uma parti cao do intervalo [3, 3].
Os dados contidos na tabela 5.1 na p agina 180, mostram a sada de dados
de um programa em Python para o calculo da integral do exerccio 3, com
x = 0.2.
O gr aco 5.3, p agina 181, mostra os retangulos cujas areas se encontram
calculadas abaixo. O gr aco foi feito com auxlio do Gnuplot.
A tabela 5.1 mostra os valores da integral ao longo dos sub-intervalos da
parti cao.
deltax = 0.2
Valor aproximado da integral 24.104801.
Repetindo os calculos com valores menores para o x temos o seguinte:
CAP

ITULO 5. INTEGRAL APROXIMADA 180


x= -3 Sn(-3) = 0.7262867
x= -2.8 Sn(-2.8) = 1.3078534
x= -2.6 Sn(-2.6) = 1.7607801
x= -2.4 Sn(-2.4) = 2.1011468
x= -2.2 Sn(-2.2) = 2.3450335
x= -2.0 Sn(-2.0) = 2.5085202
x= -1.8 Sn(-1.8) = 2.6076869
x= -1.6 Sn(-1.6) = 2.6586136
x= -1.4 Sn(-1.4) = 2.6773803
x= -1.2 Sn(-1.2) = 2.680067
x= -1.0 Sn(-1.0) = 2.6827137
x= -0.8 Sn(-0.8) = 2.7013204
x= -0.6 Sn(-0.6) = 2.7518871
x= -0.4 Sn(-0.4) = 2.8504138
x= -0.2 Sn(-0.2) = 3.0129005
x= 0 Sn(0) = 3.2553472
x= 0.2 Sn(0.2) = 3.5937539
x= 0.4 Sn(0.4) = 4.0441206
x= 0.6 Sn(0.6) = 4.6224473
x= 0.8 Sn(0.8) = 5.344734
x= 1.0 Sn(1.0) = 6.2318207
x= 1.2 Sn(1.2) = 7.2957874
x= 1.4 Sn(1.4) = 8.5527141
x= 1.6 Sn(1.6) = 10.0186808
x= 1.8 Sn(1.8) = 11.7097675
x= 2.0 Sn(2.0) = 13.6420542
x= 2.2 Sn(2.2) = 15.8316209
x= 2.4 Sn(2.4) = 18.2945476
x= 2.6 Sn(2.6) = 21.0469143
x= 2.8 Sn(2.8) = 24.104801
Tabela 5.1: Tabela de valores da integral de f(x) = x
2
+ 2x + 1
a base de cada retangulo eh deltax = 0.12
o valor da integral aproximado eh = 23.2944
a base de cada retangulo eh deltax = 0.06
o valor da integral aproximado eh = 23.6436
a base de cada retangulo eh deltax = 0.006
o valor da integral aproximado eh = 24.060036
O valor exato desta integral e:
3
_
3
x
2
+ 2x + 1 = 24
CAP

ITULO 5. INTEGRAL APROXIMADA 181


e um programa em Python para calcula-la, aproximadamente, e:
Exemplo 17 Um programa em Python para calcular integrais
## inicio do arquivo integral.py
def f(x):
return x*x ## funcao f a ser integrada.
def integral(f,inicio,m):
inicio = input(inicio do intervalo [a, b] > a =)
m = input(m do intervalo [a, b] > b =)
soma = 0
deltax = 0.0000001 ## a precisao do calculo.
while (inicio < fim):
soma = soma + f(inicio)
inicio = inicio + deltax
soma = soma*deltax
return soma
inicio = 0
m = 1
print integral(f,inicio,m)
## m do arquivo integral.py
Rode este programa assim. Na linha de comandos do LinuX digite:
$ python integral.py
Voce pode alterar na denicao de f, veja no programa onde esta def f(x), a equacao e
assim calcular outras integrais.
O programa pede os extremos do intervalo de integracao.
0
2
4
6
8
10
12
14
16
-3 -2 -1 0 1 2 3 4
data
Figura 5.3: ret angulos da soma de Riemann para
3
R
3
x
2
+ 2x + 1
Observa cao 12 Comentando o programa
CAP

ITULO 5. INTEGRAL APROXIMADA 182


Nao considere como ponto de honra entender um programa de computacao agora. O
autor deste livro levou quase 15 anos para conseguir entender os programas de computacao...
Use os programas, e aos poucos eles passarao a fazer parte de sua vida.
Existe uma regra com algumas excecoes, em Unix (LinuX e Unix). O smbolo # repre-
senta comentario e o programa ignora o que vier depois deste sinal ate o nal da linha.
Assim podemos inserir nos programas comentarios para o outros que forem usar os pro-
gramas. No programa voce pode encontrar o comentario a precisao do calculoao lado da
variavel deltax. Esta e medida da base dos retangulos com a integral esta sendo calculada.
Troque por valor menor se quiser ter mais precisao, mas ver a que logo deixa de valer a pena,
porque a precisao maxima da maquina sera atingida.
Entretanto se voce iniciar os caculos com valores maiores para deltax, ao substituir
valores menores, vera que calculo se torna mais preciso. Experimente iniciar com
deltax = 0.1 (5.48)
e depois o substitua sucessivamente por 0.01, 0.001, 0.0001 .
Se voce tiver executado a experiencia, lhe tera aparecido ante os olhos a sucessao:
0.385, 0.32835, 0.3328335, 0.333383335, 0.333338333349, 0.333332833334 (5.49)
correspondentes a
1
R
0
x
2
calculada com este programa em que usamos
deltax {0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001} (5.50)
Se voce for alem mais um pouquinho tera a desgradavel surpreza de ver que a maquina
comeca se perder... mas e bom que isto aconteca para que voce desmistique a maquina.
Nos, e nao as maquinas, sabemos com contornar esta diculdade para obter precisoes ainda
maiores, mais isto nao cabe ser discutido aqui.
Na proxima lista de exerccios vamos usar o que o programa nos ofereceu, (supondo que
voce tenha usado o programa, naturalmente).
Observe que a sucessao das somas de Riemann parece produzir uma sucessao de n umeros
com um comportamento assint otico previsvel.
Para uso no exerccio abaixo, use a seguinte versao do programa
6
integral.py
Mais adiante vamos lhe apresentar uma outra alternativa computacional
usando uma maquina de calcular bem poderosa que pode estar instalada nos
computadores a que voce tiver acesso.
Observe que o programa abaixo nao se encontra no arquivo riemann.py.
Voce dever a digit a-lo e grav a-lo em sua area de trabalho.
## inicio do arquivo integral.py
def f(x):
return x*x ## fun cao f a ser integrada.
def integral(f,inicio,m):
m = 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.
CAP

ITULO 5. INTEGRAL APROXIMADA 183


x = deltax
while (x < fim):
soma = soma + f(x)
x = x + deltax
soma = soma*deltax
print soma
deltax = deltax/2
return soma
print integral(f,inicio,m)
## m do arquivo integral.py
Esta vers ao difere da anterior nos seguintes pontos, agora iniciovale del-
taxe m=1, quer dizer que ele calcula
1
_
0
f(x). (5.51)
Alem disto, o pr oprio programa sai dividindo sucessivamente deltaxpor dois,
voce tem apenas que sentar-se e olhar o resultado...
Para rodar este programa fa ca o seguinte:
Primeiro copie o texto do programa para um arquivo chamado integral.py.
Alternativa, arrume um disco com os programas com o autor do livro.
Digite, numa shell do LinuX,
python /home/seu-nome/calculo/integral.py
porque estamos supondo que voce est a trabalhando num diretorio cha-
mado calculo em sua area de trabalho.
Qualquer d uvida, contacte tarcisiomember.ams.org descrevendo cuidado-
samente a diculdade encontrada. Junte copia de eventuais mensagens de
erro.
Observa cao 13 Calcular integrais aproximadamente
Qual pode ser o sentido de que eu o esteja conduzindo ao c alculo aproximado
de integrais que voce sabe calcular exatamente?
Na verdade eu n ao deveria estar me concentrando no c alculo aproximado de
integrais que n ao sabemos calcular exatamente?
A resposta para esta pergunta e simples: como voce sabe calcular exatamente
as integrais voce tambem pode comparar os resultados do c alculo aproximado
com o c alculo exata e assim ganhar seguran ca sobre a precis ao do calculo apro-
ximado.
Inclusive os exerccios salientam este ponto ao pedir que voce calcule usando
o Teorema Fundamental do C alculo as integrais calculadas aproximadamente.
CAP

ITULO 5. INTEGRAL APROXIMADA 184


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).
a)
1
R
0
x
3
b)
1
_
0
1
x
c)
1
_
0
x + 3 d)
1
_
0
1
x
2
e)
1
_
0
x
4
f )
1
_
0
x+1
x
g)
1
_
0
x
x+1
h)
1
_
0
x+1
x+2
2. Existem exatamente tres casos em que o comportamento assint otico da
sucess ao de Somas de Riemann ca indenido. Tente encontrar uma ex-
plicac ao.
3. Verique que se, numa soma de Riemann para
b
_
a
f, os sub-intervalos tive-
rem todos o mesmo tamanho
ba
n
ent ao a soma de Riemann e um multiplo
de b a por uma media de valores de f, indique que media e esta: (1)
aritmetica, (2) geometrica ou (3) aritmetica ponderada.
4. Usando o resultado do exerccio anterior, conclua que se
b
_
a
f existir, ent ao
1
b a
b
_
a
f = M (5.52)
e um valor medio de f. Tente justicar a raz ao do artigo indenido.
5. partic ao do intervalo A metodologia usada pelo programa integral.py
consiste em, sucessivamente, dividir os intervalos na metade para obter
uma nova colec ao de sub-intervalos para a soma de Riemann seguinte.
Considere a soma de Riemann
n

k=1
f(a +kx)x (5.53)
e escreva a express ao da soma de Riemann em que x

e a metade de
x =
ba
n
.
6. Suponha que os valores
V
0
, V
1
, , V
n1
(5.54)
s ao os resultados das medidas da velocidade de um carro tomadas a inter-
valos regulares (iguais) do tempo t [a, b].
(a) Qual a velocidade media V
m
?
CAP

ITULO 5. INTEGRAL APROXIMADA 185


(b) Qual dist ancia percorrida pelo veculo?
(c) Expresse este valores numa f ormula usando a express ao da integral.
7. Descubra, geometricamente, as solu c oes da equa c ao:
x
_
0
3 t =
x
_
6
t 3 (5.55)
8. Transforme numa equa c ao algebrica a equa c ao:
x
_
0
3 t =
x
_
6
t 3 (5.56)
9. Verique quais das integrais abaixo e positiva:
a)
2
_
0
x +sen(x) b)
2
_
0
x cos(x)
10. Fa ca tabelas de valores semelhantes ` a tabela 5.1 na p agina 180, para as
integrais das fun c oes
f(x) =
1
x
; ; x [1, 10] (5.57)
g(x) = e
x
2
; ; x [3, 3] (5.58)
No ultimo exerccio voce solicitado a fazer tabelas de valores para o calculo
das integrais para ` as quais n ao h a forma de calculo exato.
A integral da fun cao f(x) =
1
x
no intervalo [1, R] fornece os valores do
logaritmo natural.
A integral da fun cao g(x) = e
x
2
no intervalo [a, a] fornece os valores
da gaussiana.
S ao duas fun coes de grande importancia em aplica coes e voce foi conduzido,
neste captulo, a saber fazer as tabelas das integrais destas fun coes.
5.3 Regra do trapesio
Vamos fazer referencia a este metodo apenas para n ao deixa-lo de fora, seu valor
e historico. Foi um metodo que teve importancia quando calculavamos apro-
xima coes manualmente. Ao mesmo tempo ele serve de exemplo de f ormulas que
se escrevem facilmente com Matematica e que e difcil traduzir num programa
de computador.
Fizemos um comentario, p aginas acima, dizendo que a area de um trapesio
(ou de um tri angulo) e a media aritmetica das areas de dois retangulos:
CAP

ITULO 5. INTEGRAL APROXIMADA 186


1. um cuja altura e a altura maior do trapesio;
2. outro cuja altura e a altura menor do trapesio;
Veja isto na gura (g. 5.4) p agina 186,
Figura 5.4: area do trapesio e uma media aritmetica
Para demonstrar esta arma cao, considere um trapesio com base B e alturas
H
1
< H
2
. Como e sabido, a area de um trapesio e B(
H1+H2
2
)
B(
H1+H2
2
) =
BH1+BH2
2
= (5.59)
BH
1
e a area do retangulo de menor altura (5.60)
(5.61)
BH
2
e a area do retangulo de maior altura (5.62)
CAP

ITULO 5. INTEGRAL APROXIMADA 187


e a gura (g. 5.4) lhe mostra como, geometricamente, voce pode obter um
trapesio, a partir do retangulo menor, cortando um tri angulo.
Em Matematica e f acil escrever a soma de Riemann superior que fornece a
area por excesso associada a uma parti cao ([a, b]):
S
n
(f) =
n1

k=0
f
k
x (5.63)
em que f
k
representa o supremo de f no intervalo [x
k
, x
k+1
]. Mas n ao h a
programas de computador que consigam calcular supremos facilmente. De forma
an aloga a soma de Riemann inferior se escreve
S
n
(f) =
n1

k=0
f
k
x (5.64)
em que f
k
representa o nmo de f no intervalo [x
k
, x
k+1
]. A mesma observa cao
se pode fazer sobre nmos e programas de computador. A f ormula matem atica
para calcular uma aproxima cao, usando trapesios, de
b
_
a
f ser a a media aritmetica
de S
n
(f), S
n
(f) que e
S
n
(f) +S
n
(f)
2
=
n1

k=0
f
k
+f
k
2
x (5.65)
que n ao e nada f acil de produzir com um programa de computador. Esta f ormula
foi muito utilizada nos tempos que em que calculavamos aproxima coes de in-
tegrais manualmente. Hoje perdeu o sentido porque uma soma de Riemann
calculada com um programa com valor muito pequeno para x nos dara apro-
xima coes que dicilmente conseguiriamos com a regra do trapesio.
5.4 Integral de fun coes polinomiais
Nos cursos de C alculo mostramos que
b
_
a
f(x)dx =
b
_
a
x
n
dx =
x
n+1
n + 1
|
b
a
=
b
n+1
n + 1

a
n+1
n + 1
= F(b) F(a)
que e a expressao do Teorema Fundamental do C alculo para as fun coes polino-
miais. Vou agora usar este teorema para o calculo da integral das aproxima coes
quase-splines de dados.
CAP

ITULO 5. INTEGRAL APROXIMADA 188


5.4.1 Apresentacao do metodo
No captulo 4 vimos que num levantamento de dados, por exemplo, com auxlio
de sensores, podemos recuperar de forma muito precisa a distribui cao de um de-
terminado fen omeno usando apenas as informa coes obtidas sobre este fenomeno
em pequena quantidade de n os de uma malha.
Na primeira parte deste captulo z uso de malhas, que chamei de parti c oes
de um intervalo, sobre cujos n os calculei os valores de uma fun cao, portanto
tambem um levantamento de dados, concluindo na constru cao de somas de
Riemann como aproxima coes para a integral das fun coes.
Agora vou substituir a utiliza cao dos sub-intervalos das parti coes para neles
simular os valores de uma fun cao usando um quase-spline e calcular a integral de
cada um desses pedacos de polin omio em cima de cada sub-intervalo da parti cao,
substituindo estes valores na expressao das somas de Riemann. Estarei assim
re-utilizando o conceito de soma de Riemann para obter uma nova forma de
aproxima cao da integral de uma fun cao.
Veremos, na compara cao com casos particulares, em que sabemos calcular a
integral com precisao, que o resultado da aproxima cao da integral usando este
metodo fornece uma grande aproxima cao do valor da integral, validando, assim
o metodo.
Finalmente vou mostrar que os bons resultados nao correspondem a connci-
dencias obtidas com casos bem comportados, mas que a integral dos quase-
splines correspondem a uma forma excelente de aproxima cao quando a fun cao
tiver alguma classe de regularidade (ser contnua, por exemplo).
A conclus ao sendo, portanto, que, como os dados amostrais sao supostos se-
rem o resultado de medi coes de fen omenos regulares, em geral mais do que ape-
nas contnuos, diferenci aveis tambem, entao a a modelagem com quase-splines
dos mesmo nos permite uma quantica cao muito boa dos dados no calculo da
quantidade total (integral), taxas de varia cao (derivadas), valor medio (inte-
gral).
5.4.2 Integral de quase-splines
Vou usar, neste se cao, o calculo da integral de uma fun cao polinomial, automa-
tizada, com um programa de computador.
Os quase-splines com que trabalhamos sao fun coes polinomiais por peda cos,
de grau menor ou igual a tres. Simplicando inicialmente a nota cao, vou desig-
nar por [a, b] um sub-intervalo tpico de uma malha considerarada num intervalo
I.
Entao o peda co de polinomio, P, associado a este sub-intervalo tem por
equa cao
P(x) = a
0
+a
0
(x a) +a
2
(x a)
2
+a
3
(x a)
3
(5.66)
e sua integral no intervalo [a, b] ser a
CAP

ITULO 5. INTEGRAL APROXIMADA 189


A =
b
_
a
P(x)dx = (5.67)
A =
ba
_
0
P(x +a)d(x +a) (5.68)
A =
3

k=0
ba
_
0
a
k
x
k
dx (5.69)
A =
3

k=0
a
k
x
k+1
k+1
|
ba
0
(5.70)
A =
3

k=0
a
k
(ba)
k+1
k+1
(5.71)
em que
na equa cao (68) z a chamada mudan ca de vari avel para transformar o
intervalo de integra cao de [a, b] para [0, b a];
na equa cao (69) estou trocando a ordem dos smbolos de soma e integral
(distributividade da integral relativamente ` a soma);
na equa cao (70) apliquei o Teorema Fundamental do C alculo a cada um
dos mon omios;
e na equa cao (71) z a substitui cao nal usando a expressao simples obtida
em consequencia da mudan ca de vari avel.
Agora, se substituirmos a nota cao do intervalo [a, b] por um sub-intervalo
tpico da malha, com as correspondentes expressoes para os peda cos de po-
lin omio, teremos
[a, b] := [x
i
, x
i+1
] (5.72)
A := A
i
=
3

k=0
a
i,k
x
k+1
k+1
|
xi+1xi
0
(5.73)
b
_
a
f(x)dx
n1

i=0
A
i
(5.74)
b
_
a
f(x)dx
n1

i=0
3

k=0
a
i,k
(xi+1xi)
k+1
k+1
(5.75)
em que
na equa cao (72) substitui o intervalo [a, b] por um intervalo generico [x
i
, x
i+1
]
da parti cao (malha);
na equa cao (73) escrevi a expressao da integral peda cao de polinomio P
i
no subintervalo [x
i
, x
i+1
];
CAP

ITULO 5. INTEGRAL APROXIMADA 190


na equa cao (74) escrevi a aproxima cao da integral de f como a soma das
integrais de cada um dos peda cos de polinomio P
i
;
e, nalmente, na equa cao (75) escrevi a expressao da soma nal que da
aproxima cao da integral de f no intervalo [a, b].
Vemos assim que a integral de um quase-spline depende apenas da expressao
da matriz dos coecientes
a
i,k
(5.76)
e das medidas

i,k
= x
i+1
x
i
(5.77)
de cada um dos sub-intervalos da malha considerada. A informa cao sobre o
fenomenos est a guardada nos coecientes da matriz dos splines e em alguma
forma tambem na medida dos intervalos. Quando as malhas forem informes
esta medidas ser ao todas iguais a e ja vimos nas discussoes anteriores que
esta simplica cao em geral n ao traz nenhuma distor cao signicativa na analise
dos fen omenos. Vou sintetizar estes resultados em alguns teoremas para tornar
f acil a referencia.
Teorema 11 Integral de quase-splines - parti c ao n ao uniforme
Considere uma aproximac ao quase-spline de
f : [a, b] R (5.78)
determinada pela matriz
(a
i,k
) i = 0 . . . n 1 ; k = 0 . . . 3 (5.79)
e pela matriz
(
i
) i = 0 . . . n 1 (5.80)
das medidas dos sub-intervalos de [a, b].
b
_
a
f(x)dx
n1

i=0
3

k=0
a
i,k
(
i
)
k+1
k + 1
(5.81)
se a parti cao for uniforme temos um resultado um pouco simplicado
Teorema 12 Integral de quase-splines - parti c ao uniforme
Considere uma aproximac ao quase-spline de
f : [a, b] R (5.82)
determinada pela matriz
CAP

ITULO 5. INTEGRAL APROXIMADA 191


(a
i,k
) i = 0 . . . n 1 ; k = 0 . . . 3 (5.83)
b
_
a
f(x)dx
n1

i=0
3

k=0
a
i,k
()
k+1
k + 1
(5.84)
em que e a medida comum a todos os sub-intervalos da malha considerada
em [a, b].

E interessante registrar tambem com uma f ormula o valor medio de f e


vamos faze-lo nos dois casos.
Teorema 13 Valor medio aproximado de f - parti c ao n ao uniforme
Considere uma aproxima c ao quase-spline de
f : [a, b] R (5.85)
determinada pela matriz
(a
i,k
) i = 0 . . . n 1 ; k = 0 . . . 3 (5.86)
e pela matriz
(
i
) i = 0 . . . n 1 (5.87)
das medidas dos sub-intervalos de [a, b]. O valor medio aproximado de f e
1
b a
n1

i=0
3

k=0
a
i,k
(
i
)
k+1
k + 1
(5.88)
e quando a parti cao for uniforme temos a seguinte aproxima cao do valor medio
Teorema 14 Valor medio aproximado de f - parti c ao uniforme
Considere uma aproxima c ao quase-spline de
f : [a, b] R (5.89)
determinada pela matriz
(a
i,k
) i = 0 . . . n 1 ; k = 0 . . . 3 (5.90)
O valor medio aproximado de f e
1
b a
n1

i=0
3

k=0
a
i,k
()
k+1
k + 1
(5.91)
em que e a medida comum a todos os sub-intervalos da malha considerada
em [a, b].
CAP

ITULO 5. INTEGRAL APROXIMADA 192


Exerccios 24 Integral de func oes polinomiais
1. Considere a seguinte tabela de dados
x
k
f(x
k
) f

(x
k
)
4 3 1
1 0 2
2 7 0
6 5 6
Calcule a area da func ao polinomial por peda cos, f, de grau 3 que ela
determina.
Solu cao 11 Os coecientes dos polin omios
7
s ao
P
1
[4.00, 1.00] a
0
, a
1
, a
2
, a
3
3.0, 1.0, 0.33, 0.11
P
2
[1.00, 2.00] a
0
, a
1
, a
2
, a
3
0.0, 2.0 1.0, 0.296296
P
3
[2.00, 6.00] a
0
, a
1
, a
2
, a
3
7.0, 0.0, 0.75, 0.0
As integrais destes polin omios s ao (nos respectivos intervalos)
1
_
4
P
1
= 5.24999925 (5.92)
2
_
1
P
2
= 12.000006 (5.93)
6
_
2
P
3
= 12 (5.94)
6
_
4
f = 18.75 (5.95)
Veja o gr aco da func ao polinomial por peda cos, na gura (g. 5.5) p agina
193.
2. Calcule a quantidade do fen omeno descrito pelos dados
x
k
f(x
k
) f

(x
k
)
4 3 1
1 0 2
2 7 0
6 5 6
usando a regra do trapesio e compare com o resultado obtido usando apro-
ximac ao polinomial do terceiro grau.
7
os coecientes foram calculados com o programa ex0732.c
CAP

ITULO 5. INTEGRAL APROXIMADA 193


-8
-6
-4
-2
0
2
4
6
-4 -3 -2 -1 0 1 2 3 4 5 6
"dados"
Figura 5.5: Gr aco do polin omio por peda cos
3. Um sensor obteve as seguintes medidas a intervalos iguais de tempo
3 3.2 3.5 4 4.7 5 5.1 5.2 5.21 5.22 5.223 5.2231 5.2232
Encontre um polin omio por peda cos que descreva este fen omeno e calcule
a quantidade total do fen omeno (integral) e o valor medio do mesmo.
Solu cao 12 Como temos medidas igualmente espa cadas, (uma parti c ao
uniforme) vamos selecionar um subconjunto destas medidas guardando
dois valores seguidos e desprezando tres valores seguidos. Com os valores
seguidos calcularemos a taxa de vari c ao. De acordo com esta decis ao, a
tabela de valores que temos e
CAP

ITULO 5. INTEGRAL APROXIMADA 194


x
k
f(x
k
) f

(x
k
)
0 3
3.23
1
5 5
5.15
1
10 5.2231
5.22325.2231
Como selecionamos dois pontos seguidos e desprezamos os tres seguintes, e
razo avel considerar que a dist ancia entre os n os seja 5 e assim escolhemos
{0, 5, 10} como o conjunto de n os. Usando o programa ex0732.c para
calcular os coecientes dos polin omios, temos
P
1
(x) = 3.0 + 0.2x + 0.14x
2
0.02x
3
(5.96)
P
2
(x) = 5.0 + 0.1x 0.013248x
2
+ 0.000434x
3
(5.97)
As integrais, em cada subintervalo, s ao
5
_
0
P
1
= 20.208334 (5.98)
10
_
5
P
2
= 25.765875 (5.99)
e a quantidade do fen omeno e 45.974209. O valor medio e 4.59742
A representac ao gr aca da modelagem deste fen omeno pode ser vista na
gura (g. 5.6) p agina 194,
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 10
"dados"
Figura 5.6: Modelagem com polin omios por peda cos
CAP

ITULO 5. INTEGRAL APROXIMADA 195


Voce logo ir a perceber que o calculo aproximado da integral usando splines e
uma generaliza cao da soma de Riemann o que justica que tenhamos come cado
o captulo usando um metodo atrazado e ineciente.
5.5 Integral de quasi-splines
Um n-spline e uma fun cao polinomial por peda cos, de grau n que e de classe
8
C
n1
.
Em outras palavras, se
[a, b]
f
R (5.100)
for um n-spline, entao
existe uma parti cao ([a, b]), uma famlia de subintervalos, (I
k
)
n1
k=0
e
uma famlia de polinomios (P
k
)
n1
k=0
de grau menor ou igual a n de tal
modo que
f|
[xk,xk+1]
= P
k
f concide com o polinomio P
k
sobre o intervalo [x
k
, [x
k+1
];
e f e de classe n 1.
Consequentemente a integral de um spline e uma soma de integrais de po-
lin omios sobre o ndice que descreve a famlia de sub-intervalos associados ao
spline:
b
_
a
f =
n1

k=0
xk+1
_
xk
P
k
(5.101)
Ha v arias formas de apresentarmos splines, e um pouco disto foi visto no
captulo 4 quando tambem chamamos sua aten cao de que aqui estamos usando
uma vers ao fraca de splines que chamamos de quasi-splines porque apenas exigi-
mos a continuidade da derivada das fun coes polinomiais por peda cos. Os nossos
quasi-splines sao de classe C
1
.
Exerccios 25 Integral aproximada
1. Considere
2.
3.
8
que tem n 1 derivadas contnuas
Captulo 6
Equacoes diferenciais
ordinarias
Vou apresentar alguns metodos que permitem, sobre
tudo, uma visualiza cao da solu cao aproximadas de
equa coes diferenciais de primeira ordem da forma
dy
dx
= f(x, y)
considerada uma condi cao inicial (x
0
, y
0
) e uma
regiao retangular da qual esta condi cao inicial e um
ponto interior.
Resolver exatamente uma equa cao diferencial e uma tarefa difcil mesmo nos
casos em que sabemos tudo
1
, equac oes diferenciais lineares.
Durante a segunda metade do seculo 20 foram desenvolvidos complemen-
tos computacionais para metodos desenvolvidos ja no seculo 19.

E desta fusao
dos metodos antigos, com os avan cos computacionais que trataremos aqui para
mostrar como podemos resolver aproximadamente uma equa cao diferencial or-
dinaria.
As equa coes diferenciais de ordem superior a um podem ser reduzidas, atraves
de sistema de equa coes ` as equa coes de primeira ordem, e na parte nal do
captulo mostrarei alguns exemplos desta tecnica. Entretanto o leitor nao deve
perder de vista uma verdade crucial, cada equa c ao diferencial e um novo pro-
blema, n ao temos uma teoria universal para resolver estas equa coes e nem talvez
isto venha a existir no futuro. Por outro lado os metodos computacionais vem
se revelando cada vez mais ecazes em nos ajudar na constru cao das solu coes
1
teoricamente sabemos tudo, mas sabemos que nem sempre conseguiremos encontrar as
solu c oes....
196
CAP

ITULO 6. E.D.O. 197


aproximadas mas continua sendo verdadeiro que os programas n ao podem rodar
sozinhos, eles tem que ser monitorados, e o homem que resolve as equa coes com
auxlio da m aquina.
Uma equa cao diferencial ordinaria e uma expressao da forma
F(x, y, y

, . . . , y
(n)
) = 0 (6.1)
em que as potencias da vari avel y representam as sucessivas de y em rela cao ` a
unica vari avel livre x sendo porisso que estas equa coes se denominam ordin arias,
o adjetivo indicando o caso univariado.
A vari avel nesta equa cao diferencial de fato e y, que e a incognita mas o
h abito de chamar os parametros livres de vari aveis persiste sendo um defeito que
n ao nos incomoda e naturalmente vou continuar usando esta terminologia. Se a
incognita, numa equa cao diferencial, tiver v arias vari aveis, a equa cao se chama
equa c ao diferencial parcial e na expressao da equa cao intervem as derivadas
parciais da incognita relativamente ` as vari aveis.
Neste livro vou tratar apenas de equa c oes diferenciais ordin arias. A maior
ordem de deriva cao e a ordem da equa cao.
Como j a observei, as equa coes de ordem superior a um podem ser transforma-
das num sistema de equa coes de primeira ordem por meios bastante engenhosos
e que dependem de cada equa cao, esta e a razao pela qual se estuda de forma
intensiva as equa coes de primeira ordem. Outra razao importante e a de que,
se interpretada de forma aproximada, derivadas de ordem superior a 1 indu-
zem nos calculo erros signcativos que e difcil de controlar. Isto se pode ver
facilmente numa listagem de quociente de diferencas de ordem 2, numa malha
sucientemente na, em volta de pontos em que a fun cao tenha uma oscila cao
muito intensa, como apresentei no primeiro captulo.
Entao vou me restringir nesta exposi cao ` as equa coes diferenciais do tipo da
equa cao (1) de ordem 1
F(x, y, y

) = 0 (6.2)
Esta equa cao, desde que satisfeitas as condi coes do Teorema da Fun cao
Implcita pode ser escrita na forma
y

= f(x, y) = 0 (6.3)
exceto possivelmente em cima de algumas curvas onde a derivada parcial de F
relativamente a terceira vari avel se anulasse portanto esta nova expressao e em
geral f acil de ser deduzida a partir da equa cao (2) o que justica que a grande
maioria dos textos parte diretamente de uma equa cao na forma (3) deixando as
expressoes das equa coes (1), (2) no preambulo como uma forma adequada de
iniciar falando de equa coes diferenciais.
Entao ser a a equa cao (3) que eu vou tomar como modelo para uma equa cao
diferencial ordinaria de primeira ordem neste captulo sendo esta uma expressao
bastante geral como acabei de expor.
O meu objetivo aqui e apresentar metodos para resolver de forma aproxi-
mada as equa coes diferenciais e sobretudo apresentar este metodos no contexto
atual em que a computa cao nos permite trabalhar.
CAP

ITULO 6. E.D.O. 198


Resolver uma equa cao diferencial signica para nos encontrar uma solu cao
aproximada para um problema de valor inicial
y

= f(x, y) ; y

(x
0
) = f(x
0
, y
0
) (6.4)
o ponto (x
0
, y
0
) e comumente denominado condi c ao inicial.
Por exemplo, certos autores ainda fazem referencia ao metodo passo a passo
em que podemos obter um sucess ao de valores y
k
quando hoje podemos en-
contrar uma poligonal com um n umero grande de lados sendo estes lados ar-
bitrariamente pequenos representando uma aproxima cao de alta precisao para
um problema de valor inicial. A men cao anterior e apenas aos vertices desta
poligonal.
Aqui vamos melhorar, como apoio computacional, os metodos tradicionais
de uma forma que logo vamos descrever.
Com frequencia a vari avel livre usada e t quando se quer fazer referencia
a problemas din amicos. Como esta nota cao e puramente psicologica, eu vou
continuar usando x como parametro, mas vou me permitir a usar a linguagem
de equa coes dinamicas quando me parecer interessante.
Queremos obter uma poligonal a partir da condi cao inicial (x
0
, y
0
) para
frente, ou para tr as, quando x I, um intervalo aberto I contendo x
0
como o
indica a gura (g. 6.1) p agina 198, em que uma curva, a solu cao exata apa-
Figura 6.1: Uma poligonal-solu c ao aproximada
rece passando por um ponto, a condi c ao inicial, onde tambem se origina uma
poligonal, a solu cao aproximada que nos interessa. A gura tambem ilustra um
item importante neste problema que o domnio de validade da solu cao. A de-
termina cao desta domnio e consequencia dos coecientes variaveis da equa cao
ou da pr opria fun cao f(x, y). Por exemplo, a equa cao
y

=
x
y
(6.5)
CAP

ITULO 6. E.D.O. 199


que logo iremos usar como um exemplo, estabelece como domnio
= R
2
{(x, y) R
2
; y = 0} (6.6)
o que justica plenamente um problema de instabilidade do algortmo de que
vamos tratar mais a frente.
Entretanto n os sabemos que esta restri cao n ao precisa existir, em particular
esta equa cao e uma das equa coes mais elementares para ser resolvida conduzindo
pelo metodo das vari aveis separ aveis ` a equa cao de uma famlia de crculos de
centro na origem com validade em todo R
2
.
Infelizmente nem sempre podemos fazer uma discussao simples assim num
problema particular.
O plano do trabalho que vamos desenvolver aqui e
O metodo de Euler que produz a poligonal de Euler; Um algoritmo com-
putacional produz esta poligonal com uma precisao bastante grande em
vez de apenas construir os vertices;
O metodo de Taylor que e uma aplica cao dos polinomios de Taylor
2
em
que uma fun cao polinomial vai representar a solu cao aproximada. Aqui
vamos usar o metodo de Taylor para fazer uma melhoria no metodo de
Euler produzindo uma fun cao polinomial por peda cos, cada peda cao cons-
truido com o metodo de Taylor. Este metodo e compar avel ao metodo de
Runge-Kutta em muito exemplos.
6.1 O metodo de Euler
O metodo de Euler pode ser explicado de forma bem elementar. A gura (g.
6.2) p agina 200, ilustra o metodo com uma constru cao feita ` a m ao. O ponto
P na gura representa uma condi c ao inicial onde desenhei um segmento de
reta tangente, uma aproxima cao linear da curva num vizinhan ca do ponto P. O
outro ponto do segmento, P
1
e uma nova condi cao inicial em que novo segmento
de reta tangente ser a tra cado e assim sucessivamente temos uma poligonal que
representa uma aproxima cao da curva-solu cao da equa cao diferencial.
A curva apresentada na (g. 6.2) e um crculo que se for centrada na origem
e uma solu cao da equa cao diferencial
y

=
x
y
= f(x, y) (6.7)
e eu escolhi este exemplo porque ele oferece um problema na implementa cao do
algoritmo: os pontos com tangentes verticais, em cima do eixo OX, tornam o
programa instavel. O mesmo aconteceria com a equa cao
y

=
x
y
(6.8)
2
alguns autores se referem indevidamente ` a serie de Taylor
CAP

ITULO 6. E.D.O. 200


mtodo de Euler
P
P
P
P
1
2
3
Figura 6.2: O metodo de Euler - uma poligonal
cujas curvas-solu cao sao hiperboles. Novamente o algoritmo perde estabilidade
quando passa no eixo OX.

E possvel obter uma solu cao que corte este eixo,
mas em geral o programa se perde desenhando retas obliquas porque perto do
eixo, logo acima ou logo abaixo o coeciente angular e muito alto e e difcil
escrever um algoritmo que supere este problema.
O algoritmo, como mostra a gura, consiste em substituir a solu cao por uma
poligonal que parte da condic ao inicial dada, (x
0
, y
0
), e que podemos descrever
com a seguinte sucess ao de equa coes num processo indutivo. No conjunto de
equa coes abaixo, cada duas equa coes representa um passo no processo
(x
0
, y
0
) f
0
(x) = y
0
+f(x
0
, y
0
)(x x
0
) (6.9)
x
1
= x
0
+ x ; y
1
= f
0
(x
1
) (6.10)
.
.
. (6.11)
CAP

ITULO 6. E.D.O. 201


(x
k
, y
k
) f
k
(x) = y
k
+f(x
k
, y
k
)(x x
k
) (6.12)
x
k+1
= x
k
+ x ; y
k+1
= f
k
(x
k
) (6.13)
.
.
. (6.14)
(x
n
, y
n
) f
n
(x) = y
n
+f(x
n
, y
n
)(x x
n
) (6.15)
x
n+1
= x
n
+ x ; y
n+1
= f
n
(x
n
) (6.16)
eu escrevi a equa cao da reta f
k
com a qual calculei y
k+1
denindo antes x
k+1
=
x
k
+ x .
o primeiro lado da poligonal se originando na condi cao inicial para a qual
se calcula a equa cao da reta tangente ;
o segundo extremo deste segmento de reta tangente e uma nova condi cao
inicial para determinar um novo lado da poligonal
e assim sucessivamente.
O programa euler.c implementa este algoritmo mas n ao consegue resolver
a equa cao do crculo se a condi cao inicial estiver em cima do eixo OX. A gura
(g. 6.3) p agina 202,
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 j a apresenta o gr aco da
solu cao aproximada deixando os dados registrados em arquivos o permite repetir
o gr aco posteriormente, sem rodar o programa.
Alem de poder ver o gr aco tenho assim os vertices da poligonal de Euler
disponveis para aplica coes numericas. O leitor interessado pode me pedir copia
do programa por e-mail.
CAP

ITULO 6. E.D.O. 202


-4
-3
-2
-1
0
1
2
3
4
-4 -3 -2 -1 0 1 2 3 4 5
"dados"
"XOY"
Figura 6.3: solu c ao aproximada de y

=
x
y
Exerccios 26 1.
2.
3.
CAP

ITULO 6. E.D.O. 203


6.2 Polinomio de Taylor: solu cao aproximada
O metodo de Taylor pode ser visto como genera-
liza cao do metodo de Euler e eu vou apresenta-lo
sob esta forma nesta exposi cao. Fazendo assim, o
algoritmo computacional j a produzido par o metodo
de Euler pode ser facilmente alterado para produzir
o metodo de Taylor.
Quero resolver o problema de valor inicial
y

= f(x, y) ; y

(x
0
) = f(x
0
, y
0
) (6.17)
num domnio R
2
em que (x
0
, y
0
) .
A suposi cao de que seja um aberto nos deixa livre de preocupa coes com
a fronteira onde eventualmente as derivadas parciais de f deixassem de existir.
Na constru cao vamos ver quais sao as hipoteses necessarias para que o problema
possa ser resolvido.
A polinomio de Taylor de grau n produz uma fun cao polinomial tangente ao
gr aco de uma fun cao tangenciando ate a ordem de deriva cao correspondente
ao grau do polinomio.
6.2.1 Polinomio de Taylor do segundo grau
A reta tangente e a expressao do polinomio de Taylor de primeiro grau.
Podemos entao tomar a equa cao
(x
0
, y
0
) f
0
(x) = y
0
+f(x
0
, y
0
)(x x
0
) (6.18)
em que obtivemos uma fun cao do primeiro grau cujo gr aco e tangente ao gr aco
da curva-solu cao passando no ponto (x
0
, y
0
) e queremos expandir mais um termo
para obter uma expressao (polinomio) do segundo grau.
Para isto vamos formalmente expressar y

= z, que o leitor ver a novamente


quando numa equa cao de ordem dois zermos sua transforma cao num sistema
de equa coes de primeira ordem, ao nal do captulo, para escrever:
y

= z = f(x, y) (6.19)
y

(x
0
) = A
0
(6.20)
dz =
f(x,y)
x
dx +
f(x,y)
y
dy (6.21)
y

=
dz
dx
=
f(x,y)
x
+
f(x,y)
y
dy
dx
(6.22)
y

(x
0
) =
f(x,y)
x
|
(x0,y0)
+
f(x,y)
y
|
(x0,y0)
y

(x
0
) (6.23)
y

(x
0
) = A
1
(6.24)
f
0
(x) = y
0
+A
0
(x x
0
) +
A1
2
(x x
0
)
2
(6.25)
CAP

ITULO 6. E.D.O. 204


f
0
(x) = y
0
+A
0,0
(x x
0
) +
A0,1
2
(x x
0
)
2
(6.26)
e a expressao do polinomio do segundo grau que substitui, na formula de Euler,
a equa cao da reta tangente.
Posso agora retomar as equa coes que de forma iterativa me deram a poligonal
de Euler, para calcular construir uma sucessao de polinomios do segundo grau,
uma polinomial de segundo grau que aproxima a solu cao do problema de valor
inicial
y

= f(x, y) ; y

(x
0
) = f(x
0
, y
0
) (6.27)
(x
0
, y
0
) f
0
(x) = y
0
+A
0,0
(x x
0
) +
A0,1
2
(x x
0
)
2
(6.28)
x
1
= x
0
+ x ; y
1
= f
0
(x
1
) (6.29)
.
.
. (6.30)
(x
k
, y
k
) f
k
(x) = y
k
+A
k,0
(x x
0
) +
Ak,1
2
(x x
0
)
2
(6.31)
x
k+1
= x
k
+ x ; y
k+1
= f
k
(x
k
) (6.32)
.
.
. (6.33)
(x
n
, y
n
) f
n
(x) = y
n
+A
n,0
(x x
0
) +
An,1
2
(x x
0
)
2
(6.34)
x
n+1
= x
n
+ x ; y
n+1
= f
n
(x
n
) (6.35)
O programa taylor.c e uma simples consequencia do programa euler.c
apenas acrescentanodo as fun coes necessarias para calcular A
k,0
, A
k,1
, e natu-
ralmente usando a nova expressao de f
k
no calculo dos pontos para obter o
gr aco.
6.2.2 Polinomio de Taylor de grau n
Poderiamos ser tentados em prosseguir estes calculos em busca de um polin omio
de Taylor de grau mais elevado. Como e facil de observar a partir do c alculo
feito acima, as contas cariam bem mais complicadas a cada nova ordem (grau
do polinomio).
A experiencia que temos com aproxima cao nos indica que outro caminho
pode ser tomado para obter melhor aproxima cao, por exemplo construir um
metodo hbrido, de Taylor, usando a mesma metologia acima.
Isto recairia na constru cao de splines ou quase-splines.
Referencias Bibliogracas
[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] Cl audio, D. M. e Marins, J.M.
C alculo Numerico Computacional - 1994 editora atlas - 2a Edi cao
[5] Sper andio, 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 Innitesimal
- 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
205
REFER

ENCIAS BIBLIOGR

AFICAS 206
[11] Faculdade de Engenharia Mec anica - Unicamp
http://www.fem.unicamp.br/ em313/paginas/person/lavoisie.htm
[12] Saunders, M e Birkho, G - Algebra
MacGraw-Hill - 1968
[13] gnuplot um programa para fazer graco e alguns c alculos
http://www.gnuplot.info
[14] A enciclopedia livre na Internet
http://www.widipedia.org
[15] Linz, P. A critique of numerical Analysis.
- Bull. of AMS vol 19 no. 2 1989 (407,416)
[16] Meyer, Y Wavelets Algorithms and Applications
- SIAM - 1994
[17] Monagan e Neuenschwander
GRADIENT. Algortithmic Dierentiation in Maple
Pre-Print - Symbolic Computation Group
Institut f ur Wissenschftliches Rechnen
- ETH - Z urich - Switzerland
[18] Praciano-Pereira, T. C alculo numerico Computacional - Introdu c ao ` a lin-
guagem Pascal
- Editora da Universidade Estadual Vale do Acara u - 2000
http://www.4shared.com/le/14206895/ae074651/pascal.html
[19] C alculo numerico Computacional - Edi cao Eletronica
Laborat orio 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 convolu c ao
http://www.4shared.com/le/17757661/3515d0b6/convspl02.html
[22] Rossum, Guido van A tutorial on Python
- guido@cnri.reston.va.us - ftp.python.org.
[23] Scilab Group - SciLab - programa para simulac oes numericas
INRIA - Unite de recherche de Rocquencourt - Projet Meta2 - scilab@inria.fr
- 1996
htt://www.scilab.org
REFER

ENCIAS BIBLIOGR

AFICAS 207
[24] SIAM NEWS - The news journal of the Society of Industrial and Applied
Mathematics
- Philadelpphia, PA - USA
[25] Simmons, G.F.
Dierential Equations with App. and Hist. Notes.
McGraw-Hill - Book Company - 1978
[26] An elementary proof of the Arithmetic-Geometric Inequality - Revista Vetor
- Univ. Federal do Rio - 2004 - Grande - Rio Grande - RS
[27] Jose St alio Rodrigues do Santos e Praciano-Pereira, T.
Introdu c ao ` a Matem atica Universit aria
Edi cao Eletr onica do Laborat orio de Matematica Computacional - Univ. Es-
tadual Vale do Acara u - Sobral - Cear a - 2005
http://www.4shared.com/le/12779601/ab687cc4/fundam2p.html
[28] Spline
A enciclopedia livre na Internet
http://pt.wikipedia.org/wiki/Spline
[29] A enciclopedia livre na Internet - Wikipedia
http://encyclopedia.thefreedictionary.com/

Indice Remissivo
1-spline, 133
2-spline, 133
aberto
software, 126
algebrica
computa cao, vi
algortmica
derivada, 13, 112115
amostragem, 10, 102
antigo
moderno, 82
aproxima cao, 4
Aquiles
paradoxo, 30
aritmetica
geometrica
desigualdade, 83
assintotico, comportamento, 177
babil onios, 83
algoritmo, 88
precisao, 82
barra invertida, 148
binaria
busca, 73
busca binaria, 28
calc, vi
C interpretado, 52
caracterstica
fun cao, 133
crculo
desenhando, 4
compilar e rodar, 43
comportamento assintotico, 177
computa cao
algebrica, vi
cientca, vi
numerica, vi
constantes
especcas, 36
constru coes
area de, 36
contnuo, 127
continuidade, 129
contra cao, 91
contradi cao, 127
convexa
comb. linear, 121
convolu cao
corre cao, 143
def. geometrica, 133
domnio, 144
produto, 133
produto de, 133
corre cao
informa cao, 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
208

INDICE REMISSIVO 209


diferen ca
quociente, 10
diferenci aveis
fun coes, 128
diferenciabilidade, 128
equipe
trabalho, 127
erra
f ormula, 18
erro, 19, 127, 138
corre cao, 138
Valor Medio, 138
especcas
constantes, 36
etica, 126
Euler, 112
metodo de, 194
poligonal, 194
gura
area, 80, 81
area aproximada, 163
rea, 79
2-spline, 157
aprox. polin. cl assica, 103
aproxima cao, 125
Lagrange,splines, 158, 159
convolu cao, 146
produto, 134
produto de, 135
convolucao
regulariza cao, 159
dados amostrais, 18
derivada
interpreta cao, 9
derivada zero, 61
graco de f, 17
interpola cao, 108
linear, 7
n ao linear, 8
interse cao
curvas, 77
Lagrange, polinomio, 114
m aximo m odulo, 104
media viciada, 140
metodo da secante, 54
metodo de Euler, 195, 197
malha, 32, 35
gura plana, 35
multiplicidade
razes, 40
n ucleos, 144
parti cao, 32
gura plana, 35
polin. por ped., 188, 189
raz
recursividade, 91, 92
raz
reta tangente, 63
raz da tangente, 64
Raz duma fun cao, 29
raz quadrada, 87
razes
secantes, 48
Reta tangente, 20
secantes
razes, 48
sensor
mais antigo, 5
melhor gera cao, 6
solu cao
edo, 193
soma de Riemann, 164
tangencia
parabolico, 60
tangente
crculo, 2
taxa de varia cao, 2
trapesio, 181
um-spline, 105
Valor medio, 130
valor medio, 139
xo
ponto, 66, 73
ponto,teorema, 90
xo ponto
teoremas, 90
orestas
area de, 36
gaussiana, 143

INDICE REMISSIVO 210


integral da, 143
GNU/Linux, vi
Gnuplot, 148
gnuplot, vi, 12, 89, 102
comandos, 16
GPL, vii, xii
gr aco
Riemann,soma, 176
soma de Riemann, 176
hipotetica
fun cao, 126
implcita
teorema da fun cao, 22
impulso
unit ario, 134
innito, 127
loop, 65
informa cao
corre cao, 137
informa coes
excesso, 120
integr avel
` a Riemann, 170
n ao, 170
integral, 183
aprox. por falta, 173
aproxima cao, 174176, 178
calculo numerico, 178
calculo, 161
Expressao formal, 169
python, 178
soma de Riemann, 167169
valor medio, 136, 138, 186
interpola cao
curva, 6
Lagrange, 112
linear, 104
n ao linear, 7, 105, 109
poligonal, 121
polinomial cl assica, 111
interpola cao
linear, 7
intervalo
parti cao, 32
iterada de T, 65
Lagrange
interpola cao, 112, 121
metodo, 112
tutorial, 112
Landau
O grande de, 26
o pequeno de, 3
o pequeno de , 26
Linux, vi, xii, 127
loop innito, 65
malha, 31, 124, 127, 164
la co, 36
multidimensional, 34, 35
problema, 37
uso, 35, 36
nos, 120
norma, 31
maximo
modulo, 104
teorema, 103
Maxima, xii
maxima, vi
media, 8
dados, recupera cao, 138
restaura coes, 138
telecomunica coes, 138
medio
valor, 183
metodo
determinar razes
da secante, 62
da tangente, 62
microrganismos
quantidade de, 35
modelagem, 101
modelo, 126, 127
tipos de, 126
modelos
contnuos, 127
discretos, 127
moderno
antigo, 82
modulo maximo, 104

INDICE REMISSIVO 211


teorema, 103
m onico
polinomio, 109
movimento
equa cao, 19
multidimensional
malha, 34
MuPad, xii
n-splines, 133, 148
n o
de uma malha, 112
n os, 164
malha, 120
n ucleo, 134, 136
n-spline, 148
norma da malha, 31
Octave, xii
orbita
foguete, 4
oscila cao, 104
fen omenos com, 120
paradoxo, 127
de Aquiles, 30
parti cao, 31, 120, 127, 164
norma, 31
uniforme, 120
parti cao
n ao uniforme, 120
peda cos
linear, 121, 122
polinomios, 124
pen-drive-splines, 140
pequeno
relativamente, 48
peso, 121
pesos, 136
pique
fen omeno com, 120
poligonal, 121
polinomio
de Lagrange, 121
polinomial, 130
aprox. cl assica, 102
aproxima cao, 101, 102
de grau tres, 124
do terceiro grau, 123
interpola cao, 111
por peda cos, 102
splines, 102
polui cao
avalia cao de, 36
ponderada
media, 136
ponto xo, 66, 73, 85, 88
teorema, 90
precisao
pontos, 120
pontos de, 120
produto de convolu cao, 133
programa, 176, 178
m de linha, 148
raizes01.c, 43
programas
integral.py, 178
python, 178
pulso unit ario, 136
Python, 169
quantidade
fen omeno, 122
quasi-splines, 132, 190
integral, 185
raz quadrada, 83
raz
metodo
secante, 28
tangentes, 28
secante, 4850, 55, 56
tangente, 47
tipo secante, 47
tipo tangente, 47
razes
de fun coes, 28
separa cao das, 39
raiz
tipo secante, 61, 62
tipo tangente, 61, 62
real

INDICE REMISSIVO 212


n umero, 170
realidade
simula cao, 126
recursiva
sucess ao, 66
recursivas
sucess oes, 88
sucessw oes, 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 qu antico, 128
Scilab, xii
scilab, vi
secante
metodo, 73
secantes
e tangentes, 4
seguran ca
simula cao, 126
separa cao
das razes, 39
sequencias
recursivas, 88
serie
termo geral, 98
Simpson
integral, 160
simula cao, 126
sinal, 134
soma de Riemann, 160, 162, 163, 166
splines, 101, 102, 130, 133,190
aplica coes, 134
pen-drive, 140
splines c ubicos, 132
sucess ao, 128
sucess oes
recursivas, 88
suporte
nota cao, 144
tangente
metodo, 73
parabola, 18, 19
tangentes
e secantes, 4
taxa de varia cao, 183
Taylor
formula, 19, 23
formula multivariada, 21
polinomio, 194
teorema
modulo maximo, 103
tipos de razes, 47
transla cao, 134
trapesio
regra do, 160
tutorial, 112
Lagrange, polinomio, 112
uniforme
parti cao, 120, 170
unitario
pulso, 136
unitario, impulso, 134
valor medio, 136, 138, 183
integral, 186
valor medio integral, 138
Vandermonde, 111, 112
varia cao
taxa, 9
taxa de, 1, 183
variedade, 22, 27
varredura, 30, 127
viciada
media, 137
Waring, 112

Вам также может понравиться