Você está na página 1de 152

Adrito Lus Martins Arajo

Matemtica Computacional
Engenharia Electrotcnica e de Computadores

FCTUC
2010

Notas destinadas aos alunos de


Matemtica Computacional, disciplina do
Mestrado Integrado em Engenharia
Electrotcnica e de Computadores da
Faculdade de Cincias e Tecnologia da
Universidade de Coimbra.

Captulo 1
Aritmtica computacional
A anlise numrica a disciplina da matemtica que se ocupa da elaborao e estudo de
mtodos que permitem obter, de forma efectiva, solues numricas para problemas matemticos, quando, por uma qualquer razo, no podemos ou no desejamos usar mtodos
analticos.
Para perceber melhor o que se pretende dizer por de forma efectiva, consideremos o
problema do clculo do determinante. Como sabido, o determinante de uma matriz
quadrada A = (aij )ni,j=1 dado pela expresso
det (A) =

a1i1 anin ,

onde a soma efectuada sobre todas as n! permutaes (i1 , . . . , in ) dos nmeros 1, 2, . . . , n.


Esta frmula terica s permite o clculo efectivo do determinante se a dimenso da matriz
for muito pequena. Por exemplo, se n = 25 o nmero de permutaes possveis superior
a 15 quatrilies (como que se escreve este nmero?)! Se possuirmos uma mquina que
calcule cada termo da expresso anterior num bilionsimo de segundo (coisa que nem
remotamente os actuais computadores conseguem fazer), para calcular todas as parcelas
necessitamos de 15 bilies de segundos, ou seja 400.000 anos!
Os problemas que a anlise numrica pretende dar soluo so geralmente originrios
das cincias naturais e sociais, da engenharia, das nanas, e, como foi dito, no podem,
geralmente, ser resolvidos por processos analticos.
Exemplo 1.1 (Lei da gravitao universal) Um dos primeiros e mais importantes modelos matemticos para problemas da fsica foi dado por Newton para descrever o efeito da
gravidade. De acordo com esse modelo, a fora da gravidade exercida pela Terra num corpo
de massa m tem a magnitude
m mt
F =G
,
d2
onde mt a massa da Terra, d a distncia entre os centros dos dois corpos e G a constante de
gravitao universal.
1

Aritmtica computacional

O modelo de Newton para a gravitao universal conduziu a cincia formulao


de muitos problemas cuja soluo s pode ser obtida de forma aproximada, usualmente
envolvendo a soluo numrica de equaes diferenciais.
Exemplo 1.2 (Problema dos trs corpos) O problema dos trs corpos consiste em determinar quais so os comportamentos possveis de um sistema constitudo por trs corpos que
interagem entre si atravs de uma fora gravitacional newtoniana. Este problema no difcil
de pr em equao e os espectaculares xitos da Mecnica Clssica dos finais do sculo XIX
sugeriam que a sua resoluo, de interesse aparentemente acadmico, fosse uma questo de
tempo; o facto de no ser possvel realizar os clculos podia passar de mero detalhe tcnico.
Afinal de contas, o problema dos dois corpos (isto , dois corpos que interagem por via da fora
gravitacional, como a Terra e o Sol) tinha uma soluo muito simples, que era estudada no
primeiro ano das universidades. O facto que a soluo analtica deste problema impossvel
de obter! Resta-nos assim recorrer soluo numrica.
O estabelecimento das vrias leis da fsica permitiu aos matemticos e aos fsicos obter
modelos para a mecnica dos slidos e dos uidos. As engenharias mecnica e civil usam
esses modelos como sendo a base para os mais modernos trabalhos em dinnica dos uidos
e em estruturas slidas, e a anlise numrica tornou-se uma ferramenta essencial para todos
aqueles que pretendem efectuar investigao nessas reas da engenharia. Por exemplo, a
construo de estruturas modernas faz uso do chamado mtodo dos elementos nitos para
resolver as equaes com derivadas parciais associadas ao modelo; a dinmica dos uidos
computacional actualmente uma ferramenta fundamental para, por exemplo, desenhar
avies; a elaborao de novos materiais outro assunto que recorre, de forma intensa, a
algoritmos numricos. A anlise numrica pois uma rea que tem assumido crescente
importncia no contexto das cincias da engenharia.
No processo de resoluo de um problema fsico podemos distinguir vrias fases.
1. Formulao de um modelo matemtico que descreve uma situao real. Tal formulao
pode ser feita recorrendo a (sistemas de) equaes algbricas, transcendentes, integrais, diferenciais, etc. necessrio ter muito cuidado nesta fase uma vez que a
grande complexidade dos problemas fsicos pode-nos obrigar a fazer simplicaes no
modelo, simplicaes essas que no devem alterar grandemente o comportamento
da soluo.
2. Obteno de um mtodo numrico que permite construir uma soluo aproximada para
o problema. Um mtodo numrico que possa ser usado para resolver o problema
traduzido por algoritmo que no mais do que um completo e no ambguo conjunto
de passos que conduzem soluo do problema. Esta fase constitui o cerne da anlise
numrica. Dado um determinado mtodo numrico, temos necessidade de saber em
que condies as solues por ele obtidas convergem para a soluo exacta; em que
medida pequenos erros de arredondadmento (e outros) podero afectar a soluo
nal; qual o grau de preciso da soluo aproximada obtida, etc.

Aritmtica computacional

3. Programao automtica do algoritmo. Nesta fase teremos necessidade de recorrer a


uma linguagem de programao como o Fortran, o Pascal, o C++, entre outras. Mais
recentemente usual o recurso a programas como o Mathematica ou o Matlab.
Os algoritmos numricos so quase to antigos quanto a civilizao humana. Os babilnios, vinte sculos antes de Cristo, j possuiam tabelas de quadrados de todos os inteiros
entre 1 e 60. Os egpcios, que j usavam fraces, inventaram o chamado mtodo da falsa
posio para aproximar as razes de uma equao. Esse mtodo encontra-se descrito no
papiro de Rhind, cerca de 1650 anos antes da era crist.
Na Grcia antiga muitos foram os matemticos que deram contributos para o impulso
desta disciplina. Por exemplo, Arquimedes de Siracusa (278-212, a.C.) mostrou que
3

1
10
<<3
71
7

e apresentou o chamado mtodo da exausto para calcular comprimentos, reas e volumes de


guras geomtricas. Este mtodo, quando usado como mtodo para calcular aproximaes,
est muito prximo do que hoje se faz em anlise numrica; por outro lado, foi tambm um
importante precursor do desenvolvimento do clculo integral por Isaac Newton (1643-1729)
e Gottfried Wilhelm von Leibniz (1646-1716).
Heron de Alexandria (10-75), no sculo I, deduziu um procedimento para determinar
a da forma (como deduzir este mtodo?)


1
a
xn +
.
2
xn
No ano 250, Diofanto de Alexandria (200-284) obteve um processo para a determinao
das solues de uma equao quadrtica. Durante a Idade Mdia, os grandes contributos
para o desenvolvimento da matemtica algortmica vieram, sobretudo, do mdio oriente,
ndia e China. O contributo maior foi, sem dvida, a simplicao introduzida com a
chamada numerao indo-rabe.
O aparecimento do clculo e a criao dos logaritmos, no sculo XVII, vieram dar um
grande impulso ao desenvolvimento de procedimentos numricos. Os novos modelos matemticos propostos no podiam ser resolvidos de forma explcita e assim tornava-se imperioso o desenvolvimento de mtodos numricos para obter solues aproximadas. O prprio
Newton criou vrios mtodos numricos para a resoluo de muitos problemas, mtodos
esses que possuem, hoje, o seu nome. Tal como Newton, muitos vultos da matemtica
dos sculos XVIII e XIX trabalharam na construo de mtodos numricos. De entre eles
podemos destacar Leonhard Euler (1707-1783), Joseph-Louis Lagrange (1736-1813) e Carl
Friedrich Gauss (1777-1875).
Foi, no entanto, o aparecimento, na dcada de 40 do sculo XX, dos primeiros computadores que contribuiu decisivamente para o forte desenvolvimento da disciplina. Apesar
de tanto Blaise Pascal (1623-1662) como Gottfried Wilhelm von Leibniz (1646-1716) terem
construdo, j no sc. XVII, as primeiras mquinas de calcular e de Charles Babbage (17911871), milionrio ingls, ter construdo o que considerado o primeiro computador (nunca

Aritmtica computacional

funcionou!), foi apenas com o aparecimento do ENIAC, nos anos 40, que a cincia usufruiu,
de facto, desses dispositivos de clculo.

1.1

Noes e teoremas bsicos

Antes de comearmos propriamente com os assuntos da anlise numrica, relembremos


algumas noes e teoremas importantes que convm ter sempre presentes. O primeiro
teorema que iremos considerar devido a Bernard Placidus Johann Nepomuk Bolzano (17811848).
Teorema 1.1 (Bolzano) Se f for uma funo contnua em [a, b] ento, para todo o y
compreendido entre f (a) e f (b), existe pelo menos um x [a, b] tal que f (x) = y.
Como pode ser vericado, este teorema estabelece um resultado intuitivo: uma funo
contnua para passar de um ponto para outro tem de passar por todos os valores intermdios.
Outro teorema bsico o seguinte e foi estabelecido por Michel Rolle (1652-1719).
Teorema 1.2 (Rolle) Se f for uma funo contnua em [a, b], diferencivel em ]a, b[ e se
f (a) = f (b) ento existe pelo menos um ]a, b[ tal que f () = 0.
Notemos que, quando f (a) = f (b) = 0, este teorema diz-nos, em linguagem comum,
que entre dois zeros de uma funo contnua existe, pelo menos, um zero da sua derivada.
Outro resultado que convm ter presente o conhecido Teorema do Valor Mdio, estabelecido por Joseph Louis Lagrange (1736-1813).
Teorema 1.3 (Valor Mdio de Lagrange) Se f for uma funo contnua em [a, b] e
diferencivel em ]a, b[ ento existe pelo menos um ]a, b[ tal que
f () =

f (b) f (a)
.
ba

Este resultado justica o procedimento (muito comum) de substituir o clculo da


derivada de uma funo denida num intervalo (pequeno) [a, b] pela diferena dividida
f [a, b] :=

f (b) f (a)
.
ba

Consideremos agora o seguinte teorema estudado, tal como os anteriores, na disciplina


de Anlise Matemtica do primeiro ano.
Teorema 1.4 (Valor Mdio para integrais) Seja f uma funo contnua em [a, b] e
g uma funo integrvel que no muda de sinal em [a, b]. Ento existe pelo menos um
]a, b[ tal que
Z b
Z b
f ()
g(x)dx =
f (x)g(x)dx.
a

Aritmtica computacional

a
-0.4

-0.2

0.2

b
0.4

0.6

0.8

Figura 1.1: Teorema do Valor Mdio.

1.2

Erros absolutos e relativos

A introduo de erros num determinado processo de clculo pode ter vrias causas.
nosso objectivo analisar quais so essas causas e estudar mecanismos que nos permitam
determinar limites superiores para os erros obtidos no nal do processo de clculo.
Para iniciar o nosso estudo, denamos dois tipos fundamentais de erros.
Definio 1.1 (Erro absoluto) Seja x Rn um vector cujas componentes so desconhecidas e x Rn um vector cujas componentes so aproximaes para as componentes correspondentes de x. Chama-se erro absoluto de x, e representa-se por e(x), quantidade
e(x) = x x.
Na prtica, o valor do erro absoluto usado, geralmente, em norma pois, para a maioria
dos problemas, no relevante saber se o erro foi cometido por defeito ou por excesso.
Vamos, ento relembrar o conceito de norma vectorial.
Definio 1.2 (Norma) Seja E um espao vectorial (real ou complexo). A aplicao
k k : E R+
0 que verifica
1. x E,

kxk = 0 x = 0,

2. x E, R (ou C),
3. x, y E,

kxk = ||kxk,

kx + yk 6 kxk + kyk,

designada por norma.

Como consequncia da propriedade 3 da denio anterior temos


kuk = ku v + vk 6 ku vk + kvk
e, portanto, kuk kvk 6 ku vk.
Existem vrias funes que vericam as trs propriedades das normas vectoriais. Entre
elas destacam-se as dadas no Exerccio 1.1.

Aritmtica computacional
Exerccio 1.1 Prove que as funes seguintes so normas em E = Rn :
kxk1 =

n
X
i=1

|xi |, (norma um);

v
u n
uX
kxk2 = t
|xi |2 , (norma euclidiana);
i=1

kxk = max |xi |, (norma do mximo ou de Chebyshev).


i=1,...,n

Vamos agora introduzir o conceito de erro relativo.


Definio 1.3 (Erro relativo) Seja x Rn , x 6= 0, um vector cujas componentes so
desconhecidas e x Rn um vector cujas componentes so aproximaes para as componentes correspondentes de x. Chama-se erro relativo de x, e representa-se por r(x),
quantidade
r(x) = ke(x)k/kxk.
Como na denio de erro relativo o valor de x no conhecido, usual considerar a
aproximao r(x) ke(x)k/kxk. Melhor ainda, atendendo a que
kxk > |kxk ke(x)k|,
podemos considerar o majorante
r(x) 6

ke(x)k
.
|kxk ke(x)k|

O erro relativo, atendendo a que uma quantidade adimensionada, muitas vezes


representado sob a forma de percentagem. Note-se tambm que o erro relativo nos d uma
maior informao quanto preciso da aproximao que o erro absoluto.
com base nas denies de erro absoluto e erro relativo que iremos analisar os resultados numricos que aparecero como aproximaes a valores que no conhecemos com
exactido.

1.3

Erros de arredondamento e truncatura

Os dados de um determinado problema podem estar partida afectados de imprecises


resultantes de medies incorrectas. Note-se que a escala de um instrumento de medio
nos d uma possibilidade de saber um limite superior para o erro com que vm afectados
os valores medidos. Por exemplo, com uma rgua usual, a medio de uma distncia de 2
mm pode vir afectada com um erro de 0,5 mm o que d um erro relativo de 2,5%.

Aritmtica computacional

Outra causa de erro resulta das simplicaes impostas ao modelo matemtico usado
para descrever um determinado fenmeno fsico. Por exemplo, usual considerar que, para
um dada problema, no h perdas de calor, o atrito nulo, etc. Este tipo de erros fogem
ao controlo do analista numrico e so muito difceis de quanticar.
Outra causa de erros resulta da forma como representamos os nmeros reais. O conjunto
dos nmeros reais R no pode ser representado numa mquina de preciso nita. Numa
mquina s possvel representar um seu subconjunto nito F. Os nmeros desse conjunto
F so chamados nmeros de vrgula flutuante. Um nmero real x geralmente truncado
pela mquina dando origem a um novo nmero que (nmero de vrgula utuante), que se
designa por (x). Em geral, x 6= (x). Alm disso, podemos ter x1 6= x2 e (xi ) = (x2 ).
Usualmente, um computador guarda um nmero real na forma
x = (1)s (0,a1 a2 . . . at ) e = (1)s m et ,

a1 6= 0,

(1.1)

onde s 0 ou 1, conforme o sinal de x, , inteiro positivo maior ou igual a 2, a base


adoptada pelo computador especco em que estamos a trabalhar, m um inteiro chamado
mantissa, cujo comprimento t o nmero mximo de algarismos armazenados ai , com
0 6 ai 6 1, e e um nmero inteiro chamado expoente. Os dgitos a1 a2 . . . ap , com p 6 t,
so chamados os p primeiros algarismos significativos de x.
O conjunto F ca completamente caracterizado custa de 4 parmetros: a base ,
nmero de algarismos signicativos t, e o intervalo de variao do expoente e, designado
por ]L, U[, com L < 0 e U > 0. Escrevemos ento F(, t, L, U). Em Matlab temos F =
F(2, 53, 1021, 1024). Note-se que, 53 algarismos signicativos em base 2 correspondem a
15 algarismos signicativos em base 10.
Para perceber melhor o que est em causa, consideremos, por exemplo, o nmero
x = 123,9346. Este nmero no tem representao numa mquina de base decimal cuja
mantissa s permita armazenar 6 dgitos. Temos assim necessidade de o aproximar por um
outro que possa ser representado na referida mquina. Essa aproximao vai ser efectuada
por um processo conhecido por arredondamento.
A forma de arredondar um nmero real a usual. Como tal
x = 123,9346 123,935 = x,
e este novo valor j tem representao na mquina que estamos a usar sob a forma
0,123935 102 .
Note-se que o arredondamento foi efectuado na terceira casa decimal e que
|e(x)| = |x x| = 0,0004 < 0,5 103 ,
r(x) =

|e(x)|
3,23 106 < 5 106 .
|x|

Se o arredondamento tivesse sido efectuado na segunda casa decimal vinha


x = 123,9346 123,93 = x,

Aritmtica computacional
e assim
|e(x)| = 0,0045 < 0,5 102 ,
r(x) =

|e(x)|
3,63 105 < 5 105 .
|x|

Daqui resultam as seguintes denies.

Definio 1.4 (Casa decimal correcta) Seja x R uma aproximao para x R.


Diz-se que x tem k casas decimais correctas se e s se |e(x)| 6 0,5 10k .
Definio 1.5 (Algarismo significativo correcto) Seja x R uma aproximao para
x R. Diz-se que x tem k algarismos significativos correctos1 se e s se r(x) < 5 10k .
Note-se que estas denies surgem por forma a que todo o nmero obtido a partir
de um valor exacto por conveniente arredondamento tenha todas as suas casas decimais e
todos os seus algarismos signicativos correctos.
Exerccio 1.2 Sejam x, y e z trs quantidades exactas. Por arredondamento obtiveram-se as
seguintes aproximaes: x = 231, y = 2,31 e z = 23,147.
1. Conte o nmero de casas decimais correctas nas aproximaes e calcule limites superiores
para o erro absoluto em cada uma delas. Compare os resultados e comente.
2. Conte o nmero de algarismos significativos correctos nas aproximaes e calcule limites
superiores para o erro relativo em cada uma delas. Compare os resultados e comente.
Consideremos, de novo, a mquina F = F(, t, L, U). O erro que se comete na aproximao x (x) pequeno. Ele dado por
|x (x)|
6 0,5M ,
|x|
onde M = 1t representa o zero da mquina e denido como sendo o menor nmero que
pode ser representado satisfazendo a
(1 + M ) > 1.
Assim, uma mquina tanto mais precisa quanto menor for o seu zero. Em Matlab, o
valor de M pode ser obtido com o comando eps e tem-se M = 252 2.22 1016 .
Notemos que, uma vez que a1 6= 0 em (1.1), o 0 no pertende a F. Por outro lado,
no possvel representar nmeros arbitrariamente grandes ou arbitrariamente pequenos
uma vez que L e U so nitos. O menor nmero e o menor real positivo de F so dados,
respectivamente por
xmin = L1 ,
xmax = U (1 t ).
1
Na representao decimal de um nmero, um algarismo diz-se significativo se diferente de zero. O
zero tambm significativo excepto quando usado para fixar o ponto decimal.

Aritmtica computacional

Em Matlab estes valores podem ser obidos atravs dos comandos realmin e realmax. Um
nmero positivo menor que xmin produz uma mensagem de underflow; um nmero positivo
maior que xmax produz uma mensagem de overflow e armazena-se, em Matlab, na varivel
Inf.
Os elementos de F so mais densos prximos de xmin e menos densos quando se aproximam de xmax . O que se mantm constante a distncia relativa entre os nmeros.
Finalmente, interessa observar que em F no existem formas indeterminadas como 0/0
ou /. Elas produzem o que se chama um not a number, denotado por NaN em Matlab.
Os erros de truncatura ou de discretizao so, por denio, os erros que surgem
quando se passa de um processo innito para um processo nito ou quando se substitui
um processo contnuo por um discreto. Por exemplo, quando aproximamos
f (x)
ou

f (x + h) f (x)
h


M
1
,
e 1+
M

cometemos erros de truncatura. Outro exemplo onde surgem este tipo de erros dado pela
chamada aproximao de Taylor que iremos considerar na prxima seco.

1.4

O polinmio de Taylor

Seja f uma funo real denida num intervalo [a, b] R. Um problema que frequentemente
se coloca o de determinar uma funo g denida em [a, b] tal que |f (x) g(x)| < , para
todo o x [a, b], com > 0 uma tolerncia dada. A existncia de soluo para tal
problema dada pelo Teorema de Weierstrass, devido a Karl Wilhelm Theodor Weierstrass
(1815-1897),
Teorema 1.5 (Weierstrass) Seja f uma funo contnua definida em [a, b]. Ento para
cada > 0 existe um polinmio p definido em [a, b] tal que
max |f (x) p(x)| < .

x[a,b]

Notemos a grande importncia deste resultado. De acordo com ele, podemos ter a
certeza que dada uma funo contnua f qualquer existe sempre um polinmio p que est
to prximo de f quanto se queira. Assim sendo, este resultado legitima a aproximao
polinomial, isto , a tarefa de, dada uma funo, procurar um polinmio que a aproxime.
No entanto, o teorema anterior no nos diz como podemos construir esse polinmio; ele
apenas garante a existncia.

10

Aritmtica computacional

Consideremos agora o seguinte teorema, apresentado sem demonstrao, devido a Brook


Taylor (1685-1731).2
Teorema 1.6 (Taylor) Se f admite derivadas contnuas at ordem n (inclusiv) em
[a, b], isto , se f C n ([a, b]), e se f (n+1) existir em ]a, b[ ento, para todo o x, x0 [a, b],
f (x) = Pn (x; x0 ) + Rn (x; x0 ),
onde
Pn (x; x0 ) =

n
X
f (k) (x0 )
k=0

e
Rn (x; x0 ) =

k!

(1.2)

(x x0 )k

f (n+1) ()
(x x0 )n+1 ,
(n + 1)!

I{x, x0 },

sendo I{x, x0 } o intervalo aberto definido por x e x0 .


A (1.2) chamaremos frmula de Taylor sendo Pn (x; x0 ) o polinmio de Taylor de f em
torno do ponto x0 e Rn (x; x0 ) o resto (de Lagrange) de ordem n (ou de grau n + 1). Se
x0 = 0 a (1.2) chamaremos frmula de Maclaurin.3
Atente-se ao grande interesse prtico deste resultado que arma que, mediante certas
condies, uma funo pode ser escrita como a soma de um polinmio com um resto.
Escolhendo valores de x e x0 tais que
lim Rn (x; x0 ) = 0,

n+

(1.3)

temos que, a partir de um valor de n sucientemente grande, a funo dada pode ser aproximada pelo seu polinmio de Taylor. Assim, qualquer operao a efectuar sobre a funo
(derivao, integrao, etc.) poder ser feita sobre o polinmio.
Notemos que a escolha dos valores de x e x0 dever ser feita de modo a que eles
pertenam ao intervalo de convergncia da srie

X
f (k) (x0 )
k=0

k!

(x x0 )k

designada por srie de Taylor. Neste curso no iremos dar nfase a esta questo.
O objectivo fundamental dos problemas que surgem neste contexto o de determinar
o menor valor de n que verica
max |Rn (x; x0 )| < ,

I{x,x0 }

2
Taylor foi, entre outras coisas, o sucessor de Haley como secretrio da Royal Society. Publicou, em
1715, um livro intitulado Methodus Incrementorum Directa & Inversa no qual a sua expanso apaarece
descrita. O seu teorema foi enunciado em 1712.
3
Colin Maclaurin (1698-1746) foi um menino prodgio sendo nomeado professor em Aberdeen com a
idade de 19 anos. A sua expanso apareceu em 1742 no Treatise on Fluxions.

11

Aritmtica computacional
sendo > 0 uma tolerncia previamente xada. Obtemos assim a aproximao
f (x) Pn (x; x0 ),
cujo erro no excede . O valor de Rn (x; x0 ), sendo um erro absoluto uma vez que
|f (x) Pn (x; x0 )| = |Rn (x; x0 )|,
tambm designado erro de truncatura.

Exerccio 1.3 Determine um valor aproximado de e2 com 3 casas decimais correctas, usando
a frmula de Maclaurin aplicada funo f (x) = ex .
Resoluo: A funo f (x) = ex uma funo analtica para todo o x real e atendendo a que
f (k) (x) = ex a srie de Maclaurin de f dada por
x

e =

X
xk
k=0

k!

Assim, fixando um valor de n, temos que


ex 1 + x +
com
|Rn (x; 0)| 6

x2 x3
xn
+
++ ,
2
6
n!

ex
3x
|xn+1 | 6
|xn+1 |.
(n + 1)!
(n + 1)!

Vamos ento determinar qual o menor valor de n tal que


|Rn (2; 0)| 6

32
|2n+1 | 6 0,5 103 .
(n + 1)!

n=9

32 10
2 = 0,254 102
10!

Por tentativas...

n = 10

32 11
2 = 0,462 103 .
11!

Logo a aproximao pedida


2

10
X
xk
k=0

k!

= 7,38899470899 7,389.

12

Aritmtica computacional

1.5

Exerccios de aplicao engenharia

Exerccio 1.4 O fluxo atravs de uma parte da camada fronteira num fludo viscoso dado
pelo integral definido
Z 0,8
2
1,4(1 e4x )dx.
0

Usando a frmula de Taylor na funo integranda, aproxime o valor do integral com quatro
casas decimais correctas.
Exerccio 1.5 Consideremos uma viga uniforme de comprimento L, suspensa, sujeita a uma
carga uniformemente distribuda, W , e a uma fora compressiva, P , em cada extremo. A
deflexo, D, no ponto mdio dada por
D=

W L2
W EI
(sec
(0,5mL)

1)

,
P2
8P

onde m2 = P/EI, com E e I constantes. Usando o desenvolvimento em srie de Maclaurin da


funo y = sec x, prove que, quando a fora gravtica tende a anular-se, a deflexo, D, tende
5W L4
para
.
384EI
Exerccio 1.6 A lei dos gases perfeitos dada por pv = nrt e relaciona a presso, p, o
volume, v, a temperatura, t, e o nmero de moles, n, de um gs ideal. O nmero r nesta
equao depende apenas do sistema de medio a usar. Suponhamos que foram efectuadas as
seguintes experincias para testar a veracidade da lei usando o mesmo gs.
1. Consideraram-se p = 1,0 atmosferas, n = 0,0042 moles, v = 0,10 metros cbicos e
r = 0,082. Usando a lei, a temperatura do gs foi prevista como sendo
t=

pv
1,0 0,10
=
= 290o Kelvin = 17o Celsius.
nr
0,082 0,0042

Quando medimos a temperatura do gs verificmos ser 17o Celsius.


2. A experincia anterior foi repetida usando os mesmos valores de r e n mas aumentando
o presso quatro vezes enquanto se reduziu o volume na mesma proporo. Como pv
constante, a temperatura prevista de 17o Celsius mas agora, ao medir a temperatura
do gs, encontrmos o valor 32o Celsius.
Ser que a lei no vlida nesta situao?

Captulo 2
Equaes no lineares
A soluo de equaes e sistemas de equaes um captulo em que a anlise numrica encontra uma soluo bastante precisa. Vamos agora expor alguns mtodos que nos permitem
obter aproximaes para as solues reais de uma equao real da forma
f (x) = 0,

(2.1)

onde f uma funo que pode ser algbrica ou transcendente.


Os valores de tais que f () = 0 so designados por zeros de f , ou razes de f (x) = 0.
S para algumas escolhas particulares de f que so conhecidos processos que permitem
calcular os referidos valores com um nmero nito de operaes.
Exemplo 2.1 As razes da equao do segundo grau
ax2 + bx + c = 0
so facilmente obtidas pela chamada frmula resolvente

b b2 4ac
,
a 6= 0.
x=
2a
Exemplo 2.2 As razes da equao
x3 + px2 + qx + r = 0
podem ser obtidas pelo processo que se segue, devido a Scipione del Ferro (1465-1515) e
Niccol Tartaglia (1499-1557), publicado pela primeira vez por Gerolamo Cardano (1501-1576).
Fazendo a mudana de varivel x = z 3p obtm-se a equao
z 3 + az + b = 0,
onde

1
a = (3q p2 )
3

b=
13

1
(2p3 9pq + 27r).
27

14

Equaes no lineares
As razes desta nova equao so dadas por
z1 = A + B,

z2 =

onde
A=

s
3

A + B A B
3,
+
2
2

b
+
2

b2
4

a3

27

B=

z3 =
s
3

A + B A B
3,

2
2

b2 a3
+ .
4
27

Assim as razes da equao dada so


p
x1 = z1 ;
3

p
x2 = z2 ;
3

p
x3 = z3 .
3

tambm possvel determinar analiticamente as razes de uma equao polinomial de


quarta ordem. Tal frmula devida a Ludovico Ferrari (1522-1569). A frmula para calcular
as razes de uma equao polinomial de quinta ordem foi procurada durante sculos. Em
1826, o matemtico noruegus Niels Henrik Abel (1802-1829) provou que essa frmula no
existe. Assim, para calcular as razes de uma equao polinomial de grau igual ou superior
a cinco temos que recorrer a mtodos numricos. Alm disso, de um modo geral, no
existem frmulas para a determinao das razes de uma equao no polinomial. o caso
que acontece quando consideramos, por exemplo,
ex + tan x + log x = 0.
A soluo analtica de sistemas de equaes no lineares tambm no possvel de obter
na maioria dos casos. Como exemplo, considere-se
 2
x y + 2xy 2 xy = 3
.
xy 2 2x2 y + 4xy = 1
Problemas numricos desta natureza ocorrem com muita frequncia na resoluo de
equaes diferenciais, integrao, determinao de extremos, etc. Na impossibilidade de
obter a sua soluo exacta, vamos considerar os chamados mtodos iterativos por forma a
obter uma soluo aproximada para o problema.

2.1

Mtodos iterativos

Consideremos o problema (2.1). A losoa dos mtodos iterativos consiste em, partindo
de uma aproximao inicial x(0) para uma soluo do problema, gerar uma sucesso de
valores
x(k+1) = (x(k) ),
k = 0, 1, 2, . . . ,
(2.2)
que seja convergente para essa soluo.

15

Equaes no lineares
Definio 2.1 (Convergncia) O mtodo iterativo (2.2) diz-se convergente para se
lim e(k) = 0,

k+

onde e(k) := e(x(k) ) = x(k) o erro (absoluto) da iterao k.


Dados vrios processos iterativos convergentes para para uma soluo de (2.1) coloca-se a questo de saber qual dos processos mais eciente. A ecincia de um processo
iterativo pode ser medida de vrias maneiras: esforo computacional, tempo gasto, etc.
Nesta seco iremos denir um conceito que servir para medir a velocidade de convergncia
de um determinado processo iterativo.
Definio 2.2 (Ordem de convergncia) Uma sucesso de iteraes {x(k) } diz-se que
converge com ordem de convergncia p > 1 para um ponto se existir uma constante
M > 0, independente de k, e uma ordem k0 N a partir da qual
|e(k+1) | 6 M|e(k) |p .

(2.3)

A constante M chamada constante-erro.


A velocidade de convergncia de um processo iterativo est usualmente associada ao
conceito de ordem de convergncia. Quanto maior for a ordem de convergncia mais
rpida , em geral, a velocidade de convergncia do processo. A constante-erro tambm
pode ser um aspecto a considerar mas, normalmente, s tida em conta quando se comparam processos iterativos com a mesma ordem de convergncia. Aqui, quanto menor for
a constante-erro mais rpida a convergncia do processo.
Se p = 1 diz-se que o mtodo iterativo converge linearmente para . Neste caso a
constante erro M ter que ser inferior a 1 (para o mtodo convergir) e a relao (2.3) pode
ser escrita na forma |e(k+1) | 6 M k+1 |e(0) |. Se p = 2 diz-se que a convergncia quadrtica
e se p = 3 diz-se que a convergncia cbica.
Outras questes que surgem naturalmente quando se fala de mtodos iterativos so
as seguintes: como determinar a aproximao inicial? como denir um mtodo iterativo
convergente? como saber que a soluo dada pelo mtodo iterativo constitui uma boa
aproximao para a soluo exacta, isto , como parar o processo iterativo?
Seja (2.2) o processo iterativo gerador de uma sucesso de aproximaes convergente
para a soluo de (2.1). Os critrios de paragem mais frequentes, quando se pretende
aproximar a raiz com uma preciso , so:
1. Critrio do erro absoluto: |x(k) x(k1) | 6 ;
2. Critrio do erro relativo: |x(k) x(k1) | 6 |x(k) |;
3. Critrio do valor da funo: |f (x(k) )| 6 1 , onde 1 .

16

Equaes no lineares

Note-se que, se {x(k) } for uma sucesso convergente, a sucesso {|x(k) x(k1) |} tambm
o e o seu limite zero. Este facto garante-nos a eccia dos critrios do erro absoluto e
relativo.
Como factor de segurana, para prever o caso em que o processo iterativo possa divergir,
tambm se considera o critrio de paragem:
4. Critrio do nmero mximo de iteraes: k = kmax .

2.2

Determinao da aproximao inicial

Num processo iterativo necessrio determinar uma estimativa inicial da soluo do problema a resolver. Por vrias razes, algumas delas bvias, de todo o interesse que essa
aproximao esteja o mais prximo possvel da soluo exacta. Existem vrios processos
que permitem encontrar essas aproximaes iniciais.
Exemplo 2.3 As solues de x2,1 4x + 2 = 0 podem ser aproximadas inicialmente pelas
solues de x2 4x + 2 = 0.
Exemplo 2.4 Se pretendermos
aproximar a maior raiz de x5 x 500 = 0 podemos tomar

para aproximao inicial x 5 500 = 3,468.


As tcnicas usadas nos exemplos anteriores so muito intuitivas e no podem ser generalizadas a uma gama elevada de problemas. O processo mais usual de obter uma aproximao inicial consiste em tentar obter gracamente um intervalo que contenha a raiz de
(2.1) que pretendemos calcular. Ora, o traado grco da funo f pode no ser evidente e
constituir, em si, um processo de complicada resoluo. Este problema pode ser contornado
se reescrevermos a equao (2.1) na forma equivalente
f1 (x) = f2 (x),

(2.4)

sendo f1 e f2 funes cujo traado grco seja mais simples que o de f . Assim as razes de
(2.1) sero as solues de (2.4), isto , os pontos de interseco de f1 com f2 .
O processo de determinao grca de um intervalo que contm a raiz deve ser sempre
acompanhado de uma conrmao analtica, conrmao essa que pode ser dada pelo
seguinte teorema que resulta, como corolrio imediato, do Teorema de Bolzano.
Teorema 2.1 (Corolrio do Teorema de Bolzano) Se f for uma funo contnua em
[a, b] e se f (a)f (b) < 0 ento existe pelo menos um c ]a, b[ tal que f (c) = 0.
Se, para alm das hipteses do teorema anterior, se vericar que a derivada de f no
muda de sinal no intervalo [a, b], ento a raiz nica nesse intervalo. Temos assim um
critrio para vericar a existncia e unicidade de zero de uma funo contnua f num dado
intervalo [a, b]: se f contnua em [a, b], f (a)f (b) < 0 e f no muda de sinal em [a, b],
ento existe uma e uma s raiz de f (x) = 0 em [a, b].

17

Equaes no lineares
Exerccio 2.1 Localize graficamente as razes de f (x) = 0, sendo f (x) = |x| ex .

Resoluo: Como f (x) = 0 |x| = ex , traando o grfico de y = |x| e y = ex (Figura 2.1)


verificamos que o seu (nico) ponto de interseco, (a raiz de f (x) = 0), se situa no
intervalo ] 1, 0[.
y=e

2.5
2
1.5
y=|x|
1
0.5

-1

-0.5

0.5

Figura 2.1: Localizao grca.


De facto, tal acontece uma vez que:
1. f C(] 1, 0[);

2. f (1)f (0) = 0,632 (1) = 0,632 < 0;

3. f (x) = 1 ex , para x < 0, e como tal f (x) < 0 para todo o x ] 1, 0[.

2.3

Mtodo da bisseco

Seja f uma funo contnua em [a, b] tal que f (a)f (b) < 0. Ento, pelo Teorema 2.1,
existe pelo menos uma raiz de f (x) = 0 em ]a, b[. Se, para alm disso, se vericar que a
derivada de f no muda de sinal no intervalo [a, b], ento a raiz nica nesse intervalo.
Localizada a raiz (localizar uma raiz signica encontrar um intervalo que contenha essa
e apenas essa raiz), vamos construir uma sucesso de aproximaes convergente para essa
raiz. O mtodo mais simples, de entre os que iremos estudar, o mtodo das divises
sucessivas conhecido por mtodo da bisseco.
No mtodo da bisseco no necessrio o conceito de aproximao inicial mas sim o
de intervalo inicial I (0) =]a, b[:=]a(0) , b(0) [. Comecemos por determinar o ponto mdio de
I (0) ,
b(0) + a(0)
x(0) =
.
2
Caso f (a(0) )f (x(0) ) < 0, temos que ]a(0) , x(0) [; caso contrrio temos que ]x(0) , b(0) [.
Suponhamos, sem perda de generalidade, que I (1) =]a(0) , x(0) [:=]a(1) , b(1) [. Obtemos

18

Equaes no lineares

assim um intervalo que contm a raiz de amplitude igual a metade da amplitude do


intervalo inicial. Determinando agora o ponto mdio de I (1) ,
x(1) =

b(1) + a(1)
,
2

podemos obter, de forma anloga, um novo intervalo que contenha a raiz , de amplitude
igual a metade da amplitude do intervalo I (1) . Seja esse intervalo I (2) =]a(2) , b(2) [. O
processo repete-se determinando uma sucesso {x(k) } que converge, evidentemente, para
.
O algoritmo do mtodo da bisseco pode ser dado como se segue.
Algoritmo 2.1 Mtodo da bisseco
Dados: a, b, 1 e 2
Se f (a)f (b) > 0 ento parar
Repetir
c := a+b
2
Se f (a)f (c) 6 0 ento b := c caso contrrio a := c
at que |b a| 6 1 ou |f (c)| 6 2
Resultado: c

Notemos que, no mtodo da bisseco, a exigncia de unicidade de raiz suprua. A


nica exigncia a de que a funo tenha sinal contrrio nos extremos do intervalo e tal
vericado sempre que exista, nesse intervalo, um nmero mpar de razes.
Verica-se facilmente que, sendo o intervalo inicial I (0) =]a, b[, a amplitude do intervalo
I (n) (obtido ao m de n iteraes) dada por
ba
,
2n
uma vez que a amplitude do intervalo I (k+1) sempre igual a metade da amplitude do
intervalo I (k) , para k = 1, 2, . . ..
Exerccio 2.2 Considere o mtodo da bisseco. Seja [a, b] o intervalo que contm uma e
uma s raiz de f (x) = 0 e {x(0) , x(1) , x(2) , . . .} a sucesso de pontos mdios gerados pelo
referido mtodo. Mostre que
1. | x(k) | 6 |x(k) x(k1) | =

ba
.
2k+1

2. O nmero, kmin , de iteraes necessrias para garantir uma aproximao da raiz com


ln
ba
uma preciso dado por kmin > log2
1 = ba 1.

ln 2

19

Equaes no lineares
Resoluo:

1. Faz-se, sem problemas, por induo.

2. Ao fim de kmin iteraes obtemos o valor x(kmin ) . Assim, pela primeira parte, para
calcular qual o kmin que verifica | x(kmin ) | 6 , vamos determinar qual o kmin
tal que
ba
|x(kmin ) x(kmin 1) | = kmin +1 6 .
2
Temos, sucessivamente,

L
2kmin +1

ln
ba
6 2kmin +1 kmin > ba 1.

ln 2

Note-se que, atendendo ao que foi demonstrado no exerccio anterior, a convergncia


do mtodo da bisseo resulta imediatamente uma vez que
ba
= 0.
k+ 2k+1

lim | x(k) | 6 lim

k+

Este mtodo possui algumas vantagens bem como algumas desvantagens em relao a
outros mtodos que iremos estudar nas seces seguintes. A primeira grande vantagem
que o mtodo da bisseco converge sempre (desde que exista raiz no intervalo inicial).
A segunda vantagem que existe uma possibilidade de, a priori, se poder indicar um
majorante para o erro cometido ao m de um certo nmero de iteraes.
A grande desvantagem do mtodo da bisseco reside no facto da sua velocidade de
convergncia ser muito lenta quando comparada com a dos outros mtodos. De facto,
prova-se que, atendendo denio de ordem de convergncia dada, o mtodo da bisseco
converge linearmente e possui uma constante erro M = 21 , isto ,
1
|e(k+1) | 6 |e(k) |.
2
Exemplo 2.5 bem sabido que os planetas ao girar em torno do Sol (e os satlites artificiais
em torno da Terra) descrevem rbitas elpticas. Para determinar em que ponto da elipse se
encontra o mvel num determinado instante t h que resolver a chamada equao de Kepler
x e sin x = z,
onde e a excentricidade (conhecida) da elipse (e que um valor que varia entre zero, caso a
rbita seja circular, e prximo de um, caso a rbita seja muito alongada) e z um nmero que
se calcula a partir de t. Neste caso f (x) = x e sin x z.
Vamos considerar o caso em que e = 0,5 e z = 0,7. Temos que f (0) = 0,7 < 0
e f (2) = 1,3 0,5 sin 2 > 1,3 0,5 = 0,8 > 0. Assim, podemos comear o mtodo da
bisseco com o intervalo I (0) =]0, 2[. Pelo facto de f (1) < 0 temos que a soluo pretendida
se encontra no intervalo I (1) =]1, 2[. Aps cinco aplicaes do mtodo da bisseco conclumos
que a soluo se encontra no intervalo I (5) =]1,125, 1,1875[. Tomando como aproximao para
a soluo o ponto mdio 1,15625 = (1,125 + 1,1875)/2 temos a garantia que o valor absoluto
do erro inferior a 0,03125.

20

Equaes no lineares

Exerccio 2.3 Usando o mtodo da bisseco, determine um valor aproximado para o zero
de f (x) = |x| ex , com um erro que no exceda 0,15.
Resoluo: Atendendo ao Exerccio 2.1, temos que a raiz de f (x) = 0 existe e nica no
intervalo ]1, 0[. Vamos determinar qual o menor valor de n para o qual |x(n) | 6 0,15.
Pelo Exerccio 2.2, esse valor pode ser determinado por
ln 0,15
1 = 1,74.
ln 2
Logo, n = 2, isto , temos que efectuar 2 iteraes. Partindo do intervalo inicial ] 1, 0[
temos x(0) = 0,5. Como f (x(0) ) = 0,16065 vem que
1

2n+1

6 0,15 n >

] 1, 0,5[.

Prosseguindo o processo obtemos x(1) = 0,75 e, como f (0,75) = 2,7776, vem que
] 0,75, 0,5[.

Conclumos ento que x(2) = 0,6256 uma aproximao cujo erro no excede a
tolerncia dada.

2.4

Mtodo de Newton

O mtodo que iremos estudar nesta seco, devido a Isaac Newton (1643-1727), um dos
mtodos mais conhecidos e usados na determinao de aproximaes numricas de razes
de equaes no lineares. Para o denir, iremos comear por efectuar uma abordagem
analtica fazendo depois a sua interpretao geomtrica.
Seja f C 2 ([a, b]), com [a, b] R, e [a, b] a nica raiz de f (x) = 0 nesse intervalo.
Pela frmula de Taylor temos que, se x(0) [a, b],
f ()
( x(0) )2 ,
I{, x(0) }.
2
Como f () = 0, e supondo f () 6= 0 para todo o x [a, b], vem que
f () = f (x(0) ) + f (x(0) )( x(0) ) +

f (x(0) )
f ()
= x0 (0) (0) ( x(0) )2 ,
f (x ) 2f (x )

I{, x(0) }.

(2.5)

f (x(0) )
. Procedendo de forma anloga, poderemos denir um mtodo
f (x(0) )
iterativo pela frmula de recorrncia
Seja x(1) = x(0)

x(k+1) = x(k)

f (x(k) )
,
f (x(k) )

k = 0, 1 . . . ,

(2.6)

que pretendemos que seja convergente para . Este processo iterativo designado por
mtodo de Newton ou mtodo de Newton-Raphson ou ainda mtodo das tangentes. Esta
ltima designao resulta da sua interpretao geomtrica.

21

Equaes no lineares

Interpretao geomtrica: Consideremos a recta tangente curva y = f (x) no ponto


de abcissa x(k) . Essa recta dada por
y = f (x(k) ) + f (x(k) )(x x(k) ).
O ponto de interseco da recta tangente com o eixo das abcissas dado por
x = x(k)

f (x(k) )
.
f (x(k) )

Temos assim que a iterao x(k+1) dada pelo mtodo de Newton a abcissa do ponto de
interseco da recta tangente curva y = f (x) no ponto (x(k) , f (x(k) )) com a recta y = 0.

x2

x1

x0

Figura 2.2: Mtodo de Newton.


Vamos agora apresentar as condies que devero ser impostas para que a sucesso de
aproximaes geradas pelo mtodo de Newton convirja para a raiz de f (x) = 0.
Teorema 2.2 Seja f uma funo real de varivel real definida num intervalo real [a, b].
Se
1. f C 2 ([a, b]),
2. f (a)f (b) < 0,
3. f (x) 6= 0, x [a, b],
4. f (x) 6 0 ou f (x) > 0, x [a, b],
ento a sucesso {x(k) }, k = 0, 1, . . ., gerada pelo mtodo (2.6), com x(0) [a, b] tal que
5. f (x(0) )f (x(0) ) > 0,
converge para a nica raiz de f (x) = 0 em [a, b].

22

Equaes no lineares

Demonstrao (no foi dada): Vamos supor, sem perda de generalidade, que f (a) < 0,
f positiva em [a, b] e que f no negativa no mesmo intervalo. Supondo vericadas
as hipteses do teorema, consideremos x0 = b. Provemos que a sucesso {xk } gerada pelo
mtodo (2.6) tem as seguintes propriedades.
A sucesso no crescente e limitada.

Vamos provar, por induo, que x(k+1) [, x(k) ], para todo o k N0 . Por (2.5)
tem-se que,
f ()
x(1) = ( b)2 6 0,
I{, b},
2f (b)

isto , 6 x(1) . Por outro lado, por (2.6), com k = 0, tem-se que x(1) < b. Suponhamos agora que x(k) [, x(k1) ] [, b]. Temos ento que, de modo anlogo
ao efectuado em (2.5),


f (x(k) )
f (k )
(k)
x (k)
= (k) ( x(k) )2 ,
k I{,(k) },
(2.7)
f (x )
2f (x )
ou seja
x(k+1) =

f (k )
( x(k) )2 6 0.
2f (x(k) )

Isto implica que 6 x(k+1) . Por outro lado, por (2.6) e atendendo s hipteses do
teorema, temos que x(k+1) x(k) 6 0. Provmos ento o pretendido.
A sucesso converge para .

A convergncia da sucesso decorre do facto de ela ser no crescente e limitada. Seja


= limk+ x(k) . Vamos provar que = . Tomando limites em (2.6) e tendo em
conta o facto de f C 2 ([a, b]), temos que = ff()
, o que implica f () = 0.
()
Uma vez que a nica raiz de f em [a, b] temos que = limk+ x(k) = .

Est assim demonstrado o teorema.


Este mtodo possui vantagens e desvantagens em relao ao mtodo da bisseco. As
grandes desvantagens do mtodo de Newton residem no facto deste poder divergir (caso a
aproximao inicial escolhida no seja suficientemente prxima da raiz) e de haver necessidade de calcular a derivada da funo (mais esforo computacional). Por outro lado o
mtodo de Newton converge muito rapidamente o que faz com que seja um dos mtodos
mais ecazes para a aproximao de razes de equaes no lineares.
O algoritmo para o mtodo de Newton pode ser dado como se segue.

23

Equaes no lineares

Algoritmo 2.2 Mtodo de Newton


Dados: x(0) , 1 e kmax
k := 0
Repetir
f (x(k) )
f (x(k) )
x(k+1) := x(k) + d
k := k + 1
d :=

at que |d| 6 1 ou k = kmax


Resultado: x(k)

No difcil provar a convergncia quadrtica do mtodo de Newton. De facto, tomando


mdulos em (2.7) obtemos
|e(k+1) | 6 M|e(k) |2 ,
com

M=

1 maxx[a,b] |f (x)|
.
2 minx[a,b] |f (x)|

(2.8)

Assim, supondo vericadas as hipteses do Teorema 2.2, conclumos que o mtodo de


Newton tem ordem de convergncia p = 2.
Outra vantagem do mtodo de Newton em relao ao mtodo da bisseco tem a ver
com o facto do mtodo de Newton se poder generalizar muito facilmente (como veremos)
para sistemas de equaes no lineares. Alm disso, este mtodo tambm se pode aplicar
ao clculo numrico de razes complexas.
Exerccio 2.4 Localize graficamente as razes de f (x) = 0, onde
f (x) = x2 1 ln (x + 1),
e aproxime a maior delas usando o mtodo de Newton duas vezes.
Resoluo: Como f (x) = 0 x2 1 = ln (x + 1), traando o grfico de y = x2 1
e de y = ln (x + 1) (Figura 2.3) verificamos que f (x) = 0 possui duas razes reais:
1 ] 1, 0[ e 2 ]1, 2[.
Faamos a confirmao analtica apenas para 2 . Assim:
1. f C(]1, 2[);

2. f (1)) = ln 2 < 0 e f (2) = 3 ln 3 = 1,901388 > 0;


