Sunteți pe pagina 1din 170

Matemtica Computacional

Adrito Lus Martins Arajo


Notas de apoio s aulas de Matemtica Computacional do Mestrado
Integrado em Engenharia Electrotcnica e de Computadores, no ano
lectivo de 2013/2014.

Figura da capa: Documento jurdico sumrio YBC 3879,


do perodo Ur III (c. 2100 c. 2000 a.C.), onde descrito
um algoritmo geomtrico para determinar as solues
de equaes quadrticas. Fonte:
cdli.ucla.edu/pubs/cdlj/2009/cdlj2009_003.html.

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 finanas, e, como foi dito, no podem,
geralmente, ser resolvidos por processos analticos.
Um dos primeiros e mais importantes modelos matemticos para problemas da fsica
foi estabelecido por Isaac Newton (1643-1729) 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. 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.1 (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
1

Aritmtica computacional

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 fluidos. As engenharias mecnica e civil usam
esses modelos como sendo a base para os mais modernos trabalhos em dinnica dos fluidos
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 finitos para
resolver as equaes com derivadas parciais associadas ao modelo; a dinmica dos fluidos
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 simplificaes no
modelo, simplificaes 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
final; qual o grau de preciso da soluo aproximada obtida, etc.
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


figuras geomtricas. Este mtodo, quando usado como mtodo para calcular aproximaes,

Aritmtica computacional

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 Newton 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?)


a 
1  (n)
x + (n) .
x(n+1) =
2
x

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 simplificao 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 Johann
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 Leibniz terem construdo, j no sc. XVII, as
primeiras mquinas de calcular e de Charles Babbage (1791-1871), milionrio ingls, ter
construdo o que considerado o primeiro computador (nunca funcionou!), foi apenas com
o aparecimento do ENIAC, nos anos 40, que a cincia usufruiu, de facto, desses dispositivos
de clculo.

1.1

Erros absolutos e relativos

O processo de resoluo numrica de um problema passa sempre pela substituio de um


problema difcil para um problema mais simples que tenha a mesma soluo ou, pelo menos, uma soluo que se relaciona intimamente com a do problema original. As solues
numricas so, por isso, aproximaes dos resultados pretendidos. Os motivos para considerar essas aproximao podem ser de vria ordem e a preciso da soluo final reflecte
todo esse processo. Tambm h que ter em conta a incerteza nos dados iniciais, assim
como as perturbaes efectuadas ao longo dos clculos, que podem ser amplificadas pelo
algoritmo.
Exemplo 1.2 Pretende-se calcular a supercie terrestre pela frmula A = 4r 2 . Este processo
involve uma aproximao. Primeiro, a Terra no uma esfera. A esfera uma idealizao da
sua verdadeira forma. Depois, o valor do raio da Terra baseado em medies empricas e
clculos anteriores. O valor de requer a truncatura de um processo infinito. Finalmente, os
valores dos dados iniciais e os resultados das operaes aritmticas so arredondados durante
os clculos no computador.
O exemplo anterior mostra que a introduo de erros num determinado processo de
clculo pode ter vrias causas. nosso objectivo analisar quais so essas causas e estudar

Aritmtica computacional

mecanismos que nos permitam determinar limites superiores para os erros obtidos no final
do processo de clculo.
Definio 1.1 (Erro) 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 de x (como aproximao a x), e representa-se por e(x), quantidade
e(x) = x x.
Na prtica, o valor do erro usado, geralmente, em norma. No caso real (n = 1), por
exemplo, 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 kxk + kyk,

designada por norma.


Como consequncia da propriedade 3 da definio anterior temos
kuk = ku v + vk ku vk + kvk
e, portanto, kuk kvk ku vk. Por outro lado, kuk + kvk ku vk e, como tal,
|kuk kvk| ku vk.
Existem vrias funes que verificam as trs propriedades das normas vectoriais. Entre
elas destacam-se as dadas no prximo exerccio.
Exerccio 1.1 Prove que as funes seguintes so normas em 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).


i=1,...,n

A norma do mximo tambm chamada norma de Pafnuty Lvovich Chebyshev (1821-1894).


Em geral, dado um vector x R, kxk1 kxk2 kxk . No entanto, tambm possvel

provar que kxk1 nkxk2 , kxk2 nkxk , kxk1 nkxk . Ento, para um dado n, as
diferentes normas diferem numa constante multiplicativa e, como tal, so equivalentes: se
uma delas se torna pequena, todas as outras sero proporcionalmente pequenas.
Vamos agora introduzir os conceitos de erro absoluto e relativo.

Aritmtica computacional

