Anda di halaman 1dari 195

Teresa Paula C.

Azevedo Perdico ulis


Maria Lusa Ribeiro dos Santos Morgado
Jo ao Lus Hon orio Matias
AN

ALISE NUM

ERICA COM SCILAB PARA


ENGENHEIROS
Departamento de Matem atica
Universidade de Tr as-os-Montes e Alto Douro

Indice Geral
Pref acio 1
1 Teoria dos erros 3
1.1 Introduc ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Conceitos Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Representac ao de n umeros e de erros . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Erro de truncatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 F ormula de propagac ao dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6 Condicionamento de um problema matem atico . . . . . . . . . . . . . . . . . . 20
1.7 Estabilidade de um m etodo num erico . . . . . . . . . . . . . . . . . . . . . . . . 21
1.8 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Soluc ao num erica de equac oes e sistemas n ao lineares 27
2.1 Converg encia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Crit erios de paragem para um processo iterativo . . . . . . . . . . . . . . . . . . 30
2.3 Localizac ao dos zeros de uma func ao . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1 M etodo gr aco (MG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.2 M etodo de Rolle (MR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 M etodo da Bissecc ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5 M etodo do ponto xo (MPf) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.1 O M etodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6 M etodo de Newton (MNt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.7 M etodo da secante (MS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.8 Generalizac ao m etodo Newton (senl) . . . . . . . . . . . . . . . . . . . . . . . . 59
2.9 Localizac ao e separac ao de razes . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.10 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
iii
UTAD

Indice Geral
3 Sistemas de equac oes lineares 73
3.1 M etodos directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.1.1 M etodo de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.1.2 M etodo de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.1.3 Escalonamento de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.2 Normas vectoriais, matriciais e valores pr oprios . . . . . . . . . . . . . . . . . . 79
3.3 M etodo da Pot encia (MP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.3.1 C alculo do vector pr oprio associado a
1
. . . . . . . . . . . . . . . . . 85
3.3.2 Acelerac ao do m etodo: . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.4 M etodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.4.1 M etodo de Jacobi (MJ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.4.2 M etodo de Gauss-Seidel (MGS) . . . . . . . . . . . . . . . . . . . . . . 93
3.5 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4 Interpolac ao polinomial 99
4.1 Forma interpoladora de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.2 F ormula interpoladora de Newton (DD) . . . . . . . . . . . . . . . . . . . . . . 113
4.3 Polin omio Interpolador Segmentado . . . . . . . . . . . . . . . . . . . . . . . . 120
4.4 Interpolac ao inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.5 Polin omio osculador de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.5.1 Polin omio interpolador segmentado de Hermite . . . . . . . . . . . . . . 131
4.6 Splines c ubicos e Interpolac ao ready-made em Scilab . . . . . . . . . . . . . . . 132
4.7 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5 Aproximac ao dos mnimos quadr aticos 137
5.1 Aproximac ao de func oes empricas . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.2 Aproximac ao polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.2.1 Regress ao linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6 Diferenciac ao e integrac ao num erica 149
6.1 Abordagem do teorema de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.2 M etodo dos coecientes indeterminados . . . . . . . . . . . . . . . . . . . . . . 151
6.3 Abordagem do Polin omio interpolador de Lagrange . . . . . . . . . . . . . . . . 152
iv

Indice Geral Departamento de Matem atica


6.3.1 Primeira derivada: 2 pontos . . . . . . . . . . . . . . . . . . . . . . . . 152
6.3.2 Primeira derivada: 3 pontos . . . . . . . . . . . . . . . . . . . . . . . . 153
6.3.3 Segunda derivada: 3 pontos . . . . . . . . . . . . . . . . . . . . . . . . 155
6.3.4 Derivadas parciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.4 Integrac ao num erica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
6.4.1 F ormulas de Newton-Cotes simples . . . . . . . . . . . . . . . . . . . . 158
6.4.2 F ormulas de Newton-Cotes compostas . . . . . . . . . . . . . . . . . . . 163
6.4.3 Quadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.4.4 Aplicac ao ao c alculo de integrais duplos . . . . . . . . . . . . . . . . . . 170
6.5 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
A Noc oes e teoremas fundamentais 175
B Introduc ao ao Scilab 177
B.1 Como usar o Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
B.2 Comandos b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
B.3 C alculos com matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.3.1 Criar matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.4 Dados e representac ao de func oes . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.4.1 Escolha duma escala adequada . . . . . . . . . . . . . . . . . . . . . . . 182
B.4.2 Representac ao gr aca de func oes . . . . . . . . . . . . . . . . . . . . . 183
Bibliograa 187
v

Indice de Figuras
2.1 Na gura da esquerda temos f(a) > 0 e f(b) < 0, e na gura da direita temos
f(a) < 0 e f(b) > 0. Mas em ambos os casos f(a) f(b) < 0. . . . . . . . . . . 34
2.2 Interpretac ao gr aca do M etodo de Newton . . . . . . . . . . . . . . . . . . . . 51
2.3 Representac ao do M etodo da Secante . . . . . . . . . . . . . . . . . . . . . . . 56
4.1 Representac ao de um polin omio interpolador. . . . . . . . . . . . . . . . . . . . 101
4.2 Representac ao gr aca do polin omio interpolador. . . . . . . . . . . . . . . . . . 104
4.3 Polin omio interpolador de grau 8 e o respectivo erro (a vermelho) . . . . . . . . 110
4.4 Polin omio Osculador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.1 Mola de material uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.2 Representac ao dos dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.3 com S =
1
,
2
, . . . ,
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.4 Representac ao gr aca da aproximac ao polinomial . . . . . . . . . . . . . . . . . 141
5.5 Exemplo de aproximac ao quadr atica . . . . . . . . . . . . . . . . . . . . . . . . 144
6.1 Representac ao gr aca da regra dos trap ezios . . . . . . . . . . . . . . . . . . . . 159
6.2 Representac ao gr aca da regra de Simpson . . . . . . . . . . . . . . . . . . . . 160
B.1 O segundo gr aco revela uma relac ao quase linear entre o logaritmo de cada uma
das quantidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
vii
Pref acio ` a vers ao preliminar
Este texto de apoio foi escrito a pensar nos alunos do 1
o
e 2
o
ciclos, que tomem contacto pela
primeira vez com as t ecnicas/ferramentas num ericas de c alculo de soluc ao de um dado problema.
Sup oe-se que estes alunos tenham conhecimentos de An alise Matem atica,

Algebra Linear, bem
como de programac ao em alguma linguagem de alto nvel. Muito do material aqui apresentado
foi explorado por n os durante os muitos anos em que j a leccionamos este t opico curricular.
Observ amos que muitos s ao os alunos que v em do Ensino Secund ario com lacunas de v aria
ordem e sobretudo com uma enorme avers ao ` a Matem atica. Depreende-se assim n ao terem estes
mesmos alunos grande apet encia para consultar a bibliograa sugerida, limitando-se a estudar
pelas notas obtidas nas aulas, que nem sempre s ao muito dedignas. Por estas raz oes, pensou-se
ser mais simples fornecer aos alunos uma notas te oricas como suporte para o seu estudo. Os alunos
mais interessados poderiam sempre aprofundar alguns t opicos na bibliograa sugerida, e aqueles
com maiores diculdades, ou mais irregulares, teriam pelo menos um ponto de partida.
Sendo esta a primeira vers ao desses apontamentos, solicitamos encarecidamente a todos os
leitores destas breves notas o favor de enviarem todas as gralhas, lapsos ou erros detectados, co-
ment arios e correcc oes para os enderecos tazevedo@utad.pt, luisam@utad.pt ou j matias@utad.pt.
Numa pr oxima edic ao pretende-se, antes de tudo, eliminar aguns erros que esta vers ao possa
ter (talvez n ao estejamos no campo das hip oteses...), e depois incluir algum material das aulas
te orico-pr aticas e ainda alguns t opicos mais avancados que possam constar de um ciclo de estudos
p os-graduados.
O texto foi elaborado por n os em L
A
T
E
X2

, as simulac oes e algumas guras foram feitas


com o software num erico Scilab, outras guras foram feitas em Gimp. Sempre com software de
distribuic ao livre!! E esta e uma das ideias que queremos tamb em fazer passar com estas notas.
Naturalmente, qualquer erro encontrado e da nossa responsabilidade.
1
Captulo 1
Teoria dos erros
1.1 Introduc ao
A an alise num erica (AN) e um ramo da matem atica que se dedica ` a obtenc ao de soluc oes
aproximadas ou exactas de problemas matem aticos, quando por uma qualquer raz ao, n ao podemos
ou n ao desejamos usar m etodos analticos.
Todos sabemos determinar as razes do polin omio x
2
2x+1, ou calcular o integral denido
_
1
0
x
2
dx, mas o mesmo j a n ao se pode dizer das razes de ln x + x + 1 ou ent ao do c alculo do
integral
_
1
0
e
x
2
dx, uma vez que a primitiva de e
x
2
n ao e uma func ao elementar.
Os m etodos num ericos (MN) envolvem usualmente grande n umero de c alculos, e como tal
n ao admira que o desenvolvimento da An alise Num erica e o seu estabelecimento como disciplina
matem atica esteja intimamente ligado ao desenvolvimento dos computadores digitais. A extens ao
do campo de acc ao da AN n ao se restringe somente aos m etodos num ericos aplicados a problemas
do ramo da an alise matem atica, como o nome da disciplina possa enganosamente sugerir, mas sim
a todos os ramos da matem atica. Assim sendo, s ao vulgares designac oes tais como

Algebra Linear
Num erica, Optimizac ao Num erica, Computac ao Num erica.
Neste texto de apoio, destinado aos alunos inscritos na disciplina de Matem atica Computaci-
onal, iremos expor v arios m etodos num ericos. Como ferramenta computacional ` a implementac ao
destes m etodos, usaremos o programa Scilab. Recomenda-se aos alunos que adquiram este soft-
ware de distribuic ao livre, a partir do endereco www.scilab.org.
No processo de resoluc ao de um problema matem atico podemos distinguir tr es fases distintas:
1. Formulac ao de um modelo matem atico que descreva a situac ao real em causa. A grande
complexidade dos problemas fsicos leva-nos, usualmente, a fazer simplicac oes no modelo
3
UTAD 1. Teoria dos erros
matem atico. Simplicac oes estas que n ao devem alterar grandemente o comportamento da
soluc ao. A formulac ao e feita recorrendo a modelos matem aticos usuais, tais como por
exemplo sistemas de equac oes alg ebricas, diferenciais, transcendentes, integrais, estruturas
alg ebricas, teoria de grafos, ou problemas de optimizac ao;
2. Na impossibilidade de utilizac ao de umm etodo analtico, a aplicac ao de umMNque permita
construir uma soluc ao aproximada para o problema. M etodo este que vai ser traduzido num
algoritmo. Esta e a fase que mais diz respeito ` a AN;
3. Programac ao autom atica do algoritmo numa linguagem de alto nvel.
Um algoritmo e uma sequ encia nita de regras a aplicar segundo uma ordem determinada
a um n umero nito de dados para se chegar a uma certa precis ao, i.e., sem indeterminac ao ou
ambiguidade, num n umero nito de etapas a um resultado que e soluc ao do problema matem atico.
1.2 Conceitos Iniciais
Em AN e importante fazer uma an alise dos erros cometidos no processo de c alculo, dado
que s o muito raramente num problema s ao usadas quantidades exactas. A introduc ao de erros
num processo de c alculo pode ter v arias causas. Assim, e nosso objectivo analisar essas causas de
erro, bem como estudar mecanismos que permitam determinar limites para essos erros no nal do
processo, de forma a sermos capazes de julgar sobre a adequac ao da soluc ao aproximada obtida.
Comecemos com um exemplo ilustrativo:
Problema Consideremos a lei do g as ideal PV = NRT, onde P = press ao, V = vo-
lume, N = n umero de moles, R = constante especca do g as e T = temperatura.
Particularizemos o problema para os seguintes valores: P = 1.00 atm, V = 0.100 m
3
,
N = 0.00420 mole e R = 0.08206. Ent ao, a partir da lei do g as ideal, obtemos para a
temperatura o valor de T =
PV
NR
= 290.15K = 17

C.
No entanto, se medirmos a temperatura do g as, esta e de 15

C!!!!
Voltamos a repetir a experi encia, e consideramos os mesmos valores de R e N, au-
mentamos P de um factor 2 e reduzimos o volume de um factor 1/2. Obviamente, o valor
da temperatura continua a ser de 17

, mas verica-se que o seu valor real e de 19

C!!!!
4
1.2. Conceitos Iniciais Departamento de Matem atica
Este e nitidamente um problema que requer uma an alise de erros.
Possveis causas de erros s ao:
Erros grosseiros ou enganos. Este tipo de erros e sobretudo devido a falhas humanas. Uma
vericac ao satisfat oria dever a ser feita com uma sequ encia diferente de operac oes, e de
prefer encia mesmo com m etodos diferentes. O aparecimento dos computadores digitais
provocou uma diminuic ao deste tipo de erros, mas restam ainda os erros de programac ao.
Al em disso erros detectados em compiladores e outro tipo de software s ao mais comuns do
que se julga;
Erros de medic ao. Estes erros s ao devidos a falhas humanas, ` a escala, imprecis oes do ins-
trumento de medic ao, etc.;
Inadequac ao do modelo matem atico. Os modelos fsicos s ao usualmente complexos. Assim
quando da sua representac ao matem atica e usual introduzirem-se simplicac oes de forma a
facilitar a determinac ao da soluc ao do problema, como por exemplo, negligenciar o atrito
ou o efeito da resist encia do ar na queda de um grave;
Representac ao dos n umeros e erros de arredondamento. Este tipo de erros deve-se ` a neces-
sidade de ter de representar todos os reais em aritm etica nita, caracterstica das m aquinas
de calcular e computadores digitais;
Erros de truncatura. Este tipo de erros surge quando se substitui um processo innito por
um nito ou um processo contnuo por um discreto.
No que se segue, considera-se x a soluc ao exacta, e desconhecida, de um dado problema e x
um valor aproximado dessa soluc ao.
Denic ao 1.1 (Erro)
Chama-se erro de x, e representa-se por e
x
, ` a quantidade (x x).
Denic ao 1.2 (Erro absoluto)
Chama-se erro absoluto de x, e representa-se por x, a quantidade [x x[.
Embora x seja mais utilizado na pr atica, este n ao esclarece se o erro cometido o e por
excesso ou por defeito, como no caso de e
x
. Mais ainda, ambos os erros ser ao impossiveis de
determinar se se desconhecer o valor exacto a que se referem, sendo essa a raz ao por geralmente
ser referido o erro de x , e
x
, como um valor aproximado, e ser utilizado um majorante do erro
absoluto, em vez de x.
5
UTAD 1. Teoria dos erros
Exemplo 1.1
x = 1000 y = 0.0009
x = 999 y = 0.001
e
x
= 1000 999 = 1 e
y
= 0.0009 0.001 = 0.0001
x = [1000 999[ = [1[ = 1 [ y[ = 0.0001
Exemplo 1.2
= 3.14159265 . . .
= 3.14
e

= 3.14159265 . . . 3.14 = 0.00159265 . . . 0.00159265
= [3.14159265 . . . 3.14[ = [0.00159265 . . . [ 0.0016
Denic ao 1.3 (Erro relativo)
Chama-se erro relativo de x, e representa-se por r
x
, a quantidade r
x
=
x
[x[
.
Sempre que o valor de x n ao e conhecido, e usual considerar r
x

x
[ x[
utilizando x como
substituto de x. Tal pode ser justicado da forma seguinte:
[x[ = [ x ( x x)[ = [ x e
x
[ [ x[ x =
1
[x[

1
[ x[ x

x
[x[

x
[ x[ x
r
x

x
[ x[
uma vez que x pode ser desprezado em relac ao a x.
Exemplo 1.3 Imagine-se o caso de um alfaiate que indicou a um cliente, a compra de
3m de um tecido para efectuar um trabalho, quando apenas seria necess ario a compra
de 2m. Assim, vir a
z = 2
z = 3
e
z
= 2 3 = 1
z = [2 3[ = [ 1[ = 1
r
z
=
1
2
= 0.5 = 50%.
6
1.3. Representac ao de n umeros e de erros Departamento de Matem atica
Exemplo 1.4 Um astr onomo calculou que a dist ancia entre dois planetas. Pelas suas
observac oes, essa dist ancia seria 3 999 999 990mquando na realidade e referida dist ancia
era 4 000 000 000m. Pela observac ao dos valores, vir a
d = 4 000 000 000

d = 3 999 999 990


e
d
= 4 000 000 000 3 999 999 990 = 10

d = [1[ = 10
r
d
=
10
4 000 000 000
= 0, 0000000025 = 0, 00000025%.
Tendo em atenc ao os dois ultimos exemplos, podemos armar
Observac ao 1.1
1. O erro relativo d a mais informac ao acerca da precis ao do que o erro absoluto;
2. Dado ser uma quantidade adimensionada, o erro relativo e usualmente expresso em per-
centagem.
1.3 Representac ao dos n umeros e erros de arredondamento
A representac ao decimal de x IR,
x = x
0
x
1
x
2
x
3
x
4
. . .
com x
i
0, 1, . . . , 9 e um eventual ponto decimal algures pode ser tal que o armazenamento
dessa mesma representac ao se torne impossvel de forma nita. Atendendo ` a necessidade de uma
representac ao nita dos reais (caracterstica das m aquinas e computadores digitais), p oem-se as
seguintes quest oes:
Como armazenar x numa mem oria nita?
Como lidar com os erros resultantes?
Os c alculos cientcos s ao usualmente efectuados em aritm etica de vrgula utuante, tendo
como suporte ou ambiente de funcionamento, um Sistema de Vrgula Flutuante. Estes sistemas,
existentes em qualquer sistema de c alculo, m aquina de calcular, computador, etc., diferem entre
equipamentos, marcas e fabricantes, sendo na realidade, total ou parcialmente ocultados, depen-
dendo da poltica dos fabricantes.
No entanto, podemos armar que um Sistema de Vrgula Flutuante e caracterizado por:
7
UTAD 1. Teoria dos erros
- base do sistema de numerac ao;
n - n umero de dgitos com que a mantissa e representada;
L - expoente mnimo suportado;
U - expoente m aximo suportado.
Com esta notac ao, e usual representar o Sistema de Vrgula Flutuante por F(, n, L, U) e a
representac ao de cada x IR tem quatro componentes distintas: o sinal, a base, a mantissa e o
expoente. Consideremos, por exemplo:
x = (0.d
1
d
2
. . . d
n
)

e
, d
i
0, 1, . . . , 1,
onde e a base, (.d
1
d
2
. . . d
n
) e a mantissa, e o expoente e, e um inteiro tal que L < e < U, com
L e U valores inteiros. Esta representac ao diz-se normalizada quando d
1
,= 0. As representac oes
bin aria e hexadecimal s ao as mais utilizadas para ns computacionais. Em princpio, e sempre
que nada for dito em contr ario, estaremos a referirmo-nos ao sistema decimal (base 10).
Observac ao 1.2
1. Numa representac ao normalizada, a mantissa e umn umero que pertence ao intervalo [
1
, 1
n
],
ou ent ao [
1
, 1[.
2. A gama de valores , n, L e U passvel de utilizar, para representar os n umeros reais, varia
muito consoante a m aquina em quest ao, caracterizando de maneira inequvoca o Sistema
de Vrgula Flutuante da m aquina com as referidas caractersticas, F(, n, L, U).
Todos os n umeros reais que possuam um n umero de dgitos (nito ou innito) inferior ao
n umero de dgitos da mantissa do sistema de vrgula utuante, ser ao representados de forma
exacta. Para todos os outros e adoptado um de dois processos:
Arrendondamento por Corte ou Truncatura em que todos os dgitos ` a direita de d
n
-
ultimo dgito da mantissa - s ao simplesmente omitidos;
Arrendondamento Sim etrico em que e adicionado 5 unidades ao dgito d
n+1
, aplicando
de seguida a truncatura a x no dgito d
n
.
Denic ao 1.4 (casa decimal correcta) Seja x uma aproximac ao para x. Diz-se que x tem pelo
menos k casas decimais correctas (c.d.c.) se e s o se x 0.5 10
k
.
8
1.3. Representac ao de n umeros e de erros Departamento de Matem atica
Denic ao 1.5 (algarismo signicativo correcto) Seja x uma aproximac ao para x. Diz-se que x
tem pelo menos k algarismos signicativos correctos (a.s.c.) se e s o se r
x
5 10
k
.
Exemplo 1.5 Seja x =

2 = 1.414213562...
(i) truncando na s etima casa decimal:
x = 1.4142135
x = 0.00000006237 =
0.06237 10
6
0.5 10
6
,
logo x tem 6 c.d.c., e
[r
x
[ 4.4 10
8
5 10
8
i.e., x tem 8 a.s.c.
(ii) arredondando na s etima casa decimal:
x = 1.4142136
x = 0.3763 10
7
0.5 10
7
ou seja, x tem 7 c.d.c., e como
[r
x
[ 0.273 10
7
5 10
7
garantimos 7 a.s.c.
Observac ao 1.3 Na representac ao decimal de um n umero, consideram-se como algarismos sig-
nicativos todos os dgitos contados a partir do primeiro diferente de zero (independentemente de
serem zero ou n ao).
Exemplo 1.6
30.021 tem 5 a.s.c. e 0.030021 tem 5 a.s.c.
Exemplo 1.7
(i) Representac ao do n umero 2.13452 com 2 e 3 c.d.c., respectivamente: 2.13 e 2.135.
(ii) Representac ao do n umero 1986 com 1, 2 e 3 a.s.c., respectivamente: 210
3
, 2.0
10
3
e 1.99 10
3
.
Sempre que pretendermos uma aproximac ao de uma quantidade x com d c.d.c, utilizaremos
a seguinte regra de arredondamento:
9
UTAD 1. Teoria dos erros
Regra de arredondamento
(i) quando a parte a suprimir for inferior a meia unidade da ultima casa decimal a manter, esta
mant em o seu valor.
(ii) quando a parte a suprimir for superior a meia unidade da ultima casa decimal a manter, esta
ser a aumentada de uma unidade.
(iii) quando a parte a suprimir for exactamente igual a meia unidade da ultima casa decimal a
conservar, esta manter a o seu valor se for par e aumentar a de uma unidade se for mpar.
Denic ao 1.6 (precis ao da m aquina) A precis ao da m aquina e medida pelo chamado zero da
m aquina, denotado por . Por denic ao, este e o menor n umero por ela representado que satisfaz
a desigualdade (1 + ) > 1. Assim, uma m aquina e tanto mais precisa quanto menor for o seu
zero.
Observac ao 1.4 Por forma a se identicar o zero da m aquina, qualquer que esta seja, imple-
mente e execute o seguinte algoritmo:
1;
fazer
/2;
ate que 1 1 + .
Que conclus oes se poder ao obter?
1.4 Erro de truncatura
A primeira coisa que nunca ser a demais referir, relativamente ao erro de truncatura, e que este
n ao e o erro de arredondamento mencionado anteriormente na p agina 8. Os erros de truncatura
ou corte, (n ao se fala como antes em arredondamento) referem-se a erros que ocorrem quando
se limita, corta, enm, se p ara um processo de c alculo sem que este ainda esteja terminado.
Um dos exemplos mais elucidativos e o caso do c alculo do valor da soma de uma s erie, em
que o processo de c alculo seria innito, sendo este substitudo por um n umero nito de c alculos.
Considere-se a s erie de termos positivos
S =

k=0
a
k
, a
k
0, k IN
0
. (1.1)
10
1.4. Erro de truncatura Departamento de Matem atica
Se considerarmos S
n
a soma das primeiras parcelas at e ordem n, poder-se- a escrever
S
n
=
n

k=0
a
k
, a
k
0, k 0, 1, 2, . . . , n,
e R
n
o resto de ordem n, como
R
n
=

k=n+1
a
k
, a
k
0, k n + 1, n + 2, . . . , ,
a express ao (1.1) pode ser reescrita na forma
S =

k=0
a
k
=
n

k=0
a
k
+

k=n+1
a
k
= S
n
+ R
n
.
Face ao atr as apresentado, podemos agora identicar o erro de truncatura de uma s erie de
termos positivos, como a diferenca entre o seu valor exacto S e o valor aproximado S
n
, vindo
e
T
= S S
n
=

k=0
a
k

k=0
a
k
=

k=n+1
a
k
= R
n
. (1.2)
Neste sentido, e f acil constatar que, sendo a s erie convergente, quantas mais parcelas se adi-
cionarem no c alculo de S
n
, mais pr oximo estar a este valor do de S, valor exacto que se pretende
obter. Simbolicamente poder-se- a apresentar
lim
n
S
n
= S S
n

n
S
ou ainda
lim
n
R
n
= 0 R
n

n
0
Como n ao se efectuar ao os c alculos at e ao innito, ter-se- a que decidir at e que valor de n tal ser a
feito, originando um resto, R
n
, ou erro de truncatura, diferente de zero, mas t ao pequeno quanto
se queira.
Para facilitar a nossa tarefa, ser ao agora apresentados alguns crit erios de paragem, ou dito por
outras palavras, formas de determinar o valor do erro de truncatura.
Proposic ao 1.1 (Crit erio da Raz ao)
Consideremos

k=0
a
k
uma s erie de termos positivos, convergente para S.
Se
a
n+1
a
n
K < 1 n IN
0
ent ao R
n
a
n
K
1K
.
Antes de efectuar a demonstrac ao propriamente dita, conv em relembrar o resultado da soma
de uma s erie geom etrica, de raz ao r. Assim, considerando uma s erie geom etrica de raz ao r, tal
que [r[ < 1, ent ao

k=0
r
k
=
1
1 r
. Vejamos agora a demonstrac ao.
11
UTAD 1. Teoria dos erros
Dem. Considerando
R
n
= a
n+1
+ a
n+2
+ a
n+3
+ a
n+4
. . .
= a
n+1
_
1 +
a
n+2
a
n+1
+
a
n+3
a
n+1
+
a
n+4
a
n+1
+ . . .
_
= a
n+1
_
1 +
a
n+2
a
n+1
+
a
n+3
a
n+2
a
n+2
a
n+1
+
a
n+4
a
n+3
a
n+3
a
n+2
a
n+2
a
n+1
+ . . .
_
a
n+1
_
1 + K + K
2
+ K
3
+ . . .
_
= a
n+1
1
1 K
= a
n
a
n+1
a
n
1
1 K
a
n
K
1 K
.
Exerccio 1.1 Quantas parcelas ter ao de ser tidas em considerac ao para obter o valor
de

k=0
_
2
3
_
k
com um erro inferior a 0.005?
Resoluc ao: Veriquemos se estamos em condic oes de usar o crit erio da raz ao. Pela
an alise do problema, constata-se que a
n
=
_
2
3
_
n
, logo,
a
n+1
a
n
=
(
2
3
)
n+1
(
2
3
)
n =
2
n+1
3
n+1
2
n
3
n
=
2
n+1
3
n
2
n
3
n+1
=
2
3
< 1.
Feita a vericac ao, pode-se aplicar o resultado, ou seja:
R
n
a
n
K
1 K
=
_
2
3
_
n 2
3
1
2
3
0.005
_
2
3
_
n 2
3
1
3
0.005
_
2
3
_
n
2 0.005

_
2
3
_
n
0.0025 ln
_
2
3
_
n
ln(0.0025) nln
_
2
3
_
ln(0.0025)
n
ln(0.0025)
ln
_
2
3
_ n 14.77676 . . . =n = 15.
Conclui-se assim, que se teria de calcular
15

k=0
_
2
3
_
k
para se obter o valor com um erro
que no m aximo seria 0.005.
Proposic ao 1.2 (Crit erio da Raiz)
Consideremos

k=0
a
k
uma s erie de termos positivos, convergente para S.
Se
n

a
n
K < 1 n IN
0
ent ao R
n
K
n+1 1
1K
.
Dem. Considerando a hip otese
n

a
n
K < 1 a
n
K
n
< 1 permitindo a
simplicac ao seguinte
R
n
= a
n+1
+ a
n+2
+ a
n+3
+ a
n+4
. . .
K
n+1
+ K
n+2
+ K
n+3
+ K
n+4
. . .
= K
n+1
_
1 + K + K
2
+ K
3
+ . . .
_
= K
n+1
1
1 K
= K
n
K
1 K
.
12
1.4. Erro de truncatura Departamento de Matem atica
Exerccio 1.2 Consideremos novamente o exerccio referido no exemplo 1.1, Quantas
parcelas ter ao de ser tidas e considerac ao para obter o valor de

k=0
_
2
3
_
k
com um erro
inferior a 0.005?
Resoluc ao: Veriquemos primeiro se estamos em condic oes de usar o crit erio da raiz.
Pela an alise do problema, constata-se que a
n
=
_
2
3
_
n
, logo,
n

a
n
=
n
_
_
2
3
_
n
=
2
3
< 1.
Feita a vericac ao, pode-se aplicar o resultado, ou seja:
R
n
K
n
K
1 K
=
_
2
3
_
n 2
3
1
2
3
0.005
_
2
3
_
n 2
3
1
3
0.005
_
2
3
_
n
2 0.005

_
2
3
_
n
0.0025 ln
_
2
3
_
n
ln(0.0025) nln
_
2
3
_
ln(0.0025)
n
ln(0.0025)
ln
_
2
3
_ n 14.77676 . . . =n = 15.
Conclui-se assim, que se teria de calcular
15

k=0
_
2
3
_
k
para se obter o valor com um erro
que no m aximo seria 0.005.
Um outro tipo de s eries que aparece muito frequentemente, s ao as s eries alternadas, as quais
devem o seu nome ao facto de os seus termos serem alternadamente positivos e negativos, isto e,
alternam o sinal.
Proposic ao 1.3 (Crit erio de Leibniz)
Consideremos

k=0
(1)
k
a
k
uma s erie de termos alternados, convergente para S, com
todos os termos a
k
positivos e formando uma sucess ao mon otona decrescente, com lim
k
a
k
= 0,
ent ao R
n
[a
n+1
[.
Dem. Considerando a hip otese de o termo a
n+1
vir afectado de sinal positivo (sem perda de
generalidade como se ver a posteriormente), vir a
R
n
= a
n+1
a
n+2
+ a
n+3
a
n+4
+ a
n+5
a
n+6
+ a
n+7
. . .
= a
n+1
(a
n+2
a
n+3
) (a
n+4
a
n+5
) (a
n+6
a
n+7
) . . .
< a
n+1
[a
n+1
[.
A condic ao nal obt em-se pelo facto de o valor de a
n+1
isolado ser superior, a ele pr oprio sub-
trando alguma quantidade, isto, sabendo que todo os termos s ao positivos.
13
UTAD 1. Teoria dos erros
Relativamente ao sinal do primeiro termo do resto de ordemn, R
n
, vir afectado de outro sinal
que n ao o considerado, bastaria coloc a-lo em evid encia, que a conclus ao seria em tudo id entica.
Para salvaguardar qualquer eventualidade, basta considerar em m odulo ou valor absoluto.
Exerccio 1.3 Consideremos a s erie harm onica-alternada,

k=0
(1)
k
1
k + 1
. Quantas parcelas
ter ao de ser tidas e considerac ao para obter o seu valor com um erro inferior a 0.005?
Resoluc ao: Veriquemos primeiro se estamos em condic oes de usar o crit erio de Leibniz. Pela
an alise do problema, constata-se que e uma s erie alternada cuja sucess ao de termo geral, a menos
do termo de alterac ao de sinal, e mon otona e decrescente para zero. Assim, pode-se aplicar o
resultado, ou seja:
R
n
< [a
n+1
[ =

(1)
n+1
1
(n + 1) + 1

0.005
1
n + 2

5
1000

n + 2
1000
5
n + 2 200 n 198.
Conclui-se assim, que se teria de adicionar todos os termos pelo menos at e ` a ordem 198,
para determinar o valor da s erie indicada com um erro inferior ou igual a 0.005.
Teorema 1.1 (Teorema de Taylor) Se f C
n
[a, b] e se f
(n+1)
existir em (a, b) ent ao, para todo
o x, x
0
[a, b]
f(x) = T
n
(x; x
0
) + R
n
(x, x
0
), (1.3)
onde
P
n
(x; x
0
) =
n

k=0
f
(k)
(x
0
)
k!
(x x
0
)
k
,
R
n
(x; x
0
) =
f
(n+1)
()
(n + 1)!
(x x
0
)
n+1
, Ix, x
0
(1.4)
sendo Ix, x
0
o intervalo aberto de extremos x e x
0
.
A (1.3) chamamos f ormula de Taylor de ordemn de f em torno do ponto x
0
, sendo P
n
(x; x
0
)
o polin omio de Taylor e R
n
(x, x
0
) o resto (de Lagrange) de ordem n (ou de grau (n+1)). No caso
x
0
= 0 a (1.3) d a-se o nome de f ormula de MacLaurin.
Este resultado arma que, sob certas condic oes, uma dada func ao pode ser aproximada por
um polin omio escolhendo para tal, valores de x e x
0
tais que lim
n
R
n
(x; x
0
) = 0.
14
1.4. Erro de truncatura Departamento de Matem atica
O objectivo ser a ent ao determinar qual o menor valor n que satisfaca
max
I{x,x
0
}
[R
n
(x; x
0
)[ <
onde > 0 e uma toler ancia previamente xada. Obtemos assima aproximac ao f(x) P
n
(x; x
0
),
cujo erro cometido n ao excede .
Observemos que R
n
(x; x
0
) e um erro absoluto, uma vez que
[f(x) P
n
(x; x
0
)[ = [R
n
(x; x
0
)[ . (1.5)
(1.5) tamb em designado erro de truncatura.
Exerccio 1.4 Qual o erro cometido quando substituimos y

(t) por
y(t + h) y(t)
h
?
Resoluc ao: Vejamos:
y(t + h) = y(t) + y

(t)h + y

()
h
2
2

y(t + h) y(t) = y

(t)h + y

()
h
2
2
, It, t + h
y(t + h) y(t)
h
y

(t) = y

()
h
2
, It, t + h
Exerccio 1.5 Determinar um valor aproximado de e
2
com 3 c.d.c.
Resoluc ao: Sendo f(x) = e
x
uma func ao innitamente diferenci avel emR, a sua f ormula
de MacLaurin e
e
x
= 1 + x +
x
2
2
+
x
3
3!
+ . . . +
x
n
n!
+
e
(x)
x
n+1
(n + 1)!
, (x) Ix, 0
Sendo
[R
n
(x; 0)[ =

e
(x)
x
n+1
(n + 1)!

=
e
(x)
x
n+1
(n + 1)!

3
x
[x[
n+1
(n + 1)!
e
P
n
(x, 0) = 1 +x +
x
2
2
+
x
3
3!
+ . . . +
x
n
n!
,
um valor aproximado de e
2
pode ent ao ser dado por P
n
(2, 0), com um erro que n ao
15
UTAD 1. Teoria dos erros
excede 3
2 2
n+1
(n+1)!
. Pretendemos assim o menor valor de n que satisfaz a desigualdade
3
2
2
n+1
(n + 1)!
0.5 10
3
. Vamos por tentativas...
n = 9 ,
3
2
10!
2
10
= 0.254 10
2
n = 10 ,
3
2
11!
2
11
= 0.462 10
3
e ent ao
e
2

10

k=0
x
k
k!
= 7.38899470899 7.389.
Em SCILAB:
xmin=-2;
xmax=7;
npts=100;
lim=npts;
function y=Taylor(x,n)//n=degree of the Taylor polynomial
termo=1;
pol=termo;
for i=1:n
termo=(termo/i)
*
(x)
pol=pol+termo
end
y=pol
endfunction
x=linspace(xmin,xmax,npts);
y=zeros(1,npts);
for i=1:npts
y(i)=Taylor(x(i),10);
end
y2=exp(x);
plot2d(x,[y,y2])
16
1.5. F ormula de propagac ao dos erros Departamento de Matem atica
Faca-se ent ao:
Taylor(2,10)
erro(2,10)
Obtendo-se:
Pol Taylor
function f
Erro da aprox
2 1 0 1 2 3 4 5 6 7
200
0
200
400
600
800
1000
1200
1.5 F ormula de propagac ao dos erros
Problema directo: Dada uma func ao real, f, dependente de n vari aveis x
1
, x
2
, . . . , x
n
, pretende-
se determinar umlimite superior para o valor absoluto do erro que se comete ao calcular f( x
1
, x
2
, . . . , x
n
),
onde x
i
e um valor aproximado de x
i
, i = 1, . . . , n, supondo todos estes vlores conhecidos.
Consideremos em primeiro lugar que n = 1, i.e, f(x) e uma func ao real de var avel real.
Usando o Teorema de Taylor,:
f(x) = f( x + x) = f( x) + f

() x, Ix, x
f( x) = [f(x) f( x)[ = [f

()[ x
Se considerarmos M = max
tI{x, x}
[f

(t)[
temos ent ao que
f( x) M x (1.6)
Analogamente para o erro relativo, temos:
r
f( x)
=
[f

()[ x
[f(x)[

M x
[f(x)[

[x[
[x[
M
[ x[
[f( x)[
r
x
. (1.7)
17
UTAD 1. Teoria dos erros
Observac ao 1.5

E usual na pr atica considerar-se M [f

( x)[. Assim sendo, podemos


substituir as f ormulas (1.6) e (1.7) por:
f( x) [f

( x)[ x
(1.8)
r
f( x)

( x) x
f( x)

r
x
,
respectivamente.
Suponhamos agora que f depende de n vari aveis x
i
, i = 1, 2, . . . , n. Pode mostrar-se que
neste caso a f ormula de propagac ao do erro absoluto para n vari aveis se escreve:
f( x
1
, x
2
, . . . , x
n
)
n

i=1
M
i
x
i
(1.9)
onde
M
i
= max
tI{xi, x
i
}

f
x
i
( x
1
, . . . , x
i1
, t, x
i+1
, . . . , x
n
)

f
x
i
( x
1
, . . . , x
i
, . . . , x
n
)

e a f ormula de propagac ao do erro relativo e:


r
f( x
1
, x
2
,..., x
n
)

n

i=1

M
i
x
i
f(x
1
, x
2
, . . . , x
n
)

i=1

f
x
i
( x
1
, x
2
, . . . , x
n
)
f( x
1
, x
2
, . . . , x
n
)

[ x
i
[ r
x
i
(1.10)
Exerccio 1.6 Consideremos um cilindro circular recto tal que h

h = 2.17m, r
r = 3.15m e suponhamos com 3 c.d.c., isto e 3.142. Observe ainda que nestas
condic oes temos

h 0.5 10
2
, r 0.5 10
2
e 0.5 10
3
.
1. Calcular aproximadamente o valor do volume (

V ).
2. Calcular uma estimativa para o erro

V .
Resoluc ao: Usando a f ormula de propagac ao do erro absoluto: V = hr
2
= 3.142
(3.15)
2
2.17 = 67.653m
3
.

V
r
( ,

h, r)

r +

V
h
( ,

h, r)

h +

( ,

h, r)


temos ent ao:
18
1.5. F ormula de propagac ao dos erros Departamento de Matem atica

V 42.2950.510
2
+31.1760.510
2
+21.5320.510
3
0.3780.510
0
0.510
0
ie., garantimos zero c.d.c.
Problema inverso: Determinar a precis ao a considerar para os valores aproximados de x
1
, x
2
, . . . , x
n
,
por forma a que o valor de f(x
1
, x
2
, . . . , x
n
), calculado em x
i
= x
i
, i = 1, 2, . . . , n, seja obtido
com um erro que em valor absoluto n ao exceda uma quantidade > 0, previamente xada. Con-
sideremos:
f( x
1
, x
2
, . . . , x
n
)

f
x
1
( x
1
, x
2
, . . . , x
n
)

x
1
+ . . . +

f
x
n
( x
1
, x
2
, . . . , x
n
)

x
n

Observac ao 1.6 O problema apresentado desta forma e indeterminado. Na pr atica, para o re-
solver, usa-se um dos dois princpios que se seguem:
Princpio dos erros iguais: Este princpio s o se utiliza quando estamos a trabalhar com
as mesmas unidades e quando tivermos a noc ao dos erros serem da mesma natureza e
grandeza
1
. Funciona da seguinte forma:
k = x
1
= . . . = x
n
Temos ent ao k(M
1
+M
2
+ +M
n
) ou knM se considerarmos M = max M
i
.
E desta inequac ao tiramos ent ao o valor de k.
Princpio dos efeitos iguais: Este princpio aplica-se sempre que o anterior n ao possa ser
aplicado. Funciona da forma seguidamente descrita. Tomamos:

f
x
1
( x
1
, x
2
, . . . , x
n
)

x
1
= . . . =

f
x
n
( x
1
, x
2
, . . . , x
n
)

x
n
= k
e ent ao o valor de k e determinado a partir de k

n
.
Exerccio 1.7 Consideremos o cilindro recto tal que h

h = 2.171m, r r = 3.151m,
3.142 e

h 0.5 10
5
. Com quantas casas decimais devemos tomar r e para
1
Dois n umeros n ao nulos y e z, dizem-se da mesma ordem de grandeza e escreve-se |y| |z| se 0.1 <
|y|
|z|
1.
Se pelo contr ario
|y|
|z|
0.1, i.e. |y| e pelo menos dez vezes menor do que |z|, ent ao diz-se que y e menosprez avel
relativamente a z, e escreve-se |y| << |z|.
19
UTAD 1. Teoria dos erros
obter

V 0.5 10
2
?
N ao podemos usar o princpio dos erros iguais, dado ser uma grandeza adimensi-
onada. Temos ent ao que usar o pricpio dos efeitos iguais e supor que:

V
r

r =

V
h

h =

= k
donde resulta
3k 0.5 10
2
k
0.5
3
10
2
1.6 Condicionamento de um problema matem atico
Denic ao 1.7 (Problema mal condicionado) Umproblema matem atico cuja soluc ao e muito sensvel
a variac oes nos dados e par ametros, diz-se mal condicionado.
De igual modo se dene problema bem condicionado.
Observac ao 1.7
1. Esta caracterstica e uma propriedade dos problemas matem aticos, n ao tendo a ver com os
m etodos usados na sua resoluc ao.
2. Entre os problemas muito bem e muito mal condicionados, existem casos em que e difcil
classicar um problema como bem ou mal condicionado. Limitamo-nos assim a dizer que
o problema apresenta caractersticas de mau condicionamento.
Seguem-se alguns exemplos de problemas mal condicionados.
Exemplo 1.8 (Razes de um polin omio) Consideremos a equac ao quadr atica x
2

1
3
x +
1
36
= 0
cujas razes reais s ao x
1
= x
2
= 1/6. Se escrevermos esta mesma equac ao utili-
zando aritm etica nita usando 6 c.d.c nas aproximac oes, obtemos a seguinte equac ao
x
2
0.333333 + 0.027778 = 0 que n ao tem razes reais.
Exemplo 1.9 (Sistemas de equac oes lineares) O sistema de equac oes lineares
_

_
1
20
x
1
+
1
21
x
2
=
41
420
1
21
x
1
+
1
22
x
2
=
43
462
20
1.7. Estabilidade de um m etodo num erico Departamento de Matem atica
tem soluc ao exacta x
1
= x
2
= 1. Mas a soluc ao do sistema
_

_
0.0500x
1
+ 0.0476x
2
= 0.0976
0.0476x
1
+ 0.045x
2
= 0.0931
e x
1
= 0.12264 e x
2
= 2.1792452....
Exemplo 1.10 (Exemplo de Wilkinson) Consideremos a seguinte equac ao
(x + 1)(x + 2) . . . (x + 20) = 0
Se efectuarmos as multiplicac oes, vem:
x
20
+ 210x
19
+ . . . + 20! = 0
Perturbemos agora o sistema alterando o coeciente 210 para 210 + 2
23
. Obtemos
assim a nova equac ao
x
20
+ (210 + 2
23
)x
19
+ . . . + 20! = 0,
cujas soluc oes s ao:
1, 2, . . . , 8, 14 2.5i, 16.73 2.8i, !?
Para este problema, o m etodo iterativo a usar ter a que ser bastante est avel por forma a
n ao propagar muito os erros no processo de c alculo.
1.7 Estabilidade de um m etodo num erico
A resoluc ao de um problema num erico requer, em geral, a execuc ao de um grande n umero
de operac oes aritm eticas e uma vez que cada uma delas origina um erro de arredondamento, a
acumulac ao desses erros pode afectar signicativamente o resultado nal.
Denic ao 1.8 (Problema inst avel) Um m etodo num erico diz-se inst avel ou que apresenta insta-
bilidade induzida, se a acumulac ao dos erros durante o processo de c alculo tem grande inu encia
no resultado nal.
Um m etodo est avel produz sempre bons resultados (quando aplicado a um problema bem
condicionado).
21
UTAD 1. Teoria dos erros
Observac ao 1.8 1. Muitas vezes os m etodos inst aveis s o revelam a degradac ao da precis ao
dos resultados calculados quando se prolongam os c alculos sucientemente.
2. Quando aplicamos um m etodo inst avel, os resultados obtidos dependem muito do n umero
de algarismos signicativos que garantimos nos c alculos efectuados.
3. M etodos num ericos existem que s ao difceis de classicar claramente como est aveis ou
inst aveis.
Uma consequ encia dos erros em c alculos num ericos e que resultados diferentes podem ser
obtidos por f ormulas matem aticas equivalentes. Vejamos um exemplo.
Exerccio 1.8 Consideremos x = 3.90, y = 1.22, z = 5.46 e u = 3.59. Calculemos
(x + y)(z + u) usando aritm etica de ponto utuante com 4 dgitos.
(i) directamente:
x + y = 0.3900 10
1
+ 0.1220 10
1
= 0.5120 10
1
z + u = 0.5460 10
1
+ 0.3590 10
1
= 0.9050 10
1
e as somas s ao representadas sem erro
(x + y)(z + u) = 0.46336 10
2
0.4634 10
2
valor nal com 4 algarismos signicativos.
(ii) usando a propriedade distributiva da multiplicac ao em relac ao ` a adic ao:
(x + y)(z + u) = xz + xu + yz + yu
= 0.2129 10
2
+ 0.1400 10
2
+ 0.6660 10
1
+ 0.4380 10
1
= 0.4633 10
2
valor nal com 4 algarismos signicativos.
Nos pr oximos exemplos ocorre um fen omeno usualmente designado por cancelamento subtrac-
tivo:
Exemplo 1.11 Dada a func ao:
f(x) =
cos x 1
x
2
,
sabe-se que para valores de x pr oximos de zero f(x)
1
2
+
x
2
24
. Numa calculadora,
obteve-se f(10
16
) = 0. Como se explica este resultado? Isto ocorre porque para valores
de x pr oximos de zero, cos x e aproximadamente 1, pelo que cos x1 e aproximadamente
zero, o que resulta num erro relativo terrivelmente grande. Isto acontece sempre que se
subtraem quantidades muito pr oximas para a precis ao da m aquina. Para evitar este tipo
de problemas e neste caso em particular, podemos:
22
1.8. Exerccios Departamento de Matem atica
1. efectuar o desenvolvimento em s erie de Taylor da func ao cos x;
2. notar que f(x) =
cos x 1
x
2
=
cos
2
x 1
x
2
(cos x + 1)
=
sin
2
x
x
2
(cos x + 1)
. Se calcularmos, na
mesma calculadora, f(10
16
) usando esta ultima express ao obtemos f(10
16
) =
0.5.
Exemplo 1.12 Sejam
p =

9999, q =

9998.
Considerando mantissas normalizadas de 10 dgitos:
p = 0.9999499987 10
2
q = 0.9998999950 10
2
p q = 0.500037499 10
2
Considerando mantissas de 4 dgitos:
p = q = 0.9999 10
2
e p q = 0, com um erro absoluto de ordem de grandeza
0.5 10
4
e um erro relativo innitamente grande.
Evita-se o cancelamento da seguinte forma: notando que p q =
p
2
q
2
p + q
, temos
ent ao p + q = 0.2000 10
2
e p q =
0.1000 10
1
0.2000 10
3
= 0.5000 10
2
erro absoluto < 4 10
5
erro relativo < 8 10
3
< 1%.
1.8 Exerccios
1. Escreva aproximac oes com tr es e cinco algarismos signicativos correctos para os n umeros:
,
1
3
,
1
11
,
_
1
3
, 16
2
, e
3
.
2. Sejam x, y e z tr es quantidades exactas. Por arredondamento obtiveram-se as seguintes
aproximac oes: x = 231, y = 2.31 e z = 23.147.
(a) Conte o n umero de casas decimais correctas nas aproximac oes e calcule limites supe-
riores para o erro absoluto em cada uma delas. Compare os resultados e comente.
(b) Conte o n umero de algarismos signicativos correctos nas aproximac oes e calcule
limites superiores para o erro relativo em cada uma delas. Compare os resultados e
comente.
23
UTAD 1. Teoria dos erros
3. Utilizando o desenvolvimento em s erie de Taylor de ln(1 + x) em torno de x
0
= 0, calcule
ln
_
5
4
_
com duas casas decimais correctas.
4. Pretende-se calcular uma aproximac ao do real A =
8

sin

8
com tr es casas decimais cor-
rectas desenvolvendo
sin x
x
em s erie de Taylor.
(a) Determine o menor n umero de termos a tomar no desenvolvimento de modo a obter a
precis ao referida.
(b) Calcule A de acordo com a alnea anterior e apresente o erro absoluto cometido.
(c) Determine
_
1/2
0
sin x
x
dx com tr es casas decimais correctas.
5. Desenvolva em s erie de Taylor a func ao f(x) =
1
x
_
x
0
e
t
2
dt, e indique um limite superior
para o erro de truncatura.
6. Quantos algarismos signicativos pode garantir que existam no resultado do produto de
13.2 por 0.012579, supondo que os algarismos representados nestas aproximac oes s ao todos
signicativos correctos? Justique.
7. Considere w = ln
x
4
y
3
z
2
. Sendo x = 2.14, y = 3.17 e z = 4.1 valores aproximados de x, y
e z, respectivamente, obtidos por conveniente truncatura e arredondamento. Determine uma
aproximac ao para w e uma estimativa do erro absoluto cometido nessa aproximac ao.
8. A react ancia de um condensador e dada pela express ao X
c
=
1
2fc
onde X
c
= react ancia
capacitiva (), f = frequ encia (Hz) e c = capacidade. Determine o erro absoluto m aximo
para X
c
se f = 400 1Hz, c = 10
7
10% e 3.14.
9. Dada uma matriz A quadrada de ordem 2, cujos elementos se encontram afectados de um
mesmo erro , obtenha um limite superior para o erro de que vem afectado det A.
10. Determine um limite superior para os erros relativos de
(a) f(x
1
, . . . , x
n
) = e
x
1
...x
n
,
(b) g(x
1
, . . . , x
n
) =
1
x
1
. . . x
n
,
(c) h(x
1
, . . . , x
n
) = e
x
1
++x
n
Supondo que x
1
, . . . , x
n
s ao grandezas aproximadas cujo erro n ao excede 1%.
24
1.8. Exerccios Departamento de Matem atica
11. Pretende-se calcular o volume de um cone de revoluc ao
_
V =
r
2
h
3
_
com um erro que
n ao ultrapasse 510
3
cm
3
, com r 12.5cm e h 20.0cm. Com que rigor se deve medir
o raio da base (r) e a altura (h), se usarmos com tr es algarismos signicativos correctos?
12. Para determinar a resist encia de uma bobina utilizou-se a express ao R =
l
s
. Com que
rigor se devem ler os valores de , l e s para garantir que o erro na medic ao de R n ao exceda
5 10
2
, sabendo que 10 , l 50.3cm e s 49.7cm
2
?
13. Pretende-se determinar a massa de uma esfera M =
4
3
r
3
u com uma precis ao de 1%.
Determine majorantes para os erros relativos do raio e da massa especca (u) por forma a
garantir a precis ao desejada, quando utiliza nos c alculos o valor com duas casas decimais
correctas.
14. Um cilindro tem uma base de raio r 2m e uma altura h 3m. Com que erros absolutos
devemos medir r e h de modo a que o volume V do cilindro seja obtido com uma precis ao
de 0.1m
3
?
15. Pretende-se calcular o valor de

2
com tr es casas decimais correctas. Que valores aproxi-
mados de e

2 se devem utilizar para garantir essa precis ao?


16. A espessura de um dep osito cilndrico e dada pela f ormula
E =
1
2
_
k
_
V
h
_
Pretende-se calcular E com um erro [E[ 0.05cm usando V 250 10
6
cm
3
, h
500cm
3
, 2530cm, k 3.545 e [k[ 0.0001. Qual o erro que se pode admitir nos
valores de V , r e supondo que nos c alculos tom amos com quatro algarismos signica-
tivos correctos?
25
Captulo 2
Soluc ao num erica de equac oes e
sistemas n ao lineares
Consideremos a equac ao
f(x) = 0 (2.1)
onde f C[a, b] e func ao real de vari avel real. Os valores x R tais que f(x) = 0 chamam-se
zeros de f ou razes da equac ao f(x) = 0. S o para algumas escolhas particulares de f s ao conhe-
cidos processos que permitem calcular a soluc ao exacta desta equac ao. Em todos os outros casos
recorremos aos m etodos iterativos para calcular a soluc ao exacta do problema.

E no entanto de
realcar que a soluc ao de equac oes e sistemas n ao lineares e um captulo em que a an alise num erica
encontra uma soluc ao bastante precisa.
O objectivo deste captulo e ent ao estudar processos que permitam construir de forma aproxi-
mada a soluc ao de equac oes do tipo (2.1) na qual f tem um unico zero, x

, em [a, b].
Sendo x
0
[a, b] uma aproximac ao inicial de x

, pretendemos construir uma sucess ao de


novas aproximac oes x
n
tal que x
n
x

. Tal sucess ao pode ser denida atrav es de


x
n+1
= g(x
n
), n = 0, 1, . . . (2.2)
onde g e uma func ao especca que dene o m etodo iterativo. A (2.2) chamamos mesmo
m etodo iterativo (MI).
27
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Observac ao 2.1
1. No processo iterativo (2.2) x
n+1
depende apenas de uma aproximac ao x
n
. No entanto,
existem m etodos num ericos onde x
n+1
pode depender de mais do que uma aproximac ao
anterior, por exemplo, x
n+1
= g(x
n
, x
n1
).
2.

E importante garantir que a sucess ao (2.2) converge para a soluc ao exacta de f(x) = 0.
Antes de prosseguirmos, colocam-se v arias quest oes relativamente aos m etodos iterativos,
nomeadamente:
1. Como determinar a aproximac ao inicial x
0
? Ou como determinar um intervalo [a, b] que
contenha a raz?
2. Como construir a sucess ao x
n
, ou seja como denir o processo recursivo?
3. Como saber se a soluc ao dada constitui uma boa aproximac ao para a soluc ao exacta? Ou
posto de outra forma, como determinar uma aproximac ao comuma precis ao pr e-estabelecida?
Ou com uma precis ao satisfat oria?
4. Que tipo de m etodos iterativos podemos usar?
5. Qual o signicado de converg encia? Qual a velocidade com que a sucess ao x
n
converge
para x

?
Comecemos por abordar a ultima quest ao:
2.1 Converg encia
A eci encia de um MI pode ser medida de v arias formas, como por exemplo o tempo gasto
ou o esforco computacional exigido. Uma forma usual de o fazer, e em termos da sua velocidade
de converg encia:
Denic ao 2.1 (Erro da iterac ao n, m etodo convergente) A e
n
= x

x
n
chamamos erro da
iterac ao n. O m etodo iterativo diz-se convergente se lim
n
e
n
= 0.
Denic ao 2.2 (M etodo convergente de ordem p) O m etodo diz-se convergente de ordem p 1,
se existir uma constante positiva , independente de n, tal que
lim
n
[e
n+1
[
[e
n
[
p
= (2.3)
`
A constante chama-se raz ao de converg encia ou constante de erro.
28
2.1. Converg encia Departamento de Matem atica
Observac ao 2.2 A velocidade de converg encia de um processo iterativo est a usualmente associ-
ada ao conceito de ordem de converg encia: quanto maior for a ordem de converg encia, mais alta
e, em geral, a velocidade de converg encia do processo.
Se um MI tem converg encia de ordem p, ent ao xado > 0, arbitrariamente pequeno, existe
uma ordem n
0
, tal que:
n n
0
,

[e
n+1
[
[e
n
[
p


e portanto
[e
n+1
[
[e
n
[
p
+ ,
donde
[e
n
+ 1[ ( + ) [e
n
[
p
, n n
0
(2.4)
Dada a arbitrariedade de , daqui resulta que a partir de um dado n umero de iterac oes, se o erro e
pequeno, ent ao na iterac ao imediatamente a seguir, este erro e ainda mais pequeno.
Usualmente, a raz ao de converg encia s o e considerada quando se comparam processos com
a mesma ordem de converg encia. Neste contexto, quanto menor for a raz ao de converg encia,
mais r apida e a converg encia do m etodo. Logicamente, em m etodos com a mesma ordem de con-
verg encia, devemos considerar aquele que apresenta menor constante de erro. Assim, desprezando
em (2.4), temos:
M etodo 1: [e
n+1
[
1
[e
n
[
p
, isto e,
[e
1
[
1
[e
0
[
p
[e
2
[
1
[e
1
[
p

1
[
1
[e
0
[
p
[
p
[e
2
[
p+1
1
([e
0
[
p
)
p
M etodo 2: [e
n
+ 1[
2
[e
n
[
p
, isto e,
[e
1
[
2
[e
0
[
p
[e
2
[
2
[e
1
[
p

2
[
2
[e
0
[
p
[
p
[e
2
[
p+1
2
([e
0
[
p
)
p
Como
1
<
2
=
p+1
1
<
p+1
2
, ent ao o erro e mais pequeno no m etodo 1 do que no
m etodo 2.
Observac ao 2.3 Se em (2.3):
29
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
1. p = 2, o m etodo diz-se ter converg encia quadr atica.
2. p = 1, o m etodo diz-se ter converg encia linear.
Exemplo 2.1 Consideremos dois m etodos:
1. M etodo linear: lim
n
[e
n+1
[
[e
n
[
= 0.75, ou seja [e
n
[ 0.75
n
[e
0
[
2. M etodo quadr atico: lim
n
[e
n+1
[
[e
n
[
2
= 0.75, ou seja [e
n
[ 0.75
2
n
1
[e
0
[
2
n
.
Se considerarmos [e
0
[ < 0.5, ent ao:
1. [e
n
[ < 0.75
n
0.5
2. [e
n
[ < 0.75
2
n
1
0.5
2
n
Suponhamos que queriamos determinar [e
n
[ < , onde e uma dada toler ancia. Ent ao:
1. n =?, 0.75
n
0.5 <
2. n =?, 0.75
2
n
1
0.5
2
n
<
Claramente, no segundo m etodo atinge-se o objectivo mais rapidamente. Por exemplo
com = 10
8
, vem:
1. n = 63
2. n = 5.
2.2 Crit erios de paragem para um processo iterativo
Ao usar um MI e importante vericar se a aproximac ao determinada tem ou n ao a precis ao
desejada (ou adequada). Isto e, devemos parar de iterar quando a ultima aproximac ao obtida tenha
um erro inferior a , sendo uma toler ancia estabelecida a priori . Lembremos no entanto que x

e desconhecido, o que se traduz na incapacidade de usar explicitamente e


n
para denir um crit erio
de paragem. Assim os crit erios de paragem mais usuais s ao os seguintes:
(i) Crit erio do erro absoluto
[x
n
x
n1
[
30
2.2. Crit erios de paragem para um processo iterativo Departamento de Matem atica
Observac ao 2.4 Se a sucess ao x
n
, n = 0, 1, 2, . . ., e convergente, a sucess ao x
n
x
n1

tamb em converge e o seu limite e zero. Mas o recproco nem sempre e veradeiro.
(por exemplo: Com p
n
=

k=1
1
k
, lim
n
(p
n
p
n1
) = 0, mas p
n
diverge!)
(ii) Crit erio do erro relativo
[x
n
x
n1
[
[x
n
[

(iii) Crit erio do valor da func ao
[f(x
n
)[
Observac ao 2.5 pode acontecer que o gr aco de uma func ao esteja muito pr oximo do eixo
dos xx, logo [f(x
n
)[ , sem que se tenha x
n
muito pr oximo de x

. Vejamos o seguinte
exemplo:
f(x) = (x 1)
10
com
_

_
p = 1
p
n
= 1 +
1
n
f(p
n
) = f
_
1 +
1
n
_
=
_
1 +
1
n
1
_
10
=
_
1
n
_
10
e
_

_
[f(p
n
)[ < 10
3
requer n = 1
[p p
n
[ < 10
3
requer n = 1000
(iv) Crit erio do n umero m aximo de iterac oes
n = n
max
Este crit erio deve sempre utilizar-se como factor de seguranca, para o caso de um m etodo
divergir.
Como cada um destes crit erios pode induzir um erro, um procedimento adequado a usar, ser a
utilizando simultaneamente os crit erios (ii)+(iii) ou mesmo (i)+(ii)+(iii).
31
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
2.3 Localizac ao dos zeros de uma func ao
O processo mais usual de calcular uma aproximac ao inicial consiste em primeira inst ancia,
em determinar a sua localizac ao, determinando um intervalo que contenha a unica raiz a calcular.
Assim, no caso de f ter mais do que um zero, devemos isolar cada um dos zeros em intervalos
disjuntos. Vamos considerar o m etodo gr aco e o m etodo de Rolle para a determinac ao desses
intervalos:
2.3.1 M etodo gr aco (MG)
O objectivo deste m etodo e tentar obter gracamente um intervalo que contenha a raiz de
f(x) = 0. Salvaguarda-se que casos existem em que o tracado do gr aco da func ao poder a ser
particularmente difcil, como e por exemplo o caso das func oes polinomiais de grau superior a 3.
Por em, em tais casos o m etodo de Rolle e muitas vezes adequado.

E frequentemente vantajoso reescrever a equac ao inicial na forma equivalente f


1
(x) = f
2
(x),
conquanto que as func oes f
1
e f
2
sejam f aceis de tracar. O intervalo pretendido ser a ent ao aquele
que cont em o ponto de intersecc ao das duas curvas. A exist encia de um zero unico da func ao no
intervalo deve ser sempre vericada analiticamente.
Observac ao 2.6 O uso de meios inform aticos para obtenc ao da representac ao gr aca de uma
func ao pode conduzir-nos a erros.
Exemplo 2.2 Localize gracamente os zeros da func ao f(x) = e
x
x
2
.
Em SCILAB, faca:
x=(-2:0.1:2);
function [y]=f(x)
y=exp(x)-x

2;
endfunction
fplot2d(x,f)
Ou ainda:
x=(-2:0.1:2);
y1=exp(x);
y2=x.

2;
plot2d(x,[y1 y2])
32
2.3. Localizac ao dos zeros de uma func ao Departamento de Matem atica
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
4
3
2
1
0
1
2
3
4
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
0
1
2
3
4
5
6
7
8
Pelo tracado do gr aco facilmente concluimos que x

[1, 0]. Facamos ent ao a


vericac ao analtica:
f e func ao contnua uma vez que e a soma de uma func ao exponencial e de uma
func ao polinomial.
Como
f(1) = 1 1/e > 0
f(0) = 0 1 < 0
pelo Teorema de Bolzano f tem pelo menos um zero no intervalo [1, 0].
Por outro lado, como f

(x) = e
x
2x ,= 0, x (1, 0), temos ent ao garantida a
unicidade do zero nesse intervalo.
33
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Figura 2.1: Na gura da esquerda temos f(a) > 0 e f(b) < 0, e na gura da direita temos
f(a) < 0 e f(b) > 0. Mas em ambos os casos f(a) f(b) < 0.
2.3.2 M etodo de Rolle (MR)
Este m etodo e utilizado sempre que o MGfor de difcil utilizac ao. Por exemplo, na localizac ao
das razes de equac oes alg ebricas. O MR tem como fundamento te orico o Teorema de Rolle e os
seus corol arios (ver Appendix A) e consiste no seguinte: em primeiro lugar, determinamos os
possveis zeros da func ao derivada e ordenamo-los por ordem crescente. De seguida, utilizamos o
Teorema de Bolzano para vericar a exist encia ou n ao de um zero em cada intervalo.
Exerccio 2.1 Utilizando o MR, localize todos os zeros da func ao f(x) = x
3
2x 5.
Resoluc ao: f

(x) = 3x
2
2 = 0 x =
_
2
3
_

_
lim
x
f(x) =
f(
_

2
3
) < 0
f(
_
2
3
) < 0
lim
x+
f(x) = +
E pelo Teorema de Bolzano concluimos que existe raz somente no intervalo
__
2
3
, +
_
.
Calculemos ainda um limite superior do intervalo nito:
x = 3
f(x) = x
3
2x 5 +
f

(x) = 3x
2
2 +
f

(x) = 6x +
f

(x) = 6 +
e temos ent ao que c
__
2
3
, 3
_
34
2.4. M etodo da Bissecc ao Departamento de Matem atica
2 1 0 1 2 3 4
10
0
10
20
30
40
50
60
Observac ao 2.7
1. Seja P
n
(x) = 0 uma equac ao alg ebrica. Se para x = L(L > 0) o polin omio de grau
n, P
n
(x) e as suas sucessivas derivadas forem n ao negativas, ent ao L constitui um limite
superior das razes positivas de P
n
(x) = 0.
2. Um limite inferior, l, para as razes negativas duma equac ao alg ebrica P
n
(x) = 0, pode
ser obtido usando o resultado anterior, atendendo a que as razes negativas de P
n
(x) s ao
as razes positivas de Q
n
(x) = (1)
n
P
n
(x) = 0.
2.4 M etodo da Bissecc ao
Seja f : X R R uma func ao contnua. Localizada a unica raz de f, x

, num inter-
valo I
0
X, vamos construir uma sucess ao de aproximac oes para essa raz usando o m etodo das
bissecc oes sucessivas do intervalo [a, b], m etodo este conhecido pelo m etodo da Bissecc ao (MB):
Sendo I
0
= [a, b] calculemos o ponto m edio de I
0
: x
1
=
a + b
2
Pelo Teorema de Bolzano
Se f(a)f(x
1
) < 0 ent ao x

(a, x
1
) I
1
; calculemos o ponto m edio de I
1
: x
2
=
a + x
1
2
Sen ao se f(b)f(x
1
) < 0 ent ao x

(x
1
, b) I
1
e o ponto m edio de I
1
e x
2
=
x
1
+ b
2
.
.
.
35
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
O processo repete-se determinando assim uma sucess ao x
n
, n = 0, 1, 2, . . . que converge
para x

.
Algoritmo 2.1 M etodo da bissecc ao
Ler a, b
Se f(a)f(b) 0 entao parar;
Repetir c =
a + b
2
;
Se f(a)f(c) 0 entao b c
senao a c
ate que [b a[
1
ou [f(c)[
2
escrever x

c.
Exerccio 2.2 Seja x
n
a sucess ao determinada usando o MB , e [a
n
, b
n
]
nN
a sucess ao de
intervalos associada. Prove, por induc ao, que [b
n
a
n
[ =
1
2
n
[b a[.
Teorema 2.1 Seja x
n
a sucess ao gerada pelo MB com intervalo inical I
0
= [a, b]. Esta su-
cess ao e convergente e o erro da n- esima iterac ao satisfaz
[e
n
[
1
2
n
[b a[ , n = 0, 1, 2, . . . (2.5)
Demonstrac ao: Sendo [a
k
, b
k
] o intervalo geral obtido pelo MB na iterac ao k, ent ao
a a
k
b
k
b.
Como as sucess oes a
k
e b
k
s ao, respectivamente, sucess oes crescentes e decres-
centes, e uma vez que s ao limitadas, ent ao s ao convergentes. Suponhamos ent ao que
a = lim
k
a
k
e

b = lim
k
b
k
.
Mas lim
k
[a
k
b
k
[ = lim
k
1
2
k
[a b[ = 0 = a =

b.
Por outro lado,
f(a
k
)f(b
k
) 0 e f contnua
f( a)f(

b) = f( a)
2
0
logo teremos que ter =f( a)
2
= 0 = a e zero de f.
Pelo Teorema das sucess oes enquadradas, como a
k
x
k
b
k
ent ao x
k
a,
ou seja, a sucess ao x
n
e convergente para o zero de f.
36
2.4. M etodo da Bissecc ao Departamento de Matem atica
Exerccio 2.3 Mostre que se usarmos o m etodo da bissecc ao para aproximar a raz de
uma func ao contnua f, pertencente ao intervalo [a, b], xada uma toler ancia (isto e
pretendemos que o erro n ao exceda : [e
n
[ ), o n umero de iterac oes necess arias
para atingir a requerida toler ancia e dado por
n >
ln
_
[b a[

_
ln 2
.
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
2
1
0
1
2
3
4
5
6
Exerccio 2.4 Utilizando o MB, determinar uma raz para a equac ao e
x
[x[ = 0 com
um erro que n ao exceda 0.15.
Resoluc ao: Atrav es da gura a raiz e facilmente localizada no intervalo [1, 0]. De (2.5)
temos:
1
2
n
[0 + 1[ < 0.15 n 3
Concluimos assim serem necess arias pelo menos tr es iterac oes para obter a precis ao
requerida.
Este ultimo exerccio pode ser implementado em SCILAB da seguinte forma:
x=(-2:0.1:2);
function f=fname(x)
f=exp(x)-abs(x);
endfunction
37
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
fplot2d(x,fname)
function [a,b]=bisection(f,a,b,tol)
//Esta rotina determina a raiz de uma eq nlinear atraves do MBisseccao.
//Uso: [a,b]=bisection(fname,a,b,tol)
//a funcao f e calculada por f=fname(x)
//[a,b] e o intervalo inicial cuja aplitude pretendemos reduzir a
metade
//ate |b-a|<=tol
sfb=sign(feval(b,fname)); //feval calcula o valor de fname em b; sign
devolve o sinal de fname em b
width=b-a;
disp( a b sfx)
while width > tol
width=width/2;
x=a+width;
sfx=sign(feval(x,fname));
disp(sprintf(%0.8f %0.8f %2.0f,[a b sfx])) //sprintf converte
...
... formatos e armazena o seu valor
if sfx==0
a=x; b=x; return
else if sfx==sfb, b=x;
else, a=x; end
end
endfunction
a=-1; b=0; tol=0.15;
[a,b]=bisection(fname,a,b,tol)
O SCILAB devolve o seguinte resultado:
38
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
a b sfx
-1.00000000 0.00000000 1
-1.00000000 -0.50000000 -1
-0.75000000 -0.50000000 -1
b=- 0.5 e a= - 0.625
Observac ao 2.8
1. A primeira grande vantagem do MB e convergir sempre.
2. A segunda grande vantagem e ser possivel indicar ` a priori, um majorante para o erro co-
metido ao m de um certo n umero de iterac oes.
3. A grande desvantagem do MB e ter converg encia linear, com raz ao de converg encia 1/2,
uma vez que
[x

x
n+1
[
1
2
n
[b a[
E isto e muito lento!
4. Este m etodo e uma boa aproximac ao para inicializar outros m etodos.
2.5 M etodo do ponto xo (MPf)
Denic ao 2.3 (Ponto xo) Seja f uma func ao denida num intervalo I. Dizemos que p I e
ponto xo de f se f(p) = p.
Exemplo 2.3
1. A func ao f(x) = x
2
tem 2 pontos xos em [0, 2]. Nomeadamente x = 0 e x = 1.
x=(-2:0.1:4);
y1=x

2;
y2=x;
plot2d(x,[y1 y2])
2. Quantos pontos xos tema a func ao f(x) = x?
39
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
2 1 0 1 2 3 4
2
0
2
4
6
8
10
12
14
16
1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
1.0
0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3. A func ao f(x) = x sinx tem 2 pontos xos em [0, 2]. Nomeadamente x = 0 e
x = 1.
Suponhamos que pretendemos calcular x

[a, b] tal que f(x

) = 0. Reescrevendo f(x) = 0 na
forma x = g(x), ent ao o problema reduz-se ` a determinac ao dos pontos xos de g.
Teorema 2.2 (Condic ao suciente para a exist encia de um ponto xo unico) Se g e uma func ao
contnua em [a, b] e g(x) [a, b] para x [a, b], ent ao g(x) tem um ponto xo em [a, b]. Mais
ainda, se [g

(x)[ k < 1, x [a, b] ent ao o ponto xo e unico.


Demonstrac ao:
(a) Comecemos por provar a exist encia.
Se g(a) = a ou g(b) = b, ent ao a ou b s ao pontos xos de g. Se g(a) > a e g(b) < b,
consideremos a func ao auxiliar h(x) = g(x) x, x [a, b] (Note que h e contnua
em [a, b]). Como h(a) = g(a) a > 0 e h(b) = g(b) b < 0, pelo Teorema de
40
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
Bolzano concluimos que p (a, b) tal que h(p) = 0 g(p) = p.
(b) Provemos agora a unicidade.
Sejam p e q dois pontos xos de g, i.e., g(p) = p e g(q) = q e p, q [a, b]. Ent ao
pelo Teorema de Lagrange, existe pertencente ao intervalo aberto de extremos p
e q (e portanto [a, b]), tal que
[p q[ = [g(p) g(q)[ =

()

[p q[ k [p q[ .
Assim:
(1 k) [p q[ 0 =[p q[ = 0,
uma vez que k < 1.

1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
1
0
1
2
3
4
5
Exemplo 2.4 Mostrar que g(x) =
x
2
1
3
tem um unico ponto xo em [1, 1].
41
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Resoluc ao: Sendo g uma func ao polinomial, e contnua em R, em particular e contnua em
[1, 1].
Facilmente se reconhece que y =
x
2
1
3
e uma par abola de v ertice no ponto (0,
1
3
) e com a
concavidade voltada para cima. Uma vez que g(1) = 0, g(1) = 0 ent ao g([1, 1]) [
1
3
, 0]
[1, 1] (outra forma de mostrarmos que g([1, 1]) [1, 1] seria estudando o comportamento da
func ao no intervalo. Dado que este e um intervalo limitado e fechado, pelo teorema de Weierstrass
g tem m aximo e mnimo em [1, 1]. Como g

(x) =
2x
3
, g

(x) = 0 x = 0 e g

(0) > 0, ent ao


x = 0 e ponto de mnimo. O(s) m aximo(s) seriam ent ao atingidos num (ou em ambos, que e o
caso) extremo do intervalo) .
Recorrendo ao teorema 2.2 podemos garantir a exist encia de pelo menos um ponto xo de g.
Como alternativa, e sem recorrer ao teorema 2.2, poderamos considerar a func ao contnua
h(x) = g(x) x e uma vez que h(1) = g (1) (1) > 0 e h(1) = g (1) (1) < 0, ent ao
pelo Teorema de Bolzano, existe pelo menos um x

tal que h(x

) = 0 g(x

) = x

, ou seja, de
pelo menos um ponto xo de g.
No que respeita ` a unicidade, esta ca provada recorrendo ao teorema 2.2 uma vez que

(x)

=
2
3
[x[
2
3
< 1, x [1, 1].
2.5.1 O M etodo
Para determinar uma aproximac ao para o ponto xo da func ao g, consideremos uma aproximac ao
inicial x
0
conveniente e determinemos uma sucess ao x
n
atrav es de
x
n+1
= g ( x
n
), n = 1, 2, . . .
Se x
n
x

, ent ao lim
n
x
n+1
= lim
n
g(x
n
) = g
_
lim
n
x
n
_
= g(x

) = x

.
Gracamente, o ponto xo x

obt em-se considerando a intersecc ao da recta y = x com


a func ao g. Iterativamente, marcamos x
0
no eixo das abcissas e gracamente determinamos
x
1
= g(x
0
). Marcamos ent ao x
1
no eixo das abcissas e determinamos a respectiva ordenada,
etc.. O processo repete-se at e que x
n
esteja sucientemente pr oximo do ponto xo.
42
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
Algoritmo 2.2 M etodo do ponto xo
1. Dados x
0
, n
2. i = 0, . . . , n calcular x
i+1
= g(x
i
)
Exemplo 2.5 Seja f(x) = x

16 x
2
e x [0, 4]
f(x) = 0 x =

16 x
2
, temos ent ao x
n+1
=
_
16 x
2
n
, x [0, 4]
Em SCILAB:
x=(-1:0.1:4);
y1=sqrt(16-x

2);
y2=x;
plot2d(x,[y1 y2])
Com x
0
= 2, obtemos
x
1
= 3.46410162
x
2
= 2
x
3
= 3.46410162
x
4
= 2
.
.
.
x
8
= 2
x
9
= 3.46410162
43
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
1.0
0.5
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
Observemos que: f(2) = 1.4641 e f(3.4641012) = 1.4641. No entanto, com mais
cuidado vericamos que g n ao verica [g

(x)[ < 1, x [0, 4].


Teorema 2.3 Seja g : [a, b] [a, b] tal que [g

(x)[ k < 1, x [a, b]. Ent ao a sucess ao


gerada pelo m etodo iterativo x
n+1
= g(x
n
), n = 0, 1, . . . converge para o unico ponto xo de g,
qualquer que seja a aproximac ao inicial x
0
[a, b].
Demonstrac ao: Atendendo ` as condic oes impostas sob a func ao g, desde j a podemos
armar que existe um unico ponto xo de g em [a, b].
[x
n+1
x

[ = [g(x
n
) g(x

)[ = [g

(
n
)[ [x
n
x

[ k [x
n
x

[ ,
n
I x
n+1
, x

.
(Teorema de Lagrange)
Ent ao
[x
n+1
x

[ k [x
n
x

[ kk [x
n1
x

[ . . . k
n+1
[x
0
x

[ (2.6)
Como k < 1, lim
n
k
n+1
donde lim
n
[x
n+1
x

[ = 0.

Exemplo 2.6 Sabendo que f(x) = x


3
+ 4x
2
10 tem uma unica raz real x

[1, 2],
determine utilizando o MPf, uma aproximac ao para x

.
Resoluc ao:
44
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
A. f(x) = 0 x = x
3
+ 4x
2
+ x 10. Seja ent ao g(x) = x
3
+ 4x
2
+ x 10. Como
g(1) = 4 , [1, 2] n ao podemos garantir que x
n+1
= g(x
n
) converge para o ponto
xo de g.
B. f(x) = 0 x =
1
2

10 x
3
. Comg(x) =
1
2

10 x
3
, temos g

(x) =
3x
2
4

10 x
3
<
0, x [1, 2], i.e. g e decrescente. Ent ao comx [1, 2], temos que g(x)
_

2
2
,
3
2
_
,
[1, 2]. n ao podemos garantir a converg encia.
C. f(x) = 0 x =
_
10
x + 4
. .
g(x)
. Esta func ao verica as condic oes sucientes de
exist encia de soluc ao unica. Prove que assim e.
Considerando x
0
= 1, vejamos agora o comportamento dos 3 diferentes MPf anteri-
ores:
A. Este m etodo n ao verica as condic oes de exist encia e unicidade de ponto xo, e
pela an alise da tabela verica-se uma situac ao de diverg encia do m etodo.
x
n
[f(x
n
)[
4 10
14 1970
1984 7.8E + 9
7.8E + 9 > E + 20
< E + 20 > E + 20
< E + 20 > E + 20
< E + 20 > E + 20
B. Este m etodo tamb em n ao verica as condic oes de exist encia e unicidade de ponto
xo, mas pela an alise da tabela verica-se uma situac ao de converg encia do m etodo.
x
n
[f(x
n
)[
1.5 2.375
1.28695 1.24348
1.40254 6.3E 1
1.34546 3.3E 1
1.37517 1.6E 1
1.36009 8.5E 1
1.36785 4.3E 2
45
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
C. Este m etodo verica as condic oes de exist encia e unicidade de ponto xo, e pela
an alise da tabela verica-se uma situac ao de converg encia do m etodo.
x
n
[f(x
n
)[
1.41421 8.3E 1
1.35904 1.0E 1
1.36602 1.3E 2
1.36513 1.7E 3
1.36524 2.1E 4
1.36523 2.7E 5
1.36523 3.4E 6
Vamos implementar em SCILAB a situac ao C:
f=sqrt(10/(x+4));
endfunction
fplot2d(x,fname)
function [x]=Mfixo(f,x0,tol)
//This function solves an equation by the Fixedpoint Method.
//Usage: x
n
+ 1=fname(x
n
)
//the function value f is computed by f=fname(x)
//[a,b] is a bracketing interval whose length is halved
//until |b-a|=width<=tol
width=x0;
xold=x0;
niter=0;
while width > tol
xnew=fname(xold);
gx=fname(xnew);
fx=xnew

3+4
*
xnew

2-10;
46
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
disp(sprintf(x%1.0f=%0.5f g(x%1.0f)=%0.5f f(x%1.0f)=%0.5f,[niter
xnew niter gx niter fx]));
width=abs(xold-xnew);
niter=niter+1;
xold=xnew;
end
x=xnew;
endfunction
x0=1;
tol=0.000015;
[x]=Mfixo(fname,x0,tol)
2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
Observac ao 2.9 Consideremos f(x) = 0 reescrita em duas formas equivalentes, nomeadamente
x = g
1
(x) e x = g
2
(x) em [a, b] tal que x

[a, b]. Suponhamos que

1
(x)

2
(x)

< 1, x [a, b]
ent ao a sucess ao x
n+1
= g
1
(x
n
) converge mais rapidamente do que a sucess ao x
n+1
= g
2
(x
n
), n =
0, 1, . . .
Corol ario 2.1 Nas hip oteses do Teorema 2.3, tem-se
[e
n
[ k
n
max x
0
a, b x
0

47
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Demonstrac ao: Consequ encia de (2.6).
Corol ario 2.2 Nas hip oteses do Teorema (2.3), tem-se
[e
n
[
k
n
1 k
[x
1
x
0
[
Demonstrac ao: De (2.6) resulta
[x
n+1
x
n
[ k
n
[x
1
x
0
[ .
Sendo m > n
[x
m
x
n
[ = [x
m
x
m1
+ x
m1
x
n+1
+ x
n+1
x
n
[

m1

j=n
[x
j+1
x
j
[
m1

j=n
k
j
[x
1
x
0
[ = k
n
(1 + k + + k
m1n
)[x
1
x
0
[
quando m , x
m
x

e ent ao vem:
[e
n
[ k
n

i=0
k
i
[x
1
x
0
[ = k
n
1
1 k
[x
1
x
0
[

Observac ao 2.10 1. Este corol ario e utilizado para determinar o n umero de iterac oes ne-
cess arias ` a obtenc ao do erro inferior a uma dada quantidade > 0.
2. Dado que
[e
n+1
[ = [x
n+1
x

[ = [g(x
n
) g(x

)[ k[e
n
[
concluimos que o MPf tem converg encia linear.
3. A velocidade de converg encia varia com k. Quanto menor for k, maior e a velocidade de
converg encia do m etodo.
Sob certas condic oes o m etodo do ponto xo pode apresentar converg encia quadr atica ou at e
superior:
Teorema 2.4 (Converg encia quadr atica) Seja x

o unico ponto xo de g em[a, b]. Se g

(x

) = 0
e g

e limitada num intervalo contendo x

, ent ao existe > 0 tal que, para todo o x


0
]x


, x

+[, a sucess ao denida por x


n+1
= g(x
n
), n = 0, 1, . . . converge para x

e a converg encia
e quadr atica.
48
2.5. M etodo do ponto xo (MPf) Departamento de Matem atica
Demonstrac ao:
Comecemos por escolher > 0 tal que no intervalo [x

, x

+ ] [a, b],
[g

(x)[ k < 1 (2.7)


e g

seja contnua. Tendo em conta (2.7), os termos da sucess ao x


n
est ao contidos
no intervalo [x

, x

+ ]. Para qualquer x [x

, x

+ ], pela f ormula de Taylor,


podemos escrever
g(x) = g(x

) + g

(x

)(x x

) +
g

()
2
(x x

)
2
,
onde pertence ao intervalo aberto de extremos x e x

.
De g(x

) = x

e g

(x

) = 0 resulta
g(x) = x

+
g

()
2
(x x

)
2
.
No caso particular em que x = x
n
obtemos
g(x
n
) = x

+
g

(
n
)
2
(x
n
x

)
2
,
onde
n
pertence ao intervalo aberto de extremos x
n
e x

.
Como x
n+1
= g(x
n
), podemos ent ao escrever
x
n+1
x

=
g

(
n
)
2
(x
n
x

)
2
.
Uma vez que [g

(x)[ k < 1 e g ([x

, x

+ ]) [x

, x

+ ], pelo Teorema do
ponto xo, a sucess ao x
n
converge para x

. Mas, para cada n, a sucess ao


n
est a
compreendida entre x

e x
n
e como tal, tamb em converge para x

, logo
lim
n
[x
n+1
x

[
[x
n
x

[
2
=
[g

(x

)[
2
,
o que mostra que o m etodo tem converg encia quadr atica.
Teorema 2.5 (Converg encia de ordem p) Seja x

o unico ponto xo de g em[a, b]. Se g


(j)
(x

) =
0 para j = 1, . . . , p 1 e g
(p)
e limitada num intervalo contendo x

, ent ao existe > 0 tal que


para todo o x
0
]x

, x

+ [ a sucess ao denida por x


n+1
= g(x
n
), n = 0, 1, . . . converge
para x

e a converg encia e de ordem p.


Observac ao 2.11 O MPf, tal como o m etodo de Newton que apresentamos a seguir, e genera-
liz avel a sistemas de equac oes n ao lineares.
49
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
2.6 M etodo de Newton (MNt)
O MNt e um caso particular do MPf e e um dos MN mais poderosos e tamb em mais conhe-
cidos para determinar aproximac oes num ericas de razes de equac oes n ao lineares. H a diferentes
formas de apresentar o MNt: (i) interpretac ao geom etrica, (ii) com base na f ormula de Taylor, ou
(iii) como um MPf de converg encia quadr atica. Seguidamente fazemos a apresentac ao geom etrica
do MNt (as outras duas formas podem ser vistas em Burden and Faires [1]).
Seja f C
2
[a, b], [a, b] R e x

[a, b] a unica raz de f(x) = 0 nesse intervalo. Conside-


remos ainda as seguintes condic oes gerais de aplicac ao do m etodo:
f(a)f(b) < 0
f

(x) ,= 0 x (a, b)
f

(x) de sinal constante em (a, b).


Pela f ormula de Taylor temos que, sendo x
0
[a, b],
f(x) = f(x
0
) + f

(x
0
)(x x
0
) +
f

()
2
(x x
0
)
2
, Ix, x
0
.
Podemos ent ao escrever
f(x) f(x
0
) + f

(x
0
)(x x
0
),
e obter uma aproximac ao da raz de f(x) = 0 fazendo x = x
1
, de forma a que o segundo membro
se anule, i.e.:
f(x
0
) + f

(x
0
)(x
1
x
0
) = 0 x
1
= x
0

f(x
0
f

(x
0
)
, f

(x
0
) ,= 0.
Fazendo sucessivamente f(x) f(x
n
) + f

(x
n
)(x x
n
), vem a chamada f ormula iteradora do
m etodo de Newton
x
n+1
= x
n

f(x
n
)
f

(x
n
)
, n = 0, 1, . . . , (2.8)
desde que f

(x) nunca se anule em nenhuma das iterac oes.


Observac ao 2.12 Note que y = x
n

f(x
n
)
f

(x
n
)
e a equac ao da recta tangente ao gr aco de f no
ponto x
n
, raz ao pela qual o m etodo de Newton tamb em e conhecido pelo m etodo da tangente.
50
2.6. M etodo de Newton (MNt) Departamento de Matem atica
Figura 2.2: Interpretac ao gr aca do M etodo de Newton
Interpretac ao geom etrica: Comecamos por particularizar as condic oes de aplicabilidade, con-
siderando f(a) < 0, f(b) > 0 e f

(x) > 0 (ver Figura 2.2).


Sendo x
0
= b, consideremos a recta tangente ` a curva em x
0
. A equac ao desta recta tangente
e ent ao y f(x
0
) = f

(x
0
)(x x
0
). Se considerarmos a intersecc ao desta recta com o eixo dos
abcissas (fazendoy = 0), obtemos:
x = x
0

f(x
0
)
f

(x
0
)
. .
x
1
Se considerarmos a recta tangente ` a curva em x
1
:
y f(x
1
) = f

(x
1
)(x x
1
)
y=0
=x = x
1

f(x
1
)
f

(x
1
)
. .
x
2
e considerando a recta tangente ` a curva emx
n
e a sua intersecc ao com o eixo dos xx, obtemos
a iterac ao funcional (2.8).
Ser a que a sucess ao denida desta forma converge para x

?
Teorema 2.6 Se
1. f C
2
[a, b]
2. f(a)f(b) < 0
3. f

(x), f

(x) ,= 0, x [a, b]
4. f(x
0
)f

(x
0
) > 0
ent ao, com x
0
escolhido como e sugerido acima, a sucess ao x
n
, n = 0, 1, . . . gerada pelo MNt
converge para a unica raiz x

de f(x) = 0 em [a, b].


51
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Algoritmo 2.3 M etodo de Newton
1. Dados x
0
, f(x
0
), f

(x
0
), n
2. Para i = 1, . . . , n calcular:
(a) x
i
= x
i1

f(x
i1
)
f

(x
i1
)
(b) f(x
i
), f

(x
i
)
Exemplo 2.7 A equac ao cos x x = 0 tem uma unica raz em
_
1
2
,

2
_
. (Represente
gracamente a soluc ao da equac ao). Determinemos, pelo MNt, a aproximac ao x
4
.
0.0 0.5 1.0 1.5
1.5
1.0
0.5
0.0
0.5
1.0
Resoluc ao: Consideremos a func ao f(x) = cos xx (obviamente de classe C
2
_
0,

2

) e
veriquemos as condic oes de aplicabilidade do MNt:
f
_

2
_
= cos

2


2
=

2
< 0 e f(0) = 1 > 0
f

(x) = sin x 1 < 0, x


_
0,

2
_
f

(x) = cos x < 0, x


_
0,

2
_
Com o MNt existem problemas se o x
0
n ao for adequado. Neste problema, graca-
mente, selecionamos x
0
=

4
.
52
2.6. M etodo de Newton (MNt) Departamento de Matem atica
Temos ent ao a seguinte f ormula iterativa:
x
n
= x
n1

cos x
n1
x
n1
sinx
n1
1
, n = 1, 2, . . .
e consequentemente:
x
0
=

4
x
1
=

4

cos(

4
)

4
sin(

4
)1
= 0.73953613
x
2
= x
1

cos x
1
x
1
sinx
1
1
= 0.739085178
x
3
= 0.73908513
x
4
= 0.73908513
(Os c alculos foram feitos em SCILAB.)
Concluimos ent ao x
4
e uma boa aproximac ao.
Vamos implementar este problema em SCILAB:
function f=fname(x)
f=cos(x)-x;
endfunction
function df=dfname(x)
df=-sin(x)-1;
endfunction
fplot2d(x,fname)
function x=newton(f,df,x,nk)
//This function solves an equation by the Newton method.
//Usage: x=newton(fname,dfname,x0,nk)
//the function value f and its derivative df are computed by f=fname(x)
and df=dfname(x), respectively
//x0 is the starting point and nk the number of iterations
disp(k x
k
f(x
k
) f(x
k
) dx)
for k=0:nk
53
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
f=feval(x,fname);
df=feval(x,dfname);
dx=f/df;
disp(sprintf(%d %12.6g %9.2e %1.5f %12.6g, [k,x,f,df,dx]))
x=x-dx
end
endfunction
x0=%pi/4;
nk=10;
x=newton(fname,dfname,x0,nk)
Teorema 2.7 (Condic oes sucientes de converg encia) Se f(a)f(b) < 0, f

(x) ,= 0 e f

(x) ,=
0, x [a, b], ent ao a sucess ao x
n
e convergente para o unico zero de f em [a, b], desde que se
considere a condic ao f(x
0
)f

(x
0
) > 0.
Demonstrac ao Suponhamos, semperda de generalidade, que f(a) < 0, f(b) > 0, f

(x), f

(x) >
0, x
0
= b.
Para provarmos que x
n
e convergente, mostraremos que x
n
e n ao crescente e limi-
tada inferiormente.
x
n
e limitada inferiormente: Usando a f ormula de Taylor
0 = f(x

) = f(x
n
) + f

(x
n
)(x

x
n
) + f

()
(x

x
n
)
2
2
,
n
Ix

, x
n

Dividindo tudo por f

(x) ,= 0, temos:
0 = x

_
x
n

f(x
n
)
f

(x
n
)
_
. .
x
n+1
+
f

(
n
)
f

(x
n
)
(x

x
n
)
2
2

x

x
n+1
=
f

(
n
)
f

(x
n
)
(x

x
n
)
2
2
0 (2.9)
donde resulta que x

x
n+1
, n N
0
.
x
n
e n ao crescente: Como x

x
n
, n N, vem que f(x
n
) 0, n N
0
.
De
x
1
x
0
=
f(x
0
)
f

(x
0
)
54
2.6. M etodo de Newton (MNt) Departamento de Matem atica
e f(x
0
) > 0 resulta x
1
< x
0
e de
x
n+1
x
n
=
f(x
n
)
f

(x
n
)
(2.10)
e de f(x
n
) 0 resulta x
n+1
< x
n
.
Prov amos ent ao que a sucess ao x
n
e convergente. Vejamos agora se x
n
x

?
Sendo tal que x
n
, tomando o limite em (2.10)obtemos f() = 0. Mas como este
intervalo cont em uma unica raz, temos que x

.
Estudemos agora a relac ao entre os erros de duas aproximac oes sucessivas.
Teorema 2.8 (Teorema da converg encia quadr atica) Nas condic oes do teorema anterior, os er-
ros das iterac oes n e n + 1, obtidas pelo MNt vericam
[e
n+1
[ M[e
n
[
2
, n N
0
onde
M =
1
2
max
x[a,b]
[f

(x)[
min
x[a,b]
[f

(x)[
Demonstrac ao Seja x
0
[a, b] tal que f(x
0
)f

(x
0
) > 0. De (2.9)
[e
n+1
[ = [x

x
n+1
[ =

1
2
f

(
n
)
f

(x
n
)
e
2
n

,
n
Ix

, x
n

donde
[e
n+1
[ M[e
n
[
2
.

Observac ao 2.13
1. A escolha do x
0
e importante na converg encia do m etodo. Dois pontos devem ser tidos em
considerac ao nessa escolha:
f(x
0
)f

(x
0
) > 0
x
0
deve estar sucientemente pr oximo de x

.
2. Atendendo ` a condic ao
[e
n+1
[ M[e
n
[
2
,
a converg encia e tanto mais r apida quanto menor for M.
55
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Exerccio 2.5 Localize gracamente as razes de f(x) = 0, onde
f(x) = x
2
1 ln(x + 1),
e aproxime a maior delas usando o MNt.
A desvantagem que o MNt apresenta ao calcular a derivada de uma func ao pode ser contornado
substituindo este m etodo pelos m etodos da secante ou da corda falsa. Seguidamente apresentamos
o primeiro destes m etodos.
2.7 M etodo da secante (MS)
Este m etodo consiste em substituir em (2.8) f

(x
n
) por
f(x
n
) f(x
n1
)
x
n
x
n1
. Obtemos assim a
f ormula de recorr encia:
x
n+1
= x
n

f(x
n
)
f(x
n
) f(x
n1
)
(x
n
x
n1
). (2.11)
Em termos geom etricos, este m etodo deduz-se tal como o MNt, mas em vez da tangente
consideramos a intersecc ao da recta secante que passa pelos pontos (x
n
, f(x
n
)) e (x
n1
, f(x
n1
))
com o eixo dos xx, como se pode constatar pela ilustrac ao representada na Figura 2.3.
Figura 2.3: Representac ao do M etodo da Secante
Segue-se o algoritmo do MS:
56
2.7. M etodo da secante (MS) Departamento de Matem atica
Algoritmo 2.4 M etodo da Secante
1. Dados x
0
, x
1
, f(x
0
), f(x
1
), f

(x
0
), n
2. Para i = 1, . . . , n calcular:
(a) x
i+1
= x
i

f(x
i
)
f(x
i
) f(x
i1
)
(x
i
x
i1
), n = 0, 1, . . .
(b) f(x
i
)
Observac ao 2.14
1. O MS necessita n ao de uma, mas de duas aproximac oes iniciais, usualmente tomadas como
os extremos do intervalo [a, b].
2. As condic oes de aplicac ao do MS s ao as mesmas do MNt.
3. Prova-se que a ordem de converg encia do MS e p =
1 +

5
2
1.618. Por este facto a
converg encia do m etodo diz-se superlinear.
4. Atenc ao na implementac ao do m etodo, pois temos de salvaguardar o caso de f(x
i
)
f(x
i1
) 0.
Exemplo 2.8 Sendo f(x) = x 2 sin(x) 0.5 uma funcao cujo gr aco se encontra re-
presentado na gura abaixo, determinemos o zero da equac ao f(x) = 0.
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
2
1
0
1
2
3
4
5
6
Resoluc ao: Vamos implementar este problema em SCILAB:
x=(0:0.1:4);
function f=fname(x)
f=x-2
*
sin(x)-0.5;
57
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
endfunction
fplot2d(x,fname)
function x=secante(f,x0,x1,nk)
//This function solves an equation by the secant method.
//Usage: x=secante(fname,[x0,x1],nk)
//the function value f is computed by f=fname(x)
//x0,x1 are the starting point and nk the number of iterations
disp(k x
k
f(x
k
))
f0=feval(x0,fname);
f1=feval(x1,fname);
k=0;
disp(sprintf(%d %12.6g %9.2e, [k,x0,f0]))
while (k<=nk)&(abs(f1-f0) =0)
disp(sprintf(%d %12.6g %9.2e, [k,x1,f1]))
aux=x1-f1
*
(x1-x0)/(f1-f0);
x0=x1;
x1=aux;
f0=f1;
f1=feval(x1,fname);
end
x=x1
endfunction
x0=1.8;
x1=1.9;
nk=10;
x=secante(fname,x0,x1,nk)
Obtendo-se:
58
2.8. Generalizac ao m etodo Newton (senl) Departamento de Matem atica
x
n
[f(x
n
)[
1.8 6.48E 01
1.9 4.93E 01
2.21761 1.22E 01
2.15473 1.39E 02
2.16117 2.98E 04
2.16131 7.75E 07
2.16131 4.30E 11
2.16131 0
e x = 2.1613098.
Observac ao 2.15 A func ao SCILAB fsolve pode ser usada para determinar a soluc ao de qual-
quer equac ao n ao linear.
deff([y]=fsol1(x),y=x-2
*
sin(x)-0.5);
[xres]=fsolve(2,fsol1)
xres = 2.1613098
2.8 Generalizac ao do m etodo de Newton aos sistemas de equac oees
n ao lineares
Apresentamos agora o m etodo de Newton para sistemas de equac oes n ao lineares. Por raz oes de
simplicidade, comecamos por considerar um sistema de ordem 2:
_
_
_
f
1
(x
1
, x
2
) = 0
f
2
(x
1
, x
2
) = 0
com soluc ao x

= (x

1
, x

2
). Sendo x
(0)
=
_
x
(0)
1
, x
(0)
2
_
uma aproximac ao inicial para x

, usando
a f ormula de Taylor para duas vari aveis, temos:
f
i
(x

1
, x

2
) f
i
(x
(0)
1
, x
(0)
2
) +
f
i
x
1
(x
(0)
1
, x
(0)
2
)(x

1
x
(0)
1
) +
f
i
x
2
(x
(0)
1
, x
(0)
2
)(x

2
x
(0)
2
), i = 1, 2
59
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Matricialmente, podemos escrever
_
_
f
1
(x

1
, x

2
) = 0
f
2
(x

1
, x

2
) = 0
_
_
. .
F(x

_
_
f
1
(x
(0)
1
, x
(0)
2
)
f
2
(x
(0)
1
, x
(0)
2
)
_
_
. .
F(x
(0)
)
+
_
_
f
1
x
1
(x
(0)
1
, x
(0)
2
)
f
1
x
2
(x
(0)
1
, x
(0)
2
)
f
2
x
1
(x
(0)
1
, x
(0)
2
)
f
2
x
2
(x
(0)
1
, x
(0)
2
)
_
_
. .
J(x
(0)
)
_
_
x

1
x
(0)
1
x

2
x
(0)
2
_
_
. .
x

x
(0)
onde J() e a matriz jacobiana das primeiras derivadas. Ent ao
F(x

) F(x
(0)
) + J(x
(0)
)
_
x

x
(0)
_

J(x
(0)
)x

F(x
(0)
) + J(x
(0)
)x
(0)
Se existir a matriz inversa de J, J
1
, temos x

x
(0)
J
1
(x
(0)
)F
_
x
(0)
_
.
Considerando:
x
(1)
= x
(0)
J
1
(x
(0)
)F(x
(0)
)
x
(2)
= x
(1)
J
1
(x
(1)
)F(x
(1)
)
.
.
.
x
(k)
= x
(k1)
J
1
(x
(k1)
)F(x
(k1)
)
. .
G(x
(k1)
)
temos ent ao a iterac ao funcional
x
(k)
= G(x
(k1)
)
Obt em-se assim um m etodo recursivo que permite determinar uma sucess ao de vectores que apro-
xima a soluc ao do sistema. Este m etodo e facilmente generaliz avel para o caso geral.
Seja F(x) = 0 uma equac ao n ao linear em que F : R
n
R
n
, x
(0)
uma aproximac ao para
a soluc ao x

da equac ao dada e J(x) =


_
f
i
x
j
_
a matriz de Jacobi de F. O MNt para sistemas
n ao lineares de ordem n consiste na construc ao recursiva da sucess ao
_
x
(k)
_
atrav es da equac ao
x
(k)
= x
(k1)
J
1
(x
(k1)
)F(x
(k1)
)
. .
y
, k = 1, 2, . . . (2.12)
Teorema 2.9 Suponhamos x

a soluc ao de G(x) = x para alguma funcional G : R


n
R
n
. Se
existir > 0 com a seguinte propriedade:
(i)
g
i
x
j
e contnua em N

= x : [[x x

[[ < i, j = 1, . . . , n;
(ii)

2
g
i
(x)
x
j
x
k
e contnua e M tal que

2
g
i
(x)
x
j
x
k

M com x N

, i, j, k = 1, 2, . . . , n;
(iii)
g
i
(x

)
x
k
= 0, i, k = 1, 2, . . . , n;
60
2.8. Generalizac ao m etodo Newton (senl) Departamento de Matem atica
Ent ao

tal que a sucess ao x


(k)
= G(x
(k1)
) converge quadraticamente para x

com uma
escolha de x
(0)
tal que [[x

x
(0)
[[ <

.
Mais ainda, [[x

x
(0)
[[


n
2
M
2
[[x

x
(0)
[[
2

para k 1.
Observac ao 2.16
1. O MNt para sistemas n ao lineares converge quadraticamente para a soluc ao do sistema se
a aproximac ao inicial x
(0)
for escolhida sucientemente pr oxima da soluc ao do sistema e
se J
1
(x

) existir. A determinac ao de uma aproximac ao inicial adequada, que gera uma


sucess ao de iteradas convergente e um problema de difcil soluc ao que n ao trataremos aqui.
2. O ponto fraco deste m etodo e o c alculo da inversa do jacobiano. Muitas vezes esta matriz e
aproximada e temos ent ao os m etodos quais-Newtonianos. De forma a evitar-se o c alculo
desta inversa, reduzimos (2.12) a dois passos:
J
1
(x
(k1)
)F(x
(k1)
) = y J(x
(k1)
)y = F(x
(k1)
)
e ent ao (2.12) e substitudo por
x
(k)
= x
(k1)
+ y
Algoritmo 2.5 M etodo de Newton para sistemas de equac oes n ao lineares
1. Dados n, x
(0)
, tol, kmax
2. k = 1, . . . , kmax
Calcular F(x
(k1)
) e J(x
(k1)
)
Calcular J(x
(k1)
)y = F(x
(k1)
)
Fazer x
(k)
= x
(k1)
+ y
Se [[y[[ < tol entao acabou senao k k + 1
Aproximac ao inicial Neste tipo de problemas a escolha da aproximac ao inicial pode ser um
problema de difcil resoluc ao. Na pr atica, e frequente existirem processos que permitem, a priori,
determinar boas estimativas para a soluc ao pretendida. Estes processos dependem do problema
em quest ao e como tal n ao s ao passveis de um tratamento generalizado.
No entanto, para sistemas de baixa dimens ao, e possivel obter uma boa aproximac ao inicial
pelo m etodo gr aco, que e simplesmente a generalizac ao do m etodo gr aco em R.
61
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
8 6 4 2 0 2 4 6 8
6
4
2
0
2
4
6
Exerccio 2.6 Considere o sistema n ao linear
_
_
_
x
2
+ y
2
= 9
xy y = 1
Gracamente, mostre que este sistema tem quatro soluc oes, uma das quais em (x

, y

) (3, 0).
E as outras?
Crit erios de paragem Este assunto consiste na generalizac ao do efectuado emR. Seja
_
x
(n)
_
, n =
0, 1, 2, . . . a sucess ao de aproximac oes gerada pelo processo iterativo convergente para a soluc ao
x

do sistema. Os crit erios de paragem mais frequentes s ao:


1. Crit erio do erro absoluto [[x
(n)
x
(n1)
[[
2. Crit erio do erro relativo
[[x
(n)
x
(n1)
[[
[[x
(n)
[[

3. Crit erio do valor da func ao [[F(x
(n)
)[[
4. Crit erio do n umero m aximo de iterac oes: n = n
max
As normas s ao discutidas em 3.2.
Exerccio 2.7 Utilizando o MNt, determine uma aproximac ao para a soluc ao de maior
abcissa do sistema do exerccio 2.6, efectuando duas iterac oes. Indique uma estimativa
para o erro cometido.
62
2.8. Generalizac ao m etodo Newton (senl) Departamento de Matem atica
Resoluc ao: Em SCILAB:
function [y]=f(x)
y1=x(1)
2
+x(2)
2
-9;
y2=x(1)
*
x(2)-x(1)-1;
y=[y1;y2];
endfunction
x0=[3;0];
[xs,fs,info]=fsolve(x0,f)
Obtendo-se ent ao: x

= [2.9561222, 0.5112155]
T
.
Ou ainda:
function [y]=Jf(x)
df1dx1=2
*
x(1);
df1dx2=2
*
x(2);
df2dx1=x(2);
df2dx2=x(1)-1;
y=[df1dx1, df1dx2; df2dx1, df2dx2]
endfunction
x=fsolve(x0,f,Jf)
Utilizando o MNt, temos:
_
_
_
f
1
(x, y) = x
2
+ y
2
9 = 0
f
2
(x, y) = xy y 1 = 0
temos:
F(x, y) =
_
_
x
2
+ y
2
9 = 0
xy y 1 = 0
_
_
J(x, y) =
_
_
2x 2y
y x 1
_
_
Consideremos x
(0)
=
_
5
2
, 1
_
, e calculamos:
F(x
(0)
) =
_
_
7/4
1/2 = 0
_
_
J(x
(0)
) =
_
_
5 2
1 3/2
_
_
63
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
det(J(x
(0)
)) ,= 0. Ent ao J(x
(0)
)y = F(x
(0)
)
_
_
5 2
1 3/2
_
_
[y
1
y
2
] =
_
_
7/4
1/2 = 0
_
_


Determinamos assim y. Depois:
x
(1)
= x
(0)
+ y
.
.
.
Vamos ter de fazer a implementac ao, em SCILAB, do MNt para sistemas.
//Algoritmo de Newton de duas vari aveis function u=f(x,y)
u=x
*
x-y
*
y-9
endfunction
function u=dfdx(x,y)
u=2
*
x;
endfunction
function u=dfdy(x,y)
u=2
*
y;
endfunction
function u=g(x,y)
u=x
*
y-y-1;
endfunction
function u=dgdx(x,y)
u=y;
endfunction
function u=dgdy(x,y)
u=x-1;
endfunction
64
2.8. Generalizac ao m etodo Newton (senl) Departamento de Matem atica
tol=1e-6;
nitmax=20;
xmin=-5; xmax=5; ymin=-6; ymax=6;
xset(window,0), xbasc(0)
xt=1.1:0.1:6;
yt1=(1)./(xt-1);// attention to the asymptot, the interval needs to
be chosen accordingly
plot2d(xt,yt1,rect=[xmin,ymin,xmax,ymax],style=5,frameflag=3)
xt=-6:0.1:0.9;
yt1=(1)./(xt-1);// attention to the asymptot, the interval needs to
be chosen accordingly
plot2d(xt,yt1,rect=[xmin,ymin,xmax,ymax],style=5,frameflag=3)
xpoly([xmin,xmax],[0,0]), xpoly([0,0],[ymin,ymax])//draw a polygon
yt3=-6:0.1:6;
xt3=yt3./yt3;
plot2d(xt3,yt3,3,000)
xt=-4:0.02:4;
yt2=sqrt(9-xt.

2);
plot2d(xt,yt2,style=2)
yt2=-sqrt(9-xt.

2);
plot2d(xt,yt2,style=2)
for j=1:3
a=input(abcissa inicial);b=input(ordenada inicial);
nit=1; xx(1)=a; x=a; yy(1)=b; y=b;
xset(tamanho da marca,1), plot2d(a,b,-3)
u=1;v=1;
while (((abs(u) > tol) | (abs(v) > tol)) & nit < nitmax )
delta=dfdx(x,y)
*
dgdy(x,y)-dfdy(x,y)
*
dgdx(x,y);
u=(g(x,y)
*
dfdy(x,y)-f(x,y)
*
dgdy(x,y))/delta;
v=(f(x,y)
*
dgdx(x,y)-g(x,y)
*
dfdx(x,y))/delta;
nit=nit+1;
x=x+u;
y=y+v;
65
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
y=y+v;
xx(nit)=x;
yy(nit)=y;
xarrows([xx(nit-1),xx(nit)],[yy(nit-1),yy(nit)],0.05,j)
end
end
2.9 Localizac ao e separac ao de razes de equac oes polinomiais - zeros
reais
Suponhamos agora que pretendemos resolver a equac ao alg ebrica p(x) = 0 onde
p(x) = a
0
x
n
+ a
1
x
n1
+ + a
n1
x + a
n
, a
0
,= 0
e um polin omio de grau n de coecientes reais.
Atendendo ` as boas propriedades dos polin omios, e ` a frequ encia com que este problema apa-
rece, e possivel efectuar a localizac ao bem como a aproximac ao de razes de equac oes polinomiais
usando m etodos especcos.
Comecemos com alguns resultados fundamentais, nomeadamente pelo Teorema Fundamental
da

Algebra, devido a Gauss:
Teorema 2.10 (Teorema Fundamental da
`
Algebra) Seja p(x) um polin omio de grau n 1 de
coecientes reais. Ent ao existe x

C tal que p(x

) = 0.
Corol ario 2.3 Se p(x) e um polin omio de grau n de coecientes reais, ent ao p(x) admite n zeros,
reais ou complexos, iguais ou distintos.
Corol ario 2.4 Um polin omio de grau mpar admite pelo menos um zero real.
Para al em do m etodo de Rolle, j a referido, destacam-se alguns processos para a localizac ao de
zeros reais de um polin omio.
Teorema 2.11 (Teorema de Cauchy) Todos os zeros x

do polin omio p(x) =


n

j=0
a
j
x
nj
, com
a
0
,= 0, est ao no interior do circulo (do plano complexo) centrado na origem e raio
R = 1 + max
j=1,...,n
_

a
j
a
0

_
66
2.9. Localizac ao e separac ao de razes Departamento de Matem atica
Corol ario 2.5 Os zeros x

do polin omio p(x) =


n

j=0
a
j
x
nj
, com a
0
,= 0 e a
n
,= 0, est ao no
exterior do circulo (do plano complexo) centrado na origem e raio
r =
1
1 + max
j=0,...,n1
_

a
j
a
n

_
Exemplo 2.9 Localizar os zeros de p(x) = 8x
6
4x
5
22x
4
+ 5x
3
3x
2
+ 9x + 27
Resoluc ao: R = 1 + max
_
27
8
,
9
8
,
3
8
,
5
8
,
22
8
,
4
8
_
= 1 +
27
8
=
35
8
r =
1
1 + max
_
8
27
,
4
27
,
22
27
,
5
27
,
3
27
,
9
27
_ =
1
1
22
27
=
27
49
ent ao 0.55 =
27
44
< [x

[ <
35
8
= 4.375
Regra de sinais de Descartes O n umero np de zeros reais positivos de um polin omio p(x) e
menor ou igual ao n umero de variac oes de sinal dos coecientes de P(x). Mais ainda, np
e um inteiro par positivo. Da mesma maneira, o n umero de zeros reais negativos de P(x) e no
m aximo igual ao n umero de variac oes de sinal dos coecientes de P(x).
Exemplo 2.10 p(x) = x
4
x
3
x
2
+ x 1. Temos ent ao
1. 3 zeros reais positivos um zero real negativo, ou
2. 1 zero real positivo, 1 zero real negativo e dois zeros complexos conjugados.
Teorema 2.12 (Teorema de Newton) Se, emc > 0, o polin omio p(x) =
n

j=0
a
j
x
nj
, coma
0
> 0
e as suas sucessivas derivadas p
j
(x), j = 1, 2, . . . , n 1 s ao n ao negativas, ent ao qualquer zero
real positivo x

de p(x) e inferior a c.
Denic ao 2.4 (Sequ encia de Fourier) Chamamos sequ encia de Fourier de p(x) em[a, b], ` a sequ encia
formada por p e pelas sucessivas derivadas p

, p

, . . . , p
(k)
at e ` a primeira derivada p
(k)
que tem
sinal constante em [a, b].
Teorema 2.13 (Teorema de Fourier) O n umero de razes reais de p(x) = 0 em [a, b], onde
p(a) ,= 0 e p(b) ,= 0, e igual ao n umero de variac oes de sinal perdidas pela sequ encia de Fourier
de p(x) de a para b ou um n umero inferior e da mesma paridade.
67
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
Determinac ao dos zeros No caso de se pretender obter um zero real simples qualquer dos
m etodos apresentados anteriormente s ao v alidos. No entanto para se determinar umzero complexo
o MB n ao pode ser usado. O MNt e MS s o convergir ao para um zero complexo se a aproximac ao
inicial for um complexo (e obviamente forem satisfeitas as condic oes de converg encia) sendo
todo o processo realizado em aritm etica complexa. Note-se que uma vez determinada uma raz
complexa, camos imediatamente a conhecer a sua conjugada.
2.10 Exerccios
1. Usando o m etodo de Rolle, faca a separac ao, em intervalos de amplitude n ao superior a uma
unidade, de todas as razes dos seguintes polin omios:
(a) P(x) = x
3
9x 12
(b) Q(x) = 2x
3
3x
2
+ 6x + 1
(c) R(x) = x
4
4x
3
5
2. Pretende-se construir um tanque c ubico com capacidade de 25000 litros. Calcule uma
aproximac ao para o lado do tanque, usando o m etodo da bissecc ao duas vezes e indique
a precis ao do resultado.
3. Localize gracamente as razes das seguintes equac oes e determine um valor aproximado
de uma delas, utilizando o m etodo da bissecc ao com erro que n ao exceda 0.15:
(a) ln(x 1)
1
x 1
= 0
(b) [x[ e
x
= 0
4. Determine o n umero de iterac oes necess arias para aproximar, pelo m etodo da bissecc ao
com uma precis ao de 10
4
, a soluc ao de x
3
x 1 = 0 no intervalo [1, 2]. Determine tal
aproximac ao com o grau de precis ao indicado.
5. Mostre que x =
1
2
cos x tem uma soluc ao . Obtenha em seguida um intervalo [a, b] que
contenha a referida raz e tal que para todo o x
0
nesse intervalo a sucess ao x
n+1
=
1
2
cos x
n
,
n = 0, 1, 2, . . . convirja para . Justique.
6. Determine todos os zeros de f(x) = x
2
+ 10 cos x, com um erro inferior a 10
4
, usando o
m etodo do ponto xo.
68
2.10. Exerccios Departamento de Matem atica
7. Determine uma aproximac ao para a maior raz de e
x
4x
2
= 0 usando o m etodo do ponto
xo. Indique um majorante para o erro da aproximac ao obtida.
8. Considere a equac ao transcendente x
2
+ 4 [ln [x[[ 4 = 0, para x ,= 0 e real.
(a) Localize gracamente as suas razes
(b) Determine um valor aproximado para a maior delas usando o m etodo de Newton na
segunda aproximac ao.
(c) Indique uma estimativa para o erro cometido.
9. Derive um processo iterativo para calcular a raiz positiva de ndice p de um n umero c > 0,
aplicando o m etodo de Newton ` a equac ao x
p
c = 0.
10. Pretende-se calcular a area limitada superiormente pela recta que passa pelos pontos de
coordenadas (e, 1) e (0, 2) e inferiormente pela curva y = [lnx[.
(a) Determine um intervalo de amplitude n ao superior a 1 que contenha a menor abcissa
dos pontos de intersecc ao das referidas curvas.
(b) Calcule um valor aproximado do limite inferior do intervalo de integrac ao necess ario
para calcular aquela area.
11. Use o m etodo de Newton para aproximar, com erro inferior a 10
4
o valor de x correspon-
dente ao ponto do gr aco de y = x
2
mais pr oximo de (1, 0).
12. Localize gracamente todas as razes reais das equac oes seguintes e aproxime a menor
positiva usando os m etodos de Newton e da bissecc ao:
(a) 2 cos x cosh x = 0
(b) x
2
1 ln(x + 1) = 0
(c) [x[ cos x = 0
(d) ln x e
x
+ 4 = 0
Compare os resultados obtidos.
13. (a) Diga a que condic oes f(x) deve obedecer para que o m etodo de Newton possa ser
aplicado.
(b) Exponha o m etodo em quest ao, fazendo a sua interpretac ao geom etrica, para o caso
em que f

(x) > 0 e f

(x) > 0 num dado intervalo [a, b] onde f(x) = 0 admite uma
unica raiz real . Diga, justicando, qual a ordem de converg encia do m etodo referido.
69
UTAD 2. Soluc ao num erica de equac oes e sistemas n ao lineares
(c) Pretende-se aplicar o m etodo de Newton para aproximar a raiz positiva da equac ao
x
2
10 cos x = 0. Assim:
(i) Separe as razes reais da equac ao existentes no intervalo
_

2
,

2
_
.
(ii) Localize num intervalo I de amplitude n ao superior a
_

2
1
_
radianos.
(iii) Ap os averiguar as condic oes de aplicabilidade do m etodo em quest ao, aplique o
mesmo m etodo, partindo duma aproximac ao inicial x
0
conveniente, e conside-
rando uma toler ancia de 10
3
.
14. Determine a dist ancia mnima, na vertical, entre as curvas denidas por y = e
x
e y = ln(x).
15. Um avi ao em v oo vertical descreve uma traject oria que, para t [0, 1] dado em minutos,
pode ser traduzida pela express ao:
h(t) = (t 1)e
t
t + 3
(a) Aplicando o m etodo de Newton duas vezes, calcule um valor aproximado do instante
em que o avi ao esteve mais pr oximo do solo, no intervalo de tempo dado.
(b) Determine a diferenca m axima de altitude que o avi ao atinge no mesmo intervalo.
16. Pretende-se aproximar as razes da equac ao x
4
3x
2
+ 2x = 0, utilizando a func ao de
iterac ao g(x) =
3x
2
x
4
2
.
(a) Mostre que n ao existe nenhum intervalo para o qual possa ser garantida a converg encia
para a raix x = 1.
(b) Usando o m etodo de Newton poder a garantir a sua converg encia, com a aproximac ao
inicial em [0.85, 1.5]? Justique.
17. Mostre que o m etodo iterativo
x
r+1
=
c
x
p1
r
n ao e utilpara aproximar a raiz de ndice p (p ^, p 2), de um n umero positivo c.
18. Um objecto de massa m = 1Kg e largado de uma altura s
0
= 30m, podendo o espaco
percorrido ap os t segundos ser traduzido por
s(t) = s
0
+
mg
k
t
m
2
g
k
2
(1 e
kt/m
)
onde k = 0.5Kg/seg representa a resist encia do ar e g = 9.8m/seg
2
. Use o m etodo do ponto
xo para aproximar o tempo necess ario para que o objecto atinja o solo.
70
2.10. Exerccios Departamento de Matem atica
19. O sistema
_
_
_
x
2
2x + y
2
3 = 0
x(6 x) + y 9 = 0
tem duas soluc oes, uma das quais e [x y]
t
= [3 0]
t
.
Determine a outra soluc ao do sistema usando o m etodo de Newton em duas aproximac oes.
20. Considere o sistema n ao linear
_
_
_
x
2
+ y
2
= 4
e
x
+ y = 1
. Utilize o m etodo de Newton para
determinar a sua soluc ao (x, y) com abcissa positiva em duas iterac oes.
21. Pretende-se construir uma ponte entre as duas margens de umrio que, por raz oes econ omicas,
seja o mais curta possvel. Sabendo que, na regi ao onde se pretende construir a ponte, as
margens do rio t em a forma das curvas y = e
x
e y = lnx, determine o comprimento da
ponte.
71
Captulo 3
Sistemas de equac oes lineares
A determinac ao da soluc ao de um sistema de equac oes lineares e talvez o problema mais co-
nhecido, e mais estudado, da AN. Estes estudos baseiam-se num conjunto de t ecnicas da

Algebra
Linear, no entanto na pr atica, a resoluc ao de um sistema deste tipo pode colocar quest oes ines-
peradas, como por exemplo certas escolhas dos coecientes que podem levar a problemas mal
condicionados, como ali as vimos um exemplo no Captulo 1.1. Outra diculdade possvel e a
exist encia de sistemas de muito grande dimens ao, resultantes de aplicac oes, como por exemplo os
resultantes de sistemas de equac oes de derivadas parciais ou de certos domnios da econometria.
Podemos ainda obter um sistema supradeterminado, i.e., um sistema onde o n umero de equac oes
excede o n umero de inc ognitas. Para al em de muitos problemas da vida real serem modelados
como sistemas de equac oes lineares (SEL), tamb em outros problemas de AN s ao reduzidos a pro-
blemas deste tipo. Por exemplo, o c alculo dos mnimos quadrados ou a determinac ao da soluc ao
de uma equac ao diferencial. Consideremos ent ao o seguinte problema:
Ax = b com A /
mn
(R), x '
n1
e b '
m1
No que se segue, vamos concentrar-nos no caso m = n.
Proposic ao 3.1 As seguintes condic oes de exist encia de soluc ao unica s ao equivalentes:
A e invertvel.
A e n ao singular.
Ax = 0 e possvel e determinado.
Ax = b e possvel e determinado.
73
UTAD 3. Sistemas de equac oes lineares
V arios s ao os m etodos de resoluc ao deste problema. Nomeadamente, a Regra de Cramer que
na pr atica n ao tem qualquer utilidade, sempre que um sistema tenha ordem superior a tr es. Os
m etodos para resoluc ao dum sistema deste tipo agrupam-se em duas classes fundamentais:
1. M etodos directos: baseiam-se na eliminac ao sucessiva de inc ognitas. Alguns exemplos
deste tipo de m etodos s ao:
da substituic ao
da eliminac ao de Gauss
da factorizac ao LU
da factorizac ao LDU
2. M etodos iterativos, como por exemplo:
de Jacobi
de Gauss-Seidel
A converg encia destes ultimos m etodos nem sempre e assegurada:
3.1 M etodos directos
No que se segue, assumimos o conhecimento dos m etodos directos de resoluc ao de sistemas
de equac oes lineares da

Algebra Linear.
3.1.1 M etodo de Gauss
O M etodo de Gauss consiste em transformar a matriz do sistema A numa matriz triangular,
atrav es das operac oes elementares:
Multiplicac ao de uma linha da matriz A (bem como a correspondente coordenada do vector
b) por uma constante;
Soma ordenada de duas linhas da matriz A, com a posterior substituic ao de uma das linhas
adicionadas (bem como das correspondentes coordenadas do vector b);
Permutac ao de duas linhas da matriz A (bem como das correspondentes coordenadas do
vector b);
74
3.1. M etodos directos Departamento de Matem atica
Segue-se um exemplo cujo objectivo e chamar a atenc ao para o facto de em AN trabalharmos
com uma aritm etica nita. Como tal, a eliminac ao de Gauss, como combinac ao das operac oes
elementares, poder conduzir a problemas num ericos - nomeadamente, propagac ao de erros de
arredondamento ao longo da eliminac ao.
Exemplo 3.1
_

_
0.003x
1
+ 59.14x
2
= 59.17
5.291x
1
6.130x
2
= 46.78
Verique que a soluc ao do sistema e (x
1
, x
2
) = (10, 1). Resolvamos ent ao pela eliminac ao
de Gauss:
L

2
L
2

5.291
0.003
L
1

_
0.003x
1
+ 59.14x
2
= 59.17
104309.3767x
2
= 104309.3767

_
x
1
=
59.1759.14
0.003
x
2
= 1

_
x
1
= 10
x
2
= 1
No entanto se nos c alculos zermos outro tipo de arredondamentos:

_
0.003x
1
+ 59.14x
2
= 59.17
104309.38x
2
= 104402.94
vem x
1
= 7.6818185 e x
2
= 1.0008969!!
Observac ao 3.1 Os erros de arredondamento (ou truncatura) propagam-se proporcionalmente ` a
disparidade entre os dois n umeros x
1
e x
2
.

E ent ao necess ario usar um processo que minimize os
erros resultantes da aritm etica nita.
Processo: Escolha parcial de pivot.
passo i: o candidato a pivot e a
ii
75
UTAD 3. Sistemas de equac oes lineares
Devemos escolher de entre todas as entradas a
ji
, j = i+1, . . . , maquela que apresenta
maior valor absoluto.
Trocamos ent ao a linha-i com a linha j acima seleccionada, e continuamos com a
eliminac ao de Gauss.
Exemplo 3.2
L
2
L
1
_

_
5.291x
1
6.130x
2
= 46.78
0.003x
1
+ 59.14x
2
= 59.17

_
5.291x
1
6.130x
2
46.78
+ 59.14x
2
59.14

=
_

_
x
1
10.00
x
2
1.00
Retomando o exemplo 3.1, em SCILAB, devemos fazemos:
A=[0.003 59.14; 5.291 -6.13]
b=[59.17;46.78]
linsolve(A,-b)
devolvendo a func ao
x =
_
_
10.010382
1.0089613
_
_
.!!!!
Se zermos escolh parcial de pivot, tal como zemos no exemplo 3.2:
A=[ 5.291 -6.13;0.003 59.14]
b=[46.78;59.17]
linsolve(A,-b)
76
3.1. M etodos directos Departamento de Matem atica
devolvendo a soluc ao:
x =
_
_
10
1
_
_
.
3.1.2 M etodo de Gauss-Jordan
O m etodo de Gauss-Jordan consiste em aplicar o m etodo de Gauss ` a matriz aumentada do
sistema.
Em SCILAB fazemos:
A aum=[A b]
obtendo-se:
A
aum
=
_
_
0.003 59.14 59.17
5.291 6.13 46.78
_
_
.
rref(A aum)
obt em-se:
_
_
1 0 10
0 1 1
_
_
.
A terceira coluna fornece a soluc ao do sistema.

E usual, na pr atica, usar outros m etodos sempre que as matrizes t em uma estrutura particu-
lar. Como por exemplo o m etodo de Cholesky para matrizes denidas positivas, ou o m etodo de
Thomas para matrizes tridiagonais, ou o m etodo de Levinson para matrizes T oplitz (ver mais em
[9]).
3.1.3 Escalonamento de matrizes
Denic ao 3.1 Uma matriz diz-se equilibrada ou escalada, quando o n umero 1 e elemento de
todas as linhas da matriz e os restantes elementos t em m odulo n ao superior a 1.
Como se faz o seu escalamento (equilibragem)?
Para cada linha-i da matriz, seleccionamos o maior elemento em valor absoluto e dividimos a
linha por esse valor (com sinal).
Fazemos ent ao:
A=[ -5.291/6130, 1;3/59140 1]
77
UTAD 3. Sistemas de equac oes lineares
b=[-46.78/6130;59170/59140]
linsolve(A,-b)
Obtemos a seguinte soluc ao do sistema Ax = b:
x =
_
_
1103.1662
0.9445469
_
_
Igualmente errado!!!
Observac ao 3.2 A an alise do condicionamento da matriz deve ser feita a partir da matriz esca-
lada.
Denic ao 3.2 O n umero de condic ao da matriz invertvel A e o n umero real
cond(A) = [[A[[ [[A
1
[[.
Observac ao 3.3
Podemos usar diferentes normas, mas a escolha da norma e irrelevante nas conclus oes a
tirar.
Valores pequenos do n umero de condic ao da matriz A indicam que o sistema Ax = b n ao e
mal condicionado, mas o contr ario nem sempre e verdade.
Em SCILAB
cond(A) = 2188.5212
det(A) = 331299.74
det(A

(-1)) = 0.0000030
norm(A) = 59456.846
det(A

(-1)) = 0.1794654
Alguns indicadores de mau condicionamento de uma matriz:
Determinante da matriz muito pr oximo de zero.
Elementos de A
1
com ordem de grandeza muito diferente de A.
Pequenas variac oes de A provocam grandes variac oes de A
1
.
78
3.2. Normas vectoriais, matriciais e valores pr oprios Departamento de Matem atica
3.2 Normas vectoriais, matriciais e valores pr oprios
Denic ao 3.3 (Norma) Consideremos o espaco R
n
. Seja x R
n
e x = (x
1
, x
2
, . . . , x
n
). Cha-
mamos norma em R
n
a uma aplicac ao [[ [[ : R
n
R
+
0
, tal que:
1. [[x[[ 0, x R
n
, e [[x[[ = 0 x = 0 (positividade),
2. [[x[[ = [[[[x[[, R, x R
n
(homogeneidade positiva),
3. [[x + y[[ [[x[[ +[[y[[, x, y R
n
(desigualdade triangular).
Seguem-se exemplos de algumas normas:
Exemplo 3.3
1. [[x[[
1
=
n

i=1
[x
i
[ norma 1 (ou norma absoluta)
2. [[x[[
2
=
_
n

i=1
[x
i
[
2
_
1/2
norma 2 (ou norma euclideana)
3. [[x[[

= max
i=1,...,n
[x
i
[ norma innito
Teorema 3.1 x = (x
1
, . . . , x
n
) R
n
[[x[[

[[x[[
2

n[[x[[

.
Demonstrac ao: Suponhamos que [[x[[

= max
i=1,...,n
[x
i
[ = [x
j
[ para algumj 1, . . . , n.
Ent ao
[[x[[
2

= [x
j
[
2

n
i=1
[x
i
[
2
= [[x[[
2
2
donde resulta
[[x[[

[[x[[
2
. (3.1)
Por outro lado,
[[x[[
2
2
=
n

i=1
[x
i
[
2
n max
i=1,...,n
[x
i
[
2
= n[[x[[
2

donde
[[x[[
2

n[[x[[

(3.2)
De (3.1) e (3.2), temos ent ao:
[[x[[

[[x[[
2

n[[x[[

, x R
n
.
79
UTAD 3. Sistemas de equac oes lineares

Com base no conceito de norma, introduzimos o conceito de dist ancia entre dois pontos de R
n
:
Denic ao 3.4 (Dist ancia) Sendo x, y R
n
, dene-se dist ancia entre x e y como sendo o real n ao
negativo [[x y[[ .
Denic ao 3.5 (Sucess ao emR
n
) Uma sucess ao em R
n
e um vector x
(k)
=
_
x
(k)
1
, . . . , x
(k)
n
_
com
n componentes, em que cada componente e uma sucess ao de R.
Denic ao 3.6 (Sucess ao emR
n
convergente) Uma sucess ao de vectores de R
n
, x
(k)
, diz-se con-
vergente para x

R
n
, e escreve-se lim
k
x
(k)
= x

, sse para todo > 0 existe uma ordemk


0
N
tal que para k k
0
se tem [[x
(k)
x

[[ < .
Uma condic ao necess aria e suciente para que uma sucess ao em R
n
seja convergente e dada
no seguinte teorema:
Teorema 3.2 Relativamente a qualquer uma das normas [[ [[
1
, [[ [[
2
e [[ [[

, uma sucess ao x
(k)
de vectores de R
n
e convergente para x

= (x
1
, . . . , x
n
) se e s o se x
(k)
i
x
i
, i = 1, 2, . . . , n.
No que se segue, /
n
(R) denota o conjunto das matrizes quadradas de ordem n e de entradas
reais.
Denic ao 3.7 (Norma de uma matriz) Uma aplicac ao [[[[ : /
n
(R) R
+
0
diz-se uma norma
em /
n
(R) se verica as seguintes condic oes:
1. [[A[[ 0, A /
n
(R) e [[A[[ = 0 A = 0
2. [[A[[ = [[[[A[[, A /
n
(R), R
3. [[A + B[[ [[A[[ +[[B[[, A, B /
n
(R)
De entre as normas matriciais, iremos considerar aquelas que s ao induzidas por uma norma vec-
torial ( e usual chamar a este tipo de normas, normas naturais).
Teorema 3.3 Seja [[ [[
v
(onde v = 1, ou 2) uma norma de R
n
. A aplicac ao de /
n
(R) em
R
+
0
denida por
[[A[[
m
= sup
xR
n
{0}
[[Ax[[
v
[[x[[
v
, A /
n
(R)
e uma norma em /
n
(R).
80
3.2. Normas vectoriais, matriciais e valores pr oprios Departamento de Matem atica
Demonstrac ao: Exerccio.
Observac ao 3.4 [[A[[

= max
||x||

=1
[[Ax[[

= max
1in
n

j=1
[a
ij
[ (o m aximo da soma dos m odulos
por linha)
[[A[[
2
= max
||x||
2
=1
[[Ax[[
2
[[A[[
1
= max
||x||
1
=1
[[Ax[[
1
= max
1jn
n

i=1
[a
ij
[ (o m aximo da soma dos m odulos por coluna)
Exerccio 3.1 Determine a norma 1 e a norma innito da seguinte matriz:
A =
_

_
1 2 1
0 3 1
5 1 1
_

_
i = 1

3
j=1
[a
1j
[ = 1 + 2 + 1 = 4
i = 2

3
j=1
[a
2j
[ = 3 + 1 = 4
i = 3

3
j=1
[a
3j
[ = 5 + 1 + 1 = 7
_

_
=[[A[[

= 7
j = 1

3
i=1
[a
i1
[ = 1 + 5 = 6
j = 2

3
i=1
[a
i2
[ = 2 + 3 + 1 = 6
j = 3

3
i=1
[a
i3
[ = 3
_

_
=[[A[[
1
= 6
Observac ao 3.5 As normas matriciais mais comuns s ao as induzidas pelas normas vectoriais
[[ [[
1
e [[ [[

.
A seguinte propriedade e v alida para o tipo de normas denido no teorema 3.3. Designada-
mente:
[[AB[[
m
[[A[[
m
[[B[[
m
A, B /
n
(R)
Denic ao 3.8 (Sucess ao convergente de matrizes) A sucess ao de matrizes
_
A
(m)
_
de /
n
(R)
converge para A /
n
(R) se para todo > 0 existe uma ordem m
0
N tal que para m m
0
se tem
[[A
(m)
A[[ <
Para as normas [[ [[
1
e [[ [[

e v alida a seguinte caracterizac ao:


81
UTAD 3. Sistemas de equac oes lineares
Teorema 3.4 A sucess ao de matrizes
_
A
(m)
_
de /
n
(R), com A
(m)
=
_
a
(m)
ij
_
, converge para
A = [a
ij
] /
n
(R), relativamente ` as normas [[ [[
1
e [[ [[

se e s o se lim
m
a
(m)
ij
= a
ij
para
todo i, j 1, . . . , n.
Denic ao 3.9 Seja A /
n
(R).
Ao polin omio de grau n, P() = det(AI), chama-se polin omio caracterstico da matriz
A.

`
A equac ao det(AI) = 0 d a-se o nome de equac ao caracterstica da matriz A.

`
As razes da equac ao caracterstica chamam-se valores pr oprios da matriz A e denotam-se,
geralmente, pela letra.
Ao vector x ,= 0, x R
n
: Ax = x chama-se vector pr oprio de A associado a .
A max [[ : e valor pr oprio de A chama-se raio espectral da matriz A e denota-se por
(A).
(Atenc ao: Se e um n umero complexo, i.e., se = a + ib ent ao [[ =

a
2
+ b
2
.)
Teorema 3.5 (Teorema de Gershgorin) Os valores pr oprios da matriz A = [a
ij
] /
n
(R)
pertencem ` a uni ao dos crculos centrados em a
ii
e raio r
i
=

j=i
[a
ij
[, i, j = 1, . . . , n.
Teorema 3.6
(1)
_
(A
T
A)

1/2
= [[A[[
2
;
(2) (A) [[A[[ qualquer que seja a norma induzida.
Dada uma matriz, podemos considerar a pot encia m de A, A
m
. Suponhamos agora que esta-
mos interessados em estudar o comportamento de A
m
quando m .
Dizemos que A e uma matriz convergente sse lim
m
A
m
= 0, i.e., lim
m
(A
m
)
ij
= 0, ou seja o
elemento (i, j) de A
m
converge para zero quando m .
Exemplo 3.4
A =
_

_
1
2
0
1
4
1
2
_

_
; A
m
=
_

_
_
1
2
_
m
0
m
2
m+1
_
1
2
_
m
_

_
lim
m
1
2
m
= 0 = lim
m
m
2
m+1
=lim
m
A
m
= 0

82
3.3. M etodo da Pot encia (MP) Departamento de Matem atica
Nos esquemas iterativos do Captulo 3, uma das nossas preocupac oes ser a garantir que a matriz
do sistema converge para zero, e tal vai ser conseguido estudando o raio espectral.
Teorema 3.7 As seguintes armac oes s ao equivalentes:
A e uma matriz convergente;
lim
m
[[A
m
[[ = 0, para alguma norma natural;
lim
m
[[A
m
[[ = 0, para todas as normas naturais;
(A) < 1;
lim
m
A
m
x = 0 x R
n
.
3.3 M etodo da Pot encia (MP)
Teorema 3.8 Seja A /
n
(R) uma matriz com n valores pr oprios distintos,
1
,
2
, . . . ,
n
.
Ent ao o conjunto de vectores pr oprios que lhe est ao associados, x
(1)
, x
(2)
, . . . , x
(n)
e linearmente
independente.
H a tr es formas diferentes de calcular o raio espectral:
C alculo das razes da equac ao caracterstica
M etodo da Pot encia (MP)
Formas can onicas da matriz (diagonal, triangular, tridiagonal, Hessenberg )
O MP calcula uma aproximac ao para o valor pr oprio de A de maior amplitude.
Consideremos as seguintes hip oteses:
A /
n
(R) tem n valores pr oprios distintos (e ent ao o conjunto
_
x
(1)
, x
(2)
, . . . , x
(n)
_
e
linearmente independente)
A tem precisamente um valor pr oprio de magnitude superior a todos os outros, i. e.,
[
1
[ > [
2
[ [
n
[
Seja y um vector de R
n
tal que y =
n

j=1

j
x
(j)
,
j
R. Ent ao
Ay =
n

j=1

j
Ax
(j)
=
n

j=1

j
x
(j)
,
83
UTAD 3. Sistemas de equac oes lineares
A
2
y =
n

j=1

j
A
2
x
(j)
=
n

j=1

2
j
x
(j)
,
.
.
.
A
m
y =
n

j=1

j
A
m
x
(j)
=
n

j=1

m
j
x
(j)
Obtivemos desta forma a sucess ao y
(m)
= A
m
y, m = 0, 1, 2, . . ..
Por outro lado, os n vectores pr oprios x
(j)
, j = 1, . . . , n, podem escrever-se, relativamente ` a
base can onica:
x
(1)
= x
11
e
1
+ x
21
e
2
+ + x
n1
e
n
x
(2)
= x
12
e
1
+ x
22
e
2
+ + x
n2
e
n
.
.
.
x
(n)
= x
1n
e
1
+ x
2n
e
2
+ + x
nn
e
n
.
Ent ao
y
(m)
= A
m
y = (
m
1
,
m
2
, . . . ,
m
n
)
_

1
x
(1)
,
2
x
(2)
, . . . ,
n
x
(n)
_
=
m
1

1
x
(1)
+
m
2

2
x
(2)
+ +
m
n

n
x
(n)
=
m
1

1
(x
11
e
1
+ x
21
e
2
+ + x
n1
e
n
) +
+
m
2

2
(x
12
e
1
+ x
22
e
2
+ + x
n2
e
n
) + +
+
m
n

n
(x
1n
e
1
+ x
2n
e
2
+ + x
nn
e
n
) ,
e assim as i- esima e (i + 1)- esima coordenadas de y
(m)
s ao dadas, respectivamente, por
y
(m)
i
= (
m
1

1
x
i1
+
m
2

2
x
i2
+ +
m
n

n
x
in
)
y
(m+1)
i
=
_

m+1
1

1
x
i1
+
m+1
2

2
x
i2
+ +
m+1
n

n
x
in
_
Obt em-se assim a seguinte relac ao:
y
(m+1)
i
y
(m)
i
=
1 +

m+1
2

2
x
i2

m+1
1

1
x
i1
+ +

m+1
n

n
x
in

m+1
1

1
x
i1
1 +

m
2

2
x
i2

m
1

1
x
i1
+ +

m
n

n
x
in

m
1

1
x
i1


m+1
1

1
x
i1

m
1

1
x
i1
=
1
1+

m+1

2
x
i2

1
x
i1
++

m+1

n
x
in

1
x
i1
1+

2
x
i2

1
x
i1
+

n
x
in

1
x
i1
Lembrando que [
1
[ > [
j
[, j = 2, . . . , n, obt em-se
lim
m
y
(m+1)
i
y
(m)
i
=
1
.
84
3.3. M etodo da Pot encia (MP) Departamento de Matem atica
Armamos assim que para m sucientemente grande
y
(m+1)
i
y
(m)
i

1
.
Podemos ent ao considerar a aproximac ao
1

1
n
_
n

i=1
y
(m+1)
i
y
(m)
i
_
.
Consideremos em Scilab a seguinte implementac ao do MP:
A=[1 2; 3 1]
y=[-1;0.1]
xbasc(0)
xsetech([0,0,1,1],[-1.1,-1.1,0.15,0.15])
plot2d(0,0,style=-1,frameflag=0)
xarrows([0,y(1)],[0,y(2)],0.05)
xstring(y(1),y(2)-0.1,string(0))
for i=1:8
y=A
*
y;
coef=max(abs(y))
y=y/coef
xarrows([0,y(1)],[0,y(2)],0.05,i+1)
xstring(y(1),y(2)-0.1,string(i))
end
3.3.1 C alculo do vector pr oprio associado a
1
Vimos que
A
m
y =
n

j=1

m
j
x
(j)
=
1

m
1
x
(1)
+
n

j=2

m
j
x
(j)
=
m
1
_
_

1
x
(1)
+
n

j=2

j
_

1
_
m
x
(j)
_
_
tomando limites quando m +, temos
A
m
y
1
m

1
x
(1)
.
85
UTAD 3. Sistemas de equac oes lineares
Observac ao 3.6 Se x
(1)
e o vector pr oprio de A associado ao valor pr oprio
1
, ent ao
1
x
(1)
e
ainda vector pr oprio de A associado a
1
e portanto podemos escrever A
m
y
m
1
x
(1)
.
Vamos considerar um caso mais geral, em que o valor pr oprio de maior amplitude pode n ao
ser unico, mas antes, tem multiplicidade s:

1
=
2
= =
s
e [
1
[ = [
2
[ = = [
s
[ > [
s+1
[
Seguindo igual procedimento, temos:
y
(m+1)
i
y
(m)
i
=

m+1
1

1
x
i1
+
m+1
2

2
x
i2
+ +
m+1
n

n
x
in

m
1

1
x
i1
+
m
2

2
x
i2
+ +
m
n

n
x
in
=

m+1
1
_

s
j=1

j
x
ij
_
+

n
j=s+1

j
x
ij

m+1
j

m
1
_

s
j=1

j
x
ij
_
+

n
j=s+1

j
x
ij

m
j
=

m+1
1
_
1 +

n
j=s+1
_

j
x
ij
P
s
j=1

j
x
ij
_

j

1
m+1
_

m
1
_
1 +

n
j=s+1
_

j
x
ij

s
j=1

j
x
ij
_

j

1
m
_
1
quando m .
Portanto
y
(m+1)
i
y
(m)
i

1
, i = 1, . . . , n
e ent ao

1

1
n
n

i=1
y
(m+1)
i
y
m
i
Exemplo 3.5 Determine uma aproximac ao do raio espectral da seguinte matriz
A =
_

_
4 1 0
1 2 1
0 1 1
_

_
.
Seja y = (1, 1, 1) (qualquer vector pode ser escrito como combinac ao linear dos vectores
pr oprios de A).
y Ay A
2
y . . . A
8
y A
9
y A
10
y
1 5 202833 905238 4038939
1 4 93906 417987 1862460
1 1 27342 121248 539235
86
3.3. M etodo da Pot encia (MP) Departamento de Matem atica
ent ao

1

1
3
_
y
(m+1)
1
y
m
1
+
y
(m+1)
2
y
m
2
+
y
(m+1)
3
y
m
3
_
=
1
3
_
4038939
905238
+
1862460
417987
+
539235
121248
_
= 4.45.
Observac ao 3.7 Recorde ainda que:
1. Os valores pr oprios de A
m
s ao
m
1
, . . . ,
m
n
, ou seja a pot encia-m dos valores pr oprios de
A.
2.
m
1
+ . . . +
m
n
= a
11
+ . . . + a
nn
. .
traco de A
3.3.2 Acelerac ao do m etodo:
Consideremos a sucess ao de matrizes
A, A
2
, . . . , A
2k
Sabemos que
_
_
_
tr(A) =

n
i=1

i
tr(A
m
) =

n
i=1

m
i
m=2k
ent ao tr(A
m
) =
m
1
+ . . . +
m
n
=
m
1
_
1 +
_

1
_
m
+ . . . +
_

1
_
m
_
=
m
_
tr(A
m
) = [
1
[
_
1 +

m
+ . . . +

m
_
1/m
=
1/m
_
tr(A
m
) = [
1
[
ou seja [
1
[
1/m
_
tr(A
m
).
Temos ent ao uma forma mais r apida de determinar
1
. Mas podemos ainda evitar o c alculo
da raz de ndice 1/m. . .
tr(A
m+1
)
tr(A
m
)
=

m+1
1
+
m+1
2
+ . . . +
m+1
n

m
1
+
m
2
+ . . . +
m
n

1
ent ao
1

tr(A
m+1
)
tr(A
m
)
.
87
UTAD 3. Sistemas de equac oes lineares
3.4 M etodos iterativos
Consideremos um sistema linear do tipo Ax = b, onde A e uma matriz quadrada. A matriz
A pode ser escrita de innitas formas, em particular na forma A = N P,onde N e uma matriz
invertvel. Ent ao:
Ax = b (N P)x = b Nx = Px + b x = N
1
P
. .
M
x + N
1
b
. .
c
x = Mx + c.
Construimos assim o processo iterativo
x
(k)
= Mx
(k1)
+ c, k = 1, 2, . . .
x
(k)
= M
k
x
(0)
+ c, k = 1, 2, . . .
sendo x
(0)
um vector arbitr ario. x
(k)
e a aproximac ao de ordem k e M e a chamada matriz de
iterac ao.
Denic ao 3.10 Seja x

a soluc ao de Ax = b e x
(k)
a aproximac ao de ordem k dada pelo m etodo
iterativo. A e
(k)
= x

x
(k)
chamamos erro da iterac ao k. O m etodo iterativo x
(k)
= Mx
(k1)
+c
diz-se convergente sse lim
k
e
(k)
= 0. Caso contr ario diz-se divergente.
O seguinte teorema fornece uma condic ao necess aria e suciente de converg encia do m etodo
iterativo:
Teorema 3.9 O MI converge qualquer que seja x
(0)
, se e s o se
lim
k
M
k
= 0.
Demonstrac ao: De (3.3), temos que:
x
(k)
= Mx
(k1)
+ c e x

= Mx

+ c
Ent ao
e
(k)
= x

x
(k)
= M
_
x

x
(k1)
_
= Me
(k1)
= M
2
_
x

x
(k2)
_
= M
k
_
x

x
(0)
_
= M
k
e
(0)
, k = 1, 2, . . . .
Fazendo k , obt em-se lim
k
e
(k)
= 0, ou seja, o m etodo converge qualquer que seja a
aproximac ao inicial x
(0)
.
Do teorema 3.7 e do teorema anterior resulta:
88
3.4. M etodos iterativos Departamento de Matem atica
Teorema 3.10 (Condic ao necess aria e suciente de converg encia) O MI converge para qual-
quer x
(0)
se e s o se (M) < 1.
Segue-se uma condic ao suciente de converg encia, em que a norma matricial utilizada e a norma
induzida pela norma vectorial relativamente ` a qual se estuda a converg encia.
Teorema 3.11 (Condic ao suciente de converg encia) Se [[M[[ < 1 ent ao o MI converge qual-
quer que seja a proximac ao inicial x
(0)
, e tem-se
[[x

x
(n)
[[ [[M[[
n
[[x

x
(0)
[[
[[x

x
(n)
[[
[[M[[
n
1 [[M[[
[[x
(1)
x
(0)
[[
Demonstrac ao: Do atr as dito, e f acil concluir que
[[e
(k)
[[ [[M[[
k
[[e
(0)
[[, k = 1, 2, . . .
Atendendo a que [[M[[ < 1, temos ent ao que:
lim
k+
[[e
(k)
[[ = 0,
o que prova a converg encia do m etodo iterativo.
Para provar a segunda proposta de majorante do erro, notemos que, sendo m > n,
ent ao:
x
(m)
x
(n)
=
m

j=n+1
x
(j)
x
(j1)
donde resulta
[[x
(m)
x
(n)
[[ =
m

j=n+1
[[x
(j)
x
(j1)
[[.
Por outro lado,
x
(j)
x
(j1)
= M
(j1)
[[x
(1)
x
(0)
[[.
89
UTAD 3. Sistemas de equac oes lineares
pelo que:
[[x
(m)
x
(n)
[[
_
_
m

j=n+1
[[M[[
j1
_
_
[[x
(1)
x
(0)
[[
= [[M[[
n
_
mn1

0
[[M[[
j
_
[[x
(1)
x
(0)
[[
[[M[[
n
_

0
[[M[[
j
_
[[x
(1)
x
(0)
[[
=
[[M[[
n
1 [[M[[
[[x
(1)
x
(0)
[[
Considerando k +obtemos o pretendido.

Observac ao 3.8
1. O MI e convergente se e s o se (M) < 1
2. [[M[[ < 1, ent ao o MI e convergente
3. [[M[[ 1, ent ao nada se pode concluir.
Os crit erios de paragem s ao os mesmos referidos na secc ao 2.8. Isto e, considerando uma
dada toler ancia, temos:
[[x
(k)
x
(k1)
[[

[[x
(k)
x
(k1)
[[
[[x
(k)
[[
.
Atendendo a que
x
(k)
x

= M
_
x
(k1)
x

_
+ c,
isto e

e
(k)

[[M[[

e
(k1)

, k = 1, 2, . . .
facilmente se conclui que ordem dum m etodo deste tipo e 1.
Observac ao 3.9 A matriz de iterac ao do m etodo e N
1
P. Dado ser possvel obter diferentes
partic oes da matriz A = N P, facilmente se conclui que podemos obter diferentes m etodos.
Segue-se o primeiro desses m etodos, o M etodo de Jacobi.
90
3.4. M etodos iterativos Departamento de Matem atica
3.4.1 M etodo de Jacobi (MJ)
Consideremos o sistema linear Ax = b e A escrita na forma A = D L U, onde
D =
_

_
a
11
0 . . . 0
0 a
22
0 . . .
0 . . .
.
.
.
0
0 . . . 0 a
nn
_

_
; L =
_

_
0 0 . . . 0
a
21
0 0 . . .
.
.
.
.
.
.
0
a
1n
. . . a
1n1
0
_

_
; U =
_

_
0 a
12
. . . a
1n
0 0 a
23
.
.
.
.
.
.
.
.
.
a
n1n
0 . . . 0 0
_

_
.
Ent ao
Ax = b (D L U)x = b Dx = (L + U)x = b x = D
1
(L + U)x + D
1
b
isto e
x
(k)
= D
1
(L + U)
. .
M
x
(k1)
+ D
1
b,
em que M e a matriz de iterac ao.
Observac ao 3.10
1. Para que o MI seja aplic avel, ter-se- a que vericar a
ii
,= 0, i. Se i tal que a
ii
= 0, temos
que efectuar troca de linhas de forma a que esta situac ao deixe de se vericar;
2. Tamb em devemos efectuar troca de linhas de forma a termos na diagonal os elementos de
maior amplitude possvel (adiante veremos porqu e).
Exemplo 3.6 Consideremos o sistema cuja soluc ao exacta sabemos ser x = (1, 1, 1).
_

_
10x
1
+ x
2
+ x
3
= 12
x
1
5x
2
+ 2x
3
= 2
x
1
+ x
2
+ 3x
3
= 5
e x
(0)
= (0, 0, 0), pois na pr atica e costume tomar-se este valor.
_

_
10 1 1
1 5 2
1 1 3
_

_
. .
A
_

_
x
1
x
2
x
3
_

_
. .
x
=
_

_
12
2
5
_

_
. .
b
D =
_

_
10 0 0
0 5 0
0 0 3
_

_
; L =
_

_
0 0 0
1 0 0
1 1 0
_

_
; U =
_

_
0 1 1
0 0 2
0 0 0
_

_
91
UTAD 3. Sistemas de equac oes lineares
M = D
1
(L + U) =
_

_
0
1
10

1
10
1
5
0
2
5

1
3

1
3
0
_

_
e d = D
1
b =
_

_
12
10
2
5
5
3
_

_
Temos ent ao:
x
(k)
=
_

_
0
1
10

1
10
1
5
0
2
5

1
3

1
3
0
_

_
_

_
x
1
x
2
x
3
_

_
+
_

_
12
10
2
5
5
3
_

_
x
(1)
=
_
12
10
,
2
5
,
5
3
_
x
(2)
=
_
149
150
,
98
75
,
17
15
_
.
.
.
Calcule uma estimativa para o erro.
Assim, para o MI de Jacobi, podemos concretizar alguns resultados de converg encia referidos
anteriormente.
Teorema 3.12 Seja A /
n
(R) n ao singular coma
ii
,= 0, i = 1, . . . , n e b R
n
. Consideremos
em A a partic ao A = D L U, onde D = matriz diagonal, L = matriz triangular inferior e
U = matriz triangular superior.
1. Se

D
1
(L + U)

1, ent ao para x
(0)
R
n
, o MI Jacobi gera uma sucess ao vectorial
que converge para a soluc ao unica de Ax = b.
2. O MI de Jacobi gera uma sucess ao vectorial convergente para a soluc ao unica de Ax = b,
x
(0)
se e s o se
_
D
1
(L + U)
_
< 1.
Denic ao 3.11 (Matriz estritamente diagonal dominante) Uma matriz A /
n
(R) diz-se es-
tritamente diagonal dominante por linhas se
[a
ii
[ >
n

j = 1
j ,= i
[a
ij
[, i = 1, . . . , n.
Como consequ encia do Teorema de Gershgorin (Teorema 3.5), temos o pr oximo teorema que
fornece uma condic ao apenas suciente de converg encia, mas de aplicac ao pr atica imediata:
Teorema 3.13 Se A e estritamente diagonal dominante por linhas (ou por colunas) ent ao o MI de
Jacobi gera uma sucess ao de aproximac oes que converge para a soluc ao unica do sistema Ax = b
qualquer que seja a aproximac ao inicial x
(0)
.
92
3.4. M etodos iterativos Departamento de Matem atica
Demonstrac ao: Considere-se que os valores pr oprios de M est ao contidos na uni ao
dos circulos centrados em zero e raio
r
i
=

j=i

a
ij
a
ii

=
1
[a
ii
[

j=i
[a
ij
[ < 1
e como A e estritamente diagonal dominante, ent ao n ao existe valor pr oprio cujo valor
absoluto seja superior a 1 =(M) < 1.
3.4.2 M etodo de Gauss-Seidel (MGS)
Consideremos novamente o sistema linear Ax = b agora com a partic ao A = D L U. Ent ao
Ax = b x = (D L)
1
Ux + (D L)
1
b,
isto e
x
(k)
= (D L)
1
U
. .
M
x
(k1)
+ (D L)
1
b
. .
c
ou ainda
(I D
1
L)x = D
1
Ux + D
1
b
donde
x
(k)
= D
1
Lx
(k)
. .
novo
+D
1
Ux
(k1)
. .
velho
+D
1
b
Exemplo 3.7 Retomemos o exemplo 3.6. Se o reescrevermos na forma iterativa de
Gauss-Seidel, temos:
_

_
1 0 0

1
5
1 0
1
3
1
3
1
_

_
_

_
x
(m)
1
x
(m)
2
x
(m)
3
_

_
=
_

_
0
1
10

1
10
0 0
2
5
0 0 0
_

_
_

_
x
(m1)
1
x
(m1)
2
x
(m1)
3
_

_
+
_

_
6
5
2
5
5
3
_

_
, m = 1, 2, . . .
com x
(0)
= (0, 0, 0) vem x
(1)
=
_
6
5
,
16
25
,
79
75
_
. . .
Concretizemos agora alguns resultados de converg encia para o MGS:
Teorema 3.14 Seja A /
n
(R) n ao singular coma
ii
,= 0, i = 1, . . . , n e b R
n
. Consideremos
em A a partic ao A = D L U, como no Teorema 3.12.
1. Se

(I D
1
L)
1
D
1
U

1, ent ao para x
(0)
R
n
, o MGS gera uma sucess ao
vectorial que converge para a soluc ao unica de Ax = b.
93
UTAD 3. Sistemas de equac oes lineares
2. O MGS gera uma sucess ao vectorial convergente para a soluc ao unica de Ax = b, x
(0)
se
e s o se
_
(I D
1
L)
1
D
1
U
_
< 1.
Teorema 3.15 (Condic ao suciente de converg encia) Se A e estritamente diagonal dominante
por linhas (ou por colunas) ent ao o MGS gera uma sucess ao de aproximac oes que converge para
a soluc ao unica do sistema Ax = b qualquer que seja a aproximac ao inicial x
(0)
.
3.5 Exerccios
1. Dadas as matrizes
A =
_

_
1 0 5
2 1 0
3 1 3
_

_
B =
_

1
2
4 3
0 1 3
3 1 2
_

_
C =
_

_
0.1 0.3 0.4
0.4 0 0.1
0 0.2 0
_

_
a) Calcule [[A[[

,[[A[[
1
, [[B[[

e [[B[[
1
.
b) Apenas calculando [[C[[
1
que pode dizer da converg encia da matriz C?
2. Calcule o raio espectral das seguintes matrizes
A =
_

_
2 0 2
1 1 1
3 0 4
_

_
B =
_

_
1
3
0
1
3
0
2
5
0
3
4
1
3
4
_

_
C =
_

_
2 0 1
2 2
1
4
1 0 0
_

_
Quais destas matrizes s ao convergentes?
3. Calcule o limite de cada uma das sucess oes de matrizes
(A
n
)
n
=
_

_
1
4
n
0 5 +
1
n
1
(1)
n
n
1

1
n
2
ln(5)
n
0
_

_
(B
n
)
n
onde B =
_
_
1
2
0
0
cos(5)
3
_
_
4. Aplicando o m etodo de Jacobi, determine a soluc ao do sistema seguinte comecando com
uma aproximac ao inicial X
(0)
= [0 0 0]
T
_

_
3 1 1
3 6 2
3 3 7
_

_
_

_
x
1
x
2
x
3
_

_
=
_

_
1
0
4
_

_
5. Considere o sistema
_

_
x +5y +2u = 8
x +y +3z = 0
4x y +z u = 3
2x y +z +8u = 10
94
3.5. Exerccios Departamento de Matem atica
Conclua, a partir da matriz do sistema, se pode tirar conclus oes sobre a converg encia do
m etodo iterativo de Jacobi. Em caso negativo, reescreva o sistema de forma a poder deter-
minar a sua soluc ao pelo referido m etodo.
6. Considere o sistema de equac oes lineares
_

_
20x +2y +6z = 38
x +20y +9z = 23
2x 7y 20z = 57
a) Decomponha a matriz do sistema tendo em vista a utilizac ao do m etodo de Gauss-
Seidel para a resoluc ao aproximada do sistema.
b) Aplicando a alnea anterior, verique se o referido m etodo e convergente.
c) Calcule, aplicando o m etodo de Gauss-Seidel, a soluc ao do sistema em duas iterac oes.
7. Considere o sistema Ax = b, com
A =
_

_
2.7 0
10 10 3
4 2.4 2
_

_
, b =
_

_
1
0
1
_

_
e x =
_

_
x
1
x
2
x
3
_

_
a) Diga, justicando, que valores pode tomar o par ametro de modo a poder aplicar o
m etodo iterativo de Jacobi na aproximac ao da resoluc ao do sistema dado.
b) Da an alise directa da matriz A (com = 10) que pode concluir a respeito da con-
verg encia da sucess ao de aproximac oes geradas pelo m etodo?
c) Mostre que a sucess ao referida na alnea anterior e convergente para a soluc ao do
sistema e determine um valor aproximado da soluc ao, aplicando duas vezes o m etodo
iterativo de Jacobi.
8. Pretende-se resolver o sistema
_
_
2 1/2
a 3
_
_
_
_
x
1
x
2
_
_
=
_
_
5/2
1/2
_
_
aplicando um dos m etodos iterativos estudados.
95
UTAD 3. Sistemas de equac oes lineares
a) Justicando, determine o menor valor inteiro positivo de a, por forma a poder garan-
tir que a sucess ao de aproximac oes geradas pelos referidos m etodos convirja para a
soluc ao.
b) Apartir da aproximac ao [x
1
, x
2
]
T
= [5/4, 1/4]
T
, execute o n umero de aproximac oes
necess arias para que o erro entre duas aproximac oes consecutivas n ao exceda 510
2
,
quando se utiliza o m etodo de Jacobi.
c) Nas condic oes da anea anterior, aplique o m etodo de Gauss-Seidel e compare os
resultados.
9. Considere o sistema Ax = b onde
A =
_

_
2 0 4
1/2 4 16
3 1 16
_

_
, b =
_

_
1
0
1
_

_
e x =
_

_
x
1
x
2
x
3
_

_
a) Construa a matriz de iterac ao, M, do m etodo de Jacobi para o sistema dado.
b) Escreva a equac ao caracterstica da matriz M e mostre que (M) < 1.
c) Aproxime a soluc ao do sistema, aplicando o m etodo de Jacobi, indicando o valor da
norma de

Ax
(2)
b

para essa aproximac ao.


10. Seja M =
_

_
1 3 0
0 1 2
1 2 2
_

_
a) Determine a equac ao caracterstica de M e, a partir dela, localize e separe os valores
pr oprios de M, enunciando os teoremas que utilizou.
b) Suponha que M e a matriz de iterac ao de um m etodo iterativo que aproxima a soluc ao
dum sistema linear Ax = b. A partir das alneas anteriores, que conclus oes pode
tirar quanto ` a converg encia deste m etodo iterativo? Justique convenientemente a sua
resposta.
c) Determine o raio espectral de M, utilizando o m etodo da pot encia.
11. Pretende-se resolver o sistema linear
_
_
1 a
a 1
_
_
x = b pelo m etodo iterativo
_
_
1 0
a 1
_
_
x
(k+1)
=
_
_
0 a
0 0
_
_
x
(k)
+ b
a) Para que valores de a e o m etodo convergente? Justique.
96
3.5. Exerccios Departamento de Matem atica
b) Considerando a = 1/2 e b = (1, 3)
T
determine a soluc ao aproximada do sistema
usando o m etodo de Gauss-Seidel. Indique o erro obtido ao m de duas iterac oes.
12. Seja A =
_
_
4 6
2 5
_
_
a) Determine o raio espectral de A.
b) Pretende-se resolver o sistema Ax = b pelo m etodo de Jacobi. Que conclus oes pode
tirar, do resultado da alnea anterior, acerca da converg encia deste m etodo?
c) Suponha que ao resolver um sistema do tipo Cx = f, pelo m etodo de Gauss-Seidel, a
matriz de iterac ao resultante e a matriz A. Que pode armar sobre a converg encia do
mesmo m etodo?
13. Considere o sistema
_
_
_
a
11
x
1
+a
12
x
2
= b
1
a
21
x
1
+a
22
x
2
= b
2
Suponha que utilizou o seguinte processo iterativo para obter aproximac oes da soluc ao do
sistema:
_
_
_
x
(n+1)
1
=
1
a
11
_
b
1
a
12
x
(n)
2
_
x
(n+1)
2
=
1
a
22
_
b
2
a
21
x
(n)
1
_
Mostre que uma condic ao necess aria e suciente para a converg encia do m etodo e:

a
12
a
21
a
11
a
22

< 1.
97
Captulo 4
Interpolac ao polinomial
Antes do advento dos computadores digitais, o c alculo de func oes tais com lnx, sin x ou
tan x era feito atrav es da consulta de tabelas. Estas tabelas, laboriosamente construidas ao longo
dos anos, s o podiam conter um n umero nito de dados. Tal facto levantava de imediato a quest ao
de como calcular a func ao se o argumento n ao gurasse na tabela. Dever-se-ia utilizar o valor
mais pr oximo? Qual seria ent ao o erro cometido? Existir ao melhores t ecnicas de aproximac ao?
O aparecimento dos computadores digitais veio retirar import ancia ` as tabelas. Tal facto, no
entanto, n ao veio diminuir o interesse pela interpolac ao, pois que a interpolac ao e um meio rela-
tivamente simples de aproximar func oes, sendo por outro lado a base te orica de muitos captiulos
da AN tais como, a derivac ao num erica, integrac ao num erica, resoluc ao num erica de equac oes
diferenciais e outros. Uma aplicac ao da interpolac ao, nos tempos que correm, e o CAD (design
geom etrico por computador), onde os splines c ubicos s ao largamente utilizados.
Exemplo 4.1 Nos EUA, um censo da populac ao toma lugar de dez em dez anos. A se-
guinte tabela consiste num registo da populac ao, em milhares, desde 1940 a 1990.
Ano 1940 1950 1960 1970 1980 1990
Populac ao 132 165 151 326 179 323 203 302 226 542 249 633
Ser a que estes dados podem ser usados para obter uma estimativa razo avel da
populac ao em 1965? ou em 2000?
Se conseguirmos arranjar uma func ao que satisfaca este conjunto de dados (Interpolac ao), e
possivel determinar uma estimativa para os valores requeridos.
99
UTAD 4. Interpolac ao polinomial
Seja (x
i
, y
i
), i = 0, . . . , n, um conjunto de valores em que as abcissas x
i
, i = 0, . . . , n est ao
ordenadas por ordem crescente. A determinac ao de uma func ao que aproxima outra pode ser feita
em dois contextos diferentes:
(i) A express ao geral da func ao inicial e desconhecida, sendo conhecida apenas num conjunto
de pontos. Isto e, admitamos os valores x
i
e y
i
, i = 0, . . . , n relacionados por uma func ao
f desconhecida, isto e, f(x
i
) = y
i
, i = 0, . . . , n.
(ii) A func ao inicial f e conhecida, mas a sua express ao analtica e bastante complicada, o que
torna difcil o seu manuseamento. Calculamos y
i
= f(x
i
), i = 0, . . . , n. Este problema
reduz-se a (i).
Em ambos os casos, pretendemos determinar f(x) com x ,= x
i
, i = 0, . . . , n. Mais for-
malmente, a teoria da interpolac ao permite resolver o problema anterior aproximando f por uma
func ao g pertencendo a uma classe de func oes T previamente escolhida e tomando, em seguida,
f(x) igual a g(x) com x = x
i
, i = 0, 1, . . . , n.
Consideremos ent ao uma func ao y = f(x) e uma outra func ao g(x; a
0
, a
1
, . . . , a
n
), depen-
dente de x e de n par ametros a
0
, a
1
, . . . , a
n
, o problema da interpolac ao consiste em determinar
os par ametros a
0
, a
1
, . . . , a
n
de tal forma que se veriquem as n + 1 condic oes de interpolac ao:
f(x
i
) = g(x
i
; a
0
, a
1
, . . . , a
n
), i = 0, . . . , n. (4.1)
No que se segue utilizar-se- ao indiferentemente as notac oes f(x
i
) = f
i
= y
i
;
Neste contexto, algumas quest oes pertinentes s ao as seguintes:
1. Como escolher a classe T?
2. Como determinar g T?
3. Como avaliar o erro f( x) g( x), x ,= x
1
, x
2
. . . , x
n
?
Relativamente ` a primeira destas quest oes, a classe de func oes mais usada na aproximac ao
acima referida s ao os polin omios
g(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
,
100
Departamento de Matem atica
as func oes trigonom etricas e/ou exponenciais
g(x) = a
0
+ a
1
e
ix
+ a
2
e
2ix
+ + a
n
e
nix
e as func oes racionais:
g(x; a
0
, a
1
, . . . , a
n
, b
0
, b
1
, . . . , b
m
) =
a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
b
0
+ b
1
x + b
2
x
2
+ + b
m
x
m
,
sendo, no entanto, os polin omios as mais frequentemente consideradas uma vez que a derivada
e o integral indenido de polin omios e f acil de calcular e o resultado e ainda um polin omio.
Consequentemente, iremos considerar a classe dos polin omios de grau menor ou igual a n, T
n
,
e falaremos ent ao em interpolac ao polinomial. No que diz respeito ` a quest ao 2, determinamos
P T
n
tal que
P(x
i
) = f(x
i
), i = 0, . . . , n.
Este polin omio e chamado polin omio interpolador de f nos pontos x
i
, i = 0, . . . , n, e aos
pontos x
i
d a-se o nome de pontos de interpolac ao. O estudo da quest ao 3 e feito mais ` a frente,
aquando da constuc ao do polin omio interpolador. A Figura 4.1 ilustra o conceito de polin omio
interpolador.
Figura 4.1: Representac ao de um polin omio interpolador.
Se x
i
[a, b], ent ao P(x) f(x) em [a, b], i.e., podemos tomar P(x) para aproximar f(x)
em todo o intervalo.
Observac ao 4.1 Comparativamente, o polin omio de Taylor apresentado no Captulo 1.1 e pedra
basilar da AN, consiste numa boa aproximac ao mas numa vizinhanca pr oxima de um ponto es-
pecco. Enquanto que um polin omio interpolador deve fornecer uma boa aproximac ao em todo
o intervalo de interpolac ao.
101
UTAD 4. Interpolac ao polinomial
Dados n + 1 pontos, podemos escrever o polin omio interpolador de grau menor ou igual a n :
p(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
.
Aplicando as condic oes de interpolac ao, p(x
i
) = y
i
, e considerando as func oes da base:
f
0
(x) = 1, f
1
(x) = x, f
2
(x) = x
2
, . . . , f
n
(x) = x
n
obtemos a seguinte matriz do sistema, a que chamamos matriz de van der Monde:
A =
_

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

_
Ao m etodo acabado de descrever, chama-se m etodo dos coecientes indeterminados. Passamos
de seguida ` a sua implementac ao em SCILAB:
//contruir a matriz de vandermonde
function a=basismatrix(x)
n=length(x);
a=zeros(n,n);
for j=1:n
a(:,j)=x.

(j-1)
end
endfunction
//construir o polinomio interpolador a partir da matriz de vandermonde
function a=polyinterp(x,y)
aa=basismatrix(x)
a=aa y;
endfunction
Consideremos o seguinte exemplo
x
i
1 2 3 4 5 6
y
i
1.9 2.7 4.8 5.3 7.1 9.4
x=linspace(1,6,6);
y=[1.9 2.7 4.8 5.3 7.1 9.4];
102
Departamento de Matem atica
a=polyinterp(x,y)
Obtemos ent ao os seguintes valores:
a =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
20.6
40.241667
29.820833
9.6291667
1.4291667
0.0791667
_
_
_
_
_
_
_
_
_
_
_
_
_
_
ou seja, o seguinte polin omio interpolador:
p(x) = 20.6 40.24x + 29.82x
2
9.63x
3
+ 1.43x
4
0.08x
5
.
Agora denimos uma func ao que calcule o valor do polin omio nos pontos de interpolac ao:
//utilizando o metodo de Horner
function yy=polyeval(a,xx)
n=length(a);
yy=zeros(xx);
for i=n:-1:1
yy=(yy).
*
xx+a(i)
end
endfunction
xx=(1:0.01:6);
yy=polyeval(a,xx);
plot2d(xx,yy)
plot2d(x,y,style=-1)
e podemos desta forma obter uma representac ao gr aca do polin omio p(x) no intervalo [1, 6] :
Na pr atica este m etodo nunca se usa, dado serem conhecidos outros algoritmos mais est aveis
e/ou mais ecientes. Tais algoritmos, descobertos por matem aticos c elebres do s eculo passado,
103
UTAD 4. Interpolac ao polinomial
1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0
1
2
3
4
5
6
7
8
9
10
Figura 4.2: Representac ao gr aca do polin omio interpolador.
apresentam-se aparentemente de formas muito diferentes. Mas, na realidade, como provaremos
mais ` a frente, o polin omio interpolador e unico!
Segue-se o primeiro m etodo de determinac ao do polin omio interpolador.
4.1 Forma interpoladora de Lagrange
Seja f uma func ao denida num intervalo [a, b] e neste intervalo consideremos n pontos distintos
a x
0
< x
1
< < x
n1
< x
n
b.
Pretendemos construir um polin omio P(x), de grau menor ou igual a n, que satifaca as condic oes
P(x
i
) = f(x
i
), i = 0, 1, . . . , n
e estudar o seu comportamento em [a, b].
Comecemos ent ao por considerar as func oes
l
i
(x) =

j=0
j=i
x x
j
x
i
x
j
. .
polin omios
de Lagrange
, i = 0, . . . , n (4.2)
Os polin omios de Lagrange t em grau n e vericam:
l
i
(x
j
) =
ij
=
_
_
_
1, i = j
0, i ,= j.
104
4.1. Forma interpoladora de Lagrange Departamento de Matem atica
Teorema 4.1 (Teorema da exist encia e unicidade) Seja f uma func ao denida em [a, b] e a
x
0
< x
1
< < x
n1
< x
n
b. Ent ao existe um polin omio de grau n, unico, tal que
P(x
i
) = f(x
i
), i = 0, 1, . . . , n
Demonstrac ao: Comecemos por provar a exist encia de tal polin omio.
Sejam l
i
(x
j
) os polin omios de Lagrange de grau n denidos por (4.2).
Construindo o polin omio de grau inferior ou igual a n da seguinte forma: P(x) =
n

j=0
f(x
j
)l
j
(x),
facilmente se mostra que P(x
i
) = f(x
i
), i = 0, . . . , n.
Ocupemo-nos agora da unicidade. Para tal, suponhamos que existem dois po-
lin omios P(x) e Q(x), ambos de grau menor ou igual a n e ambos satisfazendo as
condic oes de interpolac ao, isto e:
P(x
i
) = Q(x
i
) = f(x
i
), i = 0, 1, . . . , n.
Seja R(x) = P(x) Q(x), x [a, b]. Obviamente R(x) tem grau inferior ou igual a
n e como R(x
i
) = 0, i = 0, . . . , n, este polin omio tem n + 1 zeros. Ent ao s o poder a ser
R(x) = 0 P(x) = Q(x).
Exerccio 4.1 Considerando os pontos x
0
= 2, x
1
= 2.5 e x
2
= 4, determine o polin omio
interpolador de maior grau para a func ao f(x) =
1
x
.
Observac ao 4.2 Opolin omio interpolador P
n
(x) e, por abuso de linguagem, chamado polin omio
interpolador de Lagrange, uma vez que e construdo combase nos polin omios de Lagrange. Outras
designac oes existem para o mesmo polin omio, estando todas elas sempre relacionadas com o
processo de construc ao do mesmo polin omio.
Em SCILAB poder a resolver este problema da seguinte forma:
function [y]=fn(x)
y=1./x;
endfunction
npts=3;
lim=npts;
105
UTAD 4. Interpolac ao polinomial
xp=[2 2.5 4];
function y=Lagrange(x)
pl=zeros(1,npts)
for i=1:lim
L(i,1:npts)=ones(1,npts)
for k=1:lim
if k <> i
L(i,:)=L(i,:).
*
(x-xp(k))/(xp(i)-xp(k))
end
end
L(i,:)=L(i,:).
*
fn(xp(i))
pl=pl+L(i,:)
y=pl(1)
end
endfunction
x=linspace(0.1,5,20);
fplot2d(x,fn)
fplot2d(x,Lagrange, style=3)
Obtemos ent ao o seguinte gr aco:
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
0
1
2
3
4
5
6
7
8
9
10
Vamos responder agora ` a quest ao Qual o comportamento de P(x) relativamente a f(x)
quando x ,= x
i
, i = 0, 1, . . . , n?
106
4.1. Forma interpoladora de Lagrange Departamento de Matem atica
Teorema 4.2 (Teorema do erro do polin omio de Lagrange) Seja f C
n+1
[a, b] e a x
0
<
x
1
< < x
n1
< x
n
b. Seja P
n
(x) o polin omio interpolador de f nos pontos (x
i
, f(x
i
)) , i =
0, 1, . . . , n. Ent ao x [a, b] (x) (a, b) tal que
f(x) P
n
(x) =
f
(n+1)
()
(n + 1)!
n

j=0
(x x
j
) (4.3)
Demonstrac ao: Aperceba-se de que o objectivo da demonstrac ao e garantir que
[a, b] que verica (4.3).
Consideremos ent ao a func ao auxiliar
g(t) = [f(t) P
n
(t)] [f(x) P
n
(x)]
n

j=0
t x
j
x x
j
Observemos que g C
n+1
[a, b] e g tem n + 2 zeros (t = x e as n + 1 abcissas de
interpolac ao). Ent ao pelo T. Rolle generalizado, concluimos que g
(n+1)
tem pelo menos
1 zero em (a, b), isto e, (x) (a, b). Seja ent ao
g
(n+1)
() = 0 g
(n+1)
() = f
(n+1)
() [f(x) P
n
(x)]
d
n+1
dt
n+1
n

j=0
t x
j
x x
j
. .
(n+1)!
Q
n
j=0
1
xx
j
Temos ent ao
0 = f
(n+1)
() [f(x) P
n
(x)] (n + 1)!
n

j=0
1
x x
j
=f(x) P
n
(x) = f
(n+1)
()
1
(n + 1)!
n

j=0
(x x
j
)

Dado n ao conhecermos exactamente [a, b], e impossvel calcular o erro a partir de (4.3).
Passemos ent ao a determinar um majorante para o erro.
Se existir M > 0 tal que

f
(n+1)
(x)

M, x [a, b] (4.4)
ent ao dado x [a, b] e x ,= x
i
, i = 0, 1, 2, . . . , n,
[f( x) P
n
( x)[ =

f
(n+1)
()

(n + 1)!
n

j=0
[ x x
j
[
M
(n + 1)!
n

j=0
[ x x
j
[ .
107
UTAD 4. Interpolac ao polinomial
Como
[x x
j
[ b a, j = 0, . . . , n, x [a, b]
ent ao
[f( x) P
n
( x)[
M
(n + 1)!
(b a)
n+1
, x [a, b]. (4.5)
A estimativa do erro calculada usando esta desigualdade e, geralmente, bastante grosseira.
Observac ao 4.3 Esta desigualdade e utilizada para determinar o polin omio interpolador que
tenha em qualquer ponto do intervalo [a, b] um erro inferior a . Isto e,
M
(n + 1)!
(b a)
n+1
<
e, considerando uma partic ao n ao uniforme, temos ainda que:

j=0
(x x
j
)

h
n+1
4
n! com h = max
i
[x
i
x
i1
[ (4.6)
Demonstrac ao: Provemos (4.6) por induc ao:
Com n = 1, temos [(x x
0
)(x x
1
)[ = (x a)(x b) = g(x)
donde g

(x) = 2x + (a + b), logo g

(x) = 0 x =
a + b
2
e g

(x) = 2 < 0,
temos ent ao que g(x) max g(x) = g
_
a + b
2
_
= (
a + b
2
a)(
a + b
2
b) =
h
2
4
Passemos ` a 2
a
parte da prova:
HIP:

n
j=0
(x x
j
)


h
n+1
4
n!
TESE:

n+1
j=0
(x x
j
)


h
n+2
4
(n + 1)!
DEM: Se x [a, b], ent ao x [a, x
n
] ou x [x
n
, b]
Se x [a, x
n
], ent ao

n+1

j=0
(x x
j
)

j=0
(x x
j
)

. .

h
n+1
4
n!
[x x
n+1
[
. .
|x
0
x
n+1
|
(n+1)h
(n + 1)!
h
n+2
4
Se x [x
n
, b], ent ao

n+1

j=0
(x x
j
)

= [x x
0
[
. .
(n+1)h|

n+1

j=1
(x x
j
)

. .
h
n+1
4
n!
(n + 1)!
h
n+2
4

O resultado que acab amos de provar pode ser formulado como um corol ario do Teorema 4.2.
108
4.1. Forma interpoladora de Lagrange Departamento de Matem atica
Corol ario 4.1 Seja f C
n+1
[a, b] e tal que

f
(n+1)

M, x [a, b].
Em [a, b] consideremos a partic ao a x
0
< x
1
< < x
n
b e h = max
i=1,...,n
(x
i
x
i1
).
Seja P
n
(x) o polin omio interpolador de Lagrange nos (n + 1) pontos x
i
, i = 0, 1, . . . , n.
Ent ao
[f(x) P
n
(x)[
M
4(n + 1)
h
n+1
, x [a, b]
Corol ario 4.2 Nas condic oes do Teorema 4.2, mas considerando uma partic ao uniforme, isto e,
x
i
x
i1
=
b a
n
, i = 1, . . . , n,
e sendo P
n
(x) o polin omio interpolador de Lagrange nos (n + 1) pontos x
i
, i = 0, 1, . . . , n
tem-se
[f(x) P
n
(x)[
M
4(n + 1)n
n+1
(b a)
n+1
, x [a, b]
Este corol ario pode ser usado para:
estimar o erro cometido ao substituir f por o polin omio interpolador de Lagrange, em qual-
quer ponto de [a, b].
determinar o grau do polin omio interpolador de Lagrange que aproxima f, em [a, b], com
erro inferior a .
Exerccio 4.2 Retomando o exerccio 4.1,
(a) Aproxime f(3), utilizando o polin omio interpolador determinado no exerccio ante-
rior.
(b) Determine qual deve ser o grau do polin omio interpolador de modo a que o erro
cometido ao aproximar f por esse polin omio seja inferior a 10
2
.
Quais os factores que v ao inuenciar o erro?
(1) A derivada. Consideremos por exemplo a func ao de Runge
1
1 + 25x
2
x [1, 1]. De-
termine as sucessivas derivadas desta func ao e repare que, atendendo a (4.4), o valor de M
e tanto maior quanto maior for a ordem da derivada, pelo que tendo em conta (4.3), o erro
tamb em aumenta;
109
UTAD 4. Interpolac ao polinomial
(2) A escolha dos pontos da partic ao;
(3) O grau do polin omio.
Exemplo 4.2 Este exemplo ilustra o ponto (2). Seja
1
1 + 25x
2
, x [1, 1].
1. Consideremos a partic ao: 1,
3
4
,
1
2
,
1
4
, 0,
1
4
,
1
2
,
3
4
, 1. Com estes 9 pontos cons-
truimos o polin omio interpolador de grau 8, P
8
, e determinamos o respectivo erro
E
8
= [P
8
f(x)[, cujo comportamento est a representado na Figura 4.3.
2. Consideremos agora uma outra partic ao: 1,
7
8
,
5
8
,
1
2
, 0,
1
2
,
5
8
,
7
8
, 1. Construmos
um novo polin omio interpolador P

8
e determinamos o erro E

8
= [P

8
f(x)[, cujo
comportamento est a representado na segunda coluna da Figura 4.3.
Conclus ao: O m aximo do valor absoluto do erro absoluto e menor quando os pontos da
partic ao cam perto dos extremos dos intervalos.
1.0 0.8 0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0
1.5
1.0
0.5
0.0
0.5
1.0
1.5
1.0 0.8 0.6 0.4 0.2 0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Figura 4.3: Polin omio interpolador de grau 8 e o respectivo erro (a vermelho)
function y=runge(x)
y=(1)./(1+25
*
(x).

2)
endfunction
xx=(-1:0.01:1);
x=[-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1]
y=runge(x);//cria o vector y
a=polyinterp(x,y); //determina a forma do polinomio interpolador
yy=polyeval(a,xx);//Determinar o valor do polinomio nos pontos de
110
4.1. Forma interpoladora de Lagrange Departamento de Matem atica
interpolacao
subplot(1,2,1)
plot2d(xx,yy)
plot2d(x,y,style=-1)
O seguinte exerccio ilustra o ponto (3).
Exerccio 4.3 Considerando os pontos
x f(x)
1.0 0.7651977
1.3 0.620086
1.6 0.4554022
1.9 0.2818186
2.2 0.1103623
Pretendemos calcular uma aproximac ao para f(1.5) utilizando polin omios de La-
grange de diversos graus.
Grau 1:
P
1
(x) = 0.620086
x 1.6
1.3 1.6
+ 0.4554022
x 1.3
1.6 1.3
P(1.5) = 0.5102968
Grau 2:
P
2
(1.5) = 0.7651977
(1.5 1.3)(1.5 1.6)
(1 1.3)(1 1.6)
+ 0.620086
(1.5 1)(1.5 1.6)
(1.3 1)(1.3 1.6)
+0.4554022
(1.5 1)(1.5 1.3)
(1.6 1)(1.6 1.3)

P
2
(1.5) = 0.620086
(1.5 1.6)(1.5 1.9)
(1.3 1.6)(1.3 1.9)
+ 0.4554022
(1.5 1.3)(1.5 1.9)
(1.6 1.3)(1.6 1.9)
+0.2818186
(1.5 1.3)(1.5 1.6)
(1.9 1.3)(1.9 1.6)
Grau 3: consideram-se as partic oes: 1, 1.3, 1.6, 1.9 ou 1.3, 1.6, 1.9, 2.2. Ent ao:
P
3
(1.5) = 0.5118127
e

P
3
(1.5) = 0.5118302
111
UTAD 4. Interpolac ao polinomial
Grau 4:
P
4
(1.5) = 0.5118200
Temos ent ao:
[P
1
(1.5) f(1.5)[ 1.5 10
3
[P
2
(1.5) f(1.5)[ 6.44 10
4
[P
3
(1.5) f(1.5)[ 2.58 10
6

P
3
(1.5) f(1.5)

1.5 10
5
[P
4
(1.5) f(1.5)[ 7.7 10
6
P
4
e menos preciso do que P
3
.
Conclus ao:O aumento do grau n ao garante uma melhor precis ao. Fundamental e
ainda a escolha dos pontos.
Em SCILAB, implementamos P
4
da seguinte forma:
npts=5;
lim=npts;
xp=[1 1.3 1.6 1.9 2.2];
fn=[0.7651977, 0.620086, 0.4554022, 0.2818186, 0.1103623];
function y=Lagrange(x)
pl=zeros(1,npts);
for i=1:lim
L(i,1:npts)=ones(1,npts) ;
for k=1:lim
if k <> i
L(i,:)=L(i,:).
*
(x-xp(k))/(xp(i)-xp(k));
end
end
L(i,:)=L(i,:).
*
fn(i);
pl=pl+L(i,:);
y=pl(1);
112
4.2. F ormula interpoladora de Newton (DD) Departamento de Matem atica
end
endfunction
plot2d(xp,fn)
fplot2d(xp,Lagrange, style=3)
Lagrange(1.5)
Exerccio 4.4 Proceda ` a implementac ao em SCILAB dos restantes polin omios e represente-
os gracamente, bem como aos respectivos erros.
4.2 F ormula interpoladora de Newton das diferencas divididas
A determinac ao do polin omio interpolador de uma func ao usando os polin omios de Lagrange e
desvantajoso por duas raz oes distintas: (i) exige um grande esforco computacional e (ii) n ao per-
mite obter o polin omio interpolador de grau n a partir do de grau n 1. Vejamos ent ao outra
forma de construir o polin omio interpolador.
Consideremos a partic ao do intervalo [a, b], a x
0
< x
1
< < x
n
b, e seja P
n
o
polin omio interpolador de grau n. Escrevendo P
n
na forma:
P
n
(x) = a
0
+ a
1
(x x
0
) + a
2
(x x
0
)(x x
1
) + + a
n
(x x
0
) (x x
n1
),
determinemos os a
i
, i = 0, . . . , n de acordo com as condic oes de interpolac ao:
a
0
: P
n
(x
0
) = f(x
0
) = a
0
= f(x
0
) = P
n
(x
0
)
a
1
: P
n
(x
1
) = f(x
1
) = P
n
(x
1
) = a
0
+ a
1
(x
1
x
0
)
f(x
1
) = f(x
0
) + a
1
(x
1
x
0
)
= a
1
=
f(x
1
) f(x
0
)
x
1
x
0
= f[x
0
, x
1
]
. .
diferenca
dividida de
ordem 1
113
UTAD 4. Interpolac ao polinomial
a
2
: P
n
(x
2
) = f(x
2
)
P
n
(x
2
) = a
0
+ a
1
(x
2
x
0
) + a
2
(x
2
x
0
)(x
2
x
1
)
f(x
2
) f(x
1
) = f(x
1
) + f(x
0
) + f[x
0
, x
1
](x
2
x
0
) + a
2
(x
2
x
0
)(x
2
x
1
)

f(x
2
) f(x
1
)
x
2
x
1
=
f(x
1
) f(x
0
)
x
2
x
1
+ f[x
0
, x
1
]
x
2
x
0
x
2
x
1
+ a
2
(x
2
x
0
)
f[x
1
, x
2
] =
f(x
1
) f(x
0
)
x
2
x
1
x
1
x
0
x
1
x
0
+
f(x
1
) f(x
0
)
x
1
x
0
x
2
x
0
x
2
x
1
+ a
2
(x
2
x
0
)
f[x
1
, x
2
] =
f(x
1
) f(x
0
)
x
1
x
0
x
1
x
0
x
2
x
1
+
f(x
1
) f(x
0
)
x
1
x
0
x
2
x
0
x
2
x
1
+ a
2
(x
2
x
0
)
f[x
1
, x
2
] = f[x
0
, x
1
]
x
1
x
0
x
2
x
1
+ f[x
0
, x
1
]
x
2
x
0
x
2
x
1
+ a
2
(x
2
x
0
)
f[x
1
, x
2
] = f[x
0
, x
1
]
x
2
x
0
x
1
+ x
0
x
2
x
1
+ a
2
(x
2
x
0
)
f[x
1
, x
2
] = f[x
0
, x
1
] + a
2
(x
2
x
0
)

f[x
1
, x
2
] f[x
0
, x
1
]
x
2
x
0
= a
2
= f[x
0
, x
1
, x
2
]
. .
diferenca
dividida de
ordem 2
.
.
.
P
n
(x) = f(x
0
)+f[x
0
, x
1
](xx
0
)+f[x
0
, x
1
, x
2
](xx
0
)(xx
1
)+ +f[x
0
, x
1
, . . . , x
n
]
. .
diferenca
dividida de
ordem n
(xx
0
) (xx
n1
)
(4.7)
Observac ao 4.4 Consideremos as func oes:

0
(x) = 1 e
j
(x) =
j1

i=0
(x x
i
) , j = 1, . . . , n
O conjunto
j
(x), j = 0, . . . , n constitui uma base do espaco T
n
(espaco dos polin omios de
grau inferior ou igual a n). Logo, para qualquer polin omio P
n
existem n + 1 constantes a
j
, j =
0, . . . , n tal que P
n
(x) =
n

j=0
a
j

j
(x).
Observac ao 4.5 A diferenca dividida de ordem k 2 e denida em func ao das diferencas divi-
didas de ordem k 1 atrav es de:
f [x
i
, x
i+1
, . . . , x
i+k+1
] =
f [x
i+1
, x
i+1
, . . . , x
i+k+1
] f [x
i
, x
i+1
, . . . , x
i+k
]
x
i+k+1
x
i
, k N
114
4.2. F ormula interpoladora de Newton (DD) Departamento de Matem atica
Assim sendo, o polin omio (4.7) pode ser escrito na forma:
P
n
(x) = f(x
0
) +
n

j=1
f [x
0
, . . . , x
j
]
j1

i=0
(x x
i
) . (4.8)
A este polin omio chamamos Polin omio interpolador de Newton.
Notemos ainda que:
P
n+1
(x) = P
n
(x) + f [x
0
, . . . , x
j
]
j1

i=0
(x x
i
) . (4.9)
O c alculo das das diferencas divididas de diferentes ordens pode ser sistematizado numa tabela,
como a apresentada na Tabela 4.1
x
i
f(x
i
) f[, ] f[, , ] f[, , , ] f[, , , , ]
x
0
f(x
0
)
f(x
1
) f(x
0
)
x
1
x
0
= f[x
0
, x
1
]
x
1
f(x
1
)
f[x
1
, x
2
] f[x
0
, x
1
]
x
2
x
0
= f[x
0
, x
1
, x
2
]
f(x
2
) f(x
1
)
x
2
x
1
= f[x
1
, x
2
] f[x
0
, x
1
, x
2
, x
3
]
x
2
f(x
2
)
f[x
2
, x
3
] f[x
1
, x
2
]
x
3
x
1
= f[x
1
, x
2
, x
3
] f[x
0
, x
1
, x
2
, x
3
, x
4
]
f(x
3
) f(x
2
)
x
3
x
2
= f[x
2
, x
3
] f[x
1
, x
2
, x
3
, x
4
]
x
3
f(x
3
)
f[x
3
, x
4
] f[x
2
, x
3
]
x
4
x
2
= f[x
2
, x
3
, x
4
]
f(x
4
) f(x
3
)
x
4
x
3
= f[x
3
, x
4
]
x
4
f(x
4
)
Tabela 4.1: Tabela das Diferencas Divididas
Exemplo 4.3 Considerando a seguinte tabela de pontos, determine o respectivo polin omio
interpolador das diferencas divididas :
x
i
0 0.25 0.5
f(x
i
) 1 1.5 1.75
Com base na seguinte tabela:
x
i
f(x
i
) f[, ] f[, , ]
x
0
= 0 f(x
0
) = 1
f(x
1
) f(x
0
)
x
1
x
0
=
1.5 1
0.25
= 2
x
1
= 0.25 f(x
1
) = 1.5
f[x
1
, x
2
] f[x
0
, x
1
]
x
2
x
0
=
2 1
0.5
= 2
f(x
2
) f(x
1
)
x
2
x
1
=
1.75 1.5
0.25
= 1
x
2
= 0.5 f(x
2
) = 1.75
construimos assim o polin omio:
P
2
(x) = f(0) +f[0, 0.25](x 0) +f[0, 0.25, 0.5](x 0)(x 0.25) = 1 +2x +2x(x 0.25)

115
UTAD 4. Interpolac ao polinomial
Em SCILAB podemos fazer:
x=[0 0.25 0.5]; // pontos de interpol.
y=[1 1.5 1.75];
neff=input("ordem da interpol.= ");//ordem do polinomio
//calculo das dif divididas
for i=1:neff+1
t(i)=y(i);
for j=i-1:-1:1
t(j)=(t(j+1)-t(j))/(x(i)-x(j))
end
a(i)=t(1);
end
pol=a(neff+1);
z=linspace(-1,3);
for i=neff:-1:1
pol=pol.
*
(z-x(i))+a(i);
end
rect=[-3,4,0,10];
plot2d(z,[pol,exp(z)])
Pol Newton
f
Erro da aprox
1.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
30
20
10
0
10
20
30
Exerccio 4.5 Resolva em SCILAB os seguintes exemplos. Pretende-se obter uma representac ao
gr aca do polin omio interpolador.
116
4.2. F ormula interpoladora de Newton (DD) Departamento de Matem atica
1.
x
i
10 9 8 4 2 3
f( x
i
) 0.1 0.3 0.4 0.9 0.8 0.5
2.
x
i
0 1 2 3 4 5 6
f( x
i
) 1 1 1 1 1 1 1
3. x [5, 5] e y =
1
x
2
+ 1
.
4. x [5, 5], x
i
= 5 sin ( 5 + i) i = 0, 1, . . . , 10 e y =
1
x
2
+ 1
.
Segue-se uma nova vers ao da implementac ao de problemas deste tipo em SCILAB, onde se opta
por implementar directamente a tabela das diferencas divididas:
function inter(X,Y)
//determinar o tamanho dos dados, max e min
n=size(X,2);//so interessa uma das dimensoes
least=X(1);
most=X(1);
for i=2:n
if (X(i)<least)
least=X(i)
end
if (X(i)>most)
most=X(i)
end
end
//make table of divided differences
table=zeros(n,n);
table(:,1)=Y;
for i=2:n
for j=i:n
table(j,i)=(table(j,i-1)-table(j-1,i-1))/(X(j)-X(j-i+1))
end
end
117
UTAD 4. Interpolac ao polinomial
//make graph of the polynomial using Horners method and plot
x=[0:100]
*
(most-least)/100+least
y=table(n,n);
for i=1:(n-1)
y=(y).
*
(x-X(n-i))+table(n-i,n-i)
end
xbasc(0);
plot2d(X,Y,style=-1)
plot2d(x,y,style=4)
endfunction
X=[10 9 8 4 2 3]; //as abcissas x nao necessitam de estar ordenadas
Y=[0.1 0.3 0.4 0.9 0.8 0.5];
inter(X,Y)
2 3 4 5 6 7 8 9 10
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Algumas propriedades das diferencas divididas
1. A diferenca dividida f[x
i
, x
i+1
, . . . , x
i+k
] n ao e alterada qualquer que seja a permutac ao de
x
i
, x
i+1
, . . . , x
i+k
que se considere.
2. Considerem-se k + 1 pontos: (x
i
, f(x
i
)) , (x
i+1
, f(x
i+1
)) , . . . , (x
i+k
, f(x
i+k
)) . Ent ao e
possvel escrever o polin omio interpolador de Newton de grau k, cujo coeciente do termo
de maior grau e f[x
i
, x
i+1
, . . . , x
i+k
].
118
4.2. F ormula interpoladora de Newton (DD) Departamento de Matem atica
3. f

(x) = f[x, x] = lim


0
f[x, x + ] = lim
0
f(x + ) f(x)

= f

(x).
4. f

(x) = f[x, x, x] = lim


0
lim
h0
f[x, x + h, x + h + ] =
= lim
0
lim
h0
f(x + h + ) f(x + h)


f(x + h) f(x)
h
h +

f

(x) = lim
0
f

(x + ) f

(x)

= lim
0
f[x + , x + ] f[x, x]

.
5. Seja P
n
(x) um polin omio de grau n, ent ao a diferenca dividida de ordem k > n e zero.
6. Sejam x
0
, x
1
, . . . , x
n
, n + 1 pontos, e considere-se f[x
0
, x
1
, . . . , x
n
]. Ent ao (a, b)
tal que f[x
0
, x
1
, . . . , x
n
] =
f
(n)
()
n!
.
Demonstrac ao: Seja g(t) = f(t) P
n
(t)
. .
pol.Newton das
dif. divididas
Se x
i
, i = 0, . . . , n s ao pontos de interpolac ao ent ao g(x
i
) = 0
. .
n+1 zeros
= (a, b) tal que g
(n)
() = 0 (generalizac ao do Teorema de Rolle )
=f
(n)
() P
(n)
n
() = 0 f
(n)
() = P
(n)
n
() (a)
Sabendo que P
n
(x) = f(x
0
) +
n

j=1
f[x
0
, . . . , x
j
]
j1

i=0
(x x
i
)
P
n
(x) = f(x
0
) + . . . + f[x
0
, . . . , x
n
]
n1

i=0
(x x
i
)
=P
(n)
n
(x) = f[x
0
, . . . , x
n
]n! f[x
0
, . . . , x
n
] =
P
(n)
n
(x)
n!
(b)
ent ao substituindo (a) em (b), vem:
f[x
0
, . . . , x
n
] =
f
(n)
(x)
n!
.
Estudo do erro do polin omio interpolador de Newton das diferenccas divididas
Seja P
n
o polin omio interpolador de Newton das diferencas divididas e x
0
, x
1
, . . . , x
n
as n+1 ab-
cissas de interpolac ao. Pretendemos estimar f( x) P
n
( x), x [x
0
, x
n
] e x ,= x
i
, i = 0, . . . , n.
Seja x
0
, x
1
, . . . , x
n
, x, n + 2 pontos de interpolac ao e P
n+1
(x) o polin omio interpolador para
estes pontos. Isto e, f(x
i
) = P
n
(x
i
) e f( x) = P
n
( x).
119
UTAD 4. Interpolac ao polinomial
Ent ao: P
n+1
(x) = P
n
(x) + f[x
0
, . . . , x
n
, x]

n
j=0
(x x
j
). Com x = x, vem:
f( x) = P
n+1
( x) = P
n
( x) + f[x
0
, . . . , x
n
, x]
n

j=0
( x x
j
)
f( x) P
n
( x) = f[x
0
, . . . , x
n
, x]
n

j=0
( x x
j
) (4.10)
A (4.10) chamamos f ormula do erro do polin omio interpolador de Newton das diferencas dividi-
das.
4.3 Polin omio Interpolador Segmentado
Consideremos uma func ao f denida em [a, b] e a partic ao uniforme com n + 1 pontos do
mesmo intervalo a x
0
< x
1
< < x
n1
< x
n
b.
Denic ao 4.1 Seja f uma func ao denida em [a, b] onde consideramos a partic ao a x
0
<
x
1
< < x
n
b. Se n e divisvel por m, chamamos polin omio interpolador segmentado de
grau m ao polin omio
s(x) =
_

_
s
(1)
(x) , x [x
0
, x
m
]
s
(2)
(x) , x [x
m
, x
2m
]
.
.
.
s
(j)
(x) , x [x
(j1)m
, x
jm
]
.
.
.
s
(
n
m
)
(x) , x [x
nm
, x
n
]
(4.11)
emque para i = 1, . . . ,
n
m
, s
(i)
(x) e o polin omio interpolador de grau mpara f em
_
x
(i1)m
, x
im

,
considerando a partic ao x
(i1)m
< x
(i1)m+1
< < x
im
Para construir os polin omios s
(i)
(x) usamos um dos processos anteriores:
Utilizac ao da func ao de Lagrange
Utilizac ao da tabela das diferencas dividas
Vimos no exemplo 4.2 que a construc ao de um polin omio interpolador que aproxime a func ao
de Runge no intervalo [1, 1] com erro inferior aos polin omios P
4
(x) e P
8
(x) e conseguido com
polin omios de grau inferior a 4. Consideremos ent ao nos dois subintervalos de [1, 1]:
120
4.3. Polin omio Interpolador Segmentado Departamento de Matem atica
1,
1
2
, 0 pontos de interpolac ao em [1, 0]
0,
1
2
, 1 pontos de interpolac ao em [0, 1]
e tamb em s(x) =
_
_
_
s
1
(x) , x [1, 0]
s
2
(x) , x [0, 1]
onde s
1
(x), s
2
(x) s ao polin omios de grau 2.
Exerccio 4.6 Implemente em SCILAB o polin omio segmentado para a func ao de Runge.
Exemplo 4.4 Consideremos f(x) = sin x, x
_
1
2
,
3
4
_
e a partic ao
1
2
,
3
4
, 1,
5
4
,
3
2
.
(a) Determinar o polin omio interpolador segmentado quadr atico de f nos pontos da-
dos.
(b) Calcular uma aproximac ao para f
_
7
8
_
e uma estimativa para o erro da aproximac ao.
Resoluc ao
s(x) =
_

_
s
(1)
(x) , x
_
1
2
, 1
_
s
(2)
(x) , x
_
1,
3
2
_
com
s
(1)
(x) = sin

2
_
x
3
4
_
(x 1)
_
1
2

3
4
__
1
2
1
_ + sin
3
4
_
x
1
2
_
(x 1)
_
3
4

1
2
__
3
4
1
_ + sin
_
x
1
2
__
x
3
4
_
_
1
1
2
__
1
3
4
_, x
_
1
2
, 1
_
s
(2)
(x) = sin
_
x
5
4
__
x
3
2
_
_
1
5
4
__
1
3
2
_ + sin
5
4
(x 1)
_
x
3
2
_
_
5
4
1
__
5
4

3
2
_ + sin
3
2
(x 1)
_
x
5
4
_
_
3
2
1
__
3
2

5
4
_, x
_
1,
3
2
_
ent ao
f
_
7
8
_

= s
(1)
_
7
8
_
=
_
7
8

3
4
__
7
8
1
_
_
1
2

3
4
__
1
2
1
_+sin
3
4
_
7
8

1
2
__
7
8
1
_
_
3
4

1
2
__
3
4
1
_+sin
_
7
8

1
2
__
7
8

3
4
_
_
1
1
2
__
1
3
4
_ = . . .
Estimativa para o erro:

f(x) s
(1)
(x)



3
3!

_
x
1
2
__
x
3
4
_
(x 1)

121
UTAD 4. Interpolac ao polinomial
com x =
7
8
,

f(x) s
(1)
(x)



3
2
10
(4.12)
Usando (4.5), obtemos:

f(x) s
(1)
(x)



3
768
, x
_
1
2
, 1
_
(4.13)
Conclus ao:A estimativa do erro (4.13) e mais grosseira do que a estimativa (4.12).
4.4 Interpolac ao inversa
Consideremos:
x
i
x
0
x
1
x
2
x
3
f(x
i
) f
0
f
1
f
2
f
3
em que f
i
= f(x
i
) = y
i
, i = 0, 1, 2, 3 s ao valores
estritamente crescentes (ou decrescentes).
Problema: Dado y

[y
0
, y
3
] determinar x

tal que f(x

) = y

.
Este problema e resolvido considerando a seguinte tabela:
y
i
f
0
f
1
f
2
f
3

pontos
ordenados
x
i
= g(y
i
) x
0
x
1
x
2
x
3
Seja P(y) o polin omio interpolador da func ao g nos pontos y
i
, i = 0, 1, 2, 3, i.e.,
y
i
= g(x
i
) e x
i
= g(y
i
)
ent ao x

P(y

).
Esta e uma maneira muito simplicada de apresentar este tipo de problemas. Conv em no
entanto referir que na maioria dos casos, tal forma de resoluc ao n ao e passvel de aplicac ao, uma
vez que n ao se vericamas condic oes de aplicabilidade. Para umconhecimento mais aprofundado,
sugere-se a leitura da bibliograa recomendada.
4.5 Polin omio osculador de Hermite
Emmuitas quest oes pr aticas, e conhecido o valor de uma func ao numdado conjunto de pontos
bem como o coeciente angular da tangente ao gr aco da mesma func ao nesses pontos. Nestas
circunst ancias, de forma a aproximar a func ao f, determinamos um polin omio cujo valor nos
pontos coincida com o valor da func ao nesses mesmos pontos, e tal que a tangente ao polin omio
122
4.5. Polin omio osculador de Hermite Departamento de Matem atica
nos pontos de interpolac ao seja coincidente com o valor do coeciente angular dado nesses pontos.
Figura 4.4: Polin omio Osculador
Como podemos observar na Figura 4.4, O gr aco do polin omio coincide com o gr aco da
func ao nesses pontos, P
n
(x
i
) = f(x
i
). Tamb em o declive da tangente ao gr aco do polin omio
coincide com a tangente ao gr aco de f, P

n
(x
i
) = f

(x
i
).
Denic ao 4.2 Duas func oes f(x) e g(x) concordam nos pontos x
0
, . . . , x
n
se
f
(j)
(z) = g
(j)
(z), j = 0, 1, . . . , m1
para cada ponto z que ocorre m vezes na sequ encia x
0
, . . . , x
k
.
Exemplo 4.5 f(x) e g(x) concordam nos pontos 2, 1, 2, 4, 2, 5, 4 se
f(1) = g(1) f(2) = g(2) f(4) = g(4) f(5) = g(5)
f

(2) = g

(2) f

(4) = g

(4)
f

(2) = g

(2)

Assim, chamamos interpolac ao osculat oria sempre que a func ao interpoladora tem contacto com
a func ao f(x) de grau superior ou igual a 1 (osculum em latim signica beijo).
Mais formalmente, consideremos uma func ao f denida no intervalo [a, b] , tal que sejam co-
nhecidos os valores de f e f

nos pontos da partic ao a x


0
< x
1
< < x
n
b. Pretendemos
determinar um polin omio H(x) tal que
H(x
i
) = f(x
i
)
H

(x
i
) = f

(x
i
), i = 0, . . . , n
_
_
_
2n + 2 condic oes (4.14)
123
UTAD 4. Interpolac ao polinomial
O polin omio H(x), a existir, ter a grau 2n + 1.
Teorema 4.3 Seja f uma func ao denida num intervalo [a, b] onde se considera a partic ao a
x
0
< x
1
< < x
n
b. Dados f(x
i
), f

(x
i
), i = 0, . . . , n, existe um unico polin omio de
grau 2n + 1, H
2n+1
, que verica:
H(x
i
) = f(x
i
)
H

(x
i
) = f

(x
i
), i = 0, . . . , n
Demonstrac ao: Consideremos as func oes:

i
(x) = [1 2(x x
i
)l

i
(x
i
)] l
2
i
(x) e l
i
(x) =
n

j=0
j=i
x x
j
x
i
x
j

i
(x) = (x x
i
)l
2
i
(x), i = 0, . . . , n
Estas func oes vericam:
1.

i
(x
i
) = 1;
i
(x
j
) = 0, ; j ,= i =
i
(x
j
) =
ij

i
(x) = 2l

i
(x)l
2
i
(x) +
_
1 2(x x
i
)l

i
(x
i
)

2l
i
(x)l

i
(x) =

i
(x
j
) = 0 j
2.

i
(x
j
) = 0, j

i
(x) = l
2
i
(x) + 2(x x
i
)l
i
(x)l

i
(x)

i
(x
i
) = 1 e

i
(x
j
) = 0, i ,= j =

i
(x
j
) =
ij
3.
i
(x),
i
(x) s ao func oes de grau 2n + 1.
Consideremos o polin omio:
H
2n+1
(x) =
n

j=0
f(x
j
)
j
(x) +
n

j=0
f

(x
j
)
j
(x)
De facto, este polin omio verica as condic oes :
1. tem grau 2n + 1
124
4.5. Polin omio osculador de Hermite Departamento de Matem atica
2.
H
2n+1
(x
j
) = f(x
j
) , j
H

2n+1
(x
j
) = f

(x
j
) , j
Prov amos assim a exist encia do polin omio osculador de Hermite. Passemos agora ` a
unicidade. Para tal consideramos dois polin omios, Q(x) e H(x) nas condic oes 1 e 2.
Podemos ent ao denir R(x) = Q(x) H(x), que sabemos ser tal que grau R(x) 2n+1
(ter a ent ao quando muito 2n + 1 zeros...)
Sabemos ainda que R(x
i
) = 0 e R

(x
i
) = 0, i = 0, . . . , n, isto e, temos n+1 zeros de
multiplicidade 2. Temos ent ao 2(n + 1) zeros. O unico polin omio que possui mais zeros
que o seu grau, e o polin omio nulo, =R(x) = 0 Q(x) H(x).
A
H
2n+1
(x) =
n

j=0
f(x
j
)
j
(x) +
n

j=0
f

(x
j
)
j
(x) (4.15)
chamamos polin omio interpolador de Hermite de f nos pontos x
i
, i = 0, . . . , n.
Exemplo 4.6 Considere-se a seguinte tabela de pontos de uma func ao f :
x
i
f(x
i
)) f(x)
i
))
0 1 0.25
0.5 1 1
para a qual se pretende calcular o polin omio interpolador de Hermite. Temos ent ao:
H
3
(x) = f(x
0
)
0
(x) + f(x
1
)
1
(x) + f

(x
0
)
0
(x) + f

(x
1
)
1
(x)
Com

0
=
_
1 2(x x
0
)l

0
(x
0
)

l
2
0
(x) =
_
1 2(x x
0
)
1
x
0
x
1
_
(x x
1
)
2
(x
0
x
1
)
2
= (4 + 4x)
(x 0.5)
2
0.5
2

1
= [1 2(x 0.5)2]
x
2
0.5
2
= (3 4x)4x
2

0
= (x x0)l
2
0
(x) = x
(x 0.5)
2
0.5
2
= 4x
_
x
1
2
_
2

1
= (x 0.5)
x
2
0.5
2
= 4x
2
_
x
1
2
_
H
3
(x) = (1)
_
1 +
2x
0.5
(x 0.5)
2
0.5
2
+ (x 0.5)
x
2
0.5
2
_
125
UTAD 4. Interpolac ao polinomial
Muito trabalhoso!!!
Em alternativa, vamos seguidamente utilizar diferencas divididas para construir o polin omio de
Hermite.
Determinac ao do polin omio interpolador de Hermite utilizando diferencas divididas
Na construc ao do polin omio H
2n+1
consider amos como base de T
2n+1
as func oes
i
e
i
, i =
0, 1, . . . , n. No entanto, o polin omio H
2n+1
pode ser construdo utilizando uma outra base para o
espaco em quest ao. Consideremos, por exemplo, as func oes:
1, (x x
0
) , (x x
0
)
2
, (x x
0
)
2
(x x
1
) , (x x
0
)
2
(x x
1
)
2
, . . . , (x x
0
)
2
(x x
n1
)
2
(x x
n
)
Dado estas func oes serem linearmente independentes, ent ao podemos escrever:
H
2n+1
= A
0
+ A
1
(x x
0
) + A
2
(x x
0
)
2
+ . . . + A
2n+1
(x x
0
)
2
(x x
n1
)
2
(x x
n
)
E determinamos as constantes da seguinte forma:
A
0
, A
1
: H
2n+1
(x
0
) = A
0
= f(x
0
)
: H

2n+1
(x
0
) = A
1
= f

(x
0
) = f [x
0
, x
0
]
126
4.5. Polin omio osculador de Hermite Departamento de Matem atica
A
2
, A
3
: H
2n+1
(x
1
) = A
0
+ A
1
(x
1
x
0
) + A
2
(x
1
x
0
)
2
= f(x
1
)
f(x
1
) = f(x
0
) + f [x
0
, x
0
] (x
1
x
0
) + A
2
(x
1
x
0
)
2

f(x
1
) f(x
0
)
x
1
x
0
= f [x
0
, x
0
] + A
2
(x
1
x
0
)

f [x
0
, x
1
] f [x
0
, x
0
]
x
1
x
0
= A
2
A
2
= f [x
0
, x
0
, x
1
]
H

2n+1
(x
1
) = A
1
+ 2A
2
(x
1
x
0
) + A
3
(x
1
x
0
)
2

(x
1
) = f

(x
0
) + 2f [x
0
, x
0
, x
1
] (x
1
x
0
) + A
3
(x
1
x
0
)
2

(x
1
) f

(x
0
)
x
1
x
0
= 2f [x
0
, x
0
, x
1
] + A
3
(x
1
x
0
)

f [x
1
, x
1
] f [x
0
, x
0
]
x
1
x
0
= 2f [x
0
, x
0
, x
1
] + A
3
(x
1
x
0
)

f [x
1
, x
1
] f [x
0
, x
0
] 2f [x
0
, x
1
] + 2f [x
0
, x
0
]
x
1
x
0
= A
3
(x
1
x
0
)

f [x
1
, x
1
] + f [x
0
, x
0
] 2f [x
0
, x
1
]
x
1
x
0
= A
3
(x
1
x
0
)

f [x
1
, x
1
] f [x
0
, x
1
]
x
1
x
0

f [x
0
, x
1
] f [x
0
, x
0
]
x
1
x
0
= A
3
(x
1
x
0
)

f [x
0
, x
1
, x
1
] f [x
0
, x
0
, x
1
]
x
1
x
0
= A
3
A
3
= f [x
0
, x
0
, x
1
, x
1
]
Repetindo sempre este processo, obtemos:
H
2n+1
(x) = f(x
0
) + f

(x
0
)(x x
0
) + f [x
0
, x
0
, x
1
] (x x
0
)
2
+ f [x
0
, x
0
, x
1
, x
1
] (x x
0
)
2
(x x
1
) +
+ f [x
0
, x
0
, . . . , x
n
, x
n
] (x x
0
)
2
. . . (x x
n1
)
2
(x x
n
)
De seguida, vamos determinar o polin omio utilizando a tabela das diferencas divididas. Temos
2n + 2 pontos (x
i
, f (x
i
)) e (x
i
, f

(x
i
)) , i = 0, 1, . . . , n.
Facamos as seguintes mudancas de vari avel:
z
0
= x
0
, z
1
= x
0
, z
2
= x
1
, z
3
= x
1
, . . . , z
2n
= x
n
, z
2n+1
= x
n
,
127
UTAD 4. Interpolac ao polinomial
Temos ainda:
F(z
0
) = f(x
0
)
F(z
1
) = f(x
0
)
F(z
2
) = f(x
1
)
F(z
3
) = f(x
1
)
.
.
.
F(z
2n+1
) = f(x
n
)
Isto e, o polin omio de Newton das diferencas divididas para F e tal que F(z
2i
) = f(x
i
) e
F(z
2i+1
) = f(x
i
), i = 0, 1, . . . , n. Temos ent ao:
P
2n+1
(z) = F(z
0
) + F [z
0
, z
1
] (z z
0
) + F [z
0
, z
1
, z
2
] (z z
0
) (z z
1
) +
+ F [z
0
, z
1
, . . . , z
2n
, z
2n+1
] (z z
0
) (z z
1
) + . . . (z z
2n
)
= f(x
0
) + f

(x
0
)(x x
0
) + f [x
0
, x
0
, x
1
] (x x
0
)
2
+ f [x
0
, x
0
, x
1
, x
1
] (x x
0
)
2
(x x
1
) +
+ f [x
0
, x
0
, . . . , x
n
, x
n
]
n1

j=0
(x x
j
)
2
(x x
n
)
Utilizando a tabela:
x
i
f(x
i
) f[, ] f[, , ] f[, , , ] f[, , , , ] f[, , , , , ]
x
0
f(x
0
)
f

(x
0
)
x
0
f(x
0
) f[x
0
, x
0
, x
1
]
f[x
0
, x
1
] f[x
0
, x
0
, x
1
, x
1
]
x
1
f(x
1
) f[x
0
, x
1
, x
1
] f[x
0
, x
0
, x
1
, x
1
, x
2
]
f

(x
1
) f[x
0
, x
1
, x
1
, x
2
] f[x
0
, x
0
, x
1
, x
1
, x
2
, x
2
]
x
1
f(x
1
) f[x
1
, x
1
, x
2
] f[x
0
, x
1
, x
1
, x
2
, x
2
]
f[x
1
, x
2
] f[x
1
, x
1
, x
2
, x
2
]
x
2
f(x
2
) f[x
1
, x
2
, x
2
]
f

(x
2
)
x
2
f(x
2
)
Exemplo 4.7 Determine o polin omio interpolador de Hermite de menor grau de f(x) =
e
x
2
, x [1, 1].
128
4.5. Polin omio osculador de Hermite Departamento de Matem atica
Resoluc ao: Seja n = 1 e f

(x) = 2xe
x
2
. Comecamos por construir a tabela:
x
i
f(x
i
) f(x
i
)
x
0
1 e
1
2e
1
x
1
1 e
1
2e
1
Utilizando a tabela das diferencas divididas:
x
i
f(x
i
) f[, ] f[, , ] f[, , , ]
1 e
1
2e
1
1 e
1
2e
1
2
0 0
1 e
1
2e
1
2
2e
1
1 e
1
obtemos o seguinte polin omio c ubico:
H
3
(x) = f(x
0
)+f

(x
0
)(xx
0
)+f [x
0
, x
0
, x
1
] (x x
0
)
2
+f [x
0
, x
0
, x
1
, x
1
] (x x
0
)
2
(x x
1
)
ou seja,
H
3
(x) = e
1
+ 2e
1
(x + 1)e
1
(x + 1)
2
+ 0(x + 1)
2
(x 1), x [1, 1]

O procedimento que acab amos de exp or e directamente generaliz avel ` a construc ao de outros po-
lin omios interpoladores que veriquem condic oes de regularidade de ordem mais elevada.
Estudo do erro do polin omio de Hermite
Teorema 4.4 Seja f C
2n+2
[a, b] uma func ao. Consideremos, no intervalo [a, b] a seguinte
partic ao do intervalo: a x
0
< x
1
< < x
n
b, e seja H
2n+1
(x) o polin omio interpolador
de Hermite para a func ao f e relativamente ` a referida partic ao.
Se x [a, b] ent ao (x) (a, b) tal que
f(x) H
2n+1
(x) =
f
(2n+2)
((x))
(2n + 2)!
n

j=0
(x x
j
)
2
.
129
UTAD 4. Interpolac ao polinomial
Demonstrac ao:
Com x = x
i
e trivial.
Com x [a, b] e x ,= x
i
, i = 0, 1, . . . , n consideremos a seguinte func ao:
g(t) = f(t) H
2n+1
(t) [f(x) H
2n+1
(x)]
n

j=0
(t x
j
)
2
(x x
j
)
2
, t [a, b]
g

(t) = f

(t) H

2n+1
(t) [f(x) H
2n+1
(x)]
d
dt
n

j=0
(t x
j
)
2
(x x
j
)
2
, t [a, b]
Temos ent ao que:
_

_
g(x
i
) = 0 , i = 0, 1, . . . , n;
g

(x
i
) = 0 , i = 0, 1, . . . , n
_
_
_
n + 1
. .
2n+2
zeros de multiplicidade 2
g(x) = 0
_
(2n+2)+1 = 2n+3zeros.
Relembrando o Teorema de Rolle generalizado, conclumos que g
(2n+2)
tem pelo menos
um zero em (a, b), isto e,
(x) (a, b) tal que g
(2n+2)
() = 0.
Temos ainda que:
g
(2n+2)
(t) = f
(2n+2)
(t) H
(2n+2)
2n+1
(t) [f(x) H
2n+1
(x)]
d
(2n+2)
dt
(2n+2)
n

j=0
(t x
j
)
2
(x x
j
)
2
. .
(2n + 2)!
n

j=0
1
(x x
j
)
2
, t [a, b].
Assim,
g
(2n+2)
() = f
(2n+2)
() [f(x) H
2n+1
(x)] (2n + 2)!
n

j=0
1
(x x
j
)
2

f(x) H
2n+1
(x) =
f
(2n+2)
()
(2n + 2)!
n

j=0
(x x
j
)
2
.

De forma semelhante a outros polin omios interpoladores, e possvel determinar um majorante


para o valor do erro. Algumas majorac oes possveis s ao as seguintes:
130
4.5. Polin omio osculador de Hermite Departamento de Matem atica
1. Supondo max
x[a,b]

f
(2n+2)
(x)

M, temos
[f(x) H
2n+1
(x)[
M
(2n + 2)!
n

j=0
(x x
j
)
2
(4.16)
2. Atendendo a que x [a, b], ent ao [x x
i
[ (b a), donde:
[f(x) H
2n+1
(x)[
M
(2n + 2)!
(b a)
2(n+1)
(4.17)
3. Tendo em conta que

n
j=0
(x x
j
)


h
n+1
n!
4
com h = max
i
(x
i
x
i1
) , resulta:
[f(x) H
2n+1
(x)[ M
h
2(n+1)
n!
2
(2n + 2)!16
(4.18)
4. Se considerarmos uma partic ao uniforme, i.e.,
b a
n
= h, ent ao:
[f(x) H
2n+1
(x)[ M
h
2(n+1)
n!
2
(b a)
2(n+1)
(2n + 2)!16n
2(n+1)
(4.19)
4.5.1 Polin omio interpolador segmentado de Hermite
`
A semelhanca do que zemos para o polin omio interpolador, denimos agora o polin omio
segmentado de Hermite:
Denic ao 4.3 Consideremos uma func ao f denida em [a, b], e a seguinte partic ao do intervalo
a x
0
< x
1
< < x
n
b. Se n e divisvel por m, chamamos polin omio interpolador
segmentado de Hermite de grau 2m + 1 ao polin omio
s(x) =
_

_
H
(1)
2m+1
(x) , x [x
0
, x
m
]
H
(2)
2m+1
(x) , x [x
m
, x
2m
]
.
.
.
H
(j)
2m+1
(x) , x [x
(j1)m
, x
jm
]
.
.
.
H
(
n
m
)
2m+1
(x) , x [x
nm
, x
n
]
(4.20)
em que para i = 1, . . . ,
n
m
, H
(i)
2m+1
(x) denota o polin omio interpolador de Hermite de grau
2m + 1 para f em
_
x
(i1)m
, x
im

, considerando a partic ao x
(i1)m
< x
(i1)m+1
< < x
im
.
Exemplo 4.8 Sendo f(x) = e
x
2
, x [1, 1], determine o polin omio de Hermite seg-
mentado de menor grau.
131
UTAD 4. Interpolac ao polinomial
Resoluc ao:
s(x) =
_

_
H
(1)
3
(x) , x [1, 0]
H
(2)
3
(x) , x [0, 1]
Ent ao
H
(1)
3
(x) = 1 +
_
e
1
1
_
x
2
+
_
4e
1
2
_
x
2
(x + 1);
H
(2)
3
(x) = 1 +
_
e
1
1
_
x
2
+
_
2 4e
1
_
x
2
(x 1).

4.6 Splines c ubicos e Interpolac ao ready-made em Scilab


A func ao SCILAB interpln calcula directamente interpolac ao linear, isto e
x=1:6;
y=[1.9 2.7 4.8 5.3 7.1 9.4];
plot2d(x,y,style=-1)
xx=linspace(1,6,100);
yi=interpln([x;y],xx);
plot2d(xx,yi,[3]);
No entanto a interpolac ao linear n ao e adequada sempre que se pretende uma func ao suave.
O tipo de interpolac ao mais importante, no sentido de ser mais usado, cujo resultado s ao func oes
suaves s ao os splines c ubicos. Suponhamos n+1 pontos x
0
< x
1
< < x
n
. Um spline c ubico
e ent ao uma func ao detentora das seguintes propriedades:
1. Em cada subintervalo [x
i
, x
i+1
] , i = 0, 1, . . . , n, a func ao interpoladora e dada por um
polin omio c ubico; sendo o polin omio c ubico obtido eventualmente diferente nos diferentes
intervalos.
2. Em cada ponto de interpolac ao x
1
, . . . , x
n1
o valor dos diferentes polin omios laterais deve
coincidir, bem como os valores das respectivas primeira e segunda derivadas.
Em SCILAB o obtenc ao deste tipo de func oes interpoladoras faz-se atrav es de duas func oes:
splin, que calcula o polin omio interpolador c ubico para um dado conjunto de dados, e interp,
132
4.7. Exerccios Departamento de Matem atica
capaz de dar calcular o calor desse polin omio num determinado conjunto de pontos:
x=1:6;
y=[1.9 2.7 4.8 5.3 7.1 9.4];
plot2d(x,y,style=-1)
d=splin(x,y)
xx=linspace(1,6,100);
yy=interp(xx,x,y,d);
plot2d(xx,yy)
plot2d(x,y,style=-1)
4.7 Exerccios
1. Usando a f ormula interpoladora de Lagrange, determine o polin omio P
3
(x) denido pelos
pontos (3, 1), (2, 2), (1, 1) e (3, 10).
2. Determine uma aproximac ao de sin

8
usando o polin omio de Lagrange de grau 2, no inter-
valo [0,

2
].
3. Considere a func ao f(x) = cos x, x [0, ]. Determine o n umero de pontos a considerar
no intervalo dado, para que o erro m aximo da aproximac ao de f(x) por um polin omio
interpolador nesses pontos seja inferior a 0.5.
4. Seja f(x) dada pela seguinte tabela:
x
i
-2 0 2 4 6
f(x
i
) 1 2 -1 2 3
a) Calcule o polin omio interpolador de Newton, usando a tabela das diferencas divididas.
b) determine uma aproximac ao para o valor de f(1.5).
5. Considere a tabela
x
i
-2 -1 0 1 2 3 4
P(x
i
) -11 2 5 4 b + 1 3b + 2 a
referente a um polin omio de grau 3.
133
UTAD 4. Interpolac ao polinomial
a) Determine a e b, sem calcular o polin omio interpolador.
b) Ampliando a tabela, determine o valor do polin omio em 4.
c) Determine o polin omio interpolador.
6. De uma func ao f conhece-se a seguinte tabela. Determine x

tal que f(x

) = 0.
x
i
-2 0 1
f(x
i
) -12.5 1.5 -1
7. Determine aproximadamente o zero da func ao f(x) = ln(1 +x
2
) e
x
no intervalo [0, 1].
Calcule o erro cometido na aproximac ao.
8. Mostre que o polin omio P
3
(x) que toma os valores P
3
(0) = f
0
, P
3
(1) = f
1
, P

3
(0) = f

0
e
P

3
(1) = f

1
, e dado por
P
3
(x) = (1 x)
2
(1 + 2x)f
0
+ x(1 x)
2
f

0
+ x
2
(3 2x)f
1
+ x
2
(x 1)f

1
9. Determine o polin omio interpolador de Hermite de grau mnimo para a func ao f(x) = cos x
em
_
0,

2

. Calcule posteriormente uma aproximac ao para cos



4
e sin

8
.
10. Determine o polin omio interpolador de Hermite de grau 3 para a func ao f(x) = cos x+sin x
em
_
0,

2

.
11. Determine o grau do polin omio de Hermite que aproxima a func ao f(x) = e
x
no intervalo
[0, 1], de forma que o erro cometido na aproximac ao n ao exceda 5 10
3
.
12. Considere a seguinte tabela referente a uma certa func ao f(x)
x
i
0 1 2 3 4 5
f(x
i
) 1 2.5 25 104.5 289 638.5
a) Construa o polin omio interpolador de maior grau de f(x) no intervalo [0, 5], usando a
tabela das diferencas divididas.
b) Sabendo que f

(0) = 0 e f

(1) = 3, construa o polin omio interpolador de Hermite


de grau 3 (utilizando a tabela das diferencas divididas) usando os dados da tabela que
necessite. Qual o erro cometido?
13. Determine o n umero de intervalos requeridos, quando pretendemos aproximar a func ao
f(x) = e
x
em [0, 1], usando interpolac ao c ubica de Lagrange e considerando pontos igual-
mente espacados.
134
4.7. Exerccios Departamento de Matem atica
14. Usando interpolac ao segmentada,
a) Construa um polin omio c ubico para aproximar f(x) = cos x no intervalo [0, 1],
considerando a seguinte partic ao 0, 0.25, 0.5, 0.75, 1.
b) Integre o polin omio c ubico obtido no intervalo [0, 1] e compare o resultado obtido com
_
1
0
cos xdx = 0.
c) Usando a primeira e a segunda derivadas do polin omio c ubico determinado na alnea
a), aproxime os valores de f

(0.5) e f

(0.5). N ao se esqueca de comparar o resultado


obtido por aproximac ao com os valores reais.
15. Consideremos um autom ovel que se desloca com um movimento rectilneo e e cronome-
trado num determinado n umero de pontos. A seguinte tabela cont em a informac ao reco-
lhida nas cronometragen (o tempo est a expresso em segundos, a dist ancia em metros e a
velocidade em m/s).
tempo 0 3 5 8 13
dist ancia 0 75 128 208 331
velocidade 25 25.5 26.5 24.5 24
a) Usando interpolac ao segmentada c ubica, preveja a posic ao e a velocidade ao m de
10s.
b) Use a primeira derivada do polin omio c ubico determinado em a) para saber se o au-
tom ovel exceder a ou n ao a velocidade de 55mph. Caso tal aconteca indique o ponto
onde tal se verica pela primeira vez.
c) Qual ser a a velocidade m axima prevista para o carro?
135
Captulo 5
Aproximac ao dos mnimos quadr aticos
5.1 Aproximac ao de func oes empricas
Suponhamos que uma func ao f(x) descreve a relac ao entre duas quantidades x e y, y = f(x), e
atrav es de qualquer medic ao ou experi encia, obtemos as quantidades f
i
f(x
i
), i.e. f(x
i
) = f
i
+

i
, i = 0, 1, . . . , N, onde
i
s ao os erros cometidos na medic ao ou experi encia, sendo totalmente
desconhecidos.
O problema que se p oe e o de conseguir recuperar f(x) a partir do conjunto de pontos
(x
i
, f
i
)
N
i=0
.
Figura 5.1: Mola de material uniforme.
Consideremos o seguinte exemplo da mec anica cl assica:
Exemplo 5.1 Se aplicarmos uma forca

F a uma mola de material uniforme, o compri-
mento dessa mola varia linearmente com

F (lei de Hooke).
Ou seja, podemos escrever

F(t) = K(x(t) + L) u, onde L e a diferenca entre
137
UTAD 5. Aproximac ao dos mnimos quadr aticos
o comprimento da mola na posic ao de equilbrio e o comprimento original (de acordo
com a Fig.5.1), x(t) a posic ao do ponto material no instante t (sendo ent ao x(t) + L
o alongamento da mola nesse mesmo instante), e a constante de proporcionalidade,
k > 0, e designada por constante de elasticidade da mola.
Supondo que o comprimento inicial da mola e de 13.5cm, e pretendendo determinar
k, aplicamos sucessivamente forcas, suspendendo massas de 900g, 1800g, 2725g, etc...
e concluimos que o comprimento da mola e respectivamente 20cm, 24cm, 31cm, . . .
800 1000 1200 1400 1600 1800 2000 2200 2400 2600 2800
20
22
24
26
28
30
32
Figura 5.2: Representac ao dos dados.
Numa breve an alise ao gr aco que representa o conjunto dos pontos da experi encia,
quer-nos parecer que a relac ao entre a forca aplicada e o comprimento da mola e, aproxi-
madamente, linear. Mas os pontos (x
i
, f
i
)
N
i=0
n ao est ao exactamente sobre uma recta
...
De forma a determinar a recta que aproxima estes pontos, poderamos, por exemplo:
Escolher dois desses pontos e tracar assim a recta que aproxima a constante de
elasticidade da mola.
Mas porqu e privilegiar esses dois pontos?
Utilizar interpolac ao.
Mas, sabendo que aos valores f
i
est ao associados inevit aveis erros
i
, porqu e
reproduzir com alguma precis ao o que sabemos estar errado?

Recordemos que o objectivo e aproximar o conjunto de dados (x


i
, f
i
)
N
i=0
, recolhidos empi-
138
5.1. Aproximac ao de func oes empricas Departamento de Matem atica
ricamente, por uma func ao F que represente a maioria dos dados. Supondo F da forma:
F(x) = a
0

0
(x) + a
1

1
(x) + . . . + a
n

n
(x)
onde
k

k=0,...,n
s ao func oes previamente seleccionadas e a
k

k=0,...,n
s ao par ametros a deter-
minar, e denindo emcada ponto x
i
, o erro local (resduo ou desvio) por R
i
= f
i
F(x
i
; a
0
, a
1
, . . . , a
n
),
i = 0, . . . , N, a nossa preocupac ao ser a ent ao minimizar o erro total.
Escolhas possveis para
k

k=0,...,n
s ao por exemplo:
os mon omios
_
x
k
_
as func oes trigonom etricas sin(k 1)x.
Usualmente, N >> n, onde n e o n umero de par ametros a
k
e N e o n umero de pontos (x
i
, f
i
)
(n umero de dados recolhidos ou disponveis). No entanto, N deve ser sucientemente grande, de
forma a que o conjunto dos dados (x
i
, f
i
)
i=0,...,N
seja devidamente representado, segundo uma
escolha conveniente dos a
k

k=0,...,n
.
Vamos ent ao determinar a
k

k=0,...,n
de forma a minimizar [[R[[, onde R = (R
0
, R
1
, R
2
, . . . , R
N
)
T
e R
i
= f
i
F(x
i
; a
0
, a
1
, . . . , a
n
), i = 0, . . . , N. Algumas escolhas possveis para esta norma s ao
por exemplo:
A norma-1,
[[R[[
1
=
N

i=0
[R
i
[, (5.1)
usada se o objectivo for minimizar o desvio m edio.
A norma-,
[[R[[

= max
i
[R
i
[ (5.2)
usada se o objectivo for minimizar uniformemente todos os desvios.
A norma-2, ou euclideana,
[[R[[
2
=
_
N

i=0
[R
i
[
2
_
1/2
(5.3)
Observac ao 5.1 A determinac ao dos coecientes a
0
, a
1
, . . . , a
n
utilizando as normas (5.1) e (5.2)
conduz ` a resoluc ao de um sistema de equac oes n ao lineares.

E assim costume escolher a norma
euclideana, e reduzir o problema ` a resoluc ao de um sistema de equac oes lineares tendo como
inc ognitas os par ametros a
0
, a
1
, . . . , a
n
.
Raz oes adicionais a esta escolha s ao ainda:
139
UTAD 5. Aproximac ao dos mnimos quadr aticos
A norma-1 simplesmente determina o valor m edio do erro e n ao d a import ancia a um ponto
que se desvie do padr ao usual.
A norma- atribui demasiada import ancia ` a porc ao dos dados que mais se desviam do
padr ao requerido.
Minimizar a norma euclideana (5.3) e equivalente a minimizar
N

i=0
[R
i
[
2
=
N

i=0
(f
i
F(x
i
; a))
2
. (5.4)
Ora, se a = (a
1
, a
2
, . . . , a
n
) minimiza (5.4), ent ao

a
k
N

i=0
[R
i
[
2
=

a
k
N

i=0
(f
i
F(x
i
; a))
2
= 0
2
N

i=0
(f
i
F(x
i
; a))
k
(x
i
) = 0,
. .
Equac oes normais
(5.5)
k = 0, . . . , n,
uma vez que

a
k
(f
i
F(x
i
; a)) =
k
(x
i
). Estas s ao as chamadas equac oes normais. Vejamos
porqu e:
De facto (5.5) e equivalente a
2R
T

k
= 0, k = 0, . . . , n, (5.6)
i.e., o vector dos resduos R = (R
0
, R
1
, R
2
, . . . , R
N
)
T
comR
i
= f
i
F(x
i
; a), i = 0, . . . , N,
dever a ser ortogonal a cada umdos n vectores
k
= (
k
(x
0
),
k
(x
1
), . . . ,
k
(x
N
)) , k = 0, . . . , n.
Lembremos que a nossa func ao aproximante e da forma
F(x) = a
0

0
(x) + a
1

1
(x) + + a
n

n
(x)
logo, tendo em conta (5.6),
R
T
(a
0

0
+ a
1

1
+ + a
n

n
) = 0,
o que identica o vector a
0

0
+ a
1

1
+ + a
n

n
como sendo a projecc ao ortogonal do vector
f = (f
1
, f
2
, . . . , f
N
)
T
sobre o hiperplano gerado pelos vectores
0
,
1
, . . . ,
n
.
Ver [6] para prova formal.
Podemos ainda escrever (5.5) na forma
n

i=0
a

T
j

k
= f
T

k
, k = 0, . . . , n, (5.7)
o que explicita o facto de estas equac oes formaremumsistema de n+1 equac oes a n+1 inc ognitas.
140
5.2. Aproximac ao polinomial Departamento de Matem atica
Figura 5.3: com S =
1
,
2
, . . . ,
n
.
Observac ao 5.2 Independentemente da escolha dos
k

k=0,...,n
este sistema tem sempre pelo
menos uma soluc ao. Mais ainda qualquer soluc ao de (5.7) minimiza R(a).
5.2 Aproximac ao polinomial
No caso em que
k
=
_
x
k
_
, k = 0, . . . , n, a func ao aproximante F(x) reduz-se a um
polin omio de grau n, i.e.,
F(x) = P
n
(x) = a
0
x
0
+ a
1
x + + a
n
x
n
=
n

i=0
a
k
x
k
= X
T
a
onde X
T
=
_
1, x, x
2
, . . . , x
n
_
e a = (a
0
, a
1
, . . . , a
n
) . Neste caso, os resduos escrevem-se:
R
i
= R
i
(a) = f
i

k=0
a
k
x
k
i
= f
i
X
T
i
a (5.8)
onde X
T
i
=
_
1, x
i
, x
2
i
, . . . , x
n
i
_
, i = 0, . . . , N.
Figura 5.4: Representac ao gr aca da aproximac ao polinomial
141
UTAD 5. Aproximac ao dos mnimos quadr aticos
Denindo
A = (X
0
, X
1
, . . . , X
N
) =
_
_
_
_
_
_
_
_
_
_
_
1 1 1
x
0
x
1
x
N
x
2
0
x
2
1
x
2
N
.
.
.
.
.
.
.
.
.
x
n
0
x
n
1
x
n
N
_
_
_
_
_
_
_
_
_
_
_
o vector f = (f
0
, f
1
, . . . , f
N
)
T
e o vector R = (R
0
, R
1
, . . . , R
N
)
T
, ent ao o sistema
R
i
= f
i
X
T
i
a, i = 0, 1, . . . , N escreve-se na forma
R = f A
T
a. (5.9)
A cada polin omio P
n
, i.e., a cada vector de coecientes a = (a
0
, a
1
, . . . , a
n
)
T
ca assim associ-
ado um vector resduo R = R(a).
Determinemos ent ao o polin omio que minimiza a norma euclideana de R:
min[[R[[
2
=
_
N

i=0
[R
i
[
2
_
1/2
,
ou equivalentemente
min
a
(a) = [[R[[
2
=
N

i=0
R
2
i
=
N

i=0
_
f
i

k=0
a
k
x
k
i
_
1/2
.
Uma vez que

a
k
= 2
N

i=0
R
i
R
i
a
k
= 2
N

i=0
x
k
i
R
i
, k = 0, . . . , n,
tem-se

a
k
= 0
N

i=0
x
k
i
R
i
= 0 AR = 0
De (5.9) resulta:
A(f A
T
a) = 0
AA
T
a = Af. (5.10)
A (5.10) chamamos equac oes normais na forma matricial.
Determinamos, desta forma, o polin omio de grau n que melhor se ajusta aos pontos (x
i
, f
i
)
N
i=0
no sentido dos mnimos quadrados.
142
5.2. Aproximac ao polinomial Departamento de Matem atica
Recordando que:
AA
T
=
N

i=0
A
ki
A
T
ij
=
N

i=0
A
ki
A
ji
=
N

i=0
x
k+j
i
, k, j = 0, . . . , n, (5.11)
o sistema (5.10), em termos das abcissas x
i
e dos valores f
i
, i = 0, . . . , n, escreve-se na forma:
n

k=0
_
N

i=0
x
k+j
i
_
a
k
=
N

i=0
x
j
i
f
i
, j = 0, . . . , n. (5.12)
Observac ao 5.3 Sempre que os valores f
i
, i = 0, . . . , N forem obtidos por observac ao fsica
conv em afectar um determinado peso a cada um deles, p
i
, i = 0, . . . , N, valor este que traduz a
conanca na observac ao. Neste caso, a func ao a minimizar passa a ser
=
N

i=0
p
i
R
2
i
e o sistema (5.12) escreve-se:
n

k=0
_
N

i=0
p
i
x
k+j
i
_
a
k
=
N

i=0
p
i
x
j
i
f
i
, j = 0, . . . , n. (5.13)
Como um caso particular do que acabamos de expor, vamos de seguida falar regress ao linear.
5.2.1 Regress ao linear
Dados N pontos (x
i
, f
i
) , i = 0, . . . , N, de R
2
, pretendemos determinar uma recta que se
ajuste, no sentido dos mnimos quadrados ao conjunto de pontos, i.e., o nosso objectivo e deter-
minar constantes a e b tais que:
f
i
ax
i
+ b, i = 0, . . . , N.
A este procedimento d a-se o nome de regress ao linear e e uma caso particular do exposto na
subsecc ao anterior, uma vez que agora a func ao aproximante e um polin omio de grau n = 1.
Tendo em conta (5.10), os valores das constantes a e b podem ser obtidas resolvendo o sistema
AA
T
_
_
a
b
_
_
= Af,
onde A
T
=
_
_
x
0
x
1
x
N
1 1 1
_
_
e f = (f
0
, f
1
, . . . , f
N
)
T
.
O SCILAB disp oe de uma func ao datafit para ajustar dados no sentido dos mnimos qua-
drados.
143
UTAD 5. Aproximac ao dos mnimos quadr aticos
[a,SSE]=datafit(G,Z,a0)
a e o vector columa que cont em os par ametros a determinar; SSE e a soma do quadrado dos
erros correspondente aos par ametros determinados;
G=f-F(x;a)=z(n+1)-F(z(1),z(2),...,z(n);a), i.e.,
z(1)=x(1),z(2)=x(2), ..., z(n)=x(n) e z(n+1)=y;
Vamos ilustrar o uso desta func ao atrav es de um exemplo:
Comecamos por gerar um conjunto de dados, com base numa func ao quadr atica:
X=[0:0.1:10];
Y=20+30
*
X+50
*
X2;
Adicionamos a estes dados uma componente aleat oria:
E=1000
*
(rand(1,length(X))-0.5);
Y1=Y+E;
Facamos a representac ao gr aca destes dados:
plot(X,Y,-,X,Y1,+)
0 1 2 3 4 5 6 7 8 9 10
1000
0
1000
2000
3000
4000
5000
6000
Figura 5.5: Exemplo de aproximac ao quadr atica
Vamos usar agora a func ao datafit :
Z=[X;Y1];
144
5.3. Exerccios Departamento de Matem atica
Denimos agora o erro:
deff([e]=G(a,z),e=z(2)-a(1)-a(2)
*
z(1)-a(3)
*
z(1)2)
Inicializamos oa par ametros:
a0 = [1;1;1]
[aa,er] = datafit(G,Z,a0)
Veriquemos a qualidade dos par ametros obtidos:
deff([y]=f(x),y=aa(1)+aa(2)
*
x+aa(3)
*
x2)
YY = f(X);
Facamos a representac ao dos dados, quando usamos os par ametros obtidos com a func ao
datafit
xset(window,1)
plot(X,YY,-,X,Y1,+)
0 1 2 3 4 5 6 7 8 9 10
1000
0
1000
2000
3000
4000
5000
6000
5.3 Exerccios
1. Determine a recta que melhor se ajusta, no sentido dos mnimos quadrados, ` a func ao dada
pela seguinte tabela:
x -1 0 1 2
f (x) 1.2 -1.5 1.8 2.3
2. Determine a par abola g (x) = ax
2
+ b que melhor se ajusta, no sentido dos mnimos
quadrados, aos dados
145
UTAD 5. Aproximac ao dos mnimos quadr aticos
x -1 0 1
f (x) 3.1 0.9 2.9
3. Considere a seguinte tabela:
x 1 3 5
f (x) -1.5 1 2
Determine a func ao g (x) da forma
a
x+2
+ b que melhor se ajusta aos pontos da tabela
utilizando o crit erio dos mnimos quadrados.
4. Considere a seguinte tabela:
x -2 -1 0 1 2
f (x) 1 2 -1 0 1
Determine a func ao g (x) da forma a sin
_

2
x
_
+b cos
_

2
x
_
que melhor se ajusta aos pontos
da tabela utilizando o crit erio dos mnimos quadrados.
5. Considere a seguinte tabela:
x -2 -1 0 1 2
f (x) 6 2 0 -1 0
Determine a func ao g (x) da forma ax
2
+ bx que melhor se ajusta aos pontos da tabela
utilizando o crit erio dos mnimos quadrados.
6. Determine a func ao da forma g (x) = ax
b
que melhor se ajusta aos dados:
x 1 2 3 4
f (x) 0.5 1.4 2.5 4
7. Determine a func ao da forma
g (x) =
1
a+bx
h(x) = ae
bx
que melhor se ajusta aos dados:
x 1.0 1.5 2.0 3.0 3.5 4.0
f (x) 1.58 1.50 1.44 1.30 1.22 1.17
8. Determine a func ao da forma g (x) =
ax
x+b
que melhor se ajusta aos dados:
146
5.3. Exerccios Departamento de Matem atica
x 1.0 1.5 2.0 3.0 4.0 5.0
f (x) 1.6 1.7 2.0 2.3 2.4 2.5
9. Determine a func ao da forma g (x) = a

x b que melhor se ajusta aos dados:


x 1.0 1.5 2.0 2.5
f (x) 1.5 2.1 2.3 2.4
10. Determine a func ao da forma g (x) = sin (ax + b) que melhor se ajusta aos dados:
x 2.0 2.5 3.0 3.5
f (x) 0.02 0.03 0.05 0.06
11. Considere a tabela:
x -2 -1 1 2
f (x) 1 -3 1 9
Pelo m etodo dos mnimos quadrados, ajuste ` a tabela as func oes g
1
(x) = ax
2
+ bx e
g
2
(x) = dx
2
+ e.
Qual das func oes fornece melhor ajuste segundo o crit erio dosmnimos quadrados?
Justique.
12. Determine a soluc ao do sistema
_

_
1 1
1 1
0 1
_

_
_
_
x
1
x
2
_
_
=
_

_
1
2
1
_

_
no sentido dos mnimos qua-
drados.
13. A tabela seguinte fornece informac ao sobre os acidentes de viac ao numa dada regi ao, onde
A representa o ano em quest ao, B o n umero de acidentes em cada um desses anos e C o
n umero de acidentes por cada 10000 veculos, tamb em em cada um desses anos.
A 1965 1970 1975 1980 1985 1990 1995
B 8300 9900 10400 13200 17700 20000 26200
C 1668 1597 1300 1450 1590 1704 1936
Esta tabela constitui um exemplo das chamadas s eries temporais em que a vari avel indepen-
dente e o tempo, sendo muito utilizadas na previs ao do futuro.
147
UTAD 5. Aproximac ao dos mnimos quadr aticos
Utilize o m etodo dos mnimos quadrados para denir uma aproximac ao linear (porqu e
linear) para o n umero de acidentes;
Preveja o n
o
de acidentes para 2000;
Preveja, para o ano 2000, o n
o
de acidentes por cada 10000 veculos.
148
Captulo 6
Diferenciac ao e integrac ao num erica
Neste captulo analisar-se- a o c alculo num erico da derivada de uma func ao num ponto, bem
como o c alculo do integral de uma func ao num dado intervalo. Neste contexto, distinguiremos o
caso de uma func ao ser denida analiticamente (por uma express ao) do caso de uma func ao ser
denida empiricamente (por uma tabela de valores).
Contrariamente ao que se passa na An alise Matem atica, onde a operac ao de derivac ao e con-
siderada de mais f acil aplicac ao do que a integrac ao, na An alise Num erica a integrac ao num erica
levanta geralmente menos diculdades, pois os seus problemas s ao geralmente bem condiciona-
dos, os algoritmos desenvolvidos s ao est aveis e a majorac ao dos erros n ao oferece grande dicul-
dade, passando-se usualmente o contr ario com a derivac ao num erica. Neste ultimo caso, o c alculo
analtico e o num erico complementam-se de forma a encontrar uma soluc ao aproximada para os
problemas que assim o exijam.
Existem diferentes abordagens para desenvolver f ormulas num ericas de derivac ao, nomeada-
mente atrav es da utilizac ao do polin omio de Taylor, de polin omios interpoladores, m etodo dos
coecientes indeterminados, ou outros.
De seguida vamos deduzir f ormulas para a primeira e segunda derivadas de uma func ao e
ainda deduzir f ormulas para derivadas parciais de primeira ordem.
6.1 Abordagem do teorema de Taylor
A f ormula de Taylor e frequentemente usada para deduzir f ormulas de derivac ao num erica de
uma func ao emprica.
De acordo com o Teorema de Taylor, sendo f C
n
[a, b] e se f
(n+1)
existir em (a, b) ent ao,
149
UTAD 6. Diferenciac ao e integrac ao num erica
para todo o x, x
0
[a, b] temos:
f(x) =
n

k=0
f
(k)
(x
0
)
k!
(x x
0
)
k
+
f
(n+1)
()
(n + 1)!
(x x
0
)
n+1
, com Ix, x
0
. (6.1)
Assim, considerando x = x
0
+ h e n = 1, obtemos:
f(x
0
+ h) f(x
0
)
h
= f

(x
0
) + f

()
h
2
, com Ix, x
0
(6.2)
O mesmo e dizer que f

(x
0
)
f(x
0
+ h) f(x
0
)
h
com erro f

()
h
2
, (ou de ordem O(h)).
Note-se que esta f ormula para aproximar a primeira derivada de uma func ao num ponto, e
exacta para func oes ans (i.e., func oes polinomiais de grau 1), uma vez que neste caso a sua
segunda derivada e zero e portanto o erro e nulo.
Ao utilizar esta f ormula de aproximac ao, especial cuidado deve ser posto na escolha de h,
pois este n ao deve ser inferior ao zero da m aquina (na vizinhanca de 10
38
, precis ao simples), e
ainda suciente grande para que os valores f(x
0
+ h) e f(x
0
) sejam diferentes (na vizinhanca de
10
7
, precis ao simples).
O facto de h aparecer no demoninador da f ormula de aproximac ao bem como no numerador
da express ao do erro de truncatura e indicativo de mau condicionamento deste problema. Pois para
diminuir o erro ser a desej avel escolher h t ao pequeno quanto possvel, mas isso ir a dar origem a
cancelamento subtrativo do numerador do valor aproximado e introduzir umfactor
1
h
na majorac ao
do erro de arredondamento.
Com um pequeno esforco de imaginac ao, e possvel construir f ormulas exactas de ordem mais
elevada. Pela f ormula de Taylor, com n = 2:
f(x + h) = f(x) + f

(x)h + f

(x)
h
2
2
+ f

()
h
3
3!
(6.3)
f(x h) = f(x) f

(x)h + f

(x)
h
2
2
f

()
h
3
3!
. (6.4)
Subtraindo (6.3) a (6.4) obt em-se
f

(x)
f(x + h) f(x h)
2h
+O(h
2
) (6.5)
que e uma f ormula exacta para func oes polinomiais de grau inferior ou igual a 2.
As express oes (6.2) e (6.5) s ao f ormulas de derivac ao num erica com dois e tr es pontos, res-
pectivamente, uma vez que na primeira para se aproximar o valor da derivada da func ao no ponto
x + h e necess ario conhecer o valor da func ao no ponto x (sendo h > 0, a f ormula diz-se ainda
regressiva), enquanto que em (6.5), para aproximar o valor da derivada da func ao no ponto x, e
necess ario conhecer f(x + h) e f(x h) (neste caso, a f ormula diz-se centrada).
150
6.2. M etodo dos coecientes indeterminados Departamento de Matem atica
6.2 M etodo dos coecientes indeterminados
Para determinarmos outras f ormulas com tr es pontos para aproximar a primeira derivada,
vamos considerar tr es abcissas x
i1
< x
i
< x
i+1
igualmente espacadas, i.e., x
i+1
x
i
= x
i

x
i1
= h, e escrevamos f

(x
i+1
) como combinac ao linear de f(x
i1
), f(x
i
) e f(x
i+1
):
f

(x
i+1
) = af(x
i1
) + bf(x
i
) + cf(x
i+1
).
Pelo Teorema de Taylor, temos:
f(x
i1
) = f(x
i+1
) 2hf

(x
i+1
) +
(2h)
2
2
f

(x
i+1
)
(2h)
3
6
f

(
1
),
1
(x
i1
, x
i+1
)
f(x
i
) = f(x
i+1
) hf

(x
i+1
) +
(h)
2
2
f

(x
i+1
)
(h)
3
6
f

(
2
),
2
(x
i
, x
i+1
)
Assim sendo, verique que:
af(x
i1
) + bf(x
i
) + cf(x
i+1
) = (a + b + c)f(x
i+1
) + h(2a b)f

(x
i+1
) +
+
h
2
2
(4a + b)f

(x
i+1
)
h
3
6
_
8af

(
1
) + bf

(
2
)
_
.
Uma aproximac ao para f

(x
i+1
) pode ser obida escolhendo a, b, c tais que:
_
_
_
a + b + c = 0
2a b =
1
h
Diferentes concretizac oes destes par ametros d ao origem a diferentes f ormulas. Por exemplo, con-
siderando a = 0, b = c =
1
h
, obtemos as f ormula (6.18). Considerando a =
h
1
, b =
h
3
e
c =
h
2
, resulta:
f

(x
i+1
)
f(x
i1
) 3f(x
i
) + 2f(x
i+1
)
h
, (6.6)
f ormula e regressiva com tr es pontos.
Obtemos ainda a seguinte representac ao para o erro:
h
2
f

(x
i+1
)
. .
aproximar

_
8h
2
6
f

(
1
) +
h
2
2
f

(
2
)
_
. .

5h
2
6
f

(),(x
i1
,x
i+1
)
, com
1
(x
i1
, x
i+1
) ,
2
(x
i
, x
i+1
)
151
UTAD 6. Diferenciac ao e integrac ao num erica
6.3 Abordagem do Polin omio interpolador de Lagrange
Do Captulo 4, relembremos que se f C
n+1
[a, b] e a x
0
< x
1
< < x
n1
<
x
n
b, ent ao P
n
(x) e o polin omio interpolador de f nos pontos (x
i
, f(x
i
)) , i = 0, 1, . . . , n e
x [a, b] (x) (a, b) tal que
f(x) = P
n
(x) +
f
(n+1)
()
(n + 1)!
n

j=0
(x x
j
) (6.7)
=
n

j=0
f(x
j
)l
j
(x) +
f
(n+1)
()
(n + 1)!
n

j=0
(x x
j
) (6.8)
com l
i
(x) =
n

j=0
j=i
x x
j
x
i
x
j
, i = 0, . . . , n os polin omios de Lagrange. Logo:
f

(x)
n

j=0
f(x
j
)l

j
(x)
i.e.
f

(x
i
)
n

j=0
f(x
j
)l

j
(x
i
) (6.9)
e o erro cometido na aproximac ao e:
f
(n+1)
()
(n + 1)!
d
dx
n

j=0
(x x
j
)
x=x
i
(6.10)
De seguida apresentamos diferentes particularizac oes da f ormula (6.9).
6.3.1 Primeira derivada: 2 pontos
Seja f uma func ao conhecida nos pontos x
i
e x
i+1
. Se em (6.7) zermos n = 1, temos:
f(x) = P
1
(x) +
f
(2)
()
2
i+1

j=i
(x x
j
) (6.11)
=
i+1

j=i
f(x
j
)l
j
(x) +
f
(2)
()
2
i+1

j=i
(x x
j
) (6.12)
= f(x
i
)
x x
i+1
x
i
x
i+1
+ f(x
i+1
)
x x
i
x
i+1
x
i
+
f
(2)
()
2
(x x
i
)(x x
i+1
). (6.13)
Ent ao:
f

(x
i
) f(x
i
)
1
x
i
x
i+1
+ f(x
i+1
)
1
x
i+1
x
i
, (6.14)
sendo o erro cometido:
d
dx
_
f
(2)
()
2
(x x
i
)(x x
i+1
)
_
x=x
i
=
f
(2)
()
2
(x
i
x
i+1
) , (x
i
, x
i+1
) .
152
6.3. Abordagem do Polin omio interpolador de Lagrange Departamento de Matem atica
A f ormula de aproximac ao
f

(x
i
) =
f(x
i+1
) f(x
i
)
x
i+1
x
i
(6.15)
e designada f ormula progressiva para a primeira derivada.
Podamos antes ter considerado como pontos de interpolac ao x
i1
e x
i
, e neste caso ob-
teramos:
f

(x
i
) =
f(x
i
) f(x
i+1
)
x
i
x
i+1
(6.16)
que e designada f ormula regressiva para a primeira derivada. E o erro e dado por:
f
(2)
()
2
(x
i
x
i1
) , (x
i1
, x
i
) .
Se considerarmos pontos igualmente espacados, de espacamento h, temos respectivamente para
cada um dos casos:
f

(x
i
)
f(x
i+1
) f(x
i
)
h
(6.17)
f

(x
i
)
f(x
i
) f(x
i+1
)
h
(6.18)
6.3.2 Primeira derivada: 3 pontos
Seja f uma func ao conhecida nos pontos x
i1
, x
i
e x
i+1
. Se em (6.7) zermos n = 2, resulta:
f(x) = P
2
(x) +
f
(3)
()
6
i+1

j=i1
(x x
j
) (6.19)
=
i+1

j=i1
f(x
j
)l
j
(x) +
f
(3)
()
(3)!
i+1

j=i1
(x x
j
) (6.20)
= f(x
i1
)
(x x
i
)(x x
i+1
)
(x
i1
x
i
)(x
i1
x
i+1
)
+ f(x
i
)
(x x
i1
)(x x
i+1
)
(x
i
x
i1
)(x
i
x
i+1
)
+ (6.21)
+ f(x
i+1
)
(x x
i1
)(x x
i
)
(x
i+1
x
i1
)(x
i+1
x
i
)
+
f
(3)
()
3
(x x
i1
)(x x
i
)(x x
i+1
). (6.22)
Ent ao, com x = x
i
temos:
f

(x
i
) f(x
i1
)
(x
i
x
i+1
)
(x
i1
x
i
)(x
i1
x
i+1
)
+ f(x
i
)
(x
i
x
i1
)(x
i
x
i+1
)
(x
i
x
i1
)(x
i
x
i+1
)
+ (6.23)
+ f(x
i+1
)
(x
i
x
i1
)
(x
i+1
x
i1
)(x
i+1
x
i
)
sendo o erro cometido:
f
(3)
()
3!
(x
i
x
i1
) (x
i
x
i+1
) , (x
i1
, x
i+1
) .
A f ormula (6.23) e designada como f ormula centrada para a primeira derivada.
153
UTAD 6. Diferenciac ao e integrac ao num erica
Com x = x
i1
temos:
f

(x
i1
) f(x
i1
)
2x
i1
x
i
x
i+1
(x
i1
x
i
)(x
i1
x
i+1
)
+ f(x
i
)
x
i1
x
i+1
(x
i
x
i1
)(x
i
x
i+1
)
+(6.24)
+ f(x
i+1
)
x
i1
x
i
(x
i+1
x
i1
)(x
i+1
x
i
)
sendo o erro cometido:
f
(3)
()
3!
(x
i1
x
i
) (x
i1
x
i+1
) , (x
i1
, x
i+1
) .
Af ormula (6.24) e designada como f ormula progressiva para a primeira derivada comtr es pontos.
Se considerarmos pontos igualmente espacados nas f ormulas anteriores, de espacamento h,
temos respectivamente para cada um dos casos:
f

(x
i
)
f(x
i+1
) f(x
i1
)
2h
(6.25)
com erro:
f
(3)
()
3!
(h
2
), (x
i1
, x
i+1
) .
De igual modo:
f

(x
i1
)
3f(x
i1
) + 4f(x
i
) f(x
i+1
)
2h
(6.26)
com erro:
f
(3)
()
3!
h
2
, (x
i1
, x
i+1
) .
A f ormula centrada e importante por ser nulo o coeciente de f(x
i
), o que implica menos c alculos,
e admitindo que f
(3)
(x) varia pouco no intervalo (x
i1
, x
i+1
) , podemos concluir que o erro de
truncatura desta f ormula e cerca de metade do erro cometido com as f ormulas extremas; esta e
uma das f ormulas de derivac ao mais usadas na pr atica.
Exemplo 6.1 Considere a seguinte tabela de dados:
x
i
0.2 0.4 0.6 0.8 1
f(x
i
) 98 92 81 64 38
Determine uma aproximac ao para f

(0.2), f

(0.6) e f

(1).
Aplicando as f ormulas (6.26), (6.25), (6.6), repectivamente, obtemos:
f

(0.2)
1
2 0.2
(3 98 + 4 92 81) = 17.5
f

(0.6)
1
2 0.2
(64 92) = 70
f

(1)
1
0.2
(81 3 64 + 2 38) = 175
154
6.3. Abordagem do Polin omio interpolador de Lagrange Departamento de Matem atica

6.3.3 Segunda derivada: 3 pontos


Para determinarmos agora uma f ormula num erica para a segunda derivada de uma func ao
emprica, qualquer das t ecnicas anteriormente citadas pode ser utilizada. Assim, a ttulo de exem-
plo, consideremos f denida empiricamente em pontos igualmente espacados, de espacamento
h. A func ao e ent ao conhecida nos pontos x
i1
, x
i
e x
i+1
, e tem derivada de quarta ordem limi-
tada em (x
i1
, x
i+1
) . Procedendo de igual modo como em Secc ao 6.2, escrevemos f

(x
i
) como
combinac ao linear de f(x
i1
), f(x
i
) e f(x
i+1
) :
f

(x
i+1
) = af(x
i1
) + bf(x
i
) + cf(x
i+1
)
Ent ao, usando o Teorema de Taylor em torno do ponto x
i
:
af(x
i1
) + bf(x
i
) + cf(x
i+1
) = (a + b + c)f(x
i
) + (a c)f

(x
i
)h + (a + c)f

(x
i
)
h
2
2
+ (6.27)
+ (a c)f

(x
i
)
h
3
6
+
_
af
(4)
(
1
) + cf
(4)
(
2
)
_
h
4
24
,
com
1
,
2
(x
i1
, x
i+1
) . (6.28)
Uma possvel aproximac ao para f

(x
i
), pode ser obtida considerando:
_
_
_
a + b + c = 0
a c = 0
isto e, fazendo a = c =
b
2
. e obtemos assim a f ormula de aproximac ao desejada. Para b =
2, a = c = 1, temos:
f

(x
i
) =
f(x
i+1
) 2f(x
i
) + f(x
i1
)
h
2
. (6.29)
Esta f ormula e designada f ormula centrada para a segunda derivada. A esta corresponde o erro:

h
2
24
_
af
(4)
(
1
) + cf
(4)
(
2
)
_
, com
1
,
2
(x
i1
, x
i+1
)
Se f C
4
[x
i1
, x
i+1
], ent ao o erro anterior toma a forma:

h
2
12
f
(4)
(), (x
i1
, x
i+1
) .
6.3.4 Derivadas parciais
Seja f(x, y) uma func ao real de duas vari aveis reais, denida na malha triagular = [a, b]
[c, d]. Consideramos ent ao a partic ao:
x
i
= x
i1
+ h, x
0
= a, h = (b a)/n
y
j
= y
j1
+ k, y
0
= c, k = (d c)/m
155
UTAD 6. Diferenciac ao e integrac ao num erica
Para aproximarmos as seguintes derivadas parciais:
f
x
(x
i
, y
j
),

2
f
x
2
(x
i
, y
j
),
notemos em primeiro lugar que a segunda vari avel e xa, portanto, todas as f ormulas, ante-
riormente deduzidas para a derivadas de primeira e segunda ordem s ao v alidas para calcular
aproximac oes destas derivadas parciais. Usando a f ormula progressiva (6.17), temos:
f
x
(x
i
, y
j
)
f(x
i+1
, y
j
) f(x
i
, y
j
)
h
(6.30)
Aplicando a f ormula progressiva com 3 pontos (6.26), vem:
f
x
(x
i
, y
j
)
3f(x
i
, y
j
) + 4f(x
i+1
, y
j
) f(x
i+2
, y
j
)
2h
. (6.31)
De igual modo, usando a f ormula centrada (6.25) temos:
f
x
(x
i
, y
j
)
f(x
i+1
, y
j
) f(x
i1
, y
j
)
2h
. (6.32)
Relativamente ` a segunda derivada, se usarmos (6.29), vem:

2
f
x
2
(x
i
, y
j
)
f(x
i+1
, y
j
) 2f(x
i
, y
j
) + f(x
i1
, y
j
)
h
2
. (6.33)
De modo an alogo se estabelecem as f ormulas num ericas de aproximac ao das derivadas parciais
relativamente ` a vari avel y,
f
y
(x
i
, y
j
),

2
f
y
2
(x
i
, y
j
)
Exemplo 6.2 Pretende-se calcular o gradiente da func ao f(x, y) = x
2
+y cos(xy) no ponto
P =
_

2
, 0
_
.
Usando por exemplo a f ormula centrada (6.32), com x
i
=

2
e x
j
= 0 e h = 0.1,
obtemos:
f
x
(P) =
f (x
i+1
, 0) f (x
i1
, 0)
2h
=
x
2
i+1
x
2
i1
2h
=
(x
i+1
x
i1
)(x
i+1
+ x
i1
)
2h
=
(2h)(2x
i
)
2h
=
156
6.3. Abordagem do Polin omio interpolador de Lagrange Departamento de Matem atica
f
y
(P) =
f
_

2
, y
j+1
_
f
_

2
, y
j1
_
2h
=
_

2
_
2
+ y
j+1
cos
_

2
y
j+1
_

2
_
2
y
j1
cos
_

2
y
j1
_
2h
=
(y
j
+ h) cos
_

2
(y
j
+ h)
_
(y
j
h) cos
_

2
(y
j
h)
_
2h
=
hcos
_

2
(h)
_
(h) cos
_

2
(h)
_
2h
=
2hcos
_

2
(h)
_
2h
= cos
_

2
(0.1)
_
= 0.9877
logo
f(p) (, 0.9877).

Em SCILAB, existe tamb em diferenciac ao num erica:


v=(1:8)3;
diff(v)
diff(v,3)
A=[(1:8)2 (1:8)3 (1:8)4];
diff(A,3,2)
diff(A,4,2) // diferenca de ordem-4
//diferenciacao aproximada
step=0.001
t=0:step:10;
y=sin(t);
dy=diff(sin(t))/step; //diferenciacao aproximada da funcao sin(t)
norm(dy-cos(t(1:$-1)),%inf)
157
UTAD 6. Diferenciac ao e integrac ao num erica
6.4 Integrac ao num erica
Designa-se por integrac ao num erica o processo de obtenc ao de valores aproximados (ou exac-
tos!) para o integral de uma func ao f num dado intervalo [a, b], isto e, um valor aproximado para
_
b
a
f(x)dx. (6.34)
Os m etodos de integrac ao num erica s ao usados quando f e impossvel ou difcil de integrar
analiticamente, ou ainda sempre que a func ao integranda e denida empiricamente. O m etodo
b asico para aproximar o valor do integral (6.34) designa-se por quadratura num erica e consiste na
construc ao de uma f ormula do tipo:
_
b
a
f(x)dx
n

i=0
A
i
f(x
i
). (6.35)
Existem diferentes t ecnicas de obtenc ao das f ormulas de quadratura. O processo mais simpes
consiste em considerar a aproximac ao da func ao integranda por um polin omio interpolador de
determinada ordem.
6.4.1 F ormulas de Newton-Cotes simples
Recorrendo ` a teoria da interpolac ao, sabemos que se f C
n+1
[a, b] e a x
0
< x
1
< <
x
n1
< x
n
b, ent ao sendo P
n
(x) o polin omio interpolador de f nos pontos (x
i
, f(x
i
)) , i =
0, 1, . . . , n e x [a, b], (x) (a, b) tal que
f(x) = P
n
(x) +
f
(n+1)
((x))
(n + 1)!
n

j=0
(x x
j
) (6.36)
Assim sendo, podemos aproximar o integral denido de f em [a, b] por:
I(f) =
_
b
a
f(x)dx
_
b
a
P
n
(x)dx, (6.37)
cometendo o erro
E(f) =
_
b
a
(f(x) P
n
(x)) dx =
_
b
a
f
(n+1)
((x))
(n + 1)!
n

j=0
(x x
j
)dx. (6.38)
Se em (6.36) zermos n = 1 (as abcissas de interpolac ao s ao ent ao x
0
= a e x
1
= b) obtemos:
f(x) = f(a)
x b
b a
+ f(b)
x a
b a
+
f

((x))
2
(x a)(x b), x [a, b], (a, b)
e portanto
_
b
a
f(x)dx = f(a)
_
b
a
x b
b a
dx + f(b)
_
b
a
x a
b a
dx + (6.39)
+
_
b
a
f

((x))
2
(x a)(x b)dx, x [a, b], (x) (a, b).
158
6.4. Integrac ao num erica Departamento de Matem atica
Como exerccio o leitor dever a vericar que:
f(a)
_
b
a
x b
b a
dx + f(b)
_
b
a
x a
b a
dx =
b a
2
(f(a) + f(b)) .
Por outro lado, usando o Teorema do Valor M edio para integrais:
_
b
a
f

((x))
2
(x a)(x b)dx = f

()
(b a)
3
12
, (a, b).
Conclui-se ent ao que
I(f) =
_
b
a
f(x)dx
b a
2
(f(a) + f(b)) .
Esta e designada f ormula dos trap ezios, e tem o erro associado:
f

((x))
(b a)
3
12
, (a, b)
Figura 6.1: Representac ao gr aca da regra dos trap ezios
Vamos sistematizar estas ideias no seguinte teorema:
Teorema 6.1 Se f tem segunda derivada contnua em [a, b], ent ao existe (a, b) tal que
I(f) =
_
b
a
f(x)dx =
b a
2
(f(a) + f(b)) f

((x))
(b a)
3
12
.
Se zermos o mesmo raciocnio com n = 2, considerando os pontos de interpolac ao, x
0
= a,
x
1
= c =
a + b
2
e x
2
= b, vamos obter:
f(x) = P
2
(x) +
f
(3)
((x))
(3)!
(x a)(x c)(x b), (a, b),
I(f) =
_
b
a
f(x)dx =
_
b
a
P
2
(x)dx +
_
b
a
f
(3)
((x))
(3)!
(x a)(x c)(x b)dx,
159
UTAD 6. Diferenciac ao e integrac ao num erica
ou seja:
I(f) =
_
b
a
f(x)dx
h
3
(f(a) + 4f(c) + f(b))
com h =
b a
2
, e esta aproximac ao e designada f ormula de Simpson. Esta f ormula tem erro de
ordem O(h
4
).
Sabe-se no entanto que com uma outra abordagem e possvel deduzir a f ormula de Simpson com
Figura 6.2: Representac ao gr aca da regra de Simpson
ordem O(h
5
). Vejamos:
Teorema 6.2 Se f admite derivadas contnuas em [a, b] at e ` a ordem 4, ent ao existe (a, b) tal
que
I(f) =
_
b
a
f(x)dx =
h
3
(f(a) + 4f(c) + f(b))
h
5
90
f
(4)
()
90
onde h =
b a
2
.
Demonstrac ao: Se f
(4)
e func ao contnua em [a, b], fazendo o desenvolvimento em
f ormula de Taylor em torno do ponto c =
a + b
2
, temos:
f(x) = f(c)+f

(c)(xc)+
f

(c)
2
(xc)
2
+
f

(c)
6
(xc)
3
+
f
(4)
((x))
24
(xc)
4
, x [a, b], (x) (a, b),
donde resulta (verique):
I(f) = f(c)(b a) +
f

(c)
3
h
3
+
_
b
a
f
(4)
((x))
24
(x c)
4
dx.
Pelo Teorema do Valor M edio para integrais, temos:
I(f) = f(c)(b a) +
f

(c)
3
h
3
+
h
5
60
f
(4)
(), (a, b)
160
6.4. Integrac ao num erica Departamento de Matem atica
Usando agora a f ormula das diferencas centradas para a segunda derivada (6.29)
f

(c) =
f(a) 2f(c) + f(b)
h
2

h
2
12
f
(4)
(), (a, b),
obt em-se:
I(f) = f(c)(b a) +
f(a) 2f(c) + f(b)
h
2

h
2
12
f
(4)
() +
h
5
60
f
(4)
(), (a, b)
ou ainda:
I(f) =
h
3
(f(a) + 4f(c) + f(b)) +
h
5
12
_
5f
(4)
() + 3f
(4)
()
15
_
. .

h
5
90
f
(4)
(),(a,b)
, , (a, b)

Note que esta f ormula e exacta para polin omios de grau inferior ou igual a 3.
Vejamos o seguinte exemplo:
Exemplo 6.3 Pretende-se calcular uma aproximac ao de I(f) =
_
2
0
f(x)dx, utilizando a
f ormula dos trap ezios:
_
2
0
f(x)dx f(0) + f(2)
e de Simpson:
_
2
0
f(x)dx
1
3
(f(0) + 4f(1) + f(2))
considerando diferentes tipos de func oes:
f(x) x
2
x
4
1
x + 1

1 + x
2
sin x e
x
v. exacto 2.667 6.400 1.099 2.958 1.416 6.389
f. trapezoidal 4.000 16.000 1.333 3.326 0.909 8.389
f. Simpson 2.667 6.667 1.111 2.964 1.425 6.421
Em SCILAB para obtermos um valor aproximado do integral podemos fazer:
integrate( x2 ,x ,0,2)
ou
function y=f(x),y=x2,endfunction
161
UTAD 6. Diferenciac ao e integrac ao num erica
Esta func ao fornece tamb em uma estimativa para o erro.
[I,err]=intg(0,2,f)
Donde resulta uma boa aproximac ao para o valor exacto.
Esta func ao pode ainda ser utilizada requerendo um limite para o erro relativo (er)
ou erro absoluto (ea) (o que tamb em pode ser usado em integrate ):
intg(0,2,f,er=0.00001)
Para integrar uma func ao emprica usando a f ormula trapezoidal, denimos o n umero
de pontos de acordo com as nossas prefer encias:
t=0:2:2
inttrap(t,t2)
Para a regra de Simpson necessitamos de escrever um func ao, mas faz e-lo-emos
mais ` a frente.

Para obter outras f ormulas de Newton-Cotes aproximamos f(x) P


n
(x), n 3, i.e.
_
b
a
f(x)dx =
n

i=0
f(x
i
)
_
b
a
l
i
(x)dx + E(f)
Consideremos ent ao o seguinte resultado:
Teorema 6.3 Seja f uma func ao denida em [a, b] onde consideramos os pontos x
i
= x
i1
+
h, i = 1, . . . , n, com x
0
= a e h = (b a)/n e seja a
i
=
_
b
a
l
i
(x)dx, i = 0, . . . , n.
1. Se n e mpar e f tem derivada de ordem n + 1 contnua em [a, b] ent ao existe [a, b] tal
que
I(f) =
n

i=0
a
i
f(x
i
) + h
n+2
f
(n+1)()
(n + 1)!
_
t
0
t(t 1) . . . (t n)dt
2. Se n e par e f tem derivada de ordem n+2 contnua em [a, b] ent ao existe [a, b] tal que
I(f) =
n

i=0
a
i
f(x
i
) + h
n+3
f
(n+2)()
(n + 2)!
_
t
0
t
2
(t 1) . . . (t n)dt
162
6.4. Integrac ao num erica Departamento de Matem atica
Conclumos assim que se n e mpar as f ormulas de Newton-Cotes s ao exactas para polin omios
de grau menor ou igual a n, e se n e par as f ormulas de Newton-Cotes s ao exactas para polin omios
de grau menor ou igual a n + 1.
Denic ao 6.1 Uma f ormula de quadratura diz-se de ordem de exactid ao (ou precis ao ) k se e
exacta para polin omios de grau menor ou igual a k.
A f ormula dos trap ezios tem ordem de precis ao um equanto que a f ormula de Simpson tem ordem
de precis ao tr es.
6.4.2 F ormulas de Newton-Cotes compostas
As f ormulas de Newton-Cotes s ao usualmente desapropriadas para uso em intervalos de
integrac ao de grande amplitude, dado estes intervalos requererem o uso de f ormulas de elevado
grau tornando assim estas f ormulas difceis de calcular. Para al em disso, o facto de as f ormulas de
Newton-Cotes serem deduzidas com base em polin omios interpoladores, que usam pontos igual-
mente espacados, vai fazer com que a adopc ao de f ormulas de elevado grau seja inadequado dada
a natureza oscilat oria destes polin omios e que dar a origem a erros de truncatura apreci aveis.
Discutimos de seguida uma t ecnica que consiste em dividir o intervalo de integrac ao num
n umero elevado de subintervalos e aplicar a cada um destes subintervalos uma das regras mais
simples, normalmente a regra dos trap ezios ou de Simpson.
Exemplo 6.4 Vamos analisar o c alculo do integral
_
4
0
e
x
dx.
_
4
0
e
x
dx = e
4
e
0
= 53.59815... v. exacto
_
4
0
e
x
dx
2
3
(e
0
+ 4e
2
+ e
4
) = 56.76958... R. Simpson
Erro = 3.17143...
O erro n ao e aceit avel!!! Vamos experimentar uma abordagem diferente:
_
4
0
e
x
dx =
_
2
0
e
x
dx +
_
4
2
e
x
dx

1
3
(e
0
+ 4e + e
2
) +
1
3
(e
2
+ 4e
3
+ e
4
)

1
3
(e
0
+ 4e + 2e
2
+ 4e
3
+ e
4
)
53.86385
Erro = 0.26570....
163
UTAD 6. Diferenciac ao e integrac ao num erica
Encorajados por estes resultados, podemos ainda tentar melhorar:
_
4
0
e
x
dx =
_
1
0
e
x
dx +
_
2
1
e
x
dx +
_
3
2
e
x
dx +
_
4
3
e
x
dx

1
6
(e
0
+ 4e
1/2
+ e) +
1
6
(e + 4e
3/2
+ e
2
) +
1
6
(e
2
+ 4e
5/2
+ e
3
) +
1
6
(e
3
+ 4e
7/2
+ e
4
)

1
3
(e
0
+ 4e
1/2
+ 2e + 4e
3/2
+ 2e
2
+ 4e
5/2
+ 2e
3
+ 4e
7/2
+ e
4
)
53.61622...
Erro = 0.01807....

Como ilustra o exemplo anterior, esta abordagem conduz a uma diminuic ao do erro. Vamos
ent ao generalizar o procedimento que acab amos de descrever, isto e, subdividimos o intervalo
inicial [a, b] em subintervalos e aplicamos as f ormulas simples de Newton-Cotes a cada um dos
subintervalos, obtendo desta forma as f ormulas compostas.
Teorema 6.4 Seja f uma func ao denida em [a, b] e neste intervalo consideremos a partic ao
uniforme a x
0
< x
1
< < x
n
b e h = (b a)/n. Se f tem derivada de segunda ordem
contnua em [a, b], ent ao existe [a, b] tal que
I(f) =
h
2
_
f(a) + 2
n1

i=1
f(x
i
) + f(b)
_

h
2
12
(b a)f

() (6.40)
Demonstrac ao:
I(f) =
_
b
a
f(x)dx =
n

i=1
_
x
i
x
i1
f(x)dx
Por aplicac ao da f ormula dos trap ezios a cada subintervalo, vem:
I(f) =
_
b
a
f(x)dx =
n

i=1
h
2
(f(x
i1
) + f(x
i
))
h
3
12
n

i=1
f

(
i
),
i
(x
i1
, x
i
) , i = 1, . . . , n.
Da ultima igualdade temos ainda:
I(f)
h
2
_
f(a) + 2
n1

i=1
f(x
i
) + f(b)
_
e
E
T
(f) =
h
3
12
n

i=1
f

(
i
).
Notemos que:
min
x[a,b]
f

(x) f

(
i
) max
x[a,b]
f

(x)
164
6.4. Integrac ao num erica Departamento de Matem atica
e consequentemente
min
x[a,b]
f

(x)
1
n
n

i=1
f

(
i
) max
x[a,b]
f

(x).
Logo, pelo Teorema do Valor Interm edio, existe (a, b) tal que
n

i=1
f

(
i
) = nf

().
E atendendo a que nh = b a, conclumos que:
E
T
(f) =
h
2
12
(b a)
n

i=1
f

().

A f ormula de aproximac ao (6.40) e chamada f ormula dos trap ezios composta.


Em SCILAB:
x = [0:0.1:1.5];
inttrap(x,f(x))
e o resultado e .3725.
ou
x = [0:0.05:1.5];
inttrap(x,f(x))
e o resultado e .374375.
De igual modo procedemos para obter a f ormula de Simpson composta:
Teorema 6.5 Seja f uma func ao denida em [a, b] e neste intervalo consideremos a partic ao
uniforme a x
0
< x
1
< < x
n
b e h = (b a)/n e n = 2m. Se f tem derivada de quarta
ordem contnua em [a, b], ent ao existe [a, b] tal que
I(f) =
h
3
_
f(a) + 4
m

i=1
f(x
2i1
) + 2
m1

i=1
f(x
2i
) + f(b)
_

h
4
180
(b a)f
(4)
() (6.41)
165
UTAD 6. Diferenciac ao e integrac ao num erica
Demonstrac ao:
I(f) =
_
b
a
f(x)dx =
m

i=1
_
x
2i
x
2i2
f(x)dx
Por aplicac ao da f ormula de Simpson a cada subintervalo, vem:
I(f) =
_
b
a
f(x)dx =
m

i=1
h
3
(f(x
2i2
) + 4f(x
2i1
) + f(x
2i
))
h
5
90
m

i=1
f
(4)
(
i
),

i
(x
2i2
, x
2i
) , i = 1, . . . , m.
Da ultima igualdade temos ainda:
I(f)
h
3
_
f(a) + 2
m

i=2
f(x
2i2
) + 4
m

i=1
f(x
2i1
) + f(b)
_
e
E
S
(f) =
h
5
90
n

i=1
f
(4)
(
i
).
Notemos que:
min
x[a,b]
f
(4)
(x) f
(4)
(
i
) max
x[a,b]
f
(4)
(x)
e portanto
min
x[a,b]
f
(4)
(x)
1
n
n

i=1
f
(4)
(
i
) max
x[a,b]
f
(4)
(x).
Pelo Teorema do Valor Interm edio, existe (a, b) tal que
n

i=1
f
(4)
(
i
) = mf
(4)
().
Atendendo a que 2mh = b a, conclumos que:
E
S
(f) =
h
4
180
(b a)
n

i=1
f
(4)
().

A f ormula de aproximac ao (6.41) e chamada f ormula de Simpson composta.


Em SCILAB:
deff([y]=f(x),y=x2);
x = [0:0.1:2];
function [I] = simpson13(x,f)
//Esta funcao calcula uma aproximacao para o integral de f(x)
166
6.4. Integrac ao num erica Departamento de Matem atica
//entre os limites x(1) e x(n) usando a Regra de Simpson 1/3
//Verifique se os vectores x e y tem o mesmo tamanho (que deve ser
um nr mpar)
//Os valores de x devem ser igualmente espacados, e distando entre
si h
[nrx,ncx]=size(x)
[nrf,ncf]=size(f)
n = ncx;
xdiff = mtlb diff(x);
h = xdiff(1,1);
I = f(1) + f(n);
for j = 2:n-1
if(modulo(j,2)==0) then
I = I + 4
*
f(j);
else
I = I + 2
*
f(j);
end;
end;
I = (h/3)
*
I
endfunction;
x = [0:0.1:2];
[I]=simpson13(x,f(x))
6.4.3 Quadratura de Gauss
Al em das f ormulas de Newton-Cotes, existe outro tipo de f ormulas de quadratura: as f ormulas
de Gauss. Nestas f ormulas os pontos x
i
, i = 0, . . . , n, bem como os coecientes A
i
, de (6.42) s ao
calculados de modo a minimizar o erro da aproximac ao:
_
b
a
f(x)dx
n

i=0
A
i
f(x
i
) (6.42)
para uma func ao arbitr aria f. De forma medir a exactid ao da f ormula, assume-se ser a melhor
167
UTAD 6. Diferenciac ao e integrac ao num erica
escolha aquela que produz um resultado exacto para a mais vasta classe de polin omios.
Consideremos os coecientes A
i
como n par ametros arbitr arios, e os pontos x
i
[a, b] mais
n par ametros arbitr arios, donde resulta um total de 2n par ametros a escolher. Se considerarmos a
classe dos polin omios de grau 2n 1, temos tamb em 2n par ametros. Esta e ent ao a classe de
polin omios para a qual se pode determinar uma f ormula exacta, atrav es da escolha adequada dos
2n par ametros.
De forma a ilustrar o procedimento da escolha de par ametros, consideremos n = 2, e
_
1
1
f(x)dx A
1
f(x
1
) + A
2
f(x
2
).
Pretendemos ent ao determinar os 4 par ametros A
1
, A
2
, x
1
e x
2
de modo a que esta f ormula
de quadratura num erica seja exacta para polin omios de grau inferior ou igual a 2n 1 = 3 .
Sendo
f(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
,
e porque
_
_
a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
_
dx = a
0
_
1dx + a
1
_
xdx + a
2
_
x
2
dx + a
3
_
x
3
dx
e suciente garantir que a f ormula seja exacta para cada um dos polin omios: 1, x, x
2
, x
3
, i.e.,
A
1
1 + A
2
1 =
_
1
1
1dx = 2
A
1
x
1
+ A
2
x
2
=
_
1
1
xdx = 0
A
1
x
2
1
+ A
2
x
2
2
=
_
1
1
x
2
dx =
2
3
A
1
x
3
1
+ A
2
x
3
2
=
_
1
1
x
3
dx = 0.
Obtemos assim um sistema possvel e determinado cuja soluc ao e:
A
1
= 1, , A
2
= 1, x
1
=

3
3
, x
2
=

3
3
.
Temos ent ao a seguinte aproximac ao:
_
1
1
f(x)dx f(
_
(3)
3
) + f(
_
(3)
3
).
Esta f ormula chama-se f ormula de Gauss-Legendre com dois pontos e e exacta para todos os po-
lin omios de grau 3.
168
6.4. Integrac ao num erica Departamento de Matem atica
Sem perda de generalidade consider amos:
_
1
1
f(x)dx
Pois se tivermos o integral sobre o intervalo [a, b], podemos sempre efectuar a mudanca de vari avel:
_
b
a
f(x)dx =
b a
2
_
1
1
f
_
(b a)t + b + a
2
_
dt.
A obtenc ao dos 2n par ametros pelo m etodo acabado de descrever revela-se muito difcil para n
grande.
Em geral, os pontos de integrac ao x
1
, x
2
, . . . , x
n
para a quadratura de Gauss s ao os zeros do
polin omio de Legendre p
n
(x) denidos recurrentemente da seguinte forma:
p
0
(x) = 1
p
1
(x) = x
p
n+1
(x) =
1
n + 1
[(2n + 1)xP
n
(x) nP
n1
(x)] , n 1
A
i
= 2
1 x
2
i
[(n + 1)P
n
(x
i
)]
2
, i = 1, . . . , n

E ainda de salientar que tais elementos se encontram em tabelas, para o intervalo [1, 1], que
apresentamos seguidamente:
n x
i
A
i
2
1

3
0.5773503 1
3 0
8
9
0.8888889

_
3
5
0.7745967
5
9
0.5555556
4 0.3399810 0.6521452
0.8611363 0.3478548
0 0.5688889
5 0.5384693 0.4786287
0.9061798 0.2369269
Exemplo 6.5 Determine I(f) e I(g) utilizando as f ormulas de Gauss com n = 2, 3, 4
considerando
f(x) =
1
x + 1
, g(x) =
_
1 + x
2
, x [0, 2]
169
UTAD 6. Diferenciac ao e integrac ao num erica
Compare os resultados obtidos com os valores exactos.
Atendendo a que as f ormulas de Gauss foram estabelecidas para o intervalo [1, 1],
temos:
I(f) =
_
2
0
1
x + 1
dx =
_
1
1
1
2 + t
dt.
Para n = 2:
I(f)
1
2

3
3
+
1
2 +

3
3
1.091.
Calculando de modo an alogo I(f) com n = 3 e n = 4 e I(g) com n = 2, 3, 4, obtemos os
valores da tabela seguinte:
n = 2 n = 3 n = 4 v. exacto
f(x) 1.091 1.098 1.099 1.099
g(x) 2.953 2.958 2.958 2.958
Observe que I(f) e I(g) foram calculadas anteriormente utilizando as f ormulas de
trap ezios e Simpson.
6.4.4 Aplicac ao ao c alculo de integrais duplos
Seja f uma func ao de duas vari aveis x e y denida no regi ao rectangular = [a, b] [c, d].
Atendendo a que
I(f) =
_
b
a
_
d
c
f(x, y)dydx =
_
b
a
__
d
c
f(x, y)dy
_
dx
Podemos estabelecer f ormulas de integrac ao para I(f), utilizando as f ormulas de integrac ao j a
estudadas.
Primeiro vamos ver como funciona a aplicac ao da f ormula dos trap ezios:
_
b
a
__
d
c
f(x, y)dy
_
dx =
_
b
a
_
d c
2
_
f(x, c) + f(x, d)
(d c)
3
12

2
f
y
2
(x, )
__
dx, (c, d)
=
d c
2
__
b
a
f(x, c)dx +
_
b
a
f(x, d)dx
_

(d c)
3
12
_
b
a

2
f
y
2
(x, )dx
=
(a b)(d c)
2
(f(a, c) + f(b, c) + f(a, d) + f(b, d))

(b a)
3
(d c)
24
_

2
f
x
2
(
1
, c) +

2
f
x
2
(
2
, c)
_
+
(b a)(d c)
3
12

2
f
y
2
(
3
, )
onde
1
,
2
,
3
(a, b) e (c, d).
Vamos sistematizar estas ideias no seguinte teorema:
170
6.4. Integrac ao num erica Departamento de Matem atica
Teorema 6.6 Seja f uma func ao denida na regi ao rectangular = [a, b][c, d] e comderivadas
parciais

2
f
x
2
e

2
f
y
2
contnuas nessa mesma regi ao, tais que existem
1
,
2
,
3
(a, b) e (c, d)
tais que:
I(f)
(a b)(c d)
4
(f(a, c) + f(b, c) + f(a, d) + f(b, d)) (6.43)
e em que o respectivo erro e dado por:
E
T
(f) =
(b a)
3
(d c)
24
_

2
f
x
2
(
1
, c) +

2
f
x
2
(
2
, c)
_
+
(b a)(d c)
3
12

2
f
y
2
(
3
, ) (6.44)
De igual modo procederamos se quisessemos aplicar a f ormula de Simpson. Em SCILAB, temos:
X=[0,0;1,1;1,0];
Y=[0,0;0,1;1,1];
deff(z=f(x,y),z=cos(x+y))
[I,e]=int2d(X,Y,f)
Observac ao 6.1 A mesma t ecnica pode ser aplicada na aproximac ao de integrais triplos ou de
ordem superior.
Exemplo 6.6 Determine o volume do s olido S limitado superiormente pelo parabol oide
elptico de equac ao
x
2
+ 2y
2
+ z = 16
e inferiormente pelo quadrado = [0, 2] [0, 2].
Pelo Teorema 6.6 com f(x, y) = 16 x
2
y
2
obtemos V 40.
Subdividindo o quadrado de acordo com a seguinte gura e aplicando as f ormulas
compostas, i.e., aplicando (6.43) a cada um dos quadrados, obtemos V 46.
Notemos que o valor exacto e V = 48.

171
UTAD 6. Diferenciac ao e integrac ao num erica
6.5 Exerccios
1. Considere os dados dispostos na seguinte tabela:
x 0.2 0.4 0.6 0.8 1.0
f(x) 0.9798652 0.9177710 0.8080348 0.6386093 0.3843735
a) Use uma f ormula conveniente para aproximar f

(0.4) e f

(0.4).
b) Repita o mesmo exerccio para f

(0.6) e f

(0.6).
2. Considere um circuito com voltagem c(t) e indunct ancia L, e a primeira lei de kirchhoff:
c = L
di
dt
+ Ri, onde R representa a resist encia do circuito e i a intensidade da corrente.
Suponha que medimos a intensidade da corrente para determinados valores de t e obtemos:
t 1.00 1.01 1.02 1.03 1.04
i 3.10 3.12 3.14 3.18 3.24
t e medido em segundos, i em amperes, a indunct ancia e a constante 0.98 henries, e a
resist encia e 0.142 ohms. Aproxime o valor da voltagem c para os diferentes valores de t.
3. Determine o valor aproximado do integral
_
1
0
e
x
dx usando
a) a regra simples dos trap ezios.
b) a regra simples de Simpson.
c) Indique um limite superior para o erro cometido em cada um dos casos.
4. Dada a func ao f(x), denida no intervalo [0, 1] por
f(x) =
_
_
_
x, 0 x 0.5
1 x, 0.5 x 1
,
determine
_
1
0
f(x) dx usando a regra simples dos trap ezios e a regra simples de Simpson.
5. Pretende-se calcular um valor aproximado para o integral l =
_
2
1
ln
1
x
dx.
a) Use a regra de Simpson para obter l com tr es casas decimais correctas.
172
6.5. Exerccios Departamento de Matem atica
b) Sem calcular o valor exacto de l diga, justicando, se a aproximac ao da area foi cal-
culada por defeito ou por excesso.
6. A func ao f(x) e dada pela seguinte tabela:
x
i
0 0.1 0.2 0.3
f(x
i
) 2 2.5 0.8 -1
a) Obtenha uma aproximac ao para
_
0.3
0
f(x) dx pela f ormula trapezoidal composta.
b) Calcule uma estimativa para o erro obtido com tal aproximac ao.
7. Considere a seguinte tabela da func ao f(x):
x
i
.00 0.2 0.4 0.6 0.8 1.0
f(x
i
) 1.00 0.83 0.71 0.62 0.36 0.30
a) Ser a possivel calcular
_
1
0
f(x) dx usando a regra dos trap ezios com um erro que n ao
exceda 10
3
? Justique a sua resposta.
b) Calcule uma aproximac ao para o valor do integral.
8. Use a f ormula dos trap ezios composta para aproximar
_
2
1
xlnxdx considerando n = 4.
9. Seja l =
_
1
2
xe
2x
dx
a) Qual o menor n umero de pontos que deve considerar em [2, 1] por forma que o erro
cometido no c alculo de l n ao exceda 0.5 10
3
quando utiliza a regra dos trap ezios?
b) Calcule o valor aproximado de l de acordo com a alnea anterior.
10. Aproxime
_

0
sin xdx com um erro absoluto inferior a 0.00002, usando a regra de Simpson
composta.
11. Pretende-se calcular o valor aproximado do integral
_
/2
/3
e
sin x
dx pela regra dos trap ezios
com um erro de truncatura que n ao exceda 10
4
e
3
.
a) Determine o menor n umero de subintervalos em que se deve dividir o intervalo de
integrac ao para obter o resultado obtido.
173
UTAD 6. Diferenciac ao e integrac ao num erica
b) Indique os pontos em que se deve conhecer o valor da func ao integranda e os c alculos
a efectuar para obter o valor aproximado do integral usando a regra referida.
12. Calcule o valor aproximado do integral
_ _
R
e
(x+y)
dxdy onde R e a regi ao denida pelas
curvas y = x
2
e y =

x.
174
Ap endice A
Noc oes e teoremas fundamentais
Segue-se uma breve revis ao de alguns conceitos do C alculo Innitesimal. No que se segue,
f C[a, b] signica que f e func ao contnua no intervalo [a, b] e f C
n
[a, b] signica que f e
as respectivas derivadas at e a ordem n s ao func oes contnuas em [a, b].
Denic ao A.1 (Limite) Seja f uma func ao denida num conjunto X R. Diz-se que f tem
limite L em x
0
, e escreve-se lim
xx
0
f(x) = L, se, dado um n umero real > 0, existe > 0 tal que
[f(x) L[ < sempre que x X e 0 < [x x
0
[ < , ou seja,
lim
xx
0
f(x) = L
>0

>0
: 0 < [x x
0
[ < =[f(x) L[ <
Denic ao A.2 (Func ao contnua) Seja f uma func ao denida em X R e x
0
X. f diz-se
contnua em x
0
se lim
xx
0
f(x) = f(x
0
). f diz-se contnua em X se e contnua para todo o x X.
Denic ao A.3 (Sucess ao) Consideremos x
n

n=1
uma sucess ao innita de n umeros reais ou
complexos. Diz-se que esta sucess ao converge para x (chamado o limite da sucess ao) se, para
cada > 0, existe um inteiro positivo N() tal que n > N() implica [x
n
x[ < , ou seja,

>0

N>0
: n > N() =[x
n
x[ < .
lim
n
x
n
= x e x
n

n
x s ao notac oes usuais de sucess ao convergente.
Teorema A.1 Seja f uma func ao denida num conjunto X R e x
0
X, ent ao as seguintes
proposic oes s ao equivalentes:
f e contnua em x
0
.
Se x
n

n=1
e um sucess ao em X que converge para x
0
, ent ao lim
xx
0
f(x) = f(x
0
).
175
UTAD A. Noc oes e teoremas fundamentais
Teorema A.2 (Teorema de Bolzano) Se f C[a, b], ent ao para todo o y entre f(a) e f(b),
existe pelo menos um x tal que f(x) = y.
Teorema A.3 (Teorema de Rolle) Se f C[a, b], f e diferenci avel em (a, b) e f(a) = f(b),
ent ao existe pelo menos um (a, b) tal que f

() = 0.
Teorema A.4 (Generalizac ao do teorema de Rolle) Se f C[a, b] e f diferenci avel n vezes em
(a, b), e se tiver nesse intervalo n zeros, ent ao f

tem pelo menos (n1) zeros, f

tem pelo menos


(n 2) zeros, ..., f
(n1)
tem pelo menos 1 zero em (a, b).
Corol ario A.1 Entre dois zeros consecutivos da func ao, existe pelo menos um zero da derivada.
Corol ario A.2 Entre dois zeros da derivada, existe no m aximo um zero da func ao.
Teorema A.5 (Teorema do valor m edio de Lagrange) Se f C[a, b] e f e diferenci avel em
(a, b), ent ao existe pelo menos um (a, b) tal que f

() =
f(b) f(a)
b a
.
Teorema A.6 (Teorema do valor m edio para integrais) Se f C[a, b] e g uma func ao integr avel
em [a, b], ent ao existe pelo menos um (a, b) tal que f()
_
b
a
g(x)dx =
_
b
a
f(x)g(x)dx.
Denic ao A.4 (M aximo (mnimo) local) A f(x
0
) chama-se m aximo (mnimo) local de f se exis-
tir > 0 tal que f(x
0
) > f(x) (f(x
0
) < f(x)) para todo o x ,= x
0
tal que [x x
0
[ < .
Teorema A.7 Se f

for uma func ao contnua emx


0
e f

(x
0
) = 0, ent ao f(x
0
) e m aximo (mnimo)
local de f se f

(x
0
) < 0(f

(x
0
) > 0).
Teorema A.8 (Teorema de Weierstrass) Se f C[a, b], ent ao f possui em [a, b] pelo menos um
m aximo e um mnimo.
Teorema A.9 (Princpio da induc ao matem atica) Seja S
r
uma propriedade que envolve r N.
Se:
S
1
e verdadeira
S
k
e verdadeira =S
k+1
e verdadeira
ent ao S
r
e verdadeira para todo o r natural.
176
Ap endice B
Introduc ao ao Scilab
Este captulo tem como objectivo introduzir o ambiente SCILAB, bem como ganhar alguma
experi encia com as rotinas SCILAB. De forma a conseguir tal prop osito, consideram-se algu-
mas express oes SCILAB que tamb em se usam para formular problemas que exercitem o uso da
aritm etica de vrgula utuante. Dever a tentar responder a todas as quest oes propostas. Assume-se
a instalac ao sem qualquer problema (ver http://www.scilab.org/download/).
B.1 Como usar o Editor
Abra o SCILAB e seleccione editor. Automaticamente abre o Scipad. A partir do menu File
abra um novo cheiro ao qual d a o nome f1.sce.
Nesse cheiro escreva:
A=[1 2 3; 4 5 6; 7 8 9]
A partir do menu Execute, seleccione Load into Scilab. Acabou de denir uma
matriz. Pode tambem introduzir comandos directamente a partir do pronto do SCILAB.
B.2 Comandos b asicos
Denir vectores coluna:
x=[2;3;4]
Denir vectores linha:
x=[2 3 4] ou x=[2, 3, 4]
O SCILAB e sensvel ` as mai usculas e ` as min usculas. Todas as func oes pr e-denidas em SCI-
177
UTAD B. Introduc ao ao Scilab
LAB aparecem em min usculas. Caso n ao se recorde como utilizar uma dada func ao faca, por
exemplo:
help spec
Experimente as seguintes operac oes:
A
*
x
A
*
A
x
*
A
O SCILAB executa todos estes c alculos em precis ao dupla, mas formata o output usando um
formato mais pequeno. De forma a obter igual precis ao na sada:
format(20,e)
Experimente alguns c alculos para ver o que altera. Para retomar o formato anterior, fazemos:
format(10,v)
O ponto e vrgula no m do comando, n ao exibe a sada do comando, torna-se util quando opera-
mos com vectores/matrizes de grande dimens ao. Experimente.
Experimentemos obter vectores cujas componentes incrementam automaticamente:
w=0:0.1:1
z=20
*
sin(w)+0.01
*
exp(w)
plot2d(w,z)
0 1 2 3 4 5 6 7 8 9 10
50
0
50
100
150
200
250
Podemos ainda determinar a soluc ao do seguinte sistema: y=A x
O vector y e a soluc ao do seguinte conjunto de equac oes lineares Ax = y. Verique. Pode resolver
178
B.2. Comandos b asicos Departamento de Matem atica
o mesmo sistema usando o comando x= inv(A)
*
y. Compare os resultados obtidos. Ocomando
backslash e mais geral e pode ser usado mesmo com sistemas redundantes ou indeterminados,
determinando a soluc ao no sentido dos mnimos quadrados (ver Captulo 5). Experimente.
Resolva os seguintes exerccios:
1. A func ao arcsin e uma func ao elementar do SCILAB?
(a) Calcule sin
1
(0.5) em SCILAB.
(b) Se x = 0.5, ent ao sin
_
sin
1
(x)
_
x d a zero?
(c) Se x = /3, ent ao sin
_
sin
1
(x)
_
x d a zero? E se x =
5
11
?
2. Como se converte em SCILAB n umeros para a base 16 (hexadecimal) para a base (Sug:
Use appropos para descobrir). Qual a representac ao hexadecimal do n umero 61453?
Internamente, os computadores representam sempre os n umeros em hexadecimal.
3. Use o menu do SCILAB demos.
4. Escreva um programa em SCILAB quadroots que calcule e imprima as razes de uma
equac ao quadr atica ax
2
+ bx + c = 0, usando a f ormula resolvente. Dever a correr usando
o comando quadroots(a,b,c). Este programa deve devolver as duas razes atrav es de
uma func ao que se inicia da seguinte forma:
function [root1,root2]=quadroots(a,b,c)
O resultado dever a ser depois guardado nas vari aveis r
1
e r
2
, atrav es do seguinte comando:
[r1,r2]=quadroots(a,b,c)
Este programa deve evitar a divis ao por zero e enviar uma mensagem neste caso. No que
diz respeito as razes complexas, decida se quer ou n ao calcul a-las. Teste o seu programa
com os seguintes exemplos:
(a) x
2
+ 1 = 0
(b) 0x
2
+ 2x + 1 = 0
(c) x
2
+ 3x + 2 = 0
(d) 4x
2
+ 24x + 36 = 0
(e) 10
18
x
2
x 1 = 0
(f) 10
18
x
2
x + 1 = 0 (as razes s ao aproximadamente 1 + 10
18
e 10
8
1)
179
UTAD B. Introduc ao ao Scilab
B.3 C alculos com matrizes
Vamos aprender algumas func oes interessantes. Para tal comecamos por denir uma matriz:
A=[1 2 3 4; 1 4 9 16; 1 8 27 64; 1 16 81 256]
A transposta de A
det(A)
spec(A)
valores pr oprios
[D,X]=bdiag(A) diagonalizac ao por blocos
Calcule ainda: A(2,3), A(1:2,2:4),A(:,2),A(3,:),A(2:$,$)
$ design a ultima linha/columa, : designa todas as linhas
Calcular a forma triagular superior duma matriz: A=[1 2;3 4;5 6];
X=rref([A,eye(3,3)]);
R=X(:,1:2)
L=X(:,3:5);L
*
A
B.3.1 Criar matrizes
Experimente os seguintes comandos:
c=ones(4,3)
d=zeros(20,1)
I=eye(5,5)
D=diag([2 1 0 -1 -2])
L=diag([1 2 3 4],-1)
U=rand(5,5)
R=rand(5,5,normal) matriz R e normalmente distribuida por n umeros aleat orios
1. Calcule inv(A)
*
A e A
*
inv(A). Obt em o resultado esperado?
2. Verique se (AB)
1
= B
1
A
1
.
3. Calcule a inversa da matriz usando A
1
.
B.4 Dados e representac ao de func oes
Considere a seguinte tabela de dados experimentais:
180
B.4. Dados e representac ao de func oes Departamento de Matem atica
x
k
.5 .7 .9 1.3 1.7 1.8
y
k
.1 .2 .75 1.5 2.1 2.4
Em SCILAB:
x=[.5 .7 .9 1.3 1.7 1.8]
y=[.1 .2 .75 1.5 2.1 2.4]
plot2d(x,y,style=-1)
0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8
0.0
0.5
1.0
1.5
2.0
2.5
Experimente o mesmo problema com diferentes valores para o style, com valores negativos
obt em diferentes marcas e com valores positivos diferentes cores. Use xbasc() para limpar a
janela gr aca. Use help plot2d para mais detalhes.Experimente:
1. Os pontos devem ser representados por crculos.
2. O gr aco representa uma linha connua:plot2d(x,y)
3. Adicione um ttulo ao gr aco: title(my title);
4. Adicione uma legenda ao gr aco: plot2d(x,y,leg="sin(x)")
Vamos complicar mais um bocadinho:
x=[.5 .7 .9 1.3 1.7 1.8]
y=[.1 .2 .75 1.5 2.1 2.4]
plot2d(x,y,style=-1)
x vals=[.5 2]; // o intervalo das abcissas
y vals=[0 2.7 ];// o intervalo das ordenadas
plot2d(x vals,y vals)
181
UTAD B. Introduc ao ao Scilab
0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8
0.0
0.5
1.0
1.5
2.0
2.5
my title
legends([Line of best fit,Dados],[1,-1],5)
xtitle(Analise de dados)
0.5 1.0 1.5 2.0
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Analise de dados
Line of best fit
Dados
B.4.1 Escolha duma escala adequada
Considere-se o seguinte exemplo
n 3 5 9 17 33 65
s
n
.257 .0646 .0151 3.910
3
9.78 10
4
2.45 10
4
n=[ 3 5 9 17 33 65]
s=[2.57e-1 6.46e-2 1.51e-2 ... // ... signica que a linha corrente continua na linha
abaixo
3.96e-3 9.78e-4 2.45e-4];
xbasc()
plot2d(n,s,style=-1) // Gr aco fraco!!!
182
B.4. Dados e representac ao de func oes Departamento de Matem atica
Experimentemos de uma outra forma:
xbasc()
plot2d(log10(n),log10(s),style=-1) Outra hip otese e ainda:
0 10 20 30 40 50 60 70
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
Figura B.1: O segundo gr aco revela uma relac ao quase linear entre o logaritmo de cada uma das
quantidades.
plot2d(n,s,style=-1,logflag=ll)
0
10
1
10
2
10
4
10
3
10
2
10
1
10
0
10
B.4.2 Representac ao gr aca de func oes
Considere-se a seguinte func ao:
f(x) =
x[x[
(1 + x
2
)
no intervalo [5, 5]. Em SCILAB fazemos:
function [y]=f(x)
183
UTAD B. Introduc ao ao Scilab
y=xabs(x)/(1+x
2
);
endfunction
Estas linhas denem em SCILAB uma func ao de nome f. Podemos ent ao chamar esta func ao da
seguinte forma:
f(3)
e obtemos 0.9.. Para representar esta func ao, fazemos: x=(-5:0.1:5);
fplot2d(x,f)
Exercite mais um pouco:
6 4 2 0 2 4 6
1.0
0.8
0.6
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.0
1. Use SCILAB para representar gracamente as func oes: cos x,
1
(1 + cos x
2
)
, e
1
3 + cos
_
1
1 + x
2
_,
em diferentes janelas gr acas.
2. Represente gracamente
1
(1 + e
x
)
, para 4 x 4 e = .5, 1, 2. Tudo no mesmo
gr aco.
3. Use plot2d para obter uma representac ao gr aca da func ao que mostre que
lim
x0
sin x
x
= 1.
(Atenc ao ao intervalo de valores de x!)
Um ultimo exemplo para aprender as operac oes por componentes:
x=(-5:0.1:5);
y=x. abs(x)./(1+x.
2
);
y2=x. abs(x)./(5+x.
2
);
y3=x. abs(x)./(1/5+x.
2
);
plot2d(x,[y y2 y3])
184
B.4. Dados e representac ao de func oes Departamento de Matem atica
6 4 2 0 2 4 6
1.0
0.8
0.6
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.0
Atenc ao x dever a ser um vector coluna. E ainda : xbasc()
plot2d(x,[y y2 y3],leg=function y@function y2@function y3)
xtitle(Trace as 3 func oes,x label,y label)
function y
function y2
function y3
6 4 2 0 2 4 6
1.0
0.8
0.6
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.0
Trace as 3 func c~oes
x label
y

la
b
e
l
185
Bibliograa
[1] R. L. Burden and J. D. Faires. Numerical Analysis. PWS Publishing Company, Boston,
1993.
[2] G. Chandler and S. Roberts. ANU Teaching Modules, Scilab tutorials, 2007.
[3] F. Correia dos Santos. Fundamentos de An alise Num erica. Edic oes Slabo, Lda., Lisboa,
2002.
[4] E. M. G. P. Fernandes. M etodos Num ericos. Braga, 1991.
[5] E. M. G. P. Fernandes. Computac ao Num erica. Servicos de Reprograa e Publicac oes da
Universidade do Minho, Braga, Portugal, 2
a
edition, 1998.
[6] J. A. Ferreira.

Algebra LinearTextos de Apoio. Coimbra, 1997.
[7] J. A. Ferreira and M. F. Patrcio. AnTextos de An alise Num ericaTextos de Apoio. Coim-
bra, 1999.
[8] J-P Grivet. Analyse num erique pour les sciences physiques. U.F.R. Facult e des sciences,
Universit e d

Orl eans, 2005.


[9] H. Pina. M etodos Num ericos. McGraw-Hill, Lisboa, 1995.
[10] P. S. Motta Pires. Introduc ao ao scilab, vers ao 1.0, 2001.
[11] M. R. Valenca. M etodos Num ericos. Ferreira e Salgado, Lda - Livraria Minho, Braga, 1993.
187

Anda mungkin juga menyukai