3. f (x) = 2x (x 1)1 > 0, para x ]1, 2[.

24

Equaes no lineares
y=x 2

3
2

y=ln(x+1)

1
-1

-2

-1
-2
-3

Figura 2.3: Localizao grca.

Logo a raiz 2 de f (x) = 0 existe e nica no intervalo [1, 2].


Para aplicarmos o mtodo de Newton temos primeiro que provar a sua convergncia.
Como f (x) = x2 1 ln (x + 1), f (x) = 2x (x + 1)1 e f (x) = 2 + (x + 1)2
temos que f C 2 ([1, 2]). Por outro lado, como f (x) > 0 (prove!) e f (x) > 0, para
todo o x [1, 2], o Teorema 2.2 garante que o mtodo de Newton aplicado equao
dada gera uma sucesso de valores convergentes para 2 , desde que x(0) seja escolhido
por forma a que f (x(0) )f (x(0) ) > 0, isto , por forma a que f (x(0) ) > 0.
Seja, ento, x(0) = 2. Assim
x(1) = 2

f (2)
= 1,48144;
f (2)

x(2) = 1,48144

f (1,48144)
= 1,369785.
f (1,48144)

Uma estimativa para o erro absoluto pode ser dada por |x(2) x(1) | = 0,1116554.

2.5

Mtodo do ponto fixo

O mtodo do ponto xo no propriamente um mtodo mas sim uma classe de mtodos


(o mtodo de Newton, por exemplo, pertence classe de mtodos do ponto xo). Este
mtodo tem grande importncia na resoluo de todo o tipo de equaes, incluindo as
equaes diferenciais e integrais. Neste momento vamos apenas considerar o problema da
determinao das razes de uma equao no linear f (x) = 0.
O mtodo do ponto xo consiste em converter o problema de determinar os zeros de
uma funo no problema (equivalente) de calcular os pontos xos de uma outra funo.
Definio 2.3 (Ponto Fixo) Seja uma funo definida num intervalo real [a, b]. Dizemos que [a, b] um ponto fixo de se = ().

25

Equaes no lineares

Assim, o problema de determinar os valores de x para os quais f (x) = 0 (zeros de


f ) transformado no problema equivalente de determinar os valores de x para os quais
(x) = x (pontos xos de ). Consideremos o seguinte exemplo.
Exemplo 2.6 A excentricidade da rbita de Vnus dada por e = 0,07. Suponhamos que
pretendemos resolver a equao de Kepler x 0,007 sin x z = 0, quando z = 0,7. Como o
termo 0,007 sin x muito menor que 0,7 temos que uma aproximao para a soluo pode ser
dada por x 0,7. Substituindo este valor em 0,007 sin x obtemos 0,007 sin 0.7 0,004510.
Introduzindo este valor na equao de Kepler temos uma nova aproximao para a sua raiz
dada por x 0,7 + 0,004510 = 0,704510. Este processo poderia continuar dando assim origem
a um processo iterativo da forma x(k+1) = (x(k) ), k = 0, 1, . . ., com (x) = 0,7 + 0,007 sin x
e x(0) = 0,7.
Depois de transformar o problema na forma da determinao dos pontos xos de uma
funo , as sucessivas aproximaes so calculadas, a partir de uma aproximao inicial
x(0) dada, pela frmula
x(k+1) = (x(k) ),

k = 0, 1, 2, . . . .

(2.9)

A funo chamada funo de iterao do mtodo. Notemos que, no caso do mtodo


de Newton, a funo de iterao dada por
N (x) = x

f (x)
.
f (x)

A questo que se coloca a seguinte: dada uma equao f (x) = 0 com raiz [a, b],
como escolher uma funo de iterao por forma a que as sucessivas aproximaes dadas
por (2.9) convirjam para ? Antes de mais notemos que, supondo que contnua e que
x(k) , se tem
= lim x(k+1) = lim (x(k) ) = ( lim x(k) ) = ().
k+

k+

k+

Assim, uma condio necessria para que o processo iterativo (2.9) convirja para zero
de f que seja um ponto xo de .
Exemplo 2.7 A equao de Kepler dada no exemplo anterior pode escrever-se na forma
x = (x) = arcsin

x 0,7
.
0,007

Neste caso, para a aproximao inicial x(0) = 0,7 temos que x(1) = 0 e x(2) = arcsin (100)
que um valor que nem sequer est definido. Como tal, esta escolha para a funo de iterao
no adequada.

26

Equaes no lineares

Como poderemos decidir qual a melhor escolha para a funo de iterao? Em geral,
interessa que (x) varie pouco com x. O caso ideal seria ter constante; nesse caso, para
x(0) arbitrrio, teramos x(1) = . Para responder a esta questo, consideremos o seguinte
teorema.
Teorema 2.3 (Ponto Fixo) Seja uma funo real de varivel real definida no intervalo
[a, b]. Se
1. uma funo contnua em [a, b] e
2. (x) [a, b] para todo o x [a, b],
ento tem um ponto fixo [a, b]. Se, alm disso, diferencivel em ]a, b[ e
3. | (x)| 6 K < 1, para todo o x [a, b],
ento o ponto fixo nico e a sucesso gerada por (2.9) converge para esse ponto, qualquer
que seja a aproximao inicial x(0) [a, b]. Alm disso
x(k+1)
= ().
k+ x(k)

(2.10)

lim

Demonstrao (no foi dada): Vamos mostrar sucessivamente a existncia de ponto


xo, a unicidade e, nalmente, a convergncia do mtodo.
Existncia.

Se (a) = a ou (b) = b temos que tem (obviamente) um ponto xo. Caso contrrio,
e atendendo hiptese 2 do teorema, temos que (a) > a e (b) < b. Consideremos a
funo auxiliar (x) = (x) x denida em [a, b]. Como contnua e (a)(b) < 0
conclumos que existe um ponto [a, b] tal que () = 0, ou seja, tal que () = .

Unicidade.

Suponhamos que 1 e 2 so dois pontos xos de . Ento


|1 2 | = |(1 ) (2 )| = | ()||1 2 | 6 K|1 2 |,
onde pertence ao intervalo denido por 1 e 2 . Assim sendo (1 K)|1 2 | 6 0,
o que implica 1 = 2 , uma vez que 0 6 K < 1.

Convergncia e (2.10).

Considerando x(0) [a, b] temos que


|x(k+1) | = |(x(k) ) ()|
= | (k )||x(k) | 6 K|x(k) |,

k I{, x(k) }.

(2.11)

27

Equaes no lineares
Assim sendo
|x(k+1) | 6 K k+1|x(0) |.

(2.12)

Tomando limites e atendendo a que K < 1 temos que


lim x(k+1) = ,

k+

o que prova a convergncia do mtodo. Para provar (2.10), notemos que, de (2.11)
sai que
x(k+1)
= (k ),
k I{, x(k) }.
x(k)
Como o mtodo converge para , tomando limites em ambos os membros, provamos
o pretendido.
Notemos que, atendendo a (2.10), o mtodo do ponto xo tem, no caso geral, uma
convergncia linear. Alm disso, essa convergncia local, uma vez que ela s acontece
quando o x(0) est sucientemente prximo do ponto xo.
Exemplo 2.8 Resolvamos mais uma vez a equao de Kepler mas, desta vez, consideremos:
(i) a excentricidade e = 0,5 e z = 0,7; (ii) a excentricidade e = 0,5 e z = 2.
Vamos apenas efectuar os clculos para o caso (ii), isto , vamos considerar apenas a
equao x 0,5 sin x 2 = 0. Para usar o mtodo do ponto fixo consideremos a funo de
iterao
(x) = 0,5 sin x + 2,
x [2, 3].

Vejamos se, para esta funo e para este intervalo, se verificam as condies de convergncia
do mtodo.
Como uma funo contnua, vamos provar que (x) [2, 3], para todo o x [2, 3],
isto , que o grfico de est totalmente contido no quadrado [2, 3] [2, 3]. Para isso temos
que provar que (2), (3) [2, 3] e que o valor em todos os seus extremos locais tambm
se encontra nesse intervalo. Ora, (2) = 2,4546, (3) = 2,0706 e a funo montona
decrescente (pois (x) = 0,5 cos x). Assim sendo, (x) [2, 3], para todo o x a variar nesse
intervalo.
Para provar que o mtodo converge basta apenas provar que o majorante do mdulo de

, em [2, 3], inferior a um. Como se v facilmente | (x)| = |0,5 cos x| 6 0,5, e, como tal,
K = 0,5 e o mtodo x(k+1) = 0,5 sin x(k) + 2, k = 0, 1, 2, . . ., converge para a nica raiz da
equao em [2, 3], qualquer que seja x(0) [2, 3]. A determinao das sucessivas iteraes
feita de forma bvia.
Nas Figuras 2.4 e 2.5 podemos visualizar o grco da funo de iterao do mtodo do
ponto xo considerado no exemplo anterior, para os casos (i) e (ii), respectivamente, bem
como o grco da bissectriz dos quadrantes mpares. A abcissa da interseco dos dois
grcos o ponto xo que pretendemos calcular. Como se pode ver, o mtodo do ponto
xo pode ser descrito da seguinte forma (grca). A partir de x(0) , no eixo das abcissas,

28

Equaes no lineares

1.4
1.2
1
0.8
0.6
0.4
0.2
0.2

0.5

x0

x1 x2

1.4

Figura 2.4: Caso (i): (x) = 0,5 sin x + 0,7 e x(0) = 0,7.

3
2.8
2.6
2.4
2.2
2

2.2

x1

x2

x0

2.8

Figura 2.5: Caso (ii): (x) = 0,5 sin x + 2 e x(0) = 2,5.

29

Equaes no lineares

traamos um segmento de recta vertical at intersectar o grco de . A ordenada da


interseco o ponto x(1) . A partir do ponto de interseco traamos um segmento de
recta horizontal at encontrarmos a bissectriz y = x. A abcissa desse ponto nal x(1) .
Para determinar as restantes iteraes repete-se sucessivamente este processo: vertical at
ao grfico de , horizontal at bissectriz.
Regressemos, de novo, questo de saber qual a melhor escolha para a funo de
iterao. O Teorema do Ponto Fixo permite-nos armar que se uma funo de iterao no
vericar as hipteses do teorema, essa funo no deve ser considerada. Pode, no entanto,
dar-se o caso de possuirmos duas funes de iterao que veriquem, ambas, as hipteses
do teorema. Neste caso, por qual optar? Notemos que, por (2.12), se considerarmos duas
funes de iterao 1 e 2 tais que
|1 (x)| 6 |2 (x)| < 1,

x [a, b],

podemos concluir que a sucesso denida pelo mtodo x(k+1) = 1 (x(k) ), k = 0, 1, . . .,


converge mais rapidamente do que a sucesso denida por x(k+1) = 2 (x(k) ), k = 0, 1, . . .,
pois para o primeiro mtodo temos |e(k+1) | 6 M1 |e(k) | e para o segundo |e(k+1) | 6 M2 |e(k) |,
com M1 6 M2 . Assim sendo, a escolha deveria recair sobre a funo 1 .
Como vimos, o mtodo do ponto xo tem convergncia linear. No entanto, o mtodo
de Newton (caso particular do mtodo do ponto xo quando a funo de iterao dada
por N (x) = x f (x)/f (x)) tem convergncia quadrtica. O prximo teorema diz-nos em
que condies podemos garantir uma ordem de convergncia dois no mtodo do ponto xo.
Teorema 2.4 Suponhamos que, para alm das hipteses do Teorema do Ponto Fixo, se
tem () = 0 (onde o nico ponto fixo de em [a, b]), e limitada em [a, b].
Ento o mtodo do ponto fixo (2.9) converge para de forma quadrtica, qualquer que seja
x(0) [a, b]. Alm disso
x(k+1)
lim
= ().
(2.13)
k+ (x(k) )2
Demonstrao: Pelo Teorema do Ponto Fixo temos que o mtodo (2.9) converge para
. Falta apenas provar que a convergncia quadrtica.
Pela frmula de Taylor temos que
1
x(k+1) = ()(x(k) ) + (k )(x(k) )2 ,
2

k I{, x(k) }.

Como () = 0 conclumos que |e(k+1) | 6 M|e(k) |2 , onde M = 12 maxx[a,b] | (x)|. Est,


assim, demonstrado que o mtodo (2.9) tem ordem 2. A demonstrao de (2.13) semelhante efectuada para demonstrar (2.10).

30

Equaes no lineares

Exerccio 2.5 Mostre que, se no ponto fixo de se tem () = () = 0, podemos


concluir (mediante certas condies) que o mtodo (2.9) tem convergncia cbica. Diga quais
so essas condies de convergncia.
Consideremos agora os seguintes corolrios do Teorema do Ponto Fixo, teis para determinar estimativas a priori para o erro cometido ao m de um determinado nmero de
iteraes.
Corolrio 2.5 Nas hipteses do Teorema do Ponto Fixo tem-se que
|e(k) | 6 K k max{x(0) a, b x(0) }.
Demonstrao: Resulta imediatamente de (2.12).
Corolrio 2.6 Nas hipteses do Teorema do Ponto Fixo tem-se que
|e(k) | 6

Kk
|x(1) x(0) |.
1K

Demonstrao (no foi dada): Por um processo anlogo ao efectuado na demonstrao


do Teorema do Ponto Fixo temos que
|x(k+1) x(k) | 6 K k |x(1) x(0) |.
Consideremos l > k e |x(l) x(k) |. Assim
(l)

|x

(k)

x |6

l1
X
j=k

(j+1)

|x

(j)

(1)

x | 6 |x

(0)

x |

Logo
l
X

Kj 6 Kk

j=k

Conclumos ento que

|x(l) x(k) | 6
Tomando o limite quando l + temos
| x(k) | 6
o que prova o pretendido.

X
j=0

Kj =

Kk
.
1K

Kk
|x(1) x(0) |.
1K
Kk
|x(1) x(0) |,
1K

l
X
j=k

Kj.

31

Equaes no lineares

2.6

Equaes algbricas

Suponhamos agora que pretendemos resolver a equao algbrica pn (x) = 0 onde


pn (x) = an xn + an1 xn1 + + a1 x + a0 ,

an 6= 0,

(2.14)

um polinmio de coecientes reais. Este problema aparece com muita frequncia e existem
para ele muitos resultados especcos. Nesta seco faremos apenas uma breve referncia
a alguns desses resultados.
Um resultado bsico sobre polinmios dado no Teorema Fundamental da lgebra,
devido a Johann Carl Friedrich Gauss (1777-1855) e a Leonhard Paul Euler (1707-1783) e que
apresentamos sem demonstrao.
Teorema 2.7 (Teorema Fundamental da lgebra) Seja pn um polinmio de grau n,
com n > 1, de coeficientes reais. Ento existe C tal que pn () = 0.
Temos tambm que, no caso particular dos polinmios, se um zero real de pn ento
pn (x) = (x )qn1 (x; ),
onde qn1 um polinmio de grau n 1 de coecientes reais que dependem de . Se
um zero complexo de pn o seu conjugado tambm o e, como tal,
pn (x) = (x )(x )qn2 (x; ),
sendo qn2 um polinmio de grau n 2 de coecientes reais. Atendendo a estes resultados
podemos escrever.
Corolrio 2.8 Um polinmio de grau n > 1 de coeficientes reais admite, exactamente, n
zeros, reais ou complexos, iguais ou distintos.
Corolrio 2.9 Se pn for um polinmio de grau mpar admite, pelo menos, uma raiz real.
A localizao das razes reais de uma equao algbrica pode ser feita por variadssimos processos. De entre os processos mais populares destaca-se o mtodo de Rolle. A
justicao terica do mtodo dada pelo Teorema de Rolle e o seu corolrio seguinte.
Teorema 2.10 (Corolrio do Teorema de Rolle) Se f for uma funo contnua num
intervalo [a, b] e diferencivel em ]a, b[ e se a e b so dois zeros consecutivos de f , ento
existe, no mximo, um ]a, b[ tal que f () = 0.
Este teorema, em linguagem (muito) informal, costuma ser enunciado de forma seguinte:
entre dois zeros consecutivos da derivada de uma dada funo, existe, no mximo, um zero
dessa funo.
Para denir o mtodo de Rolle consideremos, previamente, a seguinte denio.

32

Equaes no lineares

-1

-0.5

0.5

-0.5
-1
-1.5
-2
-2.5

Figura 2.6: Corolrio do Teorema de Rolle.

Definio 2.4 (Nmeros de Rolle) Chamam-se nmeros de Rolle da equao f (x) = 0,


definida em I R, ao conjunto formado pelos pontos fronteira de I e pelos zeros da
derivada de f .
Atendendo ao teorema anterior temos que, uma vez ordenados de forma crescente, entre
dois nmeros de Rolle consecutivos existe, no mximo, uma raiz real da equao. Assim se
o valor da funo tiver o mesmo sinal nos extremos do intervalo denido por dois nmeros
de Rolle consecutivos, a equao no tem nenhuma raiz real nesse intervalo; caso contrrio,
a equao tem uma s raiz real no intervalo.
Exerccio 2.6 Usando o mtodo de Rolle, localize todas as razes reais de
p3 (x) x3 2x 5 = 0.

p
2
2/3 e
Resoluo:
A
funo
derivada,
definida
pela
expresso
3x

2,
tem
dois
zeros

p
+ 2/3. Os nmeros de Rolle da equao dada so
r
r
2
2
,

,
+
,
+.
3
3
Como a funo dada contnua em R e
ri

p3 (ri )

p
p
2/3 + 2/3

+
+

p
temos que a nica raiz real da equao dada est no intervalo ] 2/3, +[.

Note-se que o intervalo que contm todas as razes da equao algbrica pode ser obtido
recorrendo ao seguinte resultado.

33

Equaes no lineares

Teorema 2.11 (Cauchy) Seja pn (x) = 0 uma equao algbrica, com pn um polinmio
da forma (2.14). Todos os zeros de pn esto includos no crculo do plano complexo
= {z C : |z| 6 1 + },
onde


ak
= max .
k=0,...,n1 an

Um resultado alternativo o seguinte.

Teorema 2.12 (Newton) Seja pn (x) = 0 uma equao algbrica. Se, para x = L, L > 0,
o polinmio pn e as suas sucessivas derivadas forem no negativas, ento L constitui um
limite superior das razes positivas de pn (x) = 0.
Demonstrao: Seja pn um polimio de grau n. Fazendo o seu desenvolvimento de em
srie Taylor, em torno de x = L, temos que
(n)

pn (x) = pn (L) + pn (L)(x L) +

pn (L)
pn (L)
(x L)2 + +
(x L)n .
2!
n!

Assim fcil concluir que, nas hiptese do teorema, pn (x) > 0 para todo o x > L, o que
prova o pretendido.
Um limite inferior l para as razes negativas de pn (x) = 0 poderia ser obtido usando o
resultado anterior, atendendo a que as razes negativas de uma equao algbrica pn (x) =
0, onde pn um polinmio de grau n, so as razes positivas, com sinal contrrio, de
qn (x) (1)n pn (x) = 0.
Exerccio 2.7 Prove a afirmao anterior.
Exerccio 2.8 Determine limites superiores e inferiores para as razes reais de
p3 (x) x3 2x 5 = 0.
Resoluo: Atendendo a que
p3 (x)
p3 (x)
p3 (x)
p
3 (x)

0 1 2 3
+
+ ,
+
+

L = 3 limite superior das razes de p3 (x) = 0. Para determinar um limite inferior das
razes, consideremos
q3 (x) (1)3 p3 (x) = x3 2x + 5.

Ora, atendendo a que

34

Equaes no lineares

q3 (x)
q3 (x)
q3 (x)
q3 (x)

0 1
+
+ ,
+
+

temos que l = 1 limite inferior das razes de p3 (x) = 0.


Outro resultado muito til para determinar o nmero de zeros reais positivos de um
polinmio foi enunciado por Ren Descartes (1596-1650) em 1637: O nmero de zeros reais
positivos de um polinmio limitado pelo nmero de varies de sinal da sucesso dos seus
coecientes. Mais tarde Gauss demonstrou que o nmero de zeros reais positivos de um
polimio (contando com a multiplicidade) tem a mesma paridade do nmero de variaes
de sinal da sucesso dos seus coecientes. Temos ento o seguinte teorema.
Teorema 2.13 (Regra de Sinal de Descartes) O nmero de razes reais positivas da
equao pn (x) = 0, sendo pn dado por (2.14), igual ao nmero de variaes de sinal da
sucesso {an , an1 , . . . , a0 } ou um nmero inferior mas da mesma paridade.
Demonstrao (no foi dada): Vamos efectuar a demonstrao por induo.
Comecemos por considerar n = 1, isto , pn um polinmio de grau um. Neste caso o
resultado bvio pois a raiz de pn (x) = 0, com pn (x) = a1 x + a0 , s positiva quando e
s quando a1 a0 > 0.
Suponhamos agora que o resultado vlido para todos os polinmios de grau n 1 e
consideremos pn um polinmio de grau n dado por (2.14), com an > 0 (sem perda de generalidade). Se a0 = pn (0) > 0, o nmero de variaes de sinal da sucesso dos coecientes
de pn tem que ser par pois o primeiro e o ltimo termo da sucesso so positivos. Por outro
lado, o nmero de razes positivas de pn (x) = 0 tambm par pois lim pn (x) = +.
x+

A mesma argumentao poderia ser usada no caso de a0 = pn (0) < 0; neste caso,
tanto o nmero de varies de sinal da sucesso dos coecientes de pn como o nmero de
zeros positivos de pn so mpares. Conclumos ento que o nmero de razes positivas de
pn (x) = 0 tem a mesma paridade do nmero de variaes de sinal.
Falta apenas provar que o nmero de variaes de sinal limita o nmero de razes
positivas. Suponhamos que pn (x) = 0 tem m razes reais positivas e que o nmero de
variaes de sinal da sucesso dos seus coecientes V < m. Assim sendo, temos que ter
m > V + 2 (para manter a paridade). Mas, pelo Teorema de Rolle, pn tem que ter pelo
menos V + 1 razes reais positivas, o que contraria a hiptese de induo uma vez que o
nmero de variaes de sinal dos coecientes de pn (polinmio de grau 6 n 1) inferior
a V . Logo m 6 V .
Notemos que a regra de sinal de Descartes no tem em conta a multiplicidade das razes.
No entanto, podemos armar o resultado demonstrado por Gauss, isto que o nmero de
razes reais positivas de pn (x) = 0 (contando com a multiplicidade) tem a mesma paridade
do nmero de variaes de sinal da sucesso dos seus coecientes.

35

Equaes no lineares

Exerccio 2.9 Usando a regra de sinal de Descartes, determine o nmero de razes reais de
p3 (x) = 0, onde p3 (x) = x3 2x 5.
Resoluo: Comecemos pelas razes positivas. Como a sucesso de sinais dada pelos coeficientes do polinmio {+, , }, temos que o nmero de variaes de sinal 1 e, como
tal, existe uma raiz positiva de p3 (x) = 0.
Para as razes negativas consideremos o polinmio auxiliar q3 (x) := (1)3 p3 (x) =
x3 2x+5. Como a sucesso de sinais dada pelos coeficientes do polinmio q3 {+, , +},
temos que o nmero de variaes de sinal 2 e, como tal, existem 2 ou 0 razes negativas
de p3 (x) = 0.

2.6.1

Algoritmo de Hrner

O clculo dos zeros de um polinmio feito, na maioria das vezes, recorrendo ao mtodo
de Newton. Quando se aplica este mtodo h necessidade de calcular, em cada iterao, o
valor do polinmio e da sua derivada num ponto. Esse clculo deve ser efectuado de forma
eciente uma vez que grande parte do esforo computacional a ele se deve.
Suponhamos que se pretende calcular pn (z), com pn um polinmio dado por (2.14). Se
considerarmos o polinmio escrito na forma cannica (tal como em (2.14)) efectuamos n
adies/subtraces e 2n 1 multiplicaes/divises. No entanto, se considerarmos
pn (x) = a0 + x(a1 + x(a2 + + x(an1 + an x))),
designada por forma encaixada do polinmio, ao calcular pn (z) s efectuamos n adies/subtraces e n multiplicaes/divises. Esta forma a base do algoritmo de William George
Hrner (1786-1837).
Algoritmo 2.3 Algoritmo de Hrner
Dados: ai , i = 0, 1, . . . , n, e z
bn := an
Para k de n 1 at 0 fazer
bk := ak + bk+1 z

Resultado: pn (z) = b0
Se pn for um polinmio dado por (2.14) e z um nmero real temos que
pn (x) = (x z)qn1 (x; z) + b0 ,

(2.15)

onde qn1 um polinmio de grau n 1, que depende de z, dado por


qn1 (x; z) = bn xn1 + bn1 xn2 + + b2 x + b1 ,

(2.16)

designado por polinmio associado a pn . Note-se que o valor de pn (z) = b0 , ou seja, temos
o seguinte resultado demonstrado por Paolo Ruffini (1765-1822).

36

Equaes no lineares

Teorema 2.14 (Ruffini) O valor numrico de pn (z) de um polinmio pn em x = z


igual ao resto da diviso de pn (x) por (x z).
A chamada regra de Ruffini, que consiste em substituir (2.14) e (2.16) em (2.15) e
igualando os coecientes de potncias de x do mesmo grau, permite obter os valores bi ,
i = 1, . . . , n, e o valor de b0 de acordo com o algoritmo de Hrner.
O mesmo algoritmo permite obter facilmente os valores da derivada de pn dado por
(2.14) num dado ponto z. Assim, uma vez que, por (2.15),

pn (x) = (x z)qn1
(x; z) + qn1 (x; z),

temos que pn (z) = qn1 (z; z).


Algoritmo 2.4 Valores da derivada de um polinmio
Dados: ai , i = 0, 1, . . . , n, e z
bn := an
q := bn
Para k de n 1 at 0 fazer
bk := ak + bk+1 z
q := bk + qz

Resultado: pn (z) = b0 e pn (z) = q

2.6.2

O mtodo de Newton-Hrner

Vamos comear por considerar o caso em que pn , dado por (2.14), tem apenas zeros reais
simples. Neste caso, podemos aplicar qualquer um dos mtodos iterativos estudados. No
entanto, sugerimos o seguinte procedimento.
1. Determina-se a localizao dos zeros n < n1 < < 2 < 1 .
2. Partindo de um valor x0 > 1 , usando o mtodo de Newton, calcula-se uma aproximao numrica para o maior zero 1 , com a preciso desejada.
3. Pelo algoritmo de Hrner/Runi divide-se pn (x) por x 1 e regressa-se ao passo 2
para determinar 2 . Este processo conhecido por deflaco. Repetindo sucessivamente este processo, determinamos numericamente todos os zeros do polinmio.
4. Para renar as aproximaes obtidas, aplica-se o mtodo de Newton a p sendo as
aproximaes iniciais os valores obtidos no passo 3.

37

Equaes no lineares

O mtodo de Newton-Hrner pode ser descrito da seguinte forma. Dada uma estimativa
(0)
inicial rj para a raiz j , calcular, para cada k > 0 at convergncia
(k)

(k+1)
rj

(k)
rj

pn (rj )
(k)

(k)

qn1 (rj ; rj )

Exerccio 2.10 Construa o algoritmo implcito no procedimento descrito anteriormente.


No caso de alguma das razes ter multiplicidade m > 1 podemos escrever
pn (x) = (x )m pnm (x),
onde o polinmio pnm , de grau n m, tal que pnm () 6= 0. A aproximao desta raiz
feita com recurso ao mtodo de Newton modificado
r (k+1) = x(k) m

pn (r (k) )
,
pn (r (k) )

k = 0, 1, 2, . . . .

(2.17)

Exerccio 2.11 Prove que se for um zero de multiplicidade m de um polinmio p, o mtodo


de Newton modificado (2.17) converge localmente (quais as condies de convergncia?) e de
forma quadrtica para .
Para calcular as razes complexas de uma equao algbrica o mtodo da bisseco no
pode ser usado. Quanto ao mtodo de Newton, ele s convergir para uma raiz complexa
se a aproximao inicial for um nmero complexo (e se forem satisfeitas as condies de
convergncia), sendo todo o processo realizado com aritmtica complexa. Note-se que,
aps determinada uma raiz complexa, camos imediatamente a conhecer outra raiz (a sua
conjugada).

2.7

Sistemas de equaes no lineares

Nesta seco vamos descrever, de forma sucinta, a aplicao do mtodo de Newton


resoluo numrica de sistemas de equaes no lineares.
Consideremos o ponto x = (x1 , . . . , xn ) Rn e a aplicao F , sucientemente regular,
denida por
F :

Rn Rn
.
(x1 , . . . , xn ) (f1 (x1 , . . . , xn ), . . . , fn (x1 , . . . , xn ))

nosso objectivo determinar a soluo = (1 , . . . , n ) do sistema de n equaes em n


incgnitas

f1 (x1 , . . . , xn ) = 0
..
.. ,
.
.

f (x , . . . , x ) = 0
n 1
n

38

Equaes no lineares
que, noutra notao, pode ser escrito na forma

(2.18)

F (x) = 0,
com

x=

x1
x2
..
.
xn

F (x) =

f1 (x)
f2 (x)
..
.
fn (x)

0=

0
0
..
.
0

(2.19)

A resoluo de sistemas de equaes no lineares por processos analticos pode ser


bastante difcil ou mesmo impossvel. Nesse caso temos necessidade de recorrer a mtodos numricos no sentido de obter uma soluo aproximada. Iremos considerar mtodos
iterativos da forma
x(k+1) = (x(k) ),
k = 0, 1, . . . ,
(2.20)
com

(x) =

1 (x)
2 (x)
..
.
n (x)

(2.21)

que determinem uma sucesso de aproximaes para uma raiz da equao vectorial
(2.18), a partir de uma dada aproximao inicial

(0)
x1
x2

x(0) = .. .
(2.22)
.
xn

Uma questo essencial quando se lida com mtodos iterativos tem a ver com a convergncia do processo: dada uma sucesso de aproximaes {x(k) } gerada pelo processo
iterativo, como saber se ela convergente para a soluo do sistema?

Definio 2.5 (Convergncia) A sucesso de vectores {x(k) } diz-se convergente para


Rn se, para todo o > 0, existe uma ordem k0 tal que, para todo o k > k0 , se tem
kx(k) k < . Nesse caso escreve-se lim x(k) = .
k+

De notar que a noo de convergncia depende do conceito de norma. Uma vez que
possvel considerar vrias normas, uma questo legtima seria a de saber se possvel
que uma sucesso de vectores convirja quando se considera uma determinada norma e
divirja quando se considera outra. Para as normas mais usuais (dadas no Exerccio 1.1)
possvel demonstrar que se uma sucesso de vectores convergir segundo uma das normas ela
tambm converge quando se considera outra qualquer. Por este facto diz-se que estamos
em presena de normas equivalentes.

39

Equaes no lineares

Consideremos agora o problema da denio de critrios de paragem para processos


iterativos aplicados ao clculo das razes de sistemas de equaes no lineares F (x) = 0.
Seja {x(k) } a sucesso de aproximaes gerada pelo processo iterativo convergente para a
soluo do sistema. Os critrios de paragem mais frequentes so:
1. Critrio do erro absoluto: kx(k) x(k1) k 6 ;
2. Critrio do erro relativo: kx(k) x(k1) k 6 kx(k) k;
3. Critrio do valor da funo: kF (x(k) )k 6 1 , com 1 ;
4. Critrio do nmero mximo de iteraes: k = kmax .
Antes de passarmos denio dos processos iterativos vamos considerar o problema da
determinao da aproximao inicial que, para sistemas de equaes, pode ser um problema
de difcil resoluo. Na prtica existem processos que permitem, a priori, determinar
boas estimativas iniciais para a soluo pretendida. Esses processos dependem muito do
problema em questo e como tal no so passveis de um tratamento generalizado.
Existe, no entanto, uma forma de poder obter uma boa aproximao inicial quando
os sistemas so de pequena dimenso. Essa forma a localizao grca. Este processo
consiste na mera generalizao do efectuado na seco anterior e, como tal, no iremos
fazer a sua abordagem na forma geral mas sim recorrendo a um exemplo.
Exemplo 2.9 Considere-se o sistema de equaes no lineares
 2
x + y2 = 1
.
xy + x = 1
Traando o grfico de f1 (x, y) = 0 e f2 (x, y) = 0, com

f1 (x, y) = x2 + y 2 1
,
f2 (x, y) = xy + x 1
verificamos que uma soluo do sistema (x, y) = (1, 0) e que a outra est prxima de
(x, y)(0) = (1, 1).
Seja dado o sistema de equaes no lineares F (x) = 0 denido por (2.19). Pretendemos
determinar uma aproximao para a raiz = (1 , . . . , n ) do referido sistema sendo dada
uma aproximao inicial (2.22). Suponhamos que F C 2 (V ), com V uma vizinhana de
. Pela frmula de Taylor temos que, se x(0) V ,
F () = F (x(0) ) + JF (x(0) )( x(0) ) + ,
onde

JF (x) =

f1
f1
(x)
(x)
x1
xn
..
..
..
.
.
.
fn
fn
(x)
(x)
x1
xn

40

Equaes no lineares

2
x2

+ y

x y + x =1

=1
1

-1.5

-1

-0.5

0.5

1.5

-1
-2
-3
-4

Figura 2.7: Localizao grca.

a matriz de Jacobi de F no ponto x. Como F () = 0 e supondo det (JF (x)) 6= 0, para


todo o x V , podemos denir o processo iterativo
x(k+1) = x(k) JF1 (x(k) )F (x(k) ),

k = 0, 1 . . . ,

que pretendemos que seja convergente para . Este processo iterativo designado por
mtodo de Newton ou mtodo de Newton-Raphson.
Antes de apresentar o algoritmo que traduz o mtodo de Newton, notemos que podemos
evitar, em cada iterao, o clculo da matriz inversa JF1 (x(k) ) se zermos

JF (x(k) )x(k) = F (x(k) )
.
(2.23)
x(k) = x(k+1) x(k)
Algoritmo 2.5 Mtodo de Newton
Dados: x(0) , 1 e k = kmax
k := 0
Repetir
Se det (JF (x(k) )) = 0 ento parar
Resolver JF (x(k) ) = F (x(k) )
x(k+1) := x(k) +
k := k + 1
at que kk 6 1 ou k = kmax
Resultado: x(k)

Notemos que o carcter local da convergncia deste mtodo nos obriga a ter o cuidado
de escolher uma aproximao inicial que esteja suficientemente prxima da soluo que
pertendemos determinar.

41

Equaes no lineares
Exerccio 2.12 Determine uma aproximao para a soluo de
 2
x + y2 1 = 0
F (x) = 0
,
xy + x 1 = 0

diferente de (1, 0), efectuando duas iteraes de mtodo de Newton. Indique uma estimativa
para o erro cometido.
Resoluo: Seja = (1 , 2 ) a soluo pretendida. Como vimos, a aproximao inicial pode
ser dada por (x, y)(0) = (1, 1).
Para no sobrecarregar a notao consideremos (x, y)(k) = (xk , yk ), k = 0, 1, . . .. Como


2xk 2yk
JF (xk , yk ) =
,
yk + 1 xk
temos que

det (JF (xk , yk )) 6= 0 x2k yk2 yk 6= 0.

Apliquemos o mtodo de Newton na forma (2.23).

Primeira iterao.
Como x20 y02 y0 = 1 6= 0 podemos efectuar a primeira iterao do mtodo.
Assim



 2



 

2x0 2y0
x0
x0 + y02 1
2 2
x0
1
=

=
.
y0 + 1 x0
y0
x0 y0 + x0 1
2 1
y0
1
Daqui sai que

x0
y0

0,5
0

x1
y1

15/28
6/7

0,5
1

Segunda iterao.
Como x21 y12 y1 = 1,75 6= 0 podemos efectuar a segunda iterao do mtodo.
Assim obtemos, de modo anlogo,


 

1 2
x1
0,25
=
.
2 0,5
y1
0
Daqui sai que


Temos assim que

x1
y1

=


1/28
1/7

x2
y2


15 6

,
= (0,5357, 0,8571),
28 7
sendo uma estimativa para o erro cometido dada por


1 1
1
(2)
(2)
(1)
k x k kx x k = max
,
= = 0,1429.
28 7
7

42

Equaes no lineares

2.8

Exerccios de aplicao engenharia

Exerccio 2.13 Para determinar a queda de presso em escoamentos de lquidos em tubos


cilndricos, torna-se necessrio obter o chamado factor de atrito, f , que dado pela relao
emprica


1
1  p 
5,6
= ln Re f + 14
,
k
k
f
em que k a rugosidade e Re o nmero (adimensional) de Reynolds do escoamento. Para um
valor de k = 0,28 e um nmero de Reynolds Re = 3750, determine o valor de f .
Exerccio 2.14 Baseado no trabalho de Frank-Kamenetski (1955), as temperaturas no interior de um material com fontes de calor embebidas podem ser determinadas pela equao
p
e0,5t cosh (e0,5t ) = 0,5Ler .

Dado Ler = 0,088, determine t.

Exerccio 2.15 A concentrao, C, de uma bactria poluente num lago decresce de acordo
com a expresso
C = 80e2t + 20e0,1t ,
onde t representa o tempo. Determine o tempo necessrio para que a concentrao de bactrias
fique reduzida a 10.
Exerccio 2.16 Um medicamento administrado a um doente produz uma concentrao na
corrente sangunea dada por
c(t) = Atet/3 mg/ml,
t horas depois de injectadas A unidades. A concentrao mxima de segurana de 1 mg/ml.
1. Que quantidade deve ser injectada para que seja atingida a concentrao mxima de
segurana e em que altura ocorre esse mximo?
2. Uma concentrao adicional do mesmo medicamento deve ser administrada no doente
depois da concentrao ter descido para 0,25 mg/ml. Determine quando que a segunda
injeco deve ser administrada (em minutos).
3. Assumindo que a concentrao aps injeces consecutivas aditiva e que 0,75% da
quantidade original injectada administrada na segunda injeco, em que altura deve ser
dada a terceira injeco?
Exerccio 2.17 Em engenharia ambiental, a equao que se segue pode ser usada para calcular o nvel de oxignio, c, existente num rio a jusante de um local de descarga de esgoto,
c = 10 15(e0,1x e0,5x ),

em que x representa a distncia a partir do local de descarga. Usando um mtodo sua escolha,
determine o local (a partir da descarga) em que o nvel de oxignio atinge o valor 4.
Sugesto: Sabe-se que o referido local se encontra, no mximo, a 5 km a jusante do local
de descarga.

43

Equaes no lineares

Exerccio 2.18 Em engenharia ocenica, a equao para a altura de uma determinada onda
num cais dada por




 
2tv
2x
x
h = h0 sin
cos
+e
.

Determine uma aproximao para o valor de x sabendo que h = 0,5h0 , = 20, t = 10 e


v = 50.
Exerccio 2.19 Num escoamento com superfcie livre pode definir-se uma camada junto ao
fundo (designada por camada limite) onde as caractersticas do escoamento so significativamente diferentes das que se verificam acima dessa camada. Pode provar-se que a espessura da
camada limite = 5z, sendo z, para um escoamento com determinadas caractersticas, dado
por |z| log |75z| = 2.
1. Localize graficamente as razes reais desta equao.
2. Determine a segunda aproximao dada pelo mtodo de Newton para a espessura da
camada limite, .
3. Indique um limite superior para o erro cometido na aproximao obtida na alnea anterior.
Exerccio 2.20 De Santis (1976) deduziu uma relao para o factor de compressibilidade dos
gases reais da forma
1 + y + y2 y3
z=
,
(1 y)3

onde y = b/4, sendo b a correco de van der Waals e o volume molar. Se z = 0,892 qual
o valor de y?
Exerccio 2.21 Pretende construir-se um depsito semi-esfrico, de raio r, para armazenar
um lquido at uma altura h. Sabendo que o volume do referido lquido dado pela expresso
V =

(2r 3 3r 2h + h3 )
,
3

qual o raio com que se deve construir o depsito se se pretender guardar no mximo 250 litros
de lquido a uma altura de 2 metros?
Exerccio 2.22 Um corpo de massa 1 kg, que se move apenas ao longo de uma linha recta
e que inicialmente se encontra em repouso no ponto de coordenadas x = 2, fica sujeito a uma
fora cuja intensidade em cada instante t dada por
F (t) = 1 + 2t 3t2 .
Localize e separe os instantes de tempo em que o corpo passa pela origem do referencial.

44

Equaes no lineares

Exerccio 2.23 Para calcular a aspecto de uma calha de escoamento, por gravidade, com o
objectivo de minimizar o tempo de descarga de um determinado produto granulado (Chiarella,
Charlton, Roberts (1975)), necessrio resolver as seguintes equaes no lineares pelo mtodo
de Newton

sin n
sin n+1

fn (1 , . . . , N )
(1 wn+1 )
(1 wn ) = 0, n = 1, . . . , N 1,

vn+1
vn
N
X

tan j X = 0,

fN (1 , . . . , N ) y
j=1

onde

(i)

vn2

v02

+ 2gny 2y

e
(ii) wn = yvn

N
X

v3
j=1 j

n
X

1
,
cos j

j=1

1
,
cos j

n = 1, . . . , N,

n = 1, . . . , N.

A constante v0 a velocidade inicial do produto granulado, X a coordenada em x do extremo


final da calha, a fora de atrito, N o nmero de segmentos da calha e g a constante de
gravidade. As variveis j so os ngulos que os respectivos segmentos da calha fazem com a
vertical e vj a velocidade das partculas no j-simo segmento da calha.
Resolva o sistema para = (1 , . . . , N ) usando o mtodo de Newton com = 0, X = 2,
y = 0,2, N = 20, v0 = 0, e g = 32 ps/seg2 , onde os valores de vn e wn so dados por (i) e
(ii). Aplique o mtodo at que
k(k+1) (k) k < 102 rad.

Captulo 3
Aproximao de funes
3.1

Interpolao

Seja f uma funo real denida num conjunto de pontos x0 , x1 , . . . , xn . Pretende-se calcular
o valor de f (x), com x 6= xi , i = 0, 1, . . . , n. Tal situao muito frequente, por exemplo,
no contexto das equaes diferenciais. Quando se usam mtodos numricos para aproximar
a soluo de uma equao diferencial esta ca apenas conhecida num conjunto de pontos.
A interpolao permite assim encontrar uma funo que passa por esse conjunto de pontos
e que pode funcionar como uma aproximao soluo da equao.
Em linhas gerais, o conceito de interpolao consiste em determinar uma funo (x) =
a0 0 (x) + + an n (x), gerada por uma certa famlia de funes {k }nk=0, por forma a que
f (xi ) = (xi ),

i = 0, 1, . . . , n.

A funo nestas condies designada por funo interpoladora de f nos pontos de suporte
(interpolao) x0 , x1 , . . . , xn .
Nada nos garante que o problema da interpolao tenha sempre soluo. Por exemplo,
fazendo 0 (x) = 1 e 1 (x) = x2 , no existe nenhuma funo (x) = a0 + a1 x2 que passe
nos pontos (1, 1) e (1, 0).

3.2

Interpolao polinomial de Lagrange

Um caso particular de interpolao com grande importncia devido ao grande nmero


de aplicaes a interpolao polinomial. Alm disso, as frmulas desenvolvidas para a
interpolao polinomial esto na base do desenvolvimento de muitos mtodos numricos
para o clculo de razes de equaes no lineares, clculo de integrais e derivadas, bem
como a resoluo de equaes diferenciais.
No caso da interpolao polinomial, as funes geradoras so, por exemplo, k (x) = xk ,
k = 0, 1, . . . , n.

45

46

Aproximao de funes

Definio 3.1 Seja f uma funo definida num intervalo [a, b] e conhecida nos pontos da
partio
a = x0 < x1 < < xn1 < xn = b.
(3.1)
Um polinmio P que satisfaz
f (xi ) = P (xi ),

i = 0, 1, . . . , n,

(3.2)

chamado polinmio interpolador (de Lagrange) de f nos pontos da partio dada.


Exerccio 3.1 Dada a tabela
xi
log xi

2,3
2,4
2,5
2,6
,
0,361728 0,380211 0,397940 0,414973

determine o valor aproximado de log 2,45, usando interpolao polinomial.


Resoluo: Vamos calcular o polinmio P3 de grau menor ou igual a 3, interpolador de
y = log x nos pontos 2,3, 2,4, 2,5 e 2,6. De acordo com a definio temos P3 (2,3) =
0,361728, P3 (2,4) = 0,380211, P3 (2,5) = 0,397940, e P3 (2,6) = 0,414973. Isto , se
P3 (x) = a0 + a1 x + a2 x2 + a3 x3 , temos que

a0 + 2,3a1 + 5,29a2 + 12,167a3 = 0,361728

a0 + 2,4a1 + 5,76a2 + 13,824a3 = 0,380211


.
a0 + 2,5a1 + 6,25a2 + 15,625a3 = 0,397940

a0 + 2,6a1 + 6,76a2 + 17,576a3 = 0,414973


Sendo o sistema possvel e determinado tal polinmio existe e nico. Assim
P3 (x) = 0,404885 + 0,528963x 0,107300x2 + 0,009667x3
o polinmio pretendido. Temos ento que log 2,45 P3 (2,45) = 0,389170. Compare-se este valor com o valor exacto log 2,45 = 0,38916608 . . .. Note-se que o erro cometido
na aproximao no excede 0,4 105 .
A determinao do polinmio interpolador por este processo pouco eciente e pouco
estvel. Quanto ecincia, note-se que a resoluo do sistema linear requer (n + 1)3 /3 +
(n+1)2 (n+1)/3 multiplicaes/adies (O(n3 ) operaes). Para alm de pouco eciente,
este processo tambm pouco estvel: na prtica verica-se que este mtodo no permite
ir alm de valores de n da ordem da dezena quando se trabalha em aritmtica com 6 ou 7
decimais.

47

Aproximao de funes

3.2.1

Existncia e unicidade. Frmula de Lagrange

O mtodo de determinar um polinmio interpolador usado no exerccio anterior no


eciente nem estvel. Apresentaremos, neste captulo, alguns mtodos mais ecientes para
a sua determinao.
O prximo teorema, devido a Joseph-Louis Lagrange (1736-1813), estabelece a existncia
e unicidade do polinmio de grau inferior ou igual a n interpolador de uma funo em n + 1
pontos distintos. Alm disso, indica-nos um processo que permite a sua determinao.
Teorema 3.1 (Lagrange) Seja f uma funo definida num intervalo [a, b] e conhecida
nos pontos da partio (3.1). Existe um e um s polinmio Pn de grau menor ou igual a
n interpolador de f nos pontos dados.
Demonstrao: Consideremos o polinmio Pn denido por
n
X
Pn (x) =
f (xi )i (x),

(3.3)

i=0

em que

i (x) =

n
Y

x xj
,
x
i xj
j=0,j6=i

i = 1, . . . , n.

(3.4)

Notemos que cada i um polinmio de grau n. Alm disso



1 i=j
i (xj ) =
,
0 i 6= j

isto i (xj ) = i,j onde i,j representa o smbolo de Kronecker, em honra de Leopold
Kronecker (1823-1891). Portanto a funo Pn um polinmio de grau menor ou igual a
n que verica as condies de interpolao (3.2), o que prova a existncia de soluo do
problema em causa.
Para provar a unicidade, suponhamos que Pn e Qn so dois polinmios de grau menor
ou igual a n interpoladores de f nos pontos da partio dada. Ento o polinmio
Rn (x) = Pn (x) Qn (x)

anula-se, pelo menos, nos pontos xi , i = 0, 1, . . . , n. Como Rn um polinmio de grau


menor ou igual a n, ele s pode ter n + 1 zeros se for identicamente nulo. Assim sendo,
Pn (x) = Qn (x), para todo o x, o que prova o pretendido.
As expresses (3.3) e (3.4) denem a frmula de Lagrange para calcular o polinmio
interpolador de f nos pontos (3.1).
O resultado anterior diz-nos que por n + 1 pontos passa um e um s polinmio de grau
n. Assim temos que, se a funao f a interpolar for um polinmio de grau n coincide com
o seu polinmio interpolador do mesmo grau, podendo assim ser escrita na forma
n
X
f (x) =
f (xi )i (x).
i=0

48

Aproximao de funes
Exerccio 3.2 Dada a tabela
xi
f (xi )

1 2 3 4
,
4 15 40 85

determine uma aproximao para f (1.5), usando interpolao cbica.


Resoluo: Temos que
0 (x) =

1
(x 2)(x 3)(x 4)
= (x 2)(x 3)(x 4)
(1)(2)(3)
6

1 (x) =

(x 1)(x 3)(x 4)
1
=
(x 1)(x 3)(x 4)
(1)(1)(2)
2

2 (x) =

(x 1)(x 2)(x 4)
1
= (x 1)(x 2)(x 4)
(2)(1)(1)
2

3 (x) =

(x 1)(x 2)(x 3)
1
=
(x 1)(x 2)(x 3).
(3)(2)(1)
6

Assim
P3 (x) =

3
X
i=0

f (xi )i (x) = = 1 + x + x2 + x3 .

Atendendo frmula de Lagrange podemos construir o seguinte algoritmo para calcular


o valor de Pn (x), sendo Pn o polinmio interpolador de f nos n + 1 pontos distintos
x0 , x1 , . . . , xn .
Algoritmo 3.1 Frmula de Lagrange
Dados: xi , i = 0, 1, . . . , n e x
P := 0
Para i de 0 at n fazer
:= 1
Para j de 0 at n fazer
Se j 6= i ento := (x xj )/(xi xj )
P := P + f (xi )
Resultado: Pn (x) = P

49

Aproximao de funes
Exerccio 3.3 Mostre que frmula de Lagrange pode ser escrita na forma
Pn (x) =

n
X

w(x)
,
(x xi )w (xi )

(3.5)

(x xj ).

(3.6)

f (xi )

i=0

sendo
w(x) =

n
Y
j=0

Resoluo: Atendendo a (3.6) temos que

w (x) =

n
n
X
Y

(x xj ) w (xi ) =

i=1 j=1,j6=i

e como tal
i (x) =
o que prova o pretendido.

n
Y

(xi xj ),

j=1,j6=i

w(x)
,
(x xi )w (xi )

Para determinar o esforo computacional necessrio obteno do polinmio interpolador pela frmula de Lagrange, note-se que, supondo as constantes
Fi =

f (xi )
,
w (xi )

i = 0, . . . , n,

calculadas a priori, o clculo do valor do polinmio interpolador num determinado ponto


pode ser dado por


F0
Fn
Pn (x) = w(x)
++
.
x x0
x xn

Este clculo requer n(n + 1) multiplicaes e n(n + 2) adies, isto , O(n2 ) operaes, o
que torna a frmula de Lagrange muito mais eciente que o processo matricial.
A frmula de Lagrange possui, no entanto, o inconveniente de obrigar a refazer os
clculos dos polinmios (3.4) sempre que ocorra uma alterao nos pontos de suporte. Na
prtica esta situao acontece com frequncia, por exemplo, quando pretendemos passar
de pn a pn+1 , pela adio de mais um ponto xn+1 ao suporte de interpolao, a m de
estudar o comportamento do erro. Este problema resolvido pelo algoritmo de Newton
das diferenas divididas, que no ser objecto de estudo nesta disciplina.

3.2.2

Erro de interpolao

Por denio, o polinmio interpolador coincide com a funo num dado conjunto de pontos
de suporte. Interessa-nos saber, no entanto, se para os outros pontos do domnio da funo,
o polinmio interpolador constitui uma boa ou uma m aproximao para a funo. Nesse
sentido temos o seguinte teorema, que apresentamos sem demonstrao.

50

Aproximao de funes

Teorema 3.2 Seja Pn o polinmio de grau menor ou igual a n interpolador da funo f


nos pontos da partio (3.1). Se f C n ([a, b]) e se f (n+1) for contnua em ]a, b[, ento
para cada x [a, b] existe = (x) ]a, b[ tal que
f (n+1) ()
w(x),
e(x) = f (x) Pn (x) =
(n + 1)!

(3.7)

onde w(x) a funo dada por (3.6).


Na prtica, o erro de interpolao num ponto x usado na forma
|e(x)| = |f (x) Pn (x)| 6
onde

Mn+1
|w(x)|,
(n + 1)!

(3.8)



Mn+1 = max f (n+1) (x) .
x[a,b]

Note-se a semelhana existente entre a frmula do erro na interpolao e na frmula


de Taylor. A diferena est que, enquanto a primeira usa informao em vrios pontos
distintos, a segunda recorre apenas a um nico ponto.
Exerccio 3.4 Determine uma estimativa para o erro que se cometeu na aproximao efectuada no Exerccio 3.1.
Resoluo: Neste caso temos, atendendo a (3.8),
|e3 (x)| = | log x P3 (x)| 6
onde

M4
|(x 2,3)(x 2,4)(x 2,5)(x 2,6)|,
4!



M4 = max f (4) (x) = max
x[2,3,2,6]

6
= 0,093116.
x[2,3,2,6] x4 ln 10

Fazendo x = 2,45 vem

| log 2,45 P3 (2.45)| 6

0,093116
|(2,45 2,3)(2,45 2,4)(2,45 2,5)(2,45 2,6)|,
24

ou seja |e3 (2,45)| 6 0,917 105 .


Exerccio 3.5 Considere a funo f (x) = cos x para x em [0, ]. Determine o nmero de
pontos a considerar no intervalo dado para que o erro mximo da aproximao de f (x) por um
polinmio interpolador nesses pontos seja inferior a 0,5.

51

Aproximao de funes
Resoluo: Temos que, para x [0, ],


max f (n+1) (x)
|w(x)|
n+1
x[0,]
|f (x) Pn (x)| 6
|w(x)| =
6
.
(n + 1)!
(n + 1)!
(n + 1)!
Resta assim determinar qual o menor valor de n que satisfaz
n+1
6 0,5.
(n + 1)!
Por tentativas...
n=6

7
= 0,599
7!

8
= 0,235.
8!
Logo o menor nmero de pontos que garantem a aproximao pretendida so 8.
n=7

Exerccio 3.6 Seja f uma funo nas condies do teorema anterior e tal que (3.8) se verifica.
Seja Pn o seu polinmio interpolador nos pontos da partio (3.1).
1. Mostre que o seu erro de interpolao verifica
|f (x) Pn (x)| 6

Mn+1 n+1
h ,
4(n + 1)

x [a, b],

(3.9)

com h = max (xi xi1 ).


i=1,...,n

2. Mostre que se a partio (3.1) for uniforme se tem


|f (x) Pn (x)| 6

Mn+1
(b a)n+1 ,
n+1
4(n + 1)n

x [a, b].

Resoluo: Vamos apenas demonstrar (3.9). Para tal, basta provar que
max |w(x)| 6

x[a,b]

hn+1 n!
,
4

com w a funo nodal (3.6). Vamos efectuar a demonstrao por induo.


Para n = 1 temos que w(x) = (x x0 )(x x1 ). Assim, temos que
w (x) = 0 x =

x0 + x1
.
2

Como tal,



 



x0 + x1
x0 + x1 h2


max |w(x)| = max |w(a)|, w
, |w(b)| = w
6 4.
x[a,b]
2
2

52

Aproximao de funes

Suponhamos que (3.9) se verifica para n e provemos a sua veracidade para n + 1, isto ,
que


n+1
hn+2 (n + 1)!
Y


max (x xj ) 6
,


x[a,b]
4
j=0

com a = x0 e xn+1 = b. Dado x [a, b] temos que x [a, xn ] ou x [xn , b].


Consideremos a primeira hiptese. Temos ento




n
n+1

Y

Y
hn+2 (n + 1)!
hn+1 n!




max (x xj ) = max (x xj ) |x b| 6
(n + 1)h =
,
x[a,b]

x[a,b]
4
4
j=0

j=0

o que prova o pretendido. O caso em que se considera a segunda hiptese demonstra-se


de forma anloga.

Consideremos uma funo f denida num intervalo [a, b] onde est denida uma partio uniforme (3.1) e seja Pn o seu polinmio interpolador de Lagrange. Provmos, no
exerccio anterior, que
max |f (x) Pn (x)| 6

x[a,b]

Mn+1
(b a)n+1 ,
n+1
4(n + 1)n

para todo o x [a, b]. Se existir uma constante positiva M tal que
Mn+1 6 M,

(3.10)

n N,

conclumos que
lim

n+

max |f (x) Pn (x)|

x[a,b]

6 lim

n+

M
(b a)n+1
4(n + 1)nn+1

= 0.

Neste caso, o processo de interpolao convergente, isto , o aumento do grau do polinmio


implica um aumento de preciso.
No entanto existem funes para as quais no podemos concluir que um aumento do
grau do provoca um aumento da proximidade do polinmio interpolador com a funo
interpolada. Isso acontece quando no possvel encontrar um majorante (3.10) para as
derivadas da funo. Um exemplo que ilustra esta situao foi considerado por Carle David
Tolm Runge (1856-1927), em 1901, e o apresentado no exerccio seguinte.
Exerccio 3.7 Considere a funo (de Runge) f (x) = 1/(1 + 25x2 ), x [1, 1]. Verifique
graficamente que
max |f (x) P3 (x)| 6 max |f (x) P8 (x)| ,
x[1,1]

x[1,1]

em que P3 e P8 so, respectivamente, os polinmios de Lagrange de grau 3 e 8 interpoladores


de f em parties uniformes de [1, 1].

53

Aproximao de funes

3.2.3

Frmula de Newton

Consideremos as seguintes funes


0 (x) = 1,

i =

i1
Y
j=0

(x xi ),

i = 1, . . . , n.

Atendendo a que o conjunto {i }ni=0 constitui uma base do conjunto dos polinmios de
grau inferior ou igual a n (prove), existem constantes ci , i = 0, . . . , n, tais que o polinmio
interpolador de Lagrange dado por
Pn (x) =

n
X

(3.11)

ci i (x).

i=0

Para determinar c0 note-se que, se Pn (x) poder ser escrito na forma (3.11), temos que
c0 = Pn (x0 ) = f (x0 ).
De forma similar temos que c1 pode ser determinado calculando Pn no ponto x1 . Assim
f (x0 ) + c1 (x x1 ) = Pn (x1 ) = f (x1 ) c1 =

f (x1 ) f (x0 )
.
x1 x0

Denotando por f [x0 , x1 ] a diferena dividida de primeira ordem


de forma idntica deduzimos que
c2 =

f (x1 )f (x0 )
x1 x0

e prosseguindo

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


(x2 x0 )(x2 x1 )

que denotamos por f [x0 , x1 , x2 ]. Podemos deste modo obter um processo recursivo para a
determinao dos coecientes do polinmio se atendermos seguinte denio.
Definio 3.2 (Diferenas divididas) Seja f uma funo definida nos pontos da partio (3.1) do intervalo [a, b] IR. A
f [xi , xi+1 ] =

f (xi+1 ) f (xi )
xi+1 xi

chama-se diferena dividida de primeira ordem de f relativamente aos argumentos xi e xi+1 .


As diferenas divididas de ordem superior definem-se recursivamente. Assim, define-se
diferena dividida de ordem k relativamente aos argumentos xi , xi+1 , . . . xi+k , com i + k < n,
por
f [xi+1 , xi+2 , . . . , xi+k ] f [xi , xi+1 , . . . , xi+k1 ]
f [xi , xi+1 , . . . , xi+k ] =
.
xi+k xi

54

Aproximao de funes
Usando a denio anterior pode demonstrar-se que
ci = f [x0 , . . . , xi ],

i = 1, . . . , n.

Substituindo este valor na expresso (3.11) que dene Pn (x) obtemos


Pn (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 )
+ + f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 )
n
i1
X
Y
= f (x0 ) +
f [x0 , x1 , . . . , xi ] (x xj ),
i=1