Definio 1.3 (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 quantidade ke(x)k.
Definio 1.4 (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 definio 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)

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 definies de erro absoluto e erro relativo que iremos analisar os resultados numricos que aparecero como aproximaes a valores que no conhecemos com
exactido. Suponhamos que pretendemos calcular o valor de uma funo F : Rn Rm
para um dado argumento vectorial x Rn (valor exacto). O valor desejado , pois, F (x).
No entanto, o que realmente calculado o valor de F (x), onde x o vector das aproximaes e F a aproximao funo, o algoritmo. Assim, o erro total dado por
F (x) F (x) =

F (x) F (x)
+
F (x) F (x)
.
|
|
{z
}
{z
}
erro computacional erro de propagao

O algoritmo no tem qualquer influncia nos erros de propagao. Apenas influencia


os erros computacionais, que so a soma dos erros de arredondamento com os erros de
truncatura.

1.2

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 25%. Outra causa
de erro resulta das simplificaes 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 quantificar.

Aritmtica computacional

O aspecto que vamos agora analisar tem a ver com os erros que resultam da forma
como representamos os nmeros reais. O conjunto dos nmeros reais R no pode ser
representado numa mquina de preciso finita. Numa mquina s possvel representar
um seu subconjunto finito 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 flutuante), que se designa por fl(x). Em geral, x 6= fl(x).
Alm disso, podemos ter x1 6= x2 e fl(xi ) = fl(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 especfico em que estamos a trabalhar, m um inteiro chamado
mantissa, cujo comprimento t o nmero mximo de algarismos armazenados ai , com
0 ai 1, e e um nmero inteiro chamado expoente. Os dgitos a1 a2 . . . ap , com p t,
so chamados os p primeiros algarismos significativos de x.
O conjunto F fica completamente caracterizado custa de 4 parmetros: a base ,
nmero de algarismos significativos 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 significativos em base 2 correspondem a
15 algarismos significativos 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,
e assim
|e(x)| = 0,0045 < 0,5 102 ,
r(x) =

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

Daqui resultam as seguintes definies.

Aritmtica computacional

Definio 1.5 (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)| 0,5 10k .
Definio 1.6 (Algarismo significativo correcto) Seja x R uma aproximao para
x R. Diz-se que x tem k algarismos significativos correctos se e s se r(x) < 5 10k .
Note-se que estas definies 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 significativos correctos.
Consideremos, de novo, a mquina F = F(, t, L, U ). O erro que se comete na aproximao x fl(x) pequeno. Ele dado por
|x fl(x)|
0,5M ,
|x|
onde M = 1t representa o zero da mquina e definido 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 finitos. O menor e o maior real positivo de F so dados, respectivamente,
por
xmin = L1 ,
xmax = U (1 t ).

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.
Um problema srio a ter em conta em aritmtica de vrgula flutuante o chamado
cancelamento subtractivo que ocorre, normalmente, quando se subtraem dois nmeros com
o mesmo sinal e magnitude semelhantes. Por exemplo,
1,92403 102 1,92275 102 = 1,28000 101 ,
que correcto, e representado de forma exacta, mas tem apenas trs algarismos significativos.
Apesar da exactido do resultado, o cancelamento implica, muitas vezes, perda de
informao com a agravante de os algarismos perdidos no cancelamento serem mais significativos do que os perdidos no arredondamento. Por isso, geralmente uma m ideia
calcular uma quantidade pequena como a diferena de duas quantidades grandes. Somar
sries alternadas, tais como
ex = 1 + x +

x2 x3
+
+ ,
2
3!

Aritmtica computacional

para x < 0, pode dar resultados catastrficos. Outro exemplo, pode ser dado no clculo do
desvio padro. Como se sabe, a mdia e o desvio padro de uma amostra {x1 , x2 , . . . , xn }
so dados por
!1
n
n
2
1 X
1X
2
xi , e =
(xi x
)
.
x
=
n
n1
i=1

i=1

A frmula equivalente para o desvio padro

n
X

1
n1

i=1

!! 1

x2i n
x

muitas vezes usada mas o cancelamento subtractivo mais perigoso que na frmula
anterior.
Os erros de truncatura ou de discretizao so, por definio, os erros que surgem quando
se passa de um processo infinito para um processo finito ou quando se substitui um processo
contnuo por um discreto. A ttulo de exemplo, considere-se o conhecido Teorema do Valor
Mdio, estabelecido por Joseph Louis Lagrange (1736-1813).
Teorema 1.1 (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 (b) f (a)
.
ba

f () =

a
-0.4

-0.2

0.2

b
0.4

0.6

0.8

Figura 1.1: Teorema do Valor Mdio.


Este resultado justifica o procedimento (muito comum) de substituir o clculo da derivada de uma funo definida num intervalo (pequeno) [a, b] pela diferena dividida
f [a, b] =

f (b) f (a)
,
ba

isto , para um valor de h pequeno


f (x)

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

O erro cometido nesta aproximao um erro de truncatura.

Aritmtica computacional

Tambm se comete um erro de truncatura quando se efectua a aproximao


e

1
1+
M

M

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

1.3

O polinmio de Taylor

Seja f uma funo real definida num intervalo [a, b] R. Um problema que frequentemente
se coloca o de determinar uma funo g definida 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.2 (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.
Consideremos agora o seguinte teorema, apresentado sem demonstrao, devido a Brook
Taylor (1685-1731).1
Teorema 1.3 (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.2
1
Taylor foi, entre outras coisas, o sucessor de Edmond Halley (1656-1742) como secretrio da Royal
Society. Publicou, em 1715, um livro intitulado Methodus Incrementorum Directa & Inversa no qual a sua
expanso aparece descrita. O seu teorema foi enunciado em 1712.
2
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.

10

Aritmtica computacional

Atente-se ao grande interesse prtico deste resultado que afirma 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
(1.3)

lim Rn (x; x0 ) = 0,

n+

temos que, a partir de um valor de n suficientemente 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 verifica
max

I{x,x0 }

|Rn (x; x0 )| < ,

sendo > 0 uma tolerncia previamente fixada. 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.2 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
ex =

X
xk
k=0

k!

Assim, fixando um valor de n, temos que


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

x2 x3
xn
+
+ +
2
6
n!

ex
3x
|xn+1 | <
|xn+1 |,
(n + 1)!
(n + 1)!

Vamos ento determinar qual o menor valor de n tal que


|Rn (2; 0)| <

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

x > 0.

11

Aritmtica computacional

Por tentativas...
n=9

32 10
2 = 0,254 102
10!

32 11
2 = 0,462 103 .
11!

n = 10
Logo a aproximao pedida
2

1.4

10
X
xk
k=0

k!

= 7,38899470899 7,389.

Problemas

Exerccio 1.3 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.
Exerccio 1.4 (Matlab) A adio em vrgula flutuante no verifica a propriedade associativa.
Para comprovar esse facto, calcule, usando o computador, a soma x+y+z nas formas x+(y+z)
e (x + y) + z para os casos em que:
1. x = 1,0; y = 5,0; z = 6,0;
2. x = 1 1020 ; y = 1 1020 ; z = 1,0.

Explique os resultados obtidos.

Exerccio 1.5 (Matlab) Escreva um programa para obter os primeiros n termos da sucesso
gerada pela equao de diferenas
x(k+1) = 2,25x(k) 0,5x(k1) ,
a partir dos valores iniciais x(1) =

1
3

e x(2) =

1
12 .

1. Considere n = 60 e trace o grfico semi-logartmico dos resultados obtidos como funo


de k.
2. A soluo exacta da equao de diferenas dada por (prove)
x(k) =

41k
,
3

que decresce, de forma montona, quando k cresce. Explique porque que o grfico
obtido na alnea anterior no est de acordo com este comportamento terico.
Exerccio 1.6 (Matlab) Considere o desenvolvimento em srie de Maclaurin
ex =

X
xk
k=0

Calcule
e12 =

e12
1
e12 .

k!

usando este desenvolvimento. Repita novamente o clculo mas usando o facto de


Compare os resultados e explique o sucedido.

12

Aritmtica computacional

Exerccio 1.7 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.8 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.9 A lei dos gases perfeitos dada por P V = 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 P V
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

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 decompusermos 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 eficiente.
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 Gauss, Carl Gustav Jakob Jacobi (1804-1851)
e Philipp Ludwig von Seidel (1821-1896). Antes porm, vamos apresentar algumas classes
de matrizes que iro ser consideradas.

13

14

Sistemas de equaes lineares

2.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 influncia 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 coeficientes da matriz so nulos.
Como caso particular das matrizes esparsas temos as matrizes banda uma matriz
A = (aij ) uma matriz banda se aij = 0 para todo |ij| > , onde o comprimento
de banda de A e, dentro dessa classe, as chamadas matrizes tridiagonais, isto , as
matrizes com comprimento de banda = 3. Por outras palavras, 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.

A matriz diz-se estritamente diagonal dominante se for estritamente diagonal dominante por linhas ou estritamente diagonal dominante por colunas.
Matrizes simtricas e positivas definidas (SPD)

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

15

Sistemas de equaes lineares

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


positivos.
Resoluo: Por definio, i valor prprio de A Mn (R) se e s se
Axi = i xi ,

xi R n ,

xi 6= 0,

sendo xi o vector prprio de A associado a i .


Suponhamos que A SPD. Ento xT Ax > 0 vlida para todo o vector no nulo x e,
em particular, para os vectores prprios xi de A. Assim sendo,
0 < xTi Axi = xi i xi = i kxk22 i > 0.
Suponhamos agora que todos os valores prprios de A so positivos. Ento, pelo que foi
visto, para todos os valores prprios xi de A vlida a desigualdade xTi Axi > 0. Como
A uma matriz real simtrica, prova-se que existe uma base ortonormada de vectores
prprios de A (teorema espectral). Nessa base, qualquer que seja o vector no nulo x,
tem-se que existem constantes ci , i = 1, 2, ..., n, onde n a ordem da matriz A, tais que
x = c1 x1 + c2 x2 + + cn xn . Ento Ax = c1 Ax1 + c2 Ax2 + + cn Axn o que implica
Ax = c1 1 + c2 2 + + cn n . Assim sendo, xT Ax = c21 1 + x22 2 + + c2n n > 0,
o que prova o pretendido.

2.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 finito 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 U x = 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.
Algoritmo 2.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 
P
xi := ci nj=i+1 uij xj /uii

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

16

Sistemas de equaes lineares

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 U x = y. Notemos que em cada
etapa temos que resolver um sistema triangular.
Exerccio 2.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
A da forma (suprimindo os zeros)

1
2

A=

sistema linear a resolver tridiagonal, isto , a matriz


1
2
..
.

2
..
.

..

.
n1 n1 n1
n
n

ou, noutra notao,

A = Tridiag(, , ),
]T ,

com = [2 , . . . , n
= [1 , . . . , n ]T e = [1 , . . . , n1 ]T .
fcil de demonstrar (ver lgebra Linear) que a decomposio
matrizes

l1
1 u1
2 l2

1 u2

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

n1 ln1
n ln

A = LU dada pelas

..

.
1 un1
1

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


algoritmo.

Algoritmo 2.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.

17

Sistemas de equaes lineares

Algoritmo 2.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 U x = 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 2.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.
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.
Note-se que, se A EDD ou A SPD ento a matriz A verifica 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 = RRT , com R uma matriz triangular inferior
com elementos diagonais positivos. Esta factorizao chamada factorizao de Cholesky,
em homenagem a Andr-Louis Cholesky (1875-1918). No caso 2 2, por exemplo,

 


a11 a12
r11 0
r11 r12
=
a12 a22
r12 r22
0 r22
p

2 .
implica que r11 = a11 , r12 = a12 /r11 , r22 = a22 r12

2.3

Normas de matrizes. Condicionamento

Seja Mn (R) o conjunto das matrizes quadradas de ordem n com coeficientes reais. Como
este conjunto um espao vectorial podemos nele definir uma norma.
Definio 2.1 (Norma matricial) Seja k.k uma norma vectorial definida em Rn . A
aplicao k k : Mn (R) R+
0 tal que, para todo o A Mn (R),
kAk = sup
x6=0

kAxk
kxk

designada norma matricial subordinada norma vectorial k.k.

18

Sistemas de equaes lineares

No entanto, a generalizao para o caso rectangular Atendendo definio anterior,


podemos dizer que a norma de uma matriz mede o alongamento mximo que essa matriz
provoca em qualquer vector no nulo em relao correspondente norma vectorial.
Prova-se que a funo estabelecida na definio anterior uma norma, isto , que
verifica 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 kAk + kBk,

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


um norma, com A Mn (R) a matriz de elemento genrico aij :
kAk1 = max

j=1,...,n

kAk2 =

n
X
i=1

|aij |;

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


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

kAk = max

i=1,...,n

n
X
j=1

|aij |.

v
uX
u n 2
aij .
kAkF = t
i,j=1

A norma k kF chamada norma de Frobenius, em homenagem a Ferdinand Georg


Frobenius (18491917), e no soburdinada a nenhuma norma vectorial.
Exerccio 2.3 Considere a matriz

Calcule kAk1 , kAk e kAkF .

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

Resoluo: V-se facilmente que


kAk1 = max{|2| + | 1| + | 2|, | 1| + | 2| + | 1|, |0| + |1| + |0|} = 5,
kAk = max{|2| + | 1| + |0|, | 1| + | 2| + |1|, | 2| + | 1| + |0|} = 4
e
kAkF =

22 + (1)2 + 02 + (1)2 + (2)2 + 12 + (2)2 + (1)2 + 02 = 4.

19

Sistemas de equaes lineares

Exerccio 2.4 Mostre que se A SPD ento kAk2 = max , com max o maior valor prprio
da matriz A.
Resoluo: Por definio
kAk2 =

(AT A).

Como A simtrica AT A = A2 . Mas, (A2 ) = (A)2 . 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


q
p
p
kAk2 = (AT A) = (A2 ) = (A)2 = (A).

Como A SPD, max > 0 e portanto, max = (A), o que prova o pretendido.
Considere-se, agora, o resultado seguinte.
Teorema 2.2 Seja k.k uma norma em Rn . Ento, para A Mn (R), tem-se
kAxk 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
kAk = sup
x6=0

kAxk
kAxk

,
kxk
kxk

x Rn , x 6= 0,

e portanto vlido o resultado.


Teorema 2.3 Para A, B Mn (R), tem-se kABk kAkkBk.
Demonstrao: Atendendo desigualdade demonstrada no teorema anterior, temos
kABk = sup
x6=0

kBxk
kABxk
kAk sup
= kAkkBk.
kxk
x6=0 kxk

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
influenciam 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

20

Sistemas de equaes lineares

que Ax = b 6= b. Queremos saber de que forma o erro (absoluto ou relativo) em b influencia


o erro em x.
Se o sistema Ax = b possvel e determinado, ento A invertvel e portanto x =
A1 b. Consideremos agora o sistema em que o vector dos termos independentes tem as
componentes afectadas de erro, i.e, Ax = b. Temos
kx xk
kA1 (b b)k
=
.
kxk
kxk

kr(x)k =

(2.1)

Como, pelo Teorema 2.2, kbk = kAxk kAkkxk, conclumos que


kxk kAk1 kbk.
Utilizando esta desigualdade em (2.1) deduzimos
kr(x)k

kA1 kkb bk
= kAkkA1 kkr(b)k.
kAk1 kbk

A
K(A) = kAkkA1 k

chamamos nmero de condio1 da matriz A. Ento

kr(x)k K(A)kr(b)k.
Note-se que se os dados do problema forem obtidos com a preciso da mquina, o erro
relativo da soluo x dado por
kr(x)k K(A)M .
Podemos ento dizer que a soluo calculada perde cerca de log10 (K(A)) dgitos de preciso
relativamente aos dados do problema.
Do exposto podemos afirmar que se o nmero de condio de A for pequeno pequenas
perturbaes no vector dos termos independentes conduzem a pequenas perturbaes no
vector soluo. Neste caso dizemos que o sistema Ax = b e a matriz A so bem condicionados.
Se o nmero de condio for muito grande o sistema Ax = b e a matriz A dizem-se mal
condicionados.
Exerccio 2.5 Determine o nmero de condio de A =
k k1 e k k .
Resoluo: Como

A1

1
0
1 0,5

1 0
2 2

relativamente s normas

, temos:

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;
1
A ideia de nmero de condio de uma matriz foi introduzida, em 1948, por Alan Mathison Turing (1912-1954), o mesmo que fundou a cincia da computao terica e que cujos trabalhos foram decisivos para o
sucesso do projecto ingls que decifrou o cdigo de encriptao da famosa mquina Enigma, permitindo
pr fim ocupao do Atlntico pelos submarinos alemes durante a II Guerra Mundial.

21

Sistemas de equaes lineares

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.
Uma matriz ter um nmero de condio muito elevado significa que quase singular.
Por conveno, se A singular, K(A) = . possvel demonstrar que
!

kAxk 1
kAxk
1
inf
kAkkA k = sup
x6=0 kxk
x6=0 kxk
e, como tal, o nmero de condio mede o razo entre o alongamento mximo e o encolhimento mximo que uma matriz provoca em qualquer vector no nulo.
Quando se pretende resolver sistemas lineares mal condicionados 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.

2.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 g = P 1 b.
De facto,
Ax = b P x (P A)x = 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, . . . .

(2.2)

22

Sistemas de equaes lineares

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) ,
o mtodo (2.2) pode igualmente ser definido 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 ;
2. Critrio do erro relativo: kx(k) x(k1) k 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 2.1 Consideremos o seguinte sistema

10x1 2x2 + 5x3 = 13


Ax = b
x1 + 3x2 x3 = 1

x1 + 4x2 + 2x3 = 7

que tem soluo nica [x1 , x2 , x3 ]T = [1, 1, 1]T . Para converter o sistema na forma equivalente
x = Bx + g faamos

x1 = 10 [2x2 5x3 + 13]


.
x = Bx + g
x2 = 31 [x1 + x3 + 1]

1
x3 = 2 [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
B = 1/3
0
1/3
e
g = 1/3 .
1/2 4/2
0
7/2

O mtodo iterativo dado na forma

(k+1)

x1
=

(k+1)
x2
=
x(k+1) = Bx(k) + g

x(k+1) =
3
(0)

(0)

(0)

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

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

k = 0, 1, . . . ,

23

Sistemas de equaes lineares

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)
(k+1)

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

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


mtodo de Jacobi.
Um melhoramento ao mtodo de Jacobi pode ser dado de acordo com o prximo exemplo.
Exemplo 2.2 Consideremos, de novo, o sistema linear dado no exemplo anterior e o processo
iterativo

h
i
(k+1)
(k)
(k)
1

x
=
2x

5x
+
13

1
2
3
10

h
i
(k+1)
(k)
(k+1)
,
k = 0, 1, . . . ,
+ x3 + 1
x2
= 31 x1

h
i

x(k+1) = 1 x(k+1) 4x(k+1) + 7


1
2
3
2
(0)

(0)

(0)

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

n
i1
X
X
1
(k+1)
(k)
(k+1)
xi
=
aij xj + bi ,
aij xj

i = 1, . . . , n.
(2.4)

aii
j=1

j=i+1

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


mtodo de Gauss-Seidel.

2.5

Convergncia dos mtodos iterativos

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


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




lim ke(k) 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 2.4 O mtodo iterativo (2.2) converge, qualquer que seja a aproximao inicial
x(0) , se e s se
lim kB k k = 0.
k+

24

Sistemas de equaes lineares

Demonstrao: De facto, atendendo a que x = Bx + g, tem-se que


e(k) = x x(k) = Bx Bx(k1) = Be(k1) ,

k = 1, 2, . . . .

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

k = 1, 2, . . . ,

(2.5)

e, como tal,
lim ke(k) k = 0 lim kB k 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 suficiente de convergncia
mais til que a referida no teorema anterior.
Teorema 2.5 Se kBk < 1 ento o mtodo iterativo (2.2) converge, qualquer que seja a
aproximao inicial escolhida, e tem-se que
ke(k) k kBkk ke(0) k,

k = 1, 2, . . . .

(2.6)

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

k = 1, 2, . . . .

(2.7)

Por outro lado, se for conhecido um valor aproximado de kBk (ou (B)), de (2.6) (ou
(2.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 (ou (B)kmin ).
O resultado anterior d-nos apenas uma condio suficiente de convergncia. Para
estabelecer uma condio necessria e suficiente de convergncia temos que usar a noo
de raio espectral de uma matriz.
Pelo Exerccio 2.14 podemos concluir que (A) kAk, o que permite estabelecer o
seguinte teorema.
Teorema 2.6 O mtodo iterativo (2.2) converge, qualquer que seja a aproximao inicial
x(0) escolhida, se e s se (B) < 1.
Demonstrao: 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 definir um processo iterativo de forma (2.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 (2.2), a aproximao inicial x(0) = z e
g = z temos
x(1) = Bz + z = z + z = (1 + )z.

25

Sistemas de equaes lineares

Repetindo o processo temos, sucessivamente,


x(2) = Bx(1) + z = (1 + + 2 )z,

...,

x(k)

k
X
j z.
= Bx(k1) + z =
j=0

Como || 1 conclumos que o mtodo iterativo assim definido divergente.

Vamos agora estudar a convergncia dos mtodos de Jacobi e Gauss-Seidel. Seja Ax =


b, com A Mn (R) uma matriz invertvel. Considerando
com P uma matriz invertvel,

A = P (P A),

(2.8)

podemos definir (como vimos) o mtodo iterativo


x(0)
dado
x(k+1) = Bx(k) + g, k = 0, 1, . . . ,

(2.9)

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

aii

a22

D=
,
..

L=

0
a21
..
.

0
..
.

..

.
an1 an,n1 0

ann

0 a12
a1n

..
.
.
.
.

.
.
.
U =

0 an1,n
0

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


Ax = b (D L U )x = b Dx = (L + U )x + b.
Caso D seja invertvel, temos que
x = D 1 (L + U )x + D 1 b.
O mtodo de Jacobi assim dado por (2.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 definir o mtodo de Gauss-Seidel, consideramos
Ax = b (D L U )x = b (D L)x = U x + b.
Caso D L seja invertvel ou, o que equivalente, caso D seja invertvel, temos que
x = (D L)1 U x + (D L)1 b.

O mtodo de Gauss-Seidel assim dado por (2.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.
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:

26

Sistemas de equaes lineares

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 U k < 1 o mtodo converge.

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


convergncia especfico 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 2.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 caso do mtodo de Jacobi. A matriz B de iterao do mtodo dada por

12
aa1n
0
aa11
11

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

n2
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

Assim, pelo Teorema 2.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 suficiente de convergncia.
Assim, se a matriz do sistema a 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 afirmar quanto convergncia dessas sucesses.
Exerccio 2.8 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.

2.6

O mtodo dos mnimos quadrados

Desde a sua primeira aplicao a um problema de astronomia por Gauss2 , o mtodo dos
mnimos quadrados tem vindo a ser aplicado num vasto conjunto de situaes tanto no
campo da cincia como no da engenharia.
2

A questo de saber a quem deve ser dado o crdito do mtodo dos mnimos quadrados deu azo a uma
famosa disputa entre Gauss, que o inventou, por volta de 1790, e Legendre, que o publicou primeiro, em
1805 (no mesmo ano em que Gauss inventou a transformada rpida de Fourier e que tambm no publicou).

27

Sistemas de equaes lineares

Consideremos o sistema linear Ax = b onde o nmero de equaes excede o nmero


de incgnitas, isto , um sistema linear onde A uma matriz do tipo m n, com m > n.
Generalizando a notao usada durante o captulo diremos que A Mmn (R), com m > n.
Os sistemas deste tipo so, em geral (mas nem sempre) impossveis. No entanto, eles surgem
em muitas aplicaes prticas e, por isso, vo merecer a nossa ateno.
Regresso linear. Suponhamos duas grandezas fsicas x e y relacionadas pela expresso
y = a + bx, em que a e b so parmetros a determinar. Suponhamos que foram efectuados
seis pares de medies (xi , yi ), i = 1, 2, . . . , 6. Ficamos assim com o sistema (geralmente
impossvel)

1 x1
y1
1 x2

  y2
1 x3 a
y3

1 x4 b = y 4 .

1 x5
y5
1 x6
y6
Determinao de cotas em topografia. Obtiveram-se as cotas xi de um conjunto de
pontos i = 1, 2, 3, 4 relativamente uns aos outros, tendo-se tomado a cota do ponto i = 4
como referncia. As relaes obtidas foras as seguintes:

x1 x2 = 1,0

2 x3 = 2,0

x3 x4 = 1,5
.
x

1 x4 = 3,0

x x3 = 2,8

1
x2 x4 = 3,0
Em notao matricial, e fazendo x4 = 0, temos o sistema impossvel

1 1 0
1,0
0 1 1
2,0

x1

0 0

x2 = 1,5 .
1 0

3,0
1 0 1 x3
2,8
0 1
0
3,0

(2.10)

Ajustar uma curva a um conjunto de pontos dados. So dadas as coordenadas


(xi , yi ), i = 1, 2, . . . , m, de m pontos e pretende-se ajustar uma curva do tipo
f (x) = c1 1 (x) + c2 2 (x) + + cn n (x),
em que 1 , 2 , . . . , n so funes conhecidas, sendo os cj , com j = 1, 2, . . . , n, parmetros
a determinar. Obtemos assim o sistema

1 (x1 ) 2 (x1 ) . . . n (x1 )


c1
y1
1 (x2 ) 2 (x2 ) . . . n (x2 ) c2 y2

Ax = b
.. = .. .
..
..
..
..

.
.
.
.
.
.
1 (xm ) 2 (xm ) . . . n (xm )

cn

Como, em geral, m n, o sistema , normalmente, impossvel.

ym

28

Sistemas de equaes lineares

Como vimos temos muitas vezes que considerar sistemas Ax = b, com A Mmn (R),
m > n, impossveis. Nesses casos o resduo Ax b diferente de zero, isto ,
r(x) = Ax b 6= 0,

x Rn .

Como no existe x Rn que torna r(x) = 0, vamos determinar o vector x


b Rn que
minimiza a norma do resduo, isto , que minimiza kr(x)k. O vector x
b nestas condies
chamado a soluo de Ax = b (no sentido) dos mnimos quadrados, pois, normalmente,
calcula-se o vector que minimiza kr(x)k2 .
O seguinte teorema, cuja demonstrao ser omitida, estabelece a existncia e unicidade
de soluo do problema dos mnimos quadrados.
Teorema 2.8 Para A Mmn (R) e b Rm existe uma nica soluo de Ax = b no
sentido dos mnimos quadrados se e s se car(A) = n.
A determinao da soluo dos mnimos quadrados, caso exista, feita de acordo com
o seguinte teorema.
Teorema 2.9 Para A Mmn (R) e b Rm temos que x
b Rn a soluo de Ax = b no
sentido dos mnimos quadrados se e s se for a soluo de AT Ab
x = AT b.
Exerccio 2.9 Determine a soluo dos mnimos quadrados do sistema Ax = b dado por
(2.10).
Resoluo: Para este problema temos que

1
0 0 1 1 0

AT A = 1 1 0 0 0 1

0 1 1 0 1 0

1 1 0

0 1 1

3 1 1

0 0
1
= 1 3 1
1 0
0

1 1 3
1 0 1
0 1
0

1
0 0 1 1 0

AT b = 1 1 0 0 0 1

0 1 1 0 1 0

1,0
2,0
1,5
3,0
2,8
3,0

6,8

= 4,0 .

3,3

x
b1
b2 , soluo dos mnimos quadrados do sistema, dado por
Assim, o vector x
b= x
x
b3

3 1 1
x
b1
6,8
AT Ab
x = AT b 1 3 1 x
b2 = 4,0 .
1 1 3
x
b3
3,3

29

Sistemas de equaes lineares

Para resolver este


sivamente

3 1 1
1 3 1
1 1 3

sistema, vamos usar o mtodo de eliminao de Gauss. Temos suces


6,8
L2 = 3L2 + L1
4,0
L3 = 3L3 + L1
3,3

3 1 1 6,8
3 1 1 6,8
0 8 4 18,8 0 8 4 18,8 .
L3 = L3 + (1/2)L2
0 4 8 3,1
0 0
6
6,3

Passando fase ascendente conclui-se imediatamente que

x
b1
3,575
x
b= x
b2 = 2,875 .
x
b3
1,05

Consideremos os dados {(xi , yi ), i = 0, . . . , m}, que pretendemos ajustar a um modelo


definido custa de um nmero de parmetros muito inferior ao nmero de dados. Uma
situao muito usual consiste em considerar o modelo como sendo um polinmio
pn (x) = a0 + a1 x + + an xn ,
com a0 , . . . , an os parmetros a determinar. Temos ento que resolver o sistema

= y0
a0 + a1 x0 + a2 x20 + + an xn0

a0 + a1 x1 + a2 x2 + + an xn
=
y1
1
1
.
..

a0 + a1 xm + a2 x2m + + an xnm = ym
que pode ser escrito na forma matricial

1 x0

1 x1
Ax = b
..
..
.
.
1 xm

xn0

xn1
.
..
. ..
xnm

a0
a1
..
.
an

y0
y1
..
.
ym

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


mnimos quadrados, como vimos, consiste na determinao dos valores de x
b = [b
a0 , . . . , b
an ]T
2
que minimizam a norma do quadrado dos resduos, isto , kAx bk . De acordo com o
Teorema 2.9, o vector x
b que torna mnima esta norma a soluo de AT Ab
x = AT b, que,
para este exemplo, pode ser escrito na forma

m
X

m
X

xni

xi

m+1

i=0
i=0

X
m
m
m
X
X

xn+1
x
x

i
i
i

i=0
i=0
i=0

..
..
..
..

.
.
.
.

X
m
m
m
X
X

x2n
xn+1

xni
i
i
i=0

i=0

i=0

b
a0

b
a1
..
.

b
an

m
X

yi

i=0

m
X

y i xi
=
i=0

..

X
m

yi xni

i=0

(2.11)

30

Sistemas de equaes lineares

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


os valores de b
a0 , . . . , b
an 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, caso os pontos xi , i = 0, . . . , m, sejam distintos, no
singular. Assim sendo, o problema da determinao do polinmio dos mnimos quadrados
tem soluo nica.
O problema da determinao do polinmio dos mnimos quadrados poderia ser colocado
da seguinte forma alternativa: determinar os parmetros b
a0 , . . . , b
an por forma a que
com

(b
a0 , b
a1 , . . . , b
an ) =

min

ai ,i=0,...,n

(a0 , a1 . . . , an ),

m
X
(yi a0 a1 xi an xni )2 .
(a0 , a1 . . . , an ) =
i=0

Consideremos as observaes {(xi , yi ), i = 0, . . . , m} que correspondem a pontos do


plano que pretendemos ajustar a uma recta da forma p1 (x) = b
a0 + b
a1 x. A questo que se
coloca a de determinar os valores b
a0 e b
a1 por forma a
(b
a0 , b
a1 ) = min

a0 ,a1

m
X
(yi a0 a1 xi )2 .
i=0

O ponto (b
a0 , b
a1 ) onde esta funo atinge o mnimo satisfaz as condies
m
X

(yi b
a0 b
a1 x i ) = 0

a0 , b
a1 ) = 0

a (b
i=0
0

(b
a0 , b
a1 ) = 0

(yi b
a0 b
a1 xi )xi = 0

a1

i=0

Temos ento um sistema linear para resolver da forma

m
X
X
yi
xi "
m+1
#
b

a
0
i=0

i=0

= m

m
m
b
X
X
X
a1

x2i
y i xi
xi
i=0

i=0

i=0

(2.12)

Resolvendo este sistema linear, obtemos os valores de b


a0 e b
a1 e, logo, a recta dos mnimos
quadrados (ou recta de regresso).
No caso da determinao do polinmio dos mnimos quadrados de grau n, o ponto
(b
a0 , b
a1 , . . . , b
an ) que minimiza a funo , tal que
m
X

(yi b
a0 b
a1 x i , b
an xni )
= 0

(b
a0 , b
a1 , . . . , b
an ) = 0

a0
i=0
..
..

.
.

(b
a0 , b
a1 , . . . , b
an ) = 0

(yi b
a0 b
a1 x i , b
an xni )xni = 0

an

i=0

Temos ento um sistema linear para resolver da forma (2.11).

Sistemas de equaes lineares

31

Exerccio 2.10 Mostre que o


AT Ab
x = AT b, com

1
A=
..
.
1

sistema de equaes normais (2.12) pode ser escrito na forma


x0
x1
..
.
xm

"
#

b
a0

, x
b=
b
a1

e b=

y0

y1
..
.
ym

Na prtica, com o intuito de simplificar a notao, usual omitir a notao x


b para
representar a soluo do sistema Ax = b no sentido dos mnimos quadrados. Assim,
dado um sistema de equaes lineares Ax = b, iremos considerar a soluo dos mnimos
quadrados (caso exista) como sendo o vector x que soluo do sistema de equaes normais
AT Ax = AT b.
Exerccio 2.11 Foi efectuado um teste mecnico para estabelecer a relao entre tenses e
deformaes relativas numa amostra de tecido biolgico, tendo-se obtido a seguinte tabela:
tenso (N/cm2 )
deformao (cm)

0,06
0,08

0,14
0,14

0,25
0,20

0,31
0,23

0,47
0,25

0,60
.
0,28

Usando a recta dos mnimos quadrados, obtenha uma estimativa para a deformao correspondente a uma tenso de = 0,08 N/cm2 .
Resoluo: O sistema de equaes normais que perminte obter
a0 + a1 pode ser escrito na forma AT Ax = AT b, com

1 0,06
1 0,14



1 0,25

a0

A=
e b=
, x=

a1
1 0,31

1 0,47

1 0,60
ou seja, dado por
T

A Ax = A b
cuja soluo

6
1,83
1,83 0,7627

a0
a1



a0
a1

0,09035
0,34857

a recta de regresso =
0,08
0,14
0,20
0,23
0,25
0,28

1,18
0,4312

Conclumos ento que a recta de regresso dada por


= 0,09035 + 0,34857.
Uma estimativa para a deformao correspondente a uma tenso de = 0,08 N/cm2
pode ser agora dada por
= 0,09035 + 0,34857,08 = 0,1182356 cm 0,12 cm.

32

Sistemas de equaes lineares

Como vimos, 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
A+ = (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
factorizao QR da matriz A. Seja A Mmn (R), com m n, uma matriz de caracterstica
n. Neste caso, a matriz A pode ser escrita na forma 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
1 Q
T b,
x=R
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.

2.7
2.7.1

Problemas
Exerccios para resolver nas aulas

Exerccio 2.12 Considere o sistema Ax = b onde A =

4 1
1 3

e b=

1. Mostre que A admite uma decomposio A = LU .


2. Determine a soluo dos sistema tendo em ateno a alnea anterior.

1
2

33

Sistemas de equaes lineares

Exerccio 2.13 Seja A uma matriz quadrada de ordem n. Mostre que:


1. se A no singular K(A) 1;
2. para a matriz identidade, K(I) = 1;
3. para todo o escalar , K(A) = K(A);
4. se A uma matriz diagonal A = diag(ai ), K2 (A) =

max |ai |
min |ai | .

Exerccio 2.14 Seja A uma matriz real, no singular e de ordem n. Prove que se um
valor prprio de A ento
1
|| kAk.
kA1 k
Exerccio 2.15 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 .
Exerccio 2.16 Seja A a matriz definida por A =




1 a
1 a/2
1
, com inversa A =
.
0 2
0 1/2

1. Calcule o nmero de condio da matriz A associado norma k k1 .


2. Suponha que, ao resolver o sistema Ax = b por eliminao de Gauss, com a = 10,
encontra uma soluo x
b que satisfaz kAb
x bk1 /kbk1 < 103 . Determine um majorante
para o erro relativo de x
b.

Exerccio 2.17 Resolva o sistema



2,000112x1 + 1,414215x2 = 0,521471
1,414215x1 + 1,000105x2 = 0,232279
pelo mtodo de eliminao de Gauss. Sabendo
soluo exacta, explique os resultados obtidos.

1 0 a

Exerccio 2.18 Considere A =


0 1 0
a 0 1

1/(1 + a2 )
1
0
A =
2
a/(1 + a )

que (x1 , x2 ) = (607,1248, 858,2826) a sua

, com a R, e verifique que

0 a/(1 + a2 )
1
0 .
2
0
1/(1 + a )

1. Calcule as normas k k e k k1 da matriz A.

2. Calcule K (A) e K1 (A). Para que valores de a h mau condicionamento da matriz?


Exerccio 2.19 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.

34

Sistemas de equaes lineares

Exerccio 2.20 (Matlab) Determine a factorizao LU

1 0 3
A= 2 2 2
e
B=
3 6 4

das matrizes

1 1 3
2 2 2 .
3 6 4

4 1 1
Exerccio 2.21 (Matlab) Verifique que a matriz A = 1 2 0 simtrica e posi1 0 3
T
tiva definida e determine a factorizao LL de A.
Exerccio 2.22 (Matlab) Recorra factorizao LU

x1 + 2x2 + x3 +

2x1 + 3x2 + 4x3 +


x1 + 2x2 + 2x3 +

3x1 + 7x2 x3
Exerccio 2.23 (Matlab) Determine a factorizao
correndo escolha parcial de pivot:

1 0 3
A = 2 2 2 ;
B=
3 6 4

Exerccio 2.24 (Matlab) Seja A =

1
0 1

para resolver o sistema


x4
x4
x4
x4

= 2
= 6
.
= 2
= 8

P A = LU das seguintes matrizes, re-

0 2
3
1 1 1 .
0 1 1
0 < 1.

1. Calcule K2 (A ) e K2 (AT A ), quando 0 e represente os resultados graficamente.


2. Suponha que quer resolver o sistema A x = b , onde b determinado tal que x = [1, 1]T
e a soluo do sistema. Determine como evolui o erro relativo da soluo numrica
calculada x
em funo de .
Exerccio 2.25 (Matlab) Considere o sistema

2
A = 2
0

linear A x = b , com

2 0
2 0
1 3

e b escolhido por forma a que a soluo do sistema seja x = [1, 1, 1]T , sendo um nmero
real positivo.
1. Seja = 0,1. Calcule a factorizao LU com e sem escolha parcial de pivot. Determine
a soluo do sistema linear usando ambas as factorizaes. Calcule kA x
b b k2 , sendo
x
b cada uma das solues obtidas.
2. Mostre experimentalmente que se 0 ento |l32 | (sem efectuar escolha parcial
de pivot). O que acontece ao nmero de condio da matriz A e dos factores L e U
(relativamente norma k k2 ) medida que 0?.

3. Considerando novamente 0, qual o comportamento do erro relativo do sistema em


funo de ? Comente os resultados.

35

Sistemas de equaes lineares

Exerccio 2.26 (Matlab)Considere a matriz Hn = (hij )ni,j=1 tal que


hij =

1
,
i+j1

i, j = 1, ..., n,

chamada matriz de Hilbert de ordem n, em homenagem ao famoso matemtico alemo David


Hilbert (1862-1943).
1. Fazendo n variar entre 2 e 10, determine o nmero de condio (relativamente norma
k k2 ) da matriz Hn e represente os resultados graficamente.
2. Supondo que se pretende resolver o sistema Hn x = b, onde b determinado tal que
x = [1, 1, ..., 1]T a soluo do sistema, determine como evolui o erro relativo da soluo
numrica calculada x
em funo de n (faa variar n entre 2 e 10).
Exerccio 2.27 (Matlab) Determine

x1 +
5x1 +

3x1 +

a soluo do sistema
x2 x3 = 1
2x2 + 2x3 = 4 :
x2 + x3 = 1

1. usando a factorizao LU , sem escolha parcial de pivot;


2. usando a factorizao LU , com escolha parcial de pivot.

Exerccio 2.28 (Matlab) Um engenheiro electrotcnico supervisiona a produo de trs


tipos de componentes electrnicas. Trs tipos de material - metal, plstico e borracha - so
necessrios para a produo. As quantidades exigidas para produzir cada componente so
indicadas na tabela:
componente metal(g/componente) plstico(g/componente) borracha(g/componente)
1
15
0,30
1,0
.
2
17
0,40
1,2
3
19
0,55
1,5
Se diariamente estiverem disponveis 3,89, 0,095 e 0, , 282 quilogramas de metal, plstico e
borracha, respectivamente, quantas componentes podem ser produzidas por dia?
Exerccio 2.29 (Matlab) O sistema Ax =
para a determinar, sabendo que

1 2 1
1
2 3 4
1
A=
1 2 2
2
3 7 1 1

b tem soluo nica. Use a factorizao LU

2
6

e b=
2 .
8

Exerccio 2.30 (Matlab) Considere os dados da tabela


Teste
Tenso
Deformao

1
0,00
0,00

2
0,06
0,08

3
0,14
0,14

4
0,25
0,20

5
0,31
0,23

6
0,47
0,25

7
0,60
0,28

8
0,70 ,
0,29

correspondentes aos valores da deformao para diferentes valores da tenso aplicada numa
amostra de tecido biolgico (um disco invertebral). Determine a equao da recta de regresso,
usando processos diferentes: 1. a instruo polyfit; 2. o comando \. Estime o valor da
deformao correspondente a uma tenso igual a 0,9.

36

Sistemas de equaes lineares

Exerccio 2.31 (Matlab) O seguinte sistema de equaes foi obtido aplicando a lei da
corrente em rede a um determinado circuito.

25I4 = 200
55I1
37I3 4I4 = 250 .

25I1 4I3 + 29I4 = 100


Resolva o sistema.

Exerccio 2.32 Aplicando o mtodo


seguinte sistema

3 1
3
6
3
3

de Jacobi, determine uma aproximao da soluo do


1
x1
1
2 x2 = 0 ,
7
x3
4

comeando com uma aproximao inicial x(0) = [0, 0, 0]T .


Exerccio 2.33 Obtenha duas aproximaes

8x + y
x 5y

x + y

para a soluo do seguinte sistema linear


+ z = 1
+ z = 16 ,
4z = 7

partindo do vector inicial x(0) = [0, 0, 0]T , usando o mtodo de Jacobi e o mtodo de Gauss-Seidel. Compare as aproximaes obtidas com a soluo do sistema.
Exerccio 2.34 Para aproximar a soluo (x1 , x2 , x3 ) de um sistema linear Ax = b, recorreu-se ao seguinte mtodo iterativo
(k+1)
(k)
(k)

= 0,6x2 0,6x3 + 1
x1
(k+1)
(k)
(k)
k = 0, 1, . . . .
x2
= 0,6x1 0,6x3 + 1 ,

(k+1)
(k)
(k)
x3
= 0,6x1 0,6x2 + 1

1. Escreva a respectiva matriz de iterao. O mtodo ser convergente para todo o ponto
inicial?

2. O mtodo apresentado pode ser identificado com o mtodo de Jacobi ou com o mtodo
de Gauss-Seidel? Justifique a sua resposta.
3. Sabendo que b = [1, 1, 1]T , obtenha a matriz

4x
Exerccio 2.35 Considere o sistema linear
x

A.
y
z = 2
+ ky +
3z = 4 .
+ 2y + 0,5z = 4

1. Determine os valores do parmetro k para os quais o sistema tem uma s soluo.


2. Para k = 0 poder aplicar o mtodo de Gauss-Seidel sem alterar o sistema? Justifique.

3. Determine valores de k para os quais seja garantida a convergncia do mtodo de Jacobi.


4. Faa k = 0 e calcule duas aproximaes para a soluo do sistema, utilizando o mtodo
de Jacobi.

37

Sistemas de equaes lineares

Exerccio 2.36 Considere o sistema linear

x
x

y z = 1
2y + az =
0 , com a R .
+ 2z =
3

1. Determine todos os valores do parmetro a que garantem a convergncia do mtodo de


Gauss-Seidel quando aplicado a este sistema.
2. Para a = 1 efectue duas iteraes do referido mtodo, indicando uma estimativa para
o erro cometido.
Exerccio 2.37 Considere o sistema linear

x 2y = 2
.
2x + y =
2
1. Verifique que o mtodo de Gauss-Seidel aplicado ao sistema diverge.
2. Reordene as equaes de modo a obter um sistema equivalente que lhe permita garantir
que este mtodo converge.
Exerccio 2.38 Considere o sistema

6
5 2 3
2 3 1 x = 7 .
0
3 1 5

1. Prove que o polinmio caracterstico associado matriz de iterao do mtodo de Gauss2


2
-Seidel, quando aplicado ao sistema anterior, P () = 3 + 46
75 25 .
2. Localize e separe as razes de P () = 0.
3. O mtodo de Gauss-Seidel, aplicado ao sistema anterior, convergente? Justifique.

4. Determine a segunda aproximao gerada pelo mtodo de Gauss-Seidel, quando aplicado


ao sistema anterior.

0
2
1
1
2 .
Exerccio 2.39 Considere a matriz A = 1
0 3 1
1. Mostre que o polinmio caracterstico associado a A P () = 3 7 + 1.

2. Localize e separe todos os valores prprios de A.


3. Seja A a matriz de iterao de um mtodo iterativo que aproxima a soluo de um sistema
de equaes lineares Cx = d. Ser que, recorrendo ao resultado da alnea anterior, pode
tirar alguma concluso acerca da convergncia desse mtodo iterativo? Justifique.

5x y = 3
tem a soluo [1, 2]T . AproximeExerccio 2.40 (Matlab) O sistema
x + 10y = 19
-a usando os mtodos iterativos de Jacobi e Gauss-Seidel com x(0) = [0, 0]T , e compare os
resultados.

38

Sistemas de equaes lineares

Exerccio 2.41 (Matlab) Aplique


soluo do sistema

0
1

os mtodos de Jacobi e Gauss-Seidel para aproximar a

0 1
1
0 x = 0 ,
0
1

para = 2 e = 2. Comente os resultados obtidos.

Exerccio 2.42 (Matlab) Verifique se os mtodos


quando aplicados aos seguintes sistemas:

9x + 3y + z = 13
x
1.
6x +
8z = 2 ; 2.
x

2x + 5y z = 6
4x

3x + 4y + 5z = 6
3.
2x + 2y 3z = 3 .

2y z = 1

de Jacobi e Gauss-Seidel convergem


+ y + 6z = 8
+ 5y z = 5 ;
+ 2y 2z = 4

Exerccio 2.43 (Matlab) Uma fbrica de equipamento electrnico produz transistores, resistncias e chips de computadores. Para a respectiva construo, os materiais exigidos so
cobre, zinco e vidro. O nmero de unidades necessrias para cada componente so indicadas
na tabela:
componente
cobre zinco vidro
transistores
4
1
2
.
resistncias
3
3
1
chips de computadores
2
1
3
Numa determinada semana as quantidades de materiais disponveis so 960 unidades de cobre,
510 de zinco e 610 de vidro.
1. Obtenha o sistema que permite determinar o nmero de componentes de cada tipo que
podem ser produzidas naquela semana.
2. Aproxime a soluo do sistema recorrendo aos mtodos de Jacobi e de Gauss-Seidel.
3. Compare os resultados obtidos em na alnea anterior com a soluo exacta.
Exerccio 2.44 Determine a linha recta que melhor se ajusta, no sentido dos mnimos quadrados, aos seguintes pontos (e represente graficamente):
1. (0, 0), (1, 0), (3, 12);

2. (1, 2), (1, 3), (2, 5), (0, 0).

Exerccio 2.45 Determine a soluo no sentido dos mnimos quadrados do sistema (com m
equaes e uma incgnita) x = 1 , x = 2 , . . . , x = m .
Exerccio 2.46 O sistema

x1 + 2x2 = 1
2x1 + 5x2 = 0

3x1 + 7x2 = 2

impossvel. Verifique que a soluo no sentido dos mnimos quadrados nica.

39

Sistemas de equaes lineares

Exerccio 2.47 O proprietrio de uma empresa em rpido crescimento econmico verificou


que, nos primeiros seis anos, o lucro, L, da sua empresa em funo do nmero de anos decorridos, N , poderia ser aproximado por uma transformao linear L = a + bN . Atendendo a que
os resultados do seu negcio foram
N (nmero de anos)
L (lucro, em milhares de euros)

0
0

1
1

3
3

6
,
4

determine:
1. a recta dos mnimos quadrados para o problema descrito;
2. um valor para o lucro previsvel no final do stimo ano.
Exerccio 2.48 Verificar que a recta de regresso passa pelo ponto cuja abcissa a mdia
dos xi , i = 1, . . . , n, e cuja ordenada a mdia dos f (xi ), i = 1, . . . , n.
Exerccio 2.49 (Matlab)Calcule a parbola dos mnimos quadrados para a funo f dada
pela seguinte tabela
xi
f (xi )

0
2,9

0,1
2,8

0,2
2,7

0,3
2,3

0,4
2,1

0,5
2,1

0,6
.
1,7

Exerccio 2.50 Determine as constantes a e b por forma a que y = beax se ajuste aos dados
da tabela
xi 1 1,25 1,5 1,75 2,0
yi 5,1 5,8 6,5 7,5 8,4
no sentido dos mnimos quadrados.
Exerccio 2.51 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
91

28
99

37
104

51
108

59
111

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


Exerccio 2.52 (Matlab)Seja

A=

1
1
1
1
1

2
2
2
2
2

b=

1
2
3
4
5

Calcule a aproximao dos mnimos quadrados para o problema Ax = b usando processos


diferentes: 1. a instruo polyfit; 2. o comando \; 3. a instruo pinv; 4. a decomposio
qr.

40

Sistemas de equaes lineares

Exerccio 2.53 A lei de Hooke, devida a Robert Hooke (1635-1703), 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
13,3

5
16,3

8
19,4

10
.
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.

2.7.2

Exerccios de aplicao engenharia

Exerccio 2.54 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

..
.

0
..
.
..
.

6 4
1
4

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 3

Valores prprios e valores singulares


Dada uma matriz A Mn (C), os valores pprios de A so os escalares para os quais
x Cn ,

Ax = x,

x 6= 0.

A x chama-se vector prprio associado ao 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,
xT Ax
,
=
kxk2

com xT , isto o vector transposto do seu conjugado. Note-se que, se x Rn , xT = 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. Os valores prprios de A so as n razes, reais com complexas, iguais
ou distintas, do polinmio caracterstico det(A I) = 0, em , de grau n.
Por outro lado, dado um polinmio mnico arbitrrio
p() = n + cn1 n1 + + c1 + c0 ,
ele o polinmio caracterstico da sua

0
1

Cn = 0
..
.
0

matriz companheira
0
0
1
..
.

0 c0
0 c1
0 c2
..
. . ..
. .
.
0 1 cn1

Como as razes de um polimio de grau superior a 4 no podem, em geral, ser calculadas


num nmero finito de passos temos que o mesmo se passa para o clculo de valores prprios
de matrizes com ordem superior a 4. Temos, pois, que pensar em mtodos iterativos para
o clculo dos valores prprios de uma matriz.

41

42

Valores prprios e valores singulares

3.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 mtodo da potncia, que calcula
a sucesso de vectores x(k+1) = Ax(k) , k = 1, 2, ..., partindo de um vector no nulo x(0) ,
permite obter o vector prprio x1 associado ao maior valor prprio (em mdulo) 1 da
matriz A.
De facto, considere-se x(0) escrito como combinao linear dos vectores prpios de A,
isto ,
n
X
i xi .
x(0) =
i=1

Tal combinao sempre possvel pois assumimos que os vectores prprios de A so linearmente independentes. Ento
x(k) = Ax(k1) = = Ak x(0) =

n
X

ki i xi .

i=1

Colocando k1 em evidncia (1 6= 0), temos que


x

(k)

k1

1 x1 +


n 
X
i k
i=2

i xi

Como 1i < 1, para todo o i > 1, temos que a sucesso converge para um mltiplo de x1 .
Uma vez calculado o vector prprio x1 , por normalizao, o valor prprio 1 calculado
usando o quociente de Rayleigh.
Exemplo 3.1 Considere-se a matriz A e o vector x(0) dados por


 
1,5 0,5
0
(0)
A=
,
x =
.
0,5 1,5
1
Pelo mtodo da potncia obtemos
k
0
1
2
3
4
5
6
7
8

T
x(k)
0,0 1,0
0,5 1,5
1,5 2,5
3,5 4,5
7,5 8,5
15,5 16,5
31,5 32,5
63,5 64,5
127,5 128,5

(k)

1,8000
1,9412
1,9846
1,9961
1,9990
1,9998
1,9999
2,0000

que, permite antever a convergncia do mtodo para o valor prprio de maior mdulo, que
igual a 2.

43

Valores prprios e valores singulares

O crescimento geomtrico das componentes do vector em cada iterao pe em risco


o eventual overflow (ou underflow se 1 < 1). Para contornar esse problema, as sucessivas
aproximaes ao vector prprio devem ser normalizadas, dando lugar ao esquema iterativo
x(k) = Ay (k1) ,

y (k) = x(k) /kx(k) k,

a partir de y (0) = x(0) /kx(0) k. Com esta normalizao, obtemos o seguinte algoritmo.
Algoritmo 3.1 Mtodo da potncia
Dados: x(0) ,
y (0) :=

x(0)
kx(0) k

T

(0) := y (0) Ay (0)

k := 0

Repete
k := k + 1
x(k) := Ay (k1)
y (k) :=

x(k)
kx(k) k


T
(k) := y (k) Ay (k)

at que |(k) (k1) | < |(k) |

Resultado: 1 (k)

A velocidade de convergncia do mtodo da potncia depende da razo |2 /1 |. Escolhendo um escalar tal que
|2 |
|2 |
<
(3.1)
|1 |
|1 |
a convergncia do mtodo da potncia pode ser acelerada.
Exerccio 3.1 Mostre que, se um valor prprio de A,
1. um valor prprio de A I, com I a matriz identidade da mesma ordem da
matriz A;
2. com A uma matriz invertvel, ento 1 um valor prprio de A1 .
Atendendo ao exerccio anterior, temos que a convergncia do mtodo da potncia pode
ser acelerada se considerarmos, na aproximao do valor prprio de maior mdulo da matriz
A I, um que verifique (3.1). Para calcular o valor prprio de maior mdulo de A
basta adicionar ao resultado.
Atendendo ainda 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. Neste caso, temos o esquema iterativo
Ax(k) = y (k1) ,

y (k) = x(k) /kx(k) k,

44

Valores prprios e valores singulares

que evita o clculo explcito da matriz inversa. O mtodo inverso da potncia pode ser usado
de forma muito eficaz se uma boa aproximao para o valor prprio de menor mdulo da
matriz A for conhecida. Essa aproximao pode ser obtida pelo quociente de Rayleigh, de
acordo com o esquema iterativo
T

k = y (k1) Ay (k1) ,
(A k I)x(k) = y (k1) ,
y (k) = x(k) /kx(k) k.
Suponhamos agora que pretendemos calcular o valor prprio de A que est mais
prximo de , com um nmero real ou complexo. Neste caso, o menor valor prprio
de A I min = 0. Para calcular procede-se da seguinte forma, cuja
justificao se encontra expressa no exerccio anterior: calcula-se min , o menor valor
prprio (em mdulo) de A I, pelo mtodo inverso 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

X
(l)
Ci = z C : |z aii |
|aij | ,
, i = 1, ..., n,

j=1,j6=i

ou

(c)

Cj

z C : |z ajj |

n
X

i=1,i6=j

|aij | ,

j = 1, ..., n,
(l)

(c)

definidos 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 definido 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 m n, forem
disjuntos da unio dos restantes m n crculos, ento a sua unio contm exactamente m
valores prprios.

3.2

Clculo de todos os valores prprios

Definio 3.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.

45

Valores prprios e valores singulares

Considerem-se Q(0) e R(0) as matrizes obtidas pela decomposio QR da matriz A.


Defina-se A(1) = R(0) Q(0) e considerem-se as matrizes Q(1) e R(1) obtidas pela decomposio QR da matriz A(1) . Podemos obter assim a matriz A(2) = R(1) Q(1) . possvel
demonstrar que, se os valores prprios de A forem tais que
|1 | > |2 | > > |n |,

1 t12 t1n

2 t2n

lim A(k) = T =
..
k+

.
n

com

A(k) = R(k1) Q(k1) ,


sendo Q(k1) e R(k1) as matrizes obtidas pela decomposio QR da matriz A(k1) .

3.3

Decomposio em valores singulares

Uma matriz diz-se diagonalizvel se for semelhante a uma matriz diagonal. Prova-se facilmente que se A Mn (C) tiver n vectores prprios linearmente independentes, ento
U 1 AU = , com U a matriz cujas colunas so os vectores prprios de A e a matriz
diagonal formada pelos correspondentes valores prprios.
Se A for uma matriz real simtrica a decomposio em valores prprios A = U U 1
sempre possvel e as colunas de U so os vectores prprios de A que podem ser escolhidos
por forma a constituir uma base ortonormada de Rn . Nesse caso, a matriz U uma matriz
ortogonal (unitria no caso complexo) uma vez que U T U = U U T = I e a decomposio
em valores prprios pode ser escrita na forma A = U U T
Consideremos agora uma matriz arbitrria A Mmn (R) (a generalizao para o caso
complexo pode ser feita facilmente). Neste caso prova-se que a decomposio em valores
singulares
A = U V T
(3.2)
existe sempre, com U Mm (R) e V Mn (R) duas matrizes ortogonais e Mmn (R)
uma matriz diagonal de elemento genrico

0,
i 6= j,
ij =
i 0, i = j.
Os elementos i da diagonal so chamados valores singulares da matriz A e podem ser
ordenados na forma
1 2 p ,
com p = min{m, n}. As colunas ui de U e vi de V so chamados os vectores singlares
esquerdos e direitos, respectivamente.
Exemplo 3.2 Seja

1 2 3
4 5 6

A=
7 8 9 .
10 11 12

46

Valores prprios e valores singulares

A decomposio em valores singulares de A dada por


U V T

25,5
0
0
0,141 0,825 0,420 0,351
0
0,344 0,426
1,29 0
0,298
0,782

=
0
0
0,547 0,0278 0,664 0,509 0
0
0
0
0,750 0,371 0,542 0,0790

0,505
0,574 0,644

0,761 0,057 0,646 .

0,408 0,816 0,408

O seguinte resultado mostra que o nmero de valores prprios no nulos de uma matriz
coincide com a caracterstica dessa matriz.
Teorema 3.1 Se A Mmn (R) tiver caracterstica r, ento A tem r valores singulares
positivos.
Demonstrao: Uma vez que U quadrada e com caracterstica m e que V T quadrada
e com caracterstica n, sabemos, pelas propriedades da caracterstica de uma matriz, que
car(A) = car(U V T ) = car().
Mas uma matriz em escada com r pivots (os valores singulares s positivos), o que
mostra o pretendido.
Os vectores singulares esquerda (as colunas da matriz U ) contm uma base para o
espao das colunas de A. Os vectores singulares direita (as colunas da matriz V ) contm
uma base para o espao nulo de A. Estes factos so enunciados e provados de seguida.
Teorema 3.2 Seja A Mmn (R) uma matriz com caracterstica r. Seja A = U V T a
sua decomposio em valores singulares. Ento:
1. Uma base para C(A) dada por u1 , . . . , ur .
2. Uma base para N (A) dada por vr+1 , . . . vn .
Demonstrao: Como dim(C(A)) = r e dim(N (A)) = n r e quer as colunas de U
quer as de V so linearmente independentes, basta provar que ui C(A), i = 1, . . . , r, e
que vi N (A), i = r + 1, . . . , n.
fcil verificar que ui C(A), para um dado i {1, . . . , r}, multiplicando A por vi :
Avi = U V T vi = U ei = i U ei = i ui ,

em que ei designa a i-sima coluna da matriz identidade de ordem n. Como Avi C(A),
tem-se que ui = (1/i )Avi C(A).
Para mostrar que vi N (A), com i {r + 1, . . . , n}, calcula-se, novamente, o mesmo
produto Avi , mas desta vez com ndices i correspondentes s colunas nulas de , obtendo-se
Avi = U V T vi = U ei = 0.
Notemos a relao que existe entre a decomposio em valores singulares e a decomposio em valores prprios. Consideremos a matriz simtrica AT A que tem todos os seus
valores prprios so reais. Temos que
AT A = (U V T )T (U V T ) = V T (U T U )V T .
Como U ortogonal, U T U = I e ento
AT A = V 2 V T .
A matriz 2 = T Mn (R). Observamos, assim, que AT A e 2 so semelhantes (pois
V T = V 1 ) e, como tal, tm os mesmos valores prprios. Logo, se A tiver caracterstica r,
os valors prprios no nulos de AT A so 1 , . . . , r . Provmos, assim, o seguinte teorema.

47

Valores prprios e valores singulares

Teorema 3.3 Seja A Mmn (R) uma matriz com caracterstica r. Ento, os r valores
singulares no nulos de A so as razes quadradas dos r valores prprios de AT A.
Exemplo 3.3 Pretende-se calcular a decomposio em valores singulares de


2 2
A=
.
1 1
Para isso, calculam-se os valores prprios de
T

A A=

5 3
3 5

que facilmente se prova serem iguais a 8 e 2, e os respectivos vectores prprios (ortonormados)




 
1/ 2
1/2
e v2 =
.
v1 =
1/ 2
1/ 2
Temos ento
=

1
2



2 2
2

e V =


1/2 1/ 2
.
1/ 2 1/ 2

As colunas da matriz U so obtidas fazendo



   
 
2 2
1/2
1
2 2
1 u1 = Av1 =
=
u1 =
1 1
0
0
1/ 2
e
2 u2 = Av2 =

2 2
1 1



 

 
0
0
1/ 2
u1 =
.
=
1
2
1/ 2

Assim, a decomposio em valores singulares de A = U V T






 

2 2
1/ 2 1/2
1 0
2 2
.
=
1 1
0 1
1/ 2 1/ 2
2
Exemplo 3.4 Calculemos, agora, a decomposio em valores singlares de

1 0
A = 0 2 .
0
2

Como

AA =
tem-se que

1 0
0 4

2 0
= 0 1 .
0 0

Para construir V basta encontrar um conjunto ortonormado de vectores, prprios da matriz


AAT , associados a cada um dos valores singulares no nulos. Assim


0 1
.
V = [v1 v2 ] =
1 0

48

Valores prprios e valores singulares

Para determinar a matriz ortogonal U , temos que as duas primeiras colunas so obtidas fazendo
ui =

1
Avi ,
i

ou seja

 
0
1 0
1
0
= 1/2 ,
u1 = 0 2
1
2
0
1/ 2
2


 
1 0
1
1
1

0 2
u2 =
= 0 .
0
1
0
0
2

O vector u3 ser determinado por forma a ser ortogonal a {u1 , u2 } usando o processo de
ortogolalizao de Gram-Schmidt. Obtemos assim

0
u3 = 1/ 2
1/ 2

e ento

A = U V T


0 1
0
2 0 
0 1
= 1/2 0 1/ 2 0 1
.
1 0
0 0
1/ 2 0 1/ 2

Existem muitas aplicaes prticas onde o conhecimento da decomposio em valores


singulares de uma matriz pode ser importante. Uma delas prende-se com o clculo da
norma de uma matriz A. Atendendo ao teorema anterior, tem-se que kAk2 = 1 . Como
consequncia, temos que
1
.
K2 (A) =
r
p
Tambm se pode provar que se A tiver caracterstica r, kAkF = 12 + + r2 .
No captulo anterior definimos a matriz pseudo-inversa de uma matriz A Mmn (R)
com m n, de caracterstica mxima n, como sendo
A+ = (AT A)1 AT .
A noo de matriz pseudo-inversa pode ser generalizada para qualquer matriz A Mmn (R)
(mesmo no sendo AT A invertvel), a partir da decomposio em valores singulares. Se
A = U V T , ento
A+ = V + U T ,
onde + obtida transpondo e invertendo as suas entradas no nulas.
Outro exemplo prende-se com a soluo do problema dos mnimos quadrados correspondente ao sistema Ax = b, quando a matriz A mal condicionada ou no tem caractestica
mxima. De acordo com o Exerccio 3.13, a soluo x
b do problema dos mnimos quadrados
dada por
X uT b
i
vi ,
x
b=
i
i 6=0

onde os i , ui e vi so os valores singulares e os correspondentes vectores singulares de A.


Para problemas mal condicionados, os valores singulares pequenos podem ser omitidos na
soma e, assim, estabilizar a soluo

49

Valores prprios e valores singulares

O problema da compresso de imagens pode, tambm, ser abordado usando a decomposio em valores singulares de uma matriz. Com efeito, uma imagem a preto e branco
pode ser representada por uma matriz A Mmn (R), onde m e n so, respectivamente,
o nmero de pixeis nas direces horizontal e vertical e o elemento genrico aij de A representa o nvel de cinzento do (i, j)-simo pixel. Efectuando a decomposio em valores
singulares (3.2) de A, obtemos
A = 1 u1 v1T + 2 u2 v2T + + p up vpT .
Podemos aproximar A pela matriz Ak obtida truncando a soma anterior nos k primeiros
termos, para k = 1, 2, . . . , p. Como os valores singulares i esto por ordem decrescente, se
os ltimos p k forem despresados isso no dever afectar significativamente a qualidade
da imagem. Para transferir a imagem comprimida Ak , bastar transferir os vectores ui , vi
e os valores singulares i , para i = 1, 2, . . . , k, e no todos os elementos de A.

3.4
3.4.1

Problemas
Exerccios para resolver nas aulas

Exerccio 3.2 Seja A uma matriz n n da qual se conhece um vector prprio x. Mostre que
xT Ax
, onde xT denota o vector-linha cuja
x vector prprio associado ao valor prprio =
kxk2
i-sima componente igual ao complexo conjugado de xi .
Exerccio 3.3 Verificar que o mtodo da potncia no permite calcular o valor prprio de
mdulo mximo da seguinte matriz, e explicar porqu:

1/3 2/3
2
3
1
0
1
2
.
A=
0
0 5/3 2/3
0
0
1
0
Exerccio 3.4 Localize, usando os crculos de Gershgorin,
matriz

2
1/2 0 1/2
0
4
0
2
A=
1/2
0
6 1/2
0
0
1
9
Exerccio 3.5 Considere a matriz

os valores prprios da seguinte

5
0
0,5 0,5
0,5
2
0,5 0
.
B=
0
1
0 0,5
0 0,25 0,5 3

Com base no teorema de Gershgorin obtenha um majorante para o maior mdulo de um valor
prprio de B e aproxime esse valor prprio efectuando duas iteraes do mtodo da potncia.
Exerccio 3.6 Mostrar que as matrizes A(k) construdas nas iteraes do mtodo QR so
todas semelhantes matriz A.

50

Valores prprios e valores singulares

Exerccio 3.7 (Matlab) Fixando a tolerncia igual a = 1010 e partindo da aproximao


inicial x(0) = [1 2 3]T , usar o mtodo da potncia para aproximar o valor prprio de mdulo
mximo das seguintes matrizes:

1 2 0
0,1 3,8 0
0 1 0
A1 = 1 0 0 ;
A2 = 1
0 0 ;
A3 = 1 0 0 .
0 1 0
0
1 0
0 1 0

Comentar a convergncia do mtodo nos trs casos.

Exerccio 3.8 (Matlab) Verificar que o mtodo da potncia no permite calcular o valor
prprio de mdulo mximo da seguinte matriz, e explicar porqu:

1 2
2
3
3
3
1 0 1 2

A=
0 0 5 2 .
3
3
0 0 1
0

Exerccio 3.9 (Matlab) Tm sido propostos vrios modelos matemticos com o objectivo
de prever a evoluo de determinadas espcies (humanas ou animais). O modelo de populao
mais simples, introduzido por Lotka em 1920 e formalizado por Leslie vinte anos mais tarde,
baseado nas taxas de mortalidade e fecundidade para diferentes intervalos de idade, digamos
(t)
i=0,...,n. Seja xi o nmero de fmeas (os machos no intervm neste contexto) cujas idades
(0)
no tempo t pertencem ao i-simo intervalo. Os valores de xi so conhecidos. Alm disso,
seja si a taxa de sobrevivncia das fmeas que pertencem ao i-simo intervalo, e mi o nmero
mdio de fmeas geradas por uma fmea no i-simo intervalo de idade.
O modelo de Lotka e Leslie definido pelas equaes
(t+1)
xi+1

(t)
xi s i ,

i = 0, ..., n 1,

(t+1)
x0

n
X

(t)

xi m i .

i=0

As n primeiras equaes descrevem o desenvolvimento da populao, a ltima a sua reproduo.


Em notao matricial, temos
x(t+1) = Ax(t) ,
i
h
(t)
(t) T
e A a matriz de Leslie
em que x(t) = x0 , ..., xn

m0 m1
s0
0

A=
s1
0
..
.
..
.
0
0

...
... mn
...
...
0

..
..
.
...
.
.

.
..
..
.
.
.
.
0 sn1 0

Pode mostrar-se que que a dinmica desta populao determinada pelo valor prprio de
mdulo mximo de A, digamos 1 , enquanto que a distribuio dos indivduos nos diferentes
intervalos de idade (normalizada pela populao total), obtm-se como o limite de x(t) para
t + e verifica Ax = 1 x.

51

Valores prprios e valores singulares

As caractersticas de uma populao de peixes so descritas pela seguinte matriz de Leslie


anteriormente referida:
Intervalo de idade (meses) x(0) mi si
03
6
0 0,2
36
12 0,5 0,4 .
69
8 0,8 0,8
9 12
4 0,3
Determinar o vector x da distribuio normalizada desta populao para diferentes intervalos
de idade.
Exerccio 3.10 (Matlab) Usando os crculos de Gershgorin,
mximo de valores prprios complexos das seguintes matrizes:

2 12 0 21
5
0

1
4
0
2
2

A=
B=
1 0 6 1 ;
0
2
2
0
0 1 9
0

dar uma estimativa do nmero


1
2
1
2

0
2
1

1
4

1
2

1
2

1 .
2
3

Exerccio 3.11 (Matlab) Use o comando eig para determinar todos os valores prprios das
matrizes do exerccio anterior.


1 1
Exerccio 3.12 Considere a matriz de Fibonacci A =
.
1 0
1. Determine os valores prprios e os vectores prprios unitrios de AT A e AAT .
2. Calcule a decomposio em valores singulares da matriz A.
Exerccio 3.13 Se A Mmn (R), com decomposio em valores singulaes A = U V T , e
b R, prove que a soluo x
b do problema dos mnimos quadrados correspondente ao sistema
Ax = b dada por
x
b = V + U T b,
onde + obtida transpondo e invertendo as suas entradas no nulas.

Exerccio 3.14 Prove que a pseudo-inversa A+ da matriz A Mmn (R) verifica as chamadas condies de Moore-Penrose:
1. AA+ A = A;
2. A+ AA+ = A+ ;
T

3. (AA+ ) = AA+ ;
T

4. (A+ A) = A+ A.
Exerccio 3.15 Mostre que se A Mn (R) no singular, A+ = A1 .

52

Valores prprios e valores singulares

3.4.2

Exerccios de aplicao engenharia

Exerccio 3.16 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
3.17
Considere um corpo formado 
por trs massas:
m1 = 1 Kg no ponto P1 =



1 1
1
1 , 0, 1
; m2 = 2 Kg no ponto P2 = 2 , 2 , 0, 2 ; m3 = 5 Kg no ponto P3 =
2
 2

1
1 1
2, 2, 2 .
1. Calcule o tensor de inrcia
P

P
P
2 + z2)
m
(y

m
x
y

m
x
z
i
i
i
i
i
i
i
i
i
P
P
P
2
2
J = Pmi yi xi )
mP
mi yi zi .
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 4

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
(4.1)

f (x) = 0,

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 finito de operaes.
Exemplo 4.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 4.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 p3 obtm-se a equao
z 3 + az + b = 0,
onde

1
e
a = (3q p2 )
3
As razes desta nova equao so dadas por
z1 = A + B,

z2 =

onde
A=

s
3

b=

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

A + B A B
+
3,
2
2

b
+
2

b2
4

a3
27

B=
53

z3 =
s
3

A + B A B

3,
2
2
b2
a3
+ .
4
27

54

Equaes no lineares

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

x2 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.

4.1

Mtodos iterativos

Consideremos o problema (4.1). A filosofia 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, . . . ,
(4.2)
que seja convergente para essa soluo.
Definio 4.1 (Convergncia) O mtodo iterativo (4.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 uma soluo de (4.1) coloca- -se a
questo de saber qual dos processos mais eficiente. A eficincia de um processo iterativo
pode ser medida de vrias maneiras: esforo computacional, tempo gasto, etc. Nesta
seco iremos definir um conceito que servir para medir a velocidade de convergncia de
um determinado processo iterativo.
Definio 4.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) | M |e(k) |p .
A constante M chamada constante-erro.

(4.3)

Equaes no lineares

55

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 (4.3) pode
ser escrita na forma |e(k+1) | 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 definir 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 (4.2) o processo iterativo gerador de uma sucesso de aproximaes convergente
para a soluo de (4.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) | ;
2. Critrio do erro relativo: |x(k) x(k1) | |x(k) |;
3. Critrio do valor da funo: |f (x(k) )| 1 , onde 1 .
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 eficcia 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 .

4.2

Determinao da aproximao inicial

Num processo iterativo necessrio determinar uma estimativa inicial para a 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 4.3 As solues de x2,1 4x + 2 = 0 podem ser aproximadas inicialmente pelas
solues de x2 4x + 2 = 0.
Exemplo 4.4 Se pretendermos
aproximar a maior raiz de x5 x 500 = 0 podemos tomar

5
para aproximao inicial x 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 graficamente um intervalo que contenha a raiz do
problema (4.1) que pretendemos calcular. Ora, o traado grfico da funo f pode no ser
evidente e constituir, em si, um processo de complicada resoluo sem recurso a software

56

Equaes no lineares

apropriado. Este problema pode ser contornado se reescrevermos a equao (4.1) na forma
equivalente
f1 (x) = f2 (x),
(4.4)
sendo f1 e f2 funes cujo traado grfico seja mais simples que o de f . Assim as razes de
(4.1) sero as solues de (4.4), isto , os pontos de interseco de f1 com f2 .
O processo de determinao grfica de um intervalo que contm a raiz deve ser sempre
acompanhado de uma confirmao analtica. Para isso, conveniente relembrar o seguinte
teorema devido a Bernard Placidus Johann Nepomuk Bolzano (1781-1848).
Teorema 4.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 verificado, este teorema estabelece um resultado intuitivo: uma funo
contnua para passar de um ponto para outro tem de passar por todos os valores intermdios. Como corolrio imediato do teorema anterior, temos o seguinte resultado.
Teorema 4.2 (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 verificar que a derivada de f no
muda de sinal no intervalo [a, b], ento a raiz nica nesse intervalo. Temos assim um
critrio para verificar 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].
Exerccio 4.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 4.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 4.1: Localizao grfica.


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[.

57

Equaes no lineares

4.3

Mtodo da bisseco

Seja f uma funo contnua em [a, b] tal que f (a)f (b) < 0. Ento, pelo Teorema 4.2,
existe pelo menos uma raiz de f (x) = 0 em ]a, b[. Se, para alm disso, se verificar 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 significa 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
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 4.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) 0 ento b := c caso contrrio a := c

at que |b a| 1 ou |f (c)| 2

Resultado: c

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


nica exigncia a de que a funo tenha sinal contrrio nos extremos do intervalo e tal
verificado sempre que exista, nesse intervalo, um nmero mpar de razes.
Verifica-se facilmente que, sendo o intervalo inicial I (0) =]a, b[, a amplitude do intervalo
(n)
I
(obtido ao fim 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, . . ..

58

Equaes no lineares

Exerccio 4.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) | |x(k) x(k1) | =

ba
.
2k+1

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



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

ln 2
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 ) | , vamos determinar qual o kmin
tal que
ba
|x(kmin ) x(kmin 1) | = k +1 .
2 min
Temos, sucessivamente,

L
2kmin +1

ln
ba
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) | 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 fim 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 definio de ordem de convergncia dada, o mtodo da bisseco
converge linearmente e possui uma constante erro M = 12 , isto ,
|e(k+1) |

1 (k)
|e |.
2

Exerccio 4.3 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 Johannes
Kepler (1571-1630)
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. Considerando e = 0,5 e z = 0,7, determine a soluo do problema com
uma casa decimal correcta.

59

Equaes no lineares

Resoluo: Neste caso f (x) = x e sin x z, com 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.
Exerccio 4.4 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 4.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) | 0,15.
Pelo Exerccio 4.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

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.

4.4

Mtodo de Newton

O mtodo que iremos estudar nesta seco, devido a Newton e a Joseph Raphson (16481715), um dos mtodos mais conhecidos e usados na determinao de aproximaes
numricas de razes de equaes no lineares. Para o definir, 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) ) +

= x0

f (x(0) )
f ()

( x(0) )2 ,

(0)

(0)
f (x ) 2f (x )

I{, x(0) }.

(4.5)

f (x(0) )
. Procedendo de forma anloga, poderemos definir 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 . . . ,

(4.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.

60

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 4.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 4.3 Seja f uma funo real de varivel real definida num intervalo [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) 0 ou f (x) 0, x [a, b],
ento a sucesso {x(k) }, k = 0, 1, . . ., gerada pelo mtodo (4.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].
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 verificadas
as hipteses do teorema, consideremos x0 = b. Provemos que a sucesso {xk } gerada pelo
mtodo (4.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 (4.5)
tem-se que,
f ()
I{, b},
x(1) = ( b)2 0,
2f (b)

61

Equaes no lineares

isto , x(1) . Por outro lado, por (4.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 (4.5),
!
f (k )
f (x(k) )
(k)
k I{,(k) },
(4.7)
x (k)
= (k) ( x(k) )2 ,
f (x )
2f (x )
ou seja
x(k+1) =

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

Isto implica que x(k+1) . Por outro lado, por (4.6) e atendendo s hipteses do
teorema, temos que x(k+1) x(k) 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 (4.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 eficazes para a aproximao de razes de equaes no lineares.
O teorema seguinte estabelece igualmente uma condio necessria para a convergncia
do mtodo de Newton. A diferena em relao ao anterior reside apenas na quinta condio:
enquanto que o teorema anterior nos d um critrio para a escolha da aproximao inicial,
o seguinte d-nos uma condio que garante a convergncia do mtodo para qualquer aproximao inicial escolhida no intervalo [a, b].
Teorema 4.4 Seja f uma funo real de varivel real definida no intervalo [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) 0 ou f (x) 0, x [a, b],




f (b)
f (a)



5. b a e b a,
f (a)
f (b)

ento, qualquer que seja x(0) [a, b], a sucesso {x(k) } gerada pelo mtodo (4.6) converge
para a nica raiz de f (x) = 0 em [a, b].

62

Equaes no lineares

Demonstrao (no foi dada): As hipteses 1, 2 e 3 garantem a existncia e unicidade


de raiz em [a, b]. Provemos que se x(0) = a ou x(0) = b ento x(1) ]a, b[. Com efeito, sendo
x(0) = a tem-se x1 = af (a)/f (a) e, da hiptese 5, vem que (ba) < f (a)/f (a) < ba,
donde x(1) < b. Por outro lado, pelas hipteses 2 e 3, temos que f (a) tem sinal contrrio
a f (a) e como tal f (a)/f (a) < 0. Assim x(1) a < 0 e logo a < x1 . De modo idntico se
provaria que se x(0) = b ento x(1) ]a, b[.
Suponhamos que f (a) < 0. Pela hiptese 4, para x [a, b], f (x) 0 ou f (x) 0.
Consideremos f (x) 0. Ento, de (4.5),
x(1) =

f ()
( x(0) )2 0,
2f (a)

]a, [,

e, como tal, x(1) ]a, [. Prova-se tambm que, nas mesmas condies, x(2) ]x(1) , [ e,
sucessivamente, x(k+1) ]x(k) , [, k = 0, 1, . . ..
Provmos assim que a sucesso {x(k) } converge monotonamente para .
Os restantes casos podem ser considerados de forma anloga.
O algoritmo para o mtodo de Newton pode ser dado como se segue.
Algoritmo 4.2 Mtodo de Newton
Dados: x(0) , e kmax
k := 0
Repetir
f (x(k) )
f (x(k) )
x(k+1) := x(k) + d
k := k + 1
d :=

at que |d| ou k = kmax

Resultado: x(k)

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


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

M=

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

(4.8)

Assim, supondo verificadas as hipteses do Teorema 4.3, 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 4.5 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.

63

Equaes no lineares

y=x 2

3
2

y=ln(x+1)

1
-2

-1

-1
-2
-3

Figura 4.3: Localizao grfica.

Resoluo: Como f (x) = 0 x2 1 = ln (x + 1), traando o grfico de y = x2 1


e de y = ln (x + 1) (Figura 4.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[.

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 4.3 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.

4.5

Mtodo do ponto fixo

O mtodo do ponto fixo no propriamente um mtodo mas sim uma classe de mtodos
(o mtodo de Newton, por exemplo, pertence classe de mtodos do ponto fixo). 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 fixo consiste em converter o problema de determinar os zeros de
uma funo no problema (equivalente) de calcular os pontos fixos de uma outra funo.

64

Equaes no lineares

Definio 4.3 (Ponto Fixo) Seja uma funo definida num intervalo real [a, b]. Dizemos que [a, b] um ponto fixo de se = ().
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 fixos de ). Consideremos o seguinte exemplo.
Exemplo 4.5 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 fixos 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, . . . .

(4.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 (4.9) convirjam para ? Antes de mais notemos que, supondo que contnua e que
x(k) , se tem


(k+1)
(k)
(k)
= lim x
= lim (x ) = lim x
= ().
k+

k+

k+

Assim, uma condio necessria para que o processo iterativo (4.9) convirja para zero de
f que seja um ponto fixo de .
Exemplo 4.6 A equao de Kepler dada no exemplo anterior pode escrever-se na forma


x 0,7
.
x = (x) = arcsin
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.
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.

65

Equaes no lineares

Teorema 4.5 (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)| K < 1, para todo o x [a, b],
ento o ponto fixo nico e a sucesso gerada por (4.9) converge para esse ponto, qualquer
que seja a aproximao inicial x(0) [a, b]. Alm disso
x(k+1)
= ().
k+ x(k)

(4.10)

lim

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


fixo, a unicidade e, finalmente, a convergncia do mtodo.
Existncia.

Se (a) = a ou (b) = b temos que tem (obviamente) um ponto fixo. Caso contrrio,
e atendendo hiptese 2 do teorema, temos que (a) > a e (b) < b. Consideremos a
funo auxiliar (x) = (x)x definida 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 fixos de . Ento


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

Convergncia e (4.10).

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


|x(k+1) | = |(x(k) ) ()|

= | (k )||x(k) | K|x(k) |,

k I{, x(k) }.

(4.11)

Assim sendo
|x(k+1) | K k+1 |x(0) |.

(4.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 (4.10), notemos que, de (4.11)
sai que
x(k+1)
= (k ),
k I{, x(k) }.
(k)
x
Como o mtodo converge para , tomando limites em ambos os membros, provamos
o pretendido.

66

Equaes no lineares

Notemos que, atendendo a (4.10), o mtodo do ponto fixo tem, no caso geral, uma
convergncia linear. Alm disso, essa convergncia local, uma vez que ela s acontece
quando o x(0) est suficientemente prximo do ponto fixo.
Exemplo 4.7 Resolvamos, mais uma vez, a equao de Kepler considerando: (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| 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.

1.4
1.2
1
0.8
0.6
0.4
0.2
0.2

0.5

x0

x1 x2

1.4

Figura 4.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 4.5: Caso (ii): (x) = 0,5 sin x + 2 e x(0) = 2,5.

67

Equaes no lineares

Nas Figuras 4.4 e 4.5 podemos visualizar o grfico da funo de iterao do mtodo do
ponto fixo considerado no exemplo anterior, para os casos (i) e (ii), respectivamente, bem
como o grfico da bissectriz dos quadrantes mpares. A abcissa da interseco dos dois
grficos o ponto fixo que pretendemos calcular. Como se pode ver, o mtodo do ponto
fixo pode ser descrito da seguinte forma (grfica). A partir de x(0) , no eixo das abcissas,
traamos um segmento de recta vertical at intersectar o grfico 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 final 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 afirmar que se uma funo de iterao no
verificar as hipteses do teorema, essa funo no deve ser considerada. Pode, no entanto,
dar-se o caso de possuirmos duas funes de iterao que verifiquem, ambas, as hipteses
do teorema. Neste caso, por qual optar? Notemos que, por (4.12), se considerarmos duas
funes de iterao 1 e 2 tais que
|1 (x)| |2 (x)| < 1,

x [a, b],

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


converge mais rapidamente do que a sucesso definida por x(k+1) = 2 (x(k) ), k = 0, 1, . . .,
pois para o primeiro mtodo temos |e(k+1) | M1 |e(k) | e para o segundo |e(k+1) | M2 |e(k) |,
com M1 M2 . Assim sendo, a escolha deveria recair sobre a funo 1 .
Como vimos, o mtodo do ponto fixo tem convergncia linear. No entanto, o mtodo
de Newton (caso particular do mtodo do ponto fixo 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
fixo.
Teorema 4.6 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 (4.9) converge para de forma quadrtica, qualquer que seja
x(0) [a, b]. Alm disso
x(k+1)
= ().
(4.13)
lim
k+ (x(k) )2
Demonstrao: Pelo Teorema do Ponto Fixo temos que o mtodo (4.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) | M |e(k) |2 , onde M = 21 maxx[a,b] | (x)|. Est,


assim, demonstrado que o mtodo (4.9) tem ordem 2. A demonstrao de (4.13) semelhante efectuada para demonstrar (4.10).
Exerccio 4.6 Mostre que, se no ponto fixo de se tem () = () = 0, podemos
concluir (mediante certas condies) que o mtodo (4.9) tem convergncia cbica. Diga quais
so essas condies de convergncia.

68

Equaes no lineares

Consideremos agora os seguintes corolrios do Teorema do Ponto Fixo, teis para determinar estimativas a priori para o erro cometido ao fim de um determinado nmero de
iteraes.
Corolrio 4.7 Nas hipteses do Teorema do Ponto Fixo tem-se que
|e(k) | K k max{x(0) a, b x(0) }.
Demonstrao: Resulta imediatamente de (4.12).
Corolrio 4.8 Nas hipteses do Teorema do Ponto Fixo tem-se que
|e(k) |

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) | K k |x(1) x(0) |.
Consideremos l > k e |x(l) x(k) |. Assim
|x(l) x(k) |

l1
X
j=k

|x(j+1) x(j) | |x(1) x(0) |

l
X

Kj.

j=k

Logo
l
X
j=k

Conclumos ento que

Kj Kk

|x(l) x(k) |
Tomando o limite quando l + temos
| x(k) |

X
j=0

Kj =

Kk
.
1K

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

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

o que prova o pretendido.

4.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,

(4.14)

um polinmio de coeficientes reais. Este problema aparece com muita frequncia e existem
para ele muitos resultados especficos. Nesta seco faremos apenas uma breve referncia
a alguns desses resultados.
Um resultado bsico sobre polinmios dado no Teorema Fundamental da lgebra,
devido a Gauss e a Euler e que apresentamos sem demonstrao.

69

Equaes no lineares

Teorema 4.9 (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 coeficientes 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 coeficientes reais. Atendendo a estes resultados
podemos escrever.
Corolrio 4.10 Um polinmio de grau n 1 de coeficientes reais admite, exactamente,
n zeros, reais ou complexos, iguais ou distintos.
Corolrio 4.11 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 justificao terica do mtodo dada por um corolrio do seguinte teorema estabelecido por
Michel Rolle (1652-1719).
Teorema 4.12 (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.
O corolrio que importa considerar neste contexto, o seguinte.
Teorema 4.13 (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 definir o mtodo de Rolle consideremos, previamente, a seguinte definio.
Definio 4.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 definido 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.

70

Equaes no lineares

-1

-0.5

0.5

-0.5
-1
-1.5
-2
-2.5

Figura 4.6: Corolrio do Teorema de Rolle.

Exerccio 4.7 Usando o mtodo de Rolle, localize todas as razes reais de


P3 (x) x3 2x 5 = 0.
Resoluo:
A funo derivada, definida pela expresso 3x2 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
p
ri

2/3
P3 (ri )

p
+ 2/3

+
+

2/3 e

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.
Teorema 4.14 (Cauchy) Seja Pn (x) = 0 uma equao algbrica, com Pn um polinmio
da forma (4.14). Todos os zeros de Pn esto includos no crculo do plano complexo

ak
= {z C : |z| 1 + }, com = max .
k=0,...,n1 an
Um resultado alternativo o seguinte.

Teorema 4.15 (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.

71

Equaes no lineares

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 4.8 Prove a afirmao anterior.
Exerccio 4.9 Determine limites superiores e inferiores para as razes reais de x3 2x5 = 0.
Resoluo: Seja P3 (x) = x3 2x 5. Atendendo a que
P3 (x)
P3 (x)
P3 (x)
P3 (x)

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
Q3 (x)
Q3 (x)
Q3 (x)
Q
3 (x)

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
coeficientes. 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 coeficientes. Temos ento o seguinte teorema.
Teorema 4.16 (Regra de Sinal de Descartes) O nmero de razes reais positivas da
equao Pn (x) = 0, sendo Pn dado por (4.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 (4.14), com an > 0 (sem perda de generalidade). Se a0 = Pn (0) > 0, o nmero de variaes de sinal da sucesso dos coeficientes
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 coeficientes de Pn como o nmero de

Equaes no lineares

72

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 coeficientes 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 coeficientes de Pn (polinmio de grau n 1) inferior
a V . Logo m V .
Notemos que a regra de sinal de Descartes no tem em conta a multiplicidade das razes.
No entanto, podemos afirmar 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 coeficientes.
Exerccio 4.10 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.

4.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
eficiente 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 (4.14).
Considerando o polinmio escrito na forma cannica (tal como em (4.14)), efectuamos n
adies/subtraces e 2n 1 multiplicaes/divises. Considerando a forma encaixada
Pn (x) = a0 + x(a1 + x(a2 + + x(an1 + an x))),
ao calcular Pn (z) s efectuamos n adies/subtraces e n multiplicaes/divises. Esta
forma est na base do algoritmo de William George Hrner (1786-1837).
Algoritmo 4.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

73

Equaes no lineares

Se Pn for um polinmio dado por (4.14) e z um nmero real temos que


Pn (x) = (x z)Qn1 (x; z) + b0 ,

(4.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 ,

(4.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).
Teorema 4.17 (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 (4.14) e (4.16) em (4.15) e
igualando os coeficientes 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 (4.14) num dado ponto z.
Assim, uma vez que, por (4.15),
Pn (x) = (x z)Qn1 (x; z) + Qn1 (x; z),
temos que Pn (z) = Qn1 (z; z).
Algoritmo 4.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

4.6.2

O mtodo de Newton-Hrner

Vamos comear por considerar o caso em que Pn , dado por (4.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 x(0) > 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/Ruffini 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 refinar as aproximaes obtidas, aplica-se o mtodo de Newton a Pn sendo as
aproximaes iniciais os valores obtidos no passo 3.

74

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 4.11 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) )

(4.17)

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

Exerccio 4.12 Prove que se for um zero de multiplicidade m de um polinmio P , o mtodo


de Newton modificado (4.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, ficamos imediatamente a conhecer outra raiz (a sua
conjugada).

4.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 , suficientemente regular,
definida 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
..
.. ,
.
.

fn (x1 , . . . , xn ) = 0
que, noutra notao, pode ser escrito na forma

(4.18)

F (x) = 0,
com

x=

x1
x2
..
.
xn

F (x) =

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

0=

0
0
..
.
0

(4.19)

75

Equaes no lineares

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, . . . ,
(4.20)
com

(x) =

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

(4.21)

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

(0)

x1
x2
..
.
xn

(0)

(4.22)

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 4.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.
Consideremos agora o problema da definio 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 ;
2. Critrio do erro relativo: kx(k) x(k1) k kx(k) k;
3. Critrio do valor da funo: kF (x(k) )k 1 , com 1 ;
4. Critrio do nmero mximo de iteraes: k = kmax .
Antes de passarmos definio 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

76

Equaes no lineares

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 grfica. 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 4.8 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).
x y + x =1

2
2

x + y2 =1
1
-1.5

-1

-0.5

0.5

1.5

-1
-2
-3
-4

Figura 4.7: Localizao grfica.

Seja dado o sistema de equaes no lineares F (x) = 0 definido por (4.19). Pretendemos
determinar uma aproximao para a raiz = (1 , . . . , n ) do referido sistema sendo dada
uma aproximao inicial (4.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
(x)
x1
..
..
.
.
fn
(x)
x1

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

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 definir o processo iterativo
x(k+1) = x(k) JF1 (x(k) )F (x(k) ),

k = 0, 1 . . . ,

77

Equaes no lineares

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 fizermos


JF (x(k) )x(k) = F (x(k) )


.
x(k) = x(k+1) x(k)

(4.23)

Algoritmo 4.5 Mtodo de Newton


Dados: x(0) , 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 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.
Exerccio 4.13 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 ) =
,
y k + 1 xk
temos que
det (JF (xk , yk )) 6= 0 x2k yk2 yk 6= 0.
Apliquemos o mtodo de Newton na forma (4.23).

78

Equaes no lineares

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





 



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

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

x0
y0

0,5
0

x1
y1

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
0,25
x1
=
.
2 0,5
y1
0
Daqui sai que


15 6
,
28 7

x1
y1

Temos assim que

1/28
1/7


x2
y2

15/28
6/7

= (0,5357, 0,8571),

sendo uma estimativa para o erro cometido dada por




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

4.8
4.8.1

Problemas
Exerccios para resolver nas aulas

Exerccio 4.14 (Matlab) Use o mtodo da bisseco para aproximar a soluo, com erro
inferior a 102 , da equao x + 0,5 + 2 cos(x) = 0 no intervalo [0,5, 1].
Exerccio 4.15 (Matlab) Determine o nmero mnimo de iteraes necessrias para aproximar, pelo mtodo da bisseco e com uma preciso de 101 , a soluo de x3 x 1 = 0 no
intervalo [1, 2]. Determine tal aproximao com a preciso indicada.
Exerccio 4.16 (Matlab) A componente forada de uma tenso transitria para um dado
circuito pode ser traduzida pela expresso E(t) = e0,06t sin(2t ). Usando o mtodo da
bisseco duas vezes, determine a tenso mxima deste circuito.
Exerccio 4.17 (Matlab) Dada a funo f (x) = cosh x + cos x , para = 1, 2, 3,
averige, em cada caso, se f tem zeros e, caso existam, aproxime o seu valor pelo mtodo da
bisseco, com um erro inferior a 1010 .

79

Equaes no lineares



Exerccio 4.18 (Matlab) A equao de um gs definida por p + a(N/V )2 (V N b) =
kN T, em que p a presso, V o volume ocupado pelo gs temperatura T , a e b so dois
coeficientes que dependem do gs considerado, N o nmero de molculas contidas no volume
V e k a constante de Boltzmann (k = 1,3806503 1023 ). Num M-file escreva as instrues
que lhe permitam aproximar o volume V ocupado por 1000 molculas de dixido de carbono
temperatura T = 300 K e presso p = 3,5 107 Pa, pelo mtodo da bisseco, com um erro
inferior a 1012 . Para o dixido de carbono, tem-se a = 0,401 Pa, b = 42,7 106 m3 .
Exerccio 4.19 Um avio em voo vertical descreve uma trajectria que, para t [0, 1] dado
em minutos, pode ser traduzida pela expresso h(t) = (t 1)et t + 3.

1. Calcule um valor aproximado do instante em que o avio esteve mais prximo do solo,
aplicando o mtodo de Newton duas vezes.
2. Aproxime a diferena mxima de altitude que o avio atinge no mesmo intervalo.

Exerccio 4.20 Considere a funo f definida por f (x) = ex ln x, x > 0. Utilizando o


mtodo de Newton, aproxime a abcissa do seu ponto de inflexo, em segunda aproximao,
partindo de um intervalo com amplitude inferior ou igual a 1. Indique uma estimativa para o
erro cometido.
Exerccio 4.21 Use o mtodo de Newton para aproximar, com erro inferior a 104 , o valor
de x correspondente ao ponto do grfico de y = x2 mais prximo de (1, 0).
Exerccio 4.22 Aplicar o mtodo de Newton ao clculo da raiz quadrada de um nmero
positivo a. Proceder de maneira anloga para calcular a raiz cbica de a.
Exerccio 4.23 (Matlab) Um projctil lanado com uma velocidade v0 p
e um ngulo
num tnel de altura h e atinge o seu mximo quando for tal que sin() = 2gh/v02 , onde
g = 9,8 m/s2 a acelerao da gravidade. Calcular utilizando o mtodo de Newton, supondo
que v0 = 10 m/s e h = 1 m.
Exerccio 4.24 (Matlab) Considere o sistema mecnico representado por quatro barras rgidas ai , i=1,2,3,4. Para qualquer valor admissvel do ngulo formado pelas barras a1 e a4 ,
determinamos o valor do ngulo correspondente formado pelas barras a1 e a2 . Partindo da
identidade vectorial a1 a2 a3 a4 = 0 e observando que a barra a1 est sempre alinhada
com o eixo dos x, podemos obter a seguinte relao entre e
a1
a1
a2 + a22 a23 + a24
cos
cos cos( ) = 1
,
a2
a4
2a2 a4
onde ai o comprimento da i-sima barra. Esta igualdade chama-se equao de Freudenstein,
e pode escrever-se do seguinte modo: f () = 0, em que
f (x) =

a1
a1
a2 + a22 a23 + a24
cos
cos x cos( x) + 1
.
a2
a4
2a2 a4

S para valores especiais de que existe uma expresso explcita da soluo. Refira-se
ainda que no existe soluo para todos os valores de , e que a soluo existindo poder no
ser nica. A fim de resolver a equao para qualquer valor de a variar entre 0 e , deveremos
recorrer a mtodos numricos. Insira num M-file as instrues que lhe permitam aproximar o
valor de , atravs da equao no linear, recorrendo ao mtodo de Newton, com [0, 2
3 ] e
com uma tolerncia de 105 . Suponha que os comprimentos das barras so, respectivamente,
a1 = 10 cm, a2 = 13 cm, a3 = 8cm e a4 = 10 cm. Para cada valor de considerar dois dados
iniciais x(0) = 0,1 e x(0) = 2
3 .

80

Equaes no lineares

Exerccio 4.25 Mostre que x = 12 cos x tem uma nica soluo . Obtenha, em seguida,
um intervalo [a, b] que contenha e tal que, para todo o x0 nesse intervalo, a sucesso
x(n+1) = 21 cos x(n) , n = 0, 1, 2, . . . , convirja para . Justifique.
Exerccio 4.26 Determine os extremos locais da funo f (x) =
inferior a 104 , usando o mtodo iterativo do ponto fixo.

x3
3

+ 10 sin x, com um erro

Exerccio 4.27 Determine uma aproximao para a maior raiz de ex 4x2 = 0, usando o
mtodo do ponto fixo. Indique um majorante do erro da aproximao obtida.
Exerccio 4.28 Seja N a funo iteradora do mtodo de Newton considerado como uma
1
, onde um zero de f de multiplicidade
iterao do ponto fixo. Mostre que N () = 1 m
m. Deduzir que o mtodo de Newton converge quadraticamente se for uma raiz simples de
f (x) = 0 e linearmente no caso contrrio.
Exerccio 4.29 (Matlab) Considere a funo f (x) = ex 2x2 .
1. Localize as razes da equao f (x) = 0.
2. Determine uma estimativa para a maior raiz, usando o mtodo do ponto fixo, com 5, 10
e 15 iteraes.
3. Repita a alnea anterior, recorrendo ao mtodo da bisseco. Compare os resultados
obtidos.
Exerccio 4.30 (Matlab) Considere a equao ex x 2 = 0.
1. Verifique que a equao dada tem uma nica soluo no intervalo [1, 2].
2. Para aproximar o valor da soluo pretende-se utilizar o mtodo do ponto fixo, com
uma das seguintes funes iteradoras: g1 (x) = ex 2, g2 (x) = ln(x + 2) e g3 (x) =
x 0,1(ex x 2). Indique qual ou quais das funes garante a convergncia do mtodo
para a referida soluo. Escolha uma aproximao inicial e considere tol= 104 .
3. Recorra ao mtodo de Newton para aproximar a mesma soluo e compare com o resultado
obtido na alnea anterior.
Exerccio 4.31 (Matlab) Considere a equao ln x

1
x

= 0.

1. Verifique que a equao dada tem uma nica soluo no intervalo [1, 2].
2. Para aproximar o valor da soluo pretende-se utilizar o mtodo do ponto fixo, com
1
uma das seguintes funes iteradoras: g1 (x) = e x e g2 (x) = 1/ ln(x). Indique qual das
funes garante a convergncia do mtodo para a referida soluo, qualquer que seja o
ponto inicial. Escolha uma aproximao inicial e considere tol= 104 .
3. Recorra ao mtodo da bisseco para aproximar a mesma soluo e compare com o
resultado obtido na alnea anterior.
Exerccio 4.32 Considere a equao x6 4x5 + 6x4 2x3 kx2 + mx n = 0.
1. Determine m, n e k de modo a que esta equao admita 1 como raiz tripla.
2. Localize as razes da equao e determine a menor delas pelo mtodo que considerar mais
conveniente.

Equaes no lineares

81

Exerccio 4.33 Considere a equao polinomial x3 + kx2 + 2x 1 = 0, com k 0.


1. Determine o conjunto de todos os valores de k para os quais a equao tem uma nica
raiz no intervalo [0, 1].
2. Tome para k o menor valor inteiro positivo do conjunto obtido na alnea anterior e faa
a separao completa das razes da equao dada.
3. Aproxime a menor raiz real daquela equao pelo mtodo de Newton.
Exerccio 4.34 (Matlab) Considere o polinmio P (x) = x3 36x2 + 188x 240.
1. Verifique que um dos zeros de P (x) se localiza no intervalo [29,5, 31].
2. Para aproximar o zero referido na alnea anterior, podem ser usadas diferentes estratgias
como, por exemplo:
(a) mtodo da bisseco no referido intervalo, com tol= 104 ;
(b) mtodo de Newton, com a aproximao inicial x(0) = 29,5 e tol= 104 .
Compare os resultados obtidos com os dois mtodos.
3. Para aproximar o mesmo zero de P (x) use o mtodo do ponto fixo com a funo iteradora
g(x) = (240 + 36x2 x3 )/188. Considere as seguintes aproximaes iniciais x(0) = 1,
x(0) = 3 e x(0) = 31 e compare os resultados obtidos, fazendo tol= 104 .
Exerccio 4.35 (Matlab) Determine todas as razes reais de x3 + x2 + 2x 1 = 0 e
x3 x2 + 3x + 1 = 0 usando o algoritmo de Newton-Hrner.
Exerccio 4.36 Considere a seguinte funo F : R2 R2 :


x21 + x22 2
.
F (x) =
exp(x1 1) + x32 2
1. Identifique uma das razes, , de F (x) = 0.
2. Efectue uma iterao do Mtodo de Newton para aproximar a partir do ponto inicial
x(0) = (2, 1/2).
Exerccio 4.37 Aplique duas iteraes do mtodo de Newton ao sistema de equaes no
lineares
( x
e 1 1 = 0
,
ex2 1 = 0
comeando com x(0) = (10, 10). O que que aconteceria se continuasse a aplicar o mtodo
de Newton?
Exerccio 4.38 (Matlab) O seguinte sistema de equaes no lineares possui duas solues,
uma das quais (x, y) = (3, 0),
 2
x 2x + y 2 3 = 0
.
x(6 x) + y 9 = 0
Localize e determine a outra soluo efectuando cinco iteraes do mtodo de Newton.

Equaes no lineares

82

Exerccio 4.39 (Matlab) Considere o sistema de equaes no lineares



= 1
x21 + x22
.
x1
3
sin( 2 ) + x2 = 0
1. Localize graficamente as duas solues do sistema.
2. Efectue duas iteraes do mtodo de Newton, partindo da aproximao inicial x(0) =
(1, 1).
3. Repita a alnea anterior com x(0) = (1, 1). O que pode concluir?
Exerccio 4.40 (Matlab) Recorra ao mtodo de Newton para determinar uma soluo do
sistema

x = 0,7 sin x + 0,2 cos y
y = 0,7 cos x 0,2 sin y
prxima de (0,5, 0,5).
Exerccio 4.41 (Matlab) Pretende construir-se uma ponte entre duas margens de um rio
que, por razes econmicas, seja o mais curta possvel. Sabendo que, na regio onde se pretende
construir a ponte, as margens do rio tm a forma das curvas y = ex e y = ln x, determine um
valor aproximado do comprimento da ponte.
Exerccio 4.42 Efectue duas iteraes do mtodo de Newton para calcular o mnimo local
da funo quadrtica
f (x1 , x2 ) = x21 4x1 x2 + x22 .

4.8.2

Exerccios de aplicao engenharia

Exerccio 4.43 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  p 
1
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 4.44 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 4.45 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.

83

Equaes no lineares

Exerccio 4.46 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 4.47 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.
Exerccio 4.48 Em engenharia ocenica, a equao para a altura de uma determinada onda
num cais dada por




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

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


v = 50.
Exerccio 4.49 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 4.50 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?

84

Equaes no lineares

Exerccio 4.51 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

2r 3 3r 2 h + h3
,
V =
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 4.52 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.

Captulo 5

Interpolao
Seja f uma funo real definida 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 fica 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).

5.1

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.
Definio 5.1 Seja f uma funo definida num intervalo [a, b] e conhecida nos pontos da
partio
a = x0 < x1 < < xn1 < xn = b.
(5.1)
Um polinmio P que satisfaz
f (xi ) = P (xi ),

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

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

85

(5.2)

86

Interpolao

Exerccio 5.1 Dada a tabela


xi
log xi

2,3
0,361728

2,4
0,380211

2,5
0,397940

2,6
,
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


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

0
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 eficiente e pouco
estvel. Quanto eficincia, 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 eficiente,
este processo tambm pouco estvel: na prtica verifica-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.

5.1.1

Existncia e unicidade. Frmula de Lagrange

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


eficiente nem estvel. Apresentaremos, neste captulo, alguns mtodos mais eficientes para
a sua determinao.
O prximo teorema 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 5.1 (Lagrange) Seja f uma funo definida num intervalo [a, b] e conhecida
nos pontos da partio (5.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 definido por
Pn (x) =

n
X

f (xi )i (x),

(5.3)

i=0

em que
i (x) =

n
Y

j=0,j6=i

x xj
,
xi xj

i = 1, . . . , n.

(5.4)

87

Interpolao

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 verifica as condies de interpolao (5.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 (5.3) e (5.4) definem a frmula de Lagrange para calcular o polinmio
interpolador de f nos pontos (5.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
f (x) =

n
X

f (xi )i (x).

i=0

Exerccio 5.2 Dada a tabela


xi
f (xi )

1
4

2
15

3
40

4
,
85

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


Resoluo: Temos que
0 (x) =

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

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

1 (x) =

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

2 (x) =

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

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

3 (x) =

(x 1)(x 2)(x 3)
(3)(2)(1)

Assim
P3 (x) =

3
X
i=0

1
(x 1)(x 3)(x 4),
2

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

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

88

Interpolao

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 5.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
Exerccio 5.3 Mostre que frmula de Lagrange pode ser escrita na forma
Pn (x) =

n
X

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

(5.5)

(x xj ).

(5.6)

f (xi )

i=0

sendo

w(x) =

n
Y

j=0

Resoluo: Atendendo a (5.6) temos que


w (x) =

n
n
Y
X

(x xj ) w (xi ) =

i=0 j=0,j6=i

e como tal

i (x) =
o que prova o pretendido.

n
Y

(xi xj ),

j=0,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 eficiente que o processo matricial.
A frmula de Lagrange possui, no entanto, o inconveniente de obrigar a refazer os
clculos dos polinmios (5.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 fim de
estudar o comportamento do erro. (Este problema resolvido pelo algoritmo de Newton
das diferenas divididas, que no ser objecto de estudo nesta disciplina.)

89

Interpolao

5.1.2

Erro de interpolao

Por definio, 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.
Teorema 5.2 Seja Pn o polinmio de grau menor ou igual a n interpolador da funo f
nos pontos da partio (5.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
e(x) = f (x) Pn (x) =

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

(5.7)

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


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

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

(5.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 5.4 Determine uma estimativa para o erro que se cometeu na aproximao efectuada no Exerccio 5.1.
Resoluo: Neste caso temos, atendendo a (5.8),
|e3 (x)| = | log x P3 (x)|
onde
M4 =





max f (4) (x) =

x[2,3,2,6]

Fazendo x = 2,45 vem

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

| log 2,45 P3 (2.45)|

max

x[2,3,2,6] x4 ln 10

= 0,093116.

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

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

90

Interpolao

Exerccio 5.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.
Resoluo: Temos que, para x [0, ],




max f (n+1) (x)
|w(x)|
n+1
x[0,]
|w(x)| =

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

7
= 0,599
7!

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

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

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

x [a, b],

(5.9)

com h = max (xi xi1 ).


i=1,...,n

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


|f (x) Pn (x)|

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

x [a, b].

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

x[a,b]

hn+1 n!
,
4

com w a funo nodal (5.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 h2
x0 + x1


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

91

Interpolao

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


n+1

Y

hn+2 (n + 1)!

,
max (x xj )
4
x[a,b]

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+1

Y


Y
n

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



(n + 1)h =
,
max (x xj ) = max (x xj ) |x b|
4
4
x[a,b]
x[a,b] 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 definida num intervalo [a, b] onde est definida uma partio uniforme (5.1) e seja Pn o seu polinmio interpolador de Lagrange. Provmos, no
exerccio anterior, que
Mn+1
(b a)n+1 ,
4(n + 1)nn+1

max |f (x) Pn (x)|

x[a,b]

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

(5.10)

n N,

conclumos que
lim

n+



max |f (x) Pn (x)| lim

x[a,b]

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 (5.10) para as
derivadas da funo. O Exerccio 5.45 ilustra esta situao.

5.1.3

Frmula de Newton

Consideremos as seguintes funes


0 (x) = 1,

i (x) =

i1
Y

(x xi ),

i = 1, . . . , n.

j=0

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
i=0

ci i (x).

(5.11)

92

Interpolao

Para determinar c0 note-se que, se Pn (x) poder ser escrito na forma (5.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 (x1 x0 ) = Pn (x1 ) = f (x1 ) c1 =

f (x1 ) f (x0 )
.
x1 x0

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


f (x1 ) f (x0 )
x1 x0
e prosseguindo de forma idntica deduzimos que
c2 =

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


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

que denotamos por f [x0 , x1 , x2 ]. Podemos deste modo obter um processo recursivo para a
determinao dos coeficientes do polinmio se atendermos seguinte definio.
Definio 5.2 (Diferenas divididas) Seja f uma funo definida nos pontos da partio (5.1) do intervalo [a, b] R. 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
Usando a definio anterior pode demonstrar-se que
ci = f [x0 , . . . , xi ],

i = 1, . . . , n.

Substituindo este valor na expresso (5.11) que define 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 )
i1
n
Y
X
(x xj ),
f [x0 , x1 , . . . , xi ]
= f (x0 ) +
i=1

(5.12)

j=0

conhecida por frmula interpoladora de Newton das diferenas divididas. Abusivamente


usual designar por polinmio interpolador de Newton o polinmio calculado por (5.12).

93

Interpolao

As diferenas divididas so usualmente dadas tabela das diferenas divididas


xi
x0

f (xi )
f0

x1

f1

x2

f2

fi,i+1

fi,i+2

fi,i+3

f0,1
f0,2
f1,2

f0,3
f1,3

f2,3
x3

f3

xn

fn

fn3,n

fn2,n

fn1,n

onde fi,j = f [xi , xj ]. Essa tabela pode ser obtida pelo seguinte algoritmo.
Algoritmo 5.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 coeficientes da frmula de Newton esto ao longo da diagonal da tabela
das diferenas divididas.
Um resultado importante respeitante s diferenas divididas o seguinte.
Teorema 5.3 As diferenas divididas so invariantes para qualquer permutao dos ndices de suporte.
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 5.7 Seja Pn o polinmio interpolador de f C n+1 ([a, b]) de grau inferior ou igual
a n nos pontos da partio (5.1) do intervalo [a, b] e w o polinmio nodal dado em (5.6).
Mostre que se verifica a igualdade
f [x0 , x1 , . . . , xn ] =

n
X
f (xi )
.
w (xi )
i=0

94

Interpolao

O valor do polinmio interpolador num determinado ponto do seu domnio pode ser
dado pelo seguinte algoritmo.
Algoritmo 5.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 + (xi x)P

Resultado: P (x) = P

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

n
Y

(x xj ).

j=0

A frmula (5.12) pode ser calculada de forma mais eficiente 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
coeficientes f (x0 ), f [x0 , x1 ], . . ., f [x0 , x1 , . . . , xn ], requer apenas 2n adies/subtraces e
n multiplicaes/divises.
Exerccio 5.8 Escreva a frmula interpoladora de Newton das diferenas divididas usando o
mtodo de Hrner.
xi
f (xi )

Exerccio 5.9 Dada a tabela

1
0

usando interpolao quadrtica.

1
3

2
, determine uma aproximao para f (0),
4

Resoluo: Temos
xi
1

f (xi )
0

fi,i+1

fi,i+2

3/2

Assim

1/6
1

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

95

Interpolao

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 eficiente o mtodo matricial pois no tem uma
forma explcita de determinar os coeficientes do polinmio interpolador. Mais ainda, a
determinao destes coeficientes 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 (5.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 5.3 Seja f uma funo definida em [a, b] R. 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)).
Exerccio 5.10 Prove (por induo) que se f for uma funo real definida em [a, b] R e
x0 , x1 , . . . , xn so pontos de [a, b] igualmente distanciados, com xi1 xi = h, i = 1, . . . , n,
ento
k f (x0 )
,
(5.13)
f [x0 , . . . , xk ] =
k!hk
para todo o k {1, . . . , n}.
Substituindo (5.13) em (5.12) temos que
Pn (x) = f (x0 ) +
+ +
= f (x0 ) +

f (x0 )
2 f (x0 )
(x x0 ) +
(x x0 )(x x1 )
h
2h2
n f (x0 )
(x x0 )(x x1 ) (x xn1 )
n!hn
n
i1
X
i f (x0 ) Y
i=1

i!hi

(5.14)

(x xj ).

j=0

Esta frmula conhecida por frmula interpoladora de Newton das diferenas progressivas.

96

Interpolao

As diferenas progressivas podem ser dadas pela seguinte tabela, conhecida por tabela
das diferenas progressivas.
xi
x0

f (xi )
f0

2 f (xi )

f (xi )
f (x0 )

x1

2 f (x0 )

f1
f (x1 )

x2

2 f (x

f2

3 f (xi )

3 f (x0 )

1)

f (x3 )
x3

f3

xn

fn

3 f (x

2 f (xn2 )

n3 )

f (xn1 )

Exerccio 5.11 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 5.12 Mostre
arctan x = arctan

h
.
1 + xh + x2

Resoluo: Vamos provar que


tan ( arctan x) =

h
.
1 + xh + x2

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

5.2

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 (5.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)|
(5.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 (5.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 definidos
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 5.13)
Tn+1 (x) = 2xTn (x) Tn1 (x),

n = 1, 2, . . . .

(5.16)

97

Interpolao

Exerccio 5.13 Obtenha a frmula de recorrncia (5.16) e conclua que Tn , de facto, um


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

k
nos quais Tn (xk ) = (1) .
Da definio de polinmio de Chebyshev resulta imediatamente que
|Tn (x)| 1, n = 0, 1, 2, . . .. Assim sendo, como Tn (1) = 1, temos que maxx[1,1] |Tn (x)| =
1. Alm disso, atendendo ao Exerccio 5.14, os zeros dos polinmios de Chebyshev esto
todos no intervalo [1, 1].
fcil provar que o coeficiente do termo de maior grau de Tn an = 2n1 . Assim
sendo, o polinmio Ten = 21n Tn mnico, isto , o seu coeficiente 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].
Teorema 5.4 O polinmio Ten de todos os polinmios de Pen ([1, 1]) o que tem menor
norma, isto ,
max |Ten (x)| max |Pe (x)|,

x[1,1]

x[1,1]

Pe Pen ([1, 1]).

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

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 5.4 e o Exerccios 5.14 permitem-nos afirmar, atendendo a que w dado por (5.6)
um polinmio mnico, que (5.15) mnimo quando se consideram os pontos de suporte
xi =

(2i + 1)
a+b ba
+
cos
,
2
2
2n + 2

i = 0, . . . , n.

Neste caso o erro dado por


max |f (x) Pn (x)|

x[a,b]

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

com Pn (x) o polinmio interpolador de Lagrange de f nos pontos dados.


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 | < .

98

Interpolao

Assim, os polinmios que passam por (xi , yi ) e (xi , ybi ) so dados, respectivamente, por
Pn (x) =

n
X

yi i (x)

Pbn (x) =

e por

i=0

Como tal,

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


i=0,...,n

n
X
i=0

n
X
i=0

ybi i (x).

|i (x)|.

Pn
Temos ento que a funo
o factor de amplificao 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,
em homenagem a Henri Lon Lebesgue (1875-1941), associada aos pontos de interpolao
dados e ao intervalo [a, b]. Esta constante pode ser calculada numericamente.
Exerccio 5.15 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 3 (n 30) e n 4 (n 100).

5.3

Interpolao trigonomtrica e FFT

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

ck eikx ,
M = n2 , n par

k=M
,
fe(x) =
M
+1
X

ikx
n1

ck e ,
M = 2 , n mpar

k=M 1

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


um polinmio trigonomtrico representa-se por
fe(x) =

M
+
X

ck eikx ,

(5.17)

k=M

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


de Fourier, estudadas por Jean Baptiste Joseph Fourier (1768-1830), a fe chama-se srie de
Fourier discreta.
Note-se que, se f for uma funo real, os coeficientes 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
fe(xj ) =

M
+
X

k=M

ck eikjh = f (xj ),

j = 0, . . . , n.

(5.18)

99

Interpolao

Vamos mostrar que os coeficentes da srie de Fourier discreta (5.17) verificam


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 (5.18) tem-se que
n
X

f (xj )eimjh =

M
+
X

n
X

ck ei(km)jh =

j=0 k=M

j=0

M
+
X

k=M

ck

n
X

ei(km)jh .

j=0

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

ei(km)jh =

n
X
j=0

ei(km)jh =

1 = n + 1.

j=0

j=0

Se k 6= m,

n
X

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

Ao conjunto dos coeficientes {ck } da srie de Fourier discreta (5.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 }, definida, 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 ceficientes {ck } pela ordem com que aparecem na srie de Fourier
discreta (5.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 suficiente 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 5.16 Calcule a transformada de Fourier discreta de y = [1, 1, 1, 1]T .

100

Interpolao

5.4

Interpolao seccionalmente linear

Consideremos um intervalo [a, b] e uma partio dada por (5.1). Designemos por polinmio
segmentado linear (ou funo linear por segmentos) na partio (5.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 (5.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 (5.1).
Temos que

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

x [x1 , x2 ]
P11 (x),

..
..

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

..
..

.
.

h
P1n1 (x), x [xn1 , xn ]

h pode ser escrito na forma seguinte


onde P1i

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

ou ainda (frmula de Lagrange)


h
P1i
(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,

M (i)


h
(x) 2
f (x) P1i
2
x[xi ,xi+1 ]
max

com

(i)

M2 =

max

x[xi ,xi+1 ]

Mas, como vimos,


max

x[xi ,xi+1 ]

e, com tal

max

x[xi ,xi+1 ]



(2)
(x)
f
,

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

i = 0, . . . , n 1.

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

1
(xi+1 xi )2
4


M (i)


h
(x) 2 h2i ,
f (x) P1i
8
x[xi ,xi+1 ]
max

com hi = xi+1 xi , i = 0, . . . , n 1.

101

Interpolao

Consideremos agora x [a, b]. Atendendo ao que foi dito,conclui-se imediatamente que

M


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

onde M2 =

max

i=0,...,n1

(i)

M2 e h =

max

i=0,...,n1

hi .

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 tende 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 infinitamente diferencivel. A desvantagem que o processo da interpolao
segmentada linear apresenta relativamente interpolao de Lagrange que o polinmio
Pn infinitamente diferencivel enquanto que Pnh pode no ter (e, em geral, no tem)
derivadas contnuas nos pontos da partio.

5.5

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.
(5.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 verifica (5.19). Alm disso, indica-nos um processo que permite a
sua determinao.
Teorema 5.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 (5.19).
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 (5.3). Como se pode verificar facilmente


h1i (xj ) = i,j ,

h1i (xj ) = 0,

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

h2i (xj ) = i,j ,

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

e
h2i (xj ) = 0,

102

Interpolao

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 verifica (5.19).


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

(xi ) = 0, para i = 0, . . . , n, temos que este polinmio de grau


Como R2n+1 (xi ) = R2n+1
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 verifica as condies (5.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 5.17 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



(x x1 )2
x x0
,
h10 (x) = 1 2
x0 x1 (x0 x1 )2


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

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

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 5.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)!

(5.20)

onde w a funo dada por (5.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 (5.20) sai que:
max |f (x) H2n+1 (x)|

x[a,b]

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

103

Interpolao

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)|

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

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


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

x[a,b]

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

Podemos tambm concluir, uma vez que


max |w(x)|

x[a,b]

hn+1 n!
,
4

com h = max (xi xi1 ), que


i=1,...,n

max |f (x) H2n+1 (x)| 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.

5.5.1

Interpolao segmentada de Hermite

Consideremos um intervalo [a, b] e uma partio dada por (5.1). Designemos por polinmio
segmentado cbico (ou funo cbica por segmentos) na partio (5.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 (5.1). Como se sabe, existe um e
um s polinmio segmentado cbico H3h tal que
 h
= f (xi )
H3 (xi )
,
i = 0, 1, . . . , n.
(H3h ) (xi ) = f (xi )
Nestas condies, H3h chamado o polinmio interpolador (de Hermite) segmentado cbico
de f nos pontos de (5.1).
Temos que

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

x [x1 , x2 ]
H31 (x),

..
..

.
.
H3h (x) =
,
h (x),
H
x

[x
, xi ]

i1
3i

..
..

.
.

h
H3n1 (x), x [xn1 , xn ]

h pode ser escrito na forma seguinte


onde H3i

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

104

Interpolao

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



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


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

5.5.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,

no podemos definir as diferenas divididas


f [z2i , z2i+1 ] = f [xi , xi ].
No entanto, atendendo a que
lim f [x, xi ] = lim

xxi

xxi

f (x) f (xi )
= f (xi ),
x xi

podemos definir 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 definir
f [xi , xi , . . . , xi ] =
|
{z
}
r+1 vezes

f (r) (xi )
.
r!

(5.21)

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

2n+1
X

f [z0 , z1 , . . . , zi ]

i=1

i1
Y

(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 5.19 Prove a afirmao anterior para o caso em que se consideram apenas dois
pontos de interpolao (n = 1).

105

Interpolao

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 5.20 Construa um algoritmo para determinar o valor do polinmio interpolador de
Hermite num determinado ponto do seu domnio.
Exerccio 5.21 Determine o polinmio interpolador de Hermite de grau mnimo para a funo
f (x) = sin x em [0, 2 ].
Resoluo: Temos
xi
0

f (xi )
0

f [, ]

f [, , ]

f [, , , ]

42
2

42

416
3

Logo

4 2 2 4 16 2 
x

x
+
x
H3 (x) = x +
2
3
2 
 


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

5.6

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 definida num intervalo [a, b] onde consideramos a partio (5.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, i.e.,
Z b
Z b
(R (x))2 dx,
(S (x))2 dx
a

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

Prova-se seguinte resultado.


Teorema 5.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
(R (x))2 dx.
(S (x))2 dx
a

106

Interpolao

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 5.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
(5.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
dk (i+1)
S
(x) = k S (i) (x),
k
dx
dx

k = 0, . . . , m 1,

i = 0, . . . , n 1.

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 (5.1) um polinmio de grau 3 e, como tal, definido custa
de 4 parmetros. Assim, para determinar S de forma nica temos que especificar 4n
parmteros. Para isso teremos que definir 4n equaes. Atendendo definio de funo
spline temos impostas as seguintes equaes: n+1 equaes de interpolao; n1 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 definir 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 5.8 Seja f uma funo definida em [a, b]. A funo spline cbica completa
(natural) interpoladora de f nos pontos da partio (5.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 5.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
max |f (x) S(x)|

x[a,b]

5
max |f (4) (x)|h4 .
384 x[a,b]

Exerccio 5.22 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
max |f (x) S(x)| 0,5 104 .

x[2, 2,5]

2. Determine uma aproximao para f (2,3) usando o spline cbico completo interpolador
de f nos pontos obtidos na alnea anterior.

107

Interpolao

5.7
5.7.1

Problemas
Exerccios para resolver nas aulas

Exerccio 5.23 Considere os seguintes pontos de R2 , (3, 1), (2, 2), (1, 1) e (3, 10).
Determine o polinmio interpolador de Lagrange P (x) que passa por esses pontos e calcule
P (0).
Exerccio 5.24 Determine aproximaes de cos 8 usando os polinmios interpoladores de
Lagrange de grau 2 e 4 no intervalo [0, ]. Compare os resultados obtidos e indique majorantes
do erro.
Exerccio 5.25 (Matlab) Considere os seguintes pontos de R2 , (-2,1), (-1,0), (1,-3) e (4,8).
Determine o polinmio interpolador P (x) que passa por esses pontos e calcule P (0).
Exerccio 5.26 (Matlab) Considere a funo f (x) = sin x, x [/2, /2]. Trace os
grficos dos polinmios interpoladores de f para diferentes valores de n (grau do polinmio).
Exerccio 5.27 Seja {x0 , x1 , . . . , xn } um conjunto de n + 1 nmeros reais. Mostre que,
n
X
i (x) = 1, onde i (x), i = 1, . . . , n, so os polinmios de Lagrange (5.4).
i=0

Exerccio 5.28 Seja {x0 , x1 , . . . , xn } um conjunto de n + 1 nmeros reais igualmente espaados. Mostre que
n
Y
n! hn+1
|x xi |
,
4
i=0

sendo h o espaamento entre aqueles pontos.

Exerccio 5.29 Seja P (x) um polinmio de grau inferior ou igual a n e


w(x) = (x x0 )(x x1 ) (x xn ),
onde xi , i = 0, 1, . . . , n, so n + 1 pontos distintos. Mostre que o coeficiente do termo de
maior grau de P (x) dado por
n
X
P (xi )
.
a0 =
w (xi )
i=0

Exerccio 5.30 Considere a funo f (x) = sin x, definida em [0, 2 ].


1. Determine o menor nmero de pontos que deve considerar no intervalo dado para que o
erro da aproximao de f (x) por um polinmio interpolador nesses pontos seja inferior a
0,1.

2. Sabendo que sin( 3 ) = 23 , determine uma aproximao para 3 utilizando um polinmio


interpolador de ordem 2.
Exerccio 5.31 Considere a funo f (x) = cos(x) + sin(x) e os pontos
xk =

+k ,
2
4

k = 0, 1, . . . , 4.

Determine um majorante do erro que se comete na aproximao de f por um polinmio interpolador de Lagrange definido nesses pontos.

108

Interpolao

Exerccio 5.32 Seja xk1 , xk e xk+1 trs pontos igualmente espaados, com distncia h/2,
onde so conhecidos os valores de uma funo f . Mostre que o polinmio interpolador de
Lagrange de grau 2 dado por
4(xk1 x)(x xk+1 )
2(x xk )(x xk1 )
2(x xk )(x xk+1 )
f (xk1 )+
f (xk )+
f (xk+1 ).
h2
h2
h2
Exerccio 5.33 (Matlab) A temperatura do ar prximo do solo depende da concentrao K
em cido carbnico (H2 CO3 ). A tabela representa a variao K = K K da temperatura
mdia relativamente a uma temperatura de referncia K, para diferentes latitudes e valores de
K:
K
Latitude K = 0,67 K = 1,5 k = 2,0 K = 3,0
65
3,1
3,52
6,05
9,3
55
3,22
3,62
6,02
9,3
45
3,3
3,65
5,92
9,17
35
3,32
3,52
5,7
8,82
25
3,17
3,47
5,3
8,1
15
3,07
3,25
5,02
7,52 .
5
3,02
3,15
4,95
7,3
5
3,02
3,15
4,97
7,35
15
3,12
3,2
5,07
7,62
25
3,2
3,27
5,35
8,22
35
3,35
3,52
5,62
8,8
45
3,37
3,7
5,95
9,25
55
3,25
3,7
6,1
9,5
1. Recorra ao polinmio interpolador dos dados para comparar a variao da temperatura,
em funo da latitude, para os diferentes valores de K. Trace os respectivos grficos.
2. Use a alnea anterior para estimar o valor da variao de temperatura K para um local
cuja latitude igual a 23. Considere K = 0,67.
Exerccio 5.34 (Matlab) Um pra-quedista efectuou 5 saltos de diferentes alturas, tendo
medido a distncia a um alvo constitudo por uma circunferncia de raio 5 metros traada no
solo. Supondo que as respectivas altura e distncia de cada salto satisfazem a seguinte tabela
Altura do salto (m) 1500 1250 1000 750 500
,
Distncia do alvo (m) 35
25
15
10
7
recorra interpolao para estimar a distncia do alvo a que o pra-quedista cairia se saltasse
de uma altura de 850 m.
Exerccio 5.35 (Matlab) Os jactos de gua dos repuxos da Avenida S da Bandeira descrevem uma trajectria parablica. Para obter a expresso dessa trajectria foram realizadas as
seguintes medies:
Distncia (eixo horizontal) 0 1/4 1/3 1 3/2 2
.
Altura da gua
0 21/16 5/3 3 9/4 0
Recorra interpolao para obter a respectiva trajectria.

109

Interpolao

Exerccio 5.36 Uma empresa apresenta os seguintes lucros em funo das vendas:
No peas vendidas (milhares)
Lucro (milhares de euros)

1
11,2

2
15,3

3
17,1

4
16,9

5
.
15,0

Sabendo que o lucro previsto era de 13 mil euros, indique uma aproximao do nmero de peas
que foi necessrio vender para atingir esse lucro.
Exerccio 5.37 Obtenha um valor aproximado para a raiz de uma funo contnua f (x) da
qual se conhece apenas os valores apresentados na tabela seguinte:
xi
f (xi )

-2
-12,5

0
1,5

1
.
-1

Exerccio 5.38 Determine uma aproximao de cos 8 usando o polinmio interpolador segmentado de grau 2 em 5 pontos no intervalo [0, ] e indique um estimativa para o erro cometido.
Compare esta estimativa com a obtida no Exerccio 5.24.
Exerccio 5.39 Determine polinmios interpoladores segmentados de grau 1 e 2 para a funo
f (x) = x3 no intervalo [-1, 1].
Exerccio 5.40 Determine o polinmio interpolador de Hermite de grau mnimo para a funo
f (x) = cos x, x [0, 2 ] e calcule um valor aproximado para cos 8 e para sin 8 .
Exerccio 5.41 Determine o polinmio de grau mnimo que seja concordante1 com a recta
y = 2 + 21 (8 x), no ponto (8, 2), e com a circunferncia (x 1)2 + (y + 2)2 = 1, no ponto
(1, 1).
Exerccio 5.42 Da funo f (x) = sinh(x) = (ex ex )/2 conhecem-se os seguintes valores
tabelados:
xi
f (xi )
f (xi )

0
0
1

1
e1/e
2
e+1/e
2

1. A partir dos valores dados, calcule o valor aproximado de f (0,5), usando interpolao
polinomial cbica adequada. (e = 2,71828182845905 . . .)
2. Obtenha um majorante para o erro absoluto da aproximao obtida na alnea anterior
(sem calculadora, obviamente).
Exerccio 5.43 (Matlab) Dada a funo f (x) = x(x 2)ex , para x [0, 2], determine
a interpoladora trigonomtrica de f em 10 ns equidistantes. Compare o respectivo grfico
com o grfico de f .
Exerccio 5.44 (Matlab) Considere a funo f (x) = 1/(1+x2 ) definida no intervalo [-5,5].
1. Trace o grfico de alguns polinmios interpoladores de f (x) em pontos equidistantes e
compare-os com o grfico da funo.
2. Repita o procedimento da alnea anterior usando os ns de Chebyshev. Que pode concluir?
1

Duas curvas dizem-se concordantes se tiverem a mesma tangente no ponto de unio.

110

Interpolao

Exerccio 5.45 (Matlab) Considere a funo (de Runge) f (x) = 1/(1+ 25x2 ), x [1, 1].
Verifique graficamente que
max |f (x) P3 (x)| 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].
Exerccio 5.46 (Matlab) De uma funo f conhecem-se os valores dados na seguinte tabela:
x
f
Determine:

3
1

2
1

1
1

0
0

1
1

2
1

3
.
1

1. o polinmio interpolador de Lagrange nos referidos pontos;


2. o polinmio interpolador cbico segmentado de Hermite (use o comando pchip);
3. o spline cbico de interpolao (use o comando spline).
Compare os grficos das funes obtidas nas alneas anteriores.
Exerccio 5.47 (Matlab) Considere a funo f (x) = sin(2x) em 21 ns equidistantes, xi ,
i = 1, 2, ..., 21, no intervalo [1, 1]. Determine:
1. o polinmio interpolador de Lagrange nos referidos pontos;
2. o polinmio interpolador cbico segmentado de Hermite (use o comando pchip);
3. o spline cbico de interpolao (use o comando spline).
Compare o grfico das funes obtidas com o de f e repita os clculos anteriores usando o
seguinte conjunto de dados perturbados: f (xi ) = sin(2xi ) + (1)i+1 104 , i = 1, 2, ..., 21.
Exerccio 5.48 (Matlab) Considera-se um teste mecnico para estabelecer a relao entre
tenses e deformaes relativas a uma amostra de tecido biolgico. Partindo dos valores da
tabela
Teste
Tenso
Deformao

1
0,00
0,00

2
0,06
0,08

3
0,14
0,14

4
0,25
0,20

5
0,31
0,23

6
0,47
0,25

7
0,60
0,28

8
0,70 :
0,29

1. determine o polinmio interpolador;


2. obtenha o spline cbico natural;
3. estime o valor da deformao correspondente a uma tenso igual a 0,9.
Exerccio 5.49 (Matlab) Pretende-se aproximar a trajectria plana de um robot (idealizado
como um ponto material) durante um ciclo de trabalho numa indstria. O robot dever satisfazer algumas restries: estar parado no ponto do plano (0, 0) no instante inicial (t = 0),
deslocar-se at ao ponto (1, 2) em t = 1, atingir o ponto (4, 4) em t = 2, parar e iniciar de
novo o movimento para atingir o ponto (3, 1) em t = 3, voltar sua posio inicial em t = 5,
parar e recomear um novo ciclo de trabalho. Para encontrar a trajectria do robot, proceda
do seguinte modo: divida o intervalo de tempo [0, 5] em dois subintervalos [0, 2] e [2, 5]. Em
cada um dos subintervalos obtenha um spline que interpole os dados e tenha derivada nula nos
extremos. Trace o respectivo grfico.

111

Interpolao

5.7.2

Exerccios de aplicao engenharia

Exerccio 5.50 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 5.51 Na seguinte tabela so dados diferentes valores para o peso especfico p da
gua a diferentes temperaturas T (em graus centgados):
T
p

0
0,999871

1
0,999928

2
0,999969

3
.
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.
Exerccio 5.52 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
t

24,7
1

32,4
2

38,4
3

45,0
4

52,3
5

65,6
7

87,6
10

102
12

154
20

192
.
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 5.53 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 5.54 Determine uma aproximao para o instante da passagem do perigeu da Lua
em Maro de 1999, a partir dos valores tabelados para as zero horas de cada dia
dia
distncia

19
57,071

20
56,955

21
.
57,059

Indique tambm a distncia (em raios mdios da Terra) da Terra Lua nesse instante.

112

Interpolao

Exerccio 5.55 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
i

7
+5o 51 47 ,55

8
+6o 22 25 ,20

9
+6o 52 54 ,57

10
.
+6o 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.
Exerccio 5.56 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
9,40

20
11,39

20
.
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 5.57 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
5 56

27 02 ,7
6 16

26 58 ,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 5.58 Um carro percorre uma rua, em linha recta, tendo sido efectuados os seguintes
registos:
tempo (t) em segundos
distncia (d) em metros
velocidade (v) em km/hora

0
0
40

5
90

10
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.

113

Interpolao

Exerccio 5.59 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
P
e P3 , isto , que i (t) 0, i = 0, 1, 2, 3, e que 3i=0 i (x) = 1, se e s se 0 3.

Nota: Quando = 3 a curva de Ferguson-Coons tambm se chama curva de Pierre


tienne Bzier (1910-1999).
1

0.5

0.5

1.5

0.5

0.5

1.5

0.5

1.5

0.5

1.5

-0.5

-0.5

-0.5
-1

-1

-1

-1.5

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

Interpolao

114

Captulo 6

Derivao e integrao numrica


6.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
suficientemente grande por forma a que as dedues das frmulas possam ser efectuadas,
conhecida num conjunto de pontos da partio uniforme
(6.1)

a = x0 < x1 < < xn = b,


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

6.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 (6.1).
Frmulas com dois pontos
Considerando a frmula de Taylor para f em torno do ponto xk , e assumindo que f
C 2 ([a, b]), temos
f (xk+1 ) = f (xk ) + f (xk )h +

h2
f (1 ),
2

1 ]xk , xk+1 [

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

h2
f (2 ),
2

2 ]xk1 , xk [.

Assim sendo, podemos escrever


f (xk ) =

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

1 ]xk , xk+1 [

f (xk ) =

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

2 ]xk1 , xk [.

115

116

Derivao e integrao numrica

Obtemos assim duas frmulas de diferenas finitas de primeira ordem em h para aproximar
a primeira derivada de uma funo num ponto. A
(+ 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 finitas progressivas, centradas e regressivas com trs pontos.
Exerccio 6.1 Prove que:
1. f (xk ) =

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

2. f (xk ) =

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

3. f (xk ) =

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

]xk , xk+2 [;

]xk1 , xk+1 [;
]xk2 , xk [.

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
f (xk+1 ) = f (xk ) + f (xk )h +

h3
h2
f (xk ) + f (1 ),
2
6

1 ]xk , xk+1 [;

h3
h2
f (xk ) f (2 ),
2 ]xk1 , xk [.
2
6
Subtraindo 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

(6.2)

De facto, atendendo a que f contnua e o intervalo [a, b] fechado, temos que


2 min f (x) f (1 ) + f (2 ) 2 max f (x).
x[a,b]

x[a,b]

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

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

]xk1 , xk+1 [.

117

Derivao e integrao numrica

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 6.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 6.3 Considere os seguintes valores da funo f (x) = xex :


xi
f (xi )

1,8
10,889365

1,9
12,703199

2,0
14,778112

2,1
17,148957

2,2
.
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 .

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.

118

Derivao e integrao numrica

6.1.2

Aproximao da segunda derivada

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


partio (6.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 [

e
h2
h3
h4
f (xk ) f (xk ) + f (4) (2 ),
2 ]xk1 , xk [.
2
6
24
Se adicionarmos estas duas expresses obtemos

h2  (4)
1
f (1 ) + f (4) (2 ) .
f (xk ) = 2 [f (xk1 ) 2f (xk ) + f (xk+1 )]
h
24
f (xk1 ) = f (xk ) f (xk )h +

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

1  (4)
f (4) () =
f (1 ) + f (4) (2 ) .
2
Assim,
h2
1
(6.3)
f (xk ) = 2 [f (xk1 ) 2f (xk ) + f (xk+1 )] f (4) ().
h
12
A frmula
1
(2 f )(xk ) = 2 [f (xk1 ) 2f (xk ) + f (xk+1 )]
(6.4)
h
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 finitas para aproximar a segunda derivada, no s centradas como tambm progressivas e regressivas.
Exerccio 6.4 Prove que
h4 (4)
1
f (),
[f
(x
)
+
16f
(x
)

30f
(x
)
+
16f
(x
)

f
(x
)]
+
k2
k1
k
k+1
k+2
12h2
90
com ]xk2 , xk+2 [.
f (xk ) =

Exerccio 6.5 Considere, de novo, os valores da funo f (x) = xex dados na tabela do
Exerccio 6.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 6.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.

119

Derivao e integrao numrica

6.2

Integrao numrica

Nesta seco vamos obter e analisar as chamadas frmulas de quadratura numrica que
permitem determinar, de forma aproximada, o integral definido
Z b
f (x)dx
I(f ) =
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 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

xk

k=1 xk1

Pnk (x)dx

e EN C (f ; n) =

M Z
X
k=1

xk

xk1

ekn (x)dx.

(6.5)

As frmulas (6.5) so conhecidas como frmulas de Newton-Cotes (compostas), em homenagem a Newton 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 6.1 (Grau de exactido) Uma frmula de quadratura numrica (6.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 6.2 (Ordem de convergncia) Uma frmula de quadratura numrica (6.5)
diz-se com ordem de convergncia p se |EN C (f ; n)| CH p , com C uma constante independente de H e M .

6.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 .

120

Derivao e integrao numrica

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

M
X

f (xk ).

k=1

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


IPc M (f )

=H

M
X

f (xk ).

k=1

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 ). Para isso,
temos que considerar o seguinte teorema.
Teorema 6.1 (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 (x)g(x)dx.
g(x)dx =
f ()
a

Usando o desenvolvimento em srie de Taylor, e assumindo que f C 2 ([a, b]), temos


que, considerando x = (a + b)/2,
Z

(f (x) f (x)) dx

Z b
f (x )
=
f (x)(x x) +
(x x)2 dx,
2
a

I(f ) IP M (f ) =

Atendendo a que (prove)

x I{x, x}.

(x x)dx = 0

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

f ()
(b a)3 ,
24

]a, b[.

Pelas definies dadas anteriormente, temos que a frmula do ponto mdio tem ordem
de convergncia 3 e grau de exactido 1.
Exerccio 6.7 Mostre que
EPc M (f ) = I(f ) IPc M (f ) =

H2
(b a)f (),
24

]a, b[.

121

Derivao e integrao numrica

Resoluo: Temos que


EPc M (f ) =

M
X
f (k )

24

k=1

(xk1 xk )3 =

M
H 3 X
f (k ),
24
k=1

k ]xk1 , xk [.

Atendendo ao Exerccio 6.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.2.2

H2
(b a)M2 ,
24

com M2 = max |f (x)|.


x[a,b]

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 =

M Z
X
k=1

xk
xk1

f (x)dx

M Z
X
k=1

xk
xk1


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

M
HX
H
(f (xk1 ) + f (xk )) = [f (a) + 2f (x1 ) + + 2f (xM 1 ) + f (b)].
2
2
k=1

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

(6.6)

Vamos agora analisar o erro que se comete na aproximao I(f ) IT (f ). Temos que,
se f C 2 ([a, b]),
Z b
f (x )
(x a)(x b),
x ]a, b[.
I(f ) IT (f ) =
2
a
Como (x a)(x b) no muda de sinal em ]a, b[, pelo Teorema 6.1, 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.

122

Derivao e integrao numrica

12
10
y=f(x)

8
6
4
2

-1

a
-0.5

b
0.5

1.5

2.5

Figura 6.1: Frmula do trapzio.

Exerccio 6.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

12

(xk1 xk )3 =

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

k ]xk1 , xk [.

Atendendo ao Exerccio 6.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 )|

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 6.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

123

Derivao e integrao numrica

Exerccio 6.9 Seja I =

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

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
M2 ,
|ETc (x)| H 2 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
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.

6.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 )
H2
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 6.10 Prove que o valor do integral
Z xk 
2(x xk )(x xk )
4(x xk1 )(x xk )
f (xk1 )
f (xk )
2
H
H2
xk1

2(x xk1 )(x xk )
dx,
+f (xk+1 )
H2
com xk = (xk1 + xk )/2, dado por
H
[f (xk1 ) + 4f (xk ) + f (xk )] .
6

124

Derivao e integrao numrica

15
12.5
10
y=f(x)

7.5
5
2.5
a
-1

b
1
0.5
(a+b)/2

-0.5

1.5

2.5

Figura 6.2: Frmula de Simpson.

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
1
M
X
X
H
f (xk ) + f (b) .
(6.7)
ISc (f ) =
f (xk ) + 2
f (a) + 4
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 6.1 para determinar o erro cometido na aproximao
I(f ) IS (f ), uma vez que (x a)(x (a + b)/2)(x b) 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
ES (f ) =

(b a)5 (4)
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
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 6.2, como f C 4 ([a, b]), existe um ]a, b[ tal que
M
X

f (4) (k ) = M f (4) ().

k=1

Assim sendo,
ESc (f ) =

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

]a, b[.

125

Derivao e integrao numrica

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


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

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 6.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
a f (x)dx pela a frmula de Simpson (composta) dado por
ISc (f ) =

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

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

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

H4
(b a)M4 ,
180

com

]a, b[,

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


x[a,b]

(6.9)

A frmula (6.8) aquela que mais iremos usar na resoluo de exerccios prticos.
Nessa frmula, os pontos xk , com k mpar, correspondem, em (6.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.
Algoritmo 6.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

126

Derivao e integrao numrica

Exerccio 6.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 (6.8) (ver (6.9))
|ES (x)|

1
1
H 4 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
< 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.

6.3
6.3.1

Problemas
Exerccios para resolver nas aulas

Exerccio 6.13 dada a seguinte tabela de valores de uma certa funo v:


ti
v(ti )

0
0,0000

60
0,0824

120
0,2747

180
0,6502

240
1,3851

300
.
3,229

1. Determine uma aproximao para v (180) usando: i. Diferenas progressivas; ii. Diferenas regressivas; iii. Diferenas centradas.
2. Como poderia proceder para determinar uma aproximao para v (300)? Justifique.
Exerccio 6.14 Calcule a ordem de preciso da seguinte frmula para a aproximao numrica
f (xi )

f (xi2 ) 6f (xi1 ) + 3f (xi ) + 2f (xi+1 )


,
6h

onde h distncia entre os pontos xj , j = i 2, ..., i + 1.

127

Derivao e integrao numrica

Exerccio 6.15 dada a seguinte tabela de valores de uma certa funo f :


xi
f (xi )

3,1
0,0

3,2
0,6

3,3
1,0

3,4
1,2

3,5
.
1,3

1. Determine aproximaes para f (3,1) e f (3,5) usando interpolao linear.


2. Determine aproximaes para f (3,3).
3. Determine o polinmio interpolador de Hermite de f no suporte {3,1; 3,5}.
Exerccio 6.16 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 90o C mergulhada em gua mantida temperatura constante de Ta = 20o C, a
temperatura da esfera toma os seguintes valores:
Tempo (min.)
Temperatura (o C)

0
90

5
62,5

10
45,8

1. Use diferenciao numrica para aproximar

dT
dt

15
35,6

20
29,5

25
.
25,8

em cada momento.

2. Use a alnea anterior para obter uma estimativa para a constante de proporcionalidade k.
Exerccio 6.17 (Matlab) Os valores seguintes representam a evoluo no tempo do nmero
n(t) de indivduos de uma dada populao.
t (meses)
n(t)

0
100

0,5
147

1
178

1,5
192

2
197

2,5
199

3
.
200

Utilizar estes dados para aproximar a taxa de variao desta populao, usando diferentes
frmulas. Em seguida, comparar com a taxa exacta n (t) = 2n(t) 0,01n2 (t).
Exerccio 6.18 (Matlab) Considere-se o deslocamento de um carro numa recta. Use os
dados da tabela (tempo gasto e distncia percorrida) para aproximar o valor da velocidade nos
instantes referidos.
Tempo (s)
Distncia percorrida (m)

0
0

3
225

5
383

8
623

10
742

13
.
993

Exerccio 6.19 (Matlab) Considere a funo f (x) = e2x x.


1. Determine o valor exacto de f (2).
2. Aproxime o valor de f (2), recorrendo a diferenas centradas, com h = 0,5, ou seja,
usando os pontos x = 2 0,5. A seguir, diminua os incrementos h de 0,1 at h = 0,1.
3. Repita o procedimento da alnea anterior com diferenas progressivas e regressivas.
4. Compare os valores obtidos nas duas alneas anteriores e compare com o valor exacto da
derivada.

128

Derivao e integrao numrica

Exerccio 6.20 (Matlab) Os dados da tabela indicam a altura h em diferentes instantes


dum fogueto espacial em movimento ascendente vertical. Use diferenciao numrica para
completar a tabela.
Tempo (s)
Altura (km)
Velocidade (km/s)

0
0

4
0,84

8
3,53

12
8,41

16
15,97

20
27,00 .

Exerccio 6.21 Determine valores aproximados para


Z 1
ex dx,
0

usando a frmula do ponto mdio e a frmula do trapzio. Indique um limite superior para o
erro cometido em cada um dos casos.
R
Exerccio 6.22 Seja I = 0 xe2x dx.
1. Qual o menor nmero de pontos que deve considerar na frmula do trapzio por forma a
aproximar o valor do integral com uma casa decimal correcta.
2. Calcule o valor aproximado de I de acordo com a alnea anterior.
3. Repita as alneas anteriores usando, agora, a frmula de Simpson.
Exerccio 6.23 Seja I1 e I2 os valores obtidos pela frmula composta do trapzio, aplicada
com dois passos de comprimentos diferentes H1 e H2 , ao clculo aproximado de I(f ) =
Rb

a f (x)dx. Verifique que, se f variar pouco em ]a, b[, o valor


IR = I1 +

I1 I2
(H2 /H1 )2 1

d uma melhor aproximao de I(f ) do que I1 e I2 . Esta tcnica designa-se por mtodo de
extrapolao de Richardson.
Exerccio 6.24 Considere a seguinte tabela da funo f (x):
xi
f (xi )

0,0
1,00

0,2
0,83

0,4
0,71

0,6
0,62

0,8
0,36

1,0
.
0,30

1. Ser possvel calcular um valor aproximado para o integral I =

f (x)dx, usando a

frmula de Simpson ou a regra dos trapzios, atravs da tabela, com um erro que no
exceda 103 ? Justifique a sua resposta.
2. Calcule um valor aproximado de I e indique uma estimativa para o erro cometido.
Exerccio 6.25 Pretende calcular-se um valor aproximado para o integral I =

2
1

1
ln dx.
x

1. Use a frmula de Simpson para obter I com 3 casas decimais correctas.


2. Sem calcular o valor exacto de I, diga, justificando, se a aproximao calculada por
defeito ou por excesso.

129

Derivao e integrao numrica

Exerccio 6.26 Considere a seguinte


equao diferencial y (t)+a(t)y(t) = 0. A soluo desta
Rt
equao da forma y(t) = y(0)e 0 a(s)ds . Sabendo que a(0) = 1, a(1) = 2, a(2) = 1 e que
y(0) = 1, determine uma aproximao para y(2).
Exerccio 6.27 A massa que libertada por um reactor num dado perodo de tempo dada
por
Z t2
QCdt,
M=
t1

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


dados da tabela
t (min.)
C (mg/m3 )

0
10,00

10
35,00

20
54,73

30
52,16

40
,
37,07

aproxime o valor da masssa libertada pelo reactor nos primeiros 40 minutos.


Exerccio 6.28 Construa uma regra de integrao da forma
Z 1
1
1
f (x)dx A0 f ( ) + A1 f (0) + A2 f ( )
I(f ) =
2
2
1
de modo a ter grau de exactido igual a 2.
Exerccio 6.29 (Matlab) Determine uma aproximao do valor do integral
Z

sin x
dx,
x

usando uma regra de integrao apropriada.


Exerccio 6.30 (Matlab) Um carro de corrida completa uma volta num circuito em 84 s. A
velocidade do carro (em metros por segundo) em diferentes instantes temporais (em segundos)
dada na seguinte tabela.
Tempo
Velocidade

0
124

6
134

12
148

18
156

24
147

30
133

36
121

42
109

48
99

54
85

60
78

66
89

72
104

78
116

84
.
123

Determine um valor aproximado do comprimento do circuito.


Exerccio 6.31 (Matlab) Determine um valor aproximado do integral
Z
ex cos x dx
0

usando a frmula dos trapzios composta, com 2, 20, 200 e 2000 subintervalos.
Exerccio 6.32 (Matlab) Determine o comprimento aproximado do arco do grfico da funo f (x) = x3 x, entre os pontos (-1,0) e (2,6), usando a frmula do trapzio composta,
com 4 subintervalos.

130

Derivao e integrao numrica

Exerccio 6.33 (Matlab) Considere a funo f (x) = ex + 2x.


1. Calcule uma aproximao para a raiz de f (x) aplicando o mtodo de Newton 2 vezes.
2. Utilizando a frmula de Simpson, aproxime a rea da regio limitada por y ex , y 2x
e x 0.
Exerccio 6.34 (Matlab) Determine o nmero mnimo de subintervalos para aproximar,
usando a frmula composta do ponto mdio com erro inferior a 104 , os integrais das
p seguintes
funes: f1 (x) = 1/(1 + (x )5 ), em [0,5], f2 (x) = ex cos x, em [0, ] e f3 (x) = x(1 x),
em [0,1].
Exerccio 6.35 (Matlab) Consideremos um condutor elctrico esfrico de raio arbitrrio r
e condutividade . Pretendemos calcular a distribuio da densidade de corrente j em funo
de r e t (tempo), conhecendo a distribuio inicial da densidade de corrente (r). O problema
pode ser resolvido usando as relaes entre a densidade de corrente, o campo elctrico e a
densidade de carga e observando que, pela simetria da configurao, j(r, t) = j(r, t)r/|r|, em
que j = |j|. Obtm-se
Z r

t/0
() 2 d,
j(r, t) = (r)e
, (r) =
0 r 2 0
onde 0 = 8,859 1012 farad/m a constante dielctrica do vazio. Usando a frmula de
Simpson composta, determine a funo (r), para r = k/10 m com k=1,...,10, () = e e
= 0,36 W/(mK). (Recorde que: m=metros, W=watts, K=graus Kelvin).
Exerccio 6.36 (Matlab) A fim de planificar uma sala para raios infravermelhos, estamos
interessados em calcular a energia emitida por um corpo negro (isto , um objecto capaz de
irradiar em todo o espectro temperatura ambiente) no espectro (infravermelho) compreendido
entre os comprimentos de onda 3 m e 14 m. A soluo deste problema obtm-se calculando
o integral
Z 14104
dx
11
,
E(T ) = 2,39 10
1,432/(T
x)1 )
5
x (e
3104

que a equao de Planck para a energia E(T ), onde x o comprimento de onda (em cm) e
T a temperatura (em Kelvin) do corpo negro. Recorra frmula de Simpson adaptativa para
determinar a funo E(T ), com T = 213 K.

6.3.2

Exerccios de aplicao engenharia

Exerccio 6.37 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
I(ti )

1,00
3,10

1,01
3,12

1,02
3,14

1,03
3,18

1,04
,
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.

131

Derivao e integrao numrica

Exerccio 6.38 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
100

0,5
147

1
178

1,5
192

2
197

2,5
199

3
.
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).
Exerccio 6.39 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
q(t)

0
0,6350

5
0,5336

10
0,4410

15
0,3572

20
.
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 6.40 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
C 1
f
dp
ln =
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

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

P (atm.)
80
120
160
250
400

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 6.41 A funo

2
f (x) =

et dt

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.

132

Derivao e integrao numrica

Exerccio 6.42 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.
Exerccio 6.43 A intensidade de luz com comprimento de onda viajando atravs de uma
grelha de difraco com n aberturas a um ngulo dada por
I() =

n2 2
sin k,
k

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

Captulo 7

Equaes diferenciais ordinrias


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
equaes 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 e problemas com condies
de fronteira.

7.1

O problema de Cauchy

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
ordem, isto , para o caso em que f : [t0 , T ]RN RN . Por uma questo de simplificao
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 especificar y(t) num
ponto qualquer do intervalo [t0 , T ], usualmente o ponto inicial t0 . Ficamos assim com o

133

134

Equaes diferenciais ordinrias

problema de condio inicial (PCI)



y (t) = f (t, y(t)),
y(t0 ) = y0

t ]t0 , T ]

(7.2)

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 suficientes para que o problema tenha soluo nica consideremos a definio
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 )| 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 t 2; 3 y 4}.
Resoluo: Temos que
|f (t, y1 ) f (t, y2 )| = |t|y1 | t|y2 || 2||y1 | |y2 || 2|y1 y2 |.
Logo, a constante de Lipschitz L = 2.
O teorema seguinte, atribudo a Charles mile Picard (1856 -1941), estabelece condies
suficientes 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 t T, y R}. Ento o PCI (7.2) tem soluo
nica y(t) C 1 ([t0 , T ]).
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 verifica
Z
t

y(t) = y0 +

f (, y( ))d.

(7.3)

O que se prova na demonstrao do Teorema de Picard que a sucesso de funes {uj (t)},
definida 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.

135

Equaes diferenciais ordinrias

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) 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 t 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) = 0

tem soluo nica.

Resoluo: Seja D = {(t, y) : a t b, y R} e


f (y) =

1
.
1 + y2

Vamos provar que a funo





f
2y
(t, y) =

y
(1 + y 2 )2

limitada em D. Para isso h que determinar






2y

.
L = max
2
2
yR (1 + y )

Como a funo que queremos provar limitada par temos que


L = max

yR+
0

Consideremos
g(y) =
Como

2y
.
(1 + y 2 )2

2y
.
(1 + y 2 )2

3
g (y) = 0 y =
3

temos que
(

L = max g(0), g

!
3
,
3

Est assim provado o pretendido.

lim g(y)

y+

= max{0, 0,6594, 0} = 0,6594.

136

Equaes diferenciais ordinrias

7.2

Mtodos numricos para o problema de Cauchy

Consideremos, de novo, o PCI (7.2) verificando as condies do Teorema de Picard. Os


mtodos numricos que iremos considerar para resolver este problema so mtodos discretos,
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 .
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
ui+1 = ui + h(ti , ui ; h).

(7.4)

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
ui+1 = ui + h(ti , ti+1 , ui , ui+1 ; h).

(7.5)

A funo que define os mtodos (7.4) e (7.5) chamada funo de iterao ou funo
incremento do mtodo numrico.

137

Equaes diferenciais ordinrias

7.2.1

Mtodos baseados na srie de Taylor

Consideremos o PCI (7.2) com f uma funo suficientemente 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.
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 definir 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 ) =

(t, u; h) = f (t, u) +

hk
h
f (t, u) + + f (k1) (t, u).
2
k!

(7.6)

Os mtodos assim definidos 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 = y 0 ,

(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).

138

Equaes diferenciais ordinrias

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: y(T ) 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 .
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.

139

Equaes diferenciais ordinrias

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 = ui + hf (ui ) +

1
ui
h2 df
(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

7.2.2

1
1,21875
0,25
= 1,4.
2,485351563
15,35194798

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 = y 0 ,

140

Equaes diferenciais ordinrias

e o mtodo dos trapzios ou mtodo de Crank-Nicolson, em homenagem a John Crank (19162006) e Phyllis Nicolson (1917-1968), dado por
ui+1 = ui +

h
(f (ti , ui ) + f (ti+1 , ui+1 )),
2

i = 0, . . . , n 1,

u0 = y 0 .

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.
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,

Pretendemos estudar o comportamento do seu erro global.

u0 = y 0 .

(7.8)

141

Equaes diferenciais ordinrias

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 1in

o mtodo diz-se convergente. O mtodo diz-se de ordem (de convergncia) p > 0 se existir
um C > 0 tal que
|e(ti )| Chp ,
i = 1, . . . , n

ou, noutra notao, se |e(ti )| = O(hp ), i = 1, . . . , n.

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 = y 0 ,

(7.9)

isto , a soluo numrica calculada no nvel temporal ti , supondo uj = y(tj ), j = 0, ..., i1.
Definio 7.3 (Erro de truncatura e consistncia) Considere-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 1in

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)| Chp ,

i = 1, . . . , n

ou, noutra notao, se |Ti (h)| = O(hp ), i = 1, . . . , n.


Da definio anterior conclui-se que o erro de truncatura local definido 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 define 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 .

142

Equaes diferenciais ordinrias

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;


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)| 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 t T, y R, 0 h h0 },
ento

i
C p h L(ti t0 )
1 ,
h e
L
sendo L a constante de Lipschitz de .
|e(ti )|

i = 1, . . . , n.

Demonstrao: Considerando a definio 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 )| (1 + hL)|e(ti1 )| + Chp+1 .
Como e(t0 ) = 0 obtm-se
p+1

|e(ti )| Ch

i1
X
j=0

(1 + hL)j = Chp+1

i
1 (1 + hL)i
C h
hp eihL 1 .
1 (1 + hL)
L

O teorema fica 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.

143

Equaes diferenciais ordinrias

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 t T, y R, 0 h h0 },
ento o mtodo (7.8): (i) estvel; (ii) convergente se e s se consistente.
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 definido 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 ) = y(ti1 ) + hy (ti1 ) +

h3
h2
y (ti1 ) + y (ti1 ) +
2
6

e
ui

h
= y(ti1 ) +
2


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.

144

Equaes diferenciais ordinrias

Como a soluo positiva temos que u1 = 1,6568. Continuando,


y(1) u2 = u1 +

h
(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 verificada quando h puder ser escolhido arbitrariamente pequeno. No entanto, quando consideramos a aplicao de um mtodo numrico
consideramo-la com um h fixo. 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 varivel independente tende para infinito, muito frequente verificar
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 infinito.
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,
||


Um mtodo numrico diz-se absolutamente estvel se, quando aplicado ao problema


teste (7.10), a sua soluo numrica verifica (7.11). Podemos ento dizer que o mtodo de
Euler explcito
i hcondicionalmente absolutamente estvel pois absolutamente estvel se
2
.
e s se h 0, ||
Num problema geral (diferente do problema teste) a propriedade da estabilidade absoluta corresponde garantia do controlo das oscilaes quando t cresce.

145

Equaes diferenciais ordinrias

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 definido por


IEA = {z R : |R(z)| < 1}.
Note-se que um mtodo numrico incondicionalmente absolutamente estvel se e s
se o intervalo ] , 0[ estiver contido no seu intervalo de estabilidade absoluta.
No caso de se considerar, no problema teste, C, com Re() < 0, podemos definir a
regio de estabilidade absoluta de um mtodo numrico como sendo
REA = {z C : |R(z)| < 1}.
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.

7.5

Sistemas de equaes diferenciais

A teoria apresentada nas seces precedentes pode ser facilmente generalizada 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 (t, Y ) =

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.

146

Equaes diferenciais ordinrias

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.8 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.

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.9 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
z (t) =
4tz 2y 2

z (t) = 4tz 2y 2

.
 
 
y(0) = 1

y
1

z(0) = 0
(0) =
z
0
Seja


 
z
y
F (t, Y ) =
,
com Y =
4tz 2y 2
z
 
 
1
y
(0)
.
(0) =
Y
=
0
z

Considerando o mtodo de Euler progressivo temos


 
 
y
1
(0)
(0)
(0) = U
= Y
=
z
0


y
z

y
z

(0,1)

U (1)

U (0)

+ hF t0

, U (0)


(0,2) U (2) = U (1) + hF t1 , U (1) =

Temos assim que y(0,2) 0,98 e y (0,2) 0,392.




1
0,2

0,98
0,392

Exerccio 7.10 Adapte o Algoritmo 7.1 a sistemas de equaes diferenciais.

147

Equaes diferenciais ordinrias

7.6

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 definir 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 definio, 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,s1 hks1 ),
ui+1 = ui + h(b1 k1 + b2 k2 + + bs ks ),
chamado mtodo de Runge-Kutta explcito de s etapas para o PCI (7.2).
Usualmente considera-se
ci =

i1
X

aij ,

i = 2, 3, . . . , s.

(7.14)

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:

148

Equaes diferenciais ordinrias

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.
Exerccio 7.11 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)
ui+1 = ui + h2 (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.

149

Equaes diferenciais ordinrias

Assim, y(1,05) y1 = 2,22705. Continuando a aplicao do mtodo


y(1,1) u2 = u1 +

h
(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 (de quarta ordem) muito famoso dado por
k1 = f (ti , ui ),

k2 = f (ti +

h
h
, ui + k1 ),
2
2

h
h
, ui + k2 ),
k4 = f (ti + h, ui + hk3 ),
2
2
h
ui+1 = ui + (k1 + 2k2 + 2k3 + k4 ).
6
O seguinte algoritmo permite determinar a soluo do PCI (7.2) em t = T , usando este
mtodo de Runge-Kutta.
k3 = f (ti +

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: y(T ) u
Exerccio 7.12 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 definio 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,
y(ti ) = y(ti1 ) + hf (ti1 , y(ti1 )) +

h3 d2 f
h2 df
(ti1 , y(ti1 )) +
(ti1 , y(ti1 )) + .
2 dt
6 dt2

150

Equaes diferenciais ordinrias

Por outo lado, considerando o desenvolvimento de ui , recorrendo srie de Taylor para


duas variveis, temos
h
(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
ui = y(ti1 ) +

hTi =

h3
(ftt + 2f fty + f 2 fyy 2ft fy 2f fy2 )(ti1 , y(ti1 )) + .
12

Assim sai que


h2
(ftt + 2f fty + f 2 fyy 2ft fy 2f fy2 )(, y()),
]ti1 , ti [.
12
Como Ti = O(h2 ) conclumos que o mtodo de Heun tem ordem 2.
Ti =

Exerccio 7.13 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
(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 t b, y R, 0 h 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
(t, y; 0) =



1
(f (t, y2 ) + f (t + h, y2 + hf (t, y2 )))
2

1
(L|y1 y2 | + L|y1 + hf (t, y1 ) y2 hf (t, y2 )|)
2

1
L|y1 y2 | + hL2 |y1 y2 |
2


1

L + hL2 |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 + 21 h0 L2 . Finalmente, tanto como f
so contnuas em D. Est assim provada a estabilidade do mtodo.

151

Equaes diferenciais ordinrias

Exerccio 7.14 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
 



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 ) =

z
4tz 2y 2

com Y =

y
z

e Y

(0)

y
z

Considerando o mtodo de Heun temos


 (0)
 
y
1
(0)
(0)
=U
= Y
=
z
0
 
h
y
(0,1) U (1) = U (0) + (K1 + K2 ),
z
2
onde
K1 = F t0

, U (0)

K2 = F t0 +
Logo

y
z

h, U (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

K2

Logo


0,196
,
1,8818 


0,38418
(1)
= F t1 + h, U + hK1 =
.
1,6335


K1 = F t1 , U (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

152

Equaes diferenciais ordinrias

7.7

Problemas com condies de fronteira

Neste captulo, at ao momento, 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 7.2 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
w =

qx
S
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.
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[,
(7.16)
e as condies de fronteira

1 y(a) + 1 y (a) = 1
,
2 y(b) + 2 y (b) = 2

(7.17)

com i , i , i R, i = 1, 2. Estas condies de fronteira podem ser de trs tipos:


1. Dirichelet, em homenagem a Johann Peter Gustav Lejeune Dirichlet (1805-1859), se
1 = 2 = 0;
2. Neumann, em homenagem a John von Neumann (1903-1957), se 1 = 2 = 0;
3. Robin, em homenagem a Victor Gustave Robin (1855-1897), 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 (7.16) da forma
y = p(x)y + q(x)y + r(x),

x ]a, b[,

(7.18)

dizemos que (7.16)(7.17) 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 (7.16)(7.17) tem soluo nica. Esse estudo foge ao mbito deste

153

Equaes diferenciais ordinrias

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 7.5 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

(7.19)

tem uma nica soluo y C 2 ([a, b]).

7.8

Mtodo das diferenas finitas

Um mtodo muito usado para determinar solues aproximadas do PCF (7.16)(7.17)


consiste em substituir as derivadas que nela intervm por frmulas de diferenas finitas.
Suponhamos que o problema (7.16)(7.17) admite uma e uma s soluo e consideremos
a partio
a = x0 < x1 < < xn1 < xn = b
(7.20)
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 simplificao da abordagem vamos considerar a partio
(7.20) uniforme, ou seja, tal que xi xi1 = h, i = 1, . . . , n.

7.8.1

Caso linear

Vamos considerar o PCF linear (7.18) com condies de fronteira (7.17) de Dirichlet (1 =
2 = 1, 1 = 2 = 0). Este problema pode ser escrito, para cada ponto da partio (7.20),
na forma

y (xi ) = p(xi )y (xi ) + q(xi )y(xi ) + r(xi ), i = 1, . . . , n 1
,
y(x0 ) = 1 , y(xn ) = 2
com xi = ih, i = 0, . . . , n. Substituindo as derivadas pelas frmulas de diferenas centradas
de segunda ordem
y (xi ) =
e
y (xi ) =

y(xi+1 ) y(xi1 ) h2
y (i ),
2h
6

y(xi+1 ) 2y(xi ) + y(xi1 ) h2 (4)


y (i ),
h2
12

obtemos

y(xi+1 ) 2y(xi ) + y(xi1 )

h2

y(x0 ) = 1 ,

i ]xi1 , xi+1 [,

y(xn ) = 2

= p(xi )

i ]xi1 , xi+1 [,

y(xi+1 ) y(xi1 )
+ q(xi )y(xi ) + r(xi )
2h

i
h2 h
2p(xi )y (i ) y (4) (i ) ,
12

i = 1, . . . , n 1

154

Equaes diferenciais ordinrias

Se tomarmos ui y(xi ), i = 1, . . . , n 1, um mtodo de diferenas finitas com erro O(h2 )


pode ser definido pelo sistema linear
u
ui+1 ui1
i+1 2ui + ui1

p(xi )
q(xi )ui = r(xi ), i = 1, . . . , n 1

2
h
2h
,

u0 = 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

i = 1, . . . , n 1 .

u0 = 1 , un = 2

Notemos que o sistema linear obtido da forma

(7.21)

Au = b,
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=
.
.
.

1 + h2 p(xn2 ) 2 h2 q(xn2 ) 1 h2 p(xn2 )


1 + h2 p(xn1 ) 2 h2 q(xn1 )

b=


h2 r(x1 ) 1 + h2 p(x1 ) 1
h2 r(x2 )
..
.

h2 r(xn2 )

h2 r(xn1 ) 1 h2 p(xn1 ) 2

A questo que naturalmente se coloca a de saber se o sistema (7.21) tem soluo


nica. Para responder a essa questo considerere-se o seguinte exerccio cuja resoluo
est fora do mbito deste curso.
Exerccio 7.15 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
|aii | |ai,i1 | + |ai,i+1 |,

i = 2, . . . , n 1,

ento A no singular.
O resultado estabelecido neste exerccio permite concluir, de forma imediata, o seguinte
teorema.

155

Equaes diferenciais ordinrias

Teorema 7.6 Considere-se o PCF linear (7.18) com condies de fronteira (7.17) 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 (7.21) tem soluo nica desde que
h < 2/L, onde
L = max |p(x)|.
x[a,b]

Exerccio 7.16 Obtenha 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 =
Concretize para o caso n = 4.

1
n.

Resoluo: O PCF dado pode ser escrito, para cada ponto da partio (7.20) 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
y (xi )

1
(ui1 2ui + ui+1 ),
h2

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 )i=1
e
n1
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 = 14 , obtemos

2,03125
1
0
u1
1/128
0,03484
1
2,03125
1 u2 = 1/64 0,05633 .
0
1
2,03125
u3
3/128
0,05004
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[
.
(7.22)
y (a) = 1 , y (b) = 2

Equaes diferenciais ordinrias

156

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


7.8.2




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

Caso no linear

Finalmente, faamos uma pequena abordagem ao caso no linear. Consideremos o problema no linear geral (7.16) com condies de fronteira (7.17) 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(xi+1 ) y(xi1 ) h2
y(xi+1 ) 2y(xi ) + y(xi1 )

y (i )
= f xi , y(xi ),

h
2h
6

,
h2 (4)

+
y
(
),
i
=
1,
.
.
.
,
n

1
i

12

y(x0 ) = 1 , y(xn ) = 2

com i , i ]xi1 , xi+1 [. O mtodo de diferenas finitas que resulta quando se desprezam
os termos O(h2 ) das frmulas de diferenas centradas e se usam as condies de fronteira




2y
+
u
u

u
i+1
i
i1
i+1
i1

= f xi , ui ,
, i = 1, . . . , n 1

h2
2h
,

u0 = 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,

157

Equaes diferenciais ordinrias

onde x = [x1 , x2 , . . . , xn2 , xn1 ]T , u = [u1 , u2 , . . . , un2 , un1 ]T e





u2 1

f
(x,
u)
=
2u
+
u

h
f
x
,
u
,
+ 1

1
1
2
1 1

2h




ui+1 ui1

fi (x, u)
= ui1 2ui + ui+1 h2 f xi , ui ,
, i = 2, . . . , n 2
.
2h




2
n2
2

fn1 (x, u) = un2 2un1 h f xn1 , un1 ,


+ 2

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.

7.9
7.9.1

Problemas
Exerccios para resolver nas aulas

Exerccio 7.17 Mostre que o problema de condio inicial



y
= ty
,
y(0) = 1
para t [0, T ], tem soluo nica.

y = y
. Determine,
y(0) = 1
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 a soluo exacta y(t) = et .

Exerccio 7.18 Considere o problema de condio inicial

Exerccio 7.19 (Matlab) Num circuito de voltagem aplicada E, resistncia R, inductncia


L e capacitncia C em paralelo, a corrente I satisfaz a equao diferencial
I = CE +

E E
+ .
R
L

Suponha que C = 0,3 f arad, R = 1,4 ohm, L = 1,7 henry e a voltagem dada pela equao
E(t) = e0,06t sin (2t ). Se I(0) = 0, determine o valor da corrente I para t = 0,2j, para
j = 1, . . . , 5, usando o mtodo de Euler progressivo.

y
= 50y
e os mtodos
Exerccio 7.20 Considere o problema de condio inicial
y(0) =
1
de Euler progressivo e Euler regressivo. Usando cada um dos mtodos determine a soluo do
problema em t = 1 com h < 1, comparando os resultados obtidos.
Exerccio 7.21 Prove que os mtodos de Euler progressivo e regressivo so consistentes e
determine a sua ordem e erro de truncatura local.
Exerccio 7.22 Determine os intervalos de estabilidade absoluta para os mtodos de Euler
(explcito e implcito) e para o mtodo dos trapzios.

158

Equaes diferenciais ordinrias

Exerccio 7.23 Determine as regies de estabilidade absoluta do mtodos de Euler, Euler


regressivo e trapzios. Conclua que os mtodos dos trapzios e Euler regressivo so A-estveis.
Exerccio 7.24 (Matlab) Aplique os mtodos de Euler regressivo e progressivo resoluo
do problema de Cauchy
y = sin t + y,

t ]0, 1],

y(0) = 0.

Compare os resultados obtidos com a soluo exacta y(t) = 12 (sin(t) + cos(t)) + 12 et .


Exerccio 7.25 (Matlab) Considere o problema de Cauchy
y = tey ,

t ]0, 1],

y(0) = 0.

1. Aplique os mtodos de Euler progressivo e regressivo com h = 1/2, 1/22 , ..., 1/210 .
2. Compare os resultados obtidos na alnea anterior com a soluo exacta
y(t) = ln(1

t2
).
2

Exerccio 7.26 (Matlab) Considere o problema de Cauchy


y = 10y,

0 < t 2,

y(0) = 1,

cuja soluo y(t) = e10t . O que que se passa quando se aplica um mtodo de Euler com
h = 0,1?
Exerccio 7.27 (Matlab) Compare as solues numricas dos seguintes problemas com condio inicial:
1. y = 1 y,
2. y = y,

0 < t 2,

2 < t 4,

y(0) = 0,

y(2) = 0,

e y = 1 y + 0,1,

e y = y + 0,01,

0 < t 2,

2 < t 4,

y(0) = 0,1

y(2) = 0,1.

Exerccio 7.28 (Matlab) Consideremos um corpo pontual de massa m e temperatura interna T inserido num meio ambiente de temperatura constante Ta = 200 K. A transferncia
de calor entre o corpo e o exterior pode ser descrita pela lei de Stefan-Boltzmann
v(t) = S(T 4 (t) Ta4 ),
com t varivel temporal, a constante de Boltzmann (5,6 108 J/m2 K4 s), constante de
emissividade do corpo, S a rea da sua superfcie e v a velocidade de transferncia de calor.
A taxa de variao de energia E(t) = mCT (t) (onde C designa o calor especfico do material
que constitui o corpo) igual, em valor absoluto, velocidade v. Por conseguinte, fazendo
T (0) = T0 , o clculo de T (t) exige a resoluo da equao diferencial ordinria
v(t)
dT
=
.
dt
mC
Suponha que o corpo em questo um cubo de lado 1 m e massa 1 Kg, T0 = 180 K, = 0.5
e C = 100. Recorra a um mtodo de Euler para comparar os resultados obtidos com h = 10 e
h = 20, para t a variar entre 0 e 200 segundos.

159

Equaes diferenciais ordinrias

Exerccio 7.29 (Matlab) Considere o seguinte problema de Cauchy


y = y,

t > 0,

y(0) = 1,

onde um nmero real negativo. A soluo exacta y(t) = et que tende para zero quando
t tende para infinito. Faa = 1.
1. Represente graficamente, no intervalo [0,30], as solues obtidas para trs valores diferentes de h: h = 30/14, h = 30/16 e h = 1/2, usando os mtodos de Euler implcito e
explcito.
2. Resolva a alnea anterior com o mtodo de Crank-Nicolson, para os valores de h referidos
anteriormente.

y
= ty 2 + y
Exerccio 7.30 Considere o problema de condio inicial
. Determine
y(1) =
2
um valor aproximado para y(1,1), usando o mtodo de Heun.
Exerccio 7.31 Considere o problema de condio inicial

y = y 2t
y .
y(0) =
1

Determine um valor aproximado para y(0,8), usando o mtodo de Runge-Kutta de ordem


quatro:
0
0
0
0
0
1/2 1/2
0
0
0
0
1/2
0
0 .
1/2
1
0
0
1
0
1/6 1/3 1/3 1/6
Exerccio 7.32 Mostre que, quando o segundo membro f no depende de y, o mtodo de
Runge-Kutta de quarta ordem se reduz aplicao da regra de Simpson.
Exerccio 7.33 Mostre que o mtodo de Runge (7.13) tem ordem dois.
Exerccio 7.34 Mostre que o mtodo de Heun absolutamente estvel se 2 < h < 0, em
que um real negativo.
Exerccio 7.35 O mtodo de Euler modificado definido por:
ui+1 = ui + hf (ti , ui ),

ui+1 = ui + hf (ti+1 , ui+1 ).

Determinar a condio sobre h para que este mtodo seja absolutamente estvel.
Exerccio 7.36 A taxa de arrefecimento de um corpo pode ser expressa por dT
dt = k(T Ta ),
onde T e Ta so as temperaturas do corpo e do meio circundante, respectivamente, (em graus
Celsius), e k uma constante de proporcionalidade (por minuto). Considerando que uma
esfera de metal aquecida a 90o C mergulhada em gua mantida temperatura constante de
Ta = 20o C, use um mtodo numrico para calcular quanto tempo leva a esfera a arrefecer at
aos 30o C se k = 0,1 min1 .

160

Equaes diferenciais ordinrias

Exerccio 7.37 (Matlab) Aproxime a soluo do problema


y (t) = arctan(3y) 3y + t,

t > 0,

y(0) = 1

usando o mtodo:
1. de Euler progressivo, com h = 2/3 e h = 2/3 + 0,1;
2. de Euler regressivo, para os valores do passo de discretizao dados na alnea anterior;
3. de Crank-Nicolson;
4. ode23;
5. ode45.
Comente os resultados obtidos.
Exerccio 7.38 (Matlab) A funo y(t) indica a quantidade vendida de um determinado
produto ao fim de t meses aps ter sido introduzido no mercado. Suponha que y(t) satisfaz a
equao diferencial
2y
dy
=
.
dt
t(t + 1)
Ao fim do primeiro ms foram vendidas 1000 unidades daquele produto. A soluo do problema
y(t) = 4000t2 /(1 + t)2 .
1. Aproxime a soluo do problema durante o primeiro ano, usando diferentes mtodos
numricos.
2. Tendo em conta a evoluo da venda do produto mensalmente durante o primeiro ano,
aproxime o valor das vendas aps 8 meses.
Exerccio 7.39 Determine a soluo do sistema de equaes diferenciais Y = AY no instante
t = 1, com


1 2
A=
,
1 4
usando o mtodo de Euler progressivo com h < 1, a partir da condio inicial Y (0) = (1, 0).
Exerccio 7.40 (Matlab) A equao de Van der Pol

y y 2 1 y + y = 0,

com > 0, um modelo para o fluxo de corrente num tubo de vcuo com trs elementos
internos. Seja = 0,5 e y (0) = 0, y (0) = 1. Aproxime y e y no intervalo temporal [0, 30]
usando os mtodos ode45 e ode23s. Repita o exerccio considerando = 1000 e y (0) = 2,
y (0) = 0 e o intervalo temporal [0, 3000].
Exerccio 7.41 Determine a soluo aproximada do problema

y 3xy = x, x ]0, 1[
y(0) = y(1) = 0
usando o mtodo das diferenas finitas numa malha uniforme de espaamento h = 41 .

161

Equaes diferenciais ordinrias

Exerccio 7.42 Usar o mtodo das diferenas finitas para aproximar o problema de valores
na fronteira
(
T y (x) + ky(x) = w(x), x ]0, 1[
,
y(0) = y(1) = 0
onde y representa o deslocamento vertical de uma corda de comprimento 1, submetida a
uma carga transversal de intensidade w por unidade de comprimento, T a tenso e k um
coeficiente associado elasticidade da corda. No caso em que w(x) = 1 + sin(4x), T = 1
e k = 0,1, calcular a soluo correspondente a h = 41 .

7.9.2

Exerccios de aplicao engenharia

Exerccio 7.43 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.44 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.45 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.46 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)



x 2
3x 3
x 2 

n2
n3
,
x = k n1
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?

162

Equaes diferenciais ordinrias

Exerccio 7.47 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.23)

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.23) 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.23), 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.48 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
2
g
+ 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.

Equaes diferenciais ordinrias

163

Exerccio 7.49 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)
e
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 ) .

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.50 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?

Equaes diferenciais ordinrias

164

Exerccio 7.51 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 conformistas na sociedade. (Conformista a pessoa que adopta ou segue o
conformismo (anglicanismo).) . 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.

Bibliografia
[1] Richard L. Burden e J. Douglas Faires, Numerical Analysis, Cengage Learning, 2011.
[2] Rainer Kress, Numerical Analysis, Spinger, 1998.
[3] Cleve Moler, Numerical Computing with Matlab, SIAM, 2004.
[4] Heitor Pina, Mtodos Numricos, McGraw Hill, Lisboa, 1995.
[5] Alfio Quarteroni e Fausto Saleri, Clculo Cientfico com o Matlab e o Octave, Spinger,
2007.

165

166

Contedo
1 Aritmtica computacional
1.1 Erros absolutos e relativos . . . . . . .
1.2 Erros de arredondamento e truncatura
1.3 O polinmio de Taylor . . . . . . . . .
1.4 Problemas . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

1
3
5
9
11

2 Sistemas de equaes lineares


2.1 Classes de matrizes . . . . . . . . . . . . . .
2.2 Mtodos directos: reviso . . . . . . . . . .
2.3 Normas de matrizes. Condicionamento . . .
2.4 Mtodos iterativos . . . . . . . . . . . . . .
2.5 Convergncia dos mtodos iterativos . . . .
2.6 O mtodo dos mnimos quadrados . . . . .
2.7 Problemas . . . . . . . . . . . . . . . . . . .
2.7.1 Exerccios para resolver nas aulas . .
2.7.2 Exerccios de aplicao engenharia

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

13
14
15
17
21
23
26
32
32
40

.
.
.
.

.
.
.
.

3 Valores prprios e valores singulares


3.1 Mtodo da potncia . . . . . . . . . . . . .
3.2 Clculo de todos os valores prprios . . . .
3.3 Decomposio em valores singulares . . . .
3.4 Problemas . . . . . . . . . . . . . . . . . . .
3.4.1 Exerccios para resolver nas aulas . .
3.4.2 Exerccios de aplicao engenharia

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

41
42
44
45
49
49
52

4 Equaes no lineares
4.1 Mtodos iterativos . . . . . . . . . . . . . .
4.2 Determinao da aproximao inicial . . . .
4.3 Mtodo da bisseco . . . . . . . . . . . . .
4.4 Mtodo de Newton . . . . . . . . . . . . . .
4.5 Mtodo do ponto fixo . . . . . . . . . . . . .
4.6 Equaes algbricas . . . . . . . . . . . . . .
4.6.1 Algoritmo de Hrner . . . . . . . . .
4.6.2 O mtodo de Newton-Hrner . . . .
4.7 Sistemas de equaes no lineares . . . . . .
4.8 Problemas . . . . . . . . . . . . . . . . . . .
4.8.1 Exerccios para resolver nas aulas . .
4.8.2 Exerccios de aplicao engenharia

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

53
54
55
57
59
63
68
72
73
74
78
78
82

167

168

5 Interpolao
5.1 Interpolao polinomial de Lagrange . . . . . . . . . . . . . . .
5.1.1 Existncia e unicidade. Frmula de Lagrange . . . . . .
5.1.2 Erro de interpolao . . . . . . . . . . . . . . . . . . . .
5.1.3 Frmula de Newton . . . . . . . . . . . . . . . . . . . .
5.2 Interpolao de Chebyshev . . . . . . . . . . . . . . . . . . . . .
5.3 Interpolao trigonomtrica e FFT . . . . . . . . . . . . . . . .
5.4 Interpolao seccionalmente linear . . . . . . . . . . . . . . . .
5.5 Interpolao de Hermite . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Interpolao segmentada de Hermite . . . . . . . . . . .
5.5.2 Polinmio interpolador de Hermite e diferenas divididas
5.6 Aproximao por funes spline cbicas . . . . . . . . . . . . .
5.7 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.1 Exerccios para resolver nas aulas . . . . . . . . . . . . .
5.7.2 Exerccios de aplicao engenharia . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

85
85
86
89
91
96
98
100
101
103
104
105
107
107
111

6 Derivao e integrao numrica


6.1 Derivao numrica . . . . . . . . . . . . . .
6.1.1 Aproximao da primeira derivada .
6.1.2 Aproximao da segunda derivada .
6.2 Integrao numrica . . . . . . . . . . . . .
6.2.1 Frmula do ponto mdio . . . . . . .
6.2.2 Frmula do trapzio . . . . . . . . .
6.2.3 Frmula de Simpson . . . . . . . . .
6.3 Problemas . . . . . . . . . . . . . . . . . . .
6.3.1 Exerccios para resolver nas aulas . .
6.3.2 Exerccios de aplicao engenharia

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

115
115
115
118
119
119
121
123
126
126
130

7 Equaes diferenciais ordinrias


7.1 O problema de Cauchy . . . . . . . . . . . . . .
7.2 Mtodos numricos para o problema de Cauchy
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 Problemas com condies de fronteira . . . . .
7.8 Mtodo das diferenas finitas . . . . . . . . . .
7.8.1 Caso linear . . . . . . . . . . . . . . . .
7.8.2 Caso no linear . . . . . . . . . . . . . .
7.9 Problemas . . . . . . . . . . . . . . . . . . . . .
7.9.1 Exerccios para resolver nas aulas . . . .
7.9.2 Exerccios de aplicao engenharia . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

133
133
136
137
139
140
144
145
147
152
153
153
156
157
157
161

.
.
.
.
.
.
.
.
.
.

S-ar putea să vă placă și