An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e...

169
Ad´ erito Lu´ ıs Martins Ara´ ujo An´ alise Num´ erica Engenharias Mecˆ anica e de Materiais F.C.T.U.C. 2002

Transcript of An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e...

Page 1: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Aderito Luıs Martins Araujo

Analise NumericaEngenharias Mecanica e de Materiais

F.C.T.U.C.

2002

Page 2: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 1

Preliminares

1.1 Introducao

A analise numerica e a disciplina da matematica que se ocupa da elaboracao e estudo demetodos que permitem obter, de forma efectiva, solucoes numericas para problemas mate-maticos, quando, por uma qualquer razao, nao podemos ou nao desejamos usar metodosanalıticos.

Para perceber melhor o que se pretende dizer por de forma efectiva, consideremos oproblema do calculo do determinante. Como e sabido (sera?), o determinante de uma matrizquadrada A = (aij)

ni,j=1 e dado pela expressao

det (A) =∑

±a1i1 · · · anin ,

onde a soma e efectuada sobre todas as n! permutacoes (i1, . . . , in) dos numeros 1, 2, . . . , n.Esta formula teorica so permite o calculo efectivo do determinante se a dimensao da matrizfor muito pequena. Por exemplo, se n = 25 o numero de permutacoes possıveis e superior a15 quatrilioes (como e que se escreve este numero?)! Se possuirmos uma maquina que calculecada termo da expressao anterior num bilionesimo de segundo (coisa que nem remotamenteos actuais computadores conseguem fazer), para calcular todas as parcelas necessitamos de15 bilioes de segundos, ou seja 400.000 anos!

Os problemas que a analise numerica pretende dar solucao sao geralmente originariosdas ciencias naturais e sociais, da engenharia, das financas, e, como foi dito, nao podem,geralmente, ser resolvidos por processos analıticos.

Exemplo 1.1 (Lei da gravitacao universal) Um dos primeiros e mais importantes modelosmatematicos para problemas da fısica foi dado por Newton para descrever o efeito da gravidade.De acordo com esse modelo, a forca da gravidade exercida pela Terra num corpo de massa m tema magnitude

F = Gm × mt

d2,

onde mt e a massa da Terra, d a distancia entre os centros dos dois corpos e G a constante degravitacao universal.

O modelo de Newton para a gravitacao universal conduziu a ciencia a formulacao de muitosproblemas cuja solucao so pode ser obtida de forma aproximada, usualmente envolvendo asolucao numerica de equacoes diferenciais.

2

Page 3: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 3

Exemplo 1.2 (Problema dos tres corpos) O problema dos tres corpos consiste em deter-minar quais sao os comportamentos possıveis de um sistema constituıdo por tres corpos queinteragem entre si atraves de uma forca gravitacional newtoniana. Este problema nao e difıcil depor em equacao e os espectaculares exitos da Mecanica Classica dos finais do sculo XIX sugeriamque a sua resolucao, de interesse aparentemente academico, fosse uma questao de tempo; o factode nao ser possıvel realizar os calculos podia passar de mero detalhe tecnico. Afinal de contas,o problema dos dois corpos (isto e, dois corpos que interagem por via da forca gravitacional,como a Terra e o Sol) tinha uma solucao muito simples, que era estudada no primeiro ano dasuniversidades. O facto e que a solucao analıtica deste problema e impossıvel de obter! Resta-nosassim recorrer a solucao numerica.

O estabelecimento das varias leis da fısica permitiu aos matematicos e aos fısicos obtermodelos para a mecanica dos solidos e dos fluıdos. As engenharias mecanica e civil usam essesmodelos como sendo a base para os mais modernos trabalhos em dinanica dos fluıdos e emestruturas solidas, e a analise numerica tornou-se uma ferramenta essencial para todos aquelesque pretendem efectuar investigacao nessas areas da engenharia. Por exemplo, a construcaode estruturas modernas faz uso do chamado metodo dos elementos finitos para resolver asequacoes com derivadas parciais associadas ao modelo; a dinamica dos fluıdos computacionale actualmente uma ferramenta fundamental para, por exemplo, desenhar avioes; a elaboracaode novos materiais e outro assunto que recorre, de forma intensa, a algoritmos numericos. Aanalise numerica e pois uma area que tem assumido crescente importancia no contexto dasciencias da engenharia.

No processo de resolucao de um problema fısico podemos distinguir varias fases.

1. Formulacao de um modelo matematico que descreve uma situacao real. Tal formulacaopode ser feita recorrendo a (sistemas de) equacoes algebricas, transcendentes, integrais,diferenciais, etc. E necessario ter muito cuidado nesta fase uma vez que a grandecomplexidade dos problemas fısicos pode-nos obrigar a fazer simplificacoes no modelo,simplificacoes essas que nao devem alterar grandemente o comportamento da solucao.

2. Obtencao de um metodo numerico que permite construir uma solucao aproximada parao problema. Um metodo numerico que possa ser usado para resolver o problema etraduzido por algoritmo que nao e mais do que um completo e nao ambıguo conjuntode passos que conduzem a solucao do problema. Esta fase constitui o cerne da analisenumerica. Assim, dado um determinado metodo numerico, temos necessidade de saberem que condicoes as solucoes por ele obtidas convergem para a solucao exacta; em quemedida pequenos erros de arredondadmento (e outros) poderao afectar a solucao final;qual o grau de precisao da solucao aproximada obtida, etc.1

3. Programacao automatica do algoritmo. Nesta fase teremos necessidade de recorrer a umalinguagem de programacao como o FORTRAN, o PASCAL, o C++, entre outras. Maisrecentemente e usual o recurso a programas como o MATHEMATICA ou o MATLAB.

1Neste curso, uma vez que e destinado a alunos de engenharia, nao iremos dar grande enfase a estas questoes.Discutiremos as condicoes de aplicabilidade dos metodos quando for caso disso, provaremos a existencia destascondicoes e faremos uma breve analise de erros, ou seja, faremos alguma analise numerica simples.

Page 4: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 4

Exercıcio 1.1.1 A equacao do segundo grau ax2 + bx + c = 0, com a, b e c constantes reais,e usualmente resolvida pelas formulas

x1 =−b +

√b2 − 4ac

2a, x2 =

−b −√

b2 − 4ac

2a. (1.1)

1. Prove que uma solucao alternativa e dada por

x1 =2c

−b −√

b2 − 4ac, x2 =

2c

−b +√

b2 − 4ac. (1.2)

2. Escreva um programa de computador que resolva equacoes de segundo grau de duas manei-ras distintas: (i) usando as formulas (1.1); (ii) calculando uma raiz pela formula de (1.1) emque nao se subtraem numeros do mesmo sinal e a outra raiz pela formula de (1.2) adequada.

3. Execute o programa construıdo em 2. quando: (i) a = 1.0, b = −5.0, c = 6.0; (ii) a = 1.0,b = 12345678.03, c = 0.92.

1.2 Breve referencia historica

Os algoritmos numericos sao quase tao antigos quanto a civilizacao humana. Os babilonios,vinte seculos antes de Cristo, ja possuiam tabelas de quadrados de todos os inteiros entre 1 e60. Os egıpcios, que ja usavam fraccoes, inventaram o chamado metodo da falsa posicao paraaproximar as raızes de uma equacao. Esse metodo encontra-se descrito no papiro de Rhind,cerca de 1650 anos antes da era crista.

Na Grecia antiga muitos foram os matematicos que deram contributos para o impulsodesta disciplina. Por exemplo, Arquimedes de Siracusa (278-212, a.C.) mostrou que

310

71< π < 3

1

7

e apresentou o chamado metodo da exaustao para calcular comprimentos, areas e volumes defiguras geometricas. Este metodo, quando usado como metodo para calcular aproximacoes,esta muito proximo do que hoje se faz em analise numerica; por outro lado, foi tambem umimportante precursor do desenvolvimento do calculo integral por Isaac Newton (1643-1729) eGottfried Wilhelm Leibniz (1646-1716).

Heron de Alexandria, no seculo I a.C., deduziu um procedimento para determinar√

a daforma (seras capaz de deduzir este metodo?)

1

2

(xn +

a

xn

).

No ano 250 da nossa era, Diofanto de Alexandria (200?-284?) obteve um processo para adeterminacao das solucoes de uma equacao quadratica.

Durante a Idade Media, os grandes contributos para o desenvolvimento da matematicaalgorıtmica vieram, sobretudo, do medio oriente, India e China. O contributo maior foi, semduvida, a simplificacao introduzida com a chamada numeracao indo-arabe.

O aparecimento do calculo e a criacao dos logaritmos, no seculo XVII, vieram dar umgrande impulso ao desenvolvimento de procedimentos numericos. Os novos modelos matema-ticos propostos nao podiam ser resolvidos de forma explıcita e assim tornava-se imperioso o

Page 5: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 5

desenvolvimento de metodos numericos para obter solucoes aproximadas. O proprio Newtoncriou varios metodos numericos para a resolucao de muitos problemas, metodos esses quepossuem, hoje, o seu nome. Tal como Newton, muitos vultos da matematica dos seculosXVIII e XIX trabalharam na construcao de metodos numericos. De entre eles podemosdestacar Leonhard Euler (1707-1783), Joseph-Louis Lagrange (1736-1813) e Carl Friedrich Gauss(1777-1875).

Foi, no entanto, o aparecimento, na decada de 40 do seculo XX, dos primeiros computa-dores que contribuiu decisivamente para o forte desenvolvimento da disciplina. Apesar detanto Balise Pascal (1623-1662) como Gottfried Wilhelm von Leibniz (1646-1716) terem cons-truıdo, ja no sec. XVII, as primeiras maquinas de calcular e de Charles Babage (1791-1871),milionario ingles, ter construıdo o que e considerado o primeiro computador (nunca fun-cionou!), foi apenas com o aparecimento do ENIAC, nos anos 40, que a ciencia usufruiu, defacto, desses dispositivos de calculo.

1.3 Nocoes e teoremas basicos

Antes de comecarmos propriamente com os assuntos da analise numerica, relembremos algu-mas nocoes e teoremas importantes que convem ter sempre presentes. O primeiro teoremaque iremos considrar e devido a Bernard Placidus Johann Nepomuk Bolzano (1781-1848).

Teorema 1.3 (Bolzano) Se f for uma funcao contınua em [a, b] entao, para todo o y com-preendido 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 funcaocontınua para passar de um ponto para outro tem de passar por todos os valores intermedios.

Outro teorema basico e o seguinte e foi estabelecido por Michel Rolle (1652-1719).

Teorema 1.4 (Rolle) Se f for uma funcao contınua em [a, b], diferenciavel em ]a, b[ e sef(a) = f(b) entao 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, queentre dois zeros de uma funcao contınua existe, pelo menos, um zero da sua derivada.

Teorema 1.5 (Rolle generalizado) Se f for uma funcao contınua em [a, b], diferenciaveln vezes em ]a, b[ e se tiver, neste intervalo, n zeros entao f ′ tem pelo menos n − 1 zeros em]a, b[, f ′′ tem pelo menos n − 2 zeros em ]a, b[, . . ., f (n−1) tem pelo menos 1 zero em ]a, b[.

Outro resultado que convem ter presente e o conhecido Teorema do Valor Medio de La-grange.

Teorema 1.6 (Valor Medio de Lagrange) Se f for uma funcao contınua em [a, b] e di-ferenciavel em ]a, b[ entao existe pelo menos um ξ ∈]a, b[ tal que

f ′(ξ) =f(b) − f(a)

b − a.

Page 6: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 6

-0.4 -0.2 0.2 0.4 0.6 0.8 1

2

3

4

a b

Figura 1.1: Teorema do Valor Medio.

Este resultado justifica o procedimento (muito comum) de substituir o calculo da derivadade uma funcao definida num intervalo (pequeno) [a, b] pela diferenca dividida

f [a, b] :=f(b) − f(a)

b − a.

Consideremos agora o seguinte teorema estudado, tal como os anteriores, na disciplina deAnalise Matematica do primeiro ano.

Teorema 1.7 (Valor Medio para integrais) Seja f uma funcao contınua em [a, b] e guma funcao integravel que nao muda de sinal em [a, b]. Entao existe pelo menos um ξ ∈]a, b[tal que

f(ξ)

∫ b

ag(x) dx =

∫ b

af(x)g(x) dx.

1.4 Breve referencia a teoria dos erros

A introducao de erros num determinado processo de calculo pode ter varias causas. E nossoobjectivo analisar quais sao essas causas e estudar mecanismos que nos permitam determinarlimites superiores para os erros obtidos no final do processo de calculo.

Para iniciar o nosso estudo, definamos dois tipos fundamentais de erros.

Definicao 1.8 (Erro absoluto) Seja x ∈ IRn um vector cujas componentes sao desconhe-cidas e x ∈ IRn um vector cujas componentes sao aproximacoes para as componentes corres-pondentes de x. Chama-se erro absoluto de x e representa-se por e(x) a quantidade

e(x) = x − x.

Na pratica o valor do erro absoluto usa-se, geralmente, em norma pois, para a maioria dosproblemas, nao e relevante saber se o erro foi cometido por defeito ou por excesso. Vamos,entao introduzir o conceito de norma vectorial.

Definicao 1.9 (Norma) Seja E um espaco vectorial (real ou complexo). A aplicacao ‖ · ‖ :E −→ IR+

0 que verifica

1. ∀x ∈ E, ‖x‖ = 0 ⇔ x = 0,

Page 7: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 7

2. ∀x ∈ E, ∀λ ∈ IR (ou C), ‖λx‖ = |λ|‖x‖,

3. ∀x, y ∈ E, ‖x + y‖ 6 ‖x‖ + ‖y‖,

e designada por norma.

Como consequencia da propriedade 3 da definicao anterior temos

‖u‖ = ‖u − v + v‖ 6 ‖u − v‖ + ‖v‖

e portanto ‖u‖ − ‖v‖ 6 ‖u − v‖. Logo vale a seguinte propriedade.

Teorema 1.10 Seja E um espaco vectorial e ‖.‖ uma norma em E. Entao

|‖u‖ − ‖v‖| 6 ‖u − v‖,∀u, v ∈ E.

Existem varias funcoes que verificam as tres propriedades das normas vectoriais. Entreelas destacam-se as dadas no Exercıcio 1.4.1.

Exercıcio 1.4.1 Consideremos E = IRn. Prove que as funcoes seguintes sao normas

• ‖x‖1 =

n∑

i=1

|xi|, (norma um)

• ‖x‖2 =

√√√√n∑

i=1

|xi|2, (norma euclidiana).

• ‖x‖∞ = maxi=1,...,n

|xi|, (norma do maximo ou de Chebyshev),

Num espaco de funcoes podemos tambem definir uma norma.

Exercıcio 1.4.2 Consideremos o conjunto das aplicacoes contınuas num intervalo [a, b]. Esteconjunto e um espaco vectorial para a soma de funcoes e produto de um numero real por umafuncao. Prove que, em C[a, b], sao normas as aplicacoes seguintes:

• ‖f‖2 =

√∫ b

a[f(x)]2dx, (norma L2);

• ‖f‖∞ = maxx∈[a,b]

|f(x)|, (norma de Chebyshev).

Vamos agora introduzir o conceito de erro relativo.

Definicao 1.11 (Erro relativo) Seja x ∈ IRn um vector cujas componentes sao desconheci-das e x ∈ IRn um vector cujas componentes sao aproximacoes para as componentes correspon-dentes de x. Chama-se erro relativo de x e representa-se por r(x) a quantidade

r(x) = e(x)/‖x‖.

Page 8: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 8

Como na definicao de erro relativo o valor de x nao e conhecido, e usual considerar aaproximacao ‖r(x)‖ ≈ ‖e(x)‖/‖x‖. Melhor ainda, atendendo a que

‖x‖ > |‖x‖ − ‖e(x)‖|,

podemos considerar o majorante

‖r(x)‖ 6‖e(x)‖

|‖x‖ − ‖e(x)‖| .

O erro relativo, atendendo a que e uma quantidade adimensionada, e muitas vezes repre-sentado sob a forma de percentagem. Note-se tambem que o erro relativo nos da uma maiorinformacao quanto a precisao da aproximacao que o erro absoluto.

E com base nas definicoes de erro absoluto e erro relativo que iremos analisar os resultadosnumericos que aparecerao como aproximacoes a valores que nao conhecemos com exactidao.

Exercıcio 1.4.3 Ptolomeu de Alexandria (seculo II) usou na sua obra Almagest (em arabe, “OGrande Compendio”), seguindo os Babilonios, o valor de π = (3.830)60. E claro que a notacaousada nao foi esta, mas sim a notacao grega corrente na epoca π = γη′λ′′.

1. Converta a base decimal e determine os erros absoluto e relativo cometidos.

Nota: Este foi o valor usado por Cristovao Colombo (seculo XV) nos calculos denavegacao.

2. Tente explicar a notacao usada por Ptolomeu tendo em atencao que os gregos recorriam asletras do seu alfabeto para representar os numeros. Assim (o alfabeto grego na altura tinhamais duas letras) α = 1, β = 2, . . ., ι = 10, κ = 20, λ = 30, ρ = 100, . . ..

1.4.1 Erros de arredondamento

Os dados de um determinado problema podem estar a partida afectados de imprecisoes re-sultantes de medicoes incorrectas. Note-se que a escala de um instrumento de medicao nosda uma possibilidade de saber um limite superior para o erro com que esses valores vemafectados. Por exemplo, com uma regua usual, a medicao de uma distancia de 2 mm podevir afectada com um erro de 0.5 mm o que da um erro relativo de 2.5%.

Outra causa de erro resulta das simplificacoes impostas ao modelo matematico usado paradescrever um determinado fenomeno fısico. Por exemplo, e usual considerar que, para umdada problema, nao ha perdas de calor, o atrito e nulo, etc. Este tipo de erros fogem aocontrolo do analista numerico e sao muito difıceis de quantificar.

Outra causa de erros resulta da forma como representamos os numeros reais. De facto,quando usamos um computador, a mantissa de um numero tem que ser limitada. Assim,existem numeros que nao possuem representacao na maquina que estamos a trabalhar. Porexemplo, o numero x = 123.9346 nao tem representacao numa maquina de base decimal cujamantissa so permita armazenar 6 dıgitos. Temos assim necessidade de o aproximar por umoutro que possa ser representado na referida maquina. Essa aproximacao vai ser efectuadapor um processo conhecido por arredondamento.

A forma de arredondar um numero real e a usual. Como tal

x = 123.9346 ≈ 123.935 = x,

Page 9: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 9

e este novo valor ja tem representacao na maquina que estamos a usar sob a forma .123935E2.Note-se que o arredondamento foi efectuado na terceira casa decimal e que

|e(x)| = |x − x| = 0.0004 < 0.5 × 10−3,

|r(x)| =|e(x)||x| ≈ 3.23 × 10−6 < 5 × 10−6.

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 × 10−2,

|r(x)| =|e(x)||x| ≈ 3.63 × 10−5 < 5 × 10−5.

Daqui resultam as seguintes definicoes.

Definicao 1.12 (Casa decimal correcta) Seja x ∈ IRn uma aproximacao para x ∈ IRn.Diz-se que x tem k casas decimais correctas se e so se ‖e(x)‖ 6 0.5 × 10−k.

Definicao 1.13 (Algarismo significativo correcto) Seja x ∈ IRn uma aproximacao parax ∈ IRn. Diz-se que x tem k algarismos significativos correctos2 se e so se ‖r(x)‖ 6 5 × 10−k.

Note-se que estas definicoes surgem por forma a que todo o numero obtido a partir de umvalor exacto por conveniente arredondamento tenha todas as suas casas decimais e todos osseus algarismos significativos correctos.

Exercıcio 1.4.4 Um meio bastante eficaz de calcular o valor de π consiste em usar a serie

426880√

10005

π=

∞∑

n=0

(6n)![545140134 · n + 13501409]

n!3(3n)!(−640320)3n.

1. Mostre que se trata de uma serie convergente.

2. Pode mostrar-se que, tomando os k + 1 primeiros termos desta serie, π vem determinadocom 14.18(k + 1) casas decimais correctas. Verifique este facto para k = 5 e k = 10.

Exercıcio 1.4.5 Sejam x, y e z tres quantidades exactas. Por arredondamento obtiveram-se asseguintes aproximacoes: x = 231, y = 2.31 e z = 23.147.

1. Conte o numero de casas decimais correctas nas aproximacoes e calcule limites superiorespara o erro absoluto em cada uma delas. Compare os resultados e comente.

2. Conte o numero de algarismos significativos correctos nas aproximacoes e calcule limitessuperiores para o erro relativo em cada uma delas. Compare os resultados e comente.

2Na representacao decimal de um numero, um algarismo diz-se significativo se e diferente de zero. O zerotambem e significativo excepto quando e usado para fixar o ponto decimal.

Page 10: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 10

Existe ainda outra possibilidade de erro quando trabalhamos em aritmetica de vırgulaflutuante. Suponhamos que estamos ainda numa maquina de base decimal cuja mantissa sopermita armazenar 6 dıgitos. Consideremos, por exemplo, o seguinte numero: x = .100107E4.Assim temos que

z := x3 = 1003213435.95

nao tem representacao nesta maquina. Ha pois necessidade de o arredondar. Considerando

z ≈ 100321 = z,

cuja representacao e z = .100321E6, temos que, apesar de

|e(z)| = 3435.95,

o erro relativo e

|r(z)| =3435.95

1003213435.95≈ 3.42 × 10−6 < 5 × 10−6.

Para finalizar vamos definir o que se entende por precisao da maquina. Esta caracterıstica emedida pelo chamado zero da maquina, denotado por ǫ, e definido com sendo o menor numeroque pode ser representado satisfazendo a

(1 + ǫ) > 1.

Assim, uma maquina e tanto mais precisa quanto menor for o seu zero.

1.4.2 Erros de truncatura

Os erros de truncatura ou de discretizacao sao, por definicao, os erros que surgem quandose passa de um processo infinito para um processo finito ou quando se substitui um processocontınuo por um discreto. Por exemplo, quando aproximamos

f ′(x) ≈ f(x + h) − f(x)

h

ou

e ≈(

1 +1

M

)M

,

cometemos erros de truncatura. Outro exemplo onde surgem este tipo de erros e dado pelachamada aproximacao de Taylor que iremos considerar na prxima seccao.

1.5 O polinomio de Taylor

Seja f uma funcao real definida num intervalo [a, b] ⊆ IR. Um problema que frequentementese coloca e o de determinar uma funcao g definida em [a, b] tal que ‖f − g‖∞ < ǫ, com ǫ > 0uma tolerancia dada, onde ‖ · ‖∞ e a norma de Chebyshev. A existencia de solucao para talproblema e dada pelo teorema que se segue, estabelecido por Karl Theodor Wilhelm Weierstrass(1815-1897) e que apresentamos sem demonstracao.

Page 11: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 11

Teorema 1.14 (Weierstrass) Seja f uma funcao contınua definida em [a, b]. Entao, paracada ǫ > 0 existe um polinomio p definido em [a, b] tal que

‖f − p‖∞ < ǫ.

Notemos a grande importancia deste resultado. De acordo com ele, podemos ter a certezaque dada uma funcao contınua f qualquer existe sempre um polinomio p que esta tao proximode f quanto se queira. Assim sendo, este resultado legitima a aproximacao polinomial, isto e,a tarefa de, dada uma funcao, procurar um polinomio que a aproxime. Notemos, no entanto,que o teorema nao nos diz como podemos construir esse polinomio; ele apenas garante aexistencia.

Consideremos agora o seguinte teorema, apresentado sem demonstracao, devido a BrookTaylor (1685-1731).3

Teorema 1.15 (Taylor) Se f admite derivadas contınuas ate a ordem n (inclusive) em[a, b], isto e, se f ∈ Cn([a, b]), e se f (n+1) existir em ]a, b[ entao, para todo o x, x0 ∈ [a, b],

f(x) = Tn(x;x0) + Rn(x;x0), (1.3)

onde

Tn(x;x0) =

n∑

k=0

f (k)(x0)

k !(x − x0)

k

e

Rn(x;x0) =f (n+1)(ξ)

(n + 1) !(x − x0)

n+1, ξ ∈ Ix, x0,

sendo Ix, x0 o intervalo aberto definido por x e x0.

A (1.3) chamaremos formula de Taylor sendo Tn(x;x0) o polinomio de Taylor de f em tornodo ponto x0 e Rn(x;x0) o resto (de Lagrange) de ordem n (ou de grau n + 1). Se x0 = 0 a(1.3) chamaremos formula de Maclaurin.4

Atente-se ao grande interesse pratico deste resultado que afirma que, mediante certascondicoes, uma funcao pode ser escrita como a soma de um polinomio com um resto. Esco-lhendo valores de x e x0 tais que

limn→+∞

Rn(x;x0) = 0, (1.4)

temos que, a partir de um valor de n suficientemente grande, a funcao dada pode ser apro-ximada pelo seu polinomio de Taylor. Assim, qualquer operacao a efectuar sobre a funcao(derivacao, integracao, etc.) podera ser feita sobre o polinomio.

Notemos que a escolha dos valores de x e x0 devera ser feita de modo a que eles pertencamao intervalo de convergencia da serie

∞∑

k=0

f (k)(x0)

k !(x − x0)

k

3Taylor foi, entre outras coisas, o sucessor de Haley como secretario da Royal Society. Publicou, em 1715,um livro intitulado Methodus Incrementorum Directa & Inversa no qual a sua expansao apaarece descrita. Oseu teorema foi enunciado em 1712.

4Colin Maclaurin (1698-1746) foi um menino prodıgio sendo nomeado professor em Aberdeen com a idadede 19 anos. A sua expansao apareceu em 1742 no Treatise on Fluxions.

Page 12: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 12

designada por serie de Taylor. Neste curso nao iremos dar enfase a esta questao.O objectivo fundamental dos problemas que surgem neste contexto e o de determinar o

menor valor de n que verificamax

ξ∈Ix,x0|Rn(x;x0)| < η ,

sendo η > 0 uma tolerancia previamente fixada. Obtemos assim a aproximacao

f(x) ≈ Tn(x;x0),

cujo erro nao excede η. O valor de Rn(x;x0), sendo um erro absoluto uma vez que

|f(x) − Tn(x;x0)| = |Rn(x;x0)|,

e tambem designado erro de truncatura.

Definicao 1.16 (Funcao analıtica) Uma funcao f cujo resto da sua formula de Taylorverifique (1.4), para todo o x ∈]x0 − ε, x0 + ε[, com ε positivo e escolhido de forma adequada,diz-se analıtica em x0.

Como a formula de Taylor e definida usando apenas informacao relativa as derivadas dafuncao num unico ponto, e surpreendente que muitas das funcoes que sao definidas de formanatural na matematica, bem como os limites das equacoes diferenciais que servem de modeloa muitos problemas da engenharia, fısica, biologia, sociologia, etc, sejam funcoes analıticas.

Exercıcio 1.5.1 Determine um valor aproximado de e2 com 3 casas decimais correctas, usandoa formula de Maclaurin aplicada a funcao f(x) = ex.

Resolucao: A funcao f(x) = ex e uma funcao analıtica para todo o x real (prove!) e atendendoa que f (k)(x) = ex a serie de Maclaurin de f e dada por

ex =

∞∑

k=0

xk

k!.

Assim, fixando um valor de n, temos que

ex ≈ 1 + x +x2

2+

x3

6+ · · · + xn

n!,

com

|Rn(x; 0)| 6ex

(n + 1)!|xn+1| 6

3x

(n + 1)!|xn+1|.

Vamos entao determinar qual o menor valor de n tal que

|Rn(2; 0)| 632

(n + 1)!|2n+1| 6 0.5 × 10−3.

Por tentativas...

n = 9 ⇒ 32

10!210 = 0.254 × 10−2

n = 10 ⇒ 32

11!211 = 0.462 × 10−3.

Page 13: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 13

Logo a aproximacao pedida e

e2 ≈10∑

k=0

xk

k!= 7.38899470899 ≈ 7.389.

Exercıcio 1.5.2 Calcule um valor aproximado de cos 47o utilizando o polinomio de Taylor com

resto de grau 3 encontrado para a funcao f(x) = cos x em torno de x0 =π

4. Indique o grau de

precisao do resultado obtido.

Exercıcio 1.5.3 Utilizando o desenvolvimento em serie de Taylor de ln (1 + x) em torno de

x0 = 0, calcule ln (5

4) com duas casas decimais correctas.

Exercıcio 1.5.4 Obtenha uma aproximacao com tres casas decimais correctas para ln (1.25).

Exercıcio 1.5.5 Pretende-se calcular uma aproximacao do real A =8

πsin

π

8com tres casas

decimais correctas desenvolvendosin x

xem serie de Taylor.

1. Determine o menor numero de termos a tomar naquele desenvolvimento de modo a obter aprecisao referida.

2. Calcule A de acordo com a alınea anterior e apresente o erro absoluto cometido.

Exercıcio 1.5.6 Determine

∫ 1

2

0

sin x

xdx com tres casas decimais correctas.

Exercıcio 1.5.7 Desenvolva em serie de Taylor a funcao f(x) =1

x

∫ x

0e−t2dt e indique um

limite superior para o erro de truncatura.

1.6 Exercıcios de aplicacao a engenharia

Exercıcio 1.6.1 O fluxo atraves de uma parte da camada fronteira num fluıdo viscoso e dadopelo integral definido ∫ 0.8

01.4(1 − e−4x2

) dx.

Calcule uma aproximacao para o integral com quatro casas decimais correctas.

Exercıcio 1.6.2 Consideremos uma viga uniforme de comprimento L, suspensa, sujeita a umacarga uniformemente distribuida, W , e a uma forca compressiva, P , em cada extremo. A deflaccao,D, no ponto medio e dada por

D =WEI

P 2(sec (0.5mL) − 1) − WL2

8P,

onde m2 = P/EI, com E e I constantes. Usando o desenvolvimento em serie de Maclaurin dafuncao y = sec x, prove que, quando a forca gravıtica tende a anular-se, a deflaccao, D, tende

para5WL4

384EI.

Page 14: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Preliminares 14

Exercıcio 1.6.3 A lei dos gases perfeitos e dada por pv = nrt e relaciona a pressao, p, ovolume, v, a temperatura, t, e o numero de moles, n, de um gas ideal. O numero r nesta equacaodepende apenas do sistema de medicao a usar. Suponhamos que foram efectuadas as seguintesexperiencias para testar a veracidade da lei usando o mesmo gas.

1. Consideraram-se p = 1.0 atmosferas, n = 0.0042 moles, v = 0.10 metros cubicos e r =0.082. Usando a lei, a temperatura do gas foi prevista como sendo

t =pv

nr=

1.0 × 0.10

0.082 × 0.0042= 290o Kelvin = 17o Celsius.

Quando medimos a temperatura do gas verificamos ser 17o Celsius.

2. A experiencia anterior foi repetida usando os mesmos valores de r e n mas aumentandoo pressao quatro vezes enquanto se reduziu o volume na mesma proporcao. Como pv econstante, a temperatura prevista e de 17o Celsius mas agora, ao medir a temperatura dogas encontramos o valor 32o Celsius.

Sera que a lei nao e valida nesta situacao?

1.7 Referencias bibliograficas

K.E. Atkinson (1989), An Introduction to Numerical Analysis, 2th ed., John Wiley, NewYork.

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

P. Henrici (1963), Error Propagation for Difference Methods, John Wiley, New York.

M. Rosa (1992), Topicos de Analise Numerica, Textos de Apoio, DMUC, Coimbra.

J. Stoer e R. Bulirsch (1980), Introduction to Numerical Analysis, Springer-Verlag, Berlin.

J.H. Wilkinson (1963), Rounding Errors in Algebraic Process, Prentice-Hall, New Jersey.

Page 15: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 2

Solucao numerica de equacoes esistemas nao lineares

2.1 Breve referencia historica

A origem dos metodos numericos para a resolucao de equacoes nao lineares e bastante antiga.Os matematicos gregos tinham ja notado a importancia do conhecimento da relacao entre acorda de uma circunferencia e o arco que ela define. Hiparcos de Niceia, no seculo II a.C., foiprovavelmente o primeiro a introduzir a funcao corda

cor (2θ) = 2R sin θ,

onde R e o raio da circunferencia e θ o angulo subentendido. No entanto, o primeiromatematico a tabelar esta funcao foi Ptolomeu (85?-165?) no seu Almagesto (que significa“O Grande Tratado”), onde tambem calculou formulas para cor(θ1 + θ2) e cor(1

2θ). O quee interessante notar e que Ptolomeu, para calcular cor(1o), usou um procedimento iterativoonde obtinha sucessivas aproximacoes, partindo de varios valores iniciais.

O problema de melhorar o metodo de Ptolomeu preocupou muitos matematicos, em parti-cular os do mundo arabe, ate ao tempo de Ghiyath al-Din Jamshid Mas’ud al-Kashi (1390-1450).Este matematico (e astronomo) deduziu um elegante metodo iterativo que envolvia equacoesalgebricas e que, em particular, permitia calcular o valor de sin 1o partindo de sin 3o. Esteproblema, conhecido por trisseccao do angulo, constiui um dos problemas mais famosos dahistoria da Matematica e, em particular das equacoes algebricas.

O conceito de equacao algebrica tinha sido introduzido, no seculo IX, pelo matematicoarabe Abu Ja’far Mohammed ibn Musa al-Khwarismi (790?-840?), na obra Ilm al-Jabr wa’iMuquabalah. Nesta obra eram explicadas, essencialmente, duas operacoes: al-jabr e a operacaoque consiste em fazer passar de um membro da equacao para o outro um termo subtractivopor forma a o tornar aditivo; al-muquabalah e a operacao que consiste em suprimir os termosidenticos em ambos os membros da equacao. O nome de al-Khwarismi deu origem a palavraportuguesa algarismo e deve-se ao facto de ter sido a obra deste matematico que deu a conhecerao ocidente a numeracao indo-arabe. Outro matematico-filosofo de destaque no contexto dasequacoes algebricas foi o famoso Omar Khayyam (1048-1131), da Persia, autor, entre variostrabalhos de teor cientıfico, da celebre obra Rubaiyat: Odes ao Vinho.

A notacao usada por estes matematicos era, no entanto, bastante deficiente. Impor-tantes contributos no sentido da simplificacao da notacao foram dados por Leonardo de Pisa

15

Page 16: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 16

(Fibonacci) (1170?-1250?) no seculo XIII, Luca Pacioli (1445-1517) no seculo XV, ChristoffRudolff (1499-1545), matematico alemao que introduziu os sımbolos + e −, e Robert Recorde(1510-1558), matematico ingles que introduziu o sımbolo =, no seculo XVI e, sobretudo, porFrancois Viete (1540-1603), ou a latina como ele preferia, Vieta, nos finais do seculo XVI.

Apos os trabalhos de John Napier (1550-1617) e de Henry Briggs (1556-1630) sobre lo-garitmos, Vieta desenvolveu, em 1595, um esquema iterativo para calcular um zero de umpolinomio de grau 45, problema que tinha sido proposto a todos os matematicos do mundo porAdriaan von Roomen (1561-1615), que tambbem preferiu o nome latino Adrianus Romanus(manias da Renascenca...). Vieta nao so calculou de uma forma brilhante um zero comotambem apresentou os 23 zeros positivos do referido polinomio!1 E curioso reparar que, em1670, o metodo de Vieta foi descrito como um “trabalho improprio para um cristao e maisadequado a alguem que queira comprometer-se a remover os Alpes italianos para a Inglaterra”.

Durante este perıodo muitos matematicos se dedicaram a tarefa de deduzir metodos ite-rativos. Por exemplo, nos meados do sec. XVII, Johannes Kepler (1571-1630) produziu umesquema iterativo para resolver a famosa equacao

α = β + e sin β,

onde β e funcao de α a que chamou regula rositionum. Na segunda metade desse seculo, aMatematica na Europa ocidental sofreu uma enorme evolucao. E de salientar, nesta epoca,as novas teorias e notacoes apresentadas por Rene Descartes (1596-1650) em La Geometriebem como os trabalhos do seu grande rival intelectual Pierre Fermat (1601-1665).

Precedido por este conjunto de resultados, o grande matematico inges Isaac Newton (1643-1727) publicou, em 1669, no seu celebre trabalho Principia Mathematica (Livro 1, Prop.31,Scholium), “uma versao melhorada do procedimento exposto por Vieta e melhorado porOughtred”para calcular a solucao de x3 − 2x − 5 = 0. Este esquema, que ele tambem usariapara resolver o problema de Kepler, pode ser representado por

xk+1 = xk − f(xk)

f ′(xk), k = 0, 1, . . . ,

e constitui um poderoso e simples metodo para calcular raızes de equacoes nao lineares. Estemetodo e muitas vezes designado por metodo de Newton-Raphson pois ele foi sistematica-mente estudado por Joseph Raphson (1648-1715) num trabalho que publicou em 1690. Devidoaos seus excelentes trabalhos, neste e noutros campos, Newton e considerado como um dosgrandes precursores da analise numerica.

2.2 Introducao

A solucao de equacoes e sistemas de equacoes e um capıtulo em que a analise numericaencontra uma solucao bastante precisa. Neste capıtulo vamos expor alguns metodos que nospermitem obter aproximacoes para as solucoes reais de uma equacao real da forma

f(x) = 0, (2.1)

1Vieta, que possuia um profundo conhecimento matematico, serviu-se para o seu estudo de varias simpli-ficacoes de notacao que introduziu, nomeadamente, a de usar letras nao so para denotar constantes como paradenotar variaveis; as primeiras letras do alfabeto seriam reservadas para as constantes e as ultimas para asvariaveis. Ainda assim que hoje procedemos.

Page 17: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 17

onde f e uma funcao que pode ser algebrica ou transcendente.Os valores de x∗ tais que f(x∗) = 0 sao designados por zeros de f , ou raızes de f(x) = 0.

So para algumas escolhas particulares de f e que sao conhecidos processos que permitemcalcular os referidos valores com um numero finito de operacoes.

Exemplo 2.1 As raızes da equacao do segundo grau

ax2 + bx + c = 0

sao facilmente obtidas pela chamada “formula resolvente”

x =−b ±

√b2 − 4ac

2a, a 6= 0.

Exemplo 2.2 As raızes da equacao

x3 + px2 + qx + r = 0

podem ser obtidas pelo processo que se segue, devido a Scipione del Ferro (1465-1515) e NiccoloTartaglia (1499-1557), publicado pela primeira vez por Gerolamo Cardano (1501-1576). Fazendoa mudanca de variavel x = z − p

3 obtem-se assim a equacao

z3 + az + b = 0,

onde

a =1

3(3q − p2) e b =

1

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

As raızes desta nova equacao sao dadas por

z1 = A + B; z2 = −A + B

2+

A − B

2

√−3; z3 = −A + B

2− A − B

2

√−3,

onde

A =3

√−b

2+

√b2

4+

a3

27,

B =3

√−b

2−√

b2

4+

a3

27.

Assim as raızes da equacao dada sao

x1 = z1 −p

3; x2 = z2 −

p

3; x3 = z3 −

p

3.

E tambem possıvel determinar analiticamente as raızes de uma equacao polinomial dequarta ordem. Tal formula e devida a Ludovico Ferrari (1522-1569). A formula para calcularas raızes de uma equacao polinomial de quinta ordem foi procurada durante seculos. Em1826, o matematico noruegues Niels Henrik Abel (1802-1829) provou que essa formula naoexiste. Assim, para calcular as raızes de uma equacao polinomial de grau igual ou superior acinco temos que recorrer a metodos numericos. Alem disso, de um modo geral, nao existem

Page 18: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 18

formulas para a determinacao das raızes de uma equacao nao linear nao polinomial. E o casoque acontece quando consideramos, por exemplo,

ex + tan x + log x = 0.

A solucao analıtica de sistemas de equacoes nao lineares tambem nao e possıvel de obter namaioria dos casos. Como exemplo, considere-se

x2y + 2xy2 − xy = 3

xy2 − 2x2y + 4xy = −1.

Problemas numericos desta natureza ocorrem com muita frequencia na resolucao de equa-coes diferenciais, integracao, determinacao de extremos, etc. Na impossibilidade de obter asua solucao exacta, vamos considerar os chamados metodos iterativos por forma a obter umasolucao aproximada para o problema.

2.3 Metodos iterativos

Consideremos o problema (2.1). A filosofia dos metodos iterativos consiste em, partindo deuma aproximacao inicial x0 para uma solucao x∗ do problema, gerar uma sucessao de valores

xk+1 = g(xk), k = 0, 1, 2, . . . , (2.2)

que seja convergente para essa solucao.

Definicao 2.3 (Convergencia) O metodo iterativo (2.2) diz-se convergente para x∗ se

limk→∞

ek = 0,

onde ek := e(xk) = x∗ − xk e o erro (absoluto) da iteracao k.

Dados varios processos iterativos convergentes para para a solucao x∗ de (2.1) coloca-se aquestao de saber qual dos processos e mais eficiente. A eficiencia de um processo iterativo podeser medida de varias maneiras: esforco computacional, tempo gasto, etc. Nesta seccao iremosdefinir um conceito que servira para medir a velocidade de convergencia de um determinadoprocesso iterativo.

Definicao 2.4 (Ordem de convergencia) Uma sucessao de iteracoes xk diz-se que con-verge com ordem de convergencia p > 1 para um ponto x∗ se existir uma constante M > 0,independente de k, e uma ordem k0 ∈ IN a partir da qual

|ek+1| 6 M |ek|p, (2.3)

A constante M e chamada constante erro.

A velocidade de convergencia de um processo iterativo esta usualmente associada ao con-ceito de ordem de convergencia. Quanto maior for a ordem de convergencia mais rapida e,em geral, a velocidade de convergencia do processo. A razao de convergencia tambem pode

Page 19: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 19

ser um aspecto a considerar mas, normalmente, so e considerada quando se comparam pro-cessos iterativos com a mesma ordem de convergencia. Aqui, quanto menor for a razao deconvergencia mais rapida e a convergencia do processo.

Se p = 1 diz-se que o metodo iterativo converge linearmente para x∗. Neste caso a constanteerro M tera que ser inferior a 1 (para o metodo convergir) e a relacao (2.3) pode ser escritana forma

|ek+1| 6 Mk+1|e0|.Se p = 2 diz-se que a convergencia e quadratica e se p = 3 diz-se que a convergencia e cubica.

Outras questoes que surgem naturalmente quando se fala de metodos iterativos sao asseguintes: como determinar a aproximacao inicial? como definir um metodo iterativo conver-gente? como saber que a solucao dada pelo metodo iterativo constitui uma boa aproximacaopara a solucao exacta, isto e, como parar o processo iterativo?

As duas primeiras questoes serao respondidas nas proximas seccoes. Consideremos, poragora, apenas o problema da definicao de criterios de paragem para processos iterativosaplicados ao calculo das raızes de (2.1).

Seja (2.2) o processo iterativo gerador de uma sucessao de aproximacoes convergente paraa solucao x∗ de (2.1). Os criterios de paragem mais frequentes, quando se pretende aproximara raiz x∗ com uma precisao ε, sao:

1. Criterio do erro absoluto: |xk − xk−1| 6 ε;

2. Criterio do erro relativo: |xk − xk−1| 6 ε|xk|;

3. Criterio do valor da funcao: |f(xk)| 6 ε1, onde ε1 ≪ ε;

4. Criterio do numero maximo de iteracoes: k = kmax.

O primeiro e o segundo criterios sao assim conhecidos uma vez que os valores por elesobtidos podem constituir estimativas para |∆xk| e |rxk

|, respectivamente. O ultimo criterioutiliza-se como factor de seguranca, para prever o caso em que o processo iterativo possadivergir.

Note-se que, dada uma sucessao convergente xk, a sucessao |xk −xk−1| tambem o e eo seu limite e zero. Este facto garante-nos a eficacia dos criterios do erro absoluto e relativo.

Uma questao final, para a qual nao iremos dar grande enfase, tem a ver com a estabilidadedos algoritmos. Como e sabido, muitos dos problemas que pretendemos resolver podem sersensıveis a erros, isto e, mal condicionados. Um caso disso e o conhecido exemplo de JamesHardy Wilkinson (1919-1986).

Exemplo 2.5 Consideremos a seguinte equacao

(x + 1)(x + 2) · · · (x + 20) = 0.

Se efectuarmos as multiplicacoes vem que

x20 + 210x19 + · · · + 20! = 0.

Perturbemos agora o sistema alterando o coeficiente 210 para 210 + 2−23. Temos assim um novoproblema para resolver na forma

x20 + (210 + 2−23)x19 + · · · + 20! = 0.

Page 20: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 20

As raızes deste novo problema sao

−1,−2, . . . ,−8,−14 ± 2.5i,−16.73 ± 2.8i, . . . .

Para estes problemas os metodos iterativos a usar terao que ser escolhidos de forma muitocriteriosa por forma a nao propagarem muito os erros no processo de calculo.

2.4 Determinacao da aproximacao inicial

Num processo iterativo e necessario determinar uma estimativa inicial da solucao do problemaa resolver. Por varias razoes, algumas delas obvias, e de todo o interesse que essa aproximacaoesteja o mais proximo possıvel da solucao exacta. Existem varios processos que permitemencontrar essas aproximacoes iniciais.

Exemplo 2.6 As solucoes de x2.1 − 4x + 2 = 0 podem ser aproximadas inicialmente pelassolucoes de x2 − 4x + 2 = 0.

Exemplo 2.7 Se pretendermos aproximar a maior raiz de x5−x−500 = 0 podemos tomar paraaproximacao inicial x ≈ 5

√500 = 3.468.

As tecnicas usadas nos exemplos anteriores sao muito intuitivas e nao podem ser genera-lizadas a uma gama elevada de problemas. O processo mais usual de obter uma aproximacaoinicial consiste em determinar um intervalo de pequena amplitude contendo a raiz a calcular.Para isso iremos considerar dois metodos: o processo da localizacao grafica e o chamado metodode Rolle.

2.4.1 Localizacao grafica

Este metodo consiste em tentar obter graficamente um intervalo que contenha a raiz de(2.1) que pretendemos calcular. Ora, o tracado grafico da funcao f pode nao ser evidente econstituir, em si, um processo de complicada resolucao. Este problema pode ser contornadose reescrevermos a equacao (2.1) na forma equivalente

f1(x) = f2(x), (2.4)

sendo f1 e f2 funcoes cujo tracado grafico seja mais simples que o de f . Assim as raızes de(2.1) serao as solucoes de (2.4), isto e, os pontos de interseccao de f1 com f2.

O processo de determinacao grafica de um intervalo que contem a raiz deve ser sempreacompanhado de uma confirmacao analıtica, confirmacao essa que pode ser dada pelo seguinteteorema que resulta, como corolario imediato, do Teorema de Bolzano.

Teorema 2.8 Se f for uma funcao contınua em [a, b] e se f(a)f(b) < 0 entao existe pelomenos um c ∈]a, b[ tal que f(c) = 0.

Se, para alem das hipoteses do teorema anterior, se verificar que a derivada de f nao mudade sinal no intervalo [a, b], entao a raiz e unica nesse intervalo. Temos assim um criterio paraverificar a existencia e unicidade de zero de uma funcao contınua f num dado intervalo [a, b]:se

Page 21: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 21

1. f e contınua em [a, b];

2. f(a)f(b) < 0;

3. f ′ nao muda de sinal em [a, b],

entao existe uma e uma so raiz de f(x) = 0 em [a, b].

Exercıcio 2.4.1 Localize graficamente as raızes de f(x) = 0, sendo f(x) = |x| − ex.

Resolucao: Comof(x) = 0 ⇔ |x| = ex,

tracando o grafico de y = |x| e y = ex (Figura 2.1) verificamos que o seu (unico) ponto deinterseccao, x∗ (a raiz de f(x) = 0), se situa no intervalo ] − 1, 0[.

-1 -0.5 0.5 1

0.5

1

1.5

2

2.5

y=|x|

y=ex

Figura 2.1: Localizacao grafica.

De facto, tal acontece uma vez que:

1. f ∈ C(] − 1, 0[);

2. f(−1)f(0) = 0.632 × (−1) = −0.632 < 0;

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

2.4.2 Metodo de Rolle

Quando o metodo grafico for de difıcil aplicacao, poderemos usar o chamado metodo de Rolle.Este metodo e muito usado quando pretendemos localizar as raızes de uma equacao algebrica.(Note-se que quando o grau do polinomio que define a equacao algebrica for muito grande otracado grafico torna-se complicado.) A justificacao teorica do metodo e dada pelo Teoremade Rolle e o seu corolario seguinte.

Teorema 2.9 Se f for uma funcao contınua e diferenciavel em [a, b] e se a e b sao dois zerosconsecutivos de f ′, entao existe, no maximo, 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 funcao, existe, no maximo, um zerodessa funcao.

Para definir o metodo de Rolle consideremos, previamente, a seguinte definicao.

Page 22: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 22

-1 -0.5 0.5 1

-2.5

-2

-1.5

-1

-0.5

Figura 2.2: Corolario do Teorema de Rolle.

Definicao 2.10 (Numeros de Rolle) Chamam-se numeros de Rolle da equacao f(x) = 0,definida em I ⊆ IR, ao conjunto formado pelos pontos fronteira de I e pelos zeros da derivadade f .

Atendendo ao teorema anterior temos que, uma vez ordenados de forma crescente, entredois numeros de Rolle consecutivos existe, no maximo, uma raiz real da equacao. Assim seo valor da funcao tiver o mesmo sinal nos extremos do intervalo definido por dois numerosde Rolle consecutivos, a equacao nao tem nenhuma raiz real nesse intervalo; caso contrario,a equacao tem uma so raiz real no intervalo.

Exercıcio 2.4.2 Usando o metodo de Rolle, localize todas as raızes reais de

f(x) ≡ x3 − 2x − 5 = 0.

Resolucao: A funcao derivada, definida pela expressao 3x2−2, tem dois zeros −√

2/3 e +√

2/3.Os numeros de Rolle da equacao dada sao

−∞, −√

2

3, +

√2

3, +∞.

Como a funcao dada e contınua em IR e

ri −∞ −√

2/3 +√

2/3 +∞f(ri) − − − +

,

temos que a unica raiz real da equacao dada esta no intervalo ]√

2/3,+∞[.

Note-se que o intervalo obtido no exemplo anterior ainda e bastante grande. Podemosdiminuı-lo recorrendo ao seguinte resultado, obtido a partir do Teorema de Taylor e validoapenas para equacoes algebricas.

Teorema 2.11 (Newton) Seja p(x) = 0 uma equacao algebrica. Se, para x = L, L > 0, opolinomio p e as suas sucessivas derivadas forem nao negativas, entao L constitui um limitesuperior das raızes positivas de p(x) = 0.

Page 23: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 23

Demonstracao: Seja p um poliomio de grau n. Fazendo o seu desenvolvimento de em serieTaylor, em torno de x = L, temos que

p(x) = p(L) + p′(L)(x − L) +p′′(L)

2!(x − L)2 + · · · + p(n)(L)

n!(x − L)n.

Assim e facil concluir que, nas hipotese do teorema, p(x) > 0 para todo o x > L, o que provao pretendido.

Um limite inferior l para as raızes negativas de p(x) = 0 poderia ser obtido usando oresultado anterior, atendendo a que as raızes negativas de uma equacao algebrica p(x) = 0,onde p e um polinomio de grau n, sao as raızes positivas, com sinal contrario, de q(x) ≡(−1)np(−x) = 0.

Exercıcio 2.4.3 Prove a afirmacao anterior.

Exercıcio 2.4.4 Determine limites superiores e inferiores para as raızes reais de

p(x) ≡ x3 − 2x − 5 = 0.

Resolucao: Atendendo a que

0 1 2 3

p(x) − − − +p′(x) +p′′(x) +p′′′(x) +

,

L = 3 e limite superior das raızes de p(x) = 0. Para determinar um limite inferior dasraızes, consideremos

q(x) ≡ (−1)3p(−x) = x3 − 2x + 5.

Ora, atendendo a que

0 1

q(x) − +q′(x) +q′′(x) +q′′′(x) +

,

temos que l = −1 e limite inferior das raızes de p(x) = 0.

2.5 Calculo das raızes

Seja f uma funcao contınua em [a, b] tal que f(a)f(b) < 0. Entao, pelo Teorema 2.8, existepelo menos uma raiz x∗ de f(x) = 0 em ]a, b[. Se, para alem disso, se verificar que a derivadade f nao muda de sinal no intervalo [a, b], entao a raiz e unica nesse intervalo.

Localizada a raiz2, vamos construir uma sucessao de aproximacoes convergente para essaraiz. O metodo mais simples, de entre os que iremos estudar, e o metodo das divisoes sucessivasconhecido por metodo da bisseccao.

2Localizar uma raiz significa encontrar um intervalo que a contenha essa e apenas essa raiz.

Page 24: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 24

2.5.1 Metodo da bisseccao

No metodo da bisseccao nao e necessario o conceito de aproximacao inicial mas sim o deintervalo inicial I0 = [a, b]. Comecemos por determinar o ponto medio de I0,

x1 =b + a

2.

Caso f(a)f(x1) < 0, temos que x∗ ∈ [a, x1]; caso contrario temos que x∗ ∈ [x1, b]. Supo-nhamos, sem perda de generalidade, que x∗ ∈ I1 = [a, x1]. Obtemos assim um intervalo quecontem a raiz x∗ de amplitude igual a metade da amplitude do intervalo inicial. Determinandoagora o ponto medio de I1,

x2 =x1 + a

2,

podemos obter, de forma analoga, um novo intervalo que contenha a raiz x∗, de amplitudeigual a metade da amplitude do intervalo I1. Seja esse intervalo I2 = [x1, x2]. O processorepete-se determinando uma sucessao xk que converge, evidentemente, para x∗.

O algoritmo do metodo da bisseccao pode ser dado como se segue.

Algoritmo 2.1 Metodo da bisseccao

Dados: a, b, ε1 e ε2

Se f(a)f(b) > 0 entao parar

Repetir

c := a+b2

Se f(a)f(c) 6 0 entao b := c caso contrario a := c

ate que |b − a| 6 ε1 ou |f(c)| 6 ε2

Resultado: x∗ ≈ c

Exercıcio 2.5.1 Melhore o algoritmo anterior.

Notemos que, no metodo da bisseccao, a exigencia de unicidade de raiz e superflua. Aunica exigencia e a de que a funcao tenha sinal contrario nos extremos do intervalo e tal everificado sempre que exista, nesse intervalo, um numero ımpar de raızes.

Verifica-se facilmente que, sendo o intervalo inicial I0 = [a, b], a amplitude do intervalo In

(obtido ao fim de n iteracoes) e dada por

b − a

2n,

uma vez que a amplitude do intervalo Ik+1 e sempre igual a metade da amplitude do intervaloIk, para k = 1, 2, . . ..

Exercıcio 2.5.2 Considere o metodo da bisseccao. Seja L a amplitude do intervalo [a, b] quecontem uma e uma so raiz x∗ de f(x) = 0 e x1, x2, . . . a sucessao de pontos medios geradospelo referido metodo. Mostre que

Page 25: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 25

1. |x∗ − xk+1| 6 |xk+1 − xk| =L

2k+1.

2. O numero, n, de iteracoes necessarias para garantir uma aproximacao da raiz com uma

precisao δ e dado por n > − ln δL

ln 2.

Resolucao: 1. Faz-se, sem problemas, por inducao.

2. Ao fim de n iteracoes obtemos o valor xn. Assim, pela primeira parte, para calcularqual o n que verifica |x∗ − xn| 6 δ, vamos determinar qual o n tal que

|xn − xn−1| =L

2n6 δ.

Temos, sucessivamente,

L

2n6 δ ⇒ L

δ6 2n ⇒ n > − ln δ

L

ln 2.

Note-se que, atendendo ao que foi demonstrado no exercıcio anterior, a convergencia dometodo da bissecao resulta imediatamente uma vez que

limk→∞

|x∗ − xk| 6 limk→∞

L

2k= 0.

Este metodo possui algumas vantagens bem como algumas desvantagens em relacao aoutros metodos que iremos estudar nas seccoes seguintes. A primeira grande vantagem e queo metodo da bisseccao converge sempre (desde que exista raiz no intervalo inicial). A segundavantagem e que existe uma possibilidade de, a priori, se poder indicar um majorante para oerro cometido ao fim de um certo numero de iteracoes.

A grande desvantagem do metodo da bisseccao reside no facto da sua velocidade de con-vergencia ser muito lenta quando comparada com a dos outros metodos. De facto prova-seque, atendendo a definicao de ordem de convergencia dada, o metodo da bisseccao convergelinearmente e possui uma constante erro M = 1

2 , isto e,

|ek+1| 61

2|ek|.

Exemplo 2.12 E bem sabido que os planetas ao girar em torno do Sol (e os satelites artificiaisem torno da Terra) descrevem orbitas elıpticas. Para determinar em que ponto da elipse seencontra o movel num determinado instante t ha que resolver a chamada equacao de Kepler

x − e sin x = z,

onde e e a excentricidade (conhecida) da elipse (e que e um valor que varia entre zero, caso aorbita seja circular, e proximo de um, caso a orbita seja muito alongada) e z e um numero que secalcula a partir de t. Neste caso f(x) = x − e sin x − z.

Vamos considerar o caso em que e = 0.5 e z = 0.7. Temos que f(0) = −0.7 < 0 ef(2) = 1.3 − 0.5 sin 2 > 1.3 − 0.5 = 0.8 > 0. Assim, podemos comecar o metodo da bisseccaocom o intervalo I0 = [0, 2]. Pelo facto de f(1) < 0 temos que a solucao pretendida se encontra nointervalo I1 = [1, 2]. Apos cinco aplicacoes do metodo da bisseccao concluımos que a solucao seencontra no intervalo I5 = [1.125, 1.1875]. Tomando como aproximacao para a solucao o pontomedio 1.15625 = (1.125 + 1.1875)/2 temos a garantia que o valor absoluto do erro e inferior a0.03125.

Page 26: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 26

Exercıcio 2.5.3 Usando o metodo da bisseccao, determine um valor aproximado para o zero def(x) = |x| − ex, com um erro que nao exceda 0.15.

Resolucao: Atendendo ao Exercıcio 2.4.1, temos que a raiz x∗ de f(x) = 0 existe e e unica nointervalo ]− 1, 0[. Vamos determinar qual o menor valor de n para o qual |x∗ −xn| 6 0.15.Pelo Exercıcio 2.5.2, esse valor pode ser determinado por

1

2n6 0.15 ⇔ n > − ln 0.15

ln 2= 2.74.

Logo, n = 3, isto e, temos que efectuar 3 iteracoes. Partindo do intervalo inicial ] − 1, 0[temos x1 = 0.5. Como f(x1) = −0.16065 vem que

x∗ ∈ [−1,−0.5].

Prosseguindo o processo obtemos x2 = −0.75 e, como f(−0.75) = 2.7776, vem que

x∗ ∈ [−0.75,−0.5].

Concluımos entao que x∗ ≈ x3 = −0.6256 e uma aproximacao cujo erro nao excede atolerancia dada.

2.5.2 Metodo de Newton

O metodo de Newton, que iremos estudar nesta seccao, e um dos metodos mais conhecidose usados na determinacao de aproximacoes numericas de raızes de equacoes nao lineares.Para o definir, iremos comecar por efectuar uma abordagem analıtica fazendo depois a suainterpretacao geometrica.

Seja f ∈ C2([a, b]), com [a, b] ⊂ IR, e x∗ ∈ [a, b] a unica raiz de f(x) = 0 nesse intervalo.Pela formula de Taylor temos que, se x0 ∈ [a, b],

f(x∗) = f(x0) + f ′(x0)(x∗ − x0) +

f ′′(ξ)

2(x∗ − x0)

2, ξ ∈ Ix∗, x0.

Como f(x∗) = 0, e supondo f ′(x∗) 6= 0 para todo o x ∈ [a, b], vem que

x∗ = x0 −f(x0)

f ′(x0)− f ′′(ξ)

2f ′(x0)(x∗ − x0)

2, ξ ∈ Ix∗, x0. (2.5)

Seja x1 = x0 −f(x0)

f ′(x0). Procedendo de forma analoga, poderemos definir um metodo iterativo

pela formula de recorrencia

xk+1 = xk − f(xk)

f ′(xk), k = 0, 1 . . . , (2.6)

que pretendemos que seja convergente para x∗. Este processo iterativo e designado pormetodo de Newton ou metodo de Newton-Raphson ou ainda metodo da tangente. Esta ultimadesignacao resulta da sua interpretacao geometrica.

Page 27: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 27

Interpretacao geometrica: Consideremos a recta tangente a curva y = f(x) no ponto deabcissa xk. Essa recta e dada por

y = f(xk) +1

f ′(xk)(x − xk).

O ponto de interseccao da recta tangente com o eixo das abcissas e dado por

x = xk − f(xk)

f ′(xk).

Temos assim que a iteracao xk+1 dada pelo metodo de Newton e a abcissa do ponto deinterseccao da recta tangente a curva y = f(x) no ponto (xk, f(xk)) com a recta y = 0.

x2 x1 x0

Figura 2.3: Metodo de Newton.

Vamos agora estabelecer quais as condicoes que deverao ser impostas para que a sucessaode aproximacoes geradas pelo metodo de Newton convirja para a raiz x∗ de f(x) = 0.

Teorema 2.13 Seja f uma funcao real de variavel real definida num intervalo real [a, b]. Se

1. f ∈ C2([a, b]),

2. f(a)f(b) < 0,

3. f ′(x) 6= 0, x ∈ [a, b],

4. f ′′(x) 6 0 ou f ′′(x) > 0, x ∈ [a, b],

entao a sucessao xk, k = 0, 1, . . ., gerada pelo metodo (2.6), com x0 ∈ [a, b] tal que

5. f(x0)f′′(x0) > 0,

converge para a unica raiz x∗ de f(x) = 0 em [a, b].

Demonstracao: Vamos supor, sem perda de generalidade, que f(a) < 0, f ′ e positivaem [a, b] e que f ′′ e nao negativa no mesmo intervalo. Supondo verificadas as hipoteses doteorema, consideremos x0 = b. Provemos que a sucessao xk gerada pelo metodo (2.6) temas seguintes propriedades.

Page 28: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 28

• A sucessao e nao crescente e limitada.

Vamos provar, por inducao, que xk+1 ∈ [x∗, xk], para todo o k ∈ IN0. Por (2.5) tem-seque,

x∗ − x1 = − f ′′(ξ)

2f ′(b)(x∗ − b)2 6 0, ξ ∈ Ix∗, b,

isto e, x∗ 6 x1. Por outro lado, por (2.6), com k = 0, tem-se que x1 < b. Suponhamosagora que xk ∈ [x∗, xk−1] ⊆ [x∗, b]. Temos entao que, de modo analogo ao efectuado em(2.5),

x∗ −(

xk −f(xk)

f ′(xk)

)= − f ′′(ξk)

2f ′(xk)(x∗ − xk)

2, ξk ∈ Ix∗, xk, (2.7)

ou seja

x∗ − xk+1 = − f ′′(ξk)

2f ′(xk)(x∗ − xk)

26 0.

Isto implica que x∗ 6 xk+1. Por outro lado, por (2.6) e atendendo as hipoteses doteorema, temos que xk+1 − xk 6 0. Provamos entao o pretendido.

• A sucessao converge para x∗.

A convergencia da sucessao decorre do facto de ela ser nao crescente e limitada. Sejaα = limk→+∞ xk. Vamos provar que α = x∗. Tomando limites em (2.6) e tendo emconta o facto de f ∈ C2([a, b]), temos que

α = α − f(α)

f ′(α),

o que implica f(α) = 0. Uma vez que x∗ e a unica raiz de f em [a, b] temos que

α = limk→+∞

xk = x∗.

Esta assim demonstrado o teorema.

O teorema seguinte estabelece igualmente uma condicao necessaria para a convergenciado metodo de Newton. A diferenca em relacao ao anterior reside apenas na quinta condicao:enquanto que o teorema anterior nos da um criterio para a escolha da aproximacao inicial, oseguinte da-nos uma condicao que garante a convergencia do metodo para qualquer aproxi-macao inicial escolhida no intervalo [a, b].

Teorema 2.14 Seja f uma funcao real de variavel real definida num intervalo real [a, b]. Se

1. f ∈ C2([a, b]),

2. f(a)f(b) < 0,

3. f ′(x) 6= 0, x ∈ [a, b],

4. f ′′(x) 6 0 ou f ′′(x) > 0,

5.

∣∣∣∣f(a)

f ′(a)

∣∣∣∣ 6 b − a e

∣∣∣∣f(b)

f ′(b)

∣∣∣∣ 6 b − a,

entao, qualquer que seja x0 ∈ [a, b], a sucessao xk gerada pelo metodo (2.6) converge paraa unica raiz x∗ de f(x) = 0 em [a, b].

Page 29: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 29

Demonstracao: As hipoteses 1, 2 e 3 garantem a existencia e unicidade de raiz em [a, b].Provemos que se x0 = a ou x0 = b entao x1 ∈]a, b[. Com efeito, sendo x0 = a, tem-sex1 = a − f(a)/f ′(a) e da hipotese 5 vem que −(b − a) < f(a)/f ′(a) < b − a, donde x1 < b.Por outro lado, pelas hipoteses 2 e 3, temos que f(a) tem sinal contrario a f ′(a) e como talf(a)/f ′(a) < 0. Assim, x1 − a < 0 e logo a < x1. De modo identico se provaria que se x0 = bentao x1 ∈]a, b[.

Suponhamos que f(a) < 0. Pela hipotese 4, para x ∈ [a, b], f ′′(x) 6 0 ou f ′′(x) > 0.Consideremos f ′′(x) 6 0. Entao, de (2.5),

x∗ − x1 = − f ′′(ξ)

2f ′(a)(x∗ − x0)

2> 0, ξ ∈]a, x∗[,

e, como tal, x1 ∈]a, x∗[. Prova-se tambem que, nas mesmas condicoes, x2 ∈]x1, x∗[ e, sucessi-

vamente, xk+1 ∈]xk, x∗[, k = 0, 1, . . ..

Provamos assim que a sucessao xk converge monotonamente para x∗.Os restantes casos podem ser considerados de forma analoga.

O algoritmo para o metodo de Newton pode ser dado como se segue.

Algoritmo 2.2 Metodo de Newton

Dados: x0, ε1 e kmax

k := 0

Repetir

d :=f(xk)

f ′(xk)xk+1 := xk − d

k := k + 1

ate que |d| 6 ε1 ou k = kmax

Resultado: x∗ ≈ xk

Exercıcio 2.5.4 Melhore o algoritmo anterior.

Este metodo possui vantagens e desvantagens em relacao ao metodo da bisseccao. Asgrandes desvantagens do metodo de Newton residem no facto deste poder divergir (caso aaproximacao inicial escolhida nao seja suficientemente proxima da raiz) e de haver necessidadede calcular a derivada da funcao (mais esforco computacional). Por outro lado o metodo deNewton converge muito rapidamente o que faz com que seja um dos metodos mais eficazespara a aproximacao de raızes de equacoes nao lineares.

Nao e difıcil provar a convergencia e quadratica do metodo de Newton. De facto, por(2.7),

x∗ − xk+1 = − f ′′(ξ)

2f ′(xk)(x∗ − xk)

2, ξ ∈ Ix∗, xk.

Page 30: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 30

Tomando modulos obtemos|ek+1| 6 M |ek|2,

com

M =1

2

maxx∈[a,b] |f ′′(x)|minx∈[a,b] |f ′(x)| . (2.8)

Assim, supondo verificadas as hipoteses do Teorema 2.13, concluımos que o metodo de Newtontem ordem de convergencia p = 2.

Exercıcio 2.5.5 Mostre que, se xk for a sucessao gerada pelo metodo de Newton (2.6) entao

|x∗ − xk+1| 6 M |xk+1 − xk|2,

com M dado por (2.8).

Outra vantagem do metodo de Newton em relacao ao metodo da bisseccao tem a vercom o facto do metodo de Newton se poder generalizar muito facilmente (como veremos)para sistemas de equacoes nao lineares. Alem disso, este metodo tambem se pode aplicar aocalculo numerico de raızes complexas.

Exercıcio 2.5.6 Localize graficamente as raızes de f(x) = 0, onde

f(x) = x2 − 1 − ln (x + 1),

e aproxime a maior delas usando o metodo de Newton duas vezes.

Resolucao: Como f(x) = 0 ⇔ x2 − 1 = ln (x + 1), tracando o grafico de y = x2 − 1 e dey = ln (x + 1) (Figura 2.4) verificamos que f(x) = 0 possui duas raızes reais: x∗

1 ∈]− 1, 0[e x∗

2 ∈]1, 2[.

-2 -1 1 2

-3

-2

-1

1

2

3

y=ln(x+1)

y=x 2

Figura 2.4: Localizacao grafica.

Facamos a confirmacao analıtica apenas para x∗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[.

Page 31: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 31

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

Para aplicarmos o metodo de Newton temos primeiro que provar a sua convergencia. Comof(x) = x2 − 1 − ln (x + 1), f ′(x) = 2x − (x − 1)−1 e f ′′(x) = 2 + (x − 1)2 temos quef ∈ C2([1, 2]). Por outro lado, como f ′′(x) > 0, para todo o x ∈ [1, 2], o Teorema 2.13garante que o metodo de Newton aplicado a equacao dada gera uma sucessao de valoresconvergentes para x∗

2, desde que x0 seja escolhido por forma a que f(x0)f′′(x0) > 0, isto

e, por forma a quef(x0) > 0.

Seja entao x0 = 2. Assim

x1 = 2 − f(2)

f ′(2)= 1.48144;

x2 = 1.48144 − f(1.48144)

f ′(1.48144)= 1.369785.

Uma estimativa para o erro pode ser dada por

|x2 − x1| = 0.1116554.

Metodo da secante. A desvantagem que o metodo de Newton apresenta ao calcular aderivada de uma funcao pode ser contornada pelo metodo da secante. Este metodo consisteem substituir, em (2.6), f ′(xk) pela diferenca dividida

f [xk−1, xk] := (f(xk) − f(xk−1))/(xk − xk−1).

Obtemos assim a formula de recorrencia

xk+1 = xk − f(xk)

f(xk) − f(xk−1)(xk − xk−1), k = 0, 1, . . . .

Em termos geometricos este metodo resulta do metodo de Newton pela substituicao da rectatangente a curva y = f(x) em (xk, f(xk)) pela secante que passa pelos pontos (xk, f(xk)) e(xk−1, f(xk−1)). Essa recta e dada pela expressao

y = f(xk) +f(xk) − f(xk−1)

xk − xk−1(x − xk).

Considerando y = 0 temos que o valor de x obtido e igual ao valor de xk+1 obtido pelo metododa secante.3 Para que a sucessao gerada pelo metodo da secante convirja para a unica raiz def(x) = 0 em [a, b] prova-se que e suficiente que se verifiquem as hipoteses do Teorema 2.14.Prova-se ainda que a ordem de convergencia do metodo da secante e

p =1 +

√5

2≈ 1.618.

Por este facto a convergencia deste metodo diz-se superlinear.

Exercıcio 2.5.7 Construa o algoritmo para o metodo da secante.

Exercıcio 2.5.8 Repita o Exercıcio 2.5.6 para o metodo da secante.

3Note-se que o metodo da secante necessita nao de uma mas de duas aproximacoes iniciais x−1 e x0, muitasvezes tomadas como sendo os extremos do intervalo que contem a raiz.

Page 32: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 32

2.5.3 Metodo do ponto fixo

O metodo do ponto fixo nao e propriamente um metodo mas sim uma classe de metodos (ometodo de Newton, por exemplo, pertence a classe de metodos do ponto fixo). Este metodotem grande importancia na resolucao de todo o tipo de equacoes, incluindo as equacoesdiferenciais e integrais. Neste momento vamos apenas considerar o problema da determinacaodas raızes de uma equacao nao linear f(x) = 0.

O metodo do ponto fixo consiste em converter o problema de determinar os zeros de umafuncao no problema (equivalente) de calcular os pontos fixos de uma outra funcao.

Definicao 2.15 (Ponto Fixo) Seja f uma funcao definida num intervalo real [a, b]. Dize-mos que x∗ ∈ [a, b] e um ponto fixo de f se x∗ = f(x∗).

Assim, o problema de determinar os valores de x para os quais f(x) = 0 (zeros de f) etransformado no problema equivalente de determinar os valores de x para os quais g(x) = x(pontos fixos de g). Consideremos o seguinte exemplo.

Exemplo 2.16 A excentricidade da orbita de Venus e dada por e = 0.07. Suponhamos quepretendemos resolver a equacao de Kepler

f(x) = 0 ⇔ x − 0.007 sin x − z = 0,

quando z = 0.7. Como o termo 0.007 sin x e muito menor que 0.7 temos que uma aproximacaopara a raiz da solucao 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 equacao de Kepler temos uma novaaproximacao para a sua raiz dada por x ≈ 0.7 + 0.004510 = 0.704510. Este processo poderiacontinuar dando assim origem a um processo iterativo da forma xk+1 = 0.007 sin xk − 0.7,k = 0, 1, . . ., e x0 = 0.7.

Depois de transformar o problema na forma da determinacao dos pontos fixos de umafuncao g, as sucessivas aproximacoes sao calculadas, a partir de uma aproximacao inicial x0

dada, pela formulaxk+1 = g(xk), k = 0, 1, 2, . . . . (2.9)

A funcao g e chamada funcao de iteracao do metodo. Notemos que, no caso do metodo deNewton, a funcao de iteracao e dada por

g(x) = x − f(x)

f ′(x).

No exemplo anterior escolhemos para funcao de iteracao g(x) = 0.7 + 0.007 sin x.A questao que se coloca e a seguinte: dada uma equacao f(x) = 0 com raiz x∗ ∈ [a, b],

como escolher uma funcao de iteracao g por forma a que as sucessivas aproximacoes dadaspor (2.9) convirjam para x∗? Antes de mais notemos que, supondo que g e contınua e quexk → x∗, se tem

x∗ = limk→+∞

xk+1 = limk→+∞

g(xk) = g( limk→+∞

xk) = g(x∗).

Assim, uma condicao necessaria para que o processo iterativo (2.9) convirja para zero x∗ def e que x∗ seja um ponto fixo de g.

Page 33: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 33

Exemplo 2.17 A equacao de Kepler dada no exemplo anterior pode escrever-se na forma

x = g(x) = arcsinx − 0.7

0.007.

Neste caso, para a aproximacao inicial x0 = 0.7 temos que x1 = 0 e x2 = arcsin (−100) que eum valor que nem sequer esta definido.

Como poderemos decidir qual a melhor escolha para a funcao de iteracao? Em geral,interessa que g(x) varie pouco com x. O caso ideal seria ter g constante; nesse caso, parax0 arbitrario, terıamos x1 = x∗. Para responder a esta questao, consideremos o seguinteteorema.

Teorema 2.18 (Ponto Fixo) Seja g uma funcao real de variavel real definida no intervalo[a, b]. Se

1. g e uma funcao contınua em [a, b] e

2. g(x) ∈ [a, b] para todo o x ∈ [a, b],

entao g tem um ponto fixo em [a, b]. Se, alem disso,

3. |g′(x)| 6 K < 1, para todo o x ∈ [a, b],

entao o ponto fixo e unico e a sucessao gerada por (2.9) converge para esse ponto, qualquerque seja a aproximacao inicial x0 ∈ [a, b].

Demonstracao: Vamos mostrar sucessivamente a existencia de ponto fixo, a unicidade e,finalmente, a convergencia do metodo.

• Existencia.

Se g(a) = a ou g(b) = b temos que g tem (obviamente) um ponto fixo. Caso contrario,e atendendo a hipotese 2 do teorema, temos que g(a) > a e g(b) < b. Consideremos afuncao auxiliar h(x) = g(x) − x definida em [a, b]. Como h e contınua e h(a)h(b) < 0concluımos que existe um ponto ξ ∈ [a, b] tal que h(ξ) = 0, ou seja, tal que g(ξ) = ξ.

• Unicidade.

Suponhamos que ξ1 e ξ2 sao dois pontos fixos de g. Entao

|ξ1 − ξ2| = |g(ξ1) − g(ξ2)| = |g′(η)||ξ1 − ξ2| 6 K|ξ1 − ξ2|,

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

• Convergencia.

Considerando x0 ∈ [a, b] temos que

|xk+1 − x∗| = |g(xk) − g(x∗)| = |g′(ηk)||xk − x∗| 6 K|xk − x∗|,

onde η pertence ao intervalo definido por xk e x∗. Assim sendo

|xk+1 − x∗| 6 Kk+1|x0 − x∗|. (2.10)

Page 34: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 34

Tomando limites e atendendo a que K < 1 temos que

limk→+∞

xk+1 = x∗,

o que prova o pretendido.

Exemplo 2.19 Resolvamos mais uma vez a equacao de Kepler mas, desta vez, consideremos:

1. a excentricidade e = 0.5 e z = 0.7;

2. a excentricidade e = 0.5 e z = 2.

Vamos apenas efectuar os calculos para o caso 2, isto e, vamos considerar apenas a equacaox − 0.5 sin x − 2 = 0. Para usar o metodo do ponto fixo consideremos a funcao de iteracao

g(x) = 0.5 sin x + 2, x ∈ [2, 3].

Vejamos se, para esta funcao e para este intervalo, se verificam as condicoes de convergencia dometodo.

Como g e uma funcao contınua, vamos provar que g(x) ∈ [2, 3], para todo o x ∈ [2, 3], isto e,que o grafico de g esta totalmente contido no quadrado [2, 3]× [2, 3]. Para isso temos que provarque g(2), g(3) ∈ [2, 3] e que o valor g em todos os seus extremos locais tambem se encontranesse intervalo. Ora, g(2) = 2.4546, g(3) = 2.0706 e a funcao g e monotona decrescente (poisg′(x) = 0, 5 cos x). Assim sendo, g(x) ∈ [2, 3], para todo o x a variar nesse intervalo.

Para provar que o metodo converge basta apenas provar que o majorante do modulo de g′,em [2, 3], e inferior a um. Como se ve facilmente

|g′(x)| = |0.5 cos x| 6 0.5,

e, como tal, K = 0.5 e o metodo xk+1 = 0.5 sin xk + 2, k = 0, 1, 2, . . ., converge para a unicaraiz da equacao em [2, 3], qualquer que seja x0 ∈ [2, 3]. A determinacao das sucessivas iteracoese feita de forma obvia.

0.2 0.5 x0 x1 x2 1.4

0.2

0.4

0.6

0.8

1

1.2

1.4

Figura 2.5: Caso 1: g(x) = 0.5 sin x + 0.7 e x0 = 0.7.

Nas Figuras 2.5 e 2.6 podemos visualizar o grafico da funcao de iteracao do metodo doponto fixo considerado no exemplo anterior, para os casos 1 e 2, respectivamente, bem comoo grafico da bissectriz dos quadrantes ımpares. A abcissa da interseccao dos dois graficos

Page 35: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 35

2.2 x0x1 x2 2.8

2

2.2

2.4

2.6

2.8

3

Figura 2.6: Caso 2: g(x) = 0.5 sin x + 2 e x0 = 2.5.

e o ponto fixo que pretendemos calcular. Como se pode ver, o metodo do ponto fixo podeser descrito da seguinte forma (grafica). A partir de x0, no eixo das abcissas, tracamos umsegmento de recta vertical ate intersectar o grafico de g. A ordenada da interseccao e oponto x1. A partir do ponto de interseccao tracamos um segmento de recta horizontal ateencontrarmos a bissectriz y = x. A abcissa desse ponto final e x1. Para determinar as restantesiteracoes repete-se sucessivamente este processo: vertical ate ao grafico de g, horizontal ate abissectriz.

Regressemos, de novo, a questao de saber qual a melhor escolha para a funcao de iteracao.O Teorema do Ponto Fixo permite-nos afirmar que se uma funcao de iteracao nao verificar ashipoteses do teorema, essa funcao nao deve ser considerada. Pode, no entanto, dar-se o casode possuirmos duas funcoes de iteracao que verifiquem, ambas, as hipoteses do teorema. Nestecaso, por qual optar? Notemos que, por (2.10), se considerarmos duas funcoes de iteracao g1

e g2 tais que|g′1(x)| 6 |g′2(x)| < 1, x ∈ [a, b],

podemos concluir que a sucessao definida pelo metodo xk+1 = g1(xk), k = 0, 1, 2, . . ., convergemais rapidamente que a sucessao definida por xk+1 = g2(xk), k = 0, 1, 2, . . ., pois para oprimeiro metodo temos |ek+1| 6 M1|ek| e para o segundo |ek+1| 6 M2|ek|, com M1 6 M2.Assim sendo, a escolha deveria recair sobre a funcao g1.

Notemos que, no caso geral, o metodo do ponto fixo tem uma convergencia linear. Alemdisso, essa convergencia e local, uma vez que ela so acontece quando o x0 esta suficientementeproximo do ponto fixo.

Consideremos agora os seguintes corolarios do Teorema do Ponto Fixo.

Corolario 2.20 Nas hipoteses do teorema anterior tem-se que

|ek| 6 Kk maxx0 − a, b − x0.

Demonstracao: Resulta imediatamente de (2.10).

Corolario 2.21 Nas hipoteses do teorema anterior tem-se que

|ek| 6Kk

1 − K|x1 − x0|.

Page 36: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 36

Demonstracao: Por um processo analogo ao efectuado na demonstracao do Teorema doPonto Fixo temos que

|xk+1 − xk| 6 Kk|x1 − x0|.Consideremos l > k e |xl − xk|. Assim

|xl − xk| 6

l−1∑

j=k

|xj+1 − xj| 6 |x1 − x0|l∑

j=k

Kj.

Logol∑

j=k

Kj6 Kk

∞∑

j=0

Kj =Kk

1 − K.

Concluımos entao que

|xl − xk| 6Kk

1 − K|x1 − x0|.

Tomando o limite quando l → +∞ temos

|x∗ − xk| 6Kk

1 − K|x1 − x0|,

o que prova o pretendido.

Como vimos, o metodo do ponto fixo tem convergencia linear. No entanto, o metodo deNewton (caso particular do metodo do ponto fixo quando a funcao de iteracao e dada porg(x) = x − f(x)/f ′(x)) tem convergencia quadratica. O proximo teorema diz-me em quecondicoes podemos garantir uma ordem de convergencia dois no metodo do ponto fixo.

Teorema 2.22 Suponhamos que, para alem das hipoteses do Teorema do Ponto Fixo, se temg′(x∗) = 0 (onde x∗ e o unico ponto fixo de g em [a, b]), e g′′ limitada em [a, b]. Entao ometodo do ponto fixo (2.9) converge para x∗ de forma quadratica, qualquer que seja x0 ∈ [a, b].

Demonstracao: Pelo Teorema do Ponto Fixo temos que o metodo (2.9) converge para x∗.Falta apenas provar que a convergencia e quadratica.

Pela formula de Taylor temos que

xk+1 − x∗ = g(xk) − g(x∗) = g′(x∗)(xk − x∗) +1

2g′′(ξk)(xk − x∗)2, ξ ∈ Ix∗, xk.

Como g′(x∗) = 0 concluımos facilmente que

|ek+1| 6 M |ek|2,

onde

M =1

2max

x∈[a,b]|g′′(x)|.

Esta assim demonstrado o pretendido.

Exercıcio 2.5.9 Mostre que, se no ponto fixo x∗ de g se tem g′(x∗) = g′′(x∗) = 0, podemosconcluir (mediante certas condicoes) que o metodo (2.9) tem convergencia cubica. Diga quaissao essas condicoes de convergencia.

Page 37: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 37

2.6 Zeros de polinomios

Suponhamos agora que pretendemos resolver a equacao algebrica p(x) = 0 onde

p(x) = anxn + an−1xn−1 + · · · + a1x + a0, an 6= 0, (2.11)

e um polinomio de coeficientes reais. Este problema aparece com muita frequencia e existempara ele muitos resultados especıficos. Nesta seccao faremos apenas uma breve referencia aalguns desses resultados.

2.6.1 Resultados basicos

Um resultado basico sobre polinomios e dado no Teorema Fundamental da Algebra, devido aGauss e a Euler e que apresentamos sem demonstracao.

Teorema 2.23 (Teorema Fundamental da Algebra) Seja p um polinomio de grau n >

1 de coeficientes reais. Entao existe x∗ ∈ C tal que p(x∗) = 0.

Temos tambem que, no caso particular dos polinomios, se x∗ e um zero real de p entao

p(x) = (x − x∗)q(x),

onde q e um polinomio de grau n − 1 de coeficientes reais. Se x∗ e um zero complexo de p oseu conjugado x∗ tambem o e e, como tal,

p(x) = (x − x∗)(x − x∗)q(x),

sendo q um polinomio de grau n − 2 de coeficientes reais. Atendendo a estes resultadospodemos escrever.

Corolario 2.24 Um polinomio de grau n > 1 de coeficientes reais admite, exactamente, nzeros, reais ou complexos, iguais ou distintos.

Corolario 2.25 Se p for um polinomio de grau ımpar admite, pelo menos, uma raiz real.

A localizacao das raızes reais de uma equacao algebrica pode ser feita por variadıssimosprocessos. De entre os processos mais populares destaca-se o metodo de Rolle (ja referidoneste curso). Outro resultado muito util para determinar o numero de zeros reais positivosde um polinomio foi enunciado por Rene Descartes em 1637: “O numero de zeros reaispositivos de um polinomio e limitado pelo numero de varicoes de sinal da sucessao dos seuscoeficientes”. Mais tarde Gauss demonstrou que “o numero de zeros reais positivos de umpoliomio (contando com a multiplicidade) tem a mesma paridade do numero de variacoes desinal da sucessao dos seus coeficientes”. Temos entao o seguinte teorema.

Teorema 2.26 (Regra de Sinal de Descartes) O numero de raızes reais positivas da e-quacao p(x) = 0, sendo p dado por (2.11), e igual ao numero de variacoes de sinal da sucessaoan, an−1, . . . , a0 ou um numero inferior mas da mesma paridade.

Page 38: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 38

Demonstracao: Vamos efectuar a demonstracao por inducao.Comecemos por considerar p um polinomio de grau um. Neste caso o resultado e obvio

pois a raiz de p(x) = 0, com p(x) = a1x + a0, so e positiva quando e so quando a1a0 > 0.Suponhamos agora que o resultado e valido para todos os polinomios de grau n − 1

e consideremos p um polinomio de grau n dado por (2.11), com an > 0 (sem perda degeneralidade).

Se a0 = p(0) > 0, o numero de variacoes de sinal da sucessao dos coeficientes de p tem queser par pois o primeiro e o ultimo termo da sucessao sao positivos. Por outro lado, o numerode raızes positivas de p(x) = 0 tambem e par pois limx→+∞ p(x) = +∞.

A mesma argumentacao poderia ser usada no caso de a0 = p(0) < 0; neste caso, tantoo numero de varicoes de sinal da sucessao dos coeficientes de p como o numero de zerospositivos de p sao ımpares. Concluımos entao que o numero de raızes positivas de p(x) = 0tem a mesma paridade do numero de variacoes de sinal.

Falta apenas provar que o numero de variacoes de sinal limita o numero de raızes positivas.Suponhamos que p(x) = 0 tem m raızes reais positivas e que o numero de variacoes de sinalda sucessao dos seus coeficientes e V < m. Assim sendo, temos que ter m > V + 2 (paramanter a paridade). Mas, pelo Teorema de Rolle, p′ tem que ter pelo menos V +1 raızes reaispositivas, o que contraria a hipotese de inducao uma vez que o numero de variacoes de sinaldos coeficientes de p′ (polinomio de grau 6 n − 1) e inferior a V . Logo m 6 V .

Notemos que a regra de sinal de Descartes nao tem em conta a multiplicidade das raızes.No entanto, podemos afirmar o resultado demonstrado por Gauss, isto e que o numero deraızes reais positivas de p(x) = 0 (contando com a multiplicidade) tem a mesma paridade donumero de variacoes de sinal da sucessao dos seus coeficientes.

Exercıcio 2.6.1 Usando a regra de sinal de Descartes, determine o numero de raızes reais dep(x) = 0, onde p(x) = x3 − 2x − 5.

Resolucao: Comecemos pelas raızes positivas. Como a sucessao de sinais dada pelos coeficientesno polinomio e +,−,− temos que o numero de variacoes de sinal e 1 e como tal existeuma raiz positiva de p(x) = 0.

Para as raızes negativas consideremos o polinomio auxiliar q(x) := (−1)3p(−x) = x3−2x+5. Como a sucessao de sinais dada pelos coeficientes do polinomio q e +,−,+ temos queo numero de variacoes de sinal e 2 e como tal existem 2 ou 0 raızes negativas de p(x) = 0.

2.6.2 Calculo de valores de um polinomio. Factorizacao

O calculo dos zeros de um polinomio e feito, na maioria das vezes, recorrendo ao metodo deNewton. Quando se aplica este metodo ha necessidade de calcular, em cada iteracao, o valordo polinomio e da sua derivada num ponto. Esse calculo deve ser efectuado de forma eficienteuma vez que grande parte do esforco computacional a ele se deve.

Suponhamos que se pretende calcular p(x), com p um polinomio dado por (2.11). Seconsiderarmos o polinomio escrito na forma canonica (tal como em (2.11)) efectuamos nadicoes/subtraccoes e 2n − 1 multiplicacoes/divisoes. No entanto, se considerarmos

p(x) = a0 + x(a1 + x(a2 + · · · + x(an−1 + anx))),

designada por forma encaixada do polinomio, ao calcular p(x) so efectuamos n adicoes/subtra-ccoes e n multiplicacoes/divisoes. Esta forma e a base do chamado metodo de Horner.

Page 39: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 39

O algoritmo seguinte permite calcular o valor p(x).

Algoritmo 2.4 Metodo de Horner

Dados: ai, i = 0, 1, . . . , n, e x

p := an

Para i de n − 1 ate 0 fazer

p := px + ai

Resultado: p

Se p for um polinomio dado por (2.11) e x um numero real temos que

p(x) = (x − x)q(x) + r, (2.12)

onde q e um polinomio de grau n − 1, digamos

q(x) = bn−1xn−1 + bn−2x

n−2 + · · · + b1x + b0, (2.13)

e r uma constante. Note-se que o valor de p(x) = r, ou seja, temos o seguinte resultadodemonstrado por Paolo Ruffini (1765-1822).

Teorema 2.27 (Ruffini) O valor numerico de p(x) de um polinomio p(x) em x = x e igualao resto da divisao de p(x) por (x − x).

A chamada regra de Ruffini, que consiste em substituir (2.11) e (2.13) em (2.12) e igualandoos coeficientes de potencias de x do mesmo grau, permite obter os valores bi, i = 0, 1, . . . , n−1,e o valor de r de acordo com o seguinte algoritmo.

Algoritmo 2.5 Regra de Ruffini

Dados: ai, i = 0, 1, . . . , n, e x

bn−1 := an

Para i de n − 2 ate 0 fazer

bi := bi+1x + ai+1

r := b0x + a0

Resultado: r e bi, i = 0, 1, . . . , n − 1

Os dois algoritmos anteriores permitem obter facilmente os valores da derivada de p dadopor (2.11) num dado ponto x. Assim, uma vez que, por (2.12),

p′(x) = (x − x)q′(x) + q(x),

temos que p′(x) = q(x).O algoritmo seguinte usa o metodo de Horner e a regra de Ruffini para calcular o valor

de derivada de p em x.

Page 40: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 40

Algoritmo 2.6 Valores da derivada de um polinomio

Dados: ai, i = 0, 1, . . . , n, e x

bn−1 := an

q := bn−1

Para i de n − 2 ate 0 fazer

bi := bi+1x + ai+1

q := qx + bi

Resultado: q

2.6.3 Calculo dos zeros

Vamos comecar por considerar o caso em que p, dado por (2.11), tem apenas zeros reaissimples. Neste caso, podemos aplicar qualquer um dos metodos iterativos estudados. Noentanto, sugerimos o seguinte procedimento.

1. Determina-se a localizacao (mesmo que grosseira) dos zeros x∗n < x∗

n−1 < · · · < x∗2 < x∗

1.

2. Partindo de um valor x0 > x∗1, usando o metodo de Newton, calcula-se uma aproximacao

numerica para o maior zero x∗1, com a precisao desejada (prove que o metodo converge).

3. Pelo algoritmo de Horner/Ruffini divide-se p(x) por x−x∗1 e regressa-se ao passo 2 para

determinar x∗2. Este processo e conhecido por deflaccao. Repetindo sucessivamente este

processo, determinamos numericamente todos os zeros do polinomio.

4. Para refinar as aproximacoes obtidas, aplica-se o metodo de Newton a p sendo as apro-ximaces iniciais os valores obtidos no passo 3.

Exercıcio 2.6.2 Construa o algoritmo implıcito no procedimento descrito anteriormente.

No caso de alguma das raızes x∗ ter multiplicidade m > 1 podemos escrever

p(x) = (x − x∗)mq(x),

onde o polinomio q, de grau n−m, e tal que q(x∗) 6= 0. A aproximacao desta raiz e feita comrecurso ao metodo de Newton modificado

xk+1 = xk − mp(xk)

p′(xk), k = 0, 1, 2, . . . . (2.14)

Exercıcio 2.6.3 Prove que se x∗ for um zero de multiplicidade m de um polinomio p, o metodode Newton modificado (2.14) converge localmente (quais as condicoes de convergencia?) e deforma quadratica para x∗.

Para calcular as raızes complexas de uma equacao algebrica o metodo da bisseccao naopode ser usado. Quanto ao metodo de Newton (ou ao da secante), ele so convergira para umaraiz complexa se a aproximacao inicial for um numero complexo (e se forem satisfeitas ascondicoes de convergencia), sendo todo o processo realizado com aritmetica complexa. Note-se que, apos determinada uma raiz complexa, ficamos imediatamente a conhecer outra raiz(a sua conjugada).

Page 41: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 41

2.7 Sistemas de equacoes nao lineares (breve introducao)

2.7.1 Introducao

Nesta seccao vamos descrever, de forma sucinta, a aplicacao dos metodos do ponto fixo emgeral, e do metodo de Newton em particular, a resolucao numerica de sistemas de equacoesnao lineares.

Consideremos o ponto x = (x1, . . . , xn) ∈ IRn e a aplicacao F , suficientemente regular,definida por

F : IRn −→ IRn

(x1, . . . , xn) −→ (f1(x1, . . . , xn), . . . , fn(x1, . . . , xn)).

E nosso objectivo determinar a solucao x∗ = (x∗1, . . . , x

∗n) do sistema de n equacaoes em n

incognitas

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

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

,

que, noutra notacao, pode ser escrito na forma

F (x) = 0, (2.15)

com

x =

x1

x2...

xn

, F (x) =

f1(x)f2(x)

...fn(x)

, 0 =

00...0

. (2.16)

A resolucao de sistemas de equacoes nao lineares por processos analıticos pode ser bastantedifıcil ou mesmo impossıvel. Nesse caso temos necessidade de recorrer a metodos numericosno sentido de obter uma solucao aproximada. Iremos considerar metodos iterativos da forma

x(k+1) = G(x(k)), k = 0, 1, . . . , (2.17)

com

G(x) =

g1(x)g2(x)

...gn(x)

, (2.18)

que determinem uma sucessao de aproximacoes para uma raiz x∗ da equacao vectorial (2.15),a partir de uma dada aproximacao inicial

x(0) =

x1

x2...

xn

(0)

. (2.19)

Uma questao essencial quando se lida com metodos iterativos tem a ver com a convergenciado processo: dada uma sucessao de aproximacoes x(k) gerada pelo processo iterativo, comosaber se ela e convergente para a solucao x∗ do sistema?

Page 42: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 42

Definicao 2.28 (Convergencia) A sucessao de vectores x(k) diz-se convergente para x∗ ∈IRn se, para todo o ǫ > 0, existe uma ordem k0 tal que, para todo o k > k0, se tem ‖x(k)−x∗‖ <ǫ. Nesse caso escreve-se

limk→+∞

x(k) = x∗.

Apresentemos de seguida o teorema que garante a convergencia de um metodo iterativoda forma (2.17). Este teorema e uma generalizacao do Teorema do Ponto Fixo para sistemasde equacoes e a sua demonstracao nao ira ser considerada.

Teorema 2.29 Seja x∗ uma solucao de (2.15) e Vx∗ uma vizinhanca desse ponto que naocontem mais nenhuma raiz da equacao vectorial (2.15). Se x∗ for um ponto fixo de G, funcaodada por (2.17)-(2.18), e se

‖JG(x)‖ 6 K < 1, ∀x ∈ Vx∗ ,

onde JG(x) e a matriz de Jacobi de G

JG(x) =

∂g1

∂x1(x) · · · ∂g1

∂xn(x)

.... . .

...∂gn

∂x1(x) · · · ∂gn

∂xn(x)

,

entao o metodo (2.17) converge para x∗, qualquer que seja x(0) ∈ Vx∗.

De notar que a definicao e teorema anteriores dependem do conceito de norma. Uma vezque e possıvel considerar varias normas, uma questao legıtima seria a de saber se e possıvelque uma sucessao de vectores convirja quando se considera uma determinada norma e divirjaquando se considera outra. Para as normas mais usuais (dadas no Exercıcio 1.4.1) e possıveldemonstrar que se uma sucessao de vectores convergir segundo uma das normas ela tambemconverge quando se considera outra qualquer. Por este facto diz-se que estamos em presencade normas equivalentes.

Consideremos agora o problema da definicao de criterios de paragem para processos ite-rativos aplicados ao calculo das raızes de sistemas de equacoes nao lineares F (x) = 0.

Seja x(k) a sucessao de aproximacoes gerada pelo processo iterativo convergente para asolucao x∗ do sistema. Os criterios de paragem mais frequentes sao:

1. Criterio do erro absoluto: ‖x(k) − x(k−1)‖ 6 ε;

2. Criterio do erro relativo: ‖x(k) − x(k−1)‖ 6 ε‖x(k)‖;

3. Criterio do valor da funcao: ‖F (x(k))‖ 6 ε1, com ε1 ≪ ε;

4. Criterio do numero maximo de iteracoes: k = kmax.

Antes de passarmos a definicao dos processos iterativos vamos considerar o problema dadeterminacao da aproximacao inicial que, para sistemas de equacoes, pode ser um problemade difıcil resolucao. Na pratica existem processos que permitem, a priori, determinar boasestimativas iniciais para a solucao pretendida. Esses processos dependem muito do problemaem questao e como tal nao sao passıveis de um tratamento generalizado.

Page 43: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 43

Existe, no entanto, uma forma de poder obter uma boa aproximacao inicial quando ossistemas sao de pequena dimensao. Essa forma e a localizacao grafica. Este processo consistena mera generalizacao do efectuado na seccao anterior e, como tal, nao iremos fazer a suaabordagem na forma geral mas sim recorrendo a um exemplo.

Exemplo 2.30 Considere-se o sistema de equacoes nao lineares

x2 + y2 = 1xy + x = 1

.

Tracando o grafico de f1(x, y) = 0 e f2(x, y) = 0, com

f1(x, y) = x2 + y2 − 1f2(x, y) = xy + x − 1

,

verificamos que uma solucao do sistema e (x, y) = (1, 0) e que a outra esta proxima de (x, y)(0) =(1, 1).

-1.5 -1 -0.5 0.5 1 1.5

-4

-3

-2

-1

1

2

x y+2 2 = 1

x y + x =1

Figura 2.7: Localizacao grafica.

2.7.2 Metodo iterativo de Newton

Seja dado o sistema de equacoes nao lineares F (x) = 0 definido por (2.16). Pretendemosdeterminar uma aproximacao para a raiz x∗ = (x∗

1, . . . , x∗n) do referido sistema sendo dada

uma aproximacao inicial (2.19). Suponhamos que F ∈ C2(Vx∗), com Vx∗ uma vizinhanca dex∗. Pela formula de Taylor temos que, se x(0) ∈ Vx∗,

F (x∗) = F (x(0)) + JF (x(0))(x∗ − x(0)) + · · · ,

onde

JF (x) =

∂f1

∂x1(x) · · · ∂f1

∂xn(x)

.... . .

...∂fn

∂x1(x) · · · ∂fn

∂xn(x)

e a matriz de Jacobi de F no ponto x. Como F (x∗) = 0 e supondo

det (JF (x)) 6= 0, ∀x ∈ Vx∗ ,

Page 44: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 44

podemos definir, de forma identica a seccao anterior, o processo iterativo

x(k+1) = x(k) − J−1F (x(k))F (x(k)), k = 0, 1 . . . ,

que pretendemos que seja convergente para x∗. Este processo iterativo e designado por metodode Newton ou metodo de Newton-Raphson.

Para provar a convergencia deste processo iterativo, notemos que o metodo de Newtonpode ser escrito na forma (2.17), sendo a funcao de iteracao dada por

G(x) = x − J−1F (x)F (x). (2.20)

Assim, a convergencia do metodo resulta do Teorema 2.29 de acordo com o proximo exercıcio.

Exercıcio 2.7.1 Prove que o metodo de Newton converge de forma quadratica para a raiz x∗

de F (x) = 0 se a aproximacao inicial for escolhida suficientemente proxima dessa raiz.

Sugestao: Mostre que JG(x) = 0, sendo G a funcao de iteracao (2.20).

Notemos que o caracter local da convergencia deste metodo nos obriga a ter o cuidadode escolher uma aproximacao inicial que esteja suficientemente proxima da solucao que per-tendemos determinar.

Antes de apresentar o algoritmo que traduz o metodo de Newton, notemos que podemosevitar, em cada iteracao, o calculo da matriz inversa J−1

F (x(k)) se fizermos

JF (x(k))δ(k) = −F (x(k))

δ(k) = x(k+1) − x(k). (2.21)

Algoritmo 2.7 Metodo de Newton

Dados: x(0), ε1 e k = kmax

k := 0

Repetir

Se det (JF (x(k))) = 0 entao parar

Resolver JF (x(k))δ = −F (x(k))

x(k+1) := x(k) + δ

k := k + 1

ate que ‖δ‖ 6 ε1 ou k = kmax

Resultado: x∗ ≈ x(k)

Uma grande desvantagem do metodo de Newton consiste em determinar, em cada iteracao,a solucao de um sistema de equacoes lineares diferente. Na pratica e usual considerar amesma matriz de Jacobi em varias iteracoes ou mesmo durante todo o processo. Nesse caso,dizemos que estamos na presenca do metodo de Newton modificado. Existem ainda outrasmodificacoes a este metodo (para evitar, por exemplo, o calculo de n2 derivadas) mas nao asiremos considerar neste curso.

Page 45: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 45

Algoritmo 2.8 Metodo de Newton modificado

Dados: x(0), ε1 e k = kmax

JF := JF (x(0))

Se det (JF ) = 0 entao parar

k := 0

Repetir

Resolver JF δ = −F (x(k))

x(k+1) := x(k) + δ

k := k + 1

ate que ‖δ‖ 6 ε1 ou k = kmax

Resultado: x∗ ≈ x(k)

Exercıcio 2.7.2 Melhore os algoritmos anteriores.

Exercıcio 2.7.3 Determine uma aproximacao para a solucao de

F (x) = 0 ⇔

x2 + y2 − 1 = 0xy + x − 1 = 0

,

diferente de (1, 0), efectuando duas iteracoes de metodo de Newton. Indique uma estimativa parao erro cometido.

Resolucao: Seja x∗ = (x∗1, x

∗2) a solucao pretendida. Como vimos, a aproximacao inicial pode

ser dada por (x, y)(0) = (1, 1).

Para nao sobrecarregar a notacao consideremos (x, y)(k) = (xk, yk), k = 0, 1, . . .. Como

JF (xk, yk) =

[2xk 2yk

yk + 1 xk

],

temos quedet (JF (xk, yk)) 6= 0 ⇔ x2

k − y2k − yk 6= 0.

Apliquemos o metodo de Newton na forma (2.21).

• Primeira Iteracao

Como x20−y2

0 −y0 = −1 6= 0 podemos efectuar a primeira iteracao do metodo. Assim[

2x0 2y0

y0 + 1 x0

] [δx0

δy0

]= −

[x2

0 + y20 − 1

x0y0 + x0 − 1

]⇔[

2 22 1

] [δx0

δy0

]=

[−1−1

].

Daqui sai que [δx0

δy0

]=

[−0.5

0

]

e, como tal, [x1

y1

]=

[0.51

].

Page 46: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 46

• Segunda Iteracao

Como x21 − y2

1 − y1 = −1.75 6= 0 podemos efectuar a segunda iteracao do metodo.Assim obtemos, de modo analogo,

[1 22 0.5

] [δx1

δy1

]=

[−0.25

0

].

Daqui sai que [δx1

δy1

]=

[1/28−1/7

]

e, como tal, [x2

y2

]=

[15/286/7

].

Temos assim que

x∗ ≈(

15

28,6

7

)= (0.5357, 0.8571),

sendo uma estimativa para o erro cometido dada por

‖x∗ − x(2)‖∞ ≈ ‖x(2) − x(1)‖∞ = max

1

28,1

7

=

1

7= 0.1429.

2.8 Exercıcios de aplicacao a engenharia

Exercıcio 2.8.1 De Santis (1976) deduziu uma relacao para o factor de compressibilidade dosgases reais da forma

z =1 + y + y2 − y3

(1 − y)3,

onde y = b/4ν, sendo b a correccao de van der Waals e ν o volume molar. Se z = 0.892 qual ovalor de y?

Exercıcio 2.8.2 Baseado no trabalho de Frank-Kamenetski (1955), as temperaturas no interiorde um material com fontes de calor embebidas podem ser determinadas pela equacao

e−0.5t cosh (e0.5t) =√

0.5Ler.

Dado Ler = 0.088, determine t.

Exercıcio 2.8.3 Um medicamento administrado a um doente produz uma concentracao nacorrente sanguınea dada por

c(t) = Ate−t/3 mg/ml

t horas depois de injectadas A unidades. A concentracao maxima de seguranca e de 1 mg/ml.

1. Que quantidade deve ser injectada para que seja atingida a concentracao maxima de segu-ranca e em que altura ocorre esse maximo?

2. Uma concentracao adicional do mesmo medicamento deve ser administrada no doente depoisda concentracao ter descido para 0.25 mg/ml. Determine quando e que a segunda injeccaodeve ser administrada (em minutos).

Page 47: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 47

3. Assumindo que a concentracao apos injeccoes consecutivas e aditiva e que 0.75% da quan-tidade original injectada e administrada na segunda injeccao, em que altura deve ser dadaa terceira injeccao?

Exercıcio 2.8.4 A concentracao, C, de uma bacteria poluente num lago decresce de acordocom a expressao

C = 80e−2t + 20e−0.1t,

onde t representa o tempo. Determine o tempo necessario para que a concentracao de bacteriasfique reduzida a 10.

Exercıcio 2.8.5 Em engenharia ambiental, a equacao que se segue pode ser usada para calcularo nıvel de oxigenio, c, existente num rio a jusante de um local de descarga de esgoto,

c = 10 − 15(e−0.1x − e−0.5x),

em que x representa a distancia a partir do local de descarga. Usando um metodo a sua escolha,determine em que local (a partir da descarga) em que o nıvel de oxigenio atinge o valor 4.

Sugestao: Sabe-se que o referido local se encontra, no maximo, a 5 km a jusante do localde descarga.

Exercıcio 2.8.6 Em engenharia oceanica, a equacao para a altura de uma determinada ondanum cais e dada por

h = h0

(sin

(2πx

λ

)cos

(2πtv

λ

)+ e−x

).

Determine uma aproximacao para o valor de x sabendo que h = 0.5h0, λ = 20, t = 10 e v = 50.

Exercıcio 2.8.7 Muitos campos da engenharia requerem o conhecimento de estimativas precisaspara o numero de habitantes de uma determinada regiao. Assim, por exemplo, os engenheirosdas areas dos transportes consideram ser importante saber como varia o numero de habitantes deuma cidade e dos seus suburbios.

Suponhamos que a populacao de uma determinada zona urbana decresce ao longo do tempode acordo com a equacao

Pu(t) = Pu,maxe−kut + Pu,min

e que a populacao suburbana cresce ao longo do tempo de acordo com

Ps(t) =Ps,max

1 +(

Ps,max

P0− 1)

e−kst,

sendo as constantes Pu,max, ku, Pu,min, Ps,max, P0 e ks parametros estimados empiricamente.Determine o instante t (e os correspondentes valores de Pu(t) e Ps(t)) em que as regioes

urbanas e suburbanas tem o mesmo numero de habitantes, usando, para tal, os seguintes valores:Pu,max = 60000, ku = 0.04, Pu,min = 120000, Ps,max = 300000, P0 = 5000 e ks = 0.06.

Exercıcio 2.8.8 Para calcular a aspecto de uma calha de escoamento, por gravidade, com oobjectivo de minimizar o tempo de descarga de um determinado produto granulado (Chiarella,

Page 48: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 48

Charlton, Roberts (1975)), e necessario resolver as seguintes equacoes nao lineares pelo metodode Newton

fn(θ1, . . . , θN ) ≡ sin θn+1

vn+1(1 − µwn+1) −

sin θn

vn(1 − µwn) = 0, n = 1, . . . , N − 1

fN (θ1, . . . , θN ) ≡ ∆y

N∑

j=1

tan θj − X = 0

,

onde

(i) v2n = v2

0 + 2gn∆y − 2µ∆y

n∑

j=1

1

cos θj, n = 1, . . . , N ,

e

(ii) wn = −∆yvn

N∑

j=1

1

v3j cos θj

, n = 1, . . . , N .

A constante v0 e a velocidade inicial do produto granulado, X a coordenada em x do extremo finalda calha, µ a forca de atrito, N o numero de segmentos da calha e g a constante de gravidade.As variaveis θj sao os angulos que os respectivos segmentos da calha fazem com a vertical e vj avelocidade das partıculas no j-esimo segmento da calha.

Resolva o sistema para θ = (θ1, . . . , θN ) usando o metodo de Newton com µ = 0, X = 2,∆y = 0.2, N = 20, v0 = 0, e g = 32 pes/seg2, onde os valores de vn e wn sao dados por (i) e(ii). Aplique o metodo ate que

‖θ(k+1) − θ(k)‖ < 10−2rad.

2.9 Referencias bibliograficas

K.E. Atkinson (1989), An Introduction to Numerical Analysis, 2th ed., John Wiley, NewYork.

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

H. Goldstine (1977), A History of Numerical Analysis from 16th Through the 19th Century,Springer-Verlag, New York.

C. Houzel (1988), Equations algebriques, Mathematiques en Mediterranee, Edisud/Museesde Marseille, pp. 58-67.

J.A. Ferreira e M.F. Patrıcio (1999), Analise Numerica, Textos de Apoio, DMUC, Coimbra.

R. Kress (1998), Numerical Analysis, Springer-Verlag, New York.

H. Pina (1995), Metodos Numericos, McGraw-Hill, Alfragide.

Page 49: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Solucao numerica de equacoes e sistemas nao lineares 49

J.R. Rice (1983), Numerical Methods, Software, and Analysis, McGraw-Hill, Tokyo.

M. Rosa (1992), Topicos de Analise Numerica, Textos de Apoio, DMUC, Coimbra.

J.M. Sanz-Serna (1998), Diez Lecciones de Calculo Numerico, Universidad de Valladolid,Valladolid.

J. Stoer e R. Bulirsch (1980), Introduction to Numerical Analysis, Springer-Verlag, Berlin.

M.R. Valenca (1988), Metodos Numericos, INIC, Braga.

Page 50: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 3

Sistemas de equacoes lineares

3.1 Breve referencia historica

No seculo I da era crista, foi publicado na China um livro intitulado Jiuzhang Suanshu (re-ferenciado, usualmente, por “Os Nove Capıtulos da Arte Matematica”). Pela influencia quecausou em toda a matematica oriental, essa obra e muitas veses comparada aos Elementos deEuclides. Os “Nove Capıtulos”sao constituıdos por 246 problemas de aritmetica e geometriamas a sua referencia neste capıtulo, dedicado a resolucao de sistemas lineares, tem a vercom o facto de aı ter sido descrita uma forma sistematica de resolver sistemas lineares comcoeficientes positivos. Como curiosidade refira-se que as operacoes eram efectuadas com oauxılio de pequenos paus dispostos numa folha de papel. Atraves de manipulacoes sobreesses paus a tecnica proposta era em todo semelhante ao metodo da decomposicao de Gauss(apresentado, somente, no seculo XIX!). As operacoes eram efectuadas sobre os coeficientesdo sistema o que confere a tecnica um estatuto de uma proto-algebra linear. De notar que oschineses, ja desde essa altura, usavam um sistema de numeracao de posicao, com recurso aouso de um quadrado em branco para representar o zero.

No seculo XIII o matematico chines Zhu Shijie (1260?-1320?) publicou uma obra intitu-lada Suanxue Quimeng (que significa “Introducao a Ciencia do Calculo”) onde aprefeicoou ometodo de resolucao de sistemas lineares proposto nos “Nove Capıtulos”, nao se libertando,contudo, do recurso aos pauzinhos para efectuar as contas. Este livro teve tambem o meritode ter sido estudado, muito mais tarde, pelo matematico japones Takakazu Seki Kowa (1642-1708). Inspirado por esta obra, Takakazu Seki generalizou a algebra chinesa libertando-ado recurso aos paus. O calculo proposto por este ilustre matematico (na obra Kaikendaino Ho) nao restringe o numero de incogitas e estabelece regras gerais, em vez de resolvercasos particulares. Outra contribuicao importante de Takakazu foi a introducao da nocao dedeterminante no seu livro Kaifukudai no Ho.

A nocao de determinante, cuja teoria foi estudada de forma sistematica por Charles Ja-cobi (1804-1851), precedeu a de matriz que so foi considerada como um ente matematico porWilliam Rowan Hamilton (1805-1856) no seu livro Lectures on Quaternions. No entanto, aresolucao de sistemas de equacoes lineares ja tinha sido considerada por varios autores noocidente, sendo de destacar o contributo de Carl Friedrich Gauss (1777-1875). Na sua obraTheoria Motus (1809), Gauss apresentou uma tecnica de resolucao de sistemas lineares (surgi-dos no contexto de um problema de mınimos quadrados) que nao e mais do que o metodode eliminacao que todos conhecemos e que hoje tem o seu nome. Mais tarde, o mesmo

50

Page 51: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 51

Gauss apresentou um processo iterativo para resolver sistemas lineares de grande dimensao,antecipando o procedimento conhecido por metodo de Gauss-Seidel. Alem dos contributosde Gauss, sao de salientar os trabalhos de Joseph Louis Lagrange (1736-1813), Pierre SimonLaplace (1749-1827) e Charles Jacobi (1804-1851). Refira-se que Jacobi, baseado nos trabalhosde Gauss sobre mınimos quadrados, efectuou varios trabalhos sobre sistemas lineares tendotambem influenciado um seu aluno alemao Philipp Ludwig von Seidel (1821-1896). Estes doismatematicos resolveram varios problemas usando metodos iterativos que foram baptizadoscom os seus nomes.

A teoria de matrizes foi posteriormente aprefeicoada por Arthur Cayley (1821-1895) eJames Joseph Sylvester (1814-1899) (a quem se deve a introducao do termo “matriz”), tendoprogredido de forma espectacular ate ao inıcio do seculo XX. Foi para a teoria de matrizesque o fısico Werner Heisenberg (1901-1976) apelou, em 1925, quando fundou a mecanica dosquanta.

3.2 Introducao

O problema que pretendemos resolver neste capıtulo consiste em determinar o valor de x ∈ IRn

tal que Ax = b, sendo b ∈ IRn e A ∈ Mn(IR), onde Mn(IR) denota o conjunto (espacovectorial) das matrizes reais de ordem n. Para resolver este problema iremos supor que amatriz A e invertıvel ou, o que e equivalente, que o sistema e possıvel e determinado.

Ha muitos sistemas fısicos que podem ter como modelo sistemas de equacoes lineares.Suponhamos, por exemplo, um camiao a atravessar uma ponte cuja estrutura e constituıdapor barras de ferro. O peso camiao e da ponte sao forcas que sao contrabalancadas pelasexercıdas nas extremidades que seguram a ponte. Essas forcas sao propagadas ao longo detoda a estrutura e, em cada nodo (locais onde as barras de ferro seguram a estrutura) aresultante das forcas deve ser nula. Se decompusermos as forcas nas componentes horizontal(x) e vertical (y) temos, em cada nodo (i = 1, 2, . . .), as equacoes:

soma x das forcas = 0, no nodo i,soma y das forcas = 0, no nodo i.

As forcas, em cada barra, podem assim ser determinadas. Como ha forcas conhecidas (pesodo camiao, peso das barras, etc), o sistema a resolver e nao homogeneo.

A resolucao de um problema envolvendo sistemas lineares pode dividir-se em tres etapas:

1. formulacao do modelo matematico (calcular a matriz A);

2. calculo dos agentes exteriores (calcular o vector b);

3. resolucao do sistema linear.

Os dois primeiros passos dependem, obviamente, do conhecimento do problema fısico (tipo dematerial, leis fısicas, etc); o terceiro passo pode ser equacionado e resolvido separadamente,usando um conveniente algoritmo matematico. Uma vez que este ultimo passo aparece comopertencente a um algoritmo bastante mais vasto e essencial que seja calculado de formaeficiente.

Existem duas grandes classes de metodos para resolver sistemas de equacoes lineares: osmetodos directos, que ja foram estudados, em parte, na disciplina de Algebra Linear e para

Page 52: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 52

os quais iremos fazer uma breve revisao; e os metodos iterativos que iremos estudar com maispormenor neste caıtulo. Antes porem, vamos apresentar algumas classes de matrizes que iraoser consideradas.

3.3 Classes de matrizes

Existem varios tipos de matrizes que poderao aparecer na pratica e que iremos analisar apenasalgumas delas.

• Matrizes densas e matrizes esparsas

Um matriz com muitos elementos nulos diz-se esparsa; caso contrario diz-se que a matrize densa. Sistemas com matrizes esparsas modelam sobretudo problemas onde existemprincıpios de influencia local. Note-se que, no caso da ponte, as equacoes em cada nodoapenas envolvem as barras que aı se encontram. O seu numero e o mesmo quer a pontetenha 50 metros e, digamos, 10 barras, ou 5 km e 1000 barras. Assim, para uma pontegrande, a maioria dos coeficientes da matriz sao nulos.

Como caso particular das matrizes esparsas temos as matrizes banda e, dentro dessaclasse, as chamadas matrizes tridiagonais. As matrizes banda sao aquelas cujos elemen-tos nao nulos se concentram apenas num conjunto de diagonais paralelas a diagonalprincipal.

• Matrizes triangulares

Uma matriz diz-se triangular superior se sao nulos todos os seus elementos abaixo dadiagonal principal e triangular inferior se sao nulos todos os seus elementos acima dadiagonal principal.

• Matrizes simetricas

As matrizes simetricas sao aquelas que coincidem com a sua transposta.

• Matrizes estritamente diagonal dominantes

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

|aii| >

n∑

j=1,j 6=i

|aij |

e estritamente diagonal dominante por colunas se

|ajj| >

n∑

i=1,i6=j

|aij |.

A matriz diz-se estritamente diaginal dominante se for estritamente diagonal dominantepor linhas ou estritamente diagonal dominante por colunas.

Page 53: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 53

3.4 Metodos directos: revisao

Consideremos, de novo, o problema de determinar o vector x ∈ IRn tal que Ax = b, sendo b ∈IRn e A ∈ Mn(IR) uma matriz invertıvel. O primeiro tipo de metodos que iremos considerarresolver este problema sao os chamados metodos directos. Estes metodos sao aqueles que,supondo nao haver erros de arredondamento ou quaisquer outros, nos permitem obter asolucao exacta do problema num numero finito de operacoes aritmeticas.

Os metodos directos baseiam-se no processo de eliminacao de Gauss que consiste emtransformar o sistema Ax = b num sistema equivalente Ux = c, onde U e uma matriztriangular superior, atravez de operacoes elementares efectuadas na matriz ampliada (lembrarestes conceitos dados na disciplina de Algebra Linear). O sistema a resolver pode ser escritona forma

u11x1 + u12x2 + · · · + u1nxn = c1

u22x2 + · · · + u2nxn = c2

. . ....

...unnxn = cn

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

Algoritmo 3.1 Resolucao 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 ate 1 fazer

xi :=(bi −

∑nj=i+1 uijxj

)/uii

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

O metodo da eliminacao de Gauss tem como desvantagem a alteracao do valor dos termosindependentes (c 6= b). Para contornar esse problema, temos o chamado metodo da triangu-larizacao. Este metodo consiste em decompor a matriz A do sistema a resolver na forma

A = LU,

em que L e uma matriz triangular inferior e U uma matriz triangular superior, com uii = 1,i = 1, . . . , n. A forma de obter esta decomposicao foi igualmente vista na disciplina de AlgebraLinear. Apos obtida a decomposicao, a resolucao do sistema e feita em duas etapas:

1. resolver Ly = b;

2. resolver Ux = y.

Notemos que em cada etapa temos que resolver um sistema triangular.

Page 54: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 54

Exercıcio 3.4.1 Supondo determinada a decomposicao A = LU , obtenha o algoritmo quepermita reslover o sistema Ax = b pelo metodo da triangulacao.

Em muitas situacoes praticas, o sistema linear a resolver e tridiagonal, isto e, a matriz Ae da forma (suprimindo os zeros)

A =

β1 γ1

α2 β2 γ2

. . .. . .

. . .

αn−1 βn−1 γn−1

αn βn

ou, noutra notacaoA = Tridiag(α, β, γ),

com α = [α2, . . . , αn]T , β = [β1, . . . , βn]T e α = [γ1, . . . , γn−1]T .

E facil de demonstrar (ver Algebra Linear) que a decomposicao A = LU e dada pelasmatrizes

L =

l1α2 l2

. . .. . .

αn−1 ln−1

αn ln

e U =

1 u1

1 u2

. . .. . .

1 un−1

1

,

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

Algoritmo 3.2 Decomposicao 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 entao u1 := γ1/l1 caso contrario parar

Para i de 2 ate n − 1 fazer

li := βi − αiui−1

Se li 6= 0 entao ui := γi/li caso contrario parar

ln := βn − αnun−1

Resultado: li, i = 1, . . . , n e ui, i = 1, . . . , n − 1

Como facilmente se pode demonstrar, a resolucao do sistema linear Ax = b, com Auma matriz tridiagonal cuja decomposicao A = LU e dada pelo exercıcio anterior, pode serefectuada de acordo com o seguinte algoritmo.

Page 55: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 55

Algoritmo 3.3 Resolucao 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 ate n fazer

yi := (bi − αiyi−1)/li

(* Resolver Ux = y *)

xn := yn

Para i de n − 1 ate 1 fazer

xi := yi − uixi+1

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

3.5 Metodos iterativos

Consideremos, de novo, o problema de determinar o valor de x ∈ IRn tal que Ax = b, sendob ∈ IRn e A ∈ Mn(IR) uma matriz invertıvel. Um metodo iterativo para resolver o sistemaconsiste em, partindo de uma aproximacao inicial x(0) para a solucao do sistema (que iremosdenotar por x∗), gerar uma sucessao de vectores x(k) convergente para x∗.

Os metodos que iremos considerar pertencem a classe dos metodos do ponto fixo e saoobtidos transformando o problema Ax = b num outro, equivalente, de forma

x = Mx + d,

para uma determinada matriz de iteracao M e um determinado vector d.Para determinar M e d podemos, por exemplo, decompor a matriz A na forma A = N−P ,

com N uma matriz invertıvel (mais simples que A) e considerar M = N−1P e b = N−1b. Defacto,

Ax = b ⇔ Nx = Px + b ⇔ x = N−1Px + N−1b.

Com esta transformacao podemos escrever o metodo iterativo na forma

x(0) dado

x(k+1) = Mx(k) + d, k = 0, 1, . . . .(3.1)

O processo iterativo termina quando se cumprirem os criterios de paragem estabelecidos.Os criterios mais comuns sao:

1. Criterio do erro absoluto: ‖x(k) − x(k−1)‖ 6 ε;

2. Criterio do erro relativo: ‖x(k) − x(k−1)‖ 6 ε‖x(k)‖;

3. Criterio do numero maximo de iteracoes: k = kmax.

Page 56: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 56

Os metodos iterativos sao sobretudo usados para matrizes esparsas de grandes dimensoes,que surgem frequentemente em problemas de analise de circuitos ou calculos de estruturas.Para esses problemas, os metodos iterativos sao competitivos face aos metodos directos. Paramatrizes densas ou de pequena dimensao os metodos directos sao mais vantajosos.

Exemplo 3.1 Consideremos, por exemplo, o seguinte sistema

Ax = b ⇔

10x1 −2x2 +5x3 = 13−x1 +3x2 −x3 = 1

x1 +4x2 +2x3 = 7

que tem solucao unica (x1, x2, x3) = (1, 1, 1). Para converter o sistema na forma equivalentex = Mx + d facamos

x = Mx + d ⇔

x1 = − 110 (−2x2 + 5x3 − 3)

x2 = −13 (−x1 − x3 − 1)

x3 = −12 (x1 + 4x2 − 7)

.

Neste caso temos que a matriz de iteracao M e o vector b sao dados por

M =

0 2/10 −5/101/3 0 1/3−1/2 −4/2 0

e b =

13/101/37/2

.

O metodo iterativo e dado na forma

x(k+1) = Mx(k) + d ⇔

x(k+1)1 = − 1

10

(−2x

(k)2 + 5x

(k)3 − 3

)

x(k+1)2 = −1

3

(−x

(k)1 − x

(k)3 − 1

)

x(k+1)3 = −1

2

(x

(k)1 + 4x

(k)2 − 7

), k = 0, 1, . . . ,

sendo x(0) := [x(0)1 , x

(0)2 , x

(0)3 ]T um valor dado.

O metodo descrito no exemplo anterior e conhecido por metodo de Jacobi e e um dosmetodos que iremos estudar neste capıtulo. Este metodo, quando aplicado ao sistema Ax = b,com aii 6= 0, i = 1, . . . , n, pode ser dado por

x(k+1)i =

−1

aii

n∑

j=1,j 6=i

aijx(k)j − bi

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

Exercıcio 3.5.1 Escreva um algoritmo para determinar a solucao aproximada de Ax = b pelometodo de Jacobi.

Um melhoramenento ao metodo de Jacobi pode ser dado de acordo com o proximo exem-plo.

Page 57: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 57

Exemplo 3.2 Consideremos, de novo, o sistema linear dado no exemplo anterior e o processoiterativo:

x(k+1)1 = − 1

10

(−2x

(k)2 + 5x

(k)3 − 3

)

x(k+1)2 = −1

3

(−x

(k+1)1 − x

(k)3 − 1

)

x(k+1)3 = −1

2

(x

(k+1)1 + 4x

(k+1)2 − 7

), k = 0, 1, . . . ,

sendo x(0) := [x(0)1 , x

(0)2 , x

(0)3 ]T um valor dado. Como se pode ver, este metodo usa as com-

ponentes da nova aproximacao logo apos estas terem sido calculadas. Neste caso a matriz deiteracao do metodo ja nao e tao simples de escrever.

O metodo descrito no exemplo anterior e chamado metodo de Gauss-Seidel. Quando apli-cado a resolucao numerica de Ax = b, com aii 6= 0, i = 1, . . . , n, o metodo e dado por

x(k+1)i =

−1

aii

i−1∑

j=1

aijx(k+1)j +

n∑

j=i+1

aijx(k)j − bi

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

A questao que se coloca e a de saber em que circunstancias estes metodos sao convergentes.Para estudar a convergencia dos metodos iterativos para sistemas de equacoes lineares, hanecessidade de introduzir o conceito de norma de matriz.

3.5.1 Normas de matrizes

Seja Mn(IR) o conjunto das matrizes quadradas de ordem n com coeficientes reais. Comoeste conjunto e um espaco vectorial podemos nele definir uma norma.

Definicao 3.3 (Norma matricial) Seja ‖ · ‖v uma norma definida em IRn. A aplicacao‖ · ‖ : Mn(IR) −→ IR+

0 tal que, para todo o A ∈ Mn(IR),

‖A‖ = sup‖x‖6=0

‖Ax‖v

‖x‖v

e designada norma matricial subordinada a norma vectorial ‖ · ‖v.

A difinicao de norma matricial subordinada norma vectorial ‖ · ‖v , muitas vezes, dadana forma

‖A‖ = sup‖x‖=1

‖Ax‖v .

Quanto a notacao, caso nao haja risco de confusao, usa-se a mesma tanto para a normavectorial como para a norma matricial subordinada.

Exercıcio 3.5.2 Mostre que a funcao estabelecida na definicao anterior e uma norma, isto e,que verifica as seguintes propriedades:

1. ∀A ∈ Mn(IR), ‖A‖ = 0 ⇔ A = 0 (matriz nula),

2. ∀A ∈ Mn(IR), ∀λ ∈ IR, ‖λA‖ = |λ|‖A‖,

3. ∀A,B ∈ Mn(IR), ‖A + B‖ 6 ‖A‖ + ‖B‖,

Page 58: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 58

Podemos definir as normas matriciais subordinadas as normas vectoriais dadas no Capıtulo1.

Exercıcio 3.5.3 (Normas matriciais) Seja A ∈ Mn(IR). Prove que as seguintes aplicacoesverificam as propriedades que caracterizam um norma:

• ‖A‖1 = maxj=1,...,n

n∑

i=1

|aij |;

• ‖A‖∞ = maxi=1,...,n

n∑

j=1

|aij |.

Exercıcio 3.5.4 Prove que as normas matriciais ‖ · ‖1 e ‖ · ‖∞ sao normas subordinadas asnormas vectoriais ‖ · ‖1 e ‖ · ‖∞, respectivamente.

Resolucao: Consideremos a norma ‖.‖1 para IRn. Entao, com A ∈ Mn(IR), tem-se

‖A‖1 = sup‖x‖6=0

‖Ax‖1

‖x‖1

e

‖Ax‖1 =

n∑

i=1

|n∑

j=1

aijxj| 6

n∑

j=1

n∑

i=1

|aij ||xj | 6 maxj=1,...,n

n∑

i=1

|aij |‖x‖1.

Concluımos, portanto, que

‖A‖1 6 maxj=1,...,n

n∑

i=1

|aij |.

Temos entao que (o maximo e atingido para um vector x ∈ IRn escolhido de forma conve-niente)

‖A‖1 = maxj=1,...,n

n∑

i=1

|aij |,

o que mostra que a norma anterior e subordinada a norma ‖.‖1.

Consideremos agora, em IRn, a norma ‖.‖∞ e seja A ∈ Mn(IR). Entao

‖A‖∞ = sup‖x‖6=0

‖Ax‖∞‖x‖∞

.

Atendendo a que

‖Ax‖∞ = maxi=1,...,n

|n∑

j=1

aijxj | 6

max

i=1,...,n

n∑

j=1

|aij |

max

j=1,...,n|xj|

vem

‖A‖∞ 6 maxi=1,...,n

n∑

j=1

|aij |.

Atendendo a que o maximo e atingido para um vector x ∈ IRn escolhido de forma conve-niente concluımos que a norma ‖A‖∞ e subordinada a norma vectorial ‖.‖∞.

Page 59: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 59

Provemos agora alguns resultados importantes referentes a normas matriciais.

Teorema 3.4 Seja ‖.‖ uma norma em IRn. Entao, para A ∈ Mn(IR), tem-se

‖Ax‖ 6 ‖A‖‖x‖,∀x ∈ IRn,

em que ‖A‖ e a norma de A subordinada a norma ‖.‖.

Demonstracao: Notamos que se a norma ‖.‖ e subordinada a uma norma vectorial entao,para A ∈ Mn(IR), temos

‖A‖ = sup‖x‖6=0

‖Ax‖‖x‖ >

‖Ax‖‖x‖ , x ∈ IRn, x 6= 0,

e, portanto, e valido o resultado.

Teorema 3.5 Para A,B ∈ Mn(IR), tem-se ‖AB‖ 6 ‖A‖‖B‖.

Demonstracao: Atendendo a desigualdade demonstrada no teorema anterior, tem-se

‖AB‖ = sup‖x‖6=0

‖ABx‖‖x‖ 6 ‖A‖ sup

‖x‖6=0

‖Bx‖‖x‖ = ‖A‖‖B‖,

o que prova o pretendido.

3.5.2 Convergencia dos metodos iterativos

Vamos agora abordar a questao da convergencia do metodo iterativo (3.1).

Definicao 3.6 (Convergencia) Seja x∗ a solucao (unica) de Ax = b e x(k) uma sucessaode aproximacoes obtida pelo metodo (3.1). O metodo diz-se convergente se

limk→+∞

e(k) := limk→+∞

(x∗ − x(k)

)= 0.

Caso contrario o metodo diz-se divergente. A e(k) chama-se erro (absoluto) da iteracao k.

Notemos o seguinte resultado cuja demonstracao e muito simples.

Teorema 3.7 O metodo iterativo (3.1) converge, qualquer que seja a aproximacao inicialx(0), se e so se

limk→+∞

Mk = 0.

Page 60: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 60

Demonstracao: De facto

e(k) = x∗ − x(k) = Me(k−1), k = 1, 2, . . . .

Assime(k) = Mke(0), k = 1, 2, . . . , (3.4)

e, como tal,lim

k→+∞e(k) = 0 ⇔ lim

k→+∞Mk = 0,

o que prova o pretendido.

Outro aspecto importante a determinar quando se lida com metodos iterativos tem a vercom a determinacao de majorantes para o erro cometido. O teorema seguinte e, nesse sentido,muito importante. Alem disso, estabelece uma condicao suficiente de convergencia mais utilque a referida no teorema anterior.

Teorema 3.8 Se ‖M‖ < 1 entao o metodo iterativo (3.1) converge, qualquer que seja aaproximacao inicial escolhida, e tem-se que

1. ‖e(k)‖ 6 ‖M‖k‖e(0)‖;

2. ‖e(k)‖ 6‖M‖k

1 − ‖M‖‖x(1) − x(0)‖.

Demonstracao: Vamos demonstrar apenas o primeiro ponto. A demonstracao da segundaparte segue um procedimento analogo ao efectuado na demonstracao do Corolario 2.21 e ficaao cuidado dos alunos.

Demonstremos assim a primeira parte (a mais simples). Considerando normas em (3.4)obtemos

‖e(k)‖ 6 ‖M‖k‖e(0)‖, k = 1, 2, . . . .

Tomando limites e atendendo a que ‖M‖ < 1 concluımos que o metodo e convergente.

O resultado anterior da-nos apenas uma condicao suficiente de convergencia. Para esta-belecer uma condicao necessaria e suficiente de convergencia temos que usar a nocao de raioespectral de uma matriz. Recordermos que o raio espectral de uma matriz A ∈ Mn(IR), quedenotaremos por ρ(A), e definido por

ρ(A) = maxi=1,...,n

|λi| : λi e valor proprio de A.

Diz-se que λ ∈ C e um valor proprio de A se existe um z ∈ IR, com z 6= 0, tal que Az = λz.A z chamamos o vector proprio associado ao valor proprio λ.

Exercıcio 3.5.5 Seja A uma matriz real, nao singular e de ordem n. Prove que se λ e um valorproprio de A entao

1

‖A−1‖ 6 |λ| 6 ‖A‖.

Estamos agora em condicoes de estabelecer o seguinte teorema.

Teorema 3.9 O metodo iterativo (3.1) converge, qualquer que seja a aproximacao inicialx(0) escolhida, se e so se ρ(M) < 1.

Page 61: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 61

Demonstracao: Se ρ(M) < 1 pode demonstrar-se (ver Kress (1998)) que existe uma normamatricial tal que ‖M‖ < 1. Logo, pelo teorema anterior, o metodo converge.

Falta provar que se o metodo convergir entao o raio espectral da matriz de iteracao emenor que um. Vamos demonstrar este facto provando que se o raio espectral de M for maiorou igual a um podemos definir um processo iterativo de forma (3.1) divergente. De facto, seρ(M) > 1 existe um valor proprio λ de M tal que |λ| > 1. Seja z o vector proprio associadoa esse valor proprio. Considerando, em (3.1), a aproximacao inicial x(0) = z e d = z temos

x(1) = Mz + z = λz + z = (1 + λ)z.

Repetindo o processo temos, sucessivamente,

x(2) = Mx(1) + z = (1 + λ + λ2)z, . . . , x(k) = Mx(k−1) + z =

k∑

j=0

λj

z.

Como |λ| > 1 concluımos que o metodo iterativo assim definido e divergente.

3.5.3 Metodos de Jacobi e Gauss-Seidel

Vamos agora estudar a convergencia dos metodos de Jacobi e Gauss-Seidel. Seja Ax = b, comA ∈ Mn(IR) uma matriz invertıvel. Considerando

A = N − P, com N uma matriz invertıvel, (3.5)

podemos definir (como vimos) o metodo iterativo

x(0) dado

x(k+1) = Mx(k) + d, k = 0, 1, . . . ,(3.6)

com M = N−1P e d = N−1b.A escolha dos diferentes metodos iterativos depende da forma como se define a particao

(3.5). Para definir os metodos de Jacobi e Gauss-Seidel, considera-se

A = D − L − U,

em que

D =

aii

a22

. . .

ann

e

L =

0−a21 0

.... . .

. . .

−an1 · · · −an,n−1 0

, U =

0 −a12 · · · −a1n

. . .. . .

...0 −an−1,n

0

.

Page 62: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 62

Metodo de Jacobi Para definir o metodo de Jacobi, temos sucessivamente

Ax = b ⇔ (D − L − U)x = b ⇔ Dx = (L + U)x + d.

Caso D seja invertıvel, temos que

x = D−1(L + U)x + D−1b.

O metodo de Jacobi e assim dado por (3.6), com M = D−1(L + U) e d = D−1b.

Metodo de Gauss-Seidel Para definir o metodo de Gauss-Seidel, consideramos

Ax = b ⇔ (D − L − U)x = b ⇔ (D − L)x = Ux + d.

Caso D − L seja invertıvel ou, o que e equivalente, caso D seja invertıvel, temos que

x = (D − L)−1Ux + (D − L)−1b.

O metodo de Gauss-Seidel e assim dado por (3.6), com M = (D−L)−1U e d = (D−L)−1b.

O estudo da convergencia destes metodos iterativos pode ser efectuado de acordo com osresultados estabelecidos na seccao anterior. Assim, se D for invertıvel, temos que, qualquerque seja a aproximacao inicial escolhida:

• Metodo de Jacobi

1. ρ(D−1(L + U)) < 1 ⇔ o metodo converge;

2. ‖D−1(L + U)‖ < 1 ⇒ o metodo converge;

• Metodo de Gauss-Seidel

1. ρ((D − L)−1U) < 1 ⇔ o metodo converge;

2. ‖(D − L)−1U‖ < 1 ⇒ o metodo converge.

Para o caso particular dos metodos de Jacobi e Gauss-Seidel existe um resultado deconvergencia especıfico que pode ser util na pratica. Esse resultado e dado no proximoteorema, cuja demonstracao ira ser feita apenas para o caso do metodo de Jacobi.

Teorema 3.10 Se A e uma matriz estritamente diagonal dominante por linhas (ou por colu-nas), entao os metodos de Jacobi e Gauss-Seidel convergem para a unica solucao do sistemaAx = b, qualquer que seja a aproximacao inicial escolhida.

Page 63: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 63

Demonstracao: Vamos efectuar a demonstracao apenas para o caso do metodo de Jacobi.A matriz M de iteracao do metodo e dada por

M = D−1(L + U) =

0 −a12

a11· · · −a1n

a11

−a21

a220 · · · −a2n

a22

......

. . ....

− an1

ann− an2

ann· · · 0

.

Como A e estritamente diagonal dominante por linhas temos que

‖M‖∞ = maxi=1,...,n

1

|aii|

n∑

j=1,j 6=i

|aij |

< 1.

Assim, pelo Teorema 3.8 temos que o metodo de Jacobi converge para a solucao de Ax = b,qualquer que seja a aproximacao inicial escolhida.

Note-se que o teorema anterior nos da apenas uma condicao suficiente de convergencia.Assim, se a matriz do sistema a resolver for estritamente diagonal os metodos de Jacobie Gauss-Seidel irao gerar sucessoes de aproximacoes convergentes para a sua solucao; casocontrario, nada poderemos afirmar quanto a convergencia dessas sucessoes.

3.6 Condicionamento de matrizes

Consideremos um sistema possıvel e determinado Ax = b e seja b o vector obtido a partirde b considerando perturbacoes numericas nas suas componentes. Esta situacao e frequentequando o vector dos termos independentes representa medicoes. Sejam e(b) e r(b) respectiva-mente os erros absoluto e relativo de b. Vejamos de que modo este erros influenciam os errosabsoluto e relativo de x, sendo x a solucao do sistema Ax = b.

Se o sistema Ax = b e possıvel e determinado, entao A e invertıvel e portanto x = A−1b.Consideremos agora o sistema em que o vector dos termos independentes tem as componentesafectadas de erro, i.e, Ax = b. Temos

r(x) =‖e(x)‖‖x‖ =

‖A−1(b − b)‖‖x‖ =

‖A−1e(b)‖‖x‖ .

Como‖b‖ = ‖Ax‖ 6 ‖A‖‖x‖

concluımos que‖x‖ > ‖A‖−1‖b‖.

Utilizando esta desigualdade em r(x), deduzimos

‖r(x)‖ 6‖A−1‖‖e(b)‖‖A‖−1‖b‖ = ‖A−1‖‖A‖‖r(b)‖.

A ‖A−1‖‖A‖ chamamos numero de condicao da matriz A e e denotado por cond(A).Do exposto podemos afirmar que se o numero de condicao de A for pequeno (de preferencia

menor ou igual a um) pequenas perturbacoes no vector dos termos independentes conduzem

Page 64: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 64

a pequenas perturbacoes no vector solucao. Nesse caso dizemos que o sistema Ax = b e estavele que a matriz do A e bem condicionada. Se o numero de condicao for muito grande o sistemaAx = b diz-se instavel e a matriz do A mal condicionada.

Quando se pretende resolver sistemas lineares instaveis usando metodos directos, a solucaoobtida vem, frequentemente, afectada de erro. Nessa medida, e usual considerar metodosmistos, isto e, metodos iterativos que consideram como aproximacao inicial a solucao obtidapelo metodo directo. O metodo iterativo funciona assim como um corrector do resultadoobtido pelo metodo directo.

3.7 Exercıcios de aplicacao a engenharia

Exercıcio 3.7.1 Considere um barra horizontal fixa numa extremidade e livre no restante doseu comprimento. Um modelo discreto de forcas na barra conduz ao sistema de equacoes linearesAx = b, onde A e a matriz quadrada de ordem n, com estrutura de banda, dada por

9 −4 1 0 · · · · · · 0

−4 6 −4 1. . .

...

1 −4 6 −4 1. . .

...

0. . .

. . .. . .

. . .. . . 0

.... . . 1 −4 5 −2

0 · · · · · · 0 1 −2 1

.

O vector b e dado pela carga que e imposta a barra (incluindo o seu proprio peso), e o vector xrepresenta a deformacao da barra que queremos determinar. Considermos a barra sujeita a umacarga uniforme dada por bi = 1, para i = 1, . . . , n. Considerando n = 100, resolva o sistemausando metodos directos e metodos iterativos, comparando a sua eficacia.

Exercıcio 3.7.2 Num artigo intitulado “Population waves”, o seu autor, H. Bernadelli, apresentaum estudo sobre um hipotetico tipo de escaravelho que tem um tempo de vida natural de 3 anos.A femea desta especie possui uma taxa de sobrevivencia de 1/2 no primeiro ano de vida, uma taxade 1/3 do segundo para o terceiro ano, e da a luz uma media de seis novas femeas antes de morrerno final do terceiro ano. Para mostrar a contribuicao de cada femea, num sentido probabilıstico,para a populacao total de femeas da especie, poderemos usar uma matriz. Denotemos por aij ,elemento da matriz A = [aij], a contribuicao que uma determinada femea de escaravelho de idadej da para a populacao de femeas do ano seguinte de idade i. Consideremos essa matriz dada por

A =

0 0 61/2 1/3 0

0 1/3 0

.

1. Qual a contribuicao que uma femea da para a populacao do ano n (inteiro positivo) apos oseu nascimento?

2. Use as conclusoes obtidas na alınea anterior para obter a contribuicao de uma determinadafemea num ano futuro, supondo uma populacao inicial de 6000 femeas de escaravelho emcada uma das tres faixas etarias?

Page 65: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 65

3. Construa a matriz A−1 e diga qual o seu significado no que diz respeito a populacao destaespecie.

Exercıcio 3.7.3 Suponha que num sistema biologico existem n especies de animais e m tipos dealimento. Nesse sistema, representaremos por xj o numero de animais da especie j, j = 1, . . . , n,por bi a quantidade diaria de comida disponıvel do tipo i, i = 1, . . . ,m, e por aij a quantidadede alimento do tipo i consumida diariamente (em media) por um animal da especie j. O sistemalinear

Ax = b ⇔

a11 a12 · · · a1m

a21 a22 · · · a2m...

.... . .

...an1 an2 · · · anm

x1

x2...

xn

=

b1

b2...

bm

representa a situacao de equilıbrio, isto e, a situaco em que existe uma quantidade diaria de comidadisponıvel exactamente igual ao consumo medio de cada especie.

1. Considerando

A =

1 2 0 31 0 2 20 0 1 1

,

x = [1000, 500, 350, 400]T , e b = [3500, 2700, 900]T , havera comida suficiente para satis-fazer o consumo medio diario das espacies de animais?

2. Considere A e b dadas no ponto anterior.

(a) Qual o numero maximo de animais de cada especie que pode ser individualmenteacrescentada ao sistema de modo a que as reservas de comida ainda sejam suficientespara o consumo?

(b) Se a especie 1 se extinguisse, qual o acrescimo individual das restantes especies supor-tado pelo sistema?

(c) Se a especie 2 se extinguisse, qual o acrescimo individual das restantes especies supor-tado pelo sistema?

Exercıcio 3.7.4 O estudo das cadeias alimentares e um topico importante na determinacao dapropagacao e acumulacao de poluentes ambientais na materia viva. Suponhamos que a cadeiaalimentar possui tres elos. O primeiro elo e constituıdo pelos vegetais que podem ser dos tiposv1, v2, . . . , vn; o segundo elo e constituıdo pelos herbıvoros h1, h2, . . . , hm, que se alimentama custa dos vegetais; o terceiro elo e constituıdo pelos carnıvoros c1, c2, . . . , ck, que dependeminteiramente dos herbıvoros para a sua alimentacao. A componente aij da matriz

A =

a11 a12 · · · a1m

a21 a22 · · · a2m...

.... . .

...an1 an2 · · · anm

Page 66: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 66

representam o numero de total de plantas do tipo vi comidas pelos herbıvoros da especie hj ,enquanto a componente bij da matriz

B =

b11 b12 · · · b1k

b21 b22 · · · b2k...

.... . .

...bm1 bm2 · · · bmk

descreve o numero de herbıvoros da especie hi que foram devorados pelos carnıvoros do tipo cj .

1. Mostre que o numero de plantas do tipo vi que eventualmente vao terminar no corpo docarnıvoro cj e dado pela componente que figura na linha i e na coluna j da matriz AB.

2. Qual o significado fısico associado associado as matrizes A−1, B−1, e (AB)−1 = B−1A−1?

Exercıcio 3.7.5 No estudo de sistemas de equacoes lineares verificou-se que um sistma Ax = b,com A uma matrix m × n, pode nao ter solucao. Um caso frequente ocorre quando o sistematem mais equacoes que incoginitas (m > n). Nesse caso, pode ser util determinar o vector x queminimiza ‖Ax− b‖2. O vector x nessas condicoees chama-se a solucao (no sentido) dos mınimosquadrados de Ax = b. Pode demonstrar-se que, quando m > n, essa solucao pode ser obtidapela resolucao do sistema (possıvel e determinado) AT Ax = AT b.

A lei de Hooke estabelece que a forca F aplicada a uma mola e directamente proporcional aodeslocamento provocado de acordo com a seguinte relacao F = k(e − e0), onde k e a constanteda mola, e o comprimento da mola quando sujeita a forca F e e0 o comprimento inicial da mola.No sentido de determinar a constante da mola usaram-se diferentes forcas (conhecidas) tendo sidoobservados os comprimentos resultantes, dados na seguinte tabela

Forca F (em gramas) 3 5 8 10

Comprimento e (em milımetros) 13.3 16.3 19.4 20.9

Sabendo que o comprimento inicial da mola e e0 = 10 mm e considerando as medicoes (naocorrelacionadas) com precisao inversamente proporcional ao comprimento observado, determine amelhor estimativa para a constante da mola, usando o algoritmo dos mınimos quadrados.

Exercıcio 3.7.6 A pressao sistolica p (em milımetros de mercurio) de uma crianca saudavel compeso w (em quilogramas) e dada, de forma aproximada, pela equacao p = a + b ln w. Use osseguintes dados experimentais

w 20 28 37 51 59

p 91 99 104 108 111

para estimar a pressao sistolica de uma crianca de 45 quilogramas.

Exercıcio 3.7.7 A seguinte tabela lista a distancia media de cada um dos primeiros sete planetasdo sistema solar ao Sol, usando a distancia da Terra ao Sol como referencia.

Mercurio Venus Terra Marte Jupiter Saturno Urano

0.39 0.72 1.00 1.52 5.20 9.54 19.2

Page 67: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Sistemas de equacoes lineares 67

1. Faca um grafico onde figura o numero do planeta (Mercurio e o 1, ...) e a respectivadistancia ao Sol. Note que o grafico nao uma recta e mostre que a recta dos mınimosquadrados nao constitui uma boa aproximacao.

2. A curva tracada no ponto anterior assemelha-se a uma curva exponencial. Trace o graficodo numero do planeta versus o logaritmo da sua distancia ao Sol. Sera que o grafico seaproxima de uma recta?

3. A cintura de asteroides entre Marte e Jupiter pode ser vista como um planeta que sofreuum colapso. Reordene os planetas Jupiter, Saturno e Urano com os nmeros 6, 7 e 8,respectivamente, e repita o exercıcio efectuado no ponto anterior. Sera que o grafico obtidotem um comportamento mais proximo do de uma recta?

4. Use o metodo dos mınimos quadrados para prever a posicao de Neptuno.1

3.8 Referencias bibliograficas

K.E. Atkinson (1989), An Introduction to Numerical Analysis, 2th ed., John Wiley, NewYork.

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

I. Grattan-Guinness (1997), Mathematical Sciences, Fontana Press, London.

J.A. Ferreira e M.F. Patrıcio (1999), Analise Numerica, Textos de Apoio, DMUC, Coimbra.

R. Kress (1998), Numerical Analysis, Springer-Verlag, New York.

M. Rosa (1992), Topicos de Analise Numerica, Textos de Apoio, DMUC, Coimbra.

J. Stoer e R. Bulirsch (1980), Introduction to Numerical Analysis, Springer-Verlag, Berlin.

1O metodo dos mınimos quadrados foi usado por Gauss para prever a existencia do planeta Neptuno. Alias,foi para resolver este problema que Gauss “inventou”o referido metodo.

Page 68: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 4

Interpolacao polinomial

4.1 Breve referencia historica

Al-Biruni (973-1050), um grande matematico arabe, ja usava interpolacao quadratica e epossıvel que tivesse tido imitadores e discıpulos que o fizessem tambem. Mas foi so no sec.XVII que se efectuaram os primeiros estudos sistematicos sobre esta materia, nomeadamentesobre o calculo das diferencas finitas.

Henry Briggs (1556-1630) teve um papel importante nesta materia ao usar formulas deinterpolacao para tabelar os logaritmos. No entanto, e necessario recuar um pouco no tempoate um colega seu, Thomas Harriot (1560-1621) em Oxford, para encontrar o verdadeiro inven-tor do calculo das diferencas finitas. Harriot, tal como Briggs, estava muito interessado emproblemas de navegacao.1 Apesar de contribuir de forma notavel para esta area da AnaliseNumerica, os seus trabalhos foram substimados e pouco estudados. Briggs desenvolveu eaplicou ao calculo logarıtmico os trabalhos do seu predecessor tendo sido reconhecido, maistarde, pelo grande matematico frances Lagrange.

No entanto, nesta area como em tantas outras, talvez ninguem tenha feito tanto comoo genio ingles Isaac Newton (1643-1727). Ele, aparentemente, desenvolveu os seus estudosdesconhecendo os resultados de Harriot e Briggs. O aparecimento das suas ideias surge numacarta datada de 8 de Maio de 1675 mas a publicacao definitiva teve que esperar ate muitomais tarde.

Newton pretendia ajudar um colega seu, John Smith, que estava profundamente interes-sado no problema de Wallis: determinar a area do quadrante de um cırculo dada por

∫ 1

0

√1 − x2dx.

Estas preocupacoes levaram-no ao aprofundamento das suas ideias nesta materia ate produziro conceito actual de diferenca finita. E de notar que o esforco de Newton foi amplamentereconhecido e meritorio, facto esse visıvel na numerosa quantidade de formulas ligadas a teoriada interpolacao com o seu nome: Newton; Gregory-Newton; Newton-Gauss; Newton-Cotes;Newton-Bessel, etc.

Da generalizacao de um resultado apresentado por John Wallis (1616-1703) que consistiaem obter π por interpolacao, Newton obteve o que e hoje conhecido por Teorema do Binomio

1Note-se que estamos no tempo dos grandes navegadores isabelinos: Drake, Frobisher, Hawking e Raleigh.Alias, Harriot foi professor de Walter Raleigh e foi acompanhar um grupo deste navegador na colonizacao daVirgınia.

68

Page 69: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 69

sobre o qual Fernando Pessoa disse, pela boca de Alvaro de Campos (num poema datado de15 de Janeiro de 1928):

“O Binomio de Newton e tao belo como a Venus de Milo.O que ha e pouca gente para dar por isso.oooo - oooooo ooo - ooooooo oooooooo(O vento la fora.)”

Este teorema e considerado como um dos mais brilhantes resultados da Matematica. Note-se,de passagem, que o sımbolo “∞”para designar infinito foi introduzido por Wallis neste seutrabalho.

O matematico suıco Leonhard Euler (1707-1783) tambem deu um importante contributono capıtulo da interpolacao publicando inumeros resultados e introduzindo uma nova e sim-ples notacao que ainda hoje e usada. Joseph Louis Lagrange (1736-1813) tambem se dedicoua esta area da Analise Numerica, sobretudo inspirado pelas ideias de Briggs. Lagrange tra-balhou seriamente estes assuntos publicando numerosos resultados entre os quais poderemosdestacar: o estabelecimento da relacao entre as derivadas de uma funcao e as suas diferencas;a apresentacao, em 1794/5, da formula de interpolacao que actualmente possui o seu nomemas que ele atribuia a Newton; a descoberta da interpolacao trigonometrica (Alexis ClaudeClairaut (1713-1765) tambem a descobriu independentemente), etc.

Outros matematicos brilhantes que tambem trabalharam nesta materia foram: PierreSimon Laplace (1749-1827), no calculo das diferencas finitas; Carl Friedrich Gauss (1777-1855),na determinacao de formulas de quadratura numerica; Augustine Louis Cauchy (1789-1857),em interpolacao por fraccoes racionais; etc.

Para terminar e de salientar ainda o nome do matematico frances Charles Hermite (1822-1901) cujo resultado mais conhecido nesta area e, sem duvida, a formula de interpolacao como seu nome. Hermite foi tambem um dos primeiros a notar a beleza e importancia do teoremados rezıduos de Cauchy e como este poderia ser usado para obter aproximacao de funcoes.

4.2 Introducao

Seja f uma funcao real definida num intervalo [a, b] ⊆ IR e conhecida nos pontos x0, x1, . . . , xn ∈[a, b]. Suponhamos ainda, sem perda de generalidade, que esses pontos formam uma particao∆ do intervalo [a, b], isto e,

∆ : a = x0 < x1 < · · · < xn−1 < xn = b. (4.1)

Como poderemos calcular o valor de f(x) e x ∈ [a, b], tal que x 6= xi, i = 0, 1, . . . , n? Esteproblema pode ser resolvido por interpolacao. Em linhas gerais, o conceito de interpolacaoconsiste em determinar uma funcao

g(x) = a0φ0(x) + · · · + anφn(x), (4.2)

gerada por uma certa famılia de funcoes φknk=0, por forma a que

f(xi) = g(xi), i = 0, 1, . . . , n. (4.3)

A funcao g nestas condicoes e designada por funcao interpoladora de f nos pontos de suporte (oupontos de interpolacao) x0, x1, . . . , xn. A condicao (4.3) e designada condicao de interpolacao.

Page 70: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 70

Nada nos garante que o problema da interpolacao tenha sempre solucao. Por exemplo,fazendo φ0(x) = 1 e φ1(x) = x2, nao existe nenhuma funcao g(x) = a0 + a1x

2 que passe nospontos (1, 1) e (−1, 0).

O problema da interpolacao tem uma grande importancia pratica, sobretudo no trata-mento de funcoes para as quais se conhece apenas um conjunto finito de valores. Tal situacaoe muito frequente, por exemplo, no contexto das equacoes diferenciais. Quando se usammetodos numericos para aproximar a solucao de uma equacao diferencial esta fica apenasconhecida num conjunto de pontos. A interpolacao permite assim encontrar uma funcao quepassa por esse conjunto de pontos e que pode funcionar como uma aproximacao a solucao daequacao diferencial.

Outra utilidade pratica da interpolacao consiste na aproximacao de uma funcao comuma expressao analıtica complicada por uma outra funcao mais simples que coincida com aprimeira num determinado conjunto de pontos. Assim, quando pretendermos operar com aprimeira funcao podemos faze-lo, de uma forma aproximada, recorrendo a funcao interpo-ladora.

Exemplo 4.1 Dada a tabela

xi 2.2 2.3 2.4 2.5 2.6

log xi 0.34242 0.36173 0.38021 0.39794 0.41497,

calcular o valor de log 2.45.

4.3 Interpolacao polinomial de Lagrange

Vamos considerar o problema de determinar um polinomio P ∈ Pn(IR) (espaco vectorial dospolinomios de grau menor ou igual a n com coeficientes reais) que interpole a funcao f nospontos da particao ∆. Neste caso, as funcoes geradoras φkn

k=0 terao de constituir uma basede Pn(IR), espaco de dimensao n + 1. Um exemplo e dado pela base canonica

φk(x) = xk, k = 0, 1, . . . , n. (4.4)

Iremos escrever Pn(IR) = Pn([a, b]) para evidenciar o facto de estarmos a trabalhar nointervalo [a, b].

Comecemos por considerar o seguinte teorema de existencia e unicidade de solucao parao problema de interpolacao.

Teorema 4.2 (Lagrange) Seja f uma funcao definida nos pontos da particao (4.1) do in-tervalo [a, b] ⊆ IR. Existe um e um so polinomio Pn de grau menor ou igual a n interpoladorde f nos pontos dados.

Demonstracao: Considerando em Pn([a, b]) a base canonica (4.4) temos que Pn ∈ Pn([a, b])pode ser escrito na forma

Pn(x) =

n∑

j=0

cjxn.

Para que este polinomio verifique as condicoes de interpolacao

f(xi) = Pn(xi), i = 0, . . . , n,

Page 71: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 71

os seus coeficientes serao determinados pela resolucao do sistema linear

1 x0 x20 . . . xn

0

1 x1 x21 . . . xn

1

1 x2 x22 . . . xn

2...

......

. . ....

1 xn x2n . . . xn

n

c0

c1

c2...

cn

=

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

...f(xn)

.

Como xi 6= xj para i 6= j, temos que a matriz deste sistema e uma matriz de Vandermondeinvertıvel (Exercıcio 4.3.2). Temos que este sistema e possıvel e determinado e, como tal,podemos dizer que existe um e um so polinomio Pn de grau menor ou igual a n que interpolaf nos pontos da particao dada.

Exercıcio 4.3.1 Dada a tabela do exercıcio anterior, determine o valor aproximado de log 2.45,usando interpolacao polinomial.

Resolucao: Vamos calcular o polinomio P3 de grau menor ou igual a 3, interpolador de y = log xnos pontos 2.3, 2.4, 2.5 e 2.6. De acordo com a definicao temos P3(2.3) = 0.36173,P3(2.4) = 0.38021, P3(2.5) = 0.39794, e P3(2.6) = 0.41497. Isto e, se P3(x) = a0 +a1x+a2x

2 + a3x3, temos que

a0 + 2.3a1 + 5.29a2 + 12.167a3 = 0.36173a0 + 2.4a1 + 5.76a2 + 13.824a3 = 0.38021a0 + 2.5a1 + 6.25a2 + 15.625a3 = 0.39794a0 + 2.6a1 + 6.76a2 + 17.576a3 = 0.41497

.

Sendo o sistema possıvel e determinado tal polinomio existe e e unico. Assim

P3(x) = −0.33540 + 0.50502x − 0.09750x2 + 0.00833x3

e o polinomio pretendido. Temos entao que log 2.45 ≈ P3(2.45) = 0.38916. Compare-seeste valor com o valor exacto log 2.45 = 0.38916608 . . .. Note-se que o erro cometido naaproximacao nao excede 0.7 × 10−5.

Exercıcio 4.3.2 Sejam x0, x1, . . . , xn, n + 1 pontos distintos de IR. Mostre que a matriz deVandermonde que lhe esta associada V (x0, . . . , xn) verifica

det V (x0, . . . , xn) =∏

06j<k6n

(xj − xk).

A determinacao do polinomio interpolador por este processo e pouco eficiente e poucoestavel. Quanto a eficiencia, note-se que a resolucao do sistema linear requer (n + 1)3/3 +(n + 1)2 − (n + 1)/3 multiplicacoes/adicoes (O(n3) operacoes). Quanto a estabilidade, epossıvel provar que a matriz de Vandermonde do sistema e muito mal condicionada: prova-seque o numero de condicao da matriz e tanto maior quanto maior for a sua ordem (dada pelograu do polinomio). Na pratica verifica-se que este metodo nao permite ir alem de valores den da ordem da dezena quando se trabalha em aritmetica com 6 ou 7 decimais.

Page 72: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 72

4.3.1 Formula de Lagrange

Uma forma mais eficiente de determinar o polinomio interpolador de Lagrange de uma funcaof nos pontos da particao (4.1) e obtida a custa da chamada formula de Lagrange. Para adefinir consideremos o conjunto ℓin

i=0 dos polinomios de Lagrange de grau inferior ou iguala n dados por

ℓi(x) =n∏

j=0

j 6=i

x − xj

xi − xj. (4.5)

Exercıcio 4.3.3 Prove que ℓini=0 constitui uma base de Pn([a, b]).

Uma vez que ℓini=0 constitui uma base de Pn([a, b]), dado um polinomio Pn ∈ Pn([a, b]),

esse polinomio pode ser escrito na forma

Pn(x) =n∑

i=0

ciℓi(x).

Mas, como ℓi(xj) = δi,j , onde δi,j representa o sımbolo de Kronecker2

δi,j =

1 i = j0 i 6= j

,

tem-se que ci = Pn(xi), i = 0, . . . , n. Se impusermos as condicoes de interpolacao (4.3), oscoeficientes ci terao que coincidir com os valores nodais f(xi), i = 0, . . . , n. Assim sendo, opolinomio interpolador de f nos pontos da particao dada pode ser escrito na forma

Pn(x) =n∑

i=0

f(xi)ℓi(x). (4.6)

As expressoes (4.6) e (4.5) definem a formula de Lagrange para calcular o polinomio in-terpolador de f nos pontos x0, x1, . . . , xn. O polinomio interpolador calculado e muitas vezeschamado polinomio interpolador de Lagrange de f nos pontos da particao (4.1).

Notemos que a formula de Lagrange pode ser escrita na forma

Pn(x) =n∑

i=0

f(xi)w(x)

(x − xi)w′(xi), (4.7)

sendo

w(x) =

n∏

j=0

(x − xj). (4.8)

De facto, atendendo a (4.8) temos que

w′(x) =n∑

i=0

n∏

j=0

j 6=i

(x − xj) ⇒ w′(xi) =n∏

j=0

j 6=i

(xi − xj),

2Leopold Kronecker (1823-1891), eminente matematico do seculo XIX, ficou celebre, entre outras coisas,por ter afirmado: “Deus criou os numeros inteiros; o resto e obra do Homem.”

Page 73: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 73

e como tal

ℓi(x) =w(x)

(x − xi)w′(xi),

o que prova o pretendido.Na pratica, nunca se deve reduzir o polinomio interpolador de Lagrange a sua forma

canonica uma vez que esta reducao pode implicar perdas de precisao.

Exercıcio 4.3.4 Dada a tabela

xi 1 2 3 4

f(xi) 4 15 40 85,

determine uma aproximacao para f(1.5), usando interpolacao cubica.

Resolucao: Temos que

l0(x) =(x − 2)(x − 3)(x − 4)

(−1)(−2)(−3)= −1

6(x − 2)(x − 3)(x − 4)

l1(x) =(x − 1)(x − 3)(x − 4)

(1)(−2)(−3)=

1

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

l2(x) =(x − 1)(x − 2)(x − 4)

(2)(1)(−3)= −1

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

l3(x) =(x − 1)(x − 2)(x − 3)

(3)(3)(1)=

1

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

Assim

P3(x) =

3∑

i=0

f(xi)li(x) = · · · = 1 + x + x2 + x3.

Atendendo a formula de Lagrange podemos construir o seguinte algoritmo para calcular ovalor de Pn(x), sendo Pn o polinomio interpolador de f nos n+1 pontos distintos x0, x1, . . . , xn.

Algoritmo 4.1 Formula de Lagrange

Dados: n, x e xi, i = 0, 1, . . . , n

p := 0

Para i de 0 ate n fazer

p := 1

Para j de 0 ate n fazer

Se j 6= i entao p := p(x − xj)/(xi − xj)

p := p + f(xi)p

Resultado: p

Page 74: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 74

Para determinar o esforco computacional necessario a obtencao do polinomio interpoladorpela formula de Lagrange, note-se que, supondo as constantes

Fi =f(xi)

w′(xi), i = 0, . . . , n,

calculadas a priori, o calculo do valor do polinomio interpolador num determinado pontopode ser dado por

Pn(x) = w(x)

[F0

x − x0+ · · · + Fn

x − xn

].

Este calculo requer n(n + 1) multiplicacoes e n(n + 2) adicoes, isto e, O(n2) operacoes, o quetorna a formula de Lagrange muito mais eficiente que o processo matricial.

A formula de Lagrange possui, no entanto, o inconveniente de obrigar a refazer os calculosdos polinomios (4.5) sempre que ocorra uma alteracao nos pontos de suporte. Na praticaesta situacao acontece com frequencia, por exemplo, quando pretendemos passar de Pn aPn+1, pela adicao de mais um ponto xn+1 ao suporte de interpolacao, a fim de estudar ocomportamento do erro.

Exercıcio 4.3.5 Melhore o algoritmo anterior.

4.3.2 Formula de Newton

Consideremos as seguintes funcoes

φ0(x) = 1, φi =

i−1∏

j=0

(x − xi), i = 1, . . . , n.

Atendendo a que o conjunto φini=0 constitui uma base Pn([a, b]) (prove), existem constantes

ci, i = 0, . . . , n, tais que o polinomio interpolador de Lagrange e dado por

Pn(x) =n∑

i=0

ciφi(x). (4.9)

Para determinar c0 note-se que, se Pn(x) poder ser escrito na forma (4.9), temos que

c0 = Pn(x0) = f(x0).

De forma similar temos que c1 pode ser determinado calculando Pn no ponto x1. Assim

f(x0) + c1(x − x1) = Pn(x1) = f(x1) ⇒ c1 =f(x1) − f(x0)

x1 − x0.

Denotando por f [x0, x1] a diferenca dividida de primeira ordem f(x1)−f(x0)x1−x0

e prosseguindode forma identica deduzimos que

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

(x2 − x0)(x2 − x1)

que denotamos por f [x0, x1, x2]. Podemos deste modo obter um processo recursivo para adeterminacao dos coeficientes do polinomio se atendermos a seguinte definicao.

Page 75: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 75

Definicao 4.3 (Diferencas divididas) Seja f uma funcao definida nos pontos da particao(4.1) do intervalo [a, b] ⊆ IR. A

f [xi, xi+1] =f(xi+1) − f(xi)

xi+1 − xi

chama-se diferenca dividida de primeira ordem de f relativamente aos argumentos xi e xi+1. Asdiferencas divididas de ordem superior definem-se recursivamente. Assim, define-se diferencadividida de ordem k relativamente aos argumentos xi, xi+1, . . . xi+k, com i + k < n, por

f [xi, xi+1, . . . , xi+k] =f [xi+1, xi+2, . . . , xi+k] − f [xi, xi+1, . . . , xi+k−1]

xi+k − xi.

Usando a definicao anterior pode demonstrar-se que

ci = f [x0, . . . , xi], i = 1, . . . , n.

Substituindo este valor na expressao (4.9) 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 − xn−1)

= f(x0) +

n∑

i=1

f [x0, x1, . . . , xi]

i−1∏

j=0

(x − xj),

(4.10)

conhecida por formula interpoladora de Newton das diferencas divididas. Abusivamente e usualdesignar por polinomio interpolador de Newton o polinomio calculado por (4.10).

As diferencas divididas sao usualmente dadas pela conhecida tabela das diferencas divididas(onde fi,j = f [xi, xj ]).

xi f(xi) fi,i+1 fi,i+2 fi,i+3 · · ·x0 f0

f0,1

x1 f1 f0,2

f1,2 f0,3

x2 f2 f1,3 · · ·f2,3 · · ·

x3 f3 · · · · · ·· · · fn−3,n

· · · · · · fn−2,n

fn−1,n

xn fn

Essa tabela pode ser obtida pelo seguinte algoritmo.

Algoritmo 4.2 Diferencas divididas

Dados: n, xi, i = 0, 1, . . . , n

Page 76: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 76

f0 := f(x0)

Para i de 1 ate n fazer

fi := f(xi)

Para j de i − 1 ate n fazer

fj,i := (fj+1,i − fj,i−1)/(xi − xj)

Resultado: fj,i, i = 1, . . . , n, j = i − 1, . . . , n.

Notemos que os coeficientes da formula de Newton estao ao longo da diagonal da tabeladas diferencas divididas.

Um resultado importante respeitante as diferencas divididas e o seguinte.

Teorema 4.4 As diferencas divididas sao invariantes para qualquer permutacao dos ındicesde suporte.

Demonstracao: Com efeito, tem-se que

f [xi, xi+1] =f(xi+1) − f(xi)

xi+1 − xi=

f(xi) − f(xi+1)

xi − xi+1= f [xi+1, x1].

Por inducao conclui-se facilmente (exercıcio) que o mesmo acontece para as diferencas divi-didas de qualquer ordem.

A demonstracao do teorema anterior poderia ter sido feita atendendo ao seguinte exercıcioque se demonstra por inducao.

Exercıcio 4.3.6 Seja Pn o polinomio interpolador de f ∈ Cn+1([a, b]) de grau inferior ou iguala n nos pontos da particao (4.1) do intervalo [a, b] e w o polinomio nodal dado em (4.8). Mostreque se verifica a igualdade

f [x0, x1, . . . , xn] =n∑

i=0

f(xi)

w′(xi).

O valor do polinomio interpolador num determinado ponto do seu domınio pode ser dadopelo seguinte algoritmo.

Algoritmo 4.3 Formula de Newton das diferencas divididas

Dados: n, x e xi, i = 0, 1, . . . , n;

f0,0 := f(x0)

Para i de 1 ate n fazer

fi,i := f(xi)

Para j de i − 1 ate n fazer

fj,i := (fj+1,i − fj,i−1)/(xi − xj)

p := f0,n

Para i de n − 1 ate 0 fazer

Page 77: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 77

p := f0,i + (x − x)p

Resultado: p

Uma grande vantagem do algoritmo de Newton consiste em, uma vez determinado Pn,para determinar Pn+1 basta fazer

Pn+1(x) = Pn(x) + f [x0, x1, . . . , xn+1]n∏

j=0

(x − xj).

A formula (4.10) pode ser calculada de forma mais eficiente se for calculada pelo metodode Horner. De facto, o calculo do polinomio interpolador usando o formula interpoladora deNewton das diferencas divididas na forma encaixada, supondo calculados os coeficientes f(x0),f [x0, x1], . . ., f [x0, x1, . . . , xn], requer apenas 2n adicoes/subtraccoes e n multiplicacoes/divi-soes.

Exercıcio 4.3.7 Escreva a formula interpoladora de Newton das diferencas divididas usando ometodo de Horner.

Exercıcio 4.3.8 Dada a tabela

xi 1 −1 −2

f(xi) 0 −3 −4,

determine uma aproximacao para f(0), usando interpolacao quadratica.

Resolucao: Temos

xi f(xi) fi,i+1 fi,i+2

1 03/2

−1 −3 1/61

−2 −4

.

Assim

P2(x) = 0 +3

2(x − 1) +

1

6(x2 − 1) = (x − 1)

(3

2+

1

6(x + 1)

).

Temos entao que f(0) ≈ P2(0) = −53 .

Apresentamos tres processos distintos para a construcao do polinomio interpolador deLagrange de grau n quando sao conhecidos n + 1 valores de uma dada funcao. Dos processosapresentados aquele que se mostra menos eficiente e o metodo matricial pois nao tem umaforma explıcita de determinar os coeficientes do polinomio interpolador. Mais ainda, a deter-minacao destes coeficientes e feita recorrendo a resolucao de um sistema de equacoes linearesem que a matriz deste sistema pode ser mal condicionada.

Vamos agora particularizar o problema ao caso em que os nodos de interpolacao estaoigualmente distanciados.

Page 78: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 78

4.3.3 Interpolacao em pontos igualmente distanciados

Quando os pontos x0, x1, . . . , xn estao igualmente distanciados, isto e, quando xi − xi−1 = h,para i = 1, . . . , n, a formula (4.10) pode ser dada em termos dos chamados operadores dediferencas finitas. Dentro da classe desses operadores vamos apenas considerar o operadordiferenca progressiva.

Definicao 4.5 Seja f uma funcao definida em [a, b] ⊆ IR. O operador diferenca progressivadefine-se por recursao da seguinte forma: a

∆f(x) = f(x + h) − f(x)

chama-se diferenca progressiva de primeira ordem de f ; a diferenca progressiva de ordem k edefinida por

∆kf(x) = ∆k−1(∆f(x)).

Exercıcio 4.3.9 Prove (por inducao) que se f for uma funcao real definida em [a, b] ⊆ IR ex0, x1, . . . , xn sao pontos de [a, b] igualmente distanciados, com xi−1 − xi = h, i = 1, . . . , n,entao

f [x0, . . . , xk] =∆kf(x0)

k!hk, (4.11)

para todo o k ∈ 1, . . . , n.

Substituindo (4.11) em (4.10) temos que

Pn(x) = f(x0) +∆f(x0)

h(x − x0) +

∆2f(x0)

2h2(x − x0)(x − x1)

+ · · · + ∆nf(x0)

n!hn(x − x0)(x − x1) · · · (x − xn−1)

= f(x0) +

n∑

i=1

∆if(x0)

i!hi

i−1∏

j=0

(x − xj).

(4.12)

Esta formula e conhecida por formula interpoladora de Newton das diferencas progressivas.As diferencas progressivas podem ser dadas pela seguinte tabela, conhecida por tabela das

diferencas progressivas.

xi f(xi) ∆f(xi) ∆2f(xi) ∆3f(xi) · · ·x0 f0

∆f(x0)x1 f1 ∆2f(x0)

∆f(x1) ∆3f(x0)x2 f2 ∆2f(x1) · · ·

∆f(x3) · · ·x3 f3 · · · · · ·

· · · ∆3f(xn−3)· · · · · · ∆2f(xn−2)

∆f(xn−1)xn fn

Page 79: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 79

Exercıcio 4.3.10 Construa um algoritmo para determinar o valor do polinomio interpoladornum determinado ponto do seu domınio usando a formula interpoladora de Newton das diferencasprogressivas.

Exercıcio 4.3.11 Mostre

∆ arctan x = arctanh

1 + xh + x2.

Resolucao: Vamos provar que

tan (∆ arctan x) =h

1 + xh + x2.

Como

tan (∆ arctan x) = tan (arctan (x + h) − arctan x) =h

1 + xh + x2.

4.3.4 Erro de interpolacao

Por definicao, o polinomio interpolador coincide com a funcao num dado conjunto de pontosde suporte. Interessa-nos saber, no entanto, se para os outros pontos do domınio da funcao,o polinomio interpolador constitui uma boa ou uma ma aproximacao para a funcao. Nessesentido temos o seguinte teorema.

Teorema 4.6 Seja Pn o polinomio de grau menor ou igual a n interpolador da funcao f nospontos da particao (4.1) do intervalo [a, b]. Se f ∈ Cn+1([a, b]) entao, para cada x ∈ [a, b],existe ξ = ξ(x) ∈]a, b[ tal que

en(x) := f(x) − Pn(x) =f (n+1)(ξ)

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

onde w e a funcao nodal dada em (4.8).

Demonstracao: Se x = xi, para algum i o resultado e, obviamente, valido. Se x 6= xi,i = 0, 1, . . . , n, defina-se a funcao auxiliar

F (t) = f(t) − Pn(t) − w(t)

w(x)(f(x) − Pn(x)).

Ora, como F (t) = 0 possui n + 2 raızes distintas em [a, b], uma vez que F (xi) = 0, i =0, 1, . . . , n, e F (x) = 0, por aplicacao do Teorema de Rolle, conclui-se que F ′(t) = 0 possuipelo menos n + 1 raızes distintas em ]a, b[, F ′′(t) = 0 possui pelo menos n raızes distintas em]a, b[ e, sucessivamente, F (n+1)(t) = 0 possui pelo menos uma raiz em ]a, b[. Seja t = ξ essaraiz. Uma vez que

F (n+1)(t) = f (n+1)(t) − (n + 1)!

w(x)(f(x) − Pn(x)),

substituindo t por ξ, obtem-se (4.13).

Page 80: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 80

Note-se a semelhanca existente entre a formula do erro na interpolacao e na formula deTaylor. A diferenca esta que, enquanto a primeira usa informacao em varios pontos distintos,a segunda recorre apenas a um unico ponto.

Na pratica a expressao (4.13) nao e muito util uma vez que o valor do ponto intremedioξ nao e conhecido. Assim sendo, o erro de interpolacao aparece, usualmente, na forma

‖f − Pn‖∞ 6‖f (n+1)‖∞(n + 1)!

‖w‖∞. (4.14)

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

‖f − Pn‖∞ 6‖f (n+1)‖∞(n + 1)!

(b − a)n+1.

Podemos determinar qual o grau do polinomio interpolador de Lagrange que satisfazalguma restricao de proximidade. De facto, se considerarmos Mn+1 > 0 tal que ‖f (n+1)‖∞ <Mn+1 temos que, fixado ǫ > 0, poderemos determinar o valor de n tal que

Mn+1

(n + 1)!(b − a)n+1 < ǫ.

Determinado o valor de n, e considerando pontos igualmente distanciados em [a, b], cons-truımos o polinomio interpolador.

Notemos que, se o objectivo for determinar o erro apenas num ponto x ∈ [a, b], entao

|en(x)| 6‖f (n+1)‖∞(n + 1)!

|w(x)|. (4.15)

Exercıcio 4.3.12 Determine uma estimativa para o erro que se cometeu na aproximacao efec-tuada no Exercıcio 4.3.1.

Resolucao: Neste caso, atendendo a 4.15, temos

|e3(x)| = | log x − P3(x)| 6M4

4!|(x − 2.3)(x − 2.4)(x − 2.5)(x − 2.6)|,

onde

M4 = maxx∈[2.3,2.6]

∣∣∣f (4)(x)∣∣∣ = max

x∈[2.3,2.6]

6

x4 ln 10= 0.093116.

Fazendo x = 2.45 vem

| log 2.45 − P3(2.45)| 60.093116

24|(2.45 − 2.3)(2.45 − 2.4)(2.45 − 2.5)(2.45 − 2.6)|,

ou seja |e3(2.45)| 6 0.917 × 10−5.

Exercıcio 4.3.13 Considere a funcao f(x) = cos x para x em [0, π]. Determine o numero depontos a considerar no intervalo dado para que o erro maximo da aproximacao de f(x) por umpolinomio interpolador nesses pontos seja inferior a 0.5.

Page 81: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 81

Resolucao: Temos que, para x ∈ [0, π],

|f(x) − Pn(x)| 6‖f (n+1)‖∞(n + 1)!

‖w‖∞ =‖w‖∞

(n + 1)!6

πn+1

(n + 1)!.

Resta assim determinar qual o menor valor de n que satisfaz

πn+1

(n + 1)!6 0.5.

Por tentativas...

n = 6 ⇒ π7

7!= 0.59

n = 7 ⇒ π8

8!= 0.23.

Logo o menor numero de pontos que garantem a aproximacao pretendida sao 8.

No resultado seguinte e estabelecida uma estimativa mais precisa para o erro cometido aoaproximar uma funcao pelo seu polinomio interpolador.

Teorema 4.7 Seja f uma funcao definida no intervalo [a, b] onde se considera a particao(4.1). Seja Pn o polinomio interpolador de Lagrange para a funcao f e seja

h = maxi=1,...,n

|xi − xi−1|.

Entao

‖f − Pn‖∞ 6 ‖f (n+1)‖∞hn+1

4(n + 1). (4.16)

Demonstracao: Atendendo as observacoes anteriores, para concluir a estimativa apresen-tada provemos que

‖w‖∞ 6hn+1n!

4,

com w a funcao nodal (4.8). Vamos efectuar a demonstracao por inducao.Para n = 1 temos que w(x) = (x − x0)(x − x1). Assim,

w′(x) = 0 ⇒ x =x0 + x1

2.

Como tal,

‖w‖∞ = max

|w(a)|,

∣∣∣∣w(

x0 + x1

2

)∣∣∣∣ , |w(b)|

=

∣∣∣∣w(

x0 + x1

2

)∣∣∣∣ 6h2

4.

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

maxx∈[a,b]

n+1∏

j=0

|x − xj| 6hn+2(n + 1)!

4,

Page 82: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 82

com a = x0 e xn+1 = b. Dado x ∈ [a, b] temos que x ∈ [a, xn] ou x ∈ [xn, b]. Consideremos,sem perda de generalidade, a primeira hipotese. Entao

maxx∈[a,b]

n+1∏

j=0

|x − xj | = maxx∈[a,b]

n∏

j=0

|x − xj||x − b| 6hn+1n!

4(n + 1)h =

hn+2(n + 1)!

4,

o que prova o pretendido.

Na determinacao de uma estimativa para o erro cometido ao aproximar uma funcao peloseu polinomio interpolador de Lagrange e usada a derivada da funcao que estamos a aproxi-mar. Em geral esta funcao e apenas conhecida pontualmente. Vejamos seguidamente comopodemos aproximar as derivadas que figuram na estimativa do erro utilizando apenas o valorda funcao nos pontos da particao do intervalo.

Teorema 4.8 Seja f uma funcao admitindo derivadas ate a ordem n+1 contınuas em [a, b].Neste intervalo consideremos a particao (4.1) e seja Pn o polinomio interpolador de Lagrangepara a funcao f na particao dada. Entao para x ∈ [a, b] existe ξ = ξ(x) ∈]a, b[ tal que

f [x0, x1, . . . , xn]n! = f (n)(ξ).

Demonstracao: Consideremos o polinomio interpolador de Lagrange (4.10). Temos que,para x ∈ [a, b], o erro de interpolacao e dado por

e(x) = f(x) − Pn(x) = f(x) −

f(x0) +

n∑

i=1

f [x0, . . . , xi]

i−1∏

j=0

(x − xj)

.

A funcao erro tem n + 1 zeros em [a, b], e portanto, pelo Teorema de Rolle, a funcao derivadade ordem n tem pelo menos um zero. Logo existe ξ = ξ(x) ∈]a, b[ tal que e(n)(ξ) = 0, isto e,

f (n)(ξ) − f [x0, . . . , xn]n! = 0,

o que prova o pretendido.

Pelo teorema anterior, para estimar a derivada de ordem n + 1 que figura em (4.13),podemos utilizar diferenca dividida de ordem n + 2. De facto, se x ∈ [a, b], existe ξ = ξ(x) ∈[a, b] tal que

f [x0, . . . , xi, x, xi+1, . . . , xn](n + 1)! = f (n+1)(ξ)

e portantof(x) − Pn(x) ≃ f [x0, . . . , xi, x, xi+1, . . . , xn]w(x).

No caso dos pontos de interpolacao serem igualmente distanciados, atendendo ao teoremaanterior e a (4.11) temos que

∆nf(x0)

hn= f (n)(ξ), (4.17)

com ξ ∈ (a, b).

Vamos agora analisar brevemente o problema da convergencia do processo de interpolacao.Para isso, consideremos uma funcao f definida num intervalo [a, b] onde esta definida uma

Page 83: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 83

particao uniforme (com n + 1 pontos) e seja Pn o seu polinomio interpolador de Lagrange.Provamos que

‖f − Pn‖∞ 6 ‖f (n+1)‖∞hn+1

4(n + 1),

em que h = b−an . Se existir uma constante positiva M tal que

‖f (n+1)‖∞ 6 M, ∀n ∈ IN,

entao

‖f − Pn‖∞ 6 M(b − a)n+1

4(n + 1)nn+1.

Atendendo a que

limn→+∞

(b − a)n+1

4(n + 1)nn+1= 0,

concluımos que‖f − Pn‖∞ → 0, n → +∞.

Neste caso, o processo de interpolacao e convergente, isto e, o aumento do grau do polinomioimplica um aumento de precisao. Existem, no entanto, funcoes para as quais nao podemosconcluir que um aumento do grau do provoque um aumento da proximidade do polinomiointerpolador com a funcao interpolada. Isso acontece quando nao e possıvel encontrar ummajorante para as derivadas da funcao. Um exemplo que ilustra esta situacao foi consideradopor Carle David Tolm Runge (1856-1927) em 1901 e e o apresentado no Exercıcio 6.9. Esseexercıcio ilustra que, para a interpolacao polinomial, podemos ter, em simultaneo, situacoesde convergencia e de divergencia.

Exercıcio 4.3.14 Considere a funcao (de Runge) f(x) = 1/(1 + 25x2), x ∈ [−1, 1].

1. Verifique graficamente que‖f − P3‖∞ 6 ‖f − P8‖∞,

em que P3 e P8 sao, respectivamente, os polinomios de Lagrange de grau 3 e 8 interpoladoresde f em particoes uniformes de [−1, 1].

2. Verifique numericamente que, quando se considera a funcao de Runge, os polinomios inter-poladores Pn divergem em 0.726 6 |x| 6 1.

Exercıcio 4.3.15 Pretende-se construir uma tabela para a funcao f(x) = ex, com x ∈ [0, 1].Considere o valor de e com 5 casas decimais correctas e uma particao com pontos igualmentedistanciados. Determine o diametro da particao a considerar de modo que o polinomio interpoladorde Lagrange permita obter uma aproximacao para f com um erro inferior a 10−6.

Exercıcio 4.3.16 Considere a funcao f(x) = ln(x + 1), x ∈ [1, 3]. Determine o polinomiointerpolador de Lagrange que aproxima f em [1, 3] com um erro inferior a 10−2.

Page 84: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 84

4.3.5 Zeros dos polinomios de Chebyshev

Uma questao interessante consiste em saber como diminuir os erro de interpolacao sem au-mentar o numero de pontos de suporte. A formula (4.14) mostra que o erro de interpolacaodepende tanto de ‖f (n+1)‖∞ como de ‖w‖∞ (que depende da escolha dos pontos de inter-polacao). A questao interessante esta em saber, para um dado n, qual a escolha dos pontos deinterpolacao que minimiza ‖w‖∞. A resposta pode ser dada a custa dos chamados polinomiosde Chebyshev.

Para n = 0, 1, 2, . . . e x ∈ [−1, 1] os polinomios de Chebyshev da grau n sao definidos pelarelacao

Tn(x) = cos (n arccos x).

Uma forma simples de provar que Tn e, de facto, um polinomio, e atendendo a formula derecorrencia (ver Exercıcio 4.3.17)

Tn+1(x) = 2xTn(x) − Tn−1(x), n = 1, 2, . . . .

Observacao 4.9 Da definicao de polinomio de Chebyshev resulta imediatamente que|Tn(x)| 6 1, n = 0, 1, 2, . . .. Assim sendo, como Tn(1) = 1, temos que, em [−1, 1], ‖Tn‖∞ = 1.Alem disso, atendendo ao Exercıcio 4.3.18, os zeros dos polinomios de Chebyshev estao todosno intervalo [−1, 1].

E facil provar que o coeficiente do termo de maior grau de Tn e an = 2n−1. Assim sendo,o polinomio Tn := 21−nTn e monico, isto e, o seu coeficiente do termo de maior grau e igual aunidade. Designemos por Pn([a, b]) a classe dos polinomios monicos de grau menor ou iguala n em [a, b].

Teorema 4.10 O polinomio Tn e de todos os polinomios de Pn([−1, 1]) o que tem menornorma, isto e,

‖Tn‖∞ 6 ‖P‖∞, ∀P ∈ Pn([−1, 1]).

Demonstracao: Sabemos que ‖Tn‖∞ = 21−n. Suponhamos que existe P ∈ Pn([−1, 1]) talque ‖P‖∞ < 21−n e seja Q = Tn − P . Entao o grau de Q e menor ou igual a n− 1. Por outrolado, para os valores de x′

k dados no Exercıcio 4.3.18,

Q(x′k) = Tn(x′

k) − P (x′k) = (−1)k21−n − P (x′

k).

Assim sendo, o polinomio Q tem n zeros pois tem sinais alternados em n intervalos e e umafuncao contınua. Logo Q e o polinomio nulo, o que prova o resultado.

Observacao 4.11 Se considerarmos o intervalo [a, b] em vez do intervalo [−1, 1] ha queefectuar a mudanca de variavel

t =a + b

2+

b − a

2x.

Este resultado permite-nos afirmar, atendendo a que w dado por (4.8) e um polinomiomonico, que ‖w‖∞ e mınimo quando se consideram os pontos de suporte

xi =a + b

2+

b − a

2cos

(2i + 1)π

2n + 2, i = 0, . . . , n.

Page 85: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 85

Neste caso o erro e dado por

‖f − Pn‖∞ 6(b − a)n

2n+1(n + 1)!‖f (n+1)‖∞.

O fenomeno de interpolacao tambem e muito sensıvel a erros dos dados yi = f(xi),i = 0, . . . , n, e a escolha criteriosa dos pontos de suporte pode, tambem neste aspecto, serimportante. Suponhamos que o calculo do polinomio interpolador e efectuado com os valores

yi = yi(1 + ǫi), |ǫi| < ǫ.

Assim, os polinomios que passam por (xi, yi) e (xi, yi) sao dados, respectivamente, por

Pn(x) =n∑

i=0

yiℓi(x)

e por

Pn(x) =

n∑

i=0

yiℓi(x).

Como tal,

|Pn(x) − Pn(x)| 6 ǫ maxi=0,...,n

|yi|n∑

i=0

|ℓi(x)|.

Temos entao que a funcaon∑

i=0

|ℓi(x)|

descreve o factor de amplificacao dos erros dos dados. O seu valor maximo

Λn = maxx∈[a,b]

n∑

i=0

|ℓi(x)|

e chamado constante de Lebesgue associada aos pontos de interpolacao dados e ao intervalo[a, b]. Esta constante pode ser calculada numericamente.

Exercıcio 4.3.17 Obtenha a formula de recorreencia

Tn+1(x) = 2xTn(x) − Tn−1(x), n = 1, 2, . . . ,

e conclua que Tn e, de facto, um polinomio.

Exercıcio 4.3.18 Mostre que o polinomio de Chebyshev Tn tem os seus zeros localizados nospontos

xk = cos(2k − 1)π

2n, k = 1, . . . , n,

e os extremos localizados em

x′k = cos

n, k = 0, . . . , n,

nos quais Tn(x′k) = (−1)k.

Page 86: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 86

Exercıcio 4.3.19 Mostre numericamente que, quando se consideram pontos igualmente distan-ciados no intervalo [a, b], se tem

Λ20 ≃ 3 × 104, Λ40 ≃ 1010

e quando se consideram os pontos de Chebyshev

Λn 6 3, (n 6 30), Λn 6 4, (n 6 100).

4.4 Interpolacao de Hermite

O objectivo da interpolacao de Hermite e o de representar uma funcao f por um polinomio queseja interpolador de f em alguns pontos do seu domınio e que a sua derivada seja interpoladorda derivada de f nesses mesmos pontos. Isto e, supondo que f e diferenciavel, vamos procurarum polinomio H tal que

f(xi) = H(xi)f ′(xi) = H ′(xi)

, i = 0, 1, . . . , n. (4.18)

Quando tal situacao acontece dizemos que f e H sao funcoes que 2-osculam (osculam 2 vezes)os pontos xi, i = 0, 1, . . . , n, ou que H e um polinomio 2-osculador de f nos pontos xi,i = 0, 1, . . . , n.

4.4.1 Existencia e unicidade

O proximo teorema estabelece a existencia e unicidade do polinomio de grau inferior ou igual a2n+1 que verifica (4.18). Alem disso, indica-nos um processo que permite a sua determinacao.

Teorema 4.12 Seja f ∈ C2n+2([a, b]) e x0, x1, . . . , xn pontos distintos em [a, b]. Existe ume um so polinomio H2n+1 de grau menor ou igual a 2n + 1 que verifica (4.18).

Demonstracao: Atendendo as condicoes impostas, o polinomio tera que ser de grau inferiorou igual a 2n + 1. Para provar a sua existencia vamos considerar as funcoes

hi(x) = [1 − 2ℓ′i(xi)(x − xi)]ℓi(x)2 e hi(x) = (x − xi)ℓi(x)2, i = 0, . . . , n,

com ℓi, i = 0, . . . , n, os polinomios de Lagrange (4.6). Como se pode verificar facilmente

hi(xj) = δi,j , h′i(xj) = 0, i, j = 0, . . . , n,

ehi(xj) = 0, h

′i(xj) = δi,j , i, j = 0, . . . , n.

Assim, o polinomio

H2n+1(x) =n∑

i=0

[f(xi)hi(x) + f ′(xi)hi(x)]

tem grau inferior ou igual a 2n + 1 e verifica (4.18).

Page 87: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 87

Falta apenas provar a unicidade. Seja Q2n+1 outro polinomio de grau inferior ou igual a2n + 1 que verifica (4.18) e

R2n+1(x) = H2n+1(x) − Q2n+1(x).

Como R2n+1(xi) = R′2n+1(xi) = 0, para i = 0, . . . , n, temos que este polinomio de grau

inferior ou igual a 2n + 1 tem 2n + 2 zeros o que implica que tera que ser o polinomio nulo.Assim sendo, provamos a unicidade pretendida.

O unico polinomio de grau menor ou igual a 2n + 1 que verifica as condicoes (4.18) etambem chamado polinomio interpolador de Hermite de f nos pontos x0, x1, . . . , xn.

Observacao 4.13 Note-se que, tal como na interpolacao de Lagrange, se m for o numero decondicoes impostas para a determinacao do polinomio interpolador, o seu grau e m − 1.

A obtencao do polinomio interpolador de Hermite pode ser feita de varias maneiras. Vamosapresenta-la neste curso numa forma que generaliza o polinomio interpolador de Newton dasdiferencas divididas.

Consideremos a mudanca de variavel z0 = x0, z1 = x0, z2 = x1, z3 = x1, . . ., z2n = xn,z2n+1 = xn. Uma vez que

z2i = z2i+1 = xi, i = 0, . . . , n,

nao podemos definir as diferencas divididas

f [z2i, z2i+1] = f [xi, xi].

No entanto, atendendo a que

limx→xi

f [x, xi] = limx→xi

f(x) − f(xi)

x − xi= f ′(xi),

podemos definir as diferencas divididas generalizadas para pontos nao distintos na forma

f [xi, xi] := f ′(xi).

Pelo Teorema do Valor Medio de Lagrange generalizado podemos ainda definir

f [xi, xi, . . . , xi︸ ︷︷ ︸r+1 vezes

] =f (r)(xi)

r!. (4.19)

Com esta notacao pode verificar-se facilmente que o polinomio interpolador de Hermitede grau 2n + 1 nos pontos da particao (4.1) e dado por (verifique para n = 1)

H2n+1(x) = f(z0) +

2n+1∑

i=1

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

i−1∏

j=0

(x − zj)

= 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 − xn−1)2(x − xn).

Page 88: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 88

Exercıcio 4.4.1 Prove a afirmacao anterior para o caso em que se consideram apenas doispontos de interpolacao (n = 1).

O polinomio interpolador de Hermite pode assim ser determinado recorrendo a tabela dasdiferencas divididas generalizadas, tabela essa onde cada ponto aparece repetido duas vezes.

Exercıcio 4.4.2 Construa um algoritmo para determinar o valor do polinomio interpolador deHermite num determinado ponto do seu domınio.

Exercıcio 4.4.3 Determine o polinomio interpolador de Hermite de grau mınimo para a funcaof(x) = sin x em [0, π

2 ].

Resolucao: Temos

xi f(xi) f [·, ·] f [·, ·, ·] f [·, ·, ·, ·]0 0

10 0 4−2π

π2

2π −16+4π

π3

π2 1 − 4

π2

0π2 1

.

Logo

H3(x) = x +4 − 2π

π2x2 − 16 + 4π

π3x2(x − π

2) = x[1 + x[−0.231 − 0.921(x − π

2)]].

4.4.2 Erro de interpolacao

O estudo do erro na interpolacao de Hermite consiste na generalizacao do estudo efectuadopara a interpolacao de Lagrange de acordo com o seguinte teorema.

Teorema 4.14 Seja H2n+1 o polinomio, de grau menor ou igual a 2n + 1 interpolador deHermite da funcao f nos pontos distintos x0, x1, . . . , xn ∈ [a, b]. Se f ∈ C2n+2([a, b]) entaopara cada x ∈ [a, b] existe ξ = ξ(x) ∈]a, b[ tal que

e(x) = f(x) − H2n+1(x) =f (2n+2)(ξ)

(2n + 2)!w2(x), (4.20)

onde w e a funcao dada por (4.8).

Demonstracao: Se x = xi, para algum i o resultado esta provado. Se x 6= xi, i = 0, 1, . . . , n,definamos a funcao auxiliar

F (t) = f(t) − H2n+1(t) −w(t)2

w(x)2(f(x) − H2n+1(x)).

Page 89: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 89

Como F (t) = 0 possui 2n + 3 raızes (n + 1 zeros duplos xi, i = 0, . . . , n e uma raiz simplesx) temos, por aplicacao do Teorema de Rolle generalizado, que F (2n+2)(t) = 0 possui, pelomenos, uma raiz em ]a, b[. Seja ξ essa raiz. Uma vez que

F (2n+2)(t) = f (2n+2)(t) − (2n + 2)!

w(x)2(f(x) − H2n+1(x)),

substituindo t por ξ obtem-se o resultado pretendido.

Tal como no caso da interpolacao de Lagrange, pelo teorema anterior podemos determinarum majorante para o erro cometido ao substituir f pelo seu polinomio interpolador de Hermitede grau n, H2n+1. De facto, de (4.20) sai que:

‖f − H2n+1‖∞ 6‖f (2n+2)‖∞(2n + 2)!

‖w2‖∞.

Se o objectivo for determinar o erro apenas num ponto x ∈ [a, b], entao

|f(x) − H2n+1(x)| 6‖f (2n+2)‖∞(2n + 2)!

|w2(x)|.

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

‖f − H2n+1‖∞ 6‖f (2n+2)‖∞(2n + 2)!

(b − a)2n+2.

Podemos tambm concluir, uma vez que

‖w‖∞ 6hn+1n!

4,

com h = maxi=1,...,n

(xi − xi−1), que

‖f − H2n+1‖∞ 6 ‖f (2n+2)‖∞h2n+2(n!)2

16(2n + 2)!.

Observamos que dependendo do comportamento de ‖f (2n+2)‖∞ podemos, ou nao, concluirque o aumento do grau do polinomio interpolador de Hermite implica uma diminuicao do errocometido ao aproximar a funcao por este polinomio. Uma forma de minimizar o erro consistena utilizacao de polinomios interpoladores segmentados.

4.4.3 Polinomios osculadores

Para finalizar esta seccao vamos generalizar o raciocınio efectado na obtencao do polinomiointerpolador de Hermite para determinar polinomios que osculem os pontos de suporte maisdo que duas vezes.

Suponhamos que, dada uma funcao f suficientemente diferenciavel, queremos determinarum polinomio HN que verifique

f (j)(x0) = H(j)N (x0), j = 0, 1, . . . , r0

f (j)(x1) = H(j)N (x1), j = 0, 1, . . . , r1

· · ·f (j)(xn) = H

(j)N (xn), j = 0, 1, . . . , rn

. (4.21)

Page 90: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 90

Quando tal situacao acontece dizemos que f e HN sao funcoes que ri-osculam (osculam ri

vezes) o ponto xi, i = 0, 1 . . . , n. Pode demonstrar-se o seguinte teorema.

Teorema 4.15 Existe um unico polinomio HN , de grau menor ou igual a N , com

N = n +

n∑

j=0

rj ,

que satisfaz (4.21).

A determinacao do polinomio referido no teorema anterior pode ser feita de forma analogaa do polinomio interpolador de Hermite. Nao iremos considerar o caso geral mas sim umexemplo elucidativo.

Exercıcio 4.4.4 Seja f uma funcao definida num intervalo [a, b] e suponhamos sao dados osvalores f(a), f(b), f ′(a), f(′b) e f ′′(a). Determine o polinomio H4(x) que verifica

H4(a) = f(a),H4(b) = f(b),H ′4(a) = f ′(a),H ′

4(b) = f ′(b),H ′′4 (a) = f ′′(a).

Resolucao: O polinomio H4(x) vai petencer ao espaco dos polinomios de grau menor ou iguala 4. Neste espaco as funcoes

1, (x − a), (x − a)2, (x − a)3, (x − a)3(x − b),

sao linearmente independentes e portanto

H4(x) = C0 + C1(x − a) + C2(x − a)2 + C3(x − a)3 + C4(x − a)3(x − b).

Determinemos as constantes atendendo as condicoes impostas a este polinomio. Atendendoa que H4(a) = f(a) vem C0 = f(a). Atendendo a que H ′

4(a) = f ′(a) obtemos C1 =f ′(a) = f [a, a]. Atendendo a que f ′′(a) = H ′′

4 (a) vem C2 = f ′′(a)/2 e que pode serrepresentado por f [a, a, a].

De facto, comecemos por notar que

f [a, a + h, a + h + k] =f [a + h, a + h + k] − f [a, a + h]

h + k

=

f(a + h + k) − f(a + h)

kh + k

,

e portanto

f(a + h + k) − f(a + h)

k− f(a + h) − f(a)

h= f [a, a + h, a + h + k](h + k).

Mas,

f(a + h) − f(a) = f ′(a)h + hO(h), f(a + h + k) − f(a + h) = f(′a + h)k + kO(k),

Page 91: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 91

em que O(h) e O(k) denotam quantidades que convergem para zero com h e k respectiva-mente. Substituindo vem

f [a, a + h, a + h + k](h + k) = f ′(a + h) + O(k) − f ′(a) −O(h).

Consideremos, na igualdade anterior o limite quando h → 0, k → 0. Existindo este limite,em particular existe quando h = k e deduzimos

limh→0

limk→0

f [a, a + h, a + h + k] =f ′′(a)

2

e portanto podemos considerar

f [a, a, a] =f ′′(a)

2.

De H4(b) = f(b) deduzimos uma expressao para C3 e, facilmente se obtem,

C3 = f [a, a, a, b].

Considerando H ′4(b) = f ′(b) vem

C4 =f ′(b) − f [a, a] − 2f [a, a, a](b − a) − 3f [a, a, a, b](b − a)2

(b − a)3,

e, tem-seC4 = f [a, a, a, b, b].

Substituindo, vem finalmente

H4(x) = f(a) + f [a, a](x − a) + f [a, a, a](x − a)2

+f [a, a, a, b](x − a)3 + f [a, a, a, b, b](x − a)3(x − b).

O polinomio anterior pode ser construıdo utilizando a tabela das diferencas divididas paraos seguintes pontos (yi, g(yi)), i = 0, . . . , 4, com

y0 = a, y1 = a, y2 = a, y3 = b, y4 = b

eg(y0) = g(y1) = g(y2) = f(a), g(y3) = g(y4) = f(b)

e atendendo a queg[y0, y1] = f [a, a] = f ′(a)

g[y0, y1, y2] = f [a, a, a] = f ′′(a)/2g[y2, y3] = f [b, b] = f ′(b)g[y3, y4] = f [b, b] = f ′(b)

.

Consideremos, agora, um exemplo numerico.

Exemplo 4.16 Determine polinomio interpolador de uma funcao f para o suporte f(0) = −1,f ′(0) = −2, f(1) = 0, f ′(1) = 10 e f ′′(1) = 40.

Page 92: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 92

Resolucao: O polinomio pretendido pode ser determinado com a ajuda de seguinte tabela

xi f(xi) f [·, ·] f [·, ·, ·] f [·, ·, ·, ·] f [·, ·, ·, ·, ·]0 −1

−20 −1 3

1 61 0 9 5

10 111 0 20

101 0

.

Assim

H4(x) = −1−2x+3x2+6x2(x−1)+5x2(x−1)2 = −1+x[−2+x[3+(x−1)[6+5(x−1)]]].

Exercıcio 4.4.5 Prove que o polinomio de Maclaurin de f de grau n oscula, com f , n+1 vezesa origem.

Resolucao: De facto, sendo o polinomio de Maclaurin de f dado por

Pn(x) = f(0) + f ′(0)x + · · · + f (n)(0)

n!,

temos quef(0) = Pn(0)f ′(0) = P ′

n(0)· · ·

f (n)(0) = P(n)n (0)

.

4.5 Interpolacao segmentada

4.5.1 Interpolacao segmentada de Lagrange

Caso linear

Consideremos um intervalo [a, b] e uma particao ∆ dada por (4.1). Denotemos por P01 (∆)

o conjunto de todas as funcoes contınuas em [a, b] que, quando restringidas a cada um dosintervalos [xi−1, xi], i = 1, . . . , n, da particao, coincidem com um polinomio de grau menorou igual a um (polinomio que, em geral, varia com i). Se S1 ∈ P0

1 (∆) dizemos que S1 e umafuncao linear por segmentos ou um polinomio segmentado linear (na particao ∆).

Note-se que, em geral, nos pontos xi ∈ ∆ as funcoes S1 ∈ P01 (∆) apresentam descon-

tinuidadas da derivada.

Consideremos agora o problema da interpolacao. Seja f uma funcao conhecida nos pontosda particao ∆ do intervalo [a, b]. Pelo que foi visto na seccao anterior, existe um e um sopolinomio segmentado linear S1 ∈ P0

1 (∆) tal que

S1(xi) = f(xi), i = 0, 1, . . . , n.

Page 93: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 93

Nestas condicoes, S1 e chamado o polinomio interpolador (de Lagrange) segmentado linear de fnos pontos de ∆. Temos que

S1(x) =

S(1)1 (x) x ∈ [x0, x1]

S(2)1 (x) x ∈ [x1, x2]

......

S(i)1 (x) x ∈ [xi−1, xi]

......

S(n)1 (x) x ∈ [xn−1, xn]

,

onde S(i)1 pode ser escrita na forma seguinte (formula de Newton)

S(i)1 (x) = f(xi−1) + f [xi−1, xi](x − xi−1),

ou ainda (formula de Lagrange)

S(i)1 (x) = f(xi−1)

x − xi

xi−1 − xi+ f(xi)

x − xi−1

xi − xi−1.

O que podemos dizer quanto ao erro que se comete ao aproximar f por uma funcaoS1 ∈ P0

1 (∆)? Suponhamos que x ∈ [xi−1, xi]. Entao, pelo que foi visto na seccao anterior,temos que, nesse intevalo,

‖e(i)‖i,∞ := ‖f − S(i)1 ‖i,∞ := max

x∈[xi−1,xi]|f(x) − S

(i)1 | =

‖f (2)‖i,∞

2‖w(i)‖i,∞,

onde (como vimos)

‖w(i)‖i,∞ := maxx∈[xi−1,xi]

|(x − xi−1)(x − xi)| =1

4(xi − xi−1)

2

e‖f (2)‖i,∞ = max

x∈[xi−1,xi]|f (2)(x)|.

Temos entao que, sendo hi = xi − xi−1,

‖e(i)‖i,∞ =‖f (2)‖i,∞

8h2

i .

Considerando agora o erro no intervalo [a, b],

‖e‖∞ := ‖f − S1‖∞,

temos que

‖e‖∞ = maxi=1,...,n

‖e(i)‖i,∞ =‖f (2)‖∞

8h2,

com h = maxi=1,...,n

hi. Este limite superior para o erro permite demonstrar que o processo de

interpolacao linear por segmentos e convergente. De facto, se f (2) e limitada, a medida que

Page 94: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 94

o numero de pontos da particao aumenta (h diminui) o erro tendo para zero, ou seja, opolinomio segmentado linear tende para a funcao a interpolar uniformemente em [a, b].

A interpolacao linear segmentada possui vantagens em relacao a interpolacao (global) deLagrange. Note-se que, se n for muito grande, o calculo do polinomio interpolador de Lagrange(global) Pn envolve muito mais operacoes que o calculo do polinomio interpolador linearsegmentado S1. Alem disso, como foi visto, o facto de n aumentar nao implica que o polinomiointerpolador de Lagrange Pn tenda para a funcao a interpolar, mesmo que essa funcao sejainfinitamente diferenciavel. A desvantagem que o processo da interpolacao segmentada linearapresenta relativamente a interpolacao de Lagrange e que o polinomio Pn e infinitamentediferenciavel enquanto que S1 pode nem sequer possuir derivadas contınuas nos pontos daparticao.

Como poderemos construir uma base no espaco P01 (∆)? Para responder a esta questao,

vamos determinar as funcoes φjnj=0 tais que, para todo o S1 ∈ P0

1 (∆),

S1(x) =n∑

j=0

f(xj)φj(x).

As funcoes φjnj=0 nas condicoes pretendidas terao que ser lineares por segmentos e ser tais

que φj(xi) = δi,j , i, j = 0, 1, . . . , n, por forma a que S1 seja interpolador de f nos pontos de∆. Assim, nao e difıcil de verificar que os graficos de φj , j = 0, . . . , n, serao os das funcoeschapeu dadas na Figura 4.1. Como e evidente, estas funcoes constituem uma base de P0

1 (∆).

x0 x1 xi-1 xi xi+1 xn-1 xn

0.2

0.4

0.6

0.8

1j=0

x0 x1 xi-1 xi xi+1 xn-1 xn

0.2

0.4

0.6

0.8

1j=n

x0 x1 xi-1 xi xi+1 xn-1 xn

0.2

0.4

0.6

0.8

1j=i, 0<i<n

Figura 4.1: Graficos das funcoes chapeu φj .

Page 95: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 95

Nao e difıcil de ver que as funcoes chapeu tem as seguintes expressoes analıticas (prove):

φi(x) =

x−xi−1

hix ∈ [xi−1, xi]

− x−xi+1

hi+1x ∈ [xi, xi+1]

0 x ∈ [a, xi−1] ∪ [xi+1, b]

, i = 1, . . . , n − 1,

e

φ0(x) =

x−x1

h1x ∈ [a, x1]

0 x ∈ [x1, b], φn(x) =

0 x ∈ [a, xn−1]

− x−xnhn

x ∈ [xn−1, b],

onde hi = xi − xi−1.

Exercıcio 4.5.1 Mostre que a transformcao linear S1 → (S1(x0), . . . , S1(xn)) que aplica P01 (∆)

em IRn+1 e bijectiva e conclua que P01 (∆) e um espaco vectorial de dimensao n + 1.

Exercıcio 4.5.2 Determine o polinomio interpolador de Lagrange segmentado linear para afuncao f tal que

xi 0 0.25 0.5 0.75 1

f(xi) 1 1.25 1 1.5 1.

Exercıcio 4.5.3 Determine o polinomio interpolador de Lagrange segmentado linear para umafuncao f supondo que esta e conhecida nos pontos

a = x0 < x1 < x2 = b.

Exercıcio 4.5.4 Particularize o resultado do exercıcio anterior para a funcao f(x) = cos x,x ∈ [0, π] e aproxime cos(20o), indicando um majorante para o erro cometido.

Caso quadratico

Seja P02 (∆) o conjunto das funcoes contınuas em [a, b] que, quando restritas a um intervalo

[xi−1, xi], i = 1, . . . , n, da particao ∆ dada por (4.1), coincidem com um polinomio do segundograu. Se S2 ∈ P0

2 (∆) dizemos que S2 e uma funcao quadratica por segmentos.Note-se que, nos nos da particao, a funcao S2 apresenta, em geral, descontinuidades na

sua derivada.Seja f uma funcao conhecida nos pontos da particao ∆ do intervalo [a, b]. Suponhamos

ainda que conhecemos a funcao nos pontos intermedios xi−1/2 ∈]xi−1, xi[, i = 1, . . . , n. Assim,existe um e um so S2 ∈ P0

2 (∆) que interpola a funcao f tanto nos pontos da particao ∆ comonos pontos intermedios considerados. Esse polinomio e dado por

S2(x) =

S(1)2 (x) x ∈ [x0, x1]

S(2)2 (x) x ∈ [x1, x2]

......

S(i)2 (x) x ∈ [xi−1, xi]

......

S(n)2 (x) x ∈ [xn−1, xn]

,

Page 96: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 96

onde S(i)2 pode ser escrita na forma seguinte (formula de Newton)

S(i)2 (x) = f(xi−1) + f [xi−1, xi−1/2](x − xi−1) + f [xi−1, xi−1/2, xi](x − xi−1)(x − xi−1/2),

ou ainda (formula de Lagrange)

S(i)2 (x) = f(xi−1)

(x − xi−1/2)(x − xi)

(xi−1 − xi−1/2)(xi−1 − xi)

+f(xi−1/2)(x − xi−1)(x − xi+1)

(xi−1/2 − xi−1)(xi−1/2 − xi)

+f(xi)(x − xi−1)(x − xi−1/2)

(xi − xi−1)(xi − xi−1/2).

Exemplo 4.17 Consideremos a funcao f(x) = sin πx, x ∈ [12 , 32 ], e, neste intervalo a particao

x0 = 12 , x1 = 1 e x2 = 3

2 . Determine o polinomio interpolador de Lagrange quadratico interpoladorde f nos pontos da particao e nos pontos intermedios x1/2 = 3

4 e x3/2 = 54 .

Resolucao: E imediato que o polinomio pretendido e dado por

S2(x) =

S(1)2 (x) x ∈ [12 , 1]

S(2)2 (x) x ∈ [1, 3

2 ],

em que

S(1)2 (x) = sin

π

2

(x − 34 )(x − 1)

(12 − 3

4 )(12 − 1)

+ sin3π

4

(x − 12 )(x − 1)

(34 − 1)(3

4 − 12)

+ sinπ(x − 1

2)(x − 34)

(1 − 12)(1 − 3

4), x ∈ [

1

2, 1]

e

S(2)2 (x) = sin π

(x − 54)(x − 3

2)

(1 − 54)(1 − 3

2)+sin

4

(x − 1)(x − 32)

(54 − 1)(5

4 − 32)

+sin3π

2

(x − 1)(x − 54)

(32 − 1)(3

2 − 54)

, x ∈ [1,3

2].

O que podemos dizer quanto ao erro cometido que ao aproximar f por S2 ∈ P02 (∆)? Tal

como foi efectuado para o caso linear podemos provar que

‖e‖∞ := ‖f − S2‖∞ =‖f (3)‖∞

3!max

i=1,...,n‖w(i)‖i,∞,

com‖w(i)‖i,∞ := max

x∈[xi−1,xi]|(x − xi−1)(x − xi−1/2)(x − xi)|.

Como e que poderemos construir uma base para o espaco P02 (∆)? Vamos responder a esta

questao determinando as funcoes φjnj=0 e φj−1/2n

j=1 tais que, para todo o S2 ∈ P02 (∆),

S2(x) = f(x0)φ0(x) +

n∑

j=1

(f(xj−1/2)φj−1/2(x) + f(xj)φj(x)

).

Page 97: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 97

Consideremos φj, j = 0, . . . , n como sendo a funcao quadratica por segmentos que tomao valor 1 em x = xj e 0 nos restantes nos da particao bem como nos pontos intermedios.Para j = 1, . . . , n, consideremos φj−1/2 como sendo a funcao quadratica por segmentos quetoma o valor 1 em x = xj−1/2 e se anula nos restantes pontos intermedios bem como nospontos da particao. Assim, nao e difıcil de verificar que os graficos de φj , j = 0, . . . , n,e φj−1/2, j = 1, . . . , n, sao os das chamadas funcoes bigode, dadas nas Figuras 4.2 e 4.3,respectivamente. Como P0

2 (∆) e um espaco vectorial de dimensao 2n + 1 (prove) temos queestas funcoes constituem uma base de P0

2 (∆).

x0 x12 x1 xi-1xi-12 xi xi+12xi+1 xn-1xn-12 xn

0.2

0.4

0.6

0.8

1

j=0

x0 x12 x1 xi-1xi-12 xi xi+12xi+1 xn-1xn-12 xn

0.2

0.4

0.6

0.8

1

j=n

x0 x12 x1 xi-1xi-12 xi xi+12xi+1 xn-1xn-12 xn

0.2

0.4

0.6

0.8

1j=i, 0<i<n

Figura 4.2: Graficos das funcoes bigode φj.

x0 x12 x1 xi-1xi-12 xi xi+12xi+1 xn-1xn-12 xn

0.2

0.4

0.6

0.8

1

Figura 4.3: Graficos das funcoes bigode φj−1/2.

Tal como para o caso das funcoes chapeu, prova-se facilmente que as funcoes bigode tem

Page 98: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 98

as seguintes expressoes analıticas:

φi(x) =

(x−xi−1)(x−xi−1/2)

(xi−xi−1)(xi−xi−1/2)x ∈ [xi−1, xi]

− (x−xi−1/2)(x−xi+1)

(xi−xi−1/2)(xi−xi+1x ∈ [xi, xi+1]

0 x ∈ [a, xi−1] ∪ [xi+1, b]

, i = 1, . . . , n − 1,

φ0(x) =

(x−x1/2)(x−x1)

(x0−x1/2)(x0−x1)x ∈ [a, x1]

0 x ∈ [x1, b]

,

φn(x) =

0 x ∈ [a, xn−1]

(x−xn−1)(x−xn−1/2)

(xn−xn−1)(xn−xn−1/2) x ∈ [xn−1, b],

e

φi−1/2(x) =

(x−xi−1)(x−xi)(xi−1/2−xi−1)(xi−1/2−xi)

x ∈ [xi−1, xi]

0 x ∈ [a, xi−1] ∪ [xi+1, b]

.

Exercıcio 4.5.5 Calcule o polinomio interpolador de Lagrange segmentado quadratico para afuncao do exercıcio anterior.

Exercıcio 4.5.6 Determine o polinomio interpolador de Lagrange segmentado de grau 2 parauma funcao f que se conhece nos pontos

a = x0 < x1/2 < x1 < x3/2 < x2 < x5/2 < x3 = b.

Exercıcio 4.5.7 Particularize o exercıcio anterior para

f(x) =1

1 + x2, x ∈ [−1, 1].

Exercıcio 4.5.8 Prove que se

xi−1/2 =xi−1 + xi

2

o limite superior para o ero cometido na interpolacao quadratica segmentada e dado por

‖f − S2‖∞ 6‖f (3)‖∞

216

√3h3,

com h = |xi − xi−1|, i = 1, . . . , n.

Page 99: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 99

4.5.2 Interpolacao segmentada de Hermite

Consideremos um intervalo [a, b] e uma particao dada por (4.1). Designemos por polinomiosegmentado cubico (ou funcao cubica por segmentos) na particao (4.1), uma funcao contınuaem [a, b] que, quando restringida a cada um dos intervalos [xi−1, xi], i = 1, ..., n, da particao,coincide com um polinomio de grau menor ou igual a tres.

Seja f uma funcao conhecida nos pontos da particao (4.1). Como se sabe, existe um e umso polinomio segmentado cubico SH tal que

SH(xi) = f(xi)S′

H(xi) = f ′(xi), i = 0, 1, . . . , n.

Nestas condicoes, SH e chamado o polinomio interpolador (de Hermite) segmentado cubico def nos pontos de (4.1).

Temos que

SH(x) =

S(1)H (x) x ∈ [x0, x1]

S(2)H (x) x ∈ [x1, x2]

......

S(i)H (x) x ∈ [xi−1, xi]

......

S(n)H (x) x ∈ [xn−1, xn]

,

onde S(i)H pode ser escrita na forma seguinte

S(i)H (x) = f(xi−1) + f ′(xi−1)(x − xi−1) + f [xi−1, xi−1, xi](x − xi−1)

2

+f [xi−1, xi−1, xi, xi](x − xi−1)2(x − xi).

Exercıcio 4.5.9 Mostre que o erro que se comete ao aproximar f ∈ C4([a, b]) pelo seu polinomiointerpolador segmentado de Hermite cubico na particao (4.1) e dado por

maxx∈[a,b]

|f(x) − SH(x)| 6M4

384h4,

ondeM4 = max

x∈[a,b]

∣∣∣f (4)(x)∣∣∣

e h = maxi=1,...,n

(xi − xi−1).

4.6 Interpolacao com funcoes spline

4.6.1 Abordagem classica

O termo ingles spline pode ser traduzido pelo vocabulo “virote”. Um virote e um instrumentousado pelos desenhadores para unir um conjunto de pontos do plano.

Seja f uma funcao definida num intervalo [a, b] onde consideramos a particao ∆ dadapor (4.1). Matematicamente, o problema de unir pontos do plano com um virote pode sertraduzido da seguinte forma: determinar a funcao S : [a, b] −→ IR, com a = x0, b = xn, quesatisfaz:

Page 100: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 100

[S1] S(xi) = f(xi), i = 0, . . . , n;

[S2] S ∈ C2([a, b]);

[S3] o princıpio de Maupertius da energia mınima, isto e,

∫ b

a(S′′(x))2dx 6

∫ b

a(g′′(x))2dx,

para toda a funcao g que satisfaz [S1] e [S2].

Temos os seguinte resultado.

Teorema 4.18 Sejam S, g : [a, b] −→ IR duas funcoes que verificam [S1] e [S2]. Suponhamosque

S′′(b)[g′(b) − S′(b)] = S′′(a)[g′(a) − S′(a)]

e que S e um polinomio de grau 3 em cada sub-intervalo da particao dada. Entao temos que

∫ b

a(S′′(x))2dx 6

∫ b

a(g′′(x))2dx.

Demonstracao: Temos que

∫ b

a(g′′(x))2dx −

∫ b

a(S′′(x))2dx =

∫ b

a(g′′(x) − S′′(x))2dx + 2

∫ b

aS′′(x)(g′′(x) − S′′(x))dx.

Mas, integrando por partes o ultimo integral do segundo membro vem

∫ b

aS′′(x)(g′′(x) − S′′(x))dx = S′′(b)[g′(b) − S′(b)] − S′′(a)[g′(a) − S′(a)]

−n∑

i=1

∫ xi

xi−1

S′′′(x)(g′′(x) − S′′(x))dx.

Ora, atendendo as hipoteses do teorema,

∫ b

aS′′(x)(g′′(x) − S′′(x))dx = 0

e, como tal, ∫ b

a(S′′(x))2dx =

∫ b

a(g′′(x))2dx −

∫ b

a(g′′(x) − S′′(x))2dx,

o que permite concluir o pretendido.

Este teorema mostra que os candidatos a resolucao de [S1]–[S3] sao as funcoes pertencentesa C2([a, b]) que sao polinomios de grau 3 em cada intervalo da particao, isto e, sao funcoesS ∈ P2

3 (∆). Essas funcoes serao designadas por funcoes spline cubicas.

Page 101: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 101

Definicao 4.19 (Spline) Uma funcao spline de ordem m e um polinomio segmentado degrau m − 1 continuamente derivavel ate a ordem m − 2. Por outras palavras, dada umaparticao ∆ da forma (4.1), S e uma funcao spline de ordem m se S ∈ Pm−2

m−1 (∆), ou seja, se

dk

dxkS(i+1)(x) =

dk

dxkS(i)(x), k = 0, . . . ,m − 2, i = 1, . . . , n − 1,

com S(i)(x) = S(x), x ∈ [xi−1, xi], i = 1, . . . , n.

As funcoes spline mais populares sao as cubicas (m = 4). Pelas razoes apresentadas, seraoessas que iremos considerar.

Note-se que, em cada intervalo [xi−1, xi] a funcao S ∈ P23 (∆) que interpola f nos pontos

da particao (4.1) e um polinomio de grau 3 e, como tal, e definido a custa de 4 parametros.Assim, para determinar S de forma unica temos que especificar 4n paramteros. Para issoteremos que definir 4n equacoes. Atendendo a definicao de funcao spline temos impostas asseguintes equacoes: n + 1 equacoes de interpolacao; n + 1 equacoes de ligacao de S; n + 1equacoes de ligacao de S′ e n + 1 equacoes de ligacao de S′′. No total temos assim 4n − 2equacoes. Para determinar S temos que considerar mais duas condicoes suplementares. Asformas mais usuais de definir essas condicoes sao as seguintes: S′(a) = f ′(a) e S′(b) = f ′(b)(Spline completa); S′′(a) = f ′′(a) e S′′(b) = f ′′(b) (Spline natural); S′′(a) = 0 e S′′(b) = 0(Spline livre); S′(a) = S′(b) e S′′(a) = S′′(b) (Spline periodica).

O seguinte teorema, que apresentamos sem demonstracao, establece a existencia e unici-dade da funcao spline cubica interpoladora.

Teorema 4.20 Seja f uma funcao definida em [a, b]. A funcao spline cubica completa (na-tural, livre, periodica) interpoladora de f nos pontos da particao ∆ dada em (4.1) existe e eunica.

4.6.2 Funcoes de base

Seja f uma funcao definida num intervalo [a, b] onde consideramos a particao ∆ dada por(4.1). Suponhamos que os pontos da particao sao igualmente espacados e seja h = xi − xi−1,i = 1, . . . , n. Consideremos os seguintes pontos auxiliares

x−1 = a − h, x−2 = a − 2h, x−3 = a − 3h

xn+1 = b + h, xn+2 = b + 2h, xn+3 = b + 3h.

Os polinomios segmentados

Bi(x) =1

h3

(x − xi−2)3 x ∈ [xi−2, xi−1]

h3 + 3h2(x − xi−1) + 3h(x − xi−1)2 − 3(x − xi−1)

3, x ∈]xi−1, xi]

h3 + 3h2(xi+1 − x) + 3h(xi+1 − x)2 − 3(xi+1 − x)3, x ∈]xi, xi+1]

(xi+2 − x)3 x ∈ [xi+1, xi+2]

0 nos restantes casos

em que i = −1, . . . , n + 1, sao designadas por funcoes spline-B.

Page 102: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 102

Teorema 4.21 As funcoes Bi, i = −1, . . . , n + 1, sao tais que Bi ∈ C2([a, b]) e

. . . xi−2 xi−1 xi xi+1 xi+2 . . .

Bi 0 0 1 4 1 0 0B′

i 0 0 3/h 0 −3/h 0 0B′′

i 0 0 6/h2 −12/h2 6/h2 0 0

Demonstracao: Fica ao cuidado do aluno.

O espaco gerado pelas funcoes Bi, i = −1, . . . , n+1, sera denotado por B3(∆). Este espacoe constituido por polinomios do tipo

S(x) =

n+1∑

i=−1

CiBi(x),

em que Cs denotam constantes, e portanto as funcoes de B3(∆) sao polinomios segmentadoscubicos e que tem no intervalo [xi, xi+1[ a seguinte expressao

S(x) = Ci−1Bi−1(x) + CiBi(x) + Ci+1Bi+1(x) + Ci+2Bi+2(x),

ou seja,

S(x) =1

h3

[Ci−1(xi+1 − x)3

+Ci(h3 + 3h(xi+1 − x)2 + 3h2(xi+1 − x) − 3(xi+1 − x)3)

+Ci+1(h3 + 3h(x − xi)

2 + 3h2(x − xi) − 3(x − xi)3)

+Ci+2(x − xi)3].

(4.22)

Pretendemos determinar um polinomio em B3(∆) que seja interpolador para a funcao fnos pontos da particao. Este polinomio e designado spline cubico interpolador. Comecemospor notar que as condicoes de interpolacao S(xi) = f(xi), i = 0, . . . , n, para a determinacaodas constantes que definem o spline cubico interpolador sao n + 1 e portanto necessitamos demais dua condicoes. No resultado seguinte estao especificadas duas condicoes que permitemdefinir o spline cubico interpolador.

Teorema 4.22 Seja f uma funcao definida em [a, b] onde considerado n+1 pontos igualmentedistanciados xi, i = 0, . . . , n, em que xi = xi−1 + h, i = 1, . . . , n, x0 = 0, h = (b− a)/n. Seja Bo espaco gerado pelos splines cubicos Bi, i = −1, . . . , n + 1. Dados f(xi), i = 0, . . . , n, f ′(a) ef ′(b) existe um e um so polinomio S(x) em B que satisfaz a

S(xi) = f(xi), i = 0, . . . , n, S′(a) = f ′(a), S′(b) = f ′(b). (4.23)

Page 103: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 103

Demonstracao: O polinomio spline cubico interpolador pertence a B e portanto existemconstantes cj , j = −1, . . . , n + 1, tais

S(x) =

n+1∑

j=−1

CjBj(x).

Estas constantes Cj sao determinadas atendendo as condicoes (4.23). De facto, atendendo aestas condicoes temos

f ′(a) =

n+1∑

j=−1

CjB′j(x0)

f(xi) =

n+1∑

j=−1

CjBj(xi), i = 0, . . . , n

f ′(b) =

n+1∑

j=−1

CjB′j(xb).

Atendendo as propriedades dos splines cubicos, o sistema anterior e equivalente a

f ′(a) = B′−1(x0)C0 + B′

0(x0)C0 + B′1(x0)C1

f(xi) = Bi−1(xi)Ci−1 + Bi(xi)Ci + Bi+1(xi)Ci+1, i = 0, . . . , n

f ′(b) = B′n−1(xn)Cn−1 + B′

n(xn)Cn + B′n+1(xn)Cn+1,

ou ainda, a

f ′(a) = − 3hC0 + 0C0 + 3

hC1

f(xi) = 1Ci−1 + 4Ci + 1Ci+1, i = 0, . . . , n

f ′(b) = − 3hCn−1 + 0Cn + 3

hCn+1.

Uma vez que a matriz do sistema

B =

− 3h 0 3

h . . . 0 0 01 4 1 . . . 0 0 00 1 4 . . . 0 0 0...

......

. . ....

......

0 0 0 . . . 4 1 00 0 0 . . . 1 4 10 0 0 . . . − 3

h 0 3h

,

e nao singular concluımos que existe um e um so spline cubico interpolador que verifica ascondicoes (4.23).

Page 104: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 104

A determinacao o spline cubico que verifica as condicoes (4.23) e feita resolvendo o sistemaBC = F em que B esta definida na demonstracao do teorema anterior e

C =

C−1

C0

C1...

Cn−1

Cn

Cn+1

, F =

f ′(a)f(a)f(x1)

...f(xn−1)

f(b)f ′(b)

.

O spline cubico S(x) e interpolador para f nos pontos da particao e ainda interpola f ′

nos extremos do intervalo. Conhecidos os coeficientes do spline cubico interpolador ficamoscom S(x) determinado nos intervalos da particao e em [xi, xi+1] temos que S(x) e dado por(4.22).

Exemplo 4.23 Determine o spline cubico para a funcao f dada pela tabela

xi 2.2 2.4 2.6

f(xi) 0.5207843 0.5104147 0.4813306

f ′(xi) −0014878 −0.1883635

Resolucao: Consideremos os pontos auxiliares x−1 = 2, x−2 = 1.8, x3 = 2.8, x4 = 3, e sejamBi(x), i = −1, . . . , 3, os splines cubicos. O sistema que permite determinar os coeficientesdo spline cubico interpolador

S(x) = C−1B−1(x) + C0B0(x) + C1B1(x) + C2B2(x) + C3B3(x)

e

−15 0 15 0 01 4 1 0 00 1 4 1 00 0 1 4 10 0 −15 0 15

C−1

C0

C1

C2

C3

=

−0.0148780.52078430.51041470.4813306−0.1883635

,

que tem por solucao

C−1 = 0.0856896, C0 = 0.087376C1 = 0.0855905, C2 = 0.0806768, C3 = 0.0730329.

Em [2.2, 2.4] temos

S(x) = (0.0856896(2.4 − x)3 + 0.087376(0.23 + 3 × 0.22(2.4 − x)+ 3 × 0.2(2.4 − x)2 − 3(2.4 − x)3)0.0855905(0.23 + 3 × 0.22(x − 2.2)+ 3 × 0.2(x − 2.2)2 − 3(x − 2.2)3) + 0.0806768(x − 2.2)3)/0.23

= −1.19371 + 1.76806x − 0.543945x2 + 0.0429625x3 .

e em [2.4, 2.6]

S(x) = (0.087376(2.6 − x)3 + 0.0855905(0.23 + 3 × 0.22(2.6 − x)+ 3 × 0.2(2.6 − x)2 − 3(2.6 − x)3) + 0.0806768(0.23 + 3 × 0.22(x − 2.4)+ 3 × 0.2(x − 2.4)2 − 3(x − 2.4)3) + 0.0730329(x − 2.4)3)/0.23

= −1.28754 + 1.88534x − 0.592815x2 + 0.04975x3 .

Page 105: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 105

O spline cubico interpolador, e, como vimos, deduzido exigindo que este polinomio sejainterpolador da funcao em todos os pontos da particao e que seja interpolador da derivadanos extremos do intervalo. Estas duas ultimas condicoes permitiram construir o spline cubicointerpolador e podem ser substituıdas por condicoes na segunda derivada do polinomio inter-polador. No teorema seguinte e estabelecida a existencia de spline interpolador que interpolaa funcao e a sua segunda derivada nos extremos do intervalo. Este polinomio interpolador edesignado spline cubico natural. Se admitirmos as seguintes condicoes S′′(x0) = S′′(xn) = 0entao este spline e designado spline cubico livre.

Teorema 4.24 Seja f uma funcao definida em [a, b] onde considerado n+1 pontos igualmentedistanciados xi, i = 0, . . . , n, em que xi = xi−1 + h, i = 1, . . . , n, x0 = 0, h = (b − a)/n. SejaB o espaco gerado pelos splines cubicos Bi, i = −1, . . . , n + 1. Dados f(xi), i = 0, . . . , n, f ′′(a)e f ′′(b) existe um e um so polinomio S(x) em B que satisfaz a

S(xi) = f(xi), i = 0, . . . , n, S′′(a) = f ′′(a), S′′(b) = f ′′(b). (4.24)

A demonstracao do teorema anterior e analoga a do Teorema 4.22. Notamos que a matrizque permite determinar os coeficientes do spline cubico interpolador S(x) e

6h2 − 12

h26h2 . . . 0 0 0

1 4 1 . . . 0 0 00 1 4 . . . 0 0 0...

......

. . ....

......

0 0 0 . . . 4 1 00 0 0 . . . 1 4 10 0 0 . . . 6

h2 − 12h2

6h2

C−1

C0

C1...

Cn−1

Cn

Cn+1

=

f ′′(a)f(a)f(x1)

...f(xn−1)

f(b)f ′′(b)

.

4.6.3 Estudo do erro

O spline cubico interpolador de uma funcao coincide com a funcao nos pontos da particao ea sua derivada coıncide com a derivada da funcao nos extremos do intervalo de particao. Noresultado seguinte, estabelecido sem demonstracao, e apresentado o comportamento do erroque se comete ao aproximar uma funcao pelo seu spline cubico interpolador.

Teorema 4.25 Seja f uma funcao definida em [a, b] onde considerado n+1 pontos igualmentedistanciados xi, i = 0, . . . , n, em que xi = xi−1 + h, i = 1, . . . , n, x0 = 0, h = (b− a)/n. O errocometido ao aproximar f pelo seu spline cubico interpolador verifica a

‖S − f‖∞ 65

384‖f (4)‖∞h4.

Exercıcio 4.6.1 Pretende-se interpolar a funcao f definida por f(x) = ln x, com x ∈ [2, 2.5],por um spline cubico completo S numa malha uniforme.

1. Calcule o numero mınimo de pontos a usar para garantir que ‖f − S‖∞ 6 0.5 × 10−4.

2. Determine uma aproximacao para f(2.3) usando o spline cubico completo interpolador def nos pontos obtidos na alınea anterior.

Page 106: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 106

4.7 Interpolacao parametrica

Nenhuma das tecnicas usadas no Capıtulo 1 permite gerar curvas que nao possam ser expressascomo uma funcao real de variavel real. Por exemplo, a curva expressa na Figura 4.4 nao eo grafico de nenhuma funcao uma vez que, por exemplo, para a abcissa x = 0 correspondemtres pontos sobre a curva.

-1 -0.5 0.5 1

-1

-0.5

0.5

1

Figura 4.4: Curva parametrica.

A forma de contornar o problema consiste em escrever a curva C, de coordenadas (x, y),na sua forma parametrica

x = x(t)y = y(t)

, t ∈ [t0, T ].

Poderemos considerar, sem perda de generalidade, [t0, T ] = [0, 1].A aproximacao da curva que une os pontos (x0, y0), (x1, y1), . . ., (xn, yn), por esta ordem,

e feita considerando uma particao do intervalo [0, 1], geralmente uniforme,

0 = t0 < t1 < · · · < tn−1 < tn = 1,

tal que xi = x(ti)yi = y(ti)

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

e calculando os polinomios (globais ou segmentados) P e Q tais que P (ti) = x(ti) e Q(ti) =y(ti), i = 0, 1, · · · , n.

Exemplo 4.26 Usando interpolacao de Lagrange, determine uma aproximacao para a curvadada na Figura 4.4.

Resolucao: Com os dados da figura e considerando a particao ti = 0.25i, i = 0, 1, 3, 4,podemos construir a tabela:

i 0 1 2 3 4

ti 0 0.25 0.5 0.75 1xi -1 0 1 0 1yi 0 1 0.5 0 -1

Page 107: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 107

A curva de equacao parametrica

x = x(t)y = y(t)

, t ∈ [0, 1], pode ser aproximada pela

curva de equacao parametrica

x = P (t)y = Q(t)

, t ∈ [0, 1], com P e Q calculados us-

ando interpolacao de Lagrange. Iremos calcular apenas o polinomio P deixando o calculode Q ao cuidado do aluno.

Comecemos por considerar a seguinte tabela de diferencas finitas.

ti P (ti) ∆P (ti) ∆2P (ti) ∆3P (ti) ∆4P (ti)

0 −11

0.25 0 01 −2

0.5 1 −2 6−1 4

0.75 0 21

1 1

Assim, temos que

p(t) = −1 + 4t(1 + 16(t − 0.25)(t − 0.5)(−1/3 + (t − 0.75))).

4.7.1 Interpolacao cubica de Hermite segmentada

Em muitas situacoes (em computacao grafica, por exemplo), e necessario gerar rapidamentecurvas suaves que possam ser modificadas de forma facil. Alm disso, a alteracao de umaporcao dessas curvas nao deve afectar as restantes partes da curva.

Uma das escolhas mais usuais para gerar curvas parametricas sao os polinomios cubicosde Hermite segmentados. Como foi visto, cada porcao desses polinomios e determinada pelaespecificacao dos seus pontos extremos e das derivadas (tangentes a curva) nesses pontos.

Suponhamos que queremos calcular a curva que passa nos pontos Pi = (xi, yi), i =0, 1, . . . , n, usando polinomios cubicos de Hermite segmentados. Para isso teremos que, paracada ponto Pi, especificar os valores de Ti = (x′(ti), y

′(ti)), i = 0, 1, . . . , n, onde xi = x(ti) eyi = y(ti).

Vamos simplificar o problema. Pretendemos determinar a curva (polinomio cubico) quepasse pelos pontos P0 = (x0, y0) = (x(t0), y(t0)) e P1 = (x1, y1) = (x(t1), y(t1)) e tenhatangentes (inclinacoes)

dy

dx(0) = α0 em (x0, y0),

edy

dx(1) = α1 em (x1, y1).

Esta curva e chamada curva de Ferguson-Coons. Como

dy

dx(0) =

y′(0)

x′(0)e

dy

dx(1) =

y′(1)

x′(1)

Page 108: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 108

temos que α0 e α1 nao sao alterados se multiplicarmos x′(0) e y′(0) pelo mesmo parametroλ e x′(1) e y′(1) pelo mesmo parametro µ. A multiplicacao por um parametro nao altera astangentes a curva mas altera a sua forma. Iremos ver, com um exemplo, que, a medida que oparametro λ cresce a curva aproxima-se da tangente a curva em P0 (o mesmo para µ e P1).

Exemplo 4.27 Determinar a curva que passa pelos pontos P0 = (x0, y0) e P1 = (x1, y1) comtangentes α0 = α1 = 1.

Resolucao: Podemos construir a tabela:

t 0 1

x x0 x1

y y0 y1

x′ λ −µy′ λ −µ

A curva que iremos calcular e da forma

x = x(t)y = y(t)

, t ∈ [0, 1]. Iremos calcular apenas

o polinomio x deixando o calculo de y ao cuidado do aluno.

Comecemos por considerar a seguinte tabela de diferencas finitas.

ti x(ti) x[·, ·] x[·, ·, ·] x[·, ·, ·, ·]0 x0

λ0 x0 x1 − x0 − λ

x1 − x0 λ − µ + 2(x0 − x1)1 x1 −µ − x1 + x0

−µ1 x1

Assim, temos que

x(t) = x0 + t(λ + t(x1 − x0 − λ + (λ − µ + 2(x0 − x1))(t − 1))).

4.7.2 Curvas de Bezier

Consideremos, de novo, o problema de calcular a curva de Ferguson-Coons que passa pelospontos P0 = (x0, y0) = (x(t0), y(t0)) e P1 = (x1, y1) = (x(t1), y(t1)) sendo dados os valores

α =y′(0)

x′(0)e α1 =

y′(1)

x′(1).

A especificacao dos valores dos declives α0 e α1 pode nao ser obvia. Em computacao graficaessa especificacao e feita, de forma simples, atraves de dois pontos auxiliares (pontos de guia),tal como indicado na Figura 4.5.

Assim, dados dois pontos auxiliares P2 e P3, vamos considerar

T0 = λ(P2 − P0)T1 = µ(P1 − P3)

(x′(0), y′(0)) = λ(x2 − x0, y2 − y0)(x′(1), y′(1)) = µ(x1 − x3, y1 − y3)

,

Page 109: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 109

0.5 1 1.5 2 2.5 3

-1.5

-1

-0.5

0.5

1

Figura 4.5: Curva de Ferguson-Coons obtida a custa de dois pontos de guia.

com λ e µ factores de normalizacao. No que se segue vamos considerar λ = µ. Assim, a curvade Ferguson-Coons e dada por

x = x(t)y = y(t)

, t ∈ [0, 1],

com (prove)

x(t) = x0 + t(λ(x2−x0)+ t(x1−x0−λ(x2−x0)+(t−1)(λ(−x3 +x2 +x1−x0)−2(x1−x0))))

e

y(t) = y0 + t(λ(y2 − y0)+ t(y1 − y0 −λ(y2 − y0)+ (t− 1)(λ(−y3 + y2 + y1 − y0)− 2(y1 − y0)))).

Uma propriedade importante para o controlo da curva de Ferguson-Coons reside no factodessa curva estar contida no involucro convexo definido pelos pontos P0, P1, P2 e P3 se e sose λ ∈ [0, 3].

0.5 1 1.5 2

-1

-0.5

0.5

1

0.5 1 1.5 2

-1

-0.5

0.5

1

0.5 1 1.5 2

-1.5

-1

-0.5

0.5

1

1.5

Figura 4.6: Graficos das curvas de Ferguson-Coons com λ = 1, 3, 15.

O involucro convexo de um conjunto de pontos e definido como sendo o menor convexoque contem esses pontos. Sabe-se que um ponto P pertence ao involucro convexo definido

Page 110: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 110

pelos pontos P0, . . . , Pn se e so se P puder ser escrito como uma combinacao linear convexadesses pontos, isto e, se

P =

n∑

i=0

φiPi,

com φi > 0, i = 0, . . . , n, e∑n

i=0 φi = 1. Tal facto resulta imediatamente dos Exercıcios 4.7.1e 4.7.2. Quando λ = 3 a curva de Ferguson-Coons tambem se chama curva de Bezier.

Exercıcio 4.7.1 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

y(t) = φ0(t)y0 + φ1(t)y1 + φ2(t)y2 + φ3(t)y3, t ∈ [0, 1],

comφ0(t) = 2t3 − λt3 − 3t2 + 2λt2 − λt + 1,φ1(t) = −2t3 + λt3 − λt2 + 3t2,φ2(t) = λt3 − 2λt2 + λt,φ3(t) = −λt3 + λt2.

Exercıcio 4.7.2 Mostre que, dada a curva de Ferguson-Coons tal como no exercıcio anterior,φi(t) > 0, i = 0, 1, 2, 3, t ∈ [0, 1], se e so se λ ∈ [0, 3].

4.8 Interpolacao bidimensional de Lagrange

Nesta seccao vamos considerar a determinacao de um polinomio de duas variaveis que sejainterpolador de uma funcao conhecida num conjunto de pontos de IR2.

Seja Ω = [a, b] × [c, d] um subconjunto de IR2. No intervalo [a, b] consideremos a particao

a = x0 < x1 < . . . < xi < . . . < xn−1 < xn = b

e em [c, d]c = y0 < y1 < . . . < yj < . . . < xn−1 < xm = d.

As duas particoes anteriores induzem em Ω o seguinte conjunto de pontos

(xi, yj), i = 0, . . . , n, j = 0, . . . ,m, (4.25)

que designamos rede rectangular.Seja f uma funcao definida em Ω e suponhamos que f e conhecida nos pontos da rede

rectangular definida. O nosso objectivo e determinar um polinomio P de duas variaveis queverifique as condicoes

P (xi, yj) = f(xi, yj), i = 0, . . . , n, j = 0, . . . ,m.

Por polinomio em x e y queremos designar uma funcao do tipo

n∑

i=0

m∑

j=0

bijxiyj, (x, y) ∈ IR2.

Page 111: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 111

As condicoes a que o polinomio P deve verificar sao (n + 1) × (m + 1) e portanto sepensarmos num polinomio em x e y que permite resolver o problema anterior ele poderaapresentar (n + 1) × (m + 1) coeficientes.

Consideremos as funcoes ℓi(x) e ℓj(y) definidas considerando as particoes em [a, b] e [c, d].Com estas funcoes definamos ℓij(x, y) = ℓi(x)ℓj(y), i = 0, . . . , n j = 0, . . . ,m, que verificam a

ℓij(xk, yt) = δkt =

1 k = t0 k 6= t

.

O papel desempenhados por estas funcoes e analogo ao das funcoes da base canonicaconsiderada quando introduzimos o polinomio interpolador de Lagrange para uma funcaodefinida num intervalo real. Consideremos o seguinte polinomio de grau n em x e m em y

P (x, y) =n∑

i=0

m∑

j=0

f(xi, yj)ℓij(x, y)

= f(x0, y0) + f(x1, y0)ℓ1(x) + . . . + f(xn, y0)ℓn(x)

+ f(x0, y1)ℓ1(y) + f(x1, y1)ℓ1(x)ℓ1(y) + . . . + f(xn, y1)ℓn(x)ℓ1(y)

+ . . . + f(x0, ym)ℓm(y) + f(x1, ym)ℓ1(x)ℓm(y) + . . . + f(xn, ym)ℓn(x)ℓm(y) (x, y) ∈ Ω.

Atendendo as propriedades das funcoes ℓij(x, y), o polinomio P (x, y) satisfaz a

P (xk, yt) = f(xk, yt),

e, alem disso, e o unico polinomio de grau n em x e m em y que resolve o problema deinterpolacao que nos proposemos resolver. De facto, seja

Q(x, y) =n∑

i=0

m∑

j=0

bijxiyj

um poliomio de grau n em x e m em y que verifica a Q(xi, yj) = f(xi, yj). Fixemos yt naparticao de [c, d] e consideremos o polinomio em x

Q(x, yt) =

n∑

i=0

m∑

j=0

bijxiyj

t =

n∑

i=0

qitxi

em que

qit =

m∑

j=0

bijyjt .

Atendendo as condicoes para Q, os coeficientes deste polinomio devem satisfazer a

n∑

i=0

qitxik = f(xk, yt), k = 0, . . . , n,

Page 112: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 112

isto e, o seguinte sistema

1 x0 x20 x3

0 . . . xn0

1 x1 x21 x3

1 . . . xn1

1 x2 x22 x3

2 . . . xn2

......

......

......

1 xn x2n x3

n . . . xnn

q0t

q1t

q2t...

qnt

=

f(x0, yt)f(x1, yt)f(x2, yt)

...f(xn, yt)

.

Atendendo a que este sistema e possıvel e determinado, existe para cada t, uma unica solucaoqit, i = 0, . . . , n.

Finalmente, para os coeficientes bij e para cada i = 0, . . . , n, temos o seguinte sistema

n∑

j=0

bijyjt = qit, t = 0, . . . ,m,

isto e,

1 y0 y20 y3

0 . . . ym0

1 y1 y21 y3

1 . . . ym1

1 y2 y22 y3

2 . . . ym2

......

......

......

1 ym y2m y3

m . . . ymm

bi0

bi1

bi2...

bim

=

qi0

qi1

qi2...

qim

,

que e tambem um sistema possıvel e determinado. Provamos deste modo a unicidade dopolinomio interpolador P (x, y). Este polinomio e designado polinomio interpolador de Lagange.Provamos entao o seguinte teorema.

Teorema 4.28 Seja f uma funcao definida no rectangulo Ω = [a, b]×[c, b] onde consideramosa rede rectangular (xi, yj), i = 0, . . . , n, j = 0, . . . ,m. Dados f(xi, yj), i = 0, . . . , n, j =0, . . . ,m, o unico polinomio P (x, y) de grau n em x e m em y que verifica P (xi, yj) = f(xi, yj),i = 0, . . . , n, j = 0, . . . ,m, e o polinomio interpolador de Lagrange

P (x, y) =n∑

i=0

m∑

j=0

f(xi, yj)ℓij(x, y).

Exemplo 4.29 Consideremos a funcao f(x, y) = exp−(x2 + y2) com (x, y) ∈ [−2, 2]x[−2, 2].Considere o rectangulo [0, 0.1]× [0, 0.12]. Em cada um dos intervalos [0, 0.1] e [0, 0.12] definamosas particoess de pontos igualmente distanciados e de espacamentos, respectivamente, h = 0.05 ek = 0.04. Utilizando a rede rectangular induzida no rectngulo [0, 0.1] × [0, 0.12] pelas particoes

Page 113: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 113

anteriores definamos o polinomio interpolador de Lagrange de grau 2 em x e 3 em y,

P (x, y) =

(f(0, 0)

(x − 0.05)(x − 0.1)

0.005+ f(0.05, 0)

x(x − 0.1)

−0.0025

+f(0.1, 0)(x − 0.05)x

0.0025

)(y − 0.04)(y − 0.08)(y − 0.12)

−0.000384

+

(f(0, 0.04)

(x − 0.05)(x − 0.1)

0.005+ f(0.05, 0.04)

x(x − 0.1)

−0.0025

+f(0.1, 0.04)(x − 0.05)x

0.0025

)y(y − 0.08)(y − 0.12)

0.000128

+

(f(0, 0.08)

(x − 0.05)(x − 0.1)

0.005+ f(0.05, 0.08)

x(x − 0.1)

−0.0025

+f(0.1, 0.08)(x − 0.05)x

0.0025

)y(y − 0.04)(y − 0.12)

−0.000128

+

(f(0, 0.12)

(x − 0.05)(x − 0.1)

0.005+ f(0.05, 0.12)

x(x − 0.1)

−0.0025

+f(0.1, 0.12)(x − 0.05)x

0.0025

)y(y − 0.08)(y − 0.04)

−0.000384

Exercıcio 4.8.1 Considere a funcao

f(x, y) = sin

(π2

180xy

), (x, y) ∈ [0.4, 0.6] × [0.4, 1],

cujo grafico e dado na figura seguinte.

0.40.45

0.5

0.55x0.4

0.6

0.8

1

y

0.6

0.8

1

0.40.45

0.5

0.55x

Figura 4.7: Funcao f(x, y) = sin(

π2

180xy), com (x, y) ∈ [0.4, 0.6] × [0.4, 1].

A tabela seguinte tem os valores da funcao anterior nos pontos (x, y) da rede rectangular0.4, 0.5, 0.6 × 0.4, 0.6, 0.8, 1:

yi 0.4 0.6 0.8 1xi

0.4 0.00877 0.01390 0.01754 0.021930.5 0.01096 0.01644 0.02193 0.027410.6 0.01315 0.01973 0.02631 0.03289

.

Page 114: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 114

1. Construa o polinomio interpolador de Lagrange de f nos pontos da rede.

2. Determine um valor aproximado para f(0.5, 0.7) e compare o resultado obtido com o valorexacto.

Estimemos seguidamente o erro cometido ao aproximar uma funcao f definida em [a, b]×[c, d] pelo seu polinomio interpolador de Lagrange. Em [a, b] × [c, d] consideremos a rederectangular (4.25) e sejam

hx = maxi=1,...,n

(xi − xi−1), hy = maxj=1,...,m

(yj − yj−1).

Seja p(x, y) o polinomio interpolador de Lagrange de grau n em x e m em y que e interpoladorde f na rede rectangular anterior. O nosso objectivo e determinar uma estimativa para

‖f − P‖∞ = max(x,y)∈[a,b]×[c,d]

|f(x, y) − p(x, y)|.

Notemos que‖f − P‖∞ 6 ‖f − P‖∞ + ‖P − P‖∞, (4.26)

em que

P (x, y) =n∑

i=0

f(xi, y)ℓi(x).

Entao,

f(x, y) − P (x, y) =

∂n+1f

∂xn+1(η, y)

4(n + 1)!

n∏

i=0

(x − xi),

e portanto

‖f − P‖∞ 6hn+1

x

4(n + 1)

∥∥∥∥∂n+1f

∂xn+1

∥∥∥∥∞

.

Relativamente a segunda parcela do segundo membro de (4.26), notamos que

P (x, y) − P (x, y) =

n∑

i=0

(f(xi, y) −m∑

j=0

f(xi, yj)ℓj(y))ℓi(x)

=1

4(m + 1)!

m∏

j=0

(y − yj)n∑

i=0

∂m+1f

∂ym+1(xi, η2)ℓi(x)

=1

4(m + 1)!

m∏

j=0

(y − yj)

[∂m+1f

∂ym+1(xi, η2) +

n∑

i=0

∂m+1f

∂ym+1(xi, η2)ℓi(x)

−∂m+1f

∂ym+1(xi, η2)

]

=1

4(m + 1)!

m∏

j=0

(y − yj)

[∂m+1

∂ym+1(xi, η2) +

1

4(n + 1)!

∂(m+1)(n+1)

∂xn+1ym+1(η1, η2)

]

Logo, temos

‖P − P‖∞ 6hm+1

y

4(m + 1)

[∥∥∥∥∂m+1

∂ym+1

∥∥∥∥∞

+hn+1

x

4(n + 1)

∥∥∥∥∥∂(m+1)(n+1)f

∂xn+1ym+1

∥∥∥∥∥∞

]

Page 115: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 115

Substituindo em (4.26) obtemos

‖f − P‖∞ 6hn+1

x

4(n + 1)

∥∥∥∥∂n+1f

∂xn+1

∥∥∥∥∞

+hm+1

y

4(m + 1)

[∥∥∥∥∂m+1

∂ym+1

∥∥∥∥∞

+hn+1

x

4(n + 1)

∥∥∥∥∥∂(m+1)(n+1)f

∂xn+1ym+1

∥∥∥∥∥∞

].

Provamos o seguinte teorema.

Teorema 4.30 Seja f uma funcao que tem, em [a, b]× [c, d], as seguintes derivadas parciaiscontınuas

∂m+1

∂ym+1,

∂n+1

∂xn+1,

∂(m+1)(n+1)f

∂xn+1ym+1.

Em [a, b] × [c, d] consideremos a rede rectangular (4.25) e sejam

hx = maxi=1,...,n

(xi − xi−1), hy = maxj=1,...,m

(yj − yj−1).

Se P (x, y) e o polinomio inetrpolador de Lagrange de grau n em x e m em y que verifica

P (xi, yj) = f(xi, yj), i = 0, . . . , n, j = 0, . . . ,m,

entao

‖f − P‖∞ 6hn+1

x

4(n + 1)

∥∥∥∥∂n+1f

∂xn+1

∥∥∥∥∞

+hm+1

y

4(m + 1)

[∥∥∥∥∂m+1

∂ym+1

∥∥∥∥∞

+hn+1

x

4(n + 1)

∥∥∥∥∥∂(m+1)(n+1)f

∂xn+1ym+1

∥∥∥∥∥∞

].

Exercıcio 4.8.2 Determine o polinomio de Lagrange de grau 1 em x e de grau 2 em y inter-polador da funcao f(x, y) = x + y2/2, com (x, y) ∈ [0, 1] × [0, 2], cujo grafico e dado na figuraseguinte.

00.2

0.40.6

0.81

x0

0.5

1

1.5

2

y

0

1

2

3

00.2

0.40.6

0.8x

Figura 4.8: Funcao f(x, y) = x + y2/2, com (x, y) ∈ [0, 1] × [0, 2].

Determine uma estimativa para o erro que se comete ao aproximar f pelo polinomio anterior.

4.9 Exercıcios de aplicacao a engenharia

Exercıcio 4.9.1 Conhecem-se as coordenadas de cinco pontos de uma curva plana, que repre-senta uma regiao de uma peca em corte. Determine o polinomio de Lagrange de grau 4 queinterpola a referida curva sabendo que os pontos de coordenadas conhecidas sao: P1 = (1, 2),P2 = (2, 1), P3 = (3, 1), P4 = (4, 2.5) e P5 = (5, 4). Determine ainda valores aproximados paraas ordenadas dos pontos cujas abcissas sao 0, 2.5 e 6.

Page 116: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 116

Exercıcio 4.9.2 Na seguinte tabela sao dados diferentes valores para o peso especıfico p daagua a diferentes temperaturas t (em graus centıgados):

t 0 1 2 3

p 0.999871 0.999928 0.999969 0.999991.

Usando interpolacao linear, quadratica e cubica, determine uma aproximacao para p quandot = 4o C usando a formula interpoladora de Lagrange e de Newton. Compare os resultadosobtidos sabendo que o valor exacto e 1.000000.

Exercıcio 4.9.3 Durante a sedimentacao da reaccao de saponificacao entre quantidades equimo-lares de hidroxido de sodio e acetato de etilo, a concentracao c (g mole/litro) de cada reagentevaria com o tempo t (min) de acordo com a equacao

1

c=

1

c0+ kt,

onde c0 e a concentracao inicial e k (litro/g mole min) e a constante de reaccao. Foram obtidosos seguintes resultados em laboratorio a temperatura de 77o F :

1/c 24.7 32.4 38.4 45.0 52.3 65.6 87.6 102 154 192

t 1 2 3 4 5 7 10 12 20 25.

1. Obtenha uma estimativa para a concentracao inicial.

2. Obtenha uma estimativa para a concentracao ao fim de 15 minutos e compare-a com asolucao obtida em laboratorio (ao fim de 15 minutos obteve-se 1/c = 135).

Exercıcio 4.9.4 O censo da populacao dos Estados Unidos, entre 1930 e 1980, produziu osseguintes resultados:

Ano 1930 1940 1950 1960 1970 1980

Populacao (×103) 123203 131669 150697 179323 203212 226505.

Use um metodo de diferencas finitas apropriado para estimar a populacao nos anos de 1920,1965, e 2000. Sabendo que a populacao no ano de 1920 era de 105711×103 , o que pode inferirquanto a precisao das aproximacoes obtidas para os anos de 1965 e 2000?

Exercıcio 4.9.5 Determine uma aproximacao para o instante na da passagem do perigeu da Luaem Marco, 1999, a partir dos valores tabelados para as zero horas de cada dia; indique tambema distancia (em raios medios da Terra) da Terra a Lua nesse instante.

dia 19 20 21

distancia 57.071 56.955 57.059.

Exercıcio 4.9.6 Determine uma aproximacao para a declinacao aparente de Venus para o dia8 de Maio de 1999, as 18h30m45s, por interpolacao cubica a partir das Efemerides Astronomicas(onde esta tabelada para cada dia, as zero horas)

dia 7 8 9 10

δi +5o51′47′′.55 +6o22′25′′.20 +6o52′54′′.57 +6o23′14′′.96.

Page 117: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 117

Exercıcio 4.9.7 Considere a seguinte tabela de valores da gravidade especıfica do acido fosforicocomo funcao da percentagem de H3PO4.

H3PO4,% Grav. esp.

0 1.00001 1.00382 1.00924 1.02006 1.03098 1.042010 1.053212 1.064714 1.076416 1.088418 1.100820 1.113422 1.126324 1.139526 1.152928 1.166530 1.1805

H3PO4,% Grav. esp.

35 1.21640 1.25445 1.29350 1.33555 1.37960 1.42665 1.47570 1.52675 1.57980 1.63385 1.68990 1.74692 1.77094 1.79496 1.81998 1.844100 1.870

.

1. Aproxime os dados usando interpolacao polinomial. Comente os resultados obtidos.

2. Use a funcao determinada por interpolacao para tabelar a gravidade especıfica obtida parapercentagens de 0, 5, 10, . . . , 100 de H3PO4.

Exercıcio 4.9.8 Deslocando-se um receptor de GPS num veıculo ao longo do eixo de umaestrada, em Angola, obtiveram-se as coordenadas locais:

latitude φ 26′ 56′′.1 26′ 50′′.4 27′ 02′′.7 26′ 58′′.3

longitude λ 5′ 36′′ 5′ 56′′ 6′ 16′′ 6′ 36′′.

Aproximando o eixo da estrada por um spline natural determine:

1. a latitude da estrada quando a longitude e λ = 6′;

2. as coordenadas da estrada no ponto mais perto do equador, supondo que isso aconteceentre 6′ 16′′ e 6′ 36′′ de longitude.

Exercıcio 4.9.9 1. Usando um spline cubico livre, determine uma aproximacao para a de-clinacao aparente de Venus para o dia 9 de Maio de 1999, as 18h30m45s, a partir dasEfemerides Astronomicas (onde esta tabelada para cada dia, as zero horas)

dia 8 9 10

δi +6o22′25′′.20 +6o52′54′′.57 +6o23′14′′.96.

2. A partir da funcao obtida na alınea anterior, determine uma aproximacao para o instanteem que a declinacao aparente de Venus no dia 9 de Maio de 1999 foi maxima.

Page 118: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 118

Exercıcio 4.9.10 A estrela S da Ursa Maior apresenta uma variacao para a sua magnitudeaparente m, em funcao do angulo de fase θ (em graus), de acordo com os dados da seguintetabela:

θ −60 −20 20

m 9.40 11.39 10.84.

Usando um spline cubico livre, determine uma aproximacao para o angulo de fase pertencente aointervalo [−20, 20] em que a magnitude aparente da estrela e maxima.

Exercıcio 4.9.11 Um carro percorre uma rua, em linha recta, tendo sido efectuados os seguintesregistos:

tempo (t) em segundos 0 5 10

distancia (d) em metros 0 90 150velocidade (v) em km/hora 40 40

.

Usando o spline cubico completo interpolador da funcao distancia nos pontos dados, indique,justificando, uma aproximacao para:

1. o primeiro instante em que o carro excedeu o limite de velocidade permitido dentro daslocalidades;

2. o instante em que o carro atingiu a velocidade maxima nos primeiros 5 segundos.

Exercıcio 4.9.12 Considere a carta dada na Figura 4.9. Usando curvas de Bezier:

Figura 4.9: Carta topografica.

Page 119: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Interpolacao polinomial 119

1. aproxime a estrada Cruz Alta - Bucaco desde o seu inıcio ate ao quarto entroncamento;

2. aproxime a curva de nıvel de 500 m.

4.10 Referencias bibliograficas

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

B.J. Caraca (1989), Conceitos Fundamentais da Matematica, 9a ed., Livraria Sa Costa,Lisboa.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

H. Goldstine (1977), A History of Numerical Analysis from 16th Through the 19th Century,Springer-Verlag, New York.

J.R. Rice (1983), Numerical Methods, Software, and Analysis, McGraw-Hill, Tokyo.

M. Rosa (1992), Topicos de Analise Numerica, Textos de Apoio, DMUC, Coimbra.

M.R. Valenca (1988), Metodos Numericos, INIC, Braga.

Page 120: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 5

Derivacao e integracao numerica

5.1 Breve referencia historica

As ideias principais subjacentes ao aparecimento das formulas de quadratura numerica saobastante antigas. Os primeiros passos nesse sentido foram dados, no seculo V a.C., pelosfilosofos gregos Democrito de Abdera (560? a.C - 370? a.C) e Leucipo de Mileto (480? a.C -420? a.C) que apresentaram os rudimentos so chamado metodo da exaustao. Este metodo,que permitia calcular, de forma aproximada, areas de figuras geometricas, foi colocado embases cientıficas, no seculo IV a.C., pelo matematico grego Eudoxo. Foi, no entanto Arquimedesde Siracusa (287 a.C - 212 a.C.) quem, cerca de 225 a.C., efectuou um dos mais significativoscontributos de toda a matematica grega ao mostrar, usando o metodo da exaustao, que aarea de um segmento de parabola e igual a 4/3 da area do triangulo com a mesma base e omesmo vertice.

No ocidente, poucos foram os trabalhos nesta area ate aos finais do seculo XVI. No entanto,durante a idade media, os matematicos arabes, chineses e indianos continuaram a desenvolvero metodo da exaustao de Arquimedes, aplicando-o ao calculo de areas e volumes de figurasbastante complexas. De salientar o trabalho do matematico persa Abu Ali al Hassan ibn al-Haytham (965-1039), conhecido no ocidente pelo nome de Alhazen, que, baseado no metodode Arquimedes, determinou o volume de um paraboloide de revolucao.

No inıco do seculo XVII, sobretudo devido aos problemas propostos pela mecanica, mate-maticos como Luca Valerio (1552-1618) e Johannes Kepler (1571-1630) recuperaram o metododa exaustao para determinar areas de figuras geometricas. Foram, no entanto, os trabalhosde Pierre Fermat (1601-1665), Gilles Personne de Roberval (1602-1675) e Bonaventura FrancescoCavalieri (1598-1647) que contribuiram decisivamente para a afirmacao das tecnicas de inte-gracao tal com as conhecemos hoje. Por exemplo, Cavalieri, cerca de 1639, que descobriugeometricamente a chamada regra de Simpson (que e tambem a segunda formula de Newton-Cotes) e que consiste em aproximar o valor do integral de uma determinada funcao numintervalo palo integral do seu polinomio interpolador do segundo grau.

Outros matematicos do sec. XVII que trabalharam nesta area foram James Gregory (1638-1675) (que tambem conhecia a regra de Simpson), que deduziu uma nova regra de integracaodesignada actualmente por regra de Gregory, e Isaac Newton (1643-1727) pelas razoes jaapresentadas para a interpolacao.

De entre os matematicos do sec. XVIII salientamos, pela sua contribuicao nesta, ThomasSimpson (1710-1761), que apresentou o seu trabalho em 1743, Roger Cotes (1681-1761) e Carl

120

Page 121: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 121

Friedrich Gauss (1777-1855) que descobriu as famosas formulas de quadratura com o seu nome.

5.2 Derivacao numerica

Acontece frequentemente sermos confrontados com a necessidade de determinar valores daderivada de uma funcao num conjunto de pontos conhecendo o valor da funcao apenas nessespontos. Na impossibilidade de obter esses valores de forma exacta, vamos considerar a suaaproximacao atraves do valor da derivada do polinomio interpolador da funcao nos referidospontos.

Para o estudo que iremos efetuar nesta seccao, consideremos uma funcao f ∈ Cn+1([a, b])conhecida num conjunto de pontos da particao uniforme

a = x0 < x1 < · · · < xn = b, (5.1)

com xi − xi−1 = h, i = 1, . . . , n.

5.2.1 Aproximacao da primeira derivada

Queremos aproximar a derivada de f num dos pontos xk, k ∈ 0, 1, . . . , n, da particao (5.1).Usando a formula interpoladora de Lagrange temos que, para x ∈]a, b[,

f(x) =n∑

i=0

f(xi)ℓi(x) +f (n+1)(ξ)

(n + 1)!w(x),

sendo ℓi, i = 0, . . . , n, os polinomios de Lagrange dados por (4.5), w a funcao dada por (4.8)e ξ ∈]a, b[ um valor que depende de x. Derivando esta expressao obtemos

f ′(x) =

n∑

i=0

f(xi)ℓ′i(x) +

(f (n+1)(ξ)

(n + 1)!w(x)

)′

.

Podemos, assim, considerar a aproximacao

f ′(x) ≈n∑

i=0

f(xi)ℓ′i(x),

com erro dado por

e(x) :=

(f (n+1)(ξ)

(n + 1)!w(x)

)′

=

(f (n+1)(ξ)

)′

(n + 1)!w(x) +

w′(x)

(n + 1)!f (n+1)(ξ)

Ora, como se sabe,

w′(x) =

n−1∑

l=0

n−1∏

j=0,j 6=l

(x − xj);

a dificuldade reside no calculo de(f (n+1)(ξ)

)′, uma vez que ξ depende de x. No entanto, para

um ponto x = xk, k ∈ 0, 1, . . . , n, da particao (5.1) temos que w(xk) = 0 e como tal

f ′(xk) =

n∑

i=0

f(xi)ℓ′i(xk) +

f (n+1)(ξ)

(n + 1)!w′(xk), (5.2)

Page 122: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 122

Como xk − xj = (k − j)h temos que a formula que nos permite aproximar a derivada e

f ′(xk) ≈n∑

i=0

f(xk + (i − k)h)ℓ′i(xk), (5.3)

e o erro cometido e dado por

e(xk) = hn f (n+1)(ξ)

(n + 1)!

n−1∑

l=0

n−1∏

j=0,j 6=l

(k − j).

Podemos entao concluir que|e(xk)| 6 Cn+1h

n,

onde Cn+1 e um valor que nao depende de h. Por este facto dizemos que a formula usada paraaproximar a derivada da funcao e de ordem n. E tambem usual usar a notacao e(xk) = O(hn).

Observacao 5.1 Se existir uma constante positiva C tal que

Cn+1 6 C, ∀n ∈ IN,

concluımos que o aumento do numero de pontos de interpolacao implica uma diminuicao doerro cometido na aproximacao (5.3).

Atendendo a que, pela formula interpoladora de Newton das diferencas progressivas, opolinomio interpolador de f nos pontos da particao (5.1) e dado por

f(x0) +

n∑

i=1

∆if(x0)

i!hi

i−1∏

j=0

(x − xj),

resulta que a formula (5.3) pode ser escrita na forma (prove)

f ′(xk) ≈n∑

i=0

∆if(x0)

i!h

i−1∑

l=0

i−1∏

j=0,j 6=l

(k − j)

. (5.4)

A formula de diferencas finitas (5.4), convenhamos, nao e nada simpatica. Vamos particu-lariza-la deduzindo varios formulas de diferencas finitas para aproximar a derivada de umafuncao f .

Formulas com dois pontos

Usando a formula interpoladora de Newton temos que, para x ∈ [xk, xk+1], k = 0, . . . , n − 1,

f(x) = f(xk) +f(xk) − f(xk+1)

h(x − xk) +

f ′′(ξ)

2(x − xk)(x − xk+1), ξ ∈]xk, xk+1[.

Derivando sai que

f ′(xk) =f(xk) − f(xk+1)

h− h

f ′′(ξ)

2, ξ ∈]xk, xk+1[,

Page 123: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 123

e

f ′(xk+1) =f(xk) − f(xk+1)

h+ h

f ′′(ξ)

2ξ ∈]xk, xk+1[.

Obtemos assim duas formulas de diferencas finitas de primeira ordem para aproximar aprimeira derivada de uma funcao num ponto. A

f ′(xk) =f(xk) − f(xk+1)

h

e usual chamar formula de diferencas progressivas e a

f ′(xk) =f(xk−1) − f(xk)

h

costuma chamar-se formula de diferencas regressivas.

Formulas com tres pontos

Para obter formulas mais precisas para aproximar a primeira derivada de uma funcao numponto, vamos considerar formulas com mais pontos. As formulas de diferencas progressivas,centradas e regressivas com tres pontos sao as seguintes:

1. f ′(xk) =1

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

h2

3f ′′′(ξ0);

2. f ′(xk) =1

2h[−f(xk−1) + f(xk+1)] −

h2

6f ′′′(ξ1);

3. f ′(xk) =1

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

h2

3f ′′′(ξ2);

Vamos so deduzir a segunda formula. Assim, temos que

f(x) = f(xk−1) +∆f(xk−1)

h (x − xk−1) +∆2f(xk−1)

2h2 (x − xk−1)(x − xk)

+ f ′′′(ξ)6 (x − xk−1)(x − xk)(x − xk+1), ξ1 ∈]xk−1, xk+1[.

Derivando sai que

f ′(xk) =∆f(xk−1)

h +∆2f(xk−1)

2h2 [(xk − xk−1) + (xk − xk)]

+ f ′′′(ξ1)6 (xk − xk−1)(xk − xk+1), ξ1 ∈]xk−1, xk+1[).

Atendendo a que

xi f(xi) ∆f(xi) ∆2f(xi)

xk−1 f(xk−1)f(xk) − f(xk−1)

xk f(xk) f(xk+1) − 2f(xk) + f(xk−1)f(xk+1) − f(xk)

xk+1 f(xk+1)

Page 124: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 124

temos

f ′(xk) =f(xk) − f(xk−1)

h+

f(xk+1) − 2f(xk) + f(xk−1)

2h− h2 f ′′′(ξ1)

6,

com ξ1 ∈]xk−1, xk+1[, ou seja

f ′(xk) =1

2h[−f(xk−1) + f(xk−1)] − h2 f ′′′(ξ)

6, ξ1 ∈]xk−1, xk+1[.

Exercıcio 5.2.1 Considere os seguintes valores da funcao f(x) = xex:

xi 1.8 1.9 2.0 2.1 2.2

f(xi) 10.889365 12.703199 14.778112 17.148957 19.855030.

Aproxime o valor de f ′(2.0) = 22.167168 usando as formulas de diferencas finitas dadas noexercıcio anterior e compare os erros cometidos.

Resolucao: Vamos considerar as tres formulas separadamente.

• Formula progressiva de segunda ordem com h = 0.1.

f ′(2.0) ≈ 1

0.2[−3f(2.0) + 4f(2.1) − f(2.2)] = 22.032310.

O erro cometido e aproximadamente 1.35 × 10−1.

• Formula regressiva de segunda ordem com h = 0.1.

f ′(2.0) ≈ 1

0.2[f(1.8) − 4f(1.9) + 3f(2.0)] = 22.054525.

O erro cometido e aproximadamente 1.13 × 10−1.

• Formula centrada de segunda ordem com h = 0.1.

f ′(2.0) ≈ 1

0.2[f(2.1) − f(1.9)] = 22.228790.

O erro cometido e aproximadamente −6.16 × 10−2.

Note-se que o erro cometido quando se usa a formula de diferencas centradas.

Exercıcio 5.2.2 Elabore um algoritmo que permita obter o valor aproximado da primeira deri-vada de uma funcao num ponto a custa da formula 5.4.

5.2.2 Aproximacao da segunda derivada. Algumas formulas

Queremos aproximar a segunda derivada de f num dos pontos xk, k ∈ 0, 1, . . . , n, daparticao (5.1). Poderıamos, tal como para a primeira derivada, usar o polinomio interpoladorna deducao das formulas para a segunda derivada. A obtencao de estimativas para o erroe, no entanto, mais complicada. Um processo alternativo para a deducao das formulas dederivacao (e respectivo erro) faz uso da serie de Taylor da funcao.

Desenvolvendo f em serie de Taylor em torno do ponto xk temos:

f(xk+1) = f(xk) + f ′(xk)h +h2

2f ′′(xk) +

h3

6f ′′′(xk) +

h4

24f (4)(ξ1), ξ1 ∈]xk, xk+1[;

Page 125: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 125

f(xk−1) = f(xk) − f ′(xk)h +h2

2f ′′(xk) −

h3

6f ′′′(xk) +

h4

24f (4)(ξ2), ξ2 ∈]xk−1, xk[.

Se adicionarmos estas duas expressoes obtemos

f ′′(xk) =1

h2[f(xk−1 − 2f(xk) + f(xk+1)] −

h2

24

(f (4)(ξ1) + f (4)(ξ2)

).

Admitindo que f (4) e contınua em [xk−1, xk+1], o Teorema de Bolzano permite concluir queexiste um ξ ∈]xk−1, xk+1[ tal que

f (4)(ξ) =1

2

(f (4)(ξ1) + f (4)(ξ2)

).

Assim

f ′′(xk) =1

h2[f(xk−1) − 2f(xk) + f(xk+1)] −

h2

12f (4)(ξ). (5.5)

Esta formula e conhecida como formula de diferencas centradas de segunda ordem para aproxi-mar a segunda derivada. Por um raciocınio semelhante poderiam ser obtidas outras formulasde diferencas finitas para aproximar a segunda derivada, nao so centradas como tambemprogressivas e regressivas.

Exercıcio 5.2.3 Considere, de novo, os valores da funcao f(x) = xex dados na tabela doExercıcio 5.2.1. Aproxime o valor de f ′′(2.0) = 29.556224 usando a formula de diferencas finitascentradas de segunda ordem.

Resolucao: Temos que

f ′′(2.0) ≈ 1

0.01[f(1.9) − 2f(2.0) + f(2.1)] = 29.593200.

O erro cometido e aproximadamente −3.7 × 10−2.

Exercıcio 5.2.4 Mostre, a partir do polinomio interpolador de Lagrange da funcao f nos pontosx0, x1 e x2, tais que x1 − x0 = h e x2 − x1 = αh, que

f ′′(x) ≈ 2

h2

[f(x0)

1 + α− f(x1)

α+

f(x2)

α(1 + α)

].

Verifique que quando α = 1 se recupera a formula das diferencas centradas.

Exercıcio 5.2.5 Prove que

f ′′(xk) =1

12h2[−f(xk−2) + 16f(xk−1) − 30f(xk) + 16f(xk+1) − f(xk+2)] +

h4

90f (4)(ξ),

com ξ ∈ (xk−2, xk+2).

Page 126: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 126

5.2.3 Aproximacao de derivadas de ordem superior

O estudo efectuado pode ser generalizado para obter formulas de diferencas finitas para apro-ximar derivadas de ordem superior. Essas formulas podem ser obtidas quer por interpolacaoquer recorrendo a serie de Taylor.

Exercıcio 5.2.6 Prove que:

1. f ′′′(xk) =1

2h3[−f(xk−2) + 2f(xk−1) − 2f(xk+1) + f(xk+2)] −

h2

4f (5)(ξ1);

2. f (4)(xk) =1

h4[f(xk−2) − 4f(xk−1) + 6f(xk) − 4f(xk+1) + f(xk+2)] −

h2

6f (6)(ξ2).

Um algoritmo para obter formulas de diferencas finitas de qualquer ordem para aproximarqualquer derivada de uma funcao pode ser visto em Fornberg (1988).

5.3 Integracao numerica

Para muitas funcoes a obtencao de primitivas em termos de funcoes elementares e uma tarefadifıcil ou mesmo impossıvel; e o que acontece quando a funcao a primitivar e apenas conhecidanum conjunto discreto de pontos. Nesta seccao vamos obter e analisar as chamadas formulasde quadratura numerica que permitem determinar, de forma aproximada, o integral definidode uma funcao num dado intervalo real.

A grande maioria das formulas existentes baseia-se na ideia de substituir a funcao in-tegranda por uma outra pertencente a uma determinada famılia de funcoes φn(x), n =0, 1, . . ., e considerar

I(f) =

∫ b

af(x)dx ≈

∫ b

aφn(x)dx,

requerendo,usualmente, que

e(f) =

∫ b

a(f(x) − φn(x))dx −→ 0, n −→ ∞.

5.3.1 Formulas de Newton-Cotes

Um processo eficaz de determinar essa famılia de funcoes recorre ao uso da interpolacao. Sejaf uma funcao conhecida em n+1 pontos a = x0 < x1 < · · · < xn−1 < xn = b. Como e sabido,existe um e um so polinomio Pn de grau menor ou igual a n interpolador de f nos pontosdados tal que f(x) = Pn(x) + en(x), onde

en(x) =f (n+1)(ξ)

(n + 1)!w(x), ξ ∈ (a, b),

e w dado por (4.8). Assim,

I(f) =

∫ b

af(x)dx =

∫ b

aPn(x)dx +

∫ b

aen(x)dx.

Page 127: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 127

Atendendo a definicao do polinomio interpolador temos que

I(f) =

∫ b

af(x)dx ≈

n∑

i=0

aif(xi), (5.6)

com

ai =

∫ b

ali(x)dx,

sendo li as funcoes de Lagrange dadas por (4.5). O erro cometido e da forma

e(f) =

∫ b

a

f (n+1)(ξ)

(n + 1)!w(x)dx.

As formulas (5.6) sao conhecidas como Formulas de Newton-Cotes e dependem, obviamente,do grau do polinomio escolhido.

Observacao 5.2 Note-se que, quando se usam as formulas de Newton-Cotes, se aproxima ointegral de uma funcao f pelo integral de um polinomio.

Uma vez que a n-esima formula de Newton-Cotes e obtida a custa da aproximacao dafuncao integranda por um polinomio de grau n, sera de esperar que esta seja exacta parapolinomios de grau menor ou igual a n. Este facto conduz-nos ao conceito de ordem deprecisao de uma formula de quadratura numerica.

Definicao 5.3 Uma formula de quadratura numerica diz-se com ordem de precisao n se eexacta para polinomios de grau menor ou igual a n.

Formula dos Trapezios

y=f(x)

-1 -0.5 0.5 1 1.5 2 2.5

2

4

6

8

10

12

ba

Figura 5.1: Formula dos Trapezios.

Vamos considerar o caso em que pretendemos aproximar uma funcao f ∈ C2([a, b]) porum polinomio do primeiro grau que passa pelos pontos (a, f(a)) e (b, f(b)). Como e sabido

f(x) = f(a) +f(b) − f(a)

b − a(x − a) +

f ′′(ξ)

2(x − a)(x − b),

Page 128: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 128

com ξ ∈ (a, b) um valor que depende de x. Assim

∫ b

af(x)dx =

∫ b

a

(f(a) +

f(b) − f(a)

b − a(x − a)

)dx +

∫ b

a

f ′′(ξ)

2(x − a)(x − b)dx

= f(a)(b − a) +1

2(f(b) − f(a))(b − a) +

∫ b

a

f ′′(ξ)

2(x − a)(x − b)dx.

Como (x − a)(x − b) nao muda de sinal em (a, b) temos, pelo Teorema do Valor Medio paraintegrais, que

∫ b

af(x)dx = f(a)(b − a) +

1

2(f(b) − f(a))(b − a) +

f ′′(η)

2

∫ b

a(x − a)(x − b)dx,

com η ∈ (a, b). Deduzimos assim a chamada formula dos Trapezios

∫ b

af(x)dx ≈ b − a

2[f(a) + f(b)], (5.7)

para aproximar o valor do integral definido de uma funcao. O valor do erro cometido naaproximacao anterior e dado por

eT (f) := −(b − a)3

12f ′′(η), η ∈ (a, b).

Observacao 5.4 Note-se que a expressao do erro associado a formula dos Trapezios permiteafirmar, como seria de esperar, que esta tem ordem de precisao um.

Formula de Simpson

Consideremos agora o caso em que se pretende aproximar uma funcao f ∈ C3([a, b]) porum polinomio do segundo grau que passa pelos pontos (a, f(a)), (c, f(c)) e (b, f(b)), comc = (a + b)/2. Como foi visto no capıtulo anterior

f(x) = f(a)+f(c) − f(a)

c − a(x−a)+

f(b) − 2f(c) − f(a)

(b − a)(b − c)(x−a)(x−c)+

f ′′′(ξ)

6(x−a)(x−c)(x−b),

com ξ ∈ (a, b) um valor que depende de x.

Exercıcio 5.3.1 Prove que o valor do integral

∫ b

a

(f(a) +

f(c) − f(a)

c − a(x − a) +

f(b) − 2f(c) − f(a)

(b − a)(b − c)(x − a)(x − c)

)dx,

com c = a+b2 , e dado por

b − a

6[f(a) + 4f(c)) + f(b)] .

Pelo exercıcio anterior podemos obter a seguinte formula de integracao

∫ b

af(x)dx ≈ b − a

6

[f(a) + 4f

(a + b

2

)+ f(b)

], (5.8)

Page 129: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 129

y=f(x)

-1 -0.5 0.5 1 1.5 2 2.5

2.5

5

7.5

10

12.5

15

a

(a+b)/2

b

Figura 5.2: Formula de Simpson.

conhecida por formula de Simpson.

Ao contrario do que foi efectuado para a formula dos Trapezios, neste caso nao podemosaplicar o Teorema do Valor Medio para integrais para determinar o erro cometido na aprox-imacao do valor do integral pela formula de Simpson uma vez que (x− a)(x− c)(x− a) mudade sinal em [a, b]. E possıvel, no entanto, demonstrar (ver Burden e Faires (1988)) que o erroassociado a formula de Simpson e dado por

eS(f) = −(b − a)5

2880f (4)(η), η ∈ (a, b).

Observacao 5.5 Uma vez que a formula de Simpson foi obtida pela aproximacao da funcaointegranda por um polinomio de segundo grau, seria de esperar que tivesse ordem de precisaodois. No entanto, de forma surpreendente, a expressao obtida para o erro diz-nos que aformula de Simpson tem ordem de precisao tres, isto e, esta formula e exacta sempre que afuncao a integrar e um polinomio de grau menor ou igual a tres!

5.3.2 Formulas compostas

Note-se que, se a amplitude do intervalo [a, b] for muito grande, os erros associados as formulasde quadratura numerica tambem sao elevados. Poderemos pensar entao em dividir o intervaloem n subintervalos [xi−1, xi], i = 1, . . . , n, de amplitude constante h = b−a

n e aplicar a formulade quadratura a cada um desses subintervalos.

Formula dos Trapezios composta

Se f ∈ C2([a, b]), aplicando a formula dos Trapezios a cada um dos subintervalos, temos

∫ b

af(x)dx =

n∑

i=1

∫ xi

xi−1

f(x)dx =n∑

i=1

(h

2[f(xi−1) + f(xi)] −

h3

12f ′′(ηi)

),

com ηi ∈ (xi−1, xi), i = 1, . . . , n. Concluımos entao que o integral pode ser dado aproximada-mente por ∫ b

af(x)dx ≈ h

2[f(x0) + 2f(x1) + · · · + 2f(xn−1) + f(xn)], (5.9)

Page 130: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 130

sendo o erro dado por

eT (f) := −h3

12

n∑

i=1

f ′′(ηi).

Ora, comon∑

i=1

f ′′(ηi) ∈[

minx∈[a,b]

f ′′(x), maxx∈[a,b]

f ′′(x)

],

pelo Teorema de Bolzano, existe um η ∈ (a, b) tal que

n∑

i=1

f ′′(ηi) = nf ′′(η).

Assim sendo,

eT (f) = −b − a

12h2f ′′(η), η ∈ (a, b).

A formula (5.9) e conhecida por formula dos Trapezios (composta).

Observacao 5.6 Na pratica a formula do erro aparece, normalmente, em valor absoluto. Eusual considerar a expressao

|eT (f)| 6b − a

12h2M2,

comM2 = max

x∈[a,b]|f ′′(x)|.

O valor do integral de uma determinada funcao f num intervalo [a, b] pela formula dosTrapezios pode ser dado de acordo com o seguinte algoritmo.

Algoritmo 5.1 Formula dos Trapezios

Ler n;

Ler a e b;

h := (b − a)/n;

x := a;

s := 0;

Para i de 1 ate n − 1 fazer

x := x + h;

s := s + f(x);

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

Escrever i ≈ IT .

Exercıcio 5.3.2 Seja I =

∫ −1

−2xe2xdx. Calcule, usando a formula dos Trapezios, o valor aprox-

imado de I com tres casas decimais correctas.

Page 131: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 131

Resolucao: Seja f(x) = xe2x. Temos que, para x ∈ [−2,−1], o erro para a formula dosTrapezios e dado por

|eT (x)| 61

12h2M2 =

1

12n2M2,

sendoM2 = max

x∈[−2,−1]|f ′′(x)| = max

x∈[−2,−1](−4e2x(x + 1)).

Se tomarmos g(x) = −4e2x(x + 1) temos que g′(x) = 0 ⇒ x = −1.5. Logo

M2 = maxg(−2), g(−1.5), g(−1) = 2e−3.

Vamos entao determinar qual o menor valor de n que satisfaz

e−n

2n26 0.5 × 10−3.

Efectuando os calculos, concluımos imediatamente que n > 4.074 o que implica n = 5.Necessitamos de 6 pontos igualmente distanciados no intervalo [−2,−1] para obter umaaproximacao ao valor de I com tres 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 so podemos garantir tres casas decimais correctas temos que I ≈ −0.079.

Formula de Simpson composta

Poderemos, tal como para a formula dos Trapezios, pensar em dividir o intervalo [a, b] numnumero n (neste caso n tem que ser um numero par) de subintervalos [xi−1, xi], i = 1, . . . , n,de amplitude constante h = b−a

n e aplicarmos a formula (5.8) a cada um desses subintervalos.

Exercıcio 5.3.3 De forma analoga ao efectuado na obtencao da formula dos Trapezios compostamostre que, para o caso da formula de Simpson se tem

∫ b

af(x)dx ≈ h

6[f(x0)+4f(x1)+2f(x2)+4f(x3)+· · ·+2f(xn−2)+4f(xn−1)+f(xn)], n par.

com erro

eS(f) := − h5

2880

n∑

i=1

f (4)(ηi).

A formula de integracao dada no exercıcio anterior e conhecida por formula de Simpson(composta). A determinacao do valor do erro que lhe esta associado pode ser feita de formasemelhante ao efectuado para a formula dos Trapezios composta. De facto, como

n∑

i=1

f (4)(ηi) ∈[

minx∈[a,b]

f (4)(x), maxx∈[a,b]

f (4)(x)

],

o Teorema de Bolzano permite afirmar que existe um η ∈ (a, b) tal que

n∑

i=1

f (4)(ηi) = nf (4)(η).

Page 132: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 132

Assim sendo,

eS(f) = − h5

2880nf (4)(η),

ou, o que e equivalente,

eS(f) = −b − a

180h4f (4)(η), η ∈ (a, b).

Observacao 5.7 Na pratica e usual considerar a formula do erro em valor absoluto. Assim,nos exercıcios praticos, iremos usar, sobretudo, a expressao

|eS(f)| 6b − a

180h4M4,

comM4 = max

x∈[a,b]|f (4)(x)|.

O valor do integral de uma determinada funcao f num intervalo [a, b] pela formula deSimpson pode ser dado de acordo com o seguinte algoritmo.

Page 133: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 133

Algoritmo 5.2 Formula de Simpson

Ler n;

Ler a e b;

h := (b − a)/n;

x := a;

s := 0;

Para i de 1 ate n − 1 fazer

x := x + h;

Se i par entao s := s + 2f(x) caso contrario s := s + 4f(x);

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

Escrever I ≈ IS .

Exercıcio 5.3.4 Melhore o algoritmo anterior.

Exercıcio 5.3.5 Seja I =

∫ 1

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

ximado de I com erro inferior a 10−3.

Resolucao: Seja f(x) = ex cos x. Temos que, para x ∈ [0, 1], o erro dado pela formula deSimpson e

|eS(x)| 61

180h4M4 =

1

180n4M4,

sendoM4 = max

x∈[0,1]|f (4)(x)| = max

x∈[0,1](4ex cos x).

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

M4 = maxg(0), g(π

4), g(1) = 2

√2eπ/4.

Vamos entao determinar qual o menor valor de n que satisfaz

√2eπ/4

90n46 10−3.

Efectuando os calculos, concluımos imediatamente que n > 2.42. Como n tem que ser partemos que n = 4. Entao, necessitamos de 5 pontos igualmente distanciados no intervalo[0, 1] para obter uma aproximacao ao valor de I um erro inferior ao pretendido. Assim,

I ≈ 1

12[f(0) + 4f(0.25) + 2f(0.5) + 4f(0.75) + f(1)] = 1.377903843.

Como so podemos garantir duas casas decimais correctas I ≈ 1.38.

Page 134: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 134

5.4 Exercıcios de aplicacao a engenharia

Exercıcio 5.4.1 A funcao

f(x) =2√π

∫ x

0e−t2dt

e usada com muita frequencia em disciplinas tao diversas como a teoria das probabilidades, dis-tribuicao de calor, difusao de materias, etc. Usando uma das regras de integracao estudadas,calcule uma aproximacao para o valor do referido integral indicando um majorante para o errocometido.

Exercıcio 5.4.2 Num circuito electrico com voltagem aplicada E(t) e inductancia L, a primeiraLei de Kirchoff da-nos a relacao

E(t) = LI ′(t)RI(t),

onde R e a resistencia no circuito e I(t) a corrente no instante t. Suponhamos que medimos acorrente para varios valores de t = ti, i = 1, . . . , 5, obtendo

ti 1.00 1.01 1.02 1.03 1.04

I(ti) 3.10 3.12 3.14 3.18 3.24,

onde tempo e medido em segundos, a corrente em amperes, a inductancia e uma constante dadapor L = 0.98 henries e a resistencia e 0.142 ohms. Aproxime a voltagem E nos valores de t dadosna tabela.

Exercıcio 5.4.3 Fugacidade e o termo usado na engenharia para descrever a trabalho resultantede um processo isotermico. Para um gas ideal, a fugacidade f e igual a pressao P , mas para osgases reais,

lnf

P=

∫ P

0

C − 1

Pdp

onde C e um factor de compressibilidade determinado experimentalmente. Para o metano osvalores de C sao

P (atm.) C

1 0.994010 0.937020 0.868340 0.704360 0.4515

P (atm.) C

80 0.3429120 0.4259160 0.5252250 0.7468400 1.0980

.

Escreva um programa que calcule o valor de f correspondente a cada valor da pressao dadona tabela. Assuma que o valor de C varia linearmente entre os valores calculados e que C tendepara um quando P tende para zero.

Exercıcio 5.4.4 Uma partıcula de massa m movendo-se num fluıdo esta sujeita a uma resistenciade viscosidade R, que e funcao da velocidade v. A relacao entre a resistencia R, a velocidade ve o tempo t e dada pela equacao

t =

∫ v(t)

v(t0)

m

R(u)du.

Page 135: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Derivacao e integracao numerica 135

onde R e a resistencia no circuito e I(t) a corrente. Suponhamos que R(v) = −v√

v paraum fluıdo particular, onde R e dado em newtons e v em metros/segundo. Se m = 10 kg ev(0) = 10 m/seg aproxime o tempo necessario para a partıcula reduzir a sua velocidade parav = 5 m/seg.

5.5 Referencias bibliograficas

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

B.J. Caraca (1989), Conceitos Fundamentais da Matematica, 9a ed., Livraria Sa Costa,Lisboa.

J. Carvalho e Silva e C. M. Franco Leal (1996), Anlise Matemtica Aplicada, McGraw-Hillde Portugal, Lisboa.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

B. Fornberg (1988), Generation of finite difference formulas on arbitrarily spaced grids,Math. Comp., 51, 699-706.

H. Goldstine (1977), A History of Numerical Analysis from 16th Through the 19th Century,Springer-Verlag, New York.

E. Hairer e G. Wanner (1996), Analysis by its History, Springer-Verlag, New York.

J.R. Rice (1983), Numerical Methods, Software, and Analysis, McGraw-Hill, Tokyo.

M. Rosa (1992), Topicos de Analise Numerica, Textos de Apoio, DMUC, Coimbra.

M.R. Valenca (1988), Metodos Numericos, INIC, Braga.

Page 136: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Capıtulo 6

Metodos numericos para problemasdiferenciais ordinarios

6.1 Breve referencia historica

Os trabalhos preliminares na area dos metodos numericos para a solucao de equacoes di-ferenciais sao devidos, entre outros, a Isaac Newton (1643-1729) e Gottfried Wilhelm Leibniz(1643-1716), no seculo XVII, bem como a Lehonard Euler (1707-1783), no seculo XVIII. Masfoi sobretudo devido aos trabalhos deste ultimo que foram impulsionados os estudos queconduziram aos metodos que hoje conhecemos.

Euler deduziu um processo iterativo que permitia determinar, de forma aproximada, asolucao de um problema de condicao inicial num determinado ponto. A demonstracao rigo-rosa de que, de facto, o processo por ele apresentado conduzia a solucao da equacao so foiapresentada mais tarde, em 1824, por Augustine Cauchy (1789-1857) e melhorada por RudolfLipschitz (1832-1908). No entanto, nem assim, o processo apresentado por Euler se tornoupopular. A tıtulo de exemplo, Karl Weierstrass (1815-1897), famoso matematico alemao doseculo XIX trabalhou nestes assuntos sem conhecer os trabalhos de Cauchy e Lipschitz.

Os finais do seculo XIX e princıpios do seculo XX foram muito profıquos ao florescimentode metodos numericos para a resolucao de equacoes diferenciais. Com os desenvolvimentosefectuados na teoria do calor por Fourier e na mecanica celeste por Adams, Bessel, Cauchy,Gauss, Laguerre, Laplace, Legendre, Leverrier, Poincare e outros vieram tornar imprescindıvela existencia de esquemas para determinar a solucao numerica de equacoes diferenciais. Abalıstica foi outra ciencia que comecou a exigir resultados nesta area.

Poderemos dividir os metodos numericos para determinar a solucao de equacoes diferen-ciais em duas grandes classes: por um lado, os chamados metodos de passo unico aos quaispertence o metodo de Euler-Cauchy-Lipschitz; por outro os chamados metodos de passomultiplo.

Os sucessores do metodo de Euler-Cauchy-Lipschitz foram apresentados por K. Heun em1900 e, sobretudo, por Carl Runge (1856-1927) em 1895 e 1908 e por Martin Wilhelm Kutta(1867-1944) em 1901, tendo sido considerados como generalizacoes das regras de integracao.Estes metodos tornaram-se bastante populares devido as suas propriedades e a sua facilutilizacao.1

1De notar que o primeiro sistema de equacoes diferenciais a ser resolvido pelo ENIAC foi integrado pelometodo de Heun.

136

Page 137: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 137

Dos primeiros e mais conhecidos metodos de passo multiplo para a resolucao de equacoesdiferenciais sao os chamados metodos de Adams. John Couch Adams (1819-1892), famosoastronomo britanico que descobriu, em co-autoria, o planeta Neptuno, baseou-se nos metodosteoricos propostos por Cauchy para apresentar um metodo novo que usou na integracao daequacao de Bashforth. Alias, foi num trabalho de Francis Bashforth (1819-1912) de 1883 queo metodo proposto por Adams foi apresentado, sendo por isso tambem conhecido por metodode Adams-Bashforth.

Foi possivelmente a primeira Grande Guerra que veio dar um forte impulso ao floresci-mento dos metodos numericos. A grande quantidade de calculos e a complexidade dos proble-mas que a balıstica exige nao poderiam ser efectuadas facilmente sem a ajuda destes processosalternativos. O primeiro contributo para o melhoramento dos metodos existentes foi dadopelo matematico americano Forest Ray Moulton (1872-1952) em 1925, propondo uma classede metodos conhecida por Adams-Moulton. Em 1928 apareceu um trabalho da autoria deRichard Courant (1888-1972), Kurt Friedrichs (1901-1982) e Hans Lewy que revolucionou todaa teoria dos metodos numericos para a resolucao de equacoes diferenciais.

No entanto foi so depois da segunda Grande Guerra e sobretudo depois do aparecimento doprimeiro computador e dos trabalhos de Herman Goldstine (1903-) e John von Neumann (1903-1957), em 1947, que estes metodos comecaram a ser usados de forma sistematica. Conceitoscomo ’erros de arredondamento’, ’numero de condicao’ e ’instabilidade numerica’ comecarama surgir e a tornar-se de capital importancia para o estudo da teoria subjacente. Os estudossobre metodos numericos para a resolucao de equacoes diferenciais comecaram a merecer aatencao de um numero crescente de matematicos e outros cientistas e hoje e uma das areasmais importantes e profıquas da Matematica em geral e da Analise Numerica em particular.

6.2 Introducao

As primeiras equacoes diferenciais sao tao antigas quanto o calculo diferencial. Newtonconsiderou-as, em 1671, no seu tratado de calculo diferencial e discutiu a sua solucao porintegracao e por expansao em serie. Leibniz, o segundo inventor do calculo, chegou as equcoesdiferenciais por volta de 1676 considerando o problema geometrico do ’inverso das tangentes’:para que curva y(x) a tangente em cada ponto P tem um comprimento constante (com o eixodos x’s), digamos a? Este problema conduziu a equacao y′ = −y/

√a2 − y2.

Em 1696, Johann Bernoulli (1667-1748) convidou os mais ilustres matematicos do seutempo para resolver o problema da braquistocrona (curva de tempo mınimo), principalmentepara refutar a resposta, que esperava errada, do seu irmao Jacob Bernoulli (1657-1705). Oproblema consistia em determinar a curva y(x) que une dois pontos P0 e P1 de tal modoque um ponto, partindo de P0 e ’deslizando’, nessa curva, sujeito apenas a forcas gravıticas,atinja P1 no menor tempo possıvel. A resposta a este problema foi dada dada por variosmatematicos (inclusive Jacob Bernoulli) e e, como se sabe, a ciclıode. Essa curva pode serdeterminada como sendo a solucao de uma equacao diferencial ordinaria.

Muitos problemas da engenharia e da ciencia tem como modelo equacoes diferenciais.Neste curso iremos efectuar uma breve introducao ao estudo dos metodos numericos para aresolucao de problemas que envolvem equacoes diferenciais. Os problemas que iremos con-siderar serao de dois tipos: problemas com condicao inicial e problemas com condicoes defronteira. Neste capıtulo nao iremos apresentar a demostracao de todos os teoremas; o alunointeressado podera ver essas demonstracoes nas obras referenciadas no final do capıtulo.

Page 138: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 138

6.3 Problemas com condicao inicial

6.3.1 Existencia e unicidade de solucao. Condicionamento

Consideremos uma equacao diferenciaL ordinaria de primeira ordem, isto e, uma equacao daforma

y′(t) = f(t, y), t ∈ [a, b], (6.1)

em que f : [a, b] × IR −→ IR. O estudo que iremos efectuar para este tipo de equacoes podeser facilmente generalizado a sistemas de equacoes diferencias ordinarias de primeira ordem,isto e, para o caso em que f : [a, b] × IRN −→ IRN . Por uma questao de simplificacao deexposicao optamos por apresentar o estudo para o caso escalar (N = 1).

Antes de se pensar em resolver uma determinada equacao diferencial ha que garantir queessa equacao tem solucao e que e unica. Note-se que a solucao equacao (6.1), se existir, naoe unica pois, ao integrarmos, introduzimos sempre uma constante de integracao.

Uma das condicoes para obter a unicidade da solucao e especificar y(t) num ponto t0 dointervalo [a, b], usualmente t0 = a. Ficamos assim com o problema de condicao inicial (PCI)

y′(t) = f(t, y), t ∈ [a, b],y(a) = α.

(6.2)

Apesar de contornado este problema ainda nao temos a garantia da existencia e unicidadeda solucao do PCI (6.2). Antes de apresentarmos o teorema que estabelece as condicoessuficientes para que o problema tenha solucao unica consideremos a seguinte definicao.

Definicao 6.1 Uma funcao f(t, y) verifica a condicao de Lipschitz (ou e lipschitziana), navariavel y, num conjunto D ⊂ IR2 se existir uma constante L > 0 tal que

|f(t, y1) − f(t, y2)| 6 L|y1 − y2|,

sempre que (t, y1), (t, y2) ∈ D. A L chama-se constante de Lipschitz.

Exercıcio 6.3.1 Prove que a funcao f(t, y) = t|y| e lipschitziana, na variavel y, no conjunto

D = (t, y) ∈ IR2 : 1 6 t 6 2; −3 6 y 6 4.

Resolucao: Temos que

|f(t, y1) − f(t, y2)| = |t|y1| − t|y2|| 6 2||y1| − |y2|| 6 2|y1 − y2|.

Logo, a constante de Lipschitz e L = 2.

O teorema seguinte (cuja demonstracao pode ser vista em Kress (1998)) estabelece con-dicoes suficientes para que um problema com condicao inicial tenha solucao unica.

Teorema 6.2 (Picard) Seja f(t, y) uma funcao contınua e lipschitziana (na variavel y) emD = (t, y) : a 6 t 6 b, y ∈ IR. Entao o PCI (6.2) tem solucao unica y(t) para t ∈ [a, b].

Page 139: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 139

Observacao 6.3 A demonstracao deste teorema estabelece um processo iterativo de aproxi-macao da solucao do PCI (6.2) conhecido por metodo de Emile Picard (1856-1941). Se f forcontınua em relacao a t, determinar a solucao do PCI (6.2) e equivalente a determinar y,continuamente diferenciavel, que verifica

y(t) = α +

∫ t

af(τ, y(τ))dτ. (6.3)

O que se prova na demonstracao do Teorema de Picard e que a sucessao de funcoes (yj(t))definida recursivamente por

y0(t) = α,

yj+1 = α +∫ ta f(τ, yj(τ)dτ. j = 0, 1, . . . ,

converge para a unica solucao de (6.3).

Como corolario do Teorema de Picard temos o seguinte resultado que apresentamos igual-mente sem demonstracao.

Corolario 6.4 Suponhamos que f(t, y) esta definida num conjunto convexo2 D ⊂ IR2. Seexistir uma constante L > 0 tal que

∣∣∣∣∂f

∂y(t, y)

∣∣∣∣ 6 L, ∀(t, y) ∈ D,

entao f satisfaz a condicao de Lipschitz, na variavel y, com L a respectiva constante e, comotal, o PCI (6.2) tem solucao unica y(t) para t ∈ [a, b].

Observacao 6.5 Note-se que o conjunto D = (t, y) : a 6 t 6 b, y ∈ IR e, obviamente,convexo.

Exercıcio 6.3.2 Mostre que o problema de condicao inicial

y′(t) =1

1 + y2,

y(a) = α,para t ∈

[a, b], tem solucao unica.

Resolucao: Seja D = (t, y) : a 6 t 6 b, y ∈ IR e

f(y) =1

1 + y2.

Vamos provar que a funcao ∣∣∣∣∂f

∂y(t, y)

∣∣∣∣ =

∣∣∣∣−2y

(1 − y2)2

∣∣∣∣

e limitada em D. Para isso ha que determinar

L = maxy∈IR

∣∣∣∣2y

(1 − y2)2

∣∣∣∣ .

2Um conjunto D ⊆ R2 diz-se convexo se, para qualquer (t1, y1), (t2, y2) ∈ D, se verifica

((1 − θ)t1 + θt2, (1 − θ)y1 + θy2) ∈ D, θ ∈ [0, 1].

Page 140: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 140

Como a funcao que queremos provar limitada e par temos que

L = maxy∈IR+

0

2y

(1 − y2)2.

Consideremos

g(y) =2y

(1 − y2)2.

Como

g′(y) = 0 ⇒ y = ±√

3

3temos que

L = max

g(0), g

(√3

3

), lim

y→+∞g(y)

= max0, 0.6594, 0 = 0.6594.

Esta assim provado o pretendido.

Outra questao que se coloca e a de saber se o PCI (6.2) e sensıvel a pequenas perturbacoesnos dados do problema, isto e, se pequenas alteracoes nas condicoes iniciais nao provocamgrandes alteracoes nos resultados. Jacques Hadamard, em 1923, sugeriu duas condicoes quedevem ser verificadas quando se formula um PCI: (i) a solucao deve existir e ser unica; (ii)a solucao deve depender de forma contınua dos dados iniciais do problema. Temos entao aseguinte definicao.

Definicao 6.6 O PCI (6.2) e bem posto se:

1. possui solucao unica y(t);

2. for estavel, isto e, se existirem constantes positivas ξ e k (independente de ξ) tais queo problema perturbado

z′(t) = f(t, z) + δ(t), t ∈ [a, b]z(a) = α + δ0

possui solucao unica z(t) com

|z(t) − y(t)| < kξ, ∀t ∈ [a, b],

sempre que |δ0| < ξ e |δ(t)| < ξ.

As hipoteses do Corolario 6.4 sao suficientes para garantir que o PCI (6.2) e bem postono sentido de Hadamard. De facto, o referido corolario ja estabelece a existencia e unicidadee solucao; falta apenas provar que o problema e estavel. Considerando

w(t) = z(t) − y(t),

temosw′(t) = f(t, z(t)) − f(t, y(t)) + δ(t) = fy(t, y(t))w(t) + δ(t),

com a condicao inicialw(a) = δ0,

Page 141: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 141

em que fy representa a derivada parcial de f em ordem a y e y(t) pertence ao intervalodefinido por y(t) e z(t). Integrando a equacao anterior obtemos

w(t) = eR ta

fydτ

[∫ t

aδ(σ)e−

R σa

fydµdσ + δ0

], (6.4)

o que prova que o problema perturbado e estavel.

Poder-se-ıa tambem provar que, para que o PCI (6.2) tenha solucao unica e seja bemposto, e suficiente que se verifiquem as hipoteses do Teorema de Picard. Vamos assumirtodos os problemas considerados neste capıtulo verificam tais hipoteses.

Exercıcio 6.3.3 Mostre que o problema de condicao inicial

y′(t) = −y + t + 1,y(0) = 1,

para

t ∈ [0, 1], e bem posto.

Resolucao: Seja D = (t, y) : 0 6 t 6 1, y ∈ IR e f(t, y) = −y + t + 1. Como

L = max(t,y)∈D

∣∣∣∣∂f

∂y(t, y)

∣∣∣∣ = 1

temos que o problema de condicao inicial dado e bem posto.

Observacao 6.7 Note-se que o facto de∂f

∂yser limitada nem sempre garante que pequenas

perturbacoes nas condicoes iniciais impliquem uma pequena perturbacao na solucao. No en-tanto, se δ(x) = 0, para todo x ∈ [a, b], e facil concluir que se a derivada for negativa entao oPCI (6.2) e bem condicionado, isto e, que pequenas perturbacoes na condicao inicial implicampequenas variacoes na solucao. Se a derivada for muito negativa, entao o problema, apesarde bem posto, pode trazer problemas a sua resolucao aproximada por metodos numericos. Sea referida derivada for positiva, embora limitada, entao o PCI (6.2) apesar de estavel, e malcondicionado.

Exercıcio 6.3.4 Considere a equacao diferencial

y′ = 100y − 101e−t, t ∈ [0, 3],

com as condicoes iniciais: (i) y(0) = 1; (ii) y(0) = 1 + 10−130. Compare as solucoes obtivas.

6.3.2 Metodos numericos

Consideremos de novo o PCI bem posto (6.2). Os metodos numericos para resolver este pro-blema sao metodos dicretos, isto e, sao metodos que determinam aproximacoes y0, y1, . . . , yn

para a solucao exacta y(t0), y(t1), . . . , y(tn) nos pontos distintos da malha

a = t0 < t1 < · · · < tn−1 < tn = b.

As distancias hi = ti − ti−1, i = 1, . . . , n, da-se o nome de passos (ou medidas do passo) demalha. Se os dpassos forem todos iguais a malha diz-se uniforme ou de passo constante. Casocontrario diz-se de passo variavel. Neste curso vamos apenas considerar malhas uniformes,isto e, tais que ti = t0 + ih, i = 0, . . . , n, onde h = b−a

n .

Page 142: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 142

Os metodos numericos permitem determinar valores yi ≈ y(ti) por meio de relacoes derecorrencia deduzidas do PCI (6.2) de modo a que o valor de yi+1 venha expresso em funcao deyi, yi−1, . . . , y0, sendo y0 = y(a) = α. E usual agrupar os metodos numericos para a resolucaode problemas de condicao inicial em duas grandes classes.

• Metodos de passo unico: Sao metodos que determinam o valor de yi+1 apenas a custade yi.

• Metodos de passo multiplo: Sao metodos que determinam o valor de yi+1 a custa deyi, yi−1, . . . , yi−r+1. Neste caso diz-se que o metodo e de r passos.

Neste curso iremos apenas abordar os metodos de passo unico. Estes metodos, por suavez, podem ainda ser de dois tipos.

• Metodos explıcitos: Sao metodos em que o valor de yi+1 e determinado directamente apartir de yi. Estes metodos podem ser escritos na forma

yi+1 = yi + hφ(ti, yi, ;h). (6.5)

• Metodos implıcitos: Sao metodos em que o valor de yi+1 depende implicitamente de simesmo atraves de f . Estes metodos podem ser escritos na forma

yi+1 = yi + hφ(ti, ti+1, yi, yi+1;h). (6.6)

A funcao φ que define os metodos (6.5) e (6.6) e chamada funcao de iteracao ou funcaoincremento do metodo numerico.

6.3.3 Metodos baseados na serie de Taylor

Consideremos o PCI (6.2) com f uma funcao suficientemente diferenciavel nas variaveis t ey. Entao

y(t) = y(t0) + (t − t0)y′(t0) +

(t − t0)2

2!y′′(t0) + · · · ,

com t0 = a. As derivadas desta expressao nao sao conhecidas explicitamente visto que asolucao tambem nao e conhecida. No entanto, podemos escrever

y′(t) = f(t, y),

y′′(t) =df

dt(t, y) = (ft + fyy

′)(t, y) = (ft + fyf)(t, y),

y′′′(t) =df

dt2(t, y) = (ftt + 2ftyf + fyyf

2 + ftfy + f2y f)(t, y),

...

onde

ft(t, y) =∂f

∂t(t, y), fy(t, y) =

∂f

∂y(t, y), . . . .

Page 143: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 143

Por razoes praticas temos que limitar o numero de termos na expansao em serie de y(t) a umnumero razoavel, o que nos conduz a restricoes nos valores de t para os quais a expansao nosda uma boa aproximacao.

Se tomarmos a serie de Taylor truncada temos, para t = t1,

y(t1) ≈ y1 = y0 + hf(t0, y0) +h2

2f ′(t0, y0) + · · · + hk

k!f (k−1)(t0, y0),

onde

f (j)(t0, y0) =djf

dtj(t0, y0).

Podemos definir assim, para cada k = 1, 2 . . ., um metodo de passo unico explıcito quepermite obter solucoes aproximadas yi ≈ y(ti) da forma (6.5) em que

φ(t, y;h) = f(t, y) +h

2f ′(t, y) + · · · + hk

k!f (k−1)(t, y). (6.7)

Os metodos assim definidos sao conhecidos por metodos de Taylor. O metodo desta classemais simples e quando k = 1, isto e, o metodo

yi+1 = yi + hf(ti, yi), i = 0, . . . , n, y0 = α, (6.8)

designado por metodo de Euler (explıcito).

O seguinte algoritmo permite determinar a solucao do PCI (6.2) em t = b, usando ometodo com funcao incremento (6.7).

Algoritmo 6.1 Metodo de Taylor

Ler n e k;

Ler a, b e α;

h := b−an ;

t := a;

y := α;

Para i de 1 ate n fazer

φ := 0;

Para j de 1 ate k fazer

φ := φ + f (j)(t, y)hj/j!;

y := y + hφ;

t := t + h;

Escrever y.

Exercıcio 6.3.5 Considere o problema de condicao inicial

y′(t) = −2y,y(0) = 1.

Determine, u-

sando o metodo de Euler, o valor aproximado de y(1), fazendo h = 1, h = 0.5 e h = 0.25.Compare os resultados obtidos sabendo que y(t) = e−2t.

Page 144: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 144

Resolucao: A solucao exacta deste problema e y(1) = 0.135335283. Consideremos agora assolucoes numericas para os tres casos propostos. Seja f(y) = −2y.

• h = 1y(0) = y0 = 1y(1) ≈ y1 = y0 + hf(y0) = 1 + 1 × (−2) = −1.

Logo |y1 − y(1)| = 1.135335283.

• h = 0.5y(0) = y0 = 1

y(0.5) ≈ y1 = y0 + hf(y0) = 1 + 0.5 × (−2) = 0y(1) ≈ y2 = y1 + hf(y1) = 0 + 0.5 × 0 = 0.

Logo |y2 − y(1)| = 0.135335283.

• h = 0.25

y(0) = y0 = 1y(0.25) ≈ y1 = y0 + hf(y0) = 1 + 0.25 × (−2) = 0.5y(0.5) ≈ y2 = y1 + hf(y1) = 0.5 + 0.25 × (−1) = 0.25

y(0.75) ≈ y3 = y2 + hf(y2) = 0.25 + 0.25 × (−0.5) = 0.125y(1) ≈ y4 = y3 + hf(y3) = 0.125 + 0.25 × (−0.25) = 0.0625.

Logo |y4 − y(1)| = 0.072835283.

Nota-se que, quanto menor for a medida do passo mais pequeno e o erro cometido.

Exercıcio 6.3.6 Seja dado o problema de condicao inicial

y′(t) =1

1 + y2,

y(0) = 1.Use o metodo

de Taylor, com k = 2, para determinar o valor aproximado de y(1), fazendo h = 0.5.

Resolucao: Seja f(y) = (1 + y2)−1. Temos que o metodo de Taylor com k = 2 e dado por

yi+1 = yi + hf(yi) +h2

2

df

dt(yi) = yi + h

1

1 + y2i

− h2 yi

(1 + y2)3.

Assim, fazendo h = 0.5 temos

y(0) = y0 = 1

y(0.5) ≈ y1 = 1 + 1 + 0.5 × 1

2− 0.25 × 1

8= 1.21875

y(1) ≈ y2 = 1.21875 + 0.5 × 1

2.485351563− 0.25 × 1.21875

15.35194798= 1.4.

6.3.4 Metodos de Runge-Kutta

O metodo mais simples para aproximar a solucao do PCI (6.2) e o metodo (6.8), descrito porEuler, em 1768, na sua obra ’Institutiones Calculi Integralis’. E um metodo muito simples deentender e de programar mas, como se ira ver na proxima seccao, pouco preciso. Por exemplo,

Page 145: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 145

se pretendermos uma precisao de, digamos, 6 casas decimais, o metodo de Euler necessita deaproximadamente um milhao de passos.

Se usarmos outros metodos de Taylor, a precisao pode ser aumentada. A grande desvan-tagem destes metodos reside no facto de termos necessidade de calcular muitas derivadasda funcao f para obter metodos precisos. Esse calculo, alem de muito fastidioso, torna im-praticavel a aplicacao de tais metodos na resolucao de (6.2) quando a funcao f tem umaexpressao analıtica complicada.

Uma alternativa a esses metodos foi dada por Runge, em 1875, e que consistia em, partindodo conhecimento de y(a), considerar

y(a + h) ≈ α + hf

(a +

h

2, y

(a +

h

2

));

mas, que valor atribuir a y(a + h

2

)? A sugestao de Runge foi a de considerar o metodo de

Euler com passo h2 . A aplicacao sucessiva deste processo permitiu a Runge definir o seguinte

metodo iterativo:k1 = f(ti, yi),

k2 = f(ti + h

2 , yi + h2k1

),

yi+1 = yi + hk2.

(6.9)

Como veremos este metodo, apesar de recorrer ao metodo de Euler, vai ser mais preciso enao necessita de calcular derivadas de f . A generalizacao desta ideia deu origem a seguintedefinicao.

Definicao 6.8 Seja s um numero inteiro e a2,1, a3,1, a3,2, . . . , as,1, . . . , as,s−1, c2, c3, . . . , cs,b1, b2, . . . , bs, coeficientes reais. O metodo

k1 = f(ti, yi),k2 = f(ti + c2h, yi + a2,1hk1),k3 = f(ti + c3h, yi + a3,1hk1 + a3,2hk2),

...ks = f(ti + csh, yi + as,1hk1 + as,2hk2 + · · · + as,s−1hks−1),

yi+1 = yi + h[b1k1 + b2k2 + · · · + bsks],

e chamado metodo de Runge-Kutta explıcito de s etapas para o PCI (6.2).

Usualmente considera-se

ci =

i−1∑

j=1

ai,j, i = 2, 3, . . . , s. (6.10)

Uma notacao muito usada na pratica para os metodos de Runge-Kutta foi apresentadapor Butcher em 1964 e e dada pelo seguinte quadro, designado por quadro de Butcher:

0c2 a2,1

c3 a3,1 a3,2...

......

. . .

cs as,1 as,2 · · · as,s−1

b1 b2 · · · bs−1 bs

.

Page 146: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 146

Antes de continuarmos, notemos que os metodos de Runge-Kutta constituem uma exce-lente ideia. A unica solucao do PCI bem posto (6.2) e uma curva integral em IR2. No entanto,devido aos erros cometidos, a solucao numerica vai ser afectada pelo comportamento das cur-vas integrais vizinhas. E assim importante conhecer o comportamento de toda a famılia decurvas integrais e nao apenas o de uma unica curva.

Os metodo de Runge-Kutta usam, deliberadamente, informacao de varias curvas integraisem simultaneo. A tıtulo de exemplo considere-se o metodo de tres etapas

k1 = f(ti, yi),k2 = f(ti + c2h, yi + c2hk1),k3 = f(ti + c3h, yi + (c3 − a3,2)hk1 + a3,2hk2),

yi+1 = yi + h[b1k1 + b2k2 + +b3k3].

Para determinar a solucao numerica do PCI (6.2) por este metodo, comeca-se pelo ponto(ti, yi) e aplica-se um passo do metodo de Euler com passo c2h. Seguidamente, calcula-se ovalor de k2 como sendo o vector derivada no ponto obtido. Temos assim dois valores para aderivada: k1 e k2; iremos usar uma media pesada entre estes dois valores (c3−a3,2)hk1+a3,2hk2

numa nova aplicacao do metodo de Euler, a partir do ponto (ti, yi), com passo c3h. Calculandoa derivada novamente obtem-se o valor de k3. O ultimo passo do algoritmo e mais umaaplicacao do metodo de Euler, a partir do ponto (ti, yi), com passo h.

Exercıcio 6.3.7 Considere o problema de condicao inicial

y′(t) = ty2,y(1) = 2.

Determine um

valor aproximado para y(1.1), usando o metodo de Heun, dado por

k1 = f(ti, yi); k2 = f(ti + h, yi + hk1);

yi+1 = yi +h

2(k1 + k2),

com h = 0.05.

Resolucao: Seja f(t, y) = ty2. Temos que

y(1) = y0 = 2

y(1.05) ≈ y1 = y0 + h2 (k1 + k2) = 2 + 0.025(k1 + k2).

Por outro lado

k1 = f(t0, y0) = f(1, 2) = 4k2 = f(t0 + h, y0 + hk1) = f(1.05, 2.2) = 5.082.

Assim, y(1.05) ≈ y1 = 2.22705. Continuando a aplicacao do metodo

y(1.1) ≈ y2 = y1 +h

2(k1 + k2) = 2.22705 + 0.025(k1 + k2).

Para este segundo passo temos que voltar a calcular k1 e k2. Assim,

k1 = f(t1, y1) = f(1.05, 2.22705) = 5.207739k2 = f(t1 + h, y1 + hk1) = f(1.1, 2.487437) = 6.806077.

Logo, y(1.1) ≈ y2 = 2.5273954.

Page 147: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 147

Um metodo de Runge-Kutta muito famoso e dado pela expressao

k1 = f(ti, yi); k2 = f(ti +h

2, yi +

h

2k1); k3 = f(ti +

h

2, yi +

h

2k2); k4 = f(ti + h, yi + hk3);

yi+1 = yi +h

6(k1 + 2k2 + 2k3 + k4).

O seguinte algoritmo permite determinar a solucao do PCI (6.2) em t = b, usando este metodode Runge-Kutta.

Algoritmo 6.2 Metodo de Runge-Kutta

Ler n;

Ler a, b e alpha;

h := b−an ;

t := a;

y := α;

Para i de 1 ate n fazer

s := 0;

k1 := f(t, y);

k2 := f(t + 0.5h, y + 0.5hk1);

k3 := f(t + 0.5h, y + 0.5hk2);

k4 := f(t + h, y + hk3);

y := y + h(k1 + 2k2 + 2k3 + k4)/6;

t := t + h;

Escrever y.

Exercıcio 6.3.8 Construa um algoritmo que permita determinar a solucao do PCI (6.2) emt = b, usando um metodo de Runge-Kutta explıcito de s etapas qualquer.

6.3.5 Estudo do erro

Quando se determinam valores numericos para aproximar quantidades desconhecidas, temosnecessidade de conhcer estimativas para o erro que se comete nessa aproximacao. No casodos metodos numericos para a resolucao de equacoes diferenciais vamos considerar dois tiposde erros: o erro de truncatura local e o erro global (ou da aproximacao).

Definicao 6.9 Consider-se o PCI (6.2) e um metodo numerico de passo unico

yi+1 = yi + hφ(ti, yi;h), i = 0, . . . , n − 1, y0 = α, (6.11)

que determine aproximacoes yi para a solucao exacta y(ti), i = 0, 1, . . . , n. Supondo queyi = y(ti), a Ti+1 = y(ti+1)− yi+1 chama-se erro de truncatura local do metodo no ponto ti+1.Se

limh→0

max06i6n−1

|Ti+1

h| = 0,

Page 148: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 148

o metodo diz-se consistente com o PCI (6.2). O metodo diz-se de ordem p > 0 se existir umC > 0 tal que

|Ti+1| 6 Chp+1, i = 0, . . . , n − 1,

isto e, se |Ti+1| = O(hp+1), i = 0, . . . , n − 1.

Da definicao anterior conclui-se que o erro de truncatura local e definido com sendo

Ti+1 = y(ti+1) − y(ti) − hφ(ti, y(ti);h).

Assim, o erro local pode ser determinado atraves dos seguintes passos: (i) substituir naexpressao que define o metodo numerico a solucao aproximada no ponto ti+1, yi+1, pelasolucao exacta y(ti+1); (ii) considerar a hipotese y(ti) = yi; (iii) efectuar o desenvolvimentoem serie de Taylor de y(ti+1) em torno de ti.

Certos autores consideram a definicao de erro local de forma diferente. E muito frequenteencontrar a definicao de erro de truncatura local no ponto ti+1 como sendo

Ti+1 =y(ti+1) − y(ti)

h− φ(ti, y(ti);h), i = 0, . . . , n − 1.

De acordo com esta definicao (que e a que foi usada em Ferreira e Patrıcio (1999)) o metodo(6.11) tem ordem p se |Ti+1| = O(hp), i = 0, . . . , n − 1.

Observacao 6.10

1. Um metodo e consistente se tiver, pelo menos, ordem um ou, o que e equivalente, seφ(t, y; 0) = f(t, y).

2. O erro local para o metodo de Taylor de funcao incremento (6.7) e dado por

Ti+1 =hk+1

(k + 1)!y(k+1)(ξ), ξ ∈ (ti, ti+1),

ou seja, Ti+1 = O(hk+1) e, como tal, o metodo tem ordem k.

3. Para o caso particular do metodo de Euler temos que Ti+1 = O(h2) e assim sendo ometodo tem ordem um.

O estudo da ordem para os metodos de Runge-Kutta nao e uma tarefa facil e, como tal,nao o iremos efectuar neste curso introdutorio. A tıtulo exemplificativo consideremos esteestudo apenas para um caso muito simples.

Exemplo 6.11 O metodo de Heun e dado por

k1 = f(ti, yi); k2 = f(ti + h, yi + hk1);

yi+1 = yi +h

2(k1 + k2).

Page 149: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 149

Vamos determinar qual o seu erro local e, consequentemente, qual a sua ordem. Atendendoa definicao de erro local temos que, supondo y(ti) = yi, Ti+1 = y(ti+1) − yi+1. Desenvolvendoy(ti+1) em serie de Taylor em torno do ponto ti temos

y(ti+1) = yi + hf(ti, yi) +h2

2

df

dt(ti, yi) +

h3

6

d2f

dt2(ti, yi) + · · · .

Por outo lado, considerando o desenvolvimento de yi+1, recorrendo a serie de Taylor para duasvariaveis,

yi+1 = yi+h

2

(f(ti, yi) + f(ti, yi) + h(ft + fyf)(ti, yi) +

h2

2(ftt + 2ffty + f2fyy)(ti, yi) + · · ·

).

Subtraindo membro a membro, e uma vez que y(ti) = yi, temos

Ti+1 =h3

12(ftt + 2ffty + f2fyy − 2ftfy − 2ff2

y )(ti, yi) + · · · .

Assim sai que

Ti+1 =h3

12(ftt + 2ffty + f2fyy − 2ftfy − 2ff2

y )(ξ, y(ξ)), ξ ∈ (ti, ti+1).

Como Ti+1 = O(h3) concluımos que o metodo de Heun tem ordem 2.

Exercıcio 6.3.9 Mostre que o metodo de Runge (6.9) tem ordem dois.

Vamos considerar agora a definicao de erro global.

Definicao 6.12 Considere-se o PCI (6.2) e um metodo numerico de passo unico explıcito(6.11) que determine aproximacoes yi para a solucao exacta y(ti), i = 0, 1, . . . , n. A e(ti) =y(ti) − yi chama-se erro global do metodo no ponto ti. Se

limh→0

max16i6n

|e(ti)| = 0,

o metodo diz-se convergente.

Note-se que, uma vez que o numero de vezes que aplicamos um determinado metodo itera-

tivo e n =b − a

h, podemos ser levados a afirmar que o erro global e(ti) devera ser proporcional

aTi

h. Por outras palavras, se Ti = O(hp+1) tudo nos leva a crer que e(ti) = O(hp). De facto,

o que se pode concluir e o que vem expresso no proximo teorema.

Teorema 6.13 Seja y(t) a unica solucao do PCI, bem posto, (6.2) e (6.11) um metodonumerico que supomos ser consistente com o problema e ter ordem p, isto e, |Ti+1| 6 Chp+1,i = 0, . . . , n − 1, p > 1. Se φ verificar as hipoteses do Teorema de Picard entao

|e(ti)| 6C

Lhp[eL(ti−a) − 1

], i = 1, . . . , n.

sendo L a constante de Lipschitz de φ.

Page 150: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 150

Demonstracao: Considerando a definicao de erro global temos que

e(ti+1) = e(ti) + h [φ(ti, y(ti);h) − φ(ti, yi;h)] + Ti+1, i = 0, . . . , n − 1.

Uma vez que a funcao φ e lipschitziana, na variavel y, e o metodo tem ordem p > 1 concluımosque

|e(ti+1)| 6 (1 + hL)|e(ti)| + Chp+1.

Como e(t0) = 0 obtem-se

|e(ti+1)| 6 Chp+1i∑

j=0

(1 + hL)j = Chp+11 − (1 + hL)i+1

1 − (1 + hL)6

C

Lhp[e(i+1)hL − 1

].

O teorema fica assim demonstrado uma vez que ti+1 = a + (i + 1)h.

Note-se que a consistencia, por si so, nao implica convergencia uma vez que existem maistipos de erros que podem ocorrer para alem do erro de truncatura local. De facto, nem ascondicoes iniciais nem a aritmetica usada estao isentas de erros. Temos portanto necessidadede garantir que os metodos usados sejam estaveis no sentido de que pequenas alteracoes nascondicoes iniciais nao produzam, por aplicacao do metodo, grandes alteracoes nos resultados.No caso dos metodos de passo unico, o teorema anterior permite-nos estabelecer o seguinteresultado.

Corolario 6.14 Suponhamos que o PCI (6.2) e aproximado pelo metodo (6.11). Se existirh0 > 0 tal que φ(t, y;h) e contınua e lipschitziana, na variavel y, no conjunto

D = (t, y;h) : a 6 t 6 b, y ∈ IR, 0 6 h 6 h0

entao:

1. o metodo (6.11) e estavel;

2. o metodo e convergente se e so se e consistente.

Exercıcio 6.3.10 Mostre que o metodo de Heun, aplicado a resolucao do PCI (6.2), e conver-gente.

Resolucao: Atendendo a definicao do metodo de Heun temos que este pode ser dado pelaexpressao

yi+1 = yi + hφ(ti, yi;h),

com

φ(t, y;h) =1

2[f(t, y) + f(t + h, y + hf(t, y))].

Para provar que o metodo e convergente vamos provar que e consistente e estavel.

1. Consistencia. Provamos que o metodo de Heun tem ordem dois e, assim sendo, econsistente. Poderiamos ainda provar a consistencia provando que φ(t, y; 0) = f(t, y).De facto,

φ(t, y; 0) =1

2[f(t, y) + f(t, y)] = f(t, y).

Page 151: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 151

2. Estabilidade. Para provar que o metodo e estavel vamos provar que φ(t, y;h) e lips-chitziana, na variavel y, em D = (t, y;h) : a 6 t 6 b, y ∈ IR, 0 6 h 6 h0.Seja L a constante de Lipschitz de f(t, y) na variavel y. Entao

|φ(t, y1;h) − φ(t, y2;h)| =

∣∣∣∣1

2[f(t, y1) + f(t + h, y1 + hf(t, y1))]

−1

2[f(t, y2) + f(t + h, y2 + hf(t, y2))]

∣∣∣∣

61

2[L|y1 − y2| + L|y1 + hf(t, y1) − y2 − hf(t, y2)|]

6 L|y1 − y2| +1

2hL2|y1 − y2|

6

(L +

1

2hL2

)|y1 − y2|.

Assim φ(t, y;h) satisfaz a condicao de Lipschitz, na variavel y, em D sendo a suaconstante de Lipschitz dada por

K =

(L +

1

2h0L

2

).

Finalmente, tanto φ como f sao contınuas em D. Esta assim provada a estabilidadedo metodo.

Atendendo a consistencia e estabilidade temos que o metodo converge para a solucao de(6.2).

6.3.6 Metodos de passo unico implıcitos

Nesta seccao vamos considerar a classe dos metodos de passo unico implıcitos da forma (6.6).Nao havendo possibilidade de explicitar o valor de yi+1 temos necessidade de o calcular re-solvendo a equacao (geralmente nao linear)

yi+1 − yi − hφ(ti, ti+1, yi, yi+1;h) = 0.

Usualmente considera-se um metodo numerico na resolucao desta equacao.Se considerarmos o metodo de Newton, a primeira questao a resolver e a da determinacao

de uma aproximacao inicial y(0)i+1. Normalmente toma-se para aproximacao inicial o valor de

yi; outra hipotese sera a de considerar a aproximacao inicial obtida pela aplicacao de um

metodo explıcito. Deteminado o valor de y(0)i+1 temos que

y(k+1)i+1 = y

(k)i+1 −

F (y(k)i+1)

F (y(k)i+1)

, k = 0, 1, . . . ,

sendoF (yi+1) = yi+1 − hφ(ti, ti+1, yi, yi+1;h).

Page 152: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 152

Os metodos implıcitos sao usados visto que, em geral, sao mais precisos e menos sensıveisa erros que os metodos explıcitos. Por outro lado, o esforco computacional exigido no calculode yi+1 e, para os metodos implıcitos, muito maior. Assim, estes metodos so devem ser usadosquando ha necessidade de uma precisao muito elevada em problemas sensıveis a erros.

Exemplos comuns de metodos implıcitos sao o chamado metodo de Euler implıcito, dadopela expressao

yi+1 = yi + hf(ti+1, yi+1), i = 0, . . . , n − 1, y(a) = α,

e o metodo dos trapezios, dado por

yi+1 = yi +h

2[f(ti, yi) + f(ti+1, yi+1), i = 0, . . . , n − 1, y(a) = α.

Apesar do estudo da consistencia e convergencia de um metodo iterativo ter sido efectuadoapenas para metodos explıcitos, estes conceitos ainda sao validos para metodos implıcitos.Para o metodo implıcito (6.6) o erro de truncatura local e definido por

Ti+1 = y(ti+1) − y(ti) − hφ(ti, ti+1, y(ti), y(ti+1);h), i = 0, . . . , n − 1.

Vamos considerar o seguinte exercıcio.

Exercıcio 6.3.11 Considere o metodo dos trapezios na resolucao de um problema de condicaoinicial.

1. Determine a ordem e o erro de truncatura local do metodo.

2. Aplique o metodo ao problema de condicao inicial

y′(t) = −ty2,y(0) = 2,

e obtenha uma

aproximacao em t = 1 usando h < 1. (Considere a solucao exacta positiva em [0, 1].)

Resolucao: 1. Atendendo a definicao de erro local temos que Ti+1 = y(ti+1) − yi+1, ondey(ti) = yi. Desenvolvendo y(ti+1) e yi+1 em serie de Taylor em torno do ponto ti,temos que

y(ti+1) = yi + hf(ti, yi) +h2

2

df

dt(ti, yi) +

h3

6

d2f

dt2(ti, yi) + · · ·

e

yi+1 = yi +h

2

(f(ti, yi) + f(ti, yi) + h

df

dt(ti, yi) +

h2

2

d2f

dt2(ti, yi) + · · ·

).

Subtraindo membro a membro vem

Ti+1 = −h3

12

d2f

dt2(ti, yi) + · · · .

Assim sai que

Ti+1 = −h3

12y′′′(ξ), ξ ∈ (ti, ti+1).

Como Ti+1 = O(h3) temos que o metodo dos trapezios tem ordem 2.

Page 153: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 153

2. Seja f(t, y) = −ty2 e h = 0.5. Assim,

y(0) = y0 = 2

y(0.5) ≈ y1 = y0 + h2 [f(t0, y0) + f(t1, y1)] = 2 − 0.125y2

1 .

Vamos agora resolver a equacao 0.125y21 + y1 − 2 = 0. Esta equacao resolve-se sem

dificuldade pois

0.125y21 + y1 − 2 = 0 ⇒ y1 = −9.6598 ou y1 = 1.6568.

Como a solucao e positiva temos que y1 = 1.6568. Continuando,

y(1) ≈ y2 = y1 +h

2[f(t1, y1) + f(t2, y2)] = 1.3137 − 0.25y2

2 .

Resolvendo a equacao 0.25y22 + y2 − 1.3137 = 0, temos

0.25y22 + y2 − 1.3137 = 0 ⇒ y1 = −5.0422 ou y1 = 1.0422.

Como a solucao e positiva temos que y1 = 1.0422.

Exercıcio 6.3.12 Considere o problema de condicao inicial

y′ = −30y,y(0) = 1,

e os metodo de Euler e Euler impıcito. Usando cada um dos metodos determine a solucao doproblema em t = 1 com h < 1, comparando os resultados obtidos.

Resolucao: Seja f(y) = −30y e consideremos h = 0.5. Vamos aplicar os dois metodos sepa-radamente.

1. Metodo de Euler

y(0) = y0 = 1;y(0.5) ≈ y1 = 1 + 0.5 × (−30) = −14;

y(1) ≈ y2 = −14 + 0.5 × (−30 × (−14)) = 196.

2. Metodo de Euler implıcito

y(0) = y0 = 1;y(0.5) ≈ y1 = 1 + 0.5 × (−30y1) = 1 − 15y1.

Resolvendo a equacao temos que y(0.5) ≈ y1 = 0.0625. Continuando temos

y(1) ≈ y2 = 0.0625 + 0.5 × (−30y2) = 0.0625 − 15y1,

e assim, y(1) ≈ y2 = 3.9 × 10−3.

Atendendo a que a solucao exacta e dada por y(t) = e−30t temos que y(1) = 9.36× 10−14.

Note-se que, enquanto o metodo implıcito se aproxima da solucao o metodo explıcito daum resultado completamente disparatado. Os problemas que nao podem ser resolvidos pormetodos explıcitos sao chamados stiff e ocorrem com muita frequencia em problemas deEngenharia Quımica (ver Hairer e Wanner (1991)).

Page 154: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 154

6.4 Sistemas de equacoes diferenciais

A teoria apresentada nas seccoes precedentes pode ser facilmente generalizadas para sistemasde equacoes diferenciais ordinarias de primeira ordem. Todos os metodos numericos apresen-tados podem ser adaptados ao calculo da solucao aproximada do PCI

Y ′(t) = F (t, Y ), t ∈ [a, b],Y (a) = α.

(6.12)

onde

Y (t) =

Y1(t)Y2(t)

...YN (t)

, F (x) =

F1(t, Y )F2(t, Y )

...FN (t, Y )

.

Os metodos numericos irao, neste caso, determinar aproximacoes Y (i) para Y (ti). Ometodo de Euler, por exemplo, e dado por

Y (i+1) = Y (i) + hF (ti, Y(i)).

Equacoes diferenciais de ordem superior a um. Uma situacao importante onde surgemsistemas de equacoes diferenciais e quando pretendemos resolver uma equacao diferencialde ordem superior a um. Note-se que qualquer equacao diferencial de ordem N pode serescrita como um sistema de N equacoes diferenciais de primeira ordem. A forma como essapassagem se processa e bastante simples e pode ser facilmente compreendida com a ajuda deum exemplo.

Exemplo 6.15 Consideremos o problema de condicao inicial

y′′ − 3y′ + 2y = 0, y(0) = y′(0) = 1.

Efectuando a mudanca de variavel z = y′ obtemos o problema de condicao inicial de primeiraordem

y′(t) = zz′(t) = 3z − 2yy(0) = 1z(0) = 1

[yz

]′(t) =

[z

3z − 2y

],

[yz

](0) =

[11

].

Exercıcio 6.4.1 Converta num sistema de equacoes diferenciais de primeira ordem o problema

y′′′ − 0.1(1 − y2)y′ + y = 0, y(0) = 1, y′(0) = y′′(0) = 0.

Resolucao: Efectuando a mudanca de variavel z = y′ e w′ = y′′ obtemos o problema de condicaoinicial de primeira ordem

y′(t) = zz′(t) = ww′(t) = 0.1(1 − y2)z − yy(0) = 1z(0) = 0w(0) = 0

.

Page 155: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 155

Exercıcio 6.4.2 Considere a equacao diferencial y′′ + 4ty′ + 2y2 = 0 com condicoes iniciaisy(0) = 1 e y′(0) = 0. Com h = 0.1, utilize o metodo de Euler e de Heun para obter aproximacoespara y(0.2) e y′(0.2).

Resolucao: Seja z = y′. Assim o nosso problema e equivalente a

y′(t) = zz′(t) = −4tz − 2y2

y(0) = 1z(0) = 0

[yz

]′(t) =

[z

−4tz − 2y2

],

[yz

](0) =

[10

].

Seja

F

(t,

[yz

])=

[z

−4tz − 2y2

].

1. Metodo de Euler

[yz

](0) =

[yz

](0)

=

[10

];

[yz

](0.1) ≈

[yz

](1)

=

[yz

](0)

+ hF

(t0,

[yz

](0))

=

[1

−0.2

];

[yz

](0.2) ≈

[yz

](2)

=

[yz

](1)

+ hF

(t1,

[yz

](1))

=

[0.98

−0.392

].

.

Temos assim que y(0.2) ≈ 0.98 e y′(0.2) ≈ −0.392.

2. Metodo de Heun

[yz

](0)

=

[yz

](0) =

[10

],

[yz

](0.1) ≈

[yz

](1)

=

[yz

](0)

+h

2[K1 + K2],

onde

K1 = F

(t0,

[yz

](0))

=

[0−2

]

K2 = F

(t0 + h,

[yz

](0)

+ hK1

)=

[−0.2−1.92

].

Logo [yz

](0.1) ≈

[yz

](1)

=

[0.99

−0.196

].

Page 156: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 156

Continuando a aplicacao do metodo temos

[yz

](0.2) ≈

[yz

](2)

=

[yz

](1)

+h

2[K1 + K2],

onde

K1 = F

(t1,

[yz

](1))

=

[0.196

−1.8818

],

K2 = F

(t1 + h,

[yz

](1)

+ hK1

)=

[−0.38418−1.6335

].

Logo [yz

](0.2) ≈

[yz

](2)

=

[0.988059−0.371765

].

Temos assim que y(0.2) ≈ 0.988059 e y′(0.2) ≈ −0.371765.

Exercıcio 6.4.3 Adapte o algoritmo 6.2 a sistemas de equacoes diferenciais.

6.5 Problemas com condicoes de fronteira

Na seccao anterior estudamos as equacoes diferenciais ordinarias no contexto dos sistemadinamicos em que a variavel independente natural e o tempo (nem sempre assim e). Vamosagora considerar o estudo orientado para regimes estacionarios em que o objectivo consisteem determinar a distribuicao espacial de uma grandeza.

Exemplo 6.16 Um problema comum em Engenharia Civil tem a ver com a deflexao de umabarra de seccao rectangular sujeita a uma carga uniforme quando os extremos estao fixos. Aequacao diferencial que serve de modelo a esta situacao fısica e da forma

w′′ =S

EIw +

qx

2EI(x − l),

onde w = w(x) e a deflexao no ponto que dista x do extremo esquerdo da barra, e l, q, E, Se I representam, respectivamente, o comprimento da barra, a intensidede da carga uniforme, omodulo da elasticidade, a tensao nos extremos e o momento central de inercia. Uma vez que osextremos da barra estao fixos, temos associadas a esta equacao diferencial as equacoes de fronteira

w(0) = w(l) = 0.

Quando a barra e feita de material uniforme EI e uma constante e como tal a solucao da equacaoe imediata. Caso contrario I = I(x) e temos que usar metodos numericos para determinar umaaproximacao para a solucao.

Os problemas fısicos que dependem de uma posicao no espaco em vez de um instante notempo sao muitas vezes descritos em termos de equacoes diferenciais com condicoes impostasem mais do que um ponto: problemas com condicoes de fronteira (PCF). Os PCF que iremosconsiderar nesta seccao envolvem uma equacao diferencial ordinaria de segunda ordem

y′′ = f(x, y, y′), x ∈ (a, b), (6.13)

Page 157: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 157

e as condicoes de fronteira α1y(a) + β1y

′(a) = γ1,α2y(b) + β2y

′(b) = γ2,(6.14)

com αi, βi, γi ∈ IR, i = 1, 2. Estas condicoes de fronteira podem ser de tres tipos:

1. Dirichelet, se β1 = β2 = 0;

2. Neumann, se α1 = α2 = 0;

3. Robin ou mistas, se |α1| + |α2| 6= 0 e |β1| + |β2| 6= 0.

Quando γ1 = γ2 = 0 dizemos que as condicoes de fronteira sao homogeneas. No caso em quea equacao (6.13) e da forma

y′′ = p(x)y′ + q(x)y + r(x), x ∈ (a, b), (6.15)

dizemos que (6.13)–(6.14) e um problema com condicoes de fronteira linear.

Tal como no caso dos problemas de condicao inicial tambem aqui se torna importantesaber em que condicoes (6.13)–(6.14) tem solucao unica. Esse estudo foge ao ambito destecurso e como tal nao ira ser apresentado. No entanto, para problemas com condicao defronteira lineares a teoria e mais simples e, a tıtulo ilustrativo, iremos considerar apenas oseguinte teorema.

Teorema 6.17 Sejam q, r ∈ C([a, b]) e q > 0. Entao o PCF linear

−y′′ + q(x)y = r(x), x ∈ (a, b),y(a) = y(b) = 0,

(6.16)

tem uma unica solucao y ∈ C2([a, b]).

Demonstracao: Ver Kress (1998).

6.5.1 Metodo das diferencas finitas

Um metodo muito usado para determinar solucoes aproximadas do PCF (6.13)–(6.14) consisteem substituir as derivadas que nela intervem por formulas de diferencas finitas.

Suponhamos que o problema (6.13)–(6.14) admite uma e uma so solucao e consideremosa particao

a = x0 < x1 < · · · < xn−1 < xn = b (6.17)

do intervalo [a, b]. O metodo das diferencas finitas permite-nos obter aproximacoes yi, i =1, . . . , n, para os valores da solucao nos pontos da particao, isto e, yi ≈ y(xi), i = 1, . . . , n.Por uma questao de simplificacao da abordagem vamos considerar a particao (6.17) uniforme,ou seja, tal que xi − xi−1 = h, i = 1, . . . , n.

Exemplo 6.18 Pretende-se obter a solucao aproximada do problema

−y′′ + y = x, x ∈ (0, 1),y(0) = y(1) = 0,

Page 158: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 158

usando o metodo das diferencas finitas com uma malha uniforme de espacamento h = 1n .

O PCF dado pode ser escrito, para cada ponto da particao (6.17) 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 formula de diferencas centradas de segunda ordem (tres pontos)

temos

y′′(xi) ≈1

h2(yi−1 − 2yi + yi+1),

com yi ≈ y(xi), i = 1, . . . , n − 1. Substituindo na equacao temos, em cada ponto da particao, oproblema (linear) aproximado

−(yi−1 − 2yi + yi+1) + h2yi = ih3, i = 1, . . . , n − 1,y0 = yn = 0

,

Notemos que o sistema linear obtido e da forma

Ay = b,

em que b = (ih3)n−1i=1 e A = (aij)

n−1i,j=1 com

aij =

h2 + 2, i = j−1, j = i − 1, j = i + 10, |j − i| > 1

.

A matriz do sistema e tridiagonal, simetrica e estritamente diagonal dominante por linhas; logo einvertıvel. Fica deste modo garantida a existencia e unicidade de solucao.

Considerando n = 4, ou seja h = 14 , obtemos

2.03125 −1 0−1 2.03125 −10 −1 2.03125

y1

y2

y3

=

1/1281/643/128

0.034840.056330.05004

.

Vamos considerar, tal como no exemplo anterior, o PCF linear (6.15) com condicoes defronteira (6.14) de Dirichlet (α1 = α2 = 1, β1 = β2 = 1). Este problema pode ser escrito,para cada ponto da particao (6.17), 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 formulas de diferencas centradasde segunda ordem

y′(xi) =y(xi+1) − y(xi−1)

2h− h2

6y′′′(ξi), ξi ∈ (xi−1, xi+1),

e

y′′(xi) =y(xi+1) − 2y(xi) + y(xi−1)

h2− h2

12y(4)(ηi), ηi ∈ (xi−1, xi+1),

Page 159: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 159

obtemos

y(xi+1) − 2y(xi) + y(xi−1)

h2= p(xi)

y(xi+1) − y(xi−1)

2h+ q(xi)y(xi)

+r(xi) −h2

12

[2p(xi)y

′′′(ξi) − y(4)(ηi)], i = 1, . . . , n − 1,

y(x0) = γ1, y(xn) = γ2.

Se tomarmos yi ≈ y(xi), i = 1, . . . , n − 1, um metodo de diferencas finitas com erro O(h2)pode ser definido pelo sistema linear

yi+1 − 2yi + yi−1

h2− p(xi)

yi+1 − yi−1

2h− q(xi)yi = r(xi), i = 1, . . . , n − 1,

y0 = γ1, yn = γ2,

ou, de forma equivalente,

(1 +

h

2p(xi)

)yi−1 −

(2 + h2q(xi)

)yi +

(1 − h

2p(xi)

)yi+1 = h2r(xi), i = 1, . . . , n − 1,

y0 = γ1, yn = γ2,

Notemos que o sistema linear obtido e da forma

AY = B, (6.18)

em que Y = [y1, y2, . . . , yn−2, yn−1]T ,

A =

−2 − h2q(x1) 1 − h2p(x1)

1 + h2p(x2) −2 − h2q(x2) 1 − h

2p(x2). . .

. . .. . .

1 + h2p(xn−2) −2 − h2q(xn−2) 1 − h

2p(xn−2)

1 + h2p(xn−1) −2 − h2q(xn−1)

e

B =

h2r(x1) −(1 + h

2p(x1))γ1

h2r(x2)...

h2r(xn−2)

h2r(xn−1) −(1 − h

2p(xn−1))γ2

.

A questao que naturalmente se coloca e a de saber se o sistema (6.18) tem solucao unica.Para responder a essa questao considerere-se o seguinte exercıcio cuja resolucao pode ser vistaem Burden e Faires (1988).

Exercıcio 6.5.1 Suponhamos que A = (aij)ni,j=1 e uma matriz de ordem n, tridiagonal, com

ai,i−1, ai,i+1 6= 0, para cada i = 2, . . . , n − 1. Se

|a11| > |a12|, |ann| > |an,n−1|

Page 160: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 160

e|aii| 6 |ai,i−1| + |ai,i+1|, i = 2, . . . , n − 1,

entao A e nao singular.

O resultado estabelecido neste exercıcio permite concluir, de forma imediata, o seguinteteorema.

Teorema 6.19 Considere-se o PCF linear (6.15) com condicoes de fronteira (6.14) de Di-richlet (α1 = α2 = 1, β1 = β2 = 1) e com p, q, r funcoes contınuas em [a, b]. Se q(x) > 0, paratodo o x ∈ [a, b], entao o sistema tridiagonal (6.18) tem solucao unica desde que h < 2/L,onde

L = maxx∈[a,b]

|p(x)|.

Pode dar-se o caso (muito frequente) das condicoes de fronteira nao serem de Dirichletmas de Neumann ou mistas. Suponhamos que temos o PCF

y′′ = p(x)y′ + q(x)y + r(x), x ∈ (a, b),y′(a) = γ1, y

′(b) = γ2.(6.19)

Considerando, tal como para o caso anterior, a substituicao das derivadas que aparecem naequcao diferencial pelas formulas de diferencas centradas de segunda ordem obtemos

(1 +

h

2p(xi)

)yi−1 +

(2 + h2q(xi)

)yi −

(1 − h

2p(xi)

)yi+1 = h2r(xi), i = 1, . . . , n − 1,

com yi ≈ y(xi), i = 1, . . . , n − 1. Quanto as equacoes de fronteira, o mais comum econsiderarem-se diferencas progressivas na discretizacao de y′(a) e regressivas na descretizacaode y′(b). Se usarmos diferencas progressivas e regressivas com dois pontos (ordem um) obte-mos

y0 = y1 − hγ1, yn = yn−1 + hγ2,

onde y0 ≈ y(x0) e yn ≈ y(xn). Deste modo, o sistema linear a resolver difere, em relacao aocaso em que consideramos condicoes de Dirichlet, apenas nas primeira e ultima linhas. Nestecaso, a primeira e a ultima linha do sistema linear a resolver sao, respectivamente,

(−1 +

h

2p(x1) − h2q(x1)

)y1 +

(1 − h

2p(x1)

)y2 = h2r(x1) + h

(1 +

h

2p(x1)

)γ1

e(

1 +h

2p(xn−1)

)yn−2+

(−1 − h

2p(xn−1) − h2q(xn−1)

)yn−1 = h2r(xn−1)−h

(1 − p(xn−1)

h

2

)γ2

Finalmente, facamos uma pequena abordagem ao caso nao linear. Consideremos o pro-blema nao linear geral (6.13) com condicoes de fronteira (6.14) de Dirichlet (α1 = α2 = 1,

Page 161: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 161

β1 = β2 = 1). Tal como no caso linear, vamos substituir as derivadas que aparecem na equcaodiferencial pelas formulas de diferencas centradas de segunda ordem. Obtemos assim

y(xi+1) − 2y(xi) + y(xi−1)

h2= f

(xi, y(xi),

y(xi+1) − y(xi−1)

2h

−h2

12

(2p(xi)y

′′′(ξi) − y(4)(ηi)))

, i = 1, . . . , n − 1,

y(x0) = γ1, y(xn) = γ2,

com ξi, ηi ∈ (xi−1, xi+1). O metodo de diferencas finitas que resulta quando se desprezam ostermos O(h2) das formulas de diferencas centradas e se usam as condicoes de fronteira e

yi+1 − 2yi + yi−1

h2= f

(xi, yi,

yi+1 − yi−1

2h

), i = 1, . . . , n − 1,

y0 = γ1, yn = γ2,

com yi ≈ y(xi), i = 1, . . . , n − 1. Temos entao necessidade de resolver um sistema nao linearda forma

F (X,Y ) = 0,

onde X = [x1, x2, . . . , xn−2, xn−1]T , Y = [y1, y2, . . . , yn−2, yn−1]

T e

f1(X,Y ) = −2y1 + y2 − h2f

(x1, y1,

y2 − γ1

2h

)+ γ1,

fi(X,Y ) = yi−1 − 2yi + yi+1 − h2f

(xi, yi,

yi+1 − yi−1

2h

), i = 2, . . . , n − 2,

fn−1(X,Y ) = yn−2 − 2yn−1 − h2f

(xn−1, yn−1,

γ2 − yn−2

2h

)+ γ2.

Prova-se (ver Burden e Faires (1988)) que este sistema nao linear tem solucao unica seh < 2L onde

L = maxx∈[a,b]

|fy′(x, y, y′)|.

A sua solucao pode ser obtida, de forma aproximada, pelo metodo de Newton estudado noCapıtulo 2.

Page 162: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 162

6.6 Exercıcios de aplicacao a engenharia

Exercıcio 6.6.1 Um projectil e lancado da superfıcie terreste com uma velocidade V . Supondoque nao ha arrasto a equacao do movimento e

νdν

dr= −g

R2

r2,

onde ν e a velocidade a distancia 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.

Exercıcio 6.6.2 Uma solucao lıquida flui de forma constante ao longo de um tubo na direccaox. Alguns dos solutos contidos na solucao difundem-se atraves da parede do tubo reduzindo aconcentracao z no tubo. A concentracao z e dada por

dz

dx= −z(0.2 +

√z)e−0.03x.

Se tomarmos z = 1.5 em x = 2 determine o valor de z em x = 2.4.

Exercıcio 6.6.3 Uma quantidade de 10 quilogramas de material e despejada num reservatoriocontendo 60 quilogramas de agua. A concentracao da solucao, c (em percentagem), vem dadaem funcao do tempo, t (em segundos), por

(60 − 1.2112c)c′ =k

3(200 − 14c)(100 − 4c),

onde k, o coeficiente de transferencia de massa, e igual a 0.0589. A condicao inicial em t = 0 ec = 0. Determine a relacao entre c e t.

Exercıcio 6.6.4 A equacao quımica irreverssıvel na qual duas moleculas de dicromato de po-tassio (K2Cr2O7) solido, duas moleculas de agua (H2O) e tres atomos de enxofre (S) solido daoorigem a tres moleculas de dioxido de enxofre (SO2) gasoso, quatro moleculas de hidroxido depotassio (KOH) solido e duas moleculas oxido de cromio (Cr2O3) solido pode ser representada,simbolicamente, pelo esquema

2K2Cr2O7 + 2H2O + 3S −→ 4KOH + 2Cr2O3 + 3SO2.

Se existirem inicialmente n1 moleculas de 2K2Cr2O7, n2 moleculas de H2O e n3 moleculas deS a equacao seguinte descreve a quantidade x(t) de KOH ao fim de um tempo t (em segundos)

x′ = k(n1 −

x

2

)2 (n2 −

x

2

)2(

n3 −3x

4

)3

,

onde k e a velocidade da reacao (constante). Se k = 6.22×10−19, n1 = n2 = 1000 e n3 = 1500,quantas unidades de hidroxido de potassio serao formadas ao fim de 2 segundos?

Exercıcio 6.6.5 Na teoria da proliferacao de uma doenca contagiosa, podem ser usadas equa-coes diferenciais relativamente elementares para prever o numero de indivıduos infectados napopulacao em cada instante, desde que sejam efectuadas simplificacoes apropriadas. Esta teoriafoi estudada por N.T.J. Bayley em 1957 e 1967 em dois livros, um sobre matematica aplicada

Page 163: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 163

a medecina (’The Mathematical Approach to Biology and Medicine’, John Wiley & Sons, NY,1967) e outro sobre a teoria matematica das epidemias (’The Mathematical Theory of Epidemics’,Hafner, NY, 1957).

Em particular, consideremos que todos os indivıduos numa populacao fixa tem uma probabil-idade igual de ser infectados e que uma vez portadores da doenca permanecerao sempre nessacondicao. Se x(t) denotar o numero de indivıduos susceptıveis de contrair a doenca no instantet e y(t) o numero de indivıduos infectados, e razoavel assumir que a razao a qual o numero deinfectados varia e proporcional ao produto de x(t) por y(t) visto que a razao depende tando donumero de infectados como do numero de susceptıveis presentes, para cada t. Se a populacao forsuficientemente grande para considerarmos que x(t) e y(t) sao variaveis contınuas, o problemapode ser expresso na forma

y′(t) = kx(t)y(t),

onde k e uma constante e x(t) + y(t) = m e a populacao total. Esta equacao pode ser reescritapor forma a depender apenas de y(t). Assim

y′(t) = ky(t)(m − y(t)). (6.20)

1. Assumindo que m = 100000, y(0) = 1000, k = 2 × 10−6 e o tempo medido em dias,determine o numero de indivıduos infectados ao fim de 30 dias.

2. A equacao (6.20) e conhecida por equacao de Bernoulli e pode ser transformada numaequacao diferencial linear em z(t) se efectuarmos a mudanca de variavel z(t) = (y(t))−1.Usando esta tecnica, determine a solucao exacta y(t) da equacao diferencial (6.20), com ashipoteses consideradas no ponto anterior, e compare-a com a solucao numerica obtida.

3. Determine limt→∞

y(t). Este resultado esta de acordo com a sua intuicao?

Exercıcio 6.6.6 No exercıcio anterior, todos os indivıduos infectados permanecem na populacaoajudando a difundir a doenca. Uma situacao mais realista consiste em introduzir uma nova variavelz(t) para representar tanto o numero de indivıduos que sao retirados da populacao infectada numdeterminado instante t, por isolamento, como os que sao tratados (e consequentemente tornadosimunes) ou os que morrem. O problema posto nestes termos e, naturalmente, mais complicadomas Bayley mostrou que a solucao 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 sao, respectivamente, as taxas de crescimento de y(t) e de z(t), sendo z(t) deter-minada pela equacao diferencial

z′(t) = k2

(m − z(t) − x(0)e−(k1/k2)

).

Como nao e possıvel determinar a solucao exacta deste problema, temos que recorrer a solucaonumerica. Assim, determine uma aproximacao para z(30), y(30) e x(30) assumindo que m =100000, x(0) = 99000, k1 = 2 × 10−6 e k2 = 10−4.

Exercıcio 6.6.7 O estudo de modelos matematicos para estimar a evolucao de uma populacaode especies que competem entre si teve a sua origem no inıcio do seculo com os trabalhos deA.J. Lotka e V. Volterra. Consideremos o problema de estimar a populacao constituida por duas

Page 164: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 164

especies, uma das quais e predadora, cuja populacao no instante t e x2(t), e que se alimentacomendo a outra especie, a que chamamos presa e cuja populacao e x1(t). Este problema eusualmente designado por predador-presa. Vamos assumir que a presa possui sempre uma quan-tidade de comida adequada e que a sua taxa de natalidade em todos os instantes e proporcionalao numero de presas vivas nesse instante; isto e, a taxa de natalidade (presa) = k1x1(t). A taxade mortalidade das presas depende tanto do numero de presas como de predadores vivos nesseinstante. Por uma questao de simplicidade vamos assumir que a taxa de mortalidade (presa)= k2x1(t)x2(t). A taxa de natalidade dos predadores, por outro lado, depende da quantidade decomida existente, x1(t), assim como do numero de predadores existentes para fins de reproducao.Por essas razoes vamos assumir que a taxa de natalidade (predador) = k3x1(t)x2(t). A taxa demortalidade dos predadores sera tomada proporcionalmente ao numero de predadores vivos nesseinstante; isto e, a taxa de mortalidade (predador) = k4x2(t).

A variacao da populacao de presas e predadores pode ser dada pelas seguintes equacoesdiferenciais

x′1(t) = k1x1(t) − k2x1(t)x2(t)

x′2(t) = k3x1(t)x2(t) − k4x2(t)

.

Assumindo que a populacao inicial de presas e 1000 e a de predadores 200, e que as constantesk1 = 3, k2 = 0.002, k3 = 0.0006 e k4 = 0.5, trace o grafico das solucoes deste problema edescreva o fenomeno fısico representado. Sera que o problema possui alguma solucao estavel? Sesim, para que valores de x1 e x2 e que tal acontece?

Exercıcio 6.6.8 Num livro intitulado ’Looking at History Through Mathematics’, MIT Press,Cambridge MA, 1968, N. Rashevsky considerou um modelo para um problema envolvendo oevolucao de nao conformistas3 na sociedade. Suponhamos que uma sociedade tem uma populacaode x(t) indivıduos no instante t, em anos, e que todos os nao conformistas que acasalam comoutros nao conformistas tem uma descendencia que tambem e nao conformista. Por outro lado,para todas as outras descendencias, existe uma proporcao fixa r que sao ainda nao conformistas.Se as taxas de natalidade e mortalidade para todos os indivıduos se assumir como sendo asconstantes n e m, respectivamente, e se conformistas e nao conformistas acasalarem de formaaleatoria, o problema pode ser expresso pelas equacoes diferenciais

x′(t) = (n − m)x(t)

y′(t) = (n − m)y(t) + rn(x(t) − y(t)),

onde y(t) denota o numero de nao conformistas na populacao no instante t.

1. Se a variavel p(t) = y(t)/x(t) for introduzida para representar a proporcao de nao con-formistas na sociedade no instante t, mostre que o sistema de equacoes diferenciais se reduza

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 solucao p(t) paraos primeiros 50 anos.

3. Resolva a equacao diferencial para p(t) de forma exacta, e compare o resultado com asolucao numerica.

3Conformista e a pessoa que adopta ou segue o conformismo (anglicanismo).

Page 165: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 165

Exercıcio 6.6.9 Consideremos um pendulo simples constituıdo por uma bola uniforme de massam e uma barra fina de comprimento l e massa negligenciavel. Se considerarmos que a resistenciado ar e porpocional ao quadrado da velocidade angular do pendulo, a equacao do movimeto edada por

θ′′ + 2k(θ′)2

= −g

lsin θ,

sendo θ o angulo agudo que a barra do pendulo faz com a vertical. Considerando que em t = 0se tem θ = π

3 determine o valor de θ e de θ′ nos instantes (em minutos) ti = ih, com h = 0.05 ei = 0, 1, . . . , 50.

Exercıcio 6.6.10 A equacao de Van der Pol, que aparece na electronica, e

x′′ + (1 − x2)x′ + x = 0.

Com as condicoes iniciais x(0) = 0.5 x′(0) = 0, determine x, x′ e x′′ para nos instantes ti = ih,com h = 0.1 e i = 0, 1, . . . , 40.

Exercıcio 6.6.11 Um cao, num campo ao lado de uma estrada, ve o dono a caminhar nela ecorre para ele. Supondo que o cao corre sempre na direccao do dono e que a estrada e rectilınea,a equacao que define a trajectoria por ele seguida e definida pela equacao

xd2y

dx2= c

1 +

(dy

dx

)2

,

sendo c a razao entre as velocidades do homem e do cao. Supondo que c = 0.5 e que inicialmenteo cao se encontra parado na posicao (x, y) = (1, 0) e o dono na posicao (x, y) = (0, 0), determineem que posicao termina a corrida.

Exercıcio 6.6.12 Um circuito electrico que e formado por um condensador de capacidedeelectrica constante C = 1.1 farad em serie com uma resistencia constante de R0 = 2.1 ohm.A voltagem E(t) = 110 sin t e aplicada no instante t = 0. A medida que o calor aumenta, aresistencia torna-se funcao da corrente I,

R(t) = R0 + kI(t),

com k = 0.9. A equacao diferencial para I e

(1 +

2k

R0i(t)

)I ′(t) +

1

R0CI(t) =

1

R0E′(t).

Determine a corrente I ao fim de 2 segundos, assumindo que I(0) = 0.

6.7 Referencias bibliograficas

A.C. Bajpai; L.R. Mustoe e D. Walker (1992), Engineering Mathematics, 2th ed., JohnWiley & Sons, Chichester.

R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.

Page 166: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 166

B.J. Caraca (1989), Conceitos Fundamentais da Matematica, 9a ed., Livraria Sa Costa,Lisboa.

S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, NewYork.

J.A. Ferreira e M.F. Patrıcio (1999), Analise Numerica, Textos de Apoio, DMUC, Coimbra.

H. Goldstine (1977), A History of Numerical Analysis from 16th Through the 19th Century,Springer-Verlag, New York.

E. Hairer, S.P. Nrsett e G. Wanner (1987), Solving Ordinary Differential Equations I,Springer Series in Comput. Mathematics, Vol. 8, Springer-Verlag, Heidelberg.

E. Hairer e G. Wanner (1991), Solving Ordinary Differential Equations II, Springer Seriesin Comput. Mathematics, Vol. 14, Springer-Verlag, Heidelberg.

R. Kress (1998), Numerical Analysis, Springer-Verlag, New York.

J.R. Rice (1983), Numerical Methods, Software, and Analysis, McGraw-Hill, Tokyo.

M. Rosa (1992), Topicos de Analise Numerica, Dep. Matematica, Univ. Coimbra.

M.R. Valenca (1988), Metodos Numericos, INIC, Braga.

Page 167: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Conteudo

1 Preliminares 21.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Nocoes e teoremas basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Breve referencia a teoria dos erros . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4.1 Erros de arredondamento . . . . . . . . . . . . . . . . . . . . . . . . . 81.4.2 Erros de truncatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 O polinomio de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 131.7 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Solucao numerica de equacoes e sistemas nao lineares 152.1 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 Determinacao da aproximacao inicial . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.1 Localizacao grafica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4.2 Metodo de Rolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.5 Calculo das raızes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.5.1 Metodo da bisseccao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.5.2 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5.3 Metodo do ponto fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.6 Zeros de polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.6.1 Resultados basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.6.2 Calculo de valores de um polinomio. Factorizacao . . . . . . . . . . . 382.6.3 Calculo dos zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.7 Sistemas de equacoes nao lineares (breve introducao) . . . . . . . . . . . . . . 412.7.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.7.2 Metodo iterativo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 43

2.8 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 462.9 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Sistemas de equacoes lineares 503.1 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.3 Classes de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

167

Page 168: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 168

3.4 Metodos directos: revisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.5 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.5.1 Normas de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.5.2 Convergencia dos metodos iterativos . . . . . . . . . . . . . . . . . . . 593.5.3 Metodos de Jacobi e Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 61

3.6 Condicionamento de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.7 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 643.8 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4 Interpolacao polinomial 684.1 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.2 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.3 Interpolacao polinomial de Lagrange . . . . . . . . . . . . . . . . . . . . . . . 70

4.3.1 Formula de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.3.2 Formula de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.3.3 Interpolacao em pontos igualmente distanciados . . . . . . . . . . . . 784.3.4 Erro de interpolacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.3.5 Zeros dos polinomios de Chebyshev . . . . . . . . . . . . . . . . . . . . 84

4.4 Interpolacao de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.4.1 Existencia e unicidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.4.2 Erro de interpolacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.4.3 Polinomios osculadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.5 Interpolacao segmentada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.5.1 Interpolacao segmentada de Lagrange . . . . . . . . . . . . . . . . . . 924.5.2 Interpolacao segmentada de Hermite . . . . . . . . . . . . . . . . . . . 99

4.6 Interpolacao com funcoes spline . . . . . . . . . . . . . . . . . . . . . . . . . . 994.6.1 Abordagem classica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.6.2 Funcoes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014.6.3 Estudo do erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.7 Interpolacao parametrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.7.1 Interpolacao cubica de Hermite segmentada . . . . . . . . . . . . . . . 1074.7.2 Curvas de Bezier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.8 Interpolacao bidimensional de Lagrange . . . . . . . . . . . . . . . . . . . . . 1104.9 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 1154.10 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5 Derivacao e integracao numerica 1205.1 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.2 Derivacao numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

5.2.1 Aproximacao da primeira derivada . . . . . . . . . . . . . . . . . . . . 1215.2.2 Aproximacao da segunda derivada. Algumas formulas . . . . . . . . . 1245.2.3 Aproximacao de derivadas de ordem superior . . . . . . . . . . . . . . 126

5.3 Integracao numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.3.1 Formulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . 1265.3.2 Formulas compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

5.4 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 1345.5 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Page 169: An´alise Num´ericaalma/aulas/matcomp/sebenta/matcomp.pdf · modelos para a mecanica dos solidos e dos flu´ıdos. As engenharias mecanica e civil usam esses modelos como sendo

Metodos numericos para problemas diferenciais ordinarios 169

6 Metodos numericos para problemas diferenciais ordinarios 1366.1 Breve referencia historica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.2 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1376.3 Problemas com condicao inicial . . . . . . . . . . . . . . . . . . . . . . . . . . 138

6.3.1 Existencia e unicidade de solucao. Condicionamento . . . . . . . . . . 1386.3.2 Metodos numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416.3.3 Metodos baseados na serie de Taylor . . . . . . . . . . . . . . . . . . . 1426.3.4 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 1446.3.5 Estudo do erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476.3.6 Metodos de passo unico implıcitos . . . . . . . . . . . . . . . . . . . . 151

6.4 Sistemas de equacoes diferenciais . . . . . . . . . . . . . . . . . . . . . . . . . 1546.5 Problemas com condicoes de fronteira . . . . . . . . . . . . . . . . . . . . . . 156

6.5.1 Metodo das diferencas finitas . . . . . . . . . . . . . . . . . . . . . . . 1576.6 Exercıcios de aplicacao a engenharia . . . . . . . . . . . . . . . . . . . . . . . 1626.7 Referencias bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165