(3.12)

j=0

conhecida por frmula interpoladora de Newton das diferenas divididas. Abusivamente


usual designar por polinmio interpolador de Newton o polinmio calculado por (3.12).
As diferenas divididas so usualmente dadas tabela das diferenas divididas
xi
f (xi )
fi,i+1
fi,i+2
fi,i+3

x0
f0
f0,1
x1
f1
f0,2
f1,2
f0,3
x2
f2
f1,3

f2,3

x3
f3

fn3,n

fn2,n
fn1,n
xn
fn
onde fi,j = f [xi , xj ]. Essa tabela pode ser obtida pelo seguinte algoritmo.
Algoritmo 3.2 Diferenas divididas
Dados: n, xi , i = 0, 1, . . . , n
f0 := f (x0 )
Para i de 1 at n fazer
fi := f (xi )
Para j de i 1 at n fazer
fj,i := (fj+1,i fj,i1 )/(xi xj )
Resultado: fj,i, i = 1, . . . , n, j = i 1, . . . , n
Notemos que os coecientes da frmula de Newton esto ao longo da diagonal da tabela
das diferenas divididas.
Um resultado importante respeitante s diferenas divididas o seguinte.
Teorema 3.3 As diferenas divididas so invariantes para qualquer permutao dos ndices
de suporte.

55

Aproximao de funes
Demonstrao: Com efeito, tem-se que
f [xi , xi+1 ] =

f (xi+1 ) f (xi )
f (xi ) f (xi+1 )
=
= f [xi+1 , x1 ].
xi+1 xi
xi xi+1

Por induo conclui-se facilmente (exerccio) que o mesmo acontece para as diferenas
divididas de qualquer ordem.
A demonstrao do teorema anterior poderia ter sido feita atendendo ao seguinte exerccio que se demonstra por induo.
Exerccio 3.8 Seja Pn o polinmio interpolador de f C n+1 ([a, b]) de grau inferior ou igual
a n nos pontos da partio (3.1) do intervalo [a, b] e w o polinmio nodal dado em (3.6).
Mostre que se verifica a igualdade
n
X
f (xi )
f [x0 , x1 , . . . , xn ] =
.
w (xi )
i=0

O valor do polinmio interpolador num determinado ponto do seu domnio pode ser
dado pelo seguinte algoritmo.
Algoritmo 3.3 Frmula de Newton das diferenas divididas
Dados: n, x e xi , i = 0, 1, . . . , n
f0,0 := f (x0 )
Para i de 1 at n fazer
fi,i := f (xi )
Para j de i 1 at n fazer
fj,i := (fj+1,i fj,i1 )/(xi xj )

p := f0,n

Para i de n 1 at 0 fazer
p := f0,i + (x x)p

Resultado: p

Uma grande vantagem do algoritmo de Newton consiste em, uma vez determinado Pn ,
para determinar Pn+1 basta fazer
n
Y
Pn+1 (x) = Pn (x) + f [x0 , x1 , . . . , xn+1 ] (x xj ).
j=0

A frmula (3.12) pode ser calculada de forma mais eciente se for calculada pelo
mtodo de Hrner. De facto, o clculo do polinmio interpolador usando o frmula interpoladora de Newton das diferenas divididas na forma encaixada, supondo calculados
os coecientes f (x0 ), f [x0 , x1 ], . . ., f [x0 , x1 , . . . , xn ], requer apenas 2n adies/subtraces
e n multiplicaes/divises.

56

Aproximao de funes

Exerccio 3.9 Escreva a frmula interpoladora de Newton das diferenas divididas usando o
mtodo de Hrner.
Exerccio 3.10 Dada a tabela
xi
f (xi )

1 1
0 3

2
,
4

determine uma aproximao para f (0), usando interpolao quadrtica.


Resoluo: Temos
xi
1

f (xi )
0

fi,i+1

fi,i+2

3/2

Assim

1/6

3
1
P2 (x) = 0 + (x 1) + (x2 1) = (x 1)
2
6

Temos ento que f (0) P2 (0) = 35 .


3 1
+ (x + 1) .
2 6

Apresentmos trs processos distintos para a construo do polinmio interpolador de


Lagrange de grau n quando so conhecidos n+1 valores de uma dada funo. Dos processos
apresentados aquele que se mostra menos eciente o mtodo matricial pois no tem uma
forma explcita de determinar os coecientes do polinmio interpolador. Mais ainda, a
determinao destes coecientes feita recorrendo resoluo de um sistema de equaes
lineares em que a matriz deste sistema pode ser mal condicionada.
Vamos agora particularizar o problema ao caso em que os nodos de interpolao esto
igualmente distanciados.
Quando os pontos x0 , x1 , . . . , xn esto igualmente distanciados, isto , quando xi
xi1 = h, para i = 1, . . . , n, a frmula (3.12) pode ser dada em termos dos chamados
operadores de diferenas finitas. Dentro da classe desses operadores vamos apenas considerar
o operador diferena progressiva.
Definio 3.3 Seja f uma funo definida em [a, b] IR. O operador diferena progressiva
define-se por recurso da seguinte forma: a
f (x) = f (x + h) f (x)
chama-se diferena progressiva de primeira ordem de f ; a diferena progressiva de ordem k
definida por
k f (x) = k1 (f (x)).

57

Aproximao de funes

Exerccio 3.11 Prove (por induo) que se f for uma funo real definida em [a, b] IR e
x0 , x1 , . . . , xn so pontos de [a, b] igualmente distanciados, com xi1 xi = h, i = 1, . . . , n,
ento
k f (x0 )
f [x0 , . . . , xk ] =
,
(3.13)
k!hk
para todo o k {1, . . . , n}.
Substituindo (3.13) em (3.12) temos que
Pn (x) = f (x0 ) +
++

2 f (x0 )
f (x0 )
(x x0 ) +
(x x0 )(x x1 )
h
2h2
n f (x0 )
(x x0 )(x x1 ) (x xn1 )
n!hn

(3.14)

n
i1
X
i f (x0 ) Y
= f (x0 ) +
(x xj ).
i!hi j=0
i=1

Esta frmula conhecida por frmula interpoladora de Newton das diferenas progressivas.
As diferenas progressivas podem ser dadas pela seguinte tabela, conhecida por tabela
das diferenas progressivas.
xi
x0

f (xi )
f0

x1

f1

f (xi )

2 f (xi )

3 f (xi )

f (x0 )
2 f (x0 )
3 f (x0 )

f (x1 )
x2

f2

f (x1 )
f (x3 )

x3

f3

xn

fn

3 f (xn3 )

2 f (xn2 )

f (xn1 )

Exerccio 3.12 Construa um algoritmo para determinar o valor do polinmio interpolador


num determinado ponto do seu domnio usando a frmula interpoladora de Newton das diferenas progressivas.
Exerccio 3.13 Mostre
arctan x = arctan

h
.
1 + xh + x2

58

Aproximao de funes
Resoluo: Vamos provar que
tan ( arctan x) =

h
.
1 + xh + x2

Como
tan ( arctan x) = tan (arctan (x + h) arctan x) =

3.3

h
.
1 + xh + x2

Interpolao de Chebyshev

Uma questo interessante consiste em saber como diminuir os erro de interpolao sem
aumentar o nmero de pontos de suporte. A frmula (3.8) mostra que o erro de interpolao depende tanto do mximo de |f (n+1) (x)|, para todo o x pertencente ao intervalo de
interpolao, como de
max |w(x)|
(3.15)
x[a,b]

(que depende da escolha dos pontos de interpolao). A questo interessante est em


saber, para um dado n, qual a escolha dos pontos de interpolao que minimiza (3.15). A
resposta pode ser dada custa dos chamados polinmios de Chebyshev.
Para n = 0, 1, 2, . . . e x [1, 1] os polinmios de Chebyshev da grau n so denidos
pela relao
Tn (x) = cos (n arccos x).
Uma forma simples de provar que Tn , de facto, um polinmio, atendendo frmula de
recorrncia (ver Exerccio 3.14)
Tn+1 (x) = 2xTn (x) Tn1 (x),

n = 1, 2, . . . .

(3.16)

Exerccio 3.14 Obtenha a frmula de recorrncia (3.16) e conclua que Tn , de facto, um


polinmio.
Exerccio 3.15 Mostre que o polinmio de Chebyshev Tn tem os seus zeros localizados nos
pontos xk = cos (2k1)
, k = 1, . . . , n, e os extremos localizados em xk = cos k
, k = 0, . . . , n,
2n
n

k
nos quais Tn (xk ) = (1) .
Da denio de polinmio de Chebyshev resulta imediatamente que
|Tn (x)| 6 1, n = 0, 1, 2, . . .. Assim sendo, como Tn (1) = 1, temos que maxx[1,1] |Tn (x)| =
1. Alm disso, atendendo ao Exerccio 3.15, os zeros dos polinmios de Chebyshev esto
todos no intervalo [1, 1].
fcil provar que o coeciente do termo de maior grau de Tn an = 2n1 . Assim sendo,
o polinmio Ten := 21n Tn mnico, isto , o seu coeciente do termo de maior grau igual
unidade. Designemos por Pen ([a, b]) a classe dos polinmios mnicos de grau menor ou
igual a n em [a, b].

59

Aproximao de funes

en ([1, 1]) o que tem menor


Teorema 3.4 O polinmio Ten de todos os polinmios de P
norma, isto ,
max |Ten (x)| 6 max |Pe(x)|,

x[1,1]

x[1,1]

en ([1, 1]).
Pe P

Demonstrao (no foi dada): Sabemos que maxx[1,1] |Ten (x)| = 21n . Suponhamos
que existe Pe Pen ([1, 1]) tal que maxx[1,1] |Pe(x)| < 21n e seja Q = Ten Pe. Ento
o grau de Q menor ou igual a n 1. Por outro lado, para os valores de xk dados no
Exerccio 3.15,
Q(xk ) = Ten (xk ) Pe(xk ) = (1)k 21n Pe(xk ).

Assim sendo, o polinmio Q tem n zeros pois tem sinais alternados em n intervalos e
uma funo contnua. Logo Q o polinmio nulo, o que prova o resultado.
Se considerarmos o intervalo [a, b] em vez do intervalo [1, 1] h que efectuar a mudana
de varivel
a+b ba
t=
+
x.
2
2
O Teorema 3.4 e o Exerccios 3.15 permitem-nos armar, atendendo a que w dado por
(3.6) um polinmio mnico, que (3.15) mnimo quando se consideram os pontos de
suporte
a+b ba
(2i + 1)
xi =
+
cos
,
i = 0, . . . , n.
2
2
2n + 2
Neste caso o erro dado por
max |f (x) Pn (x)| 6

x[a,b]

(b a)n
max |f (n+1) (x)|.
2n+1 (n + 1)! x[a,b]

O fenmeno de interpolao tambm muito sensvel a erros dos dados yi = f (xi ),


i = 0, . . . , n, e a escolha criteriosa dos pontos de suporte pode, tambm neste aspecto,
ser importante. Suponhamos que o clculo do polinmio interpolador efectuado com os
valores
ybi = yi (1 + i ),
|i | < .
Assim, os polinmios que passam por (xi , yi ) e (xi , ybi) so dados, respectivamente, por
Pn (x) =

n
X

yi i (x)

e por

i=0

Como tal,

Pbn (x) =

|Pbn (x) Pn (x)| 6 max |yi|


i=0,...,n

Pn

n
X
i=0

n
X
i=0

ybii (x).

|i (x)|.

Temos ento que a funo


o factor de amplicao dos erros dos
i=0 |i (x)| descreve
P
dados. O seu valor mximo n = maxx[a,b] ni=0 |i (x)| chamado constante de Lebesgue
associada aos pontos de interpolao dados e ao intervalo [a, b]. Esta constante pode ser
calculada numericamente.

60

Aproximao de funes

Exerccio 3.16 Mostre numericamente que, quando se consideram pontos igualmente distanciados no intervalo [a, b], se tem 20 3 104 e 40 1010 e quando se consideram os
pontos de Chebyshev n 6 3 (n 6 30) e n 6 4 (n 6 100).

3.4

Interpolao trigonomtrica e FFT

Pretende-se aproximar uma funo peridica f : [0, 2] C, com f (0) = f (2), por um
2j
, j = 0, . . . , n, ou
polinmio trigonomtrico fe que interpola f nos n + 1 pontos xj = n+1
seja, tal que
fe(xj ) = f (xj ),
j = 0, . . . , n.
Um polinmio trigonomtrico pode escrever-se na forma
M
X

ck eikx ,
M = n2 , n par,

k=M
e =
f(x)
M
+1
X

ck eikx ,
M = n1
, n mpar,

2
k=M 1

onde os coecientes ck so nmeros complexos e cM +1 = cM 1 . De forma mais compacta,


um polinmio trigonomtrico representa-se por
M +

e =
f(x)

ck eikx ,

(3.17)

k=M

com = 0, se n par, ou = 1, se n mpar. Devido sua analogia com as sries de


Fourier, fe chama-se srie de Fourier discreta.
Note-se que, se f for uma funo real, os coecientes ck so tais que ck o conjudado
de ck , com k = 1, ..., M + .
2
Considerando a condio de interpolao em xj = jh, com h = n+1
, tem-se que
M +

fe(xj ) =

ck eikjh = f (xj ),

j = 0, . . . , n.

(3.18)

k=M

Vamos mostrar que os coecentes da srie de Fourier discreta (3.17) vericam


n

ck =

1 X
f (xj )eikjh ,
n + 1 j=0

k = M , . . . , M + .

Multiplicando por eimxj = eimjh , com m um inteiro entre 0 e n, e tomando somatrios,


em j, em ambos os membros de (3.18) tem-se que
n
X
j=0

imjh

f (xj )e

n
X

M +

j=0 k=M

M +
i(km)jh

ck e

k=M

ck

n
X
j=0

ei(km)jh .

61

Aproximao de funes
O resultado pretendido resulta do facto de
n
X

ei(km)jh = (n + 1)km ,

j=0

onde km o smbolo de Kronecker. Para provar este facto, notemos que, se k = m,


n
X

i(km)jh

j=0

Se k 6= m,

n
X
j=0

ei(km)jh =

n
X

1 = n + 1.

j=0

1 ei(km)h(n+1)
1 ei(km)2
=
= 0.
1 ei(km)h
1 ei(km)h

Ao conjunto dos coecientes {ck } da srie de Fourier discreta (3.17) chamamos transformada discreta de Fourier. A transformada discreta de Fourier pode ser calculada com um
nmero de operaes da ordem n log2 n usando um algoritmo designado por FFT (de Fast
Fourier Transform). A transformada rpida de Fourier no mais do que a transformada
discreta de Fourier calculada pelo algoritmo FFT. O MatLab possui o comando fft onde
est implementado esse algoritmo. O algoritmo mais famoso para obter a FFT de 1965
e devido a James Cooley (1926-) e John Wilder Tukey (1915-2000).
A transformao de Fourier inversa, pela qual os valores {f (xk )} so obtidos custa
dos valores {ck }, denida, em MatLab, pela funo ifft.
Um cuidado a ter com o comando fft o seginte. Se considerarmos
F = [f (x0 ), f (x1 ), . . . , f (xn )]T ,
ao executar TF = fft(F), obtm-se
T F = (n + 1)[c0 , , cM + , cM , . . . , c1 ]T .
Se pretendermos obter os cecientes {ck } pela ordem com que aparecem na srie de Fourier
discreta (3.17) temos que executar o comando TF = 1/(n + 1) fftshift(fft(F)).
Em muitos casos, a preciso da interpolao trigonomtrica pode degradar-se muito
devido ao fenmeno conhecido com aliasing. Este fenmeno pode ocorrer quando a funo
a aproximar for a soma de vrias componentes com frequncias distintas. S o nmero de
ns no for suciente para resolver as frequncias mais altas, estas podem intreferir com
as baixas frequncias, o que d origem a interpolaes imprecisas. Nesse caso, preciso
aumentar o nmero de ns de interpolao.
Exerccio 3.17 Calcule a transformada de Fourier discreta de y = [1, 1, 1, 1]T .

62

Aproximao de funes

3.5

Interpolao seccionalmente linear

Consideremos um intervalo [a, b] e uma partio dada por (3.1). Designemos por polinmio
segmentado linear (ou funo linear por segmentos) na partio (3.1), uma funo contnua
em [a, b] que, quando restringida a cada um dos intervalos [xi , xi+1 ], i = 0, ..., n 1, da
partio, coincide com um polinmio de grau menor ou igual a um (polinmio que, em
geral, varia com i).
Consideremos agora o problema da interpolao. Seja f uma funo conhecida nos
pontos da partio (3.1). Pelo que foi visto na seco anterior, bvio que existe um e um
s polinmio segmentado linear P1h tal que
P1h (xi ) = f (xi ),

i = 0, 1, . . . , n.

Nestas condies, P1h chamado o polinmio interpolador (de Lagrange) segmentado linear
de f nos pontos de (3.1).
Temos que

h
x [x0 , x1 ],
P10 (x),

P11 (x),
x [x1 , x2 ],

..
..

.
.
h
P1 (x) =
h
P1i (x),
x [xi , xi+1 ],

..
.

..

h
P1n1 (x), x [xn1 , xn ],
onde P1ih pode ser escrito na forma seguinte

P1ih (x) = f (xi ) + f [xi , xi+1 ](x xi ),


ou ainda (frmula de Lagrange)
P1ih (x) = f (xi )

x xi
x xi+1
+ f (xi+1 )
.
xi xi+1
xi+1 xi

O que podemos dizer quanto ao erro que se comete ao aproximar f pelo seu polinmio
interpolador segmentado linear?
Suponhamos que x [xi , xi+1 ]. Temos ento que, nesse intevalo,
(i)


f (x) P h (x) 6 M2
1i
x[xi ,xi+1 ]
2

max

com

(i)

M2 =
Mas, como vimos,

max

x[xi ,xi+1 ]

max

x[xi ,xi+1 ]

(2)
f (x) ,

|(x xi )(x xi+1 )|

i = 0, . . . , n 1.

1
|(x xi )(x xi+1 )| = (xi+1 xi ))2
x[xi ,xi+1 ]
4
max

63

Aproximao de funes
e, com tal


M2(i) 2
h

max f (x) P1i (x) 6
h,
x[xi ,xi+1 ]
8 i
com hi = xi+1 xi , i = 0, . . . , n 1.
Consideremos agora x [a, b]. Atendendo ao que foi dito,conclui-se imediatamente que

onde M2 =

(i)


M2 2
max f (x) P1h (x) 6
h,
x[a,b]
8

max M2 e h =

i=0,...,n1

max hi .

i=0,...,n1

Este limite superior para o erro permite demonstrar que o processo de interpolao
linear por segmentos convergente. De facto, se f (2) limitada, medida que o nmero
de pontos da partio aumenta (h diminui) o erro tendo para zero, ou seja, o polinmio
segmentado linear tende para a funo a interpolar uniformemente em [a, b].
A interpolao linear segmentada possui vantagens em relao interpolao (global)
de Lagrange. Note-se que, se n muito grande o clculo do polinmio interpolador de
Lagrange (global) Pn envolve muito mais operaes que o clculo do polinmio interpolador
linear segmentado S. Alm disso, como foi visto, o facto de n aumentar no implica que o
polinmio interpolador de Lagrange Pn tenda para a funo a interpolar, mesmo que essa
funo seja innitamente diferencivel. A desvantagem que o processo da interpolao
segmentada linear apresenta relativamente interpolao de Lagrange que o polinmio
Pn innitamente diferencivel enquanto que Pnh pode no ter (e, em geral, no tem)
derivadas contnuas nos pontos da partio.

3.6

Interpolao de Hermite

O objectivo da interpolao de Hermite, chamada assim em honra de Charles Hermite (18221901), o de representar uma funo f por um polinmio que seja interpolador de f em
alguns pontos do seu domnio e que a sua derivada seja interpolador da derivada de f nesses
mesmos pontos. Isto , supondo que f diferencivel, vamos procurar um polinmio H
tal que
f (xi ) = H(xi )
,
i = 0, 1, . . . , n.
(3.19)
f (xi ) = H (xi )
Quando tal situao acontece dizemos que f e H so funes que 2-osculam (osculam 2
vezes) os pontos xi , i = 0, 1, . . . , n, ou que H um polinmio 2-osculador de f nos pontos
xi , i = 0, 1, . . . , n.
O prximo teorema estabelece a existncia e unicidade do polinmio de grau inferior
ou igual a 2n + 1 que verica (3.19). Alm disso, indica-nos um processo que permite a
sua determinao.
Teorema 3.5 Seja f C 2n+2 ([a, b]) e x0 , x1 , . . . , xn pontos distintos em [a, b]. Existe um
e um s polinmio H2n+1 de grau menor ou igual a 2n + 1 que verifica (3.19).

64

Aproximao de funes

Demonstrao: Atendendo s condies impostas, o polinmio ter que ser de grau


inferior ou igual a 2n + 1. Para provar a sua existncia vamos considerar as funes
h1i (x) = [1 2i (xi )(x xi )]i (x)2

h2i (x) = (x xi )i (x)2 ,

i = 0, . . . , n,

com i , i = 0, . . . , n, os polinmios de Lagrange (3.3). Como se pode vericar facilmente


h1i (xj ) = 0,

i, j = 0, . . . , n,

h2i (xj ) = i,j ,

i, j = 0, . . . , n.

h1i (xj ) = i,j ,


e
h2i (xj ) = 0,
Assim, o polinmio
H2n+1 (x) =

n
X

[f (xi )h1i (x) + f (xi )h2i (x)]

i=0

tem grau inferior ou igual a 2n + 1 e verica (3.19).


Falta apenas provar a unicidade. Seja Q2n+1 outro polinmio de grau inferior ou igual
a 2n + 1 que verica (3.19) e
R2n+1 (x) = H2n+1 (x) Q2n+1 (x).

Como R2n+1 (xi ) = R2n+1


(xi ) = 0, para i = 0, . . . , n, temos que este polinmio de grau
inferior ou igual a 2n + 1 tem 2n + 2 zeros o que implica que ter que ser o polinmio nulo.
Assim sendo, provmos a unicidade pretendida.

O nico polinmio de grau menor ou igual a 2n + 1 que verica as condies (3.19)


tambm chamado polinmio interpolador de Hermite de f nos pontos x0 , x1 , . . . , xn .
Note-se que, tal como na interpolao de Lagrange, se m for o nmero de condies
impostas para a determinao do polinmio interpolador, o seu grau m 1.
Exerccio 3.18 Mostre que o polinmio de Hermite de grau mnimo (n=1) dado por
H3 (x) = f (x0 )h10 (x) + f (x1 )h11 (x) + f (x0 )h20 (x) + f (x1 )h21 (x),
com
h10 (x) =
h11 (x) =

x x0
12
x0 x1

x x1
12
x1 x0




(x x1 )2
,
(x0 x1 )2
(x x0 )2
,
(x1 x0 )2

(x x1 )2
,
h20 (x) = (x x0 )
(x0 x1 )2
h21 (x) = (x x1 )

(x x0 )2
.
(x1 x0 )2

65

Aproximao de funes

O estudo do erro na interpolao de Hermite consiste na generalizao do estudo efectuado para a interpolao de Lagrange de acordo com o seguinte teorema.
Teorema 3.6 Seja H2n+1 o polinmio, de grau menor ou igual a 2n + 1 interpolador de
Hermite da funo f nos pontos distintos x0 , x1 , . . . , xn [a, b]. Se f C 2n+2 ([a, b]) ento
para cada x [a, b] existe = (x) ]a, b[ tal que
e(x) = f (x) H2n+1 (x) =

f (2n+2) () 2
w (x),
(2n + 2)!

(3.20)

onde w a funo dada por (3.6).


Tal como no caso da interpolao de Lagrange, pelo teorema anterior podemos determinar um majorante para o erro cometido ao substituir f pelo seu polinmio interpolador
de Hermite de grau n, H2n+1 . De facto, de (3.20) sai que:
max |f (x) H2n+1 (x)| 6

x[a,b]

M2n+2
max |w 2(x)|,
(2n + 2)! x[a,b]

onde
M2n+2 = maxx[a,b] |f (2n+2) (x)|.

Se o objectivo for determinar o erro apenas num ponto x [a, b], ento
|f (x) H2n+1 (x)| 6

M2n+2
|w 2 (x)|.
(2n + 2)!

Atendendo a que x, xj [a, b], temos que |x xj | 6 (b a) e portanto


max |f (x) H2n+1 (x)| 6

x[a,b]

M2n+2
(b a)2n+2 .
(2n + 2)!

Podemos tambm concluir, uma vez que


max |w(x)| 6

x[a,b]

hn+1 n!
,
4

com h = max (xi xi1 ), que


i=1,...,n

max |f (x) H2n+1 (x)| 6 M2n+2

x[a,b]

h2n+2 (n!)2
.
16(2n + 2)!

Observamos que dependendo do comportamento de M2n+2 podemos, ou no, concluir


que o aumento do grau do polinmio interpolador de Hermite implica uma diminuio do
erro cometido ao aproximar a funo por este polinmio. Uma forma de minimizar o erro
consiste na utilizao de polinmios interpoladores segmentados.

66

Aproximao de funes

3.6.1

Interpolao segmentada de Hermite

Consideremos um intervalo [a, b] e uma partio dada por (3.1). Designemos por polinmio
segmentado cbico (ou funo cbica por segmentos) na partio (3.1), uma funo contnua
em [a, b] que, quando restringida a cada um dos intervalos [xi , xi+1 ], i = 0, ..., n 1, da
partio, coincide com um polinmio de grau menor ou igual a trs.
Seja f uma funo conhecida nos pontos da partio (3.1). Como se sabe, existe um e
um s polinmio segmentado cbico H3h tal que
H3h (xi ) = f (xi )
,
(H3h ) (xi ) = f (xi )

i = 0, 1, . . . , n.

Nestas condies, H3h chamado o polinmio interpolador (de Hermite) segmentado cbico
de f nos pontos de (3.1).
Temos que

h
H30
(x),
x [x0 , x1 ],

H
(x),
x [x1 , x2 ],

31

..
.

..
.
h
H3 (x) =
h
H3i (x),
x [xi1 , xi ],

..
.

..

h
H3n1 (x), x [xn1 , xn ],
h
onde H3i
pode ser escrito na forma seguinte

h
H3i
(x) = f (xi )h1i (x) + f (xi+1 )h1i+1 (x) + f (xi )h2i (x) + f (xi+1 )h2i+1 (x).

Exerccio 3.19 Mostre que o erro que se comete ao aproximar f C 4 ([a, b]) pelo seu
polinmio interpolador segmentado de Hermite cbico na partio (3.1) dado por


M4 4
max f (x) H3h (x) 6
h,
x[a,b]
384



onde M4 = maxx[a,b] f (4) (x) e h = max (xi xi1 ).
i=1,...,n

3.6.2

Polinmio interpolador de Hermite e diferenas divididas

A obteno do polinmio interpolador de Hermite pode ser feita de vrias maneiras. Vamos
apresenta-la neste curso numa forma que generaliza o polinmio interpolador de Newton
das diferenas divididas.
Consideremos a mudana de varivel z0 = x0 , z1 = x0 , z2 = x1 , z3 = x1 , . . ., z2n = xn ,
z2n+1 = xn . Uma vez que
z2i = z2i+1 = xi ,

i = 0, . . . , n,

67

Aproximao de funes
no podemos denir as diferenas divididas
f [z2i , z2i+1 ] = f [xi , xi ].
No entanto, atendendo a que
f (x) f (xi )
= f (xi ),
xxi
x xi

lim f [x, xi ] = lim

xxi

podemos denir as diferenas divididas generalizadas para pontos no distintos na forma


f [xi , xi ] := f (xi ).
Pelo Teorema do Valor Mdio de Lagrange generalizado podemos ainda denir
f (r) (xi )
f [xi , xi , . . . , xi ] =
.
|
{z
}
r!
r+1 vezes

(3.21)

Com esta notao pode vericar-se facilmente que o polinmio interpolador de Hermite
de grau 2n + 1 nos pontos da partio (3.1) dado por (verique para n = 1)
H2n+1 (x) = f (z0 ) +

2n+1
X
i=1

i1
Y
f [z0 , z1 , . . . , zi ] (x zj )
j=0

= f (x0 ) + f (x0 )(x x0 )


+f [x0 , x0 , x1 ](x x0 )2 + f [x0 , x0 , x1 , x1 ](x x0 )2 (x x1 )
+ + f [x0 , x0 , . . . , xn , xn ](x x0 )2 (x x1 )2 (x xn1 )2 (x xn ).
Exerccio 3.20 Prove a afirmao anterior para o caso em que se consideram apenas dois
pontos de interpolao (n = 1).
O polinmio interpolador de Hermite pode assim ser determinado recorrendo tabela
das diferenas divididas generalizadas, tabela essa onde cada ponto aparece repetido duas
vezes.
Exerccio 3.21 Construa um algoritmo para determinar o valor do polinmio interpolador de
Hermite num determinado ponto do seu domnio.
Exerccio 3.22 Determine o polinmio interpolador de Hermite de grau mnimo para a funo
f (x) = sin x em [0, 2 ].

68

Aproximao de funes
Resoluo: Temos
xi
0

f (xi )
0

f [, ]

f [, , ]

f [, , , ]

1
0

42
2

42

416
3

Logo
4 2 2 4 16 2 

H3 (x) = x +
x
+
x
x

2
3
 
 2 
= x 1 + x 0,2313 0,1107 x
.
2

3.7

Aproximao por funes spline cbicas

O termo ingls spline pode ser traduzido pelo vocbulo virote. Um virote um instrumento usado pelos desenhadores para unir um conjunto de pontos do plano.
Seja f uma funo denida num intervalo [a, b] onde consideramos a partio (3.1).
Matematicamente, o problema de unir pontos do plano com um virote pode ser traduzido
da seguinte forma: determinar a funo S : [a, b] R, com a = x0 , b = xn , que satisfaz:
[S1] S(xi ) = f (xi ),

i = 0, . . . , n;

[S2] S C 2 ([a, b]);


[S3] o princpio de Pierre-Louis Moreau de Maupertuis (1698-1759) da energia mnima, isto
,
Z b
Z b

2
(S (x)) dx 6
(R (x))2 dx,
a

para toda a funo R que satisfaz [S1] e [S2].

Temos os seguinte resultado.


Teorema 3.7 Sejam S, R : [a, b] R duas funes que verificam [S1] e [S2]. Suponhamos que
S (b)[R (b) S (b)] = S (a)[R (a) S (a)]

e que S um polinmio de grau 3 em cada sub-intervalo da partio dada. Ento temos


que
Z b
Z b

2
(S (x)) dx 6
(R (x))2 dx.
a

Aproximao de funes

69

Este teorema mostra que os candidatos resoluo de [S1][S3] so as funes pertencentes a C 2 ([a, b]) que so polinmios de grau 3 em cada intervalo da partio. Essas
funes sero designadas por funes spline cbicas.
Definio 3.4 (Spline) Uma funo spline de grau m um polinmio segmentado de grau
m continuamente derivvel at ordem m 1. Por outras palavras, dada uma partio
(3.1), S uma funo spline de grau m se S um polinmio S (i) de grau m em cada
intervalo da partio [xi , xi+1 ], i = 0, . . . , n 1, e
dk (i)
dk (i+1)
S
(x)
=
S (x),
k = 0, . . . , m 1, i = 0, . . . , n 1.
dxk
dxk
As funes spline mais populares so as cbicas (m = 3). Pelas razes apresentadas,
sero essas que iremos considerar.
Note-se que, em cada intervalo [xi , xi+1 ] a funo spline cbica S que interpola f nos
pontos da partio (3.1) um polinmio de grau 3 e, como tal, denido custa de 4
parmetros. Assim, para determinar S de forma nica temos que especicar 4n parmteros.
Para isso teremos que denir 4n equaes. Atendendo denio de funo spline temos
impostas as seguintes equaes: n + 1 equaes de interpolao; n + 1 equaes de ligao
de S; n + 1 equaes de ligao de S e n + 1 equaes de ligao de S . No total temos
assim 4n 2 equaes. Para determinar S temos que considerar mais duas condies
suplementares. As formas mais usuais de denir essas condies so as seguintes: S (a) =
f (a) e S (b) = f (b) (spline completa); S (a) = 0 e S (b) = 0 (spline natural).
O seguinte teorema, que apresentamos sem demonstrao, establece a existncia e unicidade da funo spline cbica interpoladora.

Teorema 3.8 Seja f uma funo definida em [a, b]. A funo spline cbica completa
(natural) interpoladora de f nos pontos da partio (3.1) existe e nica.
O spline cbico interpolador de uma funo coincide com a funo nos pontos da partio e a sua derivada concide com a derivada da funo nos extremos do intervalo de
partio. No resultado seguinte, estabelecido sem demonstrao, apresentado o comportamento do erro que se comete ao aproximar uma funo pelo seu spline cbico interpolador.
Teorema 3.9 Seja f uma funo definida em [a, b] onde considerado n + 1 pontos igualmente distanciados xi , i = 0, . . . , n, em que xi = xi1 +h, i = 0, . . . , n, x0 = 0, h = (ba)/n.
O erro cometido ao aproximar f pelo seu spline cbico interpolador verifica a
5
max |f (x) S(x)| 6
max |f (4) (x)|h4 .
x[a,b]
384 x[a,b]
Exerccio 3.23 Pretende-se interpolar a funo f definida por f (x) = ln x, com x [2, 2,5],
por um spline cbico completo S numa malha uniforme.
1. Calcule o nmero mnimo de pontos a usar para garantir que maxx[2,2,5] |f (x) S(x)| 6
0,5 104 .
2. Determine uma aproximao para f (2,3) usando o spline cbico completo interpolador
de f nos pontos obtidos na alnea anterior.

70

Aproximao de funes

3.8

O mtodo dos mnimos quadrados

Desde a sua primeira aplicao a um problema de astronomia por Gauss, o mtodo dos
mnimos quadrados tem vindo a ser aplicado num vasto conjunto de situaes tanto no
campo da cincia como no da engenharia.
Consideremos os dados {(xi , yi ), i = 0, . . . , n}, que pretendemos ajustar a um modelo
denido cusa de m parmetros, com m n. A situao mais usual consiste em considerar
o modelo como sendo um polinmio
pm (x) = a0 + a1 x + + am xm ,
com a0 , . . . , am os parmetros a determinar. Neste caso, o objectivo consiste em deteminar
esses parmetros por forma a minimizar
n
X
i=0

(yi pm (xi ))2 .

Note-se que, denotando por r o vector dos resduos, isto , r = (ri )ni=0 = (yi pm (xi ))ni=0 ,
o objectivo consiste em determinar os parmetros do modelo que tornam mnima a soma
dos quadrados dos resdos, ou seja krk2 = r T r.
Se existir um polinmio pm nessas condies, ele chamado polinmio (de grau m) dos
mnimos quadrados relativo aos dados {(xi , yi), i = 0, . . . , n}.
O problema pode ento ser colocado da seguinte forma: determinar os parmetros
a0 , . . . , am por forma a que
(a0 , . . . , am ) =
com
(b0 , . . . , bm ) =

min

bi ,i=0,...,m

n
X
i=0

(b0 , . . . , bn ),

(yi b0 bm xm )2 .

Exemplo 3.1 Consideremos as observaes {(xi , yi), i = 0, . . . , n} que correspondem a pontos do plano que pretendemos ajustar a uma recta da forma p1 (x) = a0 + a1 x. A questo que
se coloca a de determinar os valores a0 e a1 por forma a
(a0 , a1 ) = min b0 , b1

n
X
i=0

(yi b0 b1 xi )2 .

O ponto (a0 , a1 ) onde esta fuo atinge o mnimo satisfaz as condies


X
n

(yi a0 a1 xi ) = 0

b (a0 , a1 ) = 0
i=0
0

(a0 , a1 ) = 0

(yi a0 a1 xi )xi = 0

b1
i=0

71

Aproximao de funes
Temos ento um sistema linear para resolver da forma

X
n
n
X
xi "
yi
#
n+1
a

0
i=0
i=0

=
X

n
n
n
X

a1
X
xi
x2i
yi xi
i=0

i=0

i=0

(3.22)

Resolvendo este sistema linear, obtemos os valores de a0 e a1 e, logo, a recta dos mnimos
quadrados (ou recta de regresso).
No caso da determinao do polinmio dos mnimos quadrados de
(a0 , . . . , am ) que minimiza a funo , tal que
n
X

(yi a0 am xi )

(a0 , . . . , am ) = 0

b0
i=0
..

(a0 , . . . , am ) = 0

(yi a0 am xi )xi

bm

grau m, o ponto

= 0
..
.
= 0

i=0

Temos ento um sistema linear para resolver da forma

n
n
X
X
xi

xm

n+1
i

i=0
i=0

a0
n

n
n
X
X
X

2
m+1

xi
xi

xi

a1
i=0
..
i=0
i=0
.

.
.
.
.

..
..
..
..

am
n
n
n
X

X
X

m
m+1
2m
xi
xi

xi
i=0

i=0

i=0

n
X

yi

i=0

n
X

yi xi
=
i=0

..

n
X

yi xm
i

i=0

Estas equaes so chamadas equaes normais. Resolvendo as equaes normais, obtemos


os valores de a0 , . . . , am e, como tal, o polinmio dos mnimos quadrados.
Notemos que, no sistema de equaes normais, a matriz simtrica. Alm disso, tambm se pode mostrar que no singular (caso os pontos xi , i = 0, . . . , n, sejam distintos. Assim sendo, o problema da determinao do polinmio dos mnimos quadrados tem
soluo nica.
O sistema das equaes normais podia ter sido obtido de forma diferente. Suponhamos
que queremos determinar o poninmio pm que passa pelos pontos {(xi , yi), i = 0, . . . , n}.
Temos ento que resolver o sistema

a0 + a1 x0 + a2 x20 + + am xm
= y0
0

a0 + a1 x1 + a2 x2 + + am xm = y1
1
1
.
..

a + a x + a x2 + + a xm = y
0
1 n
2 n
m n
n

72

Aproximao de funes
que pode ser escrito na forma matricial

1 x0

1 x1
Ax = b
.. ..
. .
1 xn

xm
0
xm
1
..
..
. .
xm
n

a0
a1
..
.
am

y0
y1
..
.
yn

Com m n, este sistema , em geral, impossvel. Como tal, Ax b 6= 0. O problema dos


mnimos quadrados pode ser visto como a determinao dos valores de x = [a0 , . . . , am ]T
que minimizam a norma do quadrado dos resduos, isto , kAx bk2 . Como foi visto
na disciplina de lgebra Linear e Geometria Analtica, o vector x que torna mnima esta
norma a soluo do sistema de equaes normais
AT Ax = AT b.
Exerccio 3.24 Mostre que o sistema de equaes normais (3.22) pode ser escrito na forma
AT Ax = AT b, com

y0
1 x0
"
#

a0
y1
1 x1

x=
,
e
b=
A=
.. ,
.. .. ,
a
.
. .
1
yn
1 xn

3.9

Exerccios de aplicao engenharia

Exerccio 3.25 Conhecem-se as coordenadas de cinco pontos de uma curva plana que representa uma regio de uma pea em corte. Determine o polinmio de Lagrange de grau 4 que
interpola a referida curva sabendo que os pontos de coordenadas conhecidas so: P1 = (1, 2),
P2 = (2, 1), P3 = (3, 1), P4 = (4, 2,5) e P5 = (5, 4). Determine ainda valores aproximados
para as ordenadas dos pontos cujas abcissas so 0, 2,5 e 6.
Exerccio 3.26 Na seguinte tabela so dados diferentes valores para o peso especfico p da
gua a diferentes temperaturas t (em graus centgados):
t
p

0
1
2
3
.
0,999871 0,999928 0,999969 0,999991

Usando interpolao linear, quadrtica e cbica, determine uma aproximao para p quando
t = 4 o C. Compare os resultados obtidos sabendo que o valor exacto 1,000000.

73

Aproximao de funes

Exerccio 3.27 Durante a sedimentao da reaco de saponificao entre quantidades equimolares de hidrxido de sdio e acetato de etilo, a concentrao c (gr mole/litro) de cada
reagente varia com o tempo t (min) de acordo com a equao
1
1
=
+ kt,
c
c0
onde c0 a concentrao inicial e k (litro/gr mole min) a constante de reaco. Foram
obtidos os seguintes resultados em laboratrio temperatura de 77 o F:
1/c 24,7 32,4 38,4 45,0 52,3 65,6 87,6 102 154 192
.
t
1
2
3
4
5
7
10
12 20 25
1. Obtenha uma estimativa para a concentrao inicial.
2. Obtenha uma estimativa para a concentrao ao fim de 15 minutos e compare-a com a
soluo obtida em laboratrio (ao fim de 15 minutos obteve-se 1/c = 135).
Exerccio 3.28 O censo da populao dos Estados Unidos, entre 1930 e 1980, produziu os
seguintes resultados:
Ano
Populao (103 )

1930
123203

1940
131669

1950
150697

1960
179323

1970
203212

1980
.
226505

Use um polinmio interpolador apropriado para estimar a populao nos anos de 1920,
1965, e 2000. Sabendo que a populao no ano de 1920 era de 105711103, o que pode inferir
quanto preciso das aproximaes obtidas para os anos de 1965 e 2000?
Exerccio 3.29 Determine uma aproximao para o instante da passagem do perigeu da Lua
em Maro, 1999, a partir dos valores tabelados para as zero horas de cada dia
dia
distncia

19
20
21
.
57,071 56,955 57,059

Indique tambm a distncia (em raios mdios da Terra) da Terra Lua nesse instante.
Exerccio 3.30 Usando interpolao cbica livre, determine uma aproximao para a declinao aparente de Vnus para o dia 9 de Maio de 1999, s 18h30m45s, a partir das Efemrides
Astronmicas (onde est tabelada para cada dia, s zero horas)
dia
7
8
9
10
.
o

o
i
+5 51 47 ,55 +6 22 25 ,20 +6 52 54 ,57 +6 23 14 ,96
A partir da funo obtida, determine uma aproximao para o instante em que a declinao
aparente de Vnus no dia 9 de Maio de 1999 foi mxima.

74

Aproximao de funes

Exerccio 3.31 Uma das formas mais utilizadas na construo de curvas consiste em partir
das respectivas equaes paramtricas e proceder a uma interpolao apropriada. Considere o
caso das curvas planas dadas pelas equaes paramtricas

x = p(t)
,
t [0, 1],
y = q(t)
em que p e q so polinmios.
1. Determine a forma destes polinmios de modo a que a curva passe pelos pontos P0 =
(x0 , y0) e P1 = (x1 , y1 ) com tangentes T0 = (p (0), q (0)) e T1 = (p (0), q (0)), respectivamente (curva de Ferguson-Coons).
2. A especificao das tangentes atravs de dois pontos auxiliares (pontos de guia) revelase mais til na prtica. Assim, sejam P2 e P3 dois pontos auxiliares tais que T0 =
(P2 P0 ) = (x2 x0 , y2 y0 ) e T1 = (P3 P1 ) = (x3 x1 , y3 y1 ), em que
um factor de normalizao escolha. Mostre que a curva de Ferguson-Coons se pode
escrever na forma

x(t) = 0 (t)x0 + 1 (t)x1 + 2 (t)x2 + 3 (t)x3
,
t [0, 1],
y(t) = 0 (t)y0 + 1 (t)y1 + 2 (t)y2 + 3 (t)y3
com

0 (t)
1 (t)
2 (t)
3 (t)

2t3 t3 3t2 + 2t2 t + 1,


2t3 + t3 t2 + 3t2 ,
t3 2t2 + t,
t3 + t2 .

=
=
=
=

3. Mostre que a curva est contida no invlucro convexo


definido pelos pontos P0 , P1 , P2
P3
e P3 , isto , que i (t) > 0, i = 0, 1, 2, 3, e que i=0 i (x) = 1, se e s se 0 6 6 3.
Nota: Quando = 3 a curva de Ferguson-Coons tambm se chama curva de Bzier.
1

1
1.5

0.5

0.5

0.5

0.5

1.5

0.5

1.5

2
0.5

1.5

-0.5

-0.5

-0.5
-1

-1

-1

-1.5

Figura 3.1: Grcos das curvas de Ferguson-Coons com = 1, 3 e 15.

75

Aproximao de funes

Exerccio 3.32 Deslocando-se um receptor de GPS num veculo ao longo do eixo de uma
estrada, em Angola, obtiveram-se as coordenadas locais:
latitude
longitude

26 56,1
5 36

26 50 ,4 27 02 ,7
5 56
6 16

2658 ,3
.
6 36

Aproximando o eixo da estrada por um spline natural determine:


1. a latitude da estrada quando a longitude = 6 ;
2. as coordenadas da estrada no ponto mais perto do equador, supondo que isso acontece
entre 6 16 e 6 36 de longitude.
Exerccio 3.33 A estrela S da Ursa Maior apresenta uma variao para a sua magnitude
aparente m, em funo do ngulo de fase (em graus), de acordo com os dados da seguinte
tabela:

60 20
20
.
9,40 11,39 10,84

Usando um spline cbico natural, determine uma aproximao para o ngulo de fase pertencente
ao intervalo [20, 20] em que a magnitude aparente da estrela mxima.
Exerccio 3.34 Um carro percorre uma rua, em linha recta, tendo sido efectuados os seguintes
registos:
tempo (t) em segundos
0
distncia (d) em metros
0
velocidade (v) em km/hora 40

5 10
90 150 .
40

Usando o spline cbico completo interpolador da funo distncia nos pontos dados, indique,
justificando, uma aproximao para:
1. o primeiro instante em que o carro excedeu o limite de velocidade permitido dentro das
localidades;
2. o instante em que o carro atingiu a velocidade mxima nos primeiros 5 segundos.
Exerccio 3.35 A presso sistlica p (em milmetros de mercrio) de uma criana saudvel
com peso w (em quilogramas) dada, de forma aproximada, pela equao p = a + b ln w. Use
os seguintes dados experimentais
w
p

20 28
91 99

37 51 59
104 108 111

para estimar a presso sistlica de uma criana de 45 quilogramas.

76

Aproximao de funes

Exerccio 3.36 A lei de Hooke estabelece que a fora F aplicada a uma mola directamente
proporcional ao deslocamento provocado de acordo com a seguinte relao
F = k(e e0 ),
onde k a constante da mola, e o comprimento da mola quando sujeita fora F e e0 o
comprimento inicial da mola.
No sentido de determinar a constante da mola usaram-se diferentes foras (conhecidas)
tendo sido observados os comprimentos resultantes, dados na seguinte tabela
fora F (em gramas)
comprimento e (em milmetros)

3
5
8
10
.
13,3 16,3 19,4 20,9

Sabendo que o comprimento inicial da mola e0 = 10 mm, determine a melhor estimativa para
a constante da mola no sentido dos mnimos quadrados.

Captulo 4
Derivao e integrao numrica
4.1

Derivao numrica

Acontece frequentemente sermos confrontados com a necessidade de determinar valores


da derivada de uma funo num conjunto de pontos conhecendo o valor da funo apenas
nesses pontos. Na impossibilidade de obter esses valores de forma exacta, vamos considerar
a sua aproximao atravs do valor da derivada do polinmio interpolador da funo nos
referidos pontos.
Para o estudo que iremos efetuar, consideremos uma funo f C m ([a, b]), com m
sucientemente grande por forma a que as dedues das frmulas possam ser efectuadas,
conhecida num conjunto de pontos da partio uniforme
(4.1)

a = x0 < x1 < < xn = b,

com xk xk1 = h, k = 1, . . . , n.

4.1.1

Aproximao da primeira derivada

Queremos aproximar a derivada de f C m ([a, b]) num dos pontos xk , k {0, 1, . . . , n},
da partio (4.1).
Frmulas com dois pontos
Desenvolvendo f em srie de Taylor em torno do ponto xk , e assumindo que f C 2 ([a, b]),
temos
h2
f (xk+1 ) = f (xk ) + f (xk )h + f (1 ),
1 ]xk , xk+1 [
2
e
h2

f (xk1 ) = f (xk ) f (xk )h + f (2 ),


2 ]xk1 , xk [.
2
Assim sendo, podemos escrever
f (xk ) =

f (xk+1 ) f (xk ) h
f (1 ),
h
2
77

1 ]xk , xk+1 [

78

Derivao e integrao numrica


e

f (xk ) f (xk1 ) h
+ f (2 ),
2 ]xk1 , xk [.
h
2
Obtemos assim duas frmulas de diferenas nitas de primeira ordem em h para aproximar
a primeira derivada de uma funo num ponto. A
f (xk ) =

(+ f )(xk ) :=

f (xk+1 ) f (xk )
h

usual chamar frmula de diferenas finitas progressivas e a


( f )(xk ) :=

f (xk ) f (xk1 )
h

costuma chamar-se frmula de diferenas finitas regressivas.


Frmulas com trs pontos
Para obter frmulas mais precisas para aproximar a primeira derivada de uma funo num
ponto, vamos considerar frmulas com mais pontos. No prximo exerccio apresentam-se
as frmulas de diferenas nitas progressivas, centradas e regressivas com trs pontos.
Exerccio 4.1 Prove que:
1. f (xk ) =

1
h2
[3f (xk ) + 4f (xk+1) f (xk+2 )] + f (0 );
2h
3

2. f (xk ) =

1
h2
[f (xk+1 ) f (xk1 )] f (1 );
2h
6

3. f (xk ) =

1
h2
[f (xk2 ) 4f (xk1 ) + 3f (xk )] + f (2 ).
2h
3

Resoluo: Vamos s deduzir a segunda frmula. Desenvolvendo f em srie de Taylor em


torno do ponto xk , e assumindo que f C 3 ([a, b]), temos
h2
h3
f (xk+1 ) = f (xk ) + f (xk )h + f (xk ) + f (1 ),
2
6

1 ]xk , xk+1 [;

h2
h3
f (xk ) f (2 ),
2 ]xk1 , xk [.
2
6
Subtaindo membro a membro, e colocando f (xk ) em evidncia, obtemos
f (xk1 ) = f (xk ) f (xk )h +

f (xk ) =

1
f (1 ) + f (2 )
[f (xk+1 )f (xk1 )]h2
,
2h
12

1 ]xk , xk+1 [, 2 ]xk1 , xk [.

Como f contnua em [a, b], existe um ]xk1 , xk+1 [ tal que


f () =

1
(f (1 ) + f (2 )) .
2

(4.2)

79

Derivao e integrao numrica

De facto, atendendo ao facto de f ser contnua e o intervalo [a, b] ser fechado, temos
que
2 min f (x) 6 f (1 ) + f (2 ) 6 2 max f (x).
x[a,b]

x[a,b]

Pelo Teorema de Bolzano conclui-se que existe ]xk1 , xk+1 [ tal que (4.2) se verifica.
Provmos, assim, que
f (xk ) =

1
f ()
[f (xk+1 ) f (xk1 )] h2
,
2h
6

]xk1 , xk+1 [.

1
[f (xk+1 ) f (xk1 )]
2h
chamamos frmula de diferenas finitas centradas de segunda ordem em h.
(f )(xk ) :=

O prximo exerccio generaliza o raciocnio efectuado no exerccio anterior e vai ser


usado, frequentemente, para deduzir as frmulas do erro na derivao e na integrao
numrica.
Exerccio 4.2 Mostre que, se f for uma funo contnua em [a, b] e k [a, b], para k =
1, . . . , M, ento existe um [a, b] tal que
f () =

M
1 X
f (k ).
M k=1

Exerccio 4.3 Considere os seguintes valores da funo f (x) = xex :


xi
f (xi )

1,8
1,9
2,0
2,1
2,2
.
10,889365 12,703199 14,778112 17,148957 19,855030

Aproxime o valor de f (2,0) = 22,167168 usando as frmulas de diferenas finitas dadas no


exerccio anterior e compare os erros cometidos.
Resoluo: Vamos considerar as trs frmulas separadamente.
Frmula progressiva de segunda ordem com h = 0.1.
f (2,0)

1
[3f (2,0) + 4f (2,1) f (2,2)] = 22,032310.
0,2

O erro cometido aproximadamente 1,35 101 .

Frmula regressiva de segunda ordem com h = 0,1.


f (2,0)

1
[f (1,8) 4f (1,9) + 3f (2,0)] = 22,054525.
0,2

O erro cometido aproximadamente 1,13 101 .

80

Derivao e integrao numrica


Frmula centrada de segunda ordem com h = 0,1.
f (2,0)

1
[f (2,1) f (1,9)] = 22,228790.
0,2

O erro cometido aproximadamente 6,16 102 .


Note-se que o erro cometido quando se usa a frmula de diferenas centradas aproximadamente metade do erro cometido com as outras frmulas, o que confirma o resultado
do exerccio anterior.

4.1.2

Aproximao da segunda derivada

Queremos aproximar a segunda derivada de f num dos pontos xk , k {0, 1, . . . , n}, da


partio (4.1). Desenvolvendo f em srie de Taylor em torno do ponto xk , e assumindo
que f C 4 ([a, b]), temos
f (xk+1 ) = f (xk ) + f (xk )h +

h3
h4
h2
f (xk ) + f (xk ) + f (4) (1 ),
2
6
24

1 ]xk , xk+1 [

f (xk1 ) = f (xk ) f (xk )h +

h2
h3
h4
f (xk ) f (xk ) + f (4) (2 ),
2
6
24

2 ]xk1 , xk [.

Se adicionarmos estas duas expresses obtemos


f (xk ) =


1
h2 (4)
(4)
[f
(x
)

2f
(x
)
+
f
(x
)]

f
(
)
+
f
(
)
.
k1
k
k+1
1
2
h2
24

Uma vez que f (4) contnua em [xk1 , xk+1 ], o Exerccio 4.2 permite concluir que existe
um ]xk1 , xk+1 [ tal que
f (4) () =
Assim,
f (xk ) =


1 (4)
f (1 ) + f (4) (2 ) .
2

1
h2 (4)
[f
(x
)

2f
(x
)
+
f
(x
)]

f ().
k1
k
k+1
h2
12

A frmula

(4.3)

1
[f (xk1 ) 2f (xk ) + f (xk+1 )]
(4.4)
h2
conhecida como frmula de diferenas centradas de segunda ordem para aproximar a segunda derivada. Por um raciocnio semelhante poderiam ser obtidas outras frmulas de
diferenas nitas para aproximar a segunda derivada, no s centradas como tambm progressivas e regressivas.
(2 f )(xk ) :=

81

Derivao e integrao numrica


Exerccio 4.4 Prove que
f (xk ) =

1
h4 (4)
[f
(x
)
+
16f
(x
)

30f
(x
)
+
16f
(x
)

f
(x
)]
+
f (),
k2
k1
k
k+1
k+2
12h2
90

com ]xk2 , xk+2 [.


Exerccio 4.5 Considere, de novo, os valores da funo f (x) = xex dados na tabela do
Exerccio 4.3. Aproxime o valor de f (2,0) = 29,556224 usando a frmula de diferenas finitas
centradas de segunda ordem.
Resoluo: Temos que
f (2,0)

1
[f (1,9) 2f (2,0) + f (2,1)] = 29,593200.
0,01

O erro cometido aproximadamente 3,7 102 .


Exerccio 4.6 Mostre, a partir do polinmio interpolador de Lagrange da funo f nos pontos
x0 , x1 e x2 , tais que x1 x0 = h e x2 x1 = h, que


2 f (x0 ) f (x1 )
f (x2 )

f (x) 2

+
.
h 1+

(1 + )
Verifique que quando = 1 se recupera a frmula das diferenas centradas.

4.2

Integrao numrica

Nesta seco vamos obter e analisar as chamadas frmulas de quadratura numrica que
permitem determinar, de forma aproximada, o integral denido
Z b
I(f ) =
f (x)dx
a

de uma funo real de varivel real f num dado intervalo real [a, b].
Seja f uma funo conhecida em M + 1 pontos a = x0 < x1 < < xM 1 < xM = b,
com xk = x0 + kH e H = (b a)/M. Assim sendo, temos que
I(f ) =

f (x)dx =

M Z
X
k=1

xk

f (x)dx.
xk1

As chamadas frmulas que iremos considerar permitem obter aproximaes a I(f )


aproximando, em cada intervalo Ik = [xk1 , xk ], k = 1, . . . , M, a funo f por um seu
polinmio interpolador. Se Pnk for o polinmio de grau menor ou igual a n interpolador de

82

Derivao e integrao numrica

f em n + 1 pontos de Ik , temos que f (x) = Pnk (x) + ekn (x), com x Ik , onde ekn (x) o erro
cometido na interpolao. Assim,
I(f ) = IN C (f ; n) + EN C (f ; n),
com
IN C (f ; n) =

M Z
X
k=1

xk

xk1

Pnk (x)dx

e EN C (f ; n) =

M Z
X
k=1

xk

xk1

ekn (x)dx.

(4.5)

As frmulas (4.5) so conhecidas como frmulas de Newton-Cotes (compostas), em homenagem a Isaac Newton (1643-1727) e Roger Cotes (1682-1716), e dependem, obviamente,
do grau do polinmio escolhido. As frmulas de Newton-Cotes (simples) so aquelas que se
obtm quando se considera M = 1 ou, de forma equivalente, H = b a.
Uma vez que a n-sima frmula de Newton-Cotes obtida custa da aproximao da
funo integranda por um polinmio de grau n, ser de esperar que esta seja exacta para
polinmios de grau menor ou igual a n. Este facto conduz-nos ao conceito de grau de
exactido de uma frmula de quadratura numrica.
Definio 4.1 (Grau de exactido) Uma frmula de quadratura numrica (4.5)
diz-se com grau de exactido n se exacta para polinmios de grau menor ou igual a
n.
Outra forma de analisar o erro cometido ao aproximar um integral por uma frmula de
quadratura numrica atravs da sua ordem de convergncia.
Definio 4.2 (Ordem de convergncia) Uma frmula de quadratura numrica (4.5)
diz-se com ordem de convergncia p se |EN C (f ; n)| 6 CH p , com C uma constante independente de H e M.

4.2.1

Frmula do ponto mdio

Consideremos, em Ik , k = 1, . . . , M, a funo f aproximada pelo seu polinmio interpolador


de grau 0 no ponto mdio do intervalo xk = (xk1 + xk )/2, isto ,
f (x) f (xk ),

x Ik .

Para isso, a funo f tambm ter que ser conhecida nos pontos xk , k = 1, ..., M. Ento,
I(f ) =

f (x)dx =

M Z
X
k=1

xk
xk1

f (x)dx

M Z
X
k=1

xk

f (xk )dx = H

xk1

Obtivemos, assim, a chamada frmula do ponto mdio (composta)


IPc M (f )

:= H

M
X
k=1

f (xk ).

M
X
k=1

f (xk ).

83

Derivao e integrao numrica

A frmula do ponto mdio (simples) a que se obtm quando se considera M = 1, isto ,




a+b
IP M (f ) := (b a)f
.
2
Vamos agora analisar o erro que se comete na aproximao I(f ) IP M (f ). Usando
o desenvolvimento em srie de Taylor, e assumindo que f C 2 ([a, b]), temos que, considerando x = (a + b)/2,
Z b
I(f ) IP M (f ) =
(f (x) f (x)) dx
a

Z b
f (x )

2
=
f (x)(x x) +
(x x) dx, x I{x, x}.
2
a
Atendendo a que (prove)

b
a

(x x)dx = 0

e ao facto de (x x)2 no mudar de sinal em [a, b], usando o Teorema 1.4, temos que
Z
f () b
I(f ) IP M (f ) =
(x x)2 dx,
]a, b[.
2
a

Ento (prove)

f ()
(b a)3 ,
]a, b[.
24
Pelas denies dadas anteriormente, temos que a frmula do ponto mdio tem ordem
de convergncia 3 e grau de exactido 1.
EP M (f ) := I(f ) IP M (f ) =

Exerccio 4.7 Mostre que


EPc M (f ) := I(f ) IPc M (f ) =

H2
(b a)f (),
24

]a, b[.

Resoluo: Temos que


EPc M (f )

M
X
f (k )
k=1

M
H 3 X
(xk1 xk ) =
f (k ),
24
24
3

k=1

k ]xk1 , xk [.

Atendendo ao Exerccio 4.2 provamos o pretendido.

Note-se que, a frmula do ponto mdio perde uma ordem de convergncia quando usada
na sua forma composta.
Na prtica a frmula do erro aparece, normalmente, em valor absoluto. usual considerar a expresso
|EPc M (f )| 6

H2
(b a)M2 ,
24

com M2 = max |f (x)|.


x[a,b]

84

Derivao e integrao numrica

4.2.2

Frmula do trapzio

Vamos considerar o caso em que pretendemos aproximar, em cada intervalo Ik , k =


1, . . . , M, uma funo f C 2 ([a, b]) por um polinmio do primeiro grau que passa pelos pontos (xk1 , f (xk1 )) e (xk , f (xk )). Como sabido, usando interpolao de Lagrange,
f (x) = f (xk1 )

x xk1
f (k )
x xk
+ f (xk )
+
(x xk1 )(x xk ),
xk1 xk
xk xk1
2

com k ]xk1 , xk [ um valor que depende de x. Assim,


Z

f (x)dx =
a

n Z
X
k=1

H
2

xk
xk1

M
X

f (x)dx

M Z
X
k=1



x xk1
x xk
f (xk1 )
+ f (xk )
) dx
xk1 xk
xk xk1
xk1
xk

(f (xk1 ) + f (xk )) =

k=1

H
[f (a) + 2f (x1 ) + + 2f (xM 1 ) + f (b)].
2

Obtivemos, assim, a chamada frmula do trapzio (composta)


ITc (f ) :=

H
[f (a) + 2f (x1 ) + + 2f (xM 1 ) + f (b)].
2

A frmula do trapzio (simples) a que se obtm quando se considera M = 1, isto ,


IT (f ) :=

ba
[f (a) + f (b)].
2

(4.6)

12
10
y=f(x)

8
6
4
2

-1

a
-0.5

b
0.5

1.5

2.5

Figura 4.1: Frmula do trapzio.


Vamos agora analisar o erro que se comete na aproximao I(f ) IT (f ). Temos que,
se f C 2 ([a, b]),
I(f ) IT (f ) =

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

x ]a, b[.

85

Derivao e integrao numrica


Como (x a)(x b) no muda de sinal em ]a, b[, pelo Teorema 1.4, temos que (prove)
ET (f ) := I(f ) IT (f ) =

(b a)3
f (),
12

]a, b[.

Tal como para a frmula do ponto mdio, temos que a frmula do trapzio tem ordem
de convergncia 3 e grau de exactido 1.
Exerccio 4.8 Mostre que
ETc (f ) := I(f ) ITc (f ) =

H2
(b a)f (),
12

]a, b[.

Resoluo: Temos que


ETc (f )

M
X
f (k )
k=1

M
H 3 X
(xk1 xk ) =
f (k ),
12
12 k=1
3

k ]xk1 , xk [.

Atendendo ao Exerccio 4.2 provamos o pretendido.


Note-se que, a frmula do trapzio, tal como a do ponto mdio, perde uma ordem de
convergncia quando usada na sua forma composta. Na prtica a frmula do erro aparece,
normalmente, em valor absoluto. usual considerar a expresso
|ETc (f )| 6

H2
(b a)M2 ,
12

com M2 = max |f (x)|.


x[a,b]

O valor do integral de uma determinada funo f num intervalo [a, b] pela frmula do
trapzio pode ser dado de acordo com o seguinte algoritmo.
Algoritmo 4.1 Frmula do trapzio
Dados: a, b e M
H := (b a)/M

x := a
s := 0

Para k de 1 at M 1 fazer
x := x + H
s := s + f (x)

IT := (H/2)(f (a) + 2s + f (b))


Resultado: I IT

86

Derivao e integrao numrica

Exerccio 4.9 Seja I =

xe2x dx. Calcule, usando a frmula do trapzio, o valor aproxi2

mado de I com trs casas decimais correctas.


Resoluo: Seja f (x) = xe2x . Temos que, para x [2, 1], o erro para a frmula do
trapzio dado por
1
1
|ETc (x)| 6 H 2 M2 =
M2 ,
12
12M 2
sendo
M2 = max |f (x)| = max (4e2x (x + 1)).
x[2,1]

x[2,1]

Se tomarmos g(x) = 4e2x (x + 1) temos que g (x) = 0 x = 1,5. Logo


M2 = max{g(2), g(1,5), g(1)} = 2e3 .
Vamos ento determinar qual o menor valor de M que satisfaz
e3
6 0,5 103 .
6M 2
Efectuando os clculos, conclumos imediatamente que M > 4,074 o que implica M = 5.
Necessitamos de 6 pontos igualmente distanciados no intervalo [2, 1] para obter uma
aproximao ao valor de I com trs casas decimais correctas. Assim,
I 0,1[f (2) + 2f (1,8) + 2f (1,6) + 2f (1,4) + 2f (1,2) + f (1)] = 0,0788762.
Como s podemos garantir trs casas decimais correctas temos que I 0,079.

4.2.3

Frmula de Simpson

Consideremos agora o caso em que pretendemos aproximar, em cada intervalo Ik , k =


1, . . . , M, uma funo f C 3 ([a, b]) por um polinmio do segundo grau que passa pelos
pontos (xk1 , f (xk1)), (xk , f (xk )) e (xk , f (xk )), com xk = (xk1 + xk )/2. Como foi visto
no captulo dedicado interpolao de Lagrange, para x Ik ,
2(x xk )(x xk )
4(x xk1 )(x xk )
f (xk )
2
H
H2

2(x xk1 )(x xk ) f (k )


+ f (xk+1 )
+
(x xk1 )(x xk )(x xk ),
H2
6

f (x) = f (xk1 )

com k ]xk1 , xk [ um valor que depende de x.


Exerccio 4.10 Prove que o valor do integral
Z xk 
2(x xk )(x xk )
4(x xk1 )(x xk )
f (xk1 )

f
(x
)
k
H2
H2
xk1

2(x xk1 )(x xk )
+f (xk+1)
dx,
H2

87

Derivao e integrao numrica

15
12.5
10
y=f(x)

7.5
5
2.5
a
-1

-0.5

b
1
0.5
(a+b)/2

1.5

2.5

Figura 4.2: Frmula de Simpson.

com xk = (xk1 + xk )/2, dado por


H
[f (xk1) + 4f (xk )) + f (xk )] .
6
Pelo exerccio anterior podemos obter a chamada frmula de Simpson (composta)
ISc (f )

M
HX
[f (xk1 ) + 4f (xk )) + f (xk )] ,
=
6 k=1

estabelecida por Thomas Simpson (1710-1761), que tambm pode ser escrita na forma
"
#
M
M
1
X
X
H
f (a) + 4
f (xk ) + 2
f (xk ) + f (b) .
(4.7)
ISc (f ) =
6
k=1
k=1
A frmula de Simpson (simples) a que se obtm quando se considera M = 1, isto ,




ba
a+b
IS (f ) :=
f (a) + 4f
+ f (b) .
6
2
Ao contrrio do que foi efectuado para as frmulas do ponto mdio e do trapzio, neste
caso no podemos aplicar o Teorema 1.4 para determinar o erro cometido na aproximao
I(f ) IS (f ), uma vez que (x a)(x (a + b)/2)(x a) muda de sinal em [a, b]. possvel,
no entanto, demonstrar que, se f C 4 ([a, b]), o erro associado frmula de Simpson
(simples) dado por
(b a)5 (4)
f (),
ES (f ) =
2880

]a, b[.

Uma vez que a frmula de Simpson foi obtida pela aproximao da funo integranda
por um polinmio de segundo grau, seria de esperar que tivesse grau de exactido 2. No

88

Derivao e integrao numrica

entanto, de forma surpreendente, a expresso obtida para o erro diz-nos que a frmula de
Simpson tem grau de exactido trs, isto , esta frmula exacta sempre que a funo a
integrar um polinmio de grau menor ou igual a 3.
A determinao do valor do erro que est associado frmula de Simpson (composta)
pode ser feita de forma semelhante ao efectuado para a frmula do trapzio (composta).
De facto, pelo Exerccio 4.2, como f C 4 ([a, b]), existe um ]a, b[ tal que
M
X

f (4) (k ) = Mf (4) ().

k=1

Assim sendo,
ESc (f )

H4
H5
(4)
=
Mf () =
(b a)f (4) (),
2880
2880

]a, b[.

Na frmula a prtica usual considerar a frmula do erro em valor absoluto. No caso


da frmula de Simpson temos que
|ESc (f )| 6

H4
(b a)M4 ,
2880

com M4 = max |f (4) (x)|.


x[a,b]

O exerccio seguinte d-nos uma forma alernativa de escrever a frmula de Simpson.


Exerccio 4.11 Seja f uma funo conhecida apenas nos pontos (xk , f (xk )), k = 0, 1, . . . , M,
com M par, xk = a + kH e H = (b a)/M, mostre que uma aproximao para o integral
Rb
f (x)dx pela a frmula de Simpson (composta) dado por
a
ISc (f ) =

H
[f (a) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + + 2f (xM 2 ) + 4f (xM 1 ) + f (b)], (4.8)
3

com erro
ESc (f ) =
o que implica
|ESc (f )| 6

H4
(b a)f (4) (),
180

H4
(b a)M4 ,
180

]a, b[,

com M4 = max |f (4) (x)|.


x[a,b]

(4.9)

A frmula (4.8) a mais iremos usar na resoluo de exerccios prticos. Nessa frmula,
os pontos xk , com k mpar, correspondem, em (4.7), aos pontos mdios do intervalo.
O valor do integral de uma determinada funo f num intervalo [a, b] pela frmula de
Simpson pode ser dado de acordo com o seguinte algoritmo.

89

Derivao e integrao numrica

Algoritmo 4.2 Frmula de Simpson


Dados: a, b e M (par)
H := (b a)/M

x := a
s := 0

Para k de 1 at M 1 fazer

x := x + H
Se k par ento s := s + 2f (x) caso contrrio s := s + 4f (x)

IS := (H/3)(f (a) + s + f (b))


Resultado: I IS
Exerccio 4.12 Seja I =

ex cos xdx. Calcule, usando a frmula de Simpson, o valor apro-

ximado de I com erro inferior a 103 .


Resoluo: Seja f (x) = ex cos x. Temos que, para x [0, 1], o erro dado pela frmula de
Simpson (4.8) (ver (4.9))
|ES (x)| 6

1 4
1
H M4 =
M4 ,
180
180M 4

sendo
M4 = max |f (4) (x)| = max (4ex cos x).
x[0,1]

x[0,1]

Se tomarmos g(x) = 4ex cos x temos que g (x) = 0 x = 4 . Logo

M4 = max{g(0), g( ), g(1)} = 2 2e/4 .


4
Vamos ento determinar qual o menor valor de M que satisfaz
/4
2e
6 103 .
90M 4
Efectuando os clculos, conclumos imediatamente que M > 2,42. Como M tem que
ser par temos que M = 4. Ento, necessitamos de 5 pontos igualmente distanciados no
intervalo [0, 1] para obter uma aproximao ao valor de I um erro inferior ao pretendido.
Assim,
I

1
[f (0) + 4f (0,25) + 2f (0,5) + 4f (0,75) + f (1)] = 1,377903843.
12

Como s podemos garantir duas casas decimais correctas I 1,38.

90

Derivao e integrao numrica

4.3

Exerccios de aplicao engenharia

Exerccio 4.13 Num circuito elctrico com voltagem aplicada E(t) e inductncia L, a primeira
Lei de Kirchoff d-nos a relao
E(t) = LI (t)RI(t),
onde R a resistncia no circuito e I(t) a corrente no instante t. Suponhamos que medimos
a corrente para vrios valores de t = ti , i = 1, . . . , 5, obtendo
ti
1,00 1,01 1,02 1,03 1,04
,
I(ti ) 3,10 3,12 3,14 3,18 3,24
onde tempo medido em segundos, a corrente em amperes, a inductncia uma constante
dada por L = 0,98 henries e a resistncia 0,142 ohms. Aproxime a voltagem E nos valores
de t dados na tabela.
Exerccio 4.14 A taxa de arrefecimento de um corpo pode ser expressa por
dT
= k(T Ta )
dt
onde T e Ta so as temperaturas do corpo e do meio circundante (em graus Celsius), respectivamente, e k uma constante de proporcionalidade (por minuto). Se uma esfera de metal
aquecida a 90 o C mergulhada em gua mantida temperatura constante de Ta = 20 o C, a
temperatura da esfera toma os seguintes valores:
Tempo (min.)
Temperatura (o C)

0
5
10
15
20
25
.
90 62,5 45,8 35,6 29,5 25,8

1. Use diferenciao numrica para aproximar

dT
dt

em cada momento.

2. Use a alnea anterior para obter uma estimativa para a constante de proporcionalidade k.
Exerccio 4.15 Os valores seguintes representam a evoluo no tempo do nmero N(t) de
indivduos de uma dada populao cuja taxa de crescimento constante (b = 2) e cuja taxa
de mortalidade d(t) = 0,01N(t):
t (meses)
N

0
0,5
1
1,5
2
2,5
3
.
100 147 178 192 197 199 200

1. Utilize os dados da tabela para aproximar com a maior preciso possvel a taxa de variao
desta populao.
2. Compare os resultados obtidos na alnea anterior com a taxa exacta N (t) = 2N(t)
0,01N 2 (t).

91

Derivao e integrao numrica

Exerccio 4.16 A altura q(t) atingida no tempo t por um fluido contido num reservatrio
cilndrico rectilneo de raio R = 1 m tendo na sua base um orifcio circular de raio r = 0,1 m,
foi medida em cada 5 segundos, tendo-se registado os seguintes valores:
t
0
5
10
15
20
.
q(t) 0,6350 0,5336 0,4410 0,3572 0,2822
1. Utilize os dados da tabela para aproximar com a maior preciso possvel a velocidade de
esvaziamento q (t).
2. Compare os resultados obtidos
p na alnea anterior com velocidade prevista pela lei de

2
Torricelli: q (t) = (r/R) 2gq(t), onde g a acelerao da gravidade e = 0,6
um factor de correco.
Exerccio 4.17 Fugacidade o termo usado na engenharia para descrever a trabalho resultante de um processo isotrmico. Para um gs ideal, a fugacidade f igual presso P , mas
para os gases reais,
Z P
f
C1
ln =
dp
P
P
0

onde C um factor de compressibilidade determinado experimentalmente. Para o metano os


valores de C so
P (atm.)
1
10
20
40
60

P (atm.)
80
120
160
250
400

C
0,9940
0,9370
0,8683
0,7043
0,4515

C
0,3429
0,4259
.
0,5252
0,7468
1,0980

Escreva um programa que calcule o valor de f correspondente a cada valor da presso dado
na tabela. Assuma que o valor de C varia linearmente entre os valores calculados e que C
tende para um quando P tende para zero.
Exerccio 4.18 Uma partcula de massa m movendo-se num fludo est sujeita a uma resistncia de viscosidade R, que funo da velocidade v. A relao entre a resistncia R, a
velocidade v e o tempo t dada pela equao
t=

v(t)

v(t0 )

m
du.
R(u)

onde R a resistncia no circuito e I(t) a corrente. Suponhamos que R(v) = v v para


um fludo particular, onde R dado em newtons e v em metros/segundo. Se m = 10 kg e
v(0) = 10 m/seg aproxime o tempo necessrio para a partcula reduzir a sua velocidade para
v = 5 m/seg.

92

Derivao e integrao numrica


Exerccio 4.19 A funo

2
f (x) =

et dt
0

usada com muita frequncia em disciplinas to diversas como a teoria das probabilidades,
distribuio de calor, difuso de matrias, etc. Usando uma das regras de integrao estudadas,
calcule uma aproximao para o valor do referido integral indicando um majorante para o erro
cometido.
Exerccio 4.20 A intensidade de luz com comprimento de onda viajando atravs de uma
grelha de difraco com n aberturas a um ngulo dada por
n2 2
sin k,
k

I() =
onde

nd sin

e d a distncia entre cada abertura. Um laser de hlio-non com comprimento de onda


= 632,8 109 m emite uma banda estreita de luz, dada por 106 < < 106, atravs de
uma grelha com 10000 aberturas separadas por 104 m. Obtenha um valor aproximado para a
intensidade de luz total que sai da grelha
k=

106

I() d.
106

Exerccio 4.21 A massa que libertada por um reactor num dado perodo de tempo dada
por
Z t2
M=
QCdt,
t1

onde t1 e t2 so os momentos inicial e terminal, respectivamente. Usando Q = 5 m3 /min e os


dados da tabela
t (min.)
0
10
20
30
40
,
C (mg/m3 ) 10,00 35,00 54,73 52,16 37,07
aproxime o valor da masssa libertada pelo reactor nos primeiros 40 minutos.

Captulo 5
Sistemas de equaes lineares
O problema que pretendemos resolver neste captulo consiste em determinar o valor de
x Rn tal que Ax = b, sendo b Rn e A Mn (R), onde Mn (R) denota o conjunto das
matrizes reais de ordem n. Para resolver este problema iremos supor que a matriz A
invertvel ou, o que equivalente, que o sistema possvel e determinado.
H muitos sistemas fsicos que podem ter como modelo sistemas de equaes lineares.
Suponhamos, por exemplo, um camio a atravessar uma ponte cuja estrutura constituda
por barras de ferro. O peso camio e da ponte so foras que so contrabalanadas pelas
exercdas nas extremidades que seguram a ponte. Essas foras so propagadas ao longo de
toda a estrutura e, em cada nodo (locais onde as barras de ferro seguram a estrutura) a
resultante das foras deve ser nula. Se decomposermos as foras nas componentes horizontal
(x) e vertical (y) temos, em cada nodo (i = 1, 2, . . .), as equaes:
soma x das foras = 0, no nodo i,
soma y das foras = 0, no nodo i.
As foras, em cada barra, podem assim ser determinadas. Como h foras conhecidas (peso
do camio, peso das barras, etc), o sistema a resolver no homogneo.
A resoluo de um problema envolvendo sistemas lineares pode dividir-se em trs etapas:
1. formulao do modelo matemtico (calcular a matriz A);
2. clculo dos agentes exteriores (calcular o vector b);
3. resoluo do sistema linear.
Os dois primeiros passos dependem, obviamente, do conhecimento do problema fsico (tipo
de material, leis fsicas, etc); o terceiro passo pode ser equacionado e resolvido separadamente, usando um conveniente algoritmo matemtico. Uma vez que este ltimo passo
aparece como pertencente a um algoritmo bastante mais vasto essencial que seja calculado de forma eciente.

93

94

Sistemas de equaes lineares

Existem duas grandes classes de mtodos para resolver sistemas de equaes lineares: os
mtodos directos, que j foram estudados, em parte, na disciplina de lgebra Linear e para
os quais iremos fazer uma breve reviso; e os mtodos iterativos que iremos estudar com
mais pormenor, especialmente os mtodos devidos a Carl Gustav Jakob Jacobi (1804-1851),
Johann Carl Friedrich Gauss (1777-1855) e Philipp Ludwig von Seidel (1821-1896). Antes
porm, vamos apresentar algumas classes de matrizes que iro ser consideradas.

5.1

Classes de matrizes

Existem vrios tipos de matrizes com relevncia em aplicaes prticas.


Matrizes densas e matrizes esparsas

Um matriz com muitos elementos nulos diz-se esparsa; caso contrrio diz-se que a
matriz densa. Sistemas com matrizes esparsas modelam sobretudo problemas onde
existem princpios de inuncia local. Note-se que, no caso da ponte, as equaes em
cada nodo apenas envolvem as barras que a se encontram. O seu nmero o mesmo
quer a ponte tenha 50 metros e, digamos, 10 barras, ou 5 km e 1000 barras. Assim,
para uma ponte grande, a maioria dos coecientes da matriz so nulos.

Como caso particular das matrizes esparsas temos as matrizes banda e, dentro dessa
classe, as chamadas matrizes tridiagonais. As matrizes banda so aquelas cujos elementos no nulos se concentram apenas num conjunto de diagonais paralelas diagonal principal.
Matrizes triangulares

As matrizes triangulares so aquelas que possuem todos os seus elementos acima ou


abaixo da diagonal principal iguais a zero. No primeiro caso, as matrizes dizem-se
triangulares inferiores e no segundo triangulares superiores.

Matrizes simtricas

As matrizes simtricas so aquelas que coincidem com a sua transposta. Uma caracterstica importante das matrizes simtricas o facto de todos os seus valores prprios
serem reais.

Matrizes estritamente diagonal dominantes (EDD)

Uma matriz A = (aij )ni,j=1 diz-se estritamente diagonal dominante por linhas se
|aii | >

n
X

j=1,j6=i

|aij |,

i = 1, ..., n,

e estritamente diagonal dominante por colunas se


|ajj | >

n
X

i=1,i6=j

|aij |

j = 1, ..., n.

95

Sistemas de equaes lineares

A matriz diz-se estritamente diaginal dominante se for estritamente diagonal dominante


por linhas ou estritamente diagonal dominante por colunas.
Matrizes simtricas e positivas denidas (SPD)

Uma matriz diz-se simtrica e positiva definida se for simtrica e se, para todo o vector
x Rn , no nulo, se tem xT Ax > 0.

Exerccio 5.1 Mostre que A SPD se e s se todos os valores prprios de A so reais e


positivos.
Resoluo: Por definio, valor prprio de A Mn (R) se e s se
Ax = x,

x Rn ,

x 6= 0.

Como A simtrica, real. Por outro lado,


xT Ax > 0 xT x > 0 kxk2 > 0 > 0,
o que prova o pretendido.

5.2

Mtodos directos: reviso

Consideremos, de novo, o problema de determinar o vector x Rn tal que Ax = b, sendo


b Rn e A Mn (R). O primeiro tipo de mtodos que iremos considerar resolver este
problema so os chamados mtodos directos. Estes mtodos so aqueles que, supondo no
haver erros de arredondamento ou quaisquer outros, nos permitem obter a soluo exacta
do problema num nmero nito de operaes aritmticas.
Os mtodos directos baseiam-se no processo de eliminao de Gauss que consiste em
transformar o sistema Ax = b num sistema equivalente Ux = c, onde U uma matriz
triangular superior, atravz de operaes elementares efectuadas na matriz ampliada (lembrar
estes conceitos dados na disciplina de lgebra Linear). O sistema a resolver pode ser escrito
na forma

u11 x1 + u12 x2 + + u1n xn = c1

u22 x2 + + u2n xn = c2
..
..
..

.
.
.

unn xn = cn
e a sua resoluo, caso uii 6= 0, i = 1, . . . , n, feita de acordo com o algoritmo seguinte.

96

Sistemas de equaes lineares

Algoritmo 5.1 Resoluo de um sistema triangular superior


Dados: ci , i = 1, . . . , n, e uij , i = 1, . . . , n, j = i, . . . , n
xn := cn /unn
Para i de n 1 at 1 fazer


Pn
xi := bi j=i+1 uij xj /uii

Resultado: xi , i = 1, . . . , n

O mtodo da eliminao de Gauss tem como desvantagem a alterao do valor dos


termos independentes (c 6= b). Para contornar esse problema, temos o chamado mtodo da
triangularizao. Este mtodo consiste em decompor a matriz A do sistema a resolver na
forma
A = LU,
em que L uma matriz triangular inferior e U uma matriz triangular superior, com uii = 1,
i = 1, . . . , n. A forma de obter esta factorizao foi igualmente vista na disciplina de
lgebra Linear e chamada a factorizao de Gauss. Aps obtida a decomposio, a
resoluo do sistema feita em duas etapas: resolver Ly = b; resolver Ux = y. Notemos
que em cada etapa temos que resolver um sistema triangular.
Exerccio 5.2 Supondo determinada a decomposio A = LU, obtenha o algoritmo que
permita reslover o sistema Ax = b pelo mtodo da triangulao.
Em muitas situaes prticas, o sistema linear a resolver
A da forma (suprimindo os zeros)

1 1
2 2
2

.
.
..
..
..
A=
.

n1 n1 n1
n
n

tridiagonal, isto , a matriz

ou, noutra notao, A = Tridiag(, , ), com = [2 , . . . , n ]T , = [1 , . . . , n ]T e


= [1 , . . . , n1]T .
fcil de demonstrar (ver lgebra Linear) que a decomposio A = LU dada pelas
matrizes

1 u1
l1

2 l2
1 u2

.
.
.
.
.
.
.
.
L=
,
e U =
.
.
.
.

1 un1
n1 ln1
1
n ln

Sistemas de equaes lineares

97

com os elementos li , i = 1, . . . , n e ui , i = 1, . . . , n 1, dados de acordo com o seguinte


algoritmo.
Algoritmo 5.2 Decomposio LU para matrizes tridiagonais
Dados: i , i = 2, . . . , n, i , i = 1, . . . , n, e i , i = 1, . . . , n 1

l1 := 1

Se l1 6= 0 ento u1 := 1 /l1 caso contrrio parar


Para i de 2 at n 1 fazer

li := i i ui1
Se li 6= 0 ento ui := i /li caso contrrio parar

ln := n n un1

Resultado: li , i = 1, . . . , n, e ui , i = 1, . . . , n 1
Como facilmente se pode demonstrar, a resoluo do sistema linear Ax = b, com A
uma matriz tridiagonal cuja decomposio A = LU dada pelo exerccio anterior, pode
ser efectuada de acordo com o seguinte algoritmo.
Algoritmo 5.3 Resoluo de um sistema tridiagonal
Dados: matriz A e vector b
Determinar as matrizes L e U
( Resolver Ly = b )

y1 := b1 /l1
Para i de 2 at n fazer
yi := (bi i yi1 )/li

( Resolver Ux = y )

xn := yn
Para i de n 1 at 1 fazer
xi := yi ui xi+1

Resultado: xi , i = 1, . . . , n
Prova-se o seguinte resultado.

Teorema 5.1 Para uma matriz A Mn (R), a factorizao A = LU existe e nica se


e s se as submatrizes principais de A forem no singulares.

98

Sistemas de equaes lineares

Note-se que, se A EDD ou a SPD ento a matriz A verica as hipteses do teorema


anterior e, como tal, a factorizao LU de A existe e nica. Mais ainda, se A SPD
pode obter-se a factorizao de de A na forma A = HH T , com H uma matriz triangular
inferior com elementos diagonais positivos. Esta factorizao chamada factorizao de
Cholesky.
Quando, no processo da factorizao de Gauss, encontramos um pivot nulo, podemos
trocar de linhas por forma a evitar a diviso por zero. Uma possibilidade consiste em
escolher, em cada passo da iterao, o pivot de mdulo mximo. Obtm-se, assim, a
factorizao
P A = LU,
com P a matriz de permutao da linha efectuada.

5.3

Normas de matrizes. Condicionamento

Seja Mn (R) o conjunto das matrizes quadradas de ordem n com coecientes reais. Como
este conjunto um espao vectorial podemos nele denir uma norma.
Definio 5.1 (Norma matricial) Seja k.kv uma norma definida em Rn . A aplicao
k k : Mn (R) R+
0 tal que, para todo o A Mn (R),
kAxkv
kxk6=0 kxkv

kAk = sup

designada norma matricial subordinada norma vectorial k.kv .


Prova-se que a funo estabelecida na denio anterior uma norma, isto , que
verica as seguintes propriedades:
1. A Mn (R),

kAk = 0 A = 0 (matriz nula),

2. A Mn (R), R,
3. A, B Mn (R),

kAk = ||kAk,

kA + Bk 6 kAk + kBk,

Prova-se tambm que as seguintes aplicaes vericam as propriedades que caracterizam


um norma:
kAk1 = max

j=1,...,n

kAk2 =

n
X
i=1

|aij |;

(AT A), com (A) o raio espectral de A, denido por


(A) = max {|i| : i valor prprio de A};
i=1,...,n

99

Sistemas de equaes lineares

kAk = max

i=1,...,n

n
X
j=1

|aij |.

Exerccio 5.3 Considere a matriz

2 1 0
A = 1 2 1 .
0 1 2

Calcule kAk1 e kAk .

Exerccio 5.4 Mostre que se A SPD ento kAk2 = (A).


p
(AT A). Como A simtrica AT A = A2 . Mas,
Resoluo: Por definio kAk2 =
2
2
(A ) = (A) . De facto, se valor prprio de A Mn (R),
Ax = x,

x Rn ,

x 6= 0.

Ento
A2 x = Ax = 2 x,

x Rn ,

x 6= 0,

ou seja 2 valor prprio de A2 . Temos, ento, que


p
p
p
kAk2 = (AT A) = (A2 ) = (A)2 .
Como A SPD, (A) > 0 e, assim sendo, kAk2 = (A).

Considere-se, agora, o resultado seguinte.


Teorema 5.2 Seja k.k uma norma em Rn . Ento, para A Mn (R), tem-se
kAxk 6 kAkkxk, x Rn ,
em que kAk a norma de A subordinada norma k.k.
Demonstrao: Notamos que se a norma k.k subordinada a uma norma vectorial
ento, para A Mn (R), temos
kAxk
kAxk
>
,
kxk
kxk6=0 kxk

kAk = sup

x Rn , x 6= 0,

e portanto vlido o resultado.


Teorema 5.3 Para A, B Mn (IR), tem-se kABk 6 kAkkBk.

100

Sistemas de equaes lineares

Demonstrao: Atendendo desigualdade demonstrada no teorema anterior, temos


kBxk
kABxk
6 kAk sup
= kAkkBk.
kxk
kxk6=0 kxk
kxk6=0

kABk = sup

Consideremos um sistema possvel e determinado Ax = b e seja b o vector obtido a


partir de b considerando perturbaes numricas nas suas componentes. Esta situao
frequente quando o vector dos termos independentes representa medies. Sejam e(b) e
r(b) respectivamente os erros absoluto e relativo de b. Vejamos de que modo este erros
inuenciam os erros absoluto e relativo de x, sendo x a soluo do sistema Ax = b.
Este problema tambm poderia ser colocado de outra forma. Pretendemos resolver o
sistema Ax = b pelo mtodo de eliminao de Gauss usando, por exemplo, a factorizao
A = LU. Atendendo aos possveis erros de arredondamento, obtemos uma soluo x tal
que Ax = b 6= b. Queremos saber de que forma o erro (absoluto ou relativo) em b inuencia
o erro em x.
Se o sistema Ax = b possvel e determinado, ento A invertvel e portanto x =
1
A b. Consideremos agora o sistema em que o vector dos termos independentes tem as
componentes afectadas de erro, i.e, Ax = b. Temos
kr(x)k =

kx xk
kA1 (b b)k
=
.
kxk
kxk

(5.1)

Como, pelo Teorema 5.2,


kbk = kAxk 6 kAkkxk

conclumos que

kxk > kAk1 kbk.

Utilizando esta desigualdade em (5.1) deduzimos


kr(x)k 6

kA1 kkb bk
= kA1 kkAkkr(b)k.
kAk1 kbk

A
K(A) := kA1 kkAk

chamamos nmero de condio da matriz A. Ento

kr(x)k 6 K(A)kr(b)k.
Do exposto podemos armar que se o nmero de condio de A for pequeno (de preferncia menor ou igual a um) pequenas perturbaes no vector dos termos independentes
conduzem a pequenas perturbaes no vector soluo. Neste caso dizemos que o sistema
Ax = b estvel e que a matriz do A bem condicionada. Se o nmero de condio for
muito grande o sistema Ax = b diz-se instvel e a matriz do A mal condicionada.

101

Sistemas de equaes lineares


Exerccio 5.5 Determine o nmero de condio de


1 0
A=
2 2
relativamente s normas k k1 e k k .
Resoluo: Como
1

A
temos:

1
0
1 0,5

norma k k1
kAk1 = max{|1| + |2|, |0| + |2|} = 3, kA1 k1 = max{|1| + | 1|, |0| + |0,5|} = 2,
e, como tal, K1 (A) = 6;
norma k k
kAk = max{|1|+|0|, |2|+|2|} = 4, kA1 k = max{|1|+|0|, |1|+|0,5|} = 1,5,
e, como tal, K (A) = 6.
Apesar do nmero de condio ter dado o mesmo em ambos os casos, tal poderia no
ter acontecido.
Quando se pretende resolver sistemas lineares instveis usando mtodos directos, a
soluo obtida vem, frequentemente, afectada de erro. Nessa medida, usual considerar
mtodos mistos, isto , mtodos iterativos que consideram como aproximao inicial a
soluo obtida pelo mtodo directo. O mtodo iterativo funciona assim como um corrector
do resultado obtido pelo mtodo directo.
Exerccio 5.6 Seja A uma matriz real, no singular e de ordem n. Prove que se um valor
prprio de A ento
1
6 || 6 kAk.
kA1 k
Exerccio 5.7 Seja A uma matriz simtrica e definida positiva.
1. Mostre que
K2 (A) = M /m ,
onde M e m so, respectivamente, o maior e menor valor prprio de A em valor
absoluto.
2. Mostre que
K2 (A2 ) = (K2 (A))2 .

102

Sistemas de equaes lineares

Exerccio 5.8 Seja A uma matriz quadrada de ordem n. Mostre que se A singular K(A)
infinito e se A no singular K(A) > 1.
Exerccio 5.9 Resolva o sistema

2,000112x1 + 1,414215x2 = 0,521471
1,414215x1 + 1,000105x2 = 0,232279
pelo mtodo de eliminao de Gauss. Sabendo que a sua soluo exacta
(x1 , x2 ) = (607,1248, 858,2826),
explique os resultados obtidos.
Exerccio 5.10 As matrizes dos sistemas

xy
= 1
x 1,00001y = 0

xy
= 1
x 0,99999y = 0

so aproximadamente iguais. Determine e compare as suas solues.


Suponhamos agora que pretendemos resolver um sistema com mais equaes que incgnitas da Ax = b, sendo A Mmn (R), x Rn e b Rm , com m n.
Um exemplo onde esta situao ocorre no problema dos mnimos quadrados. Como
se sabe, a soluo dos mnimos quadrados consiste em resolver
AT Ax = AT b.
Este sistema no singular se A tiver caracterstica mxima n. Se assim for, a matriz AT A
SPD e a soluo dos mnimos quadrados dada de forma nica por
x = (AT A)1 AT b.
A matriz (AT A)1 AT chamada a matriz pseudo-inversa da matriz A.
Note-se que, se a matriz A for mal condicionada, a matriz AT A pode ser muito mal
condicionada. Atente-se, por exemplo, ao seguinte exemplo. Seja


0
A=
,
0 < 1.
0 1
Considerando a norma k k2 temos que K2 (A) = (A)(A1 ) = 1/ 1. Assim,
K2 (AT A) = 2 = 1 K2 (A) K2 (A).
Para contornar este problema, considera-se uma tcnica alternativa para resolver o
problema dos mnimos quadrados. Essa tcnica, mais robusta, consiste em obter a chamada

103

Sistemas de equaes lineares

factorizao QR da matriz A. Nesta factorizao, se A Mmn (R), temos que A = QR,


sendo Q Mm (R) e R Mmn (R), com Q uma matriz ortogonal, isto , uma matriz tal
que
QT Q = QQT = I,
e R uma matriz trapezoidal superior cujas linhas so nulas a partir da (n+1)-sima. Assim
AT Ax = AT b RT QT QRx = RT QT b RT Rx = RT QT b.
A soluo dos mnimos quadrados ento obtida na forma
e1 Q
eT b,
x=R

e Mn (R) e Q Mmn (R) so dadas, respectivamente, pelas primeiras n linhas


onde R
da matriz R e as primeiras n colunas da matriz Q.

5.4

Mtodos iterativos

Consideremos, de novo, o problema de determinar o valor de x Rn tal que Ax = b,


sendo b Rn e A Mn (R) uma matriz invertvel. Um mtodo iterativo para resolver o
sistema consiste em, partindo de uma aproximao inicial x(0) para a soluo do sistema
(que iremos denotar por x ), gerar uma sucesso de vectores {x(k) } convergente para x .
Os mtodos que iremos considerar pertencem classe dos mtodos do ponto fixo e so
obtidos transformando o problema Ax = b num outro, equivalente, de forma
x = Bx + g,
para uma determinada matriz de iterao B e um determinado vector g.
Para determinar B e g podemos, por exemplo, decompor a matriz A na forma
A = P (P A),
com P uma matriz invertvel (mais simples que A), chamada pr-condicionador, e considerar
B = P 1 (P A) e b = P 1 g.
De facto,
Ax = b P x = (P A)x + b x = P 1(P A)x + P 1 b.

Com esta transformao podemos escrever o mtodo iterativo na forma


x(0)
dado,
(k+1)
x
= Bx(k) + g, k = 0, 1, . . . .
Atendendo a que
x(k+1) = Bx(k) + g P x(k+1) = (P A)x(k) + b P (x(k+1) x(k) ) = b Ax(k) ,

(5.2)

104

Sistemas de equaes lineares


o mtodo (5.2) pode igualamente ser denido por
P (k)
r (k) ,
(k)
= x(k+1) x(k) ,

com

r (k) = Ax(k) b.

O processo iterativo termina quando se cumprirem os critrios de paragem estabelecidos. Os critrios mais comuns so:
1. Critrio do erro absoluto: kx(k) x(k1) k 6 ;
2. Critrio do erro relativo: kx(k) x(k1) k 6 kx(k) k;
3. Critrio do nmero mximo de iteraes: k = kmax .
Os mtodos iterativos so sobretudo usados para matrizes esparsas de grandes dimenses, que surgem frequentemente em problemas de anlise de circuitos ou clculos de estruturas. Para esses problemas, os mtodos iterativos so competitivos face aos mtodos
directos. Para matrizes densas ou de pequena dimenso os mtodos directos so mais
vantajosos.
Exemplo 5.1 Consideremos o seguinte sistema

10x1 2x2 +5x3 = 13


x1 +3x2 x3 = 1
Ax = b

x1 +4x2 +2x3 = 7

que tem soluo nica [x1 , x2 , x3 ]T = [1, 1, 1]T .


x = Bx + g faamos

x1 =
x2 =
x = Bx + g

x3 =

Para converter o sistema na forma equivalente


1
[2x2 + 5x3 3]
10

13 [x1 x3 1]

12 [(x1 + 4x2 7]

Neste caso temos que a matriz B de iterao e o vector g so dados por

0
2/10 5/10
13/10
0
1/3
B = 1/3
e
g = 1/3 .
1/2 4/2
0
7/2

O mtodo iterativo dado na forma


h
i

(k+1)
(k)
(k)
1

x
=

2x
+
5x

1
2
3
10

h
i
(k+1)
(k)
(k)
x(k+1) = Bx(k) + g
x2
= 13 x1 x3 1
,

h
i

(k+1)
(k)
(k)

x3
= 12 x1 + 4x2 7
(0)

(0)

(0)

sendo x(0) := [x1 , x2 , x3 ]T um valor dado.

k = 0, 1, . . . ,

Sistemas de equaes lineares

105

O mtodo descrito no exemplo anterior conhecido por mtodo de Jacobi e um dos


mtodos que iremos estudar. Este mtodo, quando aplicado ao sistema Ax = b, com
aii 6= 0, i = 1, . . . , n, pode ser dado por
"
#
n
X
1
(k+1)
(k)
xi
=

aij xj + bi ,
i = 1, . . . , n.
(5.3)
aii
j=1,j6=i

Exerccio 5.11 Escreva um algoritmo para determinar a soluo aproximada de Ax = b pelo


mtodo de Jacobi.
Um melhoramenento ao mtodo de Jacobi pode ser dado de acordo com o prximo
exemplo.
Exemplo 5.2 Consideremos,
iterativo

(k+1)

x1
=

(k+1)
x2
=

x(k+1) =
3
(0)

(0)

(0)

de novo, o sistema linear dado no exemplo anterior e o processo


h
i
(k)
(k)
1
10 2x2 + 5x3 3
h
i
(k+1)
(k)
,
k = 0, 1, . . . ,
13 x1
x3 1
h
i
(k+1)
(k+1)
12 x1
+ 4x2
7

sendo x(0) := [x1 , x2 , x3 ]T um valor dado. Como se pode ver, este mtodo usa as componentes da nova aproximao logo aps estas terem sido calculadas. Neste caso a matriz de
iterao do mtodo j no to simples de escrever.

O mtodo descrito no exemplo anterior chamado mtodo de Gauss-Seidel. Quando


aplicado resoluo numrica de Ax = b, com aii 6= 0, i = 1, . . . , n, o mtodo dado por
" i1
#
n
X
X
1
(k+1)
(k+1)
(k)
xi
=

aij xj

aij xj + bi ,
i = 1, . . . , n.
(5.4)
aii
j=1
j=i+1
Exerccio 5.12 Escreva um algoritmo para determinar a soluo aproximada de Ax = b pelo
mtodo de Jacobi.
A questo que se coloca a de saber em que circunstncias estes mtodos so convergentes.

106

Sistemas de equaes lineares

5.5

Convergncia dos mtodos iterativos

Vamos agora abordar a questo da convergncia do mtodo iterativo (5.2).


Definio 5.2 (Convergncia) Seja x a soluo (nica) de Ax = b e {x(k) } uma
sucesso de aproximaes obtida pelo mtodo (5.2). O mtodo diz-se convergente se

lim e(k) := lim x x(k) = 0.
k+

k+

Caso contrrio o mtodo diz-se divergente. A e(k) chama-se erro (absoluto) da iterao k.
Notemos o seguinte resultado cuja demonstrao muito simples.

Teorema 5.4 O mtodo iterativo (5.2) converge, qualquer que seja a aproximao inicial
x(0) , se e s se
lim B k = 0.
k+

Demonstrao: De facto
e(k) = x x(k) = Be(k1) ,

k = 1, 2, . . . .

Assim
e(k) = B k e(0) ,

k = 1, 2, . . . ,

(5.5)

e, como tal,
lim e(k) = 0 lim B k = 0,

k+

k+

o que prova o pretendido.


Outro aspecto importante a determinar quando se lida com mtodos iterativos tem a
ver com a determinao de majorantes para o erro cometido. O teorema seguinte , nesse
sentido, muito importante. Alm disso, estabelece uma condio suciente de convergncia
mais til que a referida no teorema anterior.
Teorema 5.5 Se kBk < 1 ento o mtodo iterativo (5.2) converge, qualquer que seja a
aproximao inicial escolhida, e tem-se que
ke(k) k 6 kBkk ke(0) k,

k = 1, 2, . . . .

(5.6)

107

Sistemas de equaes lineares

Demonstrao: Considerando normas em (5.5) obtemos (5.6). Tomando limites e atendendo a que kBk < 1 conclumos que o mtodo convergente.
Notemos que, se B SPD, a expresso (5.6) pode ser substituda por
ke(k) k 6 (B)k ke(0) k,

(5.7)

k = 1, 2, . . . .

Por outro lado, se for conhecido um valor aproximado de kBk (ou (B)), de (5.6) (ou
(5.7)) poder-se- deduzir o nmero mnimo de iteraes kmin necessrias para reduzir o
erro inicial ke(0) k de um factor . Com efeito, kmin ser o menor inteiro positivo para o
qual kBkkmin 6 (ou (B)kmin 6 ).
O resultado anterior d-nos apenas uma condio suciente de convergncia. Para
estabelecer uma condio necessria e suciente de convergncia temos que usar a noo
de raio espectral de uma matriz.
Pelo Exerccio 5.6 podemos concluir que (A) 6 kAk, o que permite estabelecer o
seguinte teorema.
Teorema 5.6 O mtodo iterativo (5.2) converge, qualquer que seja a aproximao inicial
x(0) escolhida, se e s se (B) < 1.
Demonstrao (no foi dada): Se (B) < 1 pode demonstrar-se que existe uma norma
matricial tal que kBk < 1. Logo, pelo teorema anterior, o mtodo converge.
Falta provar que se o mtodo convergir ento o raio espectral da matriz de iterao
menor que um. Vamos demonstrar este facto provando que se o raio espectral de B for
maior ou igual a um podemos denir um processo iterativo de forma (5.2) divergente. De
facto, se (B) > 1 existe um valor prprio de B tal que || > 1. Seja z o vector prprio
associado a esse valor prprio. Considerando, em (5.2), a aproximao inicial x(0) = z e
g = z temos
x(1) = Bz + z = z + z = (1 + )z.
Repetindo o processo temos, sucessivamente,
(2)

(1)

= Bx

+ z = (1 + + )z,

...,

(k)

(k1)

= Bx

+z =

k
X

j=0

z.

Como || > 1 conclumos que o mtodo iterativo assim denido divergente.


Vamos agora estudar a convergncia dos mtodos de Jacobi e Gauss-Seidel. Seja Ax = b,
com A Mn (R) uma matriz invertvel. Considerando
A = P (P A),

com P uma matriz invertvel,

(5.8)

108

Sistemas de equaes lineares


podemos denir (como vimos) o mtodo iterativo
x(0)
dado
(k+1)
x
= Bx(k) + g, k = 0, 1, . . . ,

(5.9)

com B = P 1 (P A) e g = P 1 b.
A escolha dos diferentes mtodos iterativos depende da forma como se dene a partio
(5.8), isto , como se dene o pr-condicionador P . Para denir os mtodos de Jacobi e
Gauss-Seidel, considera-se A = D L U, em que

aii

a22

D=
,
.
..

ann

L=

0
a21 0
..
..
..
.
.
.
an1 an,n1 0

0 a12 a1n

..
..
..

.
.
.
U =

0 an1,n
0

Mtodo de Jacobi Para denir o mtodo de Jacobi, temos sucessivamente


Ax = b (D L U)x = b Dx = (L + U)x + d.
Caso D seja invertvel, temos que
x = D 1 (L + U)x + D 1 b.
O mtodo de Jacobi assim dado por (5.9), com B = D 1 (L + U) e g = D 1 b, ou seja,
o mtodo iterativo que resulta da escolha de P = D como pr-condicionador.
Mtodo de Gauss-Seidel

Para denir o mtodo de Gauss-Seidel, consideramos

Ax = b (D L U)x = b (D L)x = Ux + d.
Caso D L seja invertvel ou, o que equivalente, caso D seja invertvel, temos que
x = (D L)1 Ux + (D L)1 b.
O mtodo de Gauss-Seidel assim dado por (5.9), com B = (D L)1 U e g = (D L)1 b,
ou seja, o mtodo iterativo que resulta da escolha de P = D L como pr-condicionador.

109

Sistemas de equaes lineares

O estudo da convergncia destes mtodos iterativos pode ser efectuado de acordo com os
resultados estabelecidos na seco anterior. Assim, se D for invertvel, temos que, qualquer
que seja a aproximao inicial escolhida:
Mtodo de Jacobi
1. (D 1 (L + U)) < 1 o mtodo converge;

2. kD 1 (L + U)k < 1 o mtodo converge;


Mtodo de Gauss-Seidel

1. ((D L)1 U) < 1 o mtodo converge;

2. k(D L)1 Uk < 1 o mtodo converge.

Para o caso particular dos mtodos de Jacobi e Gauss-Seidel existe um resultado de


convergncia especco que pode ser til na prtica. Esse resultado dado no prximo
teorema, cuja demonstrao ir ser feita apenas para o caso do mtodo de Jacobi.
Teorema 5.7 Se A uma matriz estritamente diagonal dominante por linhas, ento os
mtodos de Jacobi e Gauss-Seidel convergem para a nica soluo do sistema Ax = b,
qualquer que seja a aproximao inicial escolhida.
Demonstrao: Vamos efectuar a demonstrao apenas para o
cobi. A matriz B de iterao do mtodo dada por

0
aa12
aa1n
11
11
a21
0
aa2n
a22
22
1
B = D (L + U) = .
..
..
.
.
.
.
.
.
.
n1
n2
aann
aann

Como A estritamente diagonal dominante por linhas temos que


(
)
n
1 X
kBk = max
|aij | < 1.
i=1,...,n
|aii | j=1,j6=i

caso do mtodo de Ja

Assim, pelo Teorema 5.5, temos que o mtodo de Jacobi converge para a soluo de Ax = b,
qualquer que seja a aproximao inicial escolhida.
Note-se que o teorema anterior nos d apenas uma condio suciente de convergncia.
Assim, se a matriz do sistema a resolver for estritamente diagonal dominante por linhas
os mtodos de Jacobi e Gauss-Seidel iro gerar sucesses de aproximaes convergentes
para a sua soluo; caso contrrio, nada poderemos armar quanto convergncia dessas
sucesses.
Exerccio 5.13 Mostre que se A uma matriz estritamente diagonal dominante por colunas,
ento o mtodo de Jacobi converge para a nica soluo do sistema Ax = b, qualquer que seja
a aproximao inicial escolhida.

Sistemas de equaes lineares

5.6

110

Exerccios de aplicao engenharia

Exerccio 5.14 Considere um barra horizontal fixa numa extremidade e livre no restante do
seu comprimento. Um modelo discreto de foras na barra conduz ao sistema de equaes
lineares Ax = b, onde A a matriz quadrada de ordem n, com estrutura de banda, dada por

9 4
1
0
0

..
.
4
6 4
1 ..
.

..
..

.
6 4
1
.
1 4

.
0 ... ... ... ... ...
0

..
.
.
.
.
1 4
5 2
0
0
1 2
1
O vector b dado pela carga que imposta barra (incluindo o seu prprio peso), e o vector
x representa a deformao da barra que queremos determinar. Considermos a barra sujeita a
uma carga uniforme dada por bi = 1, para i = 1, . . . , n. Considerando n = 100, resolva o
sistema usando mtodos directos e mtodos iterativos, comparando a sua eficcia.

Captulo 6
Valores e vectores prrprios
Dada uma matriz A Mn (C), os valores pprios de A so os escalares para os quais
Ax = x,

x Cn ,

x 6= 0.

A x chama-se vector prprio associado valor prprio .


Note-se que o vector prprio associado a um determinado valor pprio no dado de
forma nica. Se x vector prprio de A, ento x tambm , com um escalar no nulo.
Conhecendo um vector prprio x de uma matriz A, o valor prprio associado dado
pelo quociente de Rayleigh,
xH Ax
,
=
kxk2

com xH = xT , isto o vector tranposto do seu conjugado. Note-se que, se x Rn , xH = xT .


Este quociente assim chamado como homenagem Lord Rayleigh (1842-1919).
A forma usada nas disciplinas de lgebra Linear para determinar os valores prprios
de uma matriz, a que recorre ao uso do polinmio caracterstico, obtido sucessivamente
por
Ax = x, (A I)x = 0 det(A I) = 0,
uma vez que x 6= 0.

6.1

Mtodo da potncia

Considere-se A Mn (C) uma matriz com valores prprios i , i = 1, ..., n, tais que
|1 | > |2 | > > |n |.
Seja xi o vector prprio associado a i , de mdulo 1, isto , tal que kxi k = 1. Se os vectores
prprios de A forem linearmente independentes, o algoritmo seguinte permite obter o vector
prprio x1 associado ao maior valor prprio (em mdulo) 1 da matriz A.

111

112

Valores e vectores prrprios

Algoritmo 6.1 Mtodo da potncia


Dados: x(0) ,
y (0) :=

x(0)
kx(0) k

(0) := y (0)
k := 0

H

Ay (0)

Repete
k := k + 1
x(k) := Ay (k1)
(k)
y (k) := kxx(k) k
H
(k) := y (k) Ay (k)

at que |(k) (k1) | < |(k) |

Resultado: 1 (k)

Exerccio 6.1 Mostre que, se um valor prprio de A,


1. com A uma matriz invertvel, ento 1 um valor prprio de A1 ;
2. + um valor prprio de A + I, com I a matriz identidade da mesma ordem da
matriz A.
Atendendo ao exerccio anterior podemos concluir que o mtodo da potncia permite
calcular o menor valor prprio (em mdulo) de uma matriz A, calculando o maior valor
prprio da sua inversa.
Suponhamos agora que pretendemos calcular o valor prprio de A que est mais
prximo de , com um nmero real ou complexo. Um forma de proceder a seguinte,
cuja justicao se encontra expressa no exerccio anterior: calcula-se min , o menor valor
prprio (em mdulo) de A, pelo mtodo da potncia; faz-se = min + .
Para ter uma ideia onde se situam os valores prprios de uma matriz A = [ai,j ]ni,j=1 ,
podem usar-se os crculos de Gershgorin
)
(
n
X
(l)
|aij | ,
, i = 1, ..., n,
Ci = z C : |z aii | 6
j=1,j6=i

ou

(c)
Cj

z C : |z ajj | 6

n
X

i=1,i6=j

|aij | ,

j = 1, ..., n,

113

Valores e vectores prrprios


(l)

(c)

denidos por Semyon Aranovich Gershgorin (1901-1933). A Ci e Cj


tivamente, o i-simo crculo por linhas e j-simo crculo por colunas.

chamam-se, respec-

Demonstra-se que todos os valores prprios de uma matriz A Mn (C) pertencem


regio do plano complexo denido pela interseco das duas regies constitudas, respectivamente, pela unio dos crculos de Gershgorin por linhas e pela unio dos crculos por
colunas. Alm disso, se os m crculos por linhas (ou por colunas), com 1 6 m 6 n, forem
disjuntos da unio dos restantes m n crculos, ento a sua unio contm exactamente m
valores prprios.

6.2

Clculo de todos os valores prprios

Definio 6.1 (Matrizes semelhantes) Duas matrizes A e B so semelhantes se existir


uma matriz invertvel P tal que P 1 AP = B.
Pode provar-se facilmente que duas matrizes semelhantes tm os mesmos valores prprios.
De facto, se valor prprio de A ento Ax = x, com x 6= 0. Multiplicando por P 1
esquerda ambos os membros desta iqualdade obtemos
BP 1 x = P 1 x By = y,
com y = P 1 x, ou seja, valor prprio de B.
O mtodo que iremos apresentar baseia-se na decomposio QR. Seja A Mn (R).
A ideia consiste em constuir uma sucesso de matrizes A(k) , todas semelhantes a A, que
tende para uma matriz cujos valores prprios so simples de calcular.
Considerem-se Q(0) e R(0) as matrizes obtidas pela decomposio QR da matriz A.
Dena-se A(1) = R(0) Q(0) e considerem-se as matrizes Q(1) e R(1) obtidas pela decomposio
QR da matriz A(2) . Podemos obter assim a matriz A(2) = R(1) Q(1) . possvel demonstrar
que, se os valores prprios de A forem tais que

com

|1 | > |2 | > > |n |,

1 t12 t1n

2 t2n

lim A(k) = T =
..
k+

.
n

A(k) = R(k1) Q(k1) ,


sendo Q(k1) e R(k1) as matrizes obtidas pela decomposio QR da matriz A(k1) .

114

Valores e vectores prrprios

6.3

Exerccios de aplicao engenharia

Exerccio 6.2 Os momentos de inrcia, para uma determinada placa, em relao a um sistema
coordenado x e y so
Ixx = 0,20 Kg m2 ,

Iyy = 0,12 Kg m2 ,

enquanto que os produtos de inrcia so


Ixy = Iyx = 0,14 Kg m2 .
O tensor de inrcia representado por
J=

Ixx Ixy
Iyx Iyy

Os momentos de inrcia principal correspondem aos valores prprios de J e os respectivos


vectores prprios correspondem aos eixos associados. Use o mtodo da potncia para calcular
os momentos de inrcia principal e a respectiva direco dos eixos associados.
Exerccio 6.3 Considere um corpo formado por trs massas:


1
1
m1 = 1 Kg em P1 = , 0, ;
2
2


1 1
1
m2 = 2 Kg em P2 =
, , 0,
;
2 2
2


1
1 1
m3 = 5 Kg em P3 =
, ,
.
2
2 2
1. Calcule o tensor de inrcia
P

P
P
2
2
m
P mi xi zi
Pi (yi + zi ) P m2i xi yi2
mP
mi yi zi .
J = Pmi yixi )
i (xi + zi ) P
mi zi xi
mi zi yi
mi (x2i + yi2)

2. Com base no exerccio anterior, determine o maior momento de inrcia principal e o seu
eixo associado, usando o mtodo da potncia com erro relativo inferior a 103 e partindo
de v = [2, 1,5, 0]T .

Captulo 7
Mtodos numricos para o problema de
Cauchy
As primeiras equaes diferenciais so to antigas quanto o clculo diferencial. Newton
considerou-as, em 1671, no seu tratado de clculo diferencial e discutiu a sua soluo por
integrao e por expanso em srie. Leibniz, o segundo inventor do clculo, chegou s
eques diferenciais por volta de 1676 considerando o problema geomtrico do inverso das
tangentes: para que curva y(x) a tangente em cada ponto P tem um comprimento
pconstante
(com o eixo dos xs), digamos a? Este problema conduziu equao y = y/ a2 y 2 .
Em 1696, Johann Bernoulli (1667-1748) convidou os mais ilustres matemticos do seu
tempo para resolver o problema da braquistcrona (curva de tempo mnimo), principalmente
para refutar a resposta, que esperava errada, do seu irmo Jacob Bernoulli (1657-1705). O
problema consistia em determinar a curva y(x) que une dois pontos P0 e P1 de tal modo
que um ponto, partindo de P0 e deslizando, nessa curva, sujeito apenas a foras gravticas,
atinja P1 no menor tempo possvel. A resposta a este problema foi dada dada por vrios
matemticos (inclusiv Jacob Bernoulli) e , como se sabe, a ciclide. Essa curva pode ser
determinada como sendo a soluo de uma equao diferencial ordinria.
Muitos problemas da engenharia e da cincia tm como modelo equaes diferenciais.
Neste curso iremos efectuar uma breve introduo ao estudo dos mtodos numricos para
a resoluo de problemas que envolvem equaes diferenciais. Os problemas que iremos
considerar sero de dois tipos: problemas com condio inicial (ou de Cauchy) e problemas
com condies de fronteira.

7.1

Existncia e unicidade de soluo

Consideremos uma equao diferencial ordinria de primeira ordem, isto , uma equao
da forma
y (t) = f (t, y(t)),
t [t0 , T ],
(7.1)
em que f : [t0 , T ] R R. O estudo que iremos efectuar para este tipo de equaes
pode ser facilmente generalizado a sistemas de equaes diferencias ordinrias de primeira
115

Mtodos numricos para o problema de Cauchy

116

ordem, isto , para o caso em que f : [t0 , T ]RN RN . Por uma questo de simplicao
de exposio optmos por apresentar o estudo para o caso escalar (N = 1).
Antes de se pensar em resolver uma determinada equao diferencial h que garantir
que essa equao tem soluo e que nica. Note-se que a soluo equao (7.1), se existir,
no nica pois, ao integrarmos, introduzimos sempre uma constante de integrao.
Uma das condies para obter a unicidade da soluo consiste em especicar y(t) num
ponto qualquer do intervalo [t0 , T ], usualmente o ponto inicial t0 . Ficamos assim com o
problema de condio inicial (PCI)

y (t) = f (t, y(t)),
t [t0 , T ],
(7.2)
y(t0 ) = y0 ,
tambm chamado problema de Cauchy, em homenagem a Augustin-Louis Cauchy (17891857).
Apesar de contornado este problema ainda no temos a garantia da existncia e unicidade da soluo do PCI (7.2). Antes de apresentarmos o teorema que estabelece as
condies sucientes para que o problema tenha soluo nica consideremos a denio
seguinte devida a Rudolf Otto Sigismund Lipschitz (1832-1903).
Definio 7.1 (Funo lipschitziana) Uma funo f (t, y) verifica a condio de Lipschitz (ou lipschitziana), na varivel y, num conjunto D R2 se existir uma constante
L > 0 tal que
|f (t, y1) f (t, y2)| 6 L|y1 y2 |,
sempre que (t, y1 ), (t, y2) D. A L chama-se constante de Lipschitz.

Exerccio 7.1 Prove que a funo f (t, y) = t|y| lipschitziana, na varivel y, no conjunto
D = {(t, y) R2 : 1 6 t 6 2; 3 6 y 6 4}.
Resoluo: Temos que
|f (t, y1) f (t, y2 )| = |t|y1 | t|y2 || 6 2||y1 | |y2 || 6 2|y1 y2 |.
Logo, a constante de Lipschitz L = 2.
O teorema seguinte, atribudo a Charles mile Picard (1856 -1941), estabelece condies
sucientes para que um problema com condio inicial tenha soluo nica.
Teorema 7.1 (Picard) Seja f (t, y) uma funo contnua (nas variveis t e y) e lipschitziana (na varivel y) em D = {(t, y) : t0 6 t 6 T, y R}. Ento o PCI (7.2) tem
soluo nica y(t) C 1 ([t0 , T ]).

117

Mtodos numricos para o problema de Cauchy

A demonstrao deste teorema estabelece um processo iterativo de aproximao da


soluo do PCI (7.2) conhecido por mtodo de Picard. Se f for contnua em relao a t, determinar a soluo do PCI (7.2) equivalente a determinar y, continuamente diferencivel,
que verica
Z
t

y(t) = y0 +

(7.3)

f (, y( ))d.

O que se prova na demonstrao do Teorema de Picard que a sucesso de funes {uj (t)},
denida recursivamente por
u0 (t)
= y0 ,
Rt
uj+1 (t) = y0 + a f (, uj ( ))d. j = 0, 1, . . . ,

converge para a nica soluo de (7.3).


Como corolrio do Teorema de Picard temos o seguinte resultado que apresentamos,
igualmente, sem demonstrao.
Corolrio 7.2 Suponhamos que f (t, y) est definida num conjunto convexo D R2 , isto
, num conjunto D R2 tal que, para qualquer (t1 , y1), (t2 , y2) D, se verifica
((1 )t1 + t2 , (1 )y1 + y2 ) D,
Se existir uma constante L > 0 tal que



f
(t, y) 6 L,
y

[0, 1].

(t, y) D,

ento f satisfaz a condio de Lipschitz, na varivel y, com L a respectiva constante e,


como tal, o PCI (7.2) tem soluo nica y(t) C 1 ([t0 , T ]).
Note-se que o conjunto D = {(t, y) : t0 6 t 6 T, y R} , obviamente, convexo.
Exerccio 7.2 Mostre que o problema de condio inicial

1

y (t) =
,
t [a, b],
1 + y2
y(a) = ,

tem soluo nica.

Resoluo: Seja D = {(t, y) : a 6 t 6 b, y R} e


f (y) =

1
.
1 + y2

Vamos provar que a funo





f


(t, y) = 2y
y
(1 + y 2 )2

118

Mtodos numricos para o problema de Cauchy


limitada em D. Para isso h que determinar



2y
.
L = max
yR (1 + y 2 )2

Como a funo que queremos provar limitada par temos que


L = max+
yR0

Consideremos
g(y) =

2y
.
(1 + y 2 )2

2y
.
(1 + y 2)2

Como
g (y) = 0 y =

3
3

temos que
(

L = max g(0), g

)
!
3
, lim g(y) = max{0, 0,6594, 0} = 0,6594.
y+
3

Est assim provado o pretendido.

7.2

Mtodos numricos

Consideremos, de novo, o PCI (7.2) vericando as condies do Teorema de Picard. Os


mtodos numricos que iremos considerar para resolver este problema so mtodos dicretos,
isto , so mtodos que determinam aproximaes u0 , u1, . . . , un para a soluo exacta
y0 = y(t0 ), y1 = y(t1 ), . . . , yn = y(tn ) nos pontos distintos da malha
t0 < t1 < < tn1 < tn = T.
s distncias hi = ti ti1 , i = 1, . . . , n, d-se o nome de passos de discretizao (ou medidas
do passo) da malha. Se os passos forem todos iguais a malha diz-se uniforme ou de passo
constante. Caso contrrio diz-se de passo varivel. Neste curso vamos apenas considerar
0
.
malhas uniformes, isto , tais que ti = t0 + ih, i = 0, . . . , n, onde h = T t
n
Os mtodos numricos permitem determinar valores ui yi = y(ti) por meio de relaes
de recorrncia deduzidas do PCI (7.2) de modo a que o valor de ui+1 venha expresso em
funo de ui, ui1 , . . . , u0, sendo u0 = y0 . A {u0 = y0 , u1, u2 , . . . , un1, un } chama-se soluo
numrica. usual agrupar os mtodos numricos para a resoluo de problemas de condio
inicial em duas grandes classes.
Mtodos de passo nico: So mtodos que determinam o valor de ui+1 apenas custa
de ui .

119

Mtodos numricos para o problema de Cauchy

Mtodos de passo mltiplo: So mtodos que determinam o valor de ui+1 custa de


ui , ui1, . . . , uir+1. Neste caso diz-se que o mtodo de r passos.
Neste curso iremos apenas abordar os mtodos de passo nico. Estes mtodos, por sua
vez, podem ainda ser de dois tipos.
Mtodos explcitos: So mtodos em que o valor de ui+1 determinado directamente
a partir de ui. Estes mtodos podem ser escritos na forma
(7.4)

ui+1 = ui + h(ti , ui ; h).

Mtodos implcitos: So mtodos em que o valor de ui+1 depende implicitamente de


si mesmo atravs de f . Estes mtodos podem ser escritos na forma
(7.5)

ui+1 = ui + h(ti , ti+1 , ui , ui+1; h).

A funo que dene os mtodos (7.4) e (7.5) chamada funo de iterao ou funo
incremento do mtodo numrico.

7.2.1

Mtodos baseados na srie de Taylor

Consideremos o PCI (7.2) com f uma funo sucientemente diferencivel nas variveis t
e y. Ento, fazendo o desenvolvimento em srie de Taylor temos
y(t) = y(t0 ) + (t t0 )y (t0 ) +

(t t0 )2
y (t0 ) + .
2!

As derivadas que aparecem nesta expresso no so conhecidas explicitamente visto que a


soluo tambm no conhecida. No entanto, podemos escrever
y (t) = f (t, y),
y (t) =

df
(t, y) = (ft + fy y )(t, y) = (ft + fy f )(t, y),
dt

y (t) =

d2 f
(t, y) = (ftt + 2fty f + fyy f 2 + ft fy + fy2 f )(t, y),
dt2

..
.
onde
ft (t, y) =

f
(t, y),
t

fy (t, y) =

f
(t, y),
y

....

Por razes prticas temos que limitar o nmero de termos na expanso em srie de y(t)
a um nmero razovel, o que nos conduz a restries nos valores de t para os quais a
expanso nos d uma boa aproximao.

120

Mtodos numricos para o problema de Cauchy


Se tomarmos a srie de Taylor truncada temos, para t = t1 ,
y(t1 ) u1 = u0 + hf (t0 , u0 ) +

hk
h2
f (t0 , u0 ) + + f (k1) (t0 , u0 ),
2
k!

onde

dj f
(t0 , u0 ).
dtj
Podemos denir assim, para cada k = 1, 2 . . ., um mtodo de passo nico explcito que
permite obter solues aproximadas ui y(ti) da forma (7.4) em que
f (j) (t0 , u0 ) =

h
hk
(t, u; h) = f (t, u) + f (t, u) + + f (k1) (t, u).
2
k!

(7.6)

Os mtodos assim denidos so conhecidos por mtodos de Taylor. O mtodo desta


classe mais simples quando k = 1, isto , o mtodo
ui+1 = ui + hf (ti , ui ),

i = 0, . . . , n,

u0 = y0 ,

(7.7)

designado por mtodo de Euler progressivo (ou explcito).


O seguinte algoritmo permite determinar a soluo do PCI (7.2) em t = T , usando o
mtodo com funo incremento (7.6).
Algoritmo 7.1 Mtodo de Taylor
Dados: n, k, t0 , T e y0
h :=

T t0
n

t := t0
u := y0
Para i de 1 at n fazer
:= 0
Para j de 1 at k fazer
:= + f (j) (t, u)hj /j!
u := u + h
t := t + h
Resultado: u
Exerccio 7.3 Considere o problema de condio inicial

y (t) = 2y,
y(0) = 1.
Determine, usando o mtodo de Euler progressivo, o valor aproximado de y(1), fazendo h = 1,
h = 0.5 e h = 0.25. Compare os resultados obtidos sabendo que y(t) = e2t .

Mtodos numricos para o problema de Cauchy

121

Resoluo: A soluo exacta deste problema y(1) = 0,135335283. Consideremos agora as


solues numricas para os trs casos propostos. Seja f (y) = 2y.
h=1

y(0) = u0 = y0 = 1
y(1) u1 = u0 + hf (u0 ) = 1 + 1 (2) = 1.

Logo |y(1) u1 | = 1,135335283.

h = 0.5

y(0) = u0 = y0 = 1
y(0,5) u1 = u0 + hf (u0 ) = 1 + 0,5 (2) = 0
y(1) u2 = u1 + hf (u1 ) = 0 + 0,5 0 = 0.

Logo |y(1) u2 | = 0,135335283.

h = 0,25

y(0) = u0
y(0,25) u1
y(0,5) u2
y(0,75) u3
y(1) u4

=
=
=
=
=

y0 = 1
u0 + hf (u0 ) = 1 + 0,25 (2) = 0,5
u1 + hf (u1 ) = 0,5 + 0,25 (1) = 0,25
u2 + hf (u2 ) = 0,25 + 0,25 (0,5) = 0,125
u3 + hf (u3 ) = 0,125 + 0,25 (0,25) = 0,0625.

Logo |y(1) u4 | = 0,072835283.


Nota-se que, quanto menor for a medida do passo mais pequeno o erro cometido.
Exerccio 7.4 Seja dado o problema de condio inicial

1

y (t) =
,
1 + y2
y(0) =
1.

Use o mtodo de Taylor, com k = 2, para determinar o valor aproximado de y(1), fazendo
h = 0,5.
Resoluo: Seja f (y) = (1 + y 2)1 . Temos que o mtodo de Taylor com k = 2 dado por
ui+1

h2 df
1
ui
= ui + hf (ui ) +
(ui ) = ui + h
h2
.
2
2 dt
1 + ui
(1 + u2i )3

Assim, fazendo h = 0,5 temos


y(0) = u0 = y0 = 1
y(0,5) u1 = 1 + 0,5

1
1
0,25 = 1,21875
2
8

y(1) u2 = 1,21875 + 0,5

1
1,21875
0,25
= 1,4.
2,485351563
15,35194798

122

Mtodos numricos para o problema de Cauchy

7.2.2

Mtodos de passo nico implcitos

Os mtodos de passo nico implcitos da forma (7.5) tambm tm muita relevncia prtica.
No havendo possibilidade de explicitar o valor de ui+1 temos necessidade de o calcular
resolvendo a equao (geralmente no linear)
ui+1 ui h(ti , ti+1 , ui , ui+1; h) = 0.
Usualmente considera-se um mtodo numrico na resoluo desta equao.
Se considerarmos o mtodo de Newton, a primeira questo a resolver a da determi(0)
nao de uma aproximao inicial ui+1 . Normalmente toma-se para aproximao inicial o
valor de ui; outra hiptese ser a de considerar a aproximao inicial obtida pela aplicao
(0)
de um mtodo explcito. Deteminado o valor de ui+1 temos que
(k)

(k+1)
ui+1

(k)
ui+1

g(ui+1)
(k)

g (ui+1 )

k = 0, 1, . . . ,

sendo
g(u) = u ui h(ti , ti+1 , ui, u; h).

Os mtodos implcitos so usados visto que, em geral, so mais precisos e menos sensveis
a erros que os mtodos explcitos. Por outro lado, o esforo computacional exigido no
clculo de ui+1 , para os mtodos implcitos, muito maior. Assim, estes mtodos s devem
ser usados quando h necessidade de uma preciso muito elevada em problemas sensveis
a erros.
Exemplos comuns de mtodos implcitos so o chamado mtodo de Euler regressivo (ou
implcito), dado pela expresso
ui+1 = ui + hf (ti+1 , ui+1 ),

i = 0, . . . , n 1,

u0 = y0 ,

e o mtodo dos trapzios ou mtodo de Crank-Nicolson, dado por


h
ui+1 = ui + (f (ti , ui) + f (ti+1 , ui+1)),
2

i = 0, . . . , n 1,

u0 = y0 .

Exerccio 7.5 Considere o problema de condio inicial



y
= 30y,
y(0) =
1,
e os mtodo de Euler progressivo e regressivo. Usando cada um dos mtodos determine a
soluo do problema em t = 1 com h < 1, comparando os resultados obtidos.
Resoluo: Seja f (y) = 30y e consideremos h = 0,5. Vamos aplicar os dois mtodos
separadamente.

123

Mtodos numricos para o problema de Cauchy


1. Mtodo de Euler progressivo
y(0) = u0 = y0 = 1
y(0,5) u1 = 1 + 0.5 (30) = 14
y(1) u2 = 14 + 0,5 (30 (14)) = 196.
2. Mtodo de Euler regressivo
y(0) = u0 = y0 = 1
y(0,5) u1 = 1 + 0,5 (30u1 ) = 1 15u1 .
Resolvendo a equao temos que y(0,5) u1 = 0,0625. Continuando temos
y(1) u2 = 0,0625 + 0.5 (30u2 ) = 0,0625 15u2 ,
e assim, y(1) u2 = 3,9 103 .

Atendendo a que a soluo exacta dada por y(t) = e30t temos que y(1) = 9,361014 .
Note-se que, enquanto o mtodo implcito se aproxima da soluo o mtodo explcito d
um resultado completamente disparatado. Os problemas que no podem ser resolvidos
por mtodos explcitos so chamados stiff e ocorrem com muita frequncia em problemas
de Engenharia Qumica.

7.3

Estudo do erro

Quando se determinam valores numricos para aproximar quantidades desconhecidas, temos


necessidade de conhecer estimativas para o erro que se comete nessas aproximaes. No
caso dos mtodos numricos para a resoluo de equaes diferenciais vamos considerar
dois tipos de erros: o erro de truncatura local e o erro global (ou da aproximao).
Comecemos por considerar mtodos numricos de passo nico explcitos da forma
ui+1 = ui + h(ti , ui; h),

i = 0, . . . , n 1,

u0 = y0 .

(7.8)

Pretendemos estudar o comportamento do seu erro global.


Definio 7.2 (Erro global e convergncia) Considere-se o PCI (7.2) e um mtodo
numrico de passo nico explcito (7.8) que determine aproximaes ui para a soluo
exacta y(ti ), i = 0, 1, . . . , n. A e(ti ) = y(ti ) ui chama-se erro global do mtodo no ponto
ti . Se
lim max |e(ti )| = 0,
h0 16i6n

o mtodo diz-se convergente. O mtodo diz-se de ordem (de convergncia) p > 0 se existir
um C > 0 tal que
|e(ti )| 6 Chp ,
i = 1, . . . , n
ou, noutra notao, se |e(ti )| = O(hp ), i = 1, . . . , n.

124

Mtodos numricos para o problema de Cauchy


O estudo do erro global pode ser difcil. Para isso, considere-se,
e(ti ) = y(ti) ui = (y(ti) ui ) + (ui ui ),
com
ui = y(ti1 ) + h(ti1 , y(ti1 ); h),

i = 1, . . . , n,

u0 = y0 ,

(7.9)

isto , a soluo numrica calculada no nvel temporal ti , supondo uj = y(tj ), j = 0, ..., i1.
Definio 7.3 (Erro de truncatura consistncia) Consider-se o PCI (7.2), verificando
as condies do Teorema de Picard, e um mtodo numrico de passo nico (7.8) que determine aproximaes ui para a soluo exacta y(ti), i = 0, 1, . . . , n. O erro de truncatura
local do mtodo no ponto ti definido por
Ti (h) =

y(ti) ui
.
h

Se
lim max |Ti (h)| = 0,

h0 16i6n

o mtodo diz-se consistente com o PCI (7.2). O mtodo diz-se de ordem (de consistncia)
p > 0 se existir um C > 0 tal que
|Ti (h)| 6 Chp ,

i = 1, . . . , n

ou, noutra notao, se |Ti (h)| = O(hp ), i = 1, . . . , n.


Da denio anterior conclui-se que o erro de truncatura local denido com sendo
hTi (h) = y(ti) ui = y(ti ) y(ti1 ) h(ti1 , y(ti1); h),

i = 1, . . . , n.

Assim, o erro local pode ser determinado atravs dos seguintes passos: (i) substituir na
expresso que dene o mtodo numrico a soluo aproximada no ponto ti , ui , pela soluo
exacta y(ti ); (ii) considerar a hiptese ui1 = y(ti1 ); (iii) efectuar o desenvolvimento em
srie de Taylor de y(ti) em torno de ti1 .
Exerccio 7.6 Mostre que:
1. um mtodo consistente se tiver, pelo menos, ordem um ou, o que equivalente, se
(t, y; 0) = f (t, y);
2. o erro local para o mtodo de Taylor de funo incremento (7.6) dado por
Ti (h) =

hk
y (k+1) (),
(k + 1)!

]ti1 , ti [,

ou seja, Ti (h) = O(hk ) e, como tal, o mtodo tem ordem k;

125

Mtodos numricos para o problema de Cauchy

3. para o mtodo de Euler progressivo se tem Ti (h) = O(h), ou seja, o mtodo tem ordem
um.
O prximo teorema estabelece as condies para as quais se pode concluir que o erro
global tem a mesma ordem que o erro local.
Teorema 7.3 Seja y(t) a nica soluo do PCI (7.2), verificando as condies do Teorema
de Picard, e (7.8) um mtodo numrico que supomos ser consistente com o problema e ter
ordem p, isto , |Ti (h)| 6 Chp , i = 1, . . . , n, p > 1. Se existir h0 > 0 tal que (t, y; h)
contnua, nas variveis t e y, e lipschitziana, na varivel y, no conjunto
D = {(t, y; h) : t0 6 t 6 T, y R, 0 6 h 6 h0 },
ento


C p  L(ti t0 )
h e
1 ,
L
sendo L a constante de Lipschitz de .
|e(ti )| 6

i = 1, . . . , n.

Demonstrao: Considerando a denio de erro global temos que


e(ti ) = e(ti1 ) + h [(ti1 , y(ti1); h) (ti1 , ui1; h)] + hTi (h),

i = 1, . . . , n.

Uma vez que a funo lipschitziana, na varivel y, e o mtodo tem ordem p > 1
possvel concluir que
|e(ti )| 6 (1 + hL)|e(ti1 )| + Chp+1 .

Como e(t0 ) = 0 obtm-se


p+1

|e(ti )| 6 Ch

i1
X
j=0


C 
(1 + hL)i
6 hp eihL 1 .
1 (1 + hL)
L

p+1 1

(1 + hL) = Ch

O teorema ca assim demonstrado uma vez que ti = t0 + ih.

Note-se que a consistncia, por si s, no implica convergncia uma vez que existem
mais tipos de erros que podem ocorrer para alm do erro de truncatura local. De facto,
nem as condies iniciais nem a aritmtica usada esto isentas de erros. Temos portanto
necessidade de garantir que os mtodos usados sejam estveis no sentido de que pequenas
alteraes nas condies iniciais no produzam, por aplicao do mtodo, grandes alteraes nos resultados. No caso dos mtodos de passo nico, o teorema anterior permite-nos
estabelecer o seguinte resultado.
Corolrio 7.4 Suponhamos que o PCI (7.2) aproximado pelo mtodo (7.8). Se existir
h0 > 0 tal que (t, y; h) contnua, nas variveis t e y, e lipschitziana, na varivel y, no
conjunto
D = {(t, y; h) : t0 6 t 6 T, y R, 0 6 h 6 h0 },
ento o mtodo (7.8): (i) estvel; (ii) convergente se e s se consistente.

126

Mtodos numricos para o problema de Cauchy

Apesar do estudo da consistncia e convergncia de um mtodo iterativo ter sido efectuado apenas para mtodos explcitos, estes conceitos ainda so vlidos para mtodos
implcitos. Para o mtodo implcito (7.5) o erro de truncatura local denido por
hTi (h) = y(ti ) ui = y(ti) y(ti1) h(ti1 , ti , y(ti1), y(ti); h),

i = 1, . . . , n.

Exerccio 7.7 Considere o mtodo dos trapzios na resoluo de um problema de condio


inicial.
1. Determine a ordem e o erro de truncatura local do mtodo.
2. Aplique o mtodo ao problema de condio inicial

y (t) = ty 2 , t [0, 1],
y(0) =
2,
e obtenha uma aproximao em t = 1 usando h < 1. (Considere a soluo exacta positiva
em [0, 1].)
Resoluo: 1. Atendendo definio de erro local temos que hTi (h) = y(ti ) ui . Desenvolvendo y(ti ) e ui em srie de Taylor em torno do ponto ti1 , temos que
y(ti ) = yi1 + hy (ti1 ) +
e
ui

h
= yi1 +
2

h2
h3
y (ti1 ) + y (ti1 ) +
2
6


h2
y (ti1 ) + y (ti1 ) + hy (ti1 ) + y (ti1 ) + .
2

Subtraindo membro a membro vem

hTi (h) =

h3
y (ti1 ) + .
12

Assim sai que

h2
y (),
]ti1 , ti [.
12
Como Ti (h) = O(h2 ) temos que o mtodo dos trapzios tem ordem 2.
Ti (h) =

2. Seja f (t, y) = ty 2 e h = 0.5. Assim,

y(0) = u0 = y0 = 2
y(0,5) u1 = u0 + h2 (f (t0 , u0) + f (t1 , u1)) = 2 0,125u21.
Vamos agora resolver a equao 0,125u21 + u1 2 = 0. Esta equao resolve-se sem
dificuldade pois
0,125u21 + u1 2 = 0 u1 = 9,6598 ou u1 = 1,6568.

127

Mtodos numricos para o problema de Cauchy


Como a soluo positiva temos que u1 = 1,6568. Continuando,
h
y(1) u2 = u1 + (f (t1 , u1 ) + f (t2 , u2 )) = 1,3137 0,25u22.
2
Resolvendo a equao 0,25u22 + u2 1,3137 = 0, temos
0,25u22 + u2 1,3137 = 0 u2 = 5,0422 ou u2 = 1,0422.
Como a soluo positiva temos que y(1) u2 = 1,0422.

7.4

Estabilidade absoluta

A convergncia dos mtodos numricos vericada quando h puder ser escolhido arbitrariamente pequeno. No entanto, quando consideramos a aplicao de um mtodo numrico
consideramo-la com um h xo. Este facto pode levar a que, especialmente se os intervalos de integrao forem muito grandes, o mtodo numrico d uma soluo que em nada
corresponda soluo exacta do problema.
Por exemplo, em fenmenos dissipativos, isto , onde as solues do problema tendam
para zero quando a variavel independente tende para innito, muito frequente vericar
que certos mtodos numricos produzem solues oscilatrias, oscilaes essas que no
esto presentes na soluo exacta.
Considere-se, por exemplo, a aplicao do mtodo de Euler progressivo ao problema
teste

y
= y, t [0, +[,
(7.10)
y(0) = 1,

com um nmero real negativo. A soluo exacta deste problema y(t) = et . Como
< 0, tem-se que y(t) tende para zero quando t tende para innito.
Consideremos agora a soluo numrica dada pelo mtodo de Euler explcito. Temos,
sucessivamente, u0 = 1,
ui+1 = ui + hui = (1 + h)ui = (1 + h)i+1 u0 = (1 + h)i+1 .
Assim sendo, a soluo numrica tende para zero com o nmero de iteraes, isto ,

(7.11)

lim ui = 0,

i+

se e s se
|R(h)| < 1,

com R(h) = 1 + h. Temos ento que


2
|R(h)| < 1 1 < 1 + h < 1 h 0,
.
||

Mtodos numricos para o problema de Cauchy

128

Um mtodo numrico diz-se absolutamente estvel se, quando aplicado ao problema


teste (7.10), a sua soluo numrica verica (7.11). Podemos ento dizer que o mtodo de
Euler explcito
h hcondicionalmente absolutamente estvel pois absolutamente estvel se
2
e s se h 0, ||
.

Exerccio 7.8 Mostre que o mtodo de Euler implcito incondicionalmente absolutamente


estvel.
Num problema geral (diferente do problema teste) a propriedade da estabilidade absoluta corresponde garantia do controlo das oscilaes quando t cresce.
Vamos agora considerar as importantes noes de intervalo e regio de estabilidade
absoluta. Consideremos um mtodo numrico, explcito ou implcito, aplicado ao problema
teste (7.10). possvel mostrar que esse mtodo se pode escrever na forma
ui+1 = R(z)ui ,

com z = h.

O intervalo de estabilidade absoluta denido por


IEA = {z R : |R(z)| < 1}.
Exerccio 7.9 Determine os intervalos de estabilidade absoluta para os mtodos de Euler
(explcito e implcito) e para o mtodo dos trapzios.
Note-se que um mtodo numrico incondicionalmente absolutamente estvel se e s
se o intervalo ] , 0[ estiver contido no seu intervalo de estabilidade absoluta. coincidir
No caso de se considerar, no problema teste, C, com Re() < 0, podemos denir a
regio de estabilidade absoluta de um mtodo numrico como sendo
REA = {z C : |R(z)| < 1}.
Exerccio 7.10 Determine as regies de estabilidade absoluta para os mtodos de Euler (explcito e implcito) e para o mtodo dos trapzios.
Os mtodos numricos que possuem regies de estabilidade absoluta que incluam o
plano C dizem-se A-estveis. Para esses mtodos no necessrio impor qualquer restrio
na medida do passo por forma a os tornar absolutamente estveis. possvel demonstrar
que no existem mtodos de passo nico explcitos A-estveis.

129

Mtodos numricos para o problema de Cauchy

7.5

Sistemas de equaes diferenciais

A teoria apresentada nas seces precedentes pode ser facilmente generalizadas para sistemas de equaes diferenciais ordinrias de primeira ordem. Todos os mtodos numricos
apresentados podem ser adaptados ao clculo da soluo aproximada do PCI

Y (t) = F (t, Y ),
t ]t0 , T ],
(7.12)
(0)
Y (t0 ) = Y .
onde

Y (t) =

Y1 (t)
Y2 (t)
..
.
YN (t)

F (x) =

F1 (t, Y )
F2 (t, Y )
..
.
FN (t, Y )

Os mtodos numricos iro, neste caso, determinar aproximaes U (i) para Y (ti ). O
mtodo de Euler progressivo, por exemplo, dado por
U (i+1) = U (i) + hF (ti , U (i) ),
com h =

T t0
n

i = 0, . . . , n,

U (0) = Y (0) ,

a medida do passo.

Equaes diferenciais de ordem superior a um. Uma situao importante onde


surgem sistemas de equaes diferenciais quando pretendemos resolver uma equao
diferencial de ordem superior a um. Note-se que qualquer equao diferencial de ordem N
pode ser escrita como um sistema de N equaes diferenciais de primeira ordem. A forma
como essa passagem se processa bastante simples e pode ser facilmente compreendida
com a ajuda de um exemplo.
Exemplo 7.1 Consideremos o problema de condio inicial
y 3y + 2y = 0,

y(0) = y (0) = 1.

Efectuando a mudana de varivel z = y obtemos o problema de condio inicial de primeira


ordem
 



y
z

y (t) = z
(t) =
,

3z 2y
z

z (t) = 3z 2y

 
 
y(0) = 1

y
1

z(0) = 1

(0) =
.
z
1

Exerccio 7.11 Converta num sistema de equaes diferenciais de primeira ordem o problema
y 0.1(1 y 2 )y + y = 0,

y(0) = 1, y (0) = y (0) = 0.

130

Mtodos numricos para o problema de Cauchy

Resoluo: Efectuando a mudana de varivel z = y e w = y obtemos o problema de


condio inicial de primeira ordem

y (t) = z

z (t) = w


w (t) = 0,1(1 y 2 )z y
.
y(0) = 1

z(0) = 0

w(0) = 0

Exerccio 7.12 Considere a equao diferencial y + 4ty + 2y 2 = 0 com condies iniciais


y(0) = 1 e y (0) = 0. Com h = 0,1, utilize o mtodo de Euler progressivo para obter
aproximaes para y(0,2) e y (0,2).
Resoluo: Seja z = y . Assim o nosso problema equivalente a
 



z
y

y (t) = z
(t) =
,

4tz 2y 2

z
2
z (t) = 4tz 2y

 
 
y(0) = 1

y
1

z(0) = 0

(0) =
.
z
0
Seja

F (t, Y ) =
e

z
4tz 2y 2

(0)

y
z

com Y =

1
0

+ hF t0 , U

(0)

+ hF t1 , U

(1)

(0) =

y
z
y
z

(0,1) U

(1)

(0,2) U

(2)

= U

(0)

= U

(1)

y
z

Considerando o mtodo de Euler progressivo temos


 
 
y
1
(0) = U (0) = Y (0) =
z
0


1
0,2

0,98
0,392

.


Temos assim que y(0,2) 0,98 e y (0,2) 0,392.


Exerccio 7.13 Adapte o Algoritmo 19.1 a sistemas de equaes diferenciais.

Mtodos numricos para o problema de Cauchy

7.6

131

Mtodos de Runge-Kutta

O mtodo mais simples para aproximar a soluo do PCI (7.2) o mtodo (7.7), descrito
por Euler, em 1768, na sua obra Institutiones Calculi Integralis. um mtodo muito
simples de entender e de programar mas, como se ir ver na prxima seco, pouco preciso.
Por exemplo, se pretendermos uma preciso de, digamos, 6 casas decimais, o mtodo de
Euler necessita de aproximadamente um milho de passos.
Se usarmos outros mtodos de Taylor, a preciso pode ser aumentada. A grande desvantagem destes mtodos reside no facto de termos necessidade de calcular muitas derivadas
da funo f para obter mtodos precisos. Esse clculo, alm de muito fastidioso, torna
impraticvel a aplicao de tais mtodos na resoluo de (7.2) quando a funo f tem uma
expresso analtica complicada.
Uma alternativa a esses mtodos foi dada por Carl David Tolm Runge (1856-1927), em
1875, e que consistia em, partindo do conhecimento de y(t0 ), considerar



h
h
;
y(t0 + h) y0 + hf t0 + , y t0 +
2
2

mas, que valor atribuir a y t0 + h2 ? A sugesto de Runge foi a de considerar o mtodo
de Euler com passo h2 . A aplicao sucessiva deste processo permitiu a Runge denir o
seguinte mtodo iterativo:
k1 = f (ti , ui),

k2 = f ti + h2 , ui + h2 k1 ,
ui+1 = ui + hk2 ,

(7.13)

com ui y(ti ). Como veremos este mtodo, apesar de recorrer ao mtodo de Euler,
vai ser mais preciso e no necessita de calcular derivadas de f . A generalizao desta
ideia deu origem seguinte denio, cuja autoria partilhada com Martin Wilhelm Kutta
(1867-1944).
Definio 7.4 (Mtodos de Runge-Kutta) Seja s um nmero inteiro e a21 , a31 , a32 , . . .,
as1 , . . . , as,s1, c2 , c3 , . . . , cs , b1 , b2 , . . . , bs , coeficientes reais. O mtodo
k1 = f (ti , ui),
k2 = f (ti + c2 h, ui + a21 hk1 ),
k3 = f (ti + c3 h, ui + a31 hk1 + a32 hk2 ),
..
.
ks = f (ti + cs h, ui + as1 hk1 + as2 hk2 + + as,s1hks1 ),
ui+1 = ui + h(b1 k1 + b2 k2 + + bs ks ),
chamado mtodo de Runge-Kutta explcito de s etapas para o PCI (7.2).

132

Mtodos numricos para o problema de Cauchy


Usualmente considera-se
ci =

i1
X

aij ,

(7.14)

i = 2, 3, . . . , s.

j=1

Uma notao muito usada na prtica para os mtodos de Runge-Kutta foi apresentada
por John Charles Butcher (1933-), em 1964, e dada pelo seguinte quadro, designado por
quadro de Butcher:
0
c2
c3
..
.
cs

a21
a31
..
.

a32
..
.

as1
b1

as2
b2

..

.
as,s1
bs1

bs

Antes de continuarmos, notemos que os mtodos de Runge-Kutta constituem uma excelente ideia. A nica soluo do PCI bem posto (7.2) uma curva integral em R2 . No
entanto, devido aos erros cometidos, a soluo numrica vai ser afectada pelo comportamento das curvas integrais vizinhas. assim importante conhecer o comportamento de
toda a famlia de curvas integrais e no apenas o de uma nica curva.
Os mtodo de Runge-Kutta usam, deliberadamente, informao de vrias curvas integrais em simultneo. A ttulo de exemplo considere-se o mtodo de trs etapas
k1 = f (ti , ui ),
k2 = f (ti + c2 h, ui + c2 hk1 ),
k3 = f (ti + c3 h, ui + (c3 a32 )hk1 + a32 hk2 ),
ui+1 = ui + h(b1 k1 + b2 k2 + +b3 k3 ).
Para determinar a soluo numrica do PCI (7.2) por este mtodo, comea-se pelo ponto
(ti , ui ) e aplica-se um passo do mtodo de Euler com passo c2 h. Seguidamente, calcula-se o
valor de k2 como sendo o vector derivada no ponto obtido. Temos assim dois valores para
a derivada: k1 e k2 ; iremos usar uma mdia pesada entre estes dois valores
(c3 a3,2 )hk1 + a3,2 hk2
numa nova aplicao do mtodo de Euler, a partir do ponto (ti , ui), com passo c3 h. Calculando a derivada novamente obtm-se o valor de k3 . O ltimo passo do algoritmo mais
uma aplicao do mtodo de Euler, a partir do ponto (ti , ui), com passo h.

Mtodos numricos para o problema de Cauchy

133

Exerccio 7.14 Considere o problema de condio inicial



y (t) = ty 2 ,
y(1) = 2.
Determine um valor aproximado para y(1,1), usando o mtodo de Heun, devido a Karl Heun
(1859-1929), dado por
k1 = f (ti , ui ),
k2 = f (ti + h, ui + hk1 ) ,
(7.15)
h
ui+1 = ui + 2 (k1 + k2 ),
com h = 0,05.
Resoluo: Seja f (t, y) = ty 2 . Temos que
y(1) = u0 = y0 = 2
y(1,05) u1 = u0 + h2 (k1 + k2 ) = 2 + 0,025(k1 + k2 ).
Por outro lado
k1 = f (t0 , u0 ) = f (1, 2) = 4
k2 = f (t0 + h, u0 + hk1 ) = f (1,05, 2,2) = 5,082.
Assim, y(1,05) y1 = 2,22705. Continuando a aplicao do mtodo
h
y(1,1) u2 = u1 + (k1 + k2 ) = 2,22705 + 0,025(k1 + k2 ).
2
Para este segundo passo temos que voltar a calcular k1 e k2 . Assim,
k1 = f (t1 , u1) = f (1,05, 2,22705) = 5,207739
k2 = f (t1 + h, u1 + hk1 ) = f (1,1, 2,487437) = 6,806077.
Logo, y(1,1) u2 = 2,5273954.
Um mtodo de Runge-Kutta muito famoso dado pela expresso
h
h
h
h
k1 = f (ti , ui ), k2 = f (ti + , ui + k1 ), k3 = f (ti + , ui + k2 ), k4 = f (ti + h, ui + hk3 ),
2
2
2
2
h
ui+1 = ui + (k1 + 2k2 + 2k3 + k4 ).
6
O seguinte algoritmo permite determinar a soluo do PCI (7.2) em t = b, usando este
mtodo de Runge-Kutta.

134

Mtodos numricos para o problema de Cauchy

Algoritmo 7.2 Mtodo de Runge-Kutta


Dados: n, t0 , T e y0
h :=

T t0
n

t := t0
u := y0
Para i de 1 at n fazer
k1 := f (t, u)
k2 := f (t + 0,5h, u + 0,5hk1 )
k3 := f (t + 0,5h, u + 0,5hk2 )
k4 := f (t + h, u + hk3 )
u := u + h(k1 + 2k2 + 2k3 + k4 )/6
t := t + h
Resultado: u
Exerccio 7.15 Construa um algoritmo que permita determinar a soluo do PCI (7.2) em
t = T , usando um mtodo de Runge-Kutta explcito de s etapas qualquer.
O mtodo de Heun dado por (7.15). Vamos determinar qual o seu erro local e,
consequentemente, qual a sua ordem. Atendendo denio de erro local temos que
hTi = y(ti ) ui , com ui a soluo numrica obtida pelo mtodo supondo ui1 = y(ti1 ).
Desenvolvendo y(ti ) em srie de Taylor em torno do ponto ti1 temos,
h2 df
h3 d2 f
(ti1 , y(ti1)) +
(ti1 , y(ti1)) + .
2 dt
6 dt2
Por outo lado, considerando o desenvolvimento de ui , recorrendo srie de Taylor para
duas variveis, temos
y(ti) = y(ti1 ) + hf (ti1 , y(ti1 )) +

h
ui = y(ti1 ) + (f (ti1 , y(ti1)) + f (ti1 , y(ti1)) + h(ft + fy f )(ti1 , y(ti1)) +
2
h2
(ftt + 2f fty + f 2 f yy)(ti1 , y(ti1 )) + ).
2
Subtraindo membro a membro, temos
hTi =

h3
(ftt + 2f fty + f 2 fyy 2ft fy 2f fy2 )(ti1 , y(ti1 )) + .
12

Assim sai que


Ti =

h2
(ftt + 2f fty + f 2 fyy 2ft fy 2f fy2 )(, y()),
12

Como Ti = O(h2 ) conclumos que o mtodo de Heun tem ordem 2.

]ti1 , ti [.

Mtodos numricos para o problema de Cauchy

135

Exerccio 7.16 Mostre que o mtodo de Runge (7.13) tem ordem dois.
Exerccio 7.17 Mostre que o mtodo de Heun (7.15), aplicado resoluo do PCI (7.2),
convergente.
Resoluo: Atendendo definio do mtodo de Heun temos que este pode ser dado pela
expresso ui+1 = yi + h(ti , ui; h), com
1
(t, y; h) = (f (t, y) + f (t + h, y + hf (t, y))).
2
Para provar que o mtodo convergente vamos provar que consistente e estvel.
1. Consistncia. Provmos que o mtodo de Heun tem ordem dois e, assim sendo,
consistente. Poderiamos ainda provar a consistncia provando que (t, y; 0) =
f (t, y). De facto,
1
(t, y; 0) = (f (t, y) + f (t, y)) = f (t, y).
2
2. Estabilidade. Para provar que o mtodo estvel vamos provar que (t, y; h)
lipschitziana, na varivel y, em D = {(t, y; h) : a 6 t 6 b, y R, 0 6 h 6 h0 }.
Seja L a constante de Lipschitz de f (t, y) na varivel y. Ento

1
|(t, y1; h) (t, y2 ; h)| = (f (t, y1) + f (t + h, y1 + hf (t, y1)))
2


1
(f (t, y2 ) + f (t + h, y2 + hf (t, y2 )))
2
6

1
(L|y1 y2 | + L|y1 + hf (t, y1 ) y2 hf (t, y2)|)
2

1
6 L|y1 y2 | + hL2 |y1 y2 |
2


1 2
6
L + hL |y1 y2 |.
2
Assim (t, y; h) satisfaz a condio de Lipschitz, na
 varivel y, em D sendo a sua
constante de Lipschitz dada por K = L + 12 h0 L2 . Finalmente, tanto como f
so contnuas em D. Est assim provada a estabilidade do mtodo.
Atendendo consistncia e estabilidade temos que o mtodo converge para a soluo de
(7.2).

136

Mtodos numricos para o problema de Cauchy

Exerccio 7.18 Considere a equao diferencial y + 4ty + 2y 2 = 0 com condies iniciais


y(0) = 1 e y (0) = 0. Com h = 0,1, utilize o mtodo de Heun para obter aproximaes para
y(0,2) e y (0,2).
Resoluo: Seja z = y . Assim o nosso problema equivalente a
 



y
z

y (t) = z
(t) =
,

4tz 2y 2

z
2
z (t) = 4tz 2y

 
 
y(0) = 1

y
1

z(0) = 0

(0) =
.
z
0
Seja

F (t, Y ) =

z
4tz 2y 2

com Y =

y
z

e Y

(0)

y
z

Considerando o mtodo de Heun temos


 
 (0)
1
y
(0)
(0)
=U
= Y =
,
0
 z
h
y
(0,1) U (1) = U (0) + (K1 + K2 ),
z
2
onde

K1 = F t0 , U


(0)

K2 = F t0 + h, U
Logo

y
z

(0)

(0,1) U

0
2

+ hK1 =

(1)

0,99
0,196

0,2
1,92


Continuando a aplicao do mtodo temos


 
h
y
(0,2) U (2) = U (1) + (K1 + K2 ),
z
2
onde

K1
K2
Logo


0,196
= F t1 , U
=
,
1,8818 


0,38418
= F t1 + h, U (1) + hK1 =
.
1,6335
(1)

y
z

(0,2) U

(2)

0,988059
0,371765

Temos assim que y(0,2) 0,988059 e y (0,2) 0,371765.

(0) =

1
0

Mtodos numricos para o problema de Cauchy

7.7

137

Exerccios de aplicao engenharia

Exerccio 7.19 Um projctil lanado da superfcie terreste com uma velocidade V . Supondo
que no h arrasto a equao do movimento

d
R2
= g 2 ,
dr
r

onde a velocidade distncia r do centro da Terra que tem raio R. Considerando g = 9,81
m/seg2 , R = 6,37 106 m e V = 15000 m/seg, calcule a velocidade quando r = 2R.
Exerccio 7.20 Uma soluo lquida flui de forma constante ao longo de um tubo na direco
x. Alguns dos solutos contidos na soluo difundem-se atravs da parede do tubo reduzindo a
concentrao z no tubo. A concentrao z dada por

dz
= z(0,2 + z)e0,03x .
dx
Se tomarmos z = 1,5 em x = 2 determine o valor de z em x = 2,4.
Exerccio 7.21 Uma quantidade de 10 quilogramas de material despejada num reservatrio
contendo 60 quilogramas de gua. A concentrao da soluo, c (em percentagem), vem dada
em funo do tempo, t (em segundos), por
(60 1,2112c)c =

k
(200 14c)(100 4c),
3

onde k, o coeficiente de transferncia de massa, igual a 0,0589. A condio inicial em t = 0


c = 0. Determine a relao entre c e t.
Exerccio 7.22 A equao qumica irreverssvel na qual duas molculas de dicromato de potssio (K2 Cr2 O7 ) slido, duas molculas de gua (H2 O) e trs tomos de enxofre (S) slido do
origem a trs molculas de dixido de enxofre (SO2 ) gasoso, quatro molculas de hidrxido de
potssio (KOH) slido e duas molculas xido de crmio (Cr2 O3 ) slido pode ser representada,
simbolicamente, pelo esquema
2K2 Cr2 O7 + 2H2 O + 3S 4KOH + 2Cr2 O3 + 3SO2 .
Se existirem inicialmente n1 molculas de 2K2 Cr2 O7 , n2 molculas de H2 O e n3 molculas
de S a equao seguinte descreve a quantidade x(t) de KOH ao fim de um tempo t (em
segundos)

3

x 2 
x 2
3x

x = k n1
n2
n3
,
2
2
4

onde k a velocidade da reao (constante). Se k = 6,22 1019 , n1 = n2 = 1000 e


n3 = 1500, quantas unidades de hidrxido de potssio sero formadas ao fim de 2 segundos?

138

Mtodos numricos para o problema de Cauchy

Exerccio 7.23 Na teoria da proliferao de uma doena contagiosa, podem ser usadas equaes diferenciais relativamente elementares para prever o nmero de indivduos infectados na
populao em cada instante, desde que sejam efectuadas simplificaes apropriadas. Esta
teoria foi estudada por N.T.J. Bayley em 1957 e 1967 em dois livros, um sobre matemtica
aplicada medecina (The Mathematical Approach to Biology and Medicine, John Wiley &
Sons, NY, 1967) e outro sobre a teoria matemtica das epidemias (The Mathematical Theory
of Epidemics, Hafner, NY, 1957).
Em particular, consideremos que todos os indivduos numa populao fixa tm uma probabilidade igual de ser infectados e que uma vez portadores da doena permanecero sempre
nessa condio. Se x(t) denotar o nmero de indivduos susceptveis de contrair a doena no
instante t e y(t) o nmero de indivduos infectados, razovel assumir que a razo qual
o nmero de infectados varia proporcional ao produto de x(t) por y(t) visto que a razo
depende tando do nmero de infectados como do nmero de susceptveis presentes, para cada
t. Se a populao for suficientemente grande para considerarmos que x(t) e y(t) so variveis
contnuas, o problema pode ser expresso na forma
y (t) = kx(t)y(t),
onde k uma constante e x(t) + y(t) = m a populao total. Esta equao pode ser reescrita
por forma a depender apenas de y(t). Assim
y (t) = ky(t)(m y(t)).

(7.16)

1. Assumindo que m = 100000, y(0) = 1000, k = 2 106 e o tempo medido em dias,


determine o nmero de indivduos infectados ao fim de 30 dias.
2. A equao (7.16) conhecida por equao de Bernoulli e pode ser transformada numa
equao diferencial linear em z(t) se efectuarmos a mudana de varivel z(t) = (y(t))1 .
Usando esta tcnica, determine a soluo exacta y(t) da equao diferencial (7.16), com
as hipteses consideradas no ponto anterior, e compare-a com a soluo numrica obtida.
3. Determine lim y(t). Este resultado est de acordo com a sua intuio?
t

Exerccio 7.24 No exerccio anterior, todos os indivduos infectados permanecem na populao ajudando a difundir a doena. Uma situao mais realista consiste em introduzir uma
nova varivel z(t) para representar tanto o nmero de indivduos que so retirados da populao infectada num determinado instante t, por isolamento, como os que so tratados (e
consequentemente tornados imunes) ou os que morrem. O problema posto nestes termos ,
naturalmente, mais complicado mas Bayley mostrou que a soluo aproximada do problema
pode ser dada na forma
x(t) = x(0)e(k1 /k2 )z(t)

y(t) = m x(t) z(t),

onde k1 e k2 so, respectivamente, as taxas de crescimento de y(t) e de z(t), sendo z(t)


determinada pela equao diferencial

z (t) = k2 m z(t) x(0)e(k1 /k2 ) .

Mtodos numricos para o problema de Cauchy

139

Como no possvel determinar a soluo exacta deste problema, temos que recorrer soluo
numrica. Assim, determine uma aproximao para z(30), y(30) e x(30) assumindo que m =
100000, x(0) = 99000, k1 = 2 106 e k2 = 104.
Exerccio 7.25 Um circuito elctrico que formado por um condensador de capacidede elctrica constante C = 1,1 farad em srie com uma resistncia constante de R0 = 2,1 ohm. A
voltagem E(t) = 110 sin t aplicada no instante t = 0. medida que o calor aumenta, a
resistncia torna-se funo da corrente I,
R(t) = R0 + kI(t),
com k = 0,9. A equao diferencial para I


1
1
2k
1+
i(t) I (t) +
I(t) =
E (t).
R0
R0 C
R0
Determine a corrente I ao fim de 2 segundos, assumindo que I(0) = 0.
Exerccio 7.26 O estudo de modelos matemticos para estimar a evoluo de uma populao
de espcies que competem entre si teve a sua origem no incio do sculo com os trabalhos
de A.J. Lotka e V. Volterra. Consideremos o problema de estimar a populao constituida
por duas espcies, uma das quais predadora, cuja populao no instante t x2 (t), e que
se alimenta comendo a outra espcie, a que chamamos presa e cuja populao x1 (t). Este
problema usualmente designado por predador-presa. Vamos assumir que a presa possui sempre
uma quantidade de comida adequada e que a sua taxa de natalidade em todos os instantes
proporcional ao nmero de presas vivas nesse instante; isto , a taxa de natalidade (presa)
dada por k1 x1 (t). A taxa de mortalidade das presas depende tanto do nmero de presas
como de predadores vivos nesse instante. Por uma questo de simplicidade vamos assumir
que a taxa de mortalidade (presa) k2 x1 (t)x2 (t). A taxa de natalidade dos predadores, por
outro lado, depende da quantidade de comida existente, x1 (t), assim como do nmero de
predadores existentes para fins de reproduo. Por essas razes vamos assumir que a taxa
de natalidade (predador) k3 x1 (t)x2 (t). A taxa de mortalidade dos predadores ser tomada
proporcionalmente ao nmero de predadores vivos nesse instante; isto , a taxa de mortalidade
(predador) dada por k4 x2 (t).
A variao da populao de presas e predadores pode ser dada pelas seguintes equaes
diferenciais

x1 (t) = k1 x1 (t) k2 x1 (t)x2 (t)
.

x2 (t) = k3 x1 (t)x2 (t) k4 x2 (t)
Assumindo que a populao inicial de presas 1000 e a de predadores 200, e que as constantes
k1 = 3, k2 = 0,002, k3 = 0,0006 e k4 = 0,5, trace o grfico das solues deste problema e
descreva o fenmeno fsico representado. Ser que o problema possui alguma soluo estvel?
Se sim, para que valores de x1 e x2 que tal acontece?

Mtodos numricos para o problema de Cauchy

140

Exerccio 7.27 Num livro intitulado Looking at History Through Mathematics, MIT Press,
Cambridge MA, 1968, N. Rashevsky considerou um modelo para um problema envolvendo
o evoluo de no conformistas1 na sociedade. Suponhamos que uma sociedade tem uma
populao de x(t) indivduos no instante t, em anos, e que todos os no conformistas que
acasalam com outros no conformistas tm uma descendncia que tambm no conformista.
Por outro lado, para todas as outras descendncias, existe uma proporo fixa r que so
ainda no conformistas. Se as taxas de natalidade e mortalidade para todos os indivduos se
assumir como sendo as constantes n e m, respectivamente, e se conformistas e no conformistas
acasalarem de forma aleatria, o problema pode ser expresso pelas equaes diferenciais

x (t) = (n m)x(t)
,

y (t) = (n m)y(t) + rn(x(t) y(t))

onde y(t) denota o nmero de no conformistas na populao no instante t.

1. Se a varivel p(t) = y(t)/x(t) for introduzida para representar a proporo de no conformistas na sociedade no instante t, mostre que o sistema de equaes diferenciais se
reduz a
p (t) = rn(1 p(t)).
2. Assumindo que p(0) = 0,01, n = 0,002, m = 0,015 e r = 0,1, aproxime a soluo p(t)
para os primeiros 50 anos.
3. Resolva a equao diferencial para p(t) de forma exacta, e compare o resultado com a
soluo numrica.
Exerccio 7.28 Consideremos um pndulo simples constitudo por uma bola uniforme de
massa m e uma barra fina de comprimento l e massa negligencivel. Se considerarmos que a
resistncia do ar porpocional ao quadrado da velocidade angular do pndulo, a equao do
movimeto dada por
g
2
+ 2k ( ) = sin ,
l
sendo o ngulo agudo que a barra do pndulo faz com a vertical. Considerando que em t = 0
se tem = 3 determine o valor de e de nos instantes (em minutos) ti = ih, com h = 0,05
e i = 0, 1, . . . , 50.
Exerccio 7.29 A equao de Van der Pol, que aparece na electrnica,
x + (1 x2 )x + x = 0.
Com as condies iniciais x(0) = 0,5 x (0) = 0, determine x, x e x para nos instantes ti = ih,
com h = 0,1 e i = 0, 1, . . . , 40.
1

Conformista a pessoa que adopta ou segue o conformismo (anglicanismo).

Captulo 8
Problemas com condies de fronteira
No captulo anterior estudmos as equaes diferenciais ordinrias no contexto dos sistema
dinmicos em que a varivel independente natural o tempo (nem sempre assim ). Vamos
agora considerar o estudo orientado para regimes estacionrios em que o objectivo consiste
em determinar a distribuio espacial de uma grandeza.
Exemplo 8.1 Um problema comum em Engenharia Civil tem a ver com a deflexo de uma
barra de seco rectangular sujeita a uma carga uniforme quando os extremos esto fixos. A
equao diferencial que serve de modelo a esta situao fsica da forma
S
qx
w+
(x L),
EI
2EI
onde w = w(x) a deflexo no ponto que dista x do extremo esquerdo da barra, e L, q, E, S
e I representam, respectivamente, o comprimento da barra, a intensidede da carga uniforme, o
mdulo da elasticidade, a tenso nos extremos e o momento central de inrcia. Uma vez que
os extremos da barra esto fixos, temos associadas a esta equao diferencial as equaes de
fronteira
w(0) = w(L) = 0.
w =

Quando a barra feita de material uniforme EI uma constante e como tal a soluo da
equao imediata. Caso contrrio I = I(x) e temos que usar mtodos numricos para
determinar uma aproximao para a soluo.
Os problemas fsicos que dependem de uma posio no espao em vez de um instante
no tempo so muitas vezes descritos em termos de equaes diferenciais com condies
impostas em mais do que um ponto: problemas com condies de fronteira (PCF). Os PCF
que iremos considerar nesta seco envolvem uma equao diferencial ordinria de segunda
ordem
y = f (x, y, y ),
x ]a, b[,
(8.1)
e as condies de fronteira

1 y(a) + 1 y (a) = 1 ,
2 y(b) + 2 y (b) = 2 ,
com i , i , i R, i = 1, 2. Estas condies de fronteira podem ser de trs tipos:
141

(8.2)

142

Problemas com condies de fronteira


1. Dirichelet, se 1 = 2 = 0;
2. Neumann, se 1 = 2 = 0;
3. Robin ou mistas, se |1 | + |2 | =
6 0 e |1 | + |2 | =
6 0.

Quando 1 = 2 = 0 dizemos que as condies de fronteira so homogneas. No caso em


que a equao (8.1) da forma
y = p(x)y + q(x)y + r(x),

x ]a, b[,

(8.3)

dizemos que (8.1)(8.2) um problema com condies de fronteira linear.


Tal como no caso dos problemas de condio inicial tambm aqui se torna importante
saber em que condies (8.1)(8.2) tem soluo nica. Esse estudo foge ao mbito deste
curso e como tal no ir ser apresentado. No entanto, para problemas com condio de
fronteira lineares a teoria mais simples e, a ttulo ilustrativo, iremos considerar apenas o
seguinte teorema, que apresentamos sem demonstrao.
Teorema 8.1 Sejam q, r C([a, b]) e q > 0. Ento o PCF linear

y + q(x)y = r(x),
x ]a, b[,
y(a) = y(b) = 0,

(8.4)

tem uma nica soluo y C 2 ([a, b]).

8.1

Mtodo das diferenas finitas

Um mtodo muito usado para determinar solues aproximadas do PCF (8.1)(8.2) consiste
em substituir as derivadas que nela intervm por frmulas de diferenas nitas.
Suponhamos que o problema (8.1)(8.2) admite uma e uma s soluo e consideremos
a partio
a = x0 < x1 < < xn1 < xn = b
(8.5)
do intervalo [a, b]. O mtodo das diferenas finitas permite-nos obter aproximaes ui ,
i = 0, . . . , n, para os valores da soluo nos pontos da partio, isto , ui y(xi ), i =
0, . . . , n. Por uma questo de simplicao da abordagem vamos considerar a partio
(8.5) uniforme, ou seja, tal que xi xi1 = h, i = 1, . . . , n.

8.1.1

Caso linear

Vamos considerar o PCF linear (8.3) com condies de fronteira (8.2) de Dirichlet (1 =
2 = 1, 1 = 2 = 0). Este problema pode ser escrito, para cada ponto da partio (8.5),
na forma

y (xi ) = p(xi )y (xi ) + q(xi )y(xi) + r(xi ),
i = 1, . . . , n 1,
y(x0 ) = 1 , y(xn ) = 2 ,

143

Problemas com condies de fronteira

com xi = ih, i = 0, . . . , n. Substituindo as derivadas pelas frmulas de diferenas centradas


de segunda ordem
y(xi+1 ) y(xi1) h2
y (xi ) =
y (i ),
2h
6

e
y (xi ) =

i ]xi1 , xi+1 [,

y(xi+1 ) 2y(xi ) + y(xi1 ) h2 (4)


y (i ),
h2
12

i ]xi1 , xi+1 [,

obtemos

y(xi+1 ) 2y(xi) + y(xi1 )


y(xi+1 ) y(xi1 )

=
p(x
)
+ q(xi )y(xi )

i
2

h
2h


h2 
+r(x
)

2p(xi )y (i ) y (4) (i ) ,

12

y(x0 ) = 1 , y(xn ) = 2 .

i = 1, . . . , n 1,

Se tomarmos ui y(xi ), i = 1, . . . , n 1, um mtodo de diferenas nitas com erro O(h2 )


pode ser denido pelo sistema linear

ui+1 ui1
ui+1 2ui + ui1

p(xi )
q(xi )ui = r(xi ), i = 1, . . . , n 1,
2
h
2h

u 0 = 1 , un = 2 ,

ou, de forma equivalente,







h
h

1 + p(xi ) ui1 2 + h q(xi ) ui + 1 p(xi ) ui+1 = h2 r(xi ),


2
2

u 0 = 1 , un = 2 ,

i = 1, . . . , n 1,

Notemos que o sistema linear obtido da forma

Au = b,

(8.6)

em que u = [u1 , u2 , . . . , un2, un1 ]T ,

2 h2 q(x1 ) 1 h2 p(x1 )
1 + h p(x2 ) 2 h2 q(x2 ) 1 h p(x2 )

2
2

..
..
..
A=
.
.
.

h
2

1 + 2 p(xn2 ) 2 h q(xn2 ) 1 h2 p(xn2 )


1 + h2 p(xn1 ) 2 h2 q(xn1 )

144

Problemas com condies de fronteira


e

b=


h2 r(x1 ) 1 + h2 p(x1 ) 1
h2 r(x2 )
..
.
h2 r(xn2 )

h r(xn1 ) 1 h2 p(xn1 ) 2
2

A questo que naturalmente se coloca a de saber se o sistema (8.6) tem soluo nica.
Para responder a essa questo considerere-se o seguinte exerccio cuja resoluo est fora
do mbito deste curso.
Exerccio 8.1 Suponhamos que A = (aij )ni,j=1 uma matriz de ordem n, tridiagonal, com
ai,i1 , ai,i+1 6= 0, para cada i = 2, . . . , n 1. Se
|a11 | > |a12 |,

|ann | > |an,n1|

e
ento A no singular.

|aii | 6 |ai,i1 | + |ai,i+1 |,

i = 2, . . . , n 1,

O resultado estabelecido neste exerccio permite concluir, de forma imediata, o seguinte


teorema.
Teorema 8.2 Considere-se o PCF linear (8.3) com condies de fronteira (8.2) de Dirichlet (1 = 2 = 1, 1 = 2 = 0) e com p, q, r funes contnuas em [a, b]. Se q(x) > 0,
para todo o x [a, b], ento o sistema tridiagonal (8.6) tem soluo nica desde que
h < 2/L, onde
L = max |p(x)|.
x[a,b]

Exemplo 8.2 Pretende-se obter a soluo aproximada do problema



y + y = x,
x ]0, 1[,
y(0) = y(1) = 0,
usando o mtodo das diferenas finitas com uma malha uniforme de espaamento h = n1 .
O PCF dado pode ser escrito, para cada ponto da partio (8.5) na forma

y (xi ) + y(xi ) = xi ,
i = 1, . . . , n 1,
y(x0 ) = y(xn ) = 0,
com xi = ih, i = 0, . . . , n.
Se aproximarmos y pela frmula de diferenas centradas de segunda ordem (trs pontos)
temos
1
y (xi ) 2 (ui1 2ui + ui+1 ),
h

Problemas com condies de fronteira

145

com ui y(xi ), i = 1, . . . , n 1. Substituindo na equao temos, em cada ponto da partio,


o problema (linear) aproximado

(ui1 2ui + ui+1 ) + h2 ui = ih3 ,
i = 1, . . . , n 1,
,
u0 = un = 0

n1
Notemos que o sistema linear obtido da forma Au = b, em que b = (ih3 )n1
i=1 e A = (aij )i,j=1
com
2
h + 2, i = j
aij =
1,
j = i 1, j = i + 1 .

0,
|j i| > 1
A matriz do sistema tridiagonal, simtrica e estritamente diagonal dominante por linhas; logo
invertvel. Fica deste modo garantida a existncia e unicidade de soluo.
Considerando n = 4, ou seja h = 41 , obtemos

2,03125
1
0
u1
1/128
0,03484
1
2,03125
1 u2 = 1/64 0,05633 .
u3
3/128
0,05004
0
1
2,03125

Pode dar-se o caso (muito frequente) das condies de fronteira no serem de Dirichlet
mas de Neumann ou mistas. Suponhamos que temos o PCF

y = p(x)y + q(x)y + r(x),
x ]a, b[,
(8.7)

y (a) = 1 , y (b) = 2 .
Considerando, tal como para o caso anterior, a substituio das derivadas que aparecem
na equo diferencial pelas frmulas de diferenas centradas de segunda ordem obtemos





h
h
2
1 + p(xi ) ui1 + 2 + h q(xi ) ui 1 p(xi ) ui+1 = h2 r(xi ),
i = 1, . . . , n 1,
2
2

com ui y(xi), i = 1, . . . , n 1. Quanto s equaes de fronteira, o mais comum


considerarem-se diferenas progressivas na discretizao de y (a) e regressivas na discretizao de y (b). Se usarmos diferenas progressivas e regressivas com dois pontos (ordem um)
obtemos
u0 = u1 h1 ,
un = un1 + h2 ,
onde u0 y(x0 ) e un y(xn ). Deste modo, o sistema linear a resolver difere, em relao
ao caso em que considermos condies de Dirichlet, apenas nas primeira e ltima linhas.
Neste caso, a primeira e a ltima linha do sistema linear a resolver so, respectivamente,






h
h
h
2
2
1 + p(x1 ) h q(x1 ) u1 + 1 p(x1 ) u2 = h r(x1 ) + h 1 + p(x1 ) 1
2
2
2
e




h
h
2
1 + p(xn1 ) un2 + 1 p(xn1 ) h q(xn1 ) un1
2
2


h
2
= h r(xn1 ) h 1 p(xn1 )
2 .
2

146

Problemas com condies de fronteira

8.1.2

Caso no linear

Finalmente, faamos uma pequena abordagem ao caso no linear. Consideremos o problema no linear geral (8.1) com condies de fronteira (8.2) de Dirichlet (1 = 2 = 1,
1 = 2 = 0). Tal como no caso linear, vamos substituir as derivadas que aparecem na
equo diferencial pelas frmulas de diferenas centradas de segunda ordem. Obtemos
assim


y(x
)

2y(x
)
+
y(x
)
y(xi+1 ) y(xi1 )
i+1
i
i1

= f xi , y(xi ),

h
2h



h2

(4)

2p(xi )y (i) y (i ) , i = 1, . . . , n 1,

12

y(x0 ) = 1 , y(xn ) = 2 ,
com i , i (xi1 , xi+1 ). O mtodo de diferenas nitas que resulta quando se desprezam
os termos O(h2 ) das frmulas de diferenas centradas e se usam as condies de fronteira



u

u
u

2y
+
u

i+1
i
i1
i+1
i1

= f xi , ui,
, i = 1, . . . , n 1,

h2
2h

u 0 = 1 , un = 2 ,
com ui y(xi ), i = 1, . . . , n 1. Temos ento necessidade de resolver um sistema no
linear da forma
F (x, u) = 0,

onde x = [x1 , x2 , . . . , xn2 , xn1 ]T , u = [u1 , u2 , . . . , un2, un1]T e



u

2
1
2

f1 (x, u)
= 2u1 + u2 h f x1 , u1,
+ 1 ,

2h




ui+1 ui1

2
,
i = 2, . . . , n 2,
fi (x, u)
= ui1 2ui + ui+1 h f xi , ui ,
2h




2 un2

+ 2 .
fn1 (x, u) = un2 2un1 h f xn1 , un1,

2h

Prova-se que este sistema no linear tem soluo nica se h < 2L onde
L = max |fy (x, y, y )|.
x[a,b]

A sua soluo pode ser obtida, de forma aproximada, pelo mtodo de Newton.

Bibliografia
[1] R.L. Burden, J.D. Faires, Numerical Analysis, PWS, Boston, 1993.
[2] H. Pina, Mtodos Numricos, McGraw Hill, Lisboa, 1995.
[3] A. Quarteroni, F. Saleri, Clculo Cientfico com o MatLab e o Octave, Spinger, 2007.

147

148

Contedo
1 Aritmtica computacional
1.1 Noes e teoremas bsicos . . . . . . .
1.2 Erros absolutos e relativos . . . . . . .
1.3 Erros de arredondamento e truncatura
1.4 O polinmio de Taylor . . . . . . . . .
1.5 Exerccios de aplicao engenharia .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

1
4
5
6
9
12

2 Equaes no lineares
2.1 Mtodos iterativos . . . . . . . . . .
2.2 Determinao da aproximao inicial
2.3 Mtodo da bisseco . . . . . . . . .
2.4 Mtodo de Newton . . . . . . . . . .
2.5 Mtodo do ponto xo . . . . . . . . .
2.6 Equaes algbricas . . . . . . . . . .
2.6.1 Algoritmo de Hrner . . . . .
2.6.2 O mtodo de Newton-Hrner
2.7 Sistemas de equaes no lineares . .
2.8 Exerccios de aplicao engenharia

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

13
14
16
17
20
24
31
35
36
37
42

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

45
45
45
47
49
53
58
60
62
63
66
66
68
70

.
.
.
.
.
.
.
.
.
.

3 Aproximao de funes
3.1 Interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Interpolao polinomial de Lagrange . . . . . . . . . . . . . . .
3.2.1 Existncia e unicidade. Frmula de Lagrange . . . . . .
3.2.2 Erro de interpolao . . . . . . . . . . . . . . . . . . . .
3.2.3 Frmula de Newton . . . . . . . . . . . . . . . . . . . . .
3.3 Interpolao de Chebyshev . . . . . . . . . . . . . . . . . . . . .
3.4 Interpolao trigonomtrica e FFT . . . . . . . . . . . . . . . .
3.5 Interpolao seccionalmente linear . . . . . . . . . . . . . . . . .
3.6 Interpolao de Hermite . . . . . . . . . . . . . . . . . . . . . .
3.6.1 Interpolao segmentada de Hermite . . . . . . . . . . .
3.6.2 Polinmio interpolador de Hermite e diferenas divididas
3.7 Aproximao por funes spline cbicas . . . . . . . . . . . . . .
3.8 O mtodo dos mnimos quadrados . . . . . . . . . . . . . . . . .
149

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

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

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

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

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

150
3.9

Exerccios de aplicao engenharia

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

72

4 Derivao e integrao numrica


4.1 Derivao numrica . . . . . . . . . . . . .
4.1.1 Aproximao da primeira derivada
4.1.2 Aproximao da segunda derivada .
4.2 Integrao numrica . . . . . . . . . . . .
4.2.1 Frmula do ponto mdio . . . . . .
4.2.2 Frmula do trapzio . . . . . . . .
4.2.3 Frmula de Simpson . . . . . . . .
4.3 Exerccios de aplicao engenharia . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

5 Sistemas de equaes lineares


5.1 Classes de matrizes . . . . . . . . . . .
5.2 Mtodos directos: reviso . . . . . . .
5.3 Normas de matrizes. Condicionamento
5.4 Mtodos iterativos . . . . . . . . . . .
5.5 Convergncia dos mtodos iterativos .
5.6 Exerccios de aplicao engenharia .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

93
. 94
. 95
. 98
. 103
. 106
. 110

.
.
.
.
.
.

.
.
.
.
.
.

77
77
77
80
81
82
84
86
90

6 Valores e vectores prrprios


6.1 Mtodo da potncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Clculo de todos os valores prprios . . . . . . . . . . . . . . . . . . . . . .
6.3 Exerccios de aplicao engenharia . . . . . . . . . . . . . . . . . . . . .

111
111
113
114

7 Mtodos numricos para o problema de Cauchy


7.1 Existncia e unicidade de soluo . . . . . . . . .
7.2 Mtodos numricos . . . . . . . . . . . . . . . . .
7.2.1 Mtodos baseados na srie de Taylor . . .
7.2.2 Mtodos de passo nico implcitos . . . . .
7.3 Estudo do erro . . . . . . . . . . . . . . . . . . .
7.4 Estabilidade absoluta . . . . . . . . . . . . . . . .
7.5 Sistemas de equaes diferenciais . . . . . . . . .
7.6 Mtodos de Runge-Kutta . . . . . . . . . . . . . .
7.7 Exerccios de aplicao engenharia . . . . . . .

115
115
118
119
122
123
127
129
131
137

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

8 Problemas com condies de fronteira


141
8.1 Mtodo das diferenas nitas . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.1.1 Caso linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.1.2 Caso no linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146