You are on page 1of 118

k=1;x(k)=0.

5*(a+b);FX=f(x(k));FA=f(a);FB=f(
b);e_rel=+Inf;whilek<kmax&&abs(e_rel)>tolif
FA*FX<=0b=x(k);FB=FX;elsea=x(k);FA=FX;endk=
k+1;x(k)=0.5*(a+b);FX=f(x(k));e_rel=(x(k1),
x(k));endz=x(k);n=size(A,1);fori=1:nforj=1:
nifi==jC(i,j)=0;elseC(i,j)=A(i,j)/A(i,i);en
Clculo Numrico
dendd(i,1)=)=((j1)/n)^(i);s(n+1,1);b(i)/A(i
,i);endk=1;x=ones(n,1);e_rel=+Inf;whilek<km
ax&e_rel>tolk=k+1;x_ant=x;fori=1:nx(i)=C(i,
:)*x+d(i);ende_rel=t(x_ant,x);endn=length(c
);y=0;fork=1:ny=y.*x+c(k);endn=length(x);fo
ri=1:nX(i,m+1)=1;forj=m:1:1X(i,j)=x(i)*X(i,
j+1);endA=zeros(n+1,n+1);for)=((j1)/n)^(i1)
;s(n+1,1))=((j1)/n)^(i1);sfori=0:nwhilek<1;
Notas de Aula

Clculo Numrico
Notas de Aula

Adalberto Ayjara Dornelles Filho

aadornef@ucs.br

19 de fevereiro de 2015
verso 11

Sumrio
Apresentao

1 Introduo ao Matlab

1.1

Obtendo ajuda

1.2

Calculando com o Matlab

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Programando com o Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1

Estruturas lgicas de um algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.2

Estrutura de sequncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.3

Estruturas de deciso

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.4

Estruturas de repetio

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Erros e Aritmtica Computacional

14

2.1

Resoluo de problemas numricos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Representao numrica de ponto utuante

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.3

Erros nos processos numricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.3.1

Erro de arredondamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.3.2

Erro de truncamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.4

Notao

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5

Estimativas para o erro

2.6

Convergncia nos processos numricos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i

14

18
20
21

ii

SUMRIO

2.7

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Zeros de funes

22

25

3.1

Denio do problema

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.2

Mtodo da bisseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.2.1

Critrios de parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.3

Mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.4

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4 Sistemas Lineares

34

4.1

Denio do problema

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.2

Mtodo de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Pivotamento Parcial

4.3

Mtodos iterativos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

4.4

Mtodo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

4.4.1

40

Convergncia

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.5

Mtodo de Gauss-Seidel

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

4.6

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

5 Interpolao

47

5.1

Denio do problema

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

5.2

Mtodo de Vandermonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

5.3

Mtodo de Lagrange

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

5.3.1

Frmulas para 2 e 4 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

5.3.2

Erro na interpolao polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

5.4

5.5

Mtodo do

spline

cbico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

5.4.1

Denio e propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

5.4.2

Deduo dos coecientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

5.4.3

Determinao do

spline

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

iii

SUMRIO

6 Ajuste de funes

61

6.1

Denio do problema

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

6.2

Resduo quadrtico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

6.3

Ajuste polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

62

6.3.1

Um pouco de lgebra Linear

63

6.3.2

Obtendo o polinmio de ajuste

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

6.4

Ajuste exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

6.5

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

7 Integrao Numrica

74

7.1

Denio do problema

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

7.2

Mtodo de Newton-Cotes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

7.2.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

7.3

Mtodo de Newton-Cotes composto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

7.4

Mtodo de Newton-Cotes adaptvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

7.5

Mtodo do

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

7.6

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

Deduo dos pesos de integrao

Spline

Cbico

8 Equaes Diferenciais Ordinrias


8.1

Denio do problema

8.2

Mtodo de Euler

86

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

86

8.3

Mtodo de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

8.4

Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

A Respostas para problemas selecionados

96

Lista de Algoritmos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

VPol . . . . . . . . . .
MVander . . . . . . . .
PivotamentoParcial
EpsilonMaq . . . . . .
ErroRel . . . . . . . .
RaizQuadrada . . . .
ZeroBisseo . . . . .
ZeroNewton . . . . .
SLGaussProv . . . . .
SLGauss . . . . . . . .
ErroRelVet . . . . .
SLGaussJacobi . . . .
SLGaussSeidel . . . .
ILagrange . . . . . . .
CoefSpline3 . . . . . .
ISpline3 . . . . . . . .
AjustePol . . . . . . .
QuadNCAdapt . . . .
QuadRec . . . . . . . .
QuadSpline3 . . . . .
EDOEuler . . . . . . .
EDORK4 . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

12

. . . . . . . . . . . . . . . . . . . .

12

. . . . . . . . . . . . . . . . . . . .

13

. . . . . . . . . . . . . . . . . . . .

17

. . . . . . . . . . . . . . . . . . . .

20

. . . . . . . . . . . . . . . . . . . .

21

. . . . . . . . . . . . . . . . . . . .

27

. . . . . . . . . . . . . . . . . . . .

29

. . . . . . . . . . . . . . . . . . . .

36

. . . . . . . . . . . . . . . . . . . .

37

. . . . . . . . . . . . . . . . . . . .

39

. . . . . . . . . . . . . . . . . . . .

40

. . . . . . . . . . . . . . . . . . . .

42

. . . . . . . . . . . . . . . . . . . .

50

. . . . . . . . . . . . . . . . . . . .

56

. . . . . . . . . . . . . . . . . . . .

56

. . . . . . . . . . . . . . . . . . . .

66

. . . . . . . . . . . . . . . . . . . .

80

. . . . . . . . . . . . . . . . . . . .

80

. . . . . . . . . . . . . . . . . . . .

82

. . . . . . . . . . . . . . . . . . . .

87

. . . . . . . . . . . . . . . . . . . .

91

iv

Apresentao

cada vez mais intenso o uso de tcnicas computacionais para a resoluo de problemas nas Cincias Exatas e Engenharias. Boa parte dessas
tcnicas requer o conhecimento dos fundamentos do

Clculo Numrico.

versidades a incluem em seus currculos (em intensidades muito variadas).

Notas de Aula

mente claros e simples de modo que o estudante iniciante seja capaz


entender como funcionam;

Diante da importncia dessa disciplina na formao de prossionais, as uniEstas

Simplicidade: O desenvolvimento e a implementao so suciente-

foram preparadas especicamente para o estudante

Desempenho:

Os algoritmos resolvem satisfatoriamente uma boa

quantidade de problemas que o estudante pode encontrar em sua


vida prossional;

que se inicia nessa disciplina.

No Captulo 1, veremos uma explicao breve das funcionalidades bsicas do Matlab (incluindo clculo e programao). No Captulo 2, apresentamos a forma de representao numrica bem como os conceitos de

Base: A maioria das tcnicas mais avanadas toma por base as ideias,
ou combinaes de ideias, de mtodos mais simples como os aqui
estudados.

erro (de truncamento e arredondamento) inerentes aos processos computacionais. O estudo dos mtodos numricos propriamente ditos se iniciam

O leitor interessado em outros mtodos pode (e deve) recorrer a literatura

no Captulo 3 com os mtodos para determinar zeros de funes (bisse-

especializada como, por exemplo, [8, 19, 30, 40].

o e Newton). No Captulo 4 estudamos mtodos diretos (escalonamento

Para complementar o entendimento da teoria, muitos problemas so

de Gauss) e iterativos (Gauss-Jacobi e Gauss-Seidel) para resoluo de

propostos.

sistemas de equaes lineares. No Captulo 5 estudamos o problema da interpolao polinomial (Vandermonde e Lagrange) e por

spline

(no numrica). Esse tipo de problema importante para que o estudante


exercite passo-a-passo e absorva as

estudado no Captulo 7 com a apresentao dos mtodos de Newton-Cotes


cbico. Por m, a

subjacentes aos mtodo numri-

O estudo do Clculo Numrico no pode ser realizado sem a efetiva

implementao

dos mtodos de Euler e Runge-Kutta. No apndice A, so apresentadas as

dos algoritmos em alguma linguagem de programao. O

presente texto enfatiza essa viso, atravs dos exerccios propostos onde a

respostas e dicas problemas selecionados.

muitos

ideias

cos apresentados

resoluo de equaes diferenciais ordinrias vista no Captulo 8 a partir

Existem

indicam que o

uma calculadora, se for o caso) ou apresenta alguma resoluo algbrica

ajuste de curvas polinomiais. O problema clssico da integrao numrica

spline

mesmo sucientemente simples para ser resolvido mo (com ajuda de

cbico. Em

seguida, no Captulo 6 estudamos o mtodo dos quadrados mnimos para

(regras simples, compostas e adaptveis) e por

Os problemas assinalados pelo smbolo

sempre solicitada nos exerccios precedidos


Nesse sentido, o conhecimento de alguma linguagem de

implementao dos algoritmos

mtodos disponveis para resolver cada um dos proble-

pelo smbolo

mas abordados. Para tornar o material sucientemente compacto para uso

programao deveria ser pr-requisito (o que nem sempre o caso). Aos

em sala de aula tivemos que optar por escolher apenas um punhado deles.

estudantes que j conhecem linguagens de programao, esta disciplina

Seguindo a orientao de Burden e Faires [8], os mtodos foram escolhidos

ser uma excelente oportunidade de

de modo a seguir os seguintes critrios:


v

aplicao

desse conhecimento.

Aos

vi

APRESENTAO

que no o possuem, ser uma excelente oportunidade de

aprendizagem

de

tais linguagens.
A princpio, qualquer linguagem pode ser utilizada (C, Pascal, Java,
...), desde que apresente os comandos matemticos mnimos necessrios.
Por preferncia pessoal do autor, estas notas utilizam a linguagem do
Matlab.

Essa aproximao se reete em duas caractersticas do texto:

Primeiramente, os algoritmos, apresentados em pseudo-cdigo, esto escritos usando uma estrutura sinttica muito similar a do Matlab o que faz
com que a implementao seja bastante simplicada. Em segundo lugar,
ao longo do texto, diversos pargrafos precedidos pelo smbolo

mostram

informaes relativas ao uso do Matlab e aos algoritmos implementados.


Para os exemplos mostrados nestas notas, foi utilizada a verso R2012a.
Existem boas opes (livres) ao Matlab: pode-se citar o Scilab e o Freemat.
O autor agradece aos colegas
Ana Grisa,
Oclide J. Dotto,

Eliana S. Soares,

Mnica Scotti,

Vania P. Slaviero,

pelas correes, comentrios e sugestes recebidas.


O texto foi editado usando o sistema de preparao de documentos

AT X (www.latex-project.org). O editor de texto utilizado foi o


L
E

WinEdt

(www.winedt.com). A atualizao de pacotes tipogrcos foi feita com o


auxlio do

MiKTeX (www.miktex.com). Os grcos foram elaborados com


Matlab (www.mathworks.com) e os desenhos com o

o software matemtico

IPE Draw (ipe7.sourceforge.net).

Captulo 1

Introduo ao Matlab
See also log1p, log2, log10, exp, logm, reallog.

Neste captulo, estudaremos brevemente algumas caractersticas e funcionalidades do Matlab.


O Matlab (acrnimo de

2. No menu

Matrix Laboratory ) um software que permite

HELP >> MATLAB HELP,

possvel obter informaes mais

detalhadas sobre os comandos, exemplos, informaes tcnicas, algo-

ao usurio efetuar clculos via digitao direta de comandos e tambm a

ritmos e referncias bibliogrcas detalhadas.

construo de programas que automatizam procedimentos de clculo mais


complexos. O Matlab uma ferramenta de larga utilizao tanto no mundo

3. Na internet, acessando o stio ocial do fabricante (www.mathworks.

acadmico (ensino, pesquisa, etc.) quanto no prossional (desenvolvimento

com),

de produtos, anlise de problemas, etc.). Tem um interface simples e in-

possvel acessar o suporte tcnico, fruns de discusso, tuto-

riais e manuais (em formato PDF), etc.

tuitiva, e constitui ferramenta indispensvel (na viso do autor) para o


estudante de cincias exatas e engenharia. Existem vrias e boas referncias bibliogrcas para o estudante interessado.

Essential MATLAB for Engineers and Scientists

1.2 Calculando com o Matlab

Para citar apenas uma:


de Brian D. Hahn e Da-

niel T. Valentine [24].

No Matlab, a janela de trabalho o espao onde os

comandos so digitados,

as operaes so executadas e os resultados so mostrados. O smbolo

1.1 Obtendo ajuda

chamado

um comando. Aps teclar

Enter

, o resultado apresentado como mostra

a Figura 1.1.

Existem trs nveis de ajuda:


1. Ao se digitar

>>,

prompt, denota que o Matlab est esperando que o usurio digite

Variveis

help <comando> na rea de trabalho do Matlab, se ob-

tm uma breve informao sobre o comando especicado, por exemplo:

No Matlab, todos os resultados (nmeros, vetores, matrizes, etc.)


armazenados em variveis.

>> help log


log Natural logarithm.
log(X) is the natural logarithm of the elements of X.
Complex results are produced if X is not positive.

Os nomes das variveis devem comear com

uma letra seguida de qualquer nmero de letras, dgitos ou

>> a = 3, b = 7, c = a + b
1

so

underscores :

CAPTULO 1.

INTRODUO AO MATLAB

>> soluo
soluo =
|
Error: The
statements
O uso de

= a * b * c
a * b * c
input character is not valid in MATLAB
or expressions.
;

no nal de um comando de atribuio inibe a apresentao

do resultado:

Figura 1.1:

>> a = 1 + 3
a = 4
>> b = 5 - 2;
>>

A janela de trabalho do Matlab.

a = 3
b = 7
c = 10

Comentrios (muito teis em programao) so escritos aps um

>> b = 5;
>> h = 7;
>> A = b * h
A = 35

>> fatorial_de_5 = 5 * 4 * 3 * 2 * 1
fatorial_de_5 = 120
Se uma varivel no explicitada pelo usurio, o resultado ser armazenado na varivel

ans:

Var

representam variveis distintas:

>> Num_1 = 1234, Num_2 = 4567


Num_1 = 1234
Num_2 = 4567
>> Tot = Num_1 + num_2
??? Undefined function or variable 'num_2'.
No so permitidos diacrticos (acento, cedilha, til, etc.):

% base
% altura
% rea do retngulo

Operaes elementares
O Matlab realiza operaes matemticas elementares como uma calcula-

>> 7 * 8
ans = 56
O Matlab distingue letras maisculas de minsculas. Assim

%:

dora.

As operaes aritmticas elementares:


var, VAR,

Adio, subtrao, multiplicao, diviso:

>> 4 + 5
% adio
ans = 9
>> 4 - 5
% subtrao
ans = -1
>> 4 * 5
% multiplicao
ans = 20
>> 4 / 5
% diviso
ans = 0.8000
>> 1 * 2 + 3 / 4 - 5
% Qual o resultado?

CAPTULO 1.

Potenciao, raiz quadrada e outras razes:

Funes trigonomtricas inversas

Valor absoluto, resto da diviso inteira:

>> n = abs(-500)
n = 500
>> r = rem(n, 3)
r = 2

>> t1 = asin(sqrt(2)/2), t2 = asind(sqrt(2)/2)


t1 = 0.7854 % ngulo em radianos
t2 = 45.0000 % ngulo em graus

Exponencial e Logaritmo:
Potncia de base natural:

ex

>> exp(4)
ans = 54.5982

Arredondamento:

>> x = sqrt(10)
x = 3.1623
>> a = floor(x), b = ceil(x),
a = 3
% arredonda para o
b = 4
% arredonda para o
c = 3
% arredonda para o

Seno, cosseno e tangente de um ngulo em graus:

>> a = sind(60), b = cosd(60), c = tand(60)


a = 0.8660
b = 0.5000
c = 1.7321

>> a = sqrt(5), b = a^2


a = 2.2361
b = 5.0000
>> a = 7^(1/3), b = a^3
a = 1.9129
b = 7.0000

Logaritmos:

c = round(x)
inteiro inferior
inteiro superior
inteiro mais prximo

Operaes trigonomtricas:
O nmero

INTRODUO AO MATLAB

>> pi
ans = 3.1416
Seno, cosseno e tangente de um ngulo em radianos:

>> a = sin(pi/3), b = cos(pi/3), c = tan(pi/3)


a = 0.8660
b = 0.5000
c = 1.7321

ln x, log10 x, log2 x

>> log(5)
ans = 1.6094
>> log10(1000)
ans = 3
>> log2(512)
ans = 9

% logaritmo de base natural


% logaritmo de base 10
% logaritmo de base 2

Vetores e matrizes
O Matlab opera com vetores e matrizes com facilidade.
Vetor denido por seus elementos:

>> x = [1 2 3 4 5]
x = 1
2
3

Vetor denido por intervalo de valores:

CAPTULO 1.

INTRODUO AO MATLAB

>> y = 1 : 0.5 : 3
y = 1.0000
1.5000

2.0000

2.5000

3.0000

Operaes com o vetores:

>> x + y
% adio
ans = 2.0000
3.5000
5.0000
6.5000
8.0000
>> x .* y
% multiplicao elemento-elemento
ans = 1
3
6
10
15
>> x.^2
% potncia dos elementos
ans =
1
4
9
16
25
>> exp(y)
% operaes elementares
ans = 2.7183
4.4817
7.3891 12.1825 20.0855
>> dot(x, y)
% produto escalar entre x e y
ans = 35
>> n = length(x) % tamanho do vetor
n = 5
Matriz denida por seus elementos:

>> A = [-2 0 1; -2 -3 0; 3 -2 -2]


A =
-2
0
1
-2
-3
0
3
-2
-2

>> inv(A)
ans =
6.0000
-4.0000
13.0000

% uma matriz 3x3

% o determinante de A
% a matriz inversa da A
-2.0000
1.0000
-4.0000

3.0000
-2.0000
6.0000

>> A.^2
ans =
4
4
9

% multiplicando matrizes: A * A
-2
9
10

-4
-2
7
% cada elemento de A ao quadrado

0
9
4

1
0
4

>> [l, c] = size(A)


l = 3
c = 3
Os comandos

length

% nmero de linhas e colunas de A

size

so semelhantes mas tm uso distinto:

vetor
matriz.

primeiro indicado para determinar o tamanho de um


ltimo indicado para determinar o tamanho de uma
Transposio de vetores e matrizes:

Operaes matriciais:

>> det(A)
ans = 1

>> A^2
ans =
7
10
-8

>> A = [1 2 3; 4 5 6], x = [2 4 6]
A =
1
2
3
4
5
6
x =
2
4
6
>> A', x'
ans =
1
4
2
5
3
6
ans =
2
4
6
Matrizes especiais:

enquanto o

CAPTULO 1.

>> B = zeros(3,2)
B =
0
0
0
0
0
0

% matriz de zeros

>> W = ones(2,3)
W =
1
1
1
1
1
1
>> I = eye(3)
I =
1
0
0
0
1
0
0
0
1

% matriz de uns

>> rand(2,4)
ans =
0.6223
0.7159

INTRODUO AO MATLAB

% matriz identidade

% matriz com elementos aleatrios


0.4123
0.3622

0.1355
0.9021

0.2896
0.7814

Os comandos acima funcionam tambm para matrizes:

>> A = [1 5; 3 -4]
A =
1
5
3
-4
>> M = max(A)
M =
3
5
>> MM = max(max(A))
MM =
5
>> S = sum(A)
S =
4
1
>> S = sum(sum(A))
S =
5
Os colchetes

[ ]

% Uma matriz A

% Os maiores elementos de cada coluna de A


% O maior elemento de A
% A soma dos elementos de cada coluna de A
% A soma de todos os elementos de A

podem ser usados para

justapor

(concatenar) vetores

ou matrizes:

Comandos teis para vetores e matrizes


Os comandos

>> x =
x =
4
>> M =
M =
5
>> m =
m =
-3
>> S =
S =
4

max, min e sum, so bastante teis na manipulao de vetores:

[4 -2 5 0 -3]
-2
max(x)

% Um vetor x
0

-3

% O maior elemento de x

min(x)

% O menor elemento de x

sum(x)

% A soma dos elementos de x

>> A = [1 2; 4 5], b = [3; 6]


A =
1
2
4
5
b =
3
6
>> Ab = [A b]
Ab =
1
2
3
4
5
6

Funo annima
O comando

@ dene funes a partir de expresses algbricas.

Por exemplo:

CAPTULO 1.

INTRODUO AO MATLAB

>> f = @(z) 1/sqrt(2*pi) * exp(-0.5 * z.^2)


f =
@(z)1/sqrt(2*pi)*exp(-0.5*z.^2)
>> a = f(0), b = f(1)
a =
0.3989
b =
0.2420
>> z = 0 : 5, d = f(z)
z =
0
1
2
3
4
d =
0.3989
0.2420
0.0540
>>
A varivel

5
0.0044

pode ser passada como

argumento

como no exemplo a seguir, onde o comando


funo no intervalo

0.0001

quad

0.0000

para outras funes,


calcula a integral da

2 < z < 2:

>> P = quad(f, -2, 2)


P =
0.9545

Grcos
O Matlab possui uma variedade de comandos para produzir grcos.
comando

>>
>>
>>
>>
>>
>>
>>

plot,

para grcos bidimensionais, o mais simples deles.

z = -4 : 0.1 : 4;
d = f(z);
plot(z, d ,'r--')
grid on
xlabel('valor da varivel aleatria')
ylabel('densidade de probabilidade')
title('Distribuio normal padro')

%
%
%
%
%
%
%

A Figura 1.2 mostra o resultado dos comandos.

valores para z
valores para f(t)
grfico
grade
rtulo horiz.
rtulo vert.
ttulo

Figura 1.2:

Janela grca do Matlab com um grco 2D simples.

CAPTULO 1.

INTRODUO AO MATLAB

1.3 Programando com o Matlab


O Matlab permite a execuo de conjuntos de comandos a partir de

gramas.

pro-

P2 = 8.1
P3 = 8.6
H = 3 / (1/P1 + 1/P2 + 1/P3)

Os programas so arquivos de texto escritos em um editor de

Exemplo:

programas. A Figura 1.3 mostra a janela de edio.

Uma

function

para o clculo da mdia harmnica:

function H = MH2(P1, P2, P3)


H = 3 / (1/P1 + 1/P2 + 1/P3);
O quadro a seguir, resume as principais diferenas entre

tions :

Uso:
Entrada de dados:
Sada de dados:

function

especco

geral

A Figura 1.3 mostra a janela de edio com uma


mostra a janela de edio com um
da

function. Observe
script.

script
globais (workspace )
workspace ou no corpo do texto
workspace ou eco na tela

Variveis:

scripts

script.

func-

locais
argumentos
argumentos

function e a Figura 1.4

Observe a sintaxe do cabealho

tambm a forma como os dados esto inclusos no

corpo do

1.3.1 Estruturas lgicas de um algoritmo


Um algoritmo uma sequncia determinada de passos para a resoluo

Figura 1.3:

A janela de edio de programas com uma

Os programas do Matlab so de dois tipos:

scripts

de algum problema.

function.

scripts e functions .

Os

functions

Deciso:

script

Repetio:

de dados.

Exemplo:
clear all
clc
P1 = 7.6

Um

Sequncia:

realizam operaes mais genricas com entrada e sada

so programas que realizam operaes especcas com dados xos

enquanto

para o clculo da mdia harmnica:

Do ponto de vista lgico, existem 3 estruturas que

determinam quais, e como, os passos devem ser executados:


determina qual passo deve ser executado antes de outro;

determina se um conjunto de passos deve ou no ser exe-

cutado;

determina se (e quantas vezes) um conjunto de passos

deve ser repetido.

A seguir veremos como essas estruturas lgicas podem ser implementadas na linguagem do Matlab, isto , qual a
utilizados

sintaxe

dos comandos

CAPTULO 1.

INTRODUO AO MATLAB

1.3.2 Estrutura de sequncia


No Matlab os comandos so executados um de cada vez (no h processamento paralelo). E a sintaxe simples: os comandos so escritos um a um
de cima para baixo. Embora seja possvel, no se recomenda escrever dois
comando em uma mesma linha.

Exemplo:

Determinao das razes de uma equao quadrtica

ax2 + bx + c = 0

com

a 6= 0:

clear all
clc
a = 1
b = 2
c = -4
d = b^2 - 4*a*c
x1 = (-b + sqrt(d))/(2*a)
x2 = (-b - sqrt(d))/(2*a)

1.3.3 Estruturas de deciso


O Matlab possui duas estruturas de deciso bsicas:

switch...case.

Exemplo:

Figura 1.4:

A janela de edio de programas com um

script.

Clculo da mdia harmnica com

function [H, C] = MH3(P1, P2, P3)


% Calcula mdia harmnica
if P1 <= 0 || P2 <= 0 || P3 <= 0
H = 0;
else
H = 3 / (1/P1 + 1/P2 + 1/P3);
end
% Calcula conceito
if H >= 9.0
C = 4;
elseif H >= 8.0
C = 3;
elseif H >= 7.0

if...else...end

if...else...end:

CAPTULO 1.

INTRODUO AO MATLAB

function T = Tabuada(n)
T = zeros(10,1);
for i = 1 : 10
T(i) = i * n;
end

C = 2;
elseif H >= 6.0
C = 1;
else
C = 0;
end

Exemplo:
mdia, com

Exemplo:

Clculo do intervalo de conana para uma estimativa de

switch...case:

function [a, b] = ICMed(xb, sig, n, alfa, L)


switch L
% IC lateral esquerdo
case -1
z_alfa = norminv(1 - alfa);
a = -inf;
b = xb + z_alfa * sig / sqrt(n);

Exemplo:

1.3.4 Estruturas de repetio


a estrutura

while...end.

Exemplo:

Clculo da tabuada com

for...end:

Encontrando uma matriz singular com

while...end:

function [A] = MatrizSingular(n)


D = 1;
% para "entrar" no lao...
while D ~= 0
A = fix(20 * rand(n) - 10);
D = det(A);
end

% IC lateral direito
case +1
z_alfa = norminv(1 - alfa);
a = xb - z_alfa * sig / sqrt(n);
b = +inf;
end

So duas as estruturas de repetio no Matlab: A estrutura

for...end aninhados :

clear all
clc
T = zeros(10,10);
for j = 1 : 10
% para cada coluna j ...
for i = 1 : 10
% para cada linha i ...
T(i,j) = i * j;
end
end
T

Exemplo:

% IC bilateral
case 0
z_alfa_2 = norminv(1 - alfa/2);
a = xb - z_alfa_2 * sig / sqrt(n);
b = xb + z_alfa_2 * sig / sqrt(n);

Clculo da tabuada com

for...end

Ordenamento de uma lista com vrias estruturas:

function [L] = Ordenar(L)


% Mtodo 'Bubble Sort'
% Inicializao
n = length(L);
cont = 1;
% Enquanto ocorrerem trocas...
while cont > 0
cont = 0;
% ... faz varredura na lista

CAPTULO 1.

10

INTRODUO AO MATLAB

for i = 1 : n - 1
% Se elementos fora de ordem...
if L(i) > L(i + 1)
temp = L(i);
L(i) = L(i + 1);
L(i + 1) = temp;
cont = cont + 1;
end
end
end

1.11.
1.12.

1.2.

a = e2 ,

1.3.

a = cos(60 ), b = tg(/4).

1.4.

a = log(1000), b = ln(1000), c = log2 (1000).

1.5.

a = |5|, b = 9!.

z = [0

1.10.

u = [1

0 0
1 1

1.18. >> A = [1 2 3; 4 5 6], [m, n] = size(A)

1.19. >> a = ln(5)

Undefined function 'ln' for input arguments of type 'double'.

1.20. >> y = 1 + e^3

Undefined function or variable 'e'.

1.21. >> t = cos(3,1416)

Nos problemas 1.7 a 1.10 a seguir, escreva a linha de comando do Matlab


necessria para construir os vetores dados. Justique.

1.9.

1.17. >> w = pi/2, e = exp(cos(w))


Ao se digitar os comandos mostrados nos problemas 1.19 a 1.22 a seguir, se
obtm mensagens de erro. O que elas signicam? Como corrigir o comando?

a = 3,5603 104 + 2,0034 103 .

0,1

c = sqrt(y) - log(y)

1.16. >> z = 0.0001, d = abs(log10(z))

7.

b = 3 2, c = 3 8.

w = [0,0

1
2
3
1
.
0
3
1 1

1.15. >> y = 100,

a = 25 , b =

1.8.

1.14. >> x = 30, b = sin(x) * cos(x)

1.1.

2 0

1.13. >> a = 1 + 2 / 3 - 4 * 5

Nos problemas 1.1 a 1.6 a seguir, escreva a linha de comando do Matlab necessria
para calcular os valores dados. Justique.

x = [6

0
3
B=
1
2

7
3

Nos problemas 1.13 a 1.18 a seguir, determine o resultado do comando no


Matlab. Justique.

Comandos do Matlab

1.7.

A=

1
4

1.4 Problemas

1.6.

5]

(um vetor-linha),

0,2

9,8

0 0]
1

9,9

y = [6 2

5]T

(um vetor-coluna).

10,0].

(um vetor-linha com 20 zeros).

1 1]T

(um vetor-coluna com 20 uns).

Nos problemas 1.11 e 1.12 a seguir, escreva a linha de comando do Matlab


necessria para construir as matrizes dadas. Justique.

Error using cos


Too many input arguments.

1.22. >> x = 16, y = sqrt(X)

Undefined function or variable 'X'.

1.23.

Ao calcular o vetor de coecientes de um polinmio interpolador, um es-

tudante obteve o seguinte resultado:

c =
1.0e+003 *
0.0033
0.1742
-6.6277

CAPTULO 1.

11

INTRODUO AO MATLAB

1.33.

Quais so os valores dos coecientes? Qual o polinmio?

Nos problemas 1.24 a 1.27 a seguir, desenhe os grcos das funes mostradas. Adicione grade, legenda, rtulos nos eixos x e y e ttulo. Use os comandos
plot, grid, legend, xlabel, ylabel, title.

1.24.

h(x) = 2 + 3 cos(x)

1.27.

i(x) =

1.28.

Se

1.35.

C uma matriz de ordem n m, p um nmero real e i e j so inteiros


1 i, j n. O que fazem as seguintes linhas de cdigo?

Captulo 4).

function

(a) Escreva um

recebe um vetor de

script

do problema anterior.

forma fatorada de Horner1 :

H(x) = (((3x 2)x + 7)x 5)x + 4.


Do ponto de vista computacional, essa forma fatorada preferida por realizar
uma quantidade

menor

de operaes.

1.36.
p,

que gera um vetor de 5 elementos aleatrios e, em se-

script

function que

mean.

que gera um vetor de

que recebe um vetor de

Escreva uma

function

H(x).

Considere que o clculo de

xn

Implemente o algoritmo VPol que usa a forma de Horner para avaliao

o valor

e determina

c com os coecientes de uma funo polinomial


y = p(x). Use y = y .* x + c(i) para implementar

x
polyval

a linha 4, assim

pode ser tanto um escalar quanto um vetor. Compare com o

comando

do Matlab. (Esse algoritmo ser utilizado no Captulo 5).

1.37.

Em 1674, Leibniz

elementos aleatrios e, em

elementos e retorna o valor e a posio

max.

dada. Compare o resultado com o comando

Com trs segmentos de reta de comprimento

sum.

a, b

ser calculado pela srie

William George Horner (1786 - 1837), clrigo metodista e estudioso ingls, conhe-

A new method of solving numerical equations of all orders, by continuous approximation


em 1819. No entanto o mtodo no original, foi antecipado no sculo XIX por Paolo
2

somente possvel

que recebe os comprimentos

a, b

de

3 segmentos de reta e retorna o valor 1 se eles podem representar lados de um


tringulo e 0 em caso contrrio.

pode


1 1 1
= 4 1 + + ,
3 5 7

Runi na Itlia e, antes disso, no sculo XIII por Zhu Shijie na China [38].

construir um tringulo se o comprimento de cada segmento menor que a soma

function

2 mostrou que o nmero

cido pelo mtodo (que leva seu nome) de resoluo de equaes algbricas publicado em

que calcula a soma de todos os elementos de uma

dos outros dois. Escreva uma

F (x)

polinomial, isto , recebe um vetor

do maior elemento do vetor. (c) Compare os resultados com o comando

1.32.

function

n
isprime.

e retorna o valor 1 se

m.

elementos e retorna a mdia aritmtica dos seus elementos.

(a) Escreva um

d conmod ou

Considere a funo polinomial

seguida, determina o valor e a localizao do maior elemento do vetor. (b) Escreva

matriz

que recebe um inteiro

Use os comandos

(b) Generalize o resultado do item anterior para o caso de um polinmio de grau

(c) Compare os resultados com o comando

1.31.

e retorne um vetor

efetuado com multiplicaes.

guida, calcula a mdia aritmtica desses elementos. (b) Escreva uma

function

inclusive.

composto. Compare os resultados com o comando

so necessrias para calcular

Programao no Matlab

uma

n,

(a) Verique esse fato determinando quantas operaes de multiplicao e adio

C(i,:) = C(i,:) + p * C(j,:);


T = C(i,:);
C(i,:) = C(j,:);
C(j,:) = T;

1.30.

entre 1 e

Essa funo pode ser reescrita na

x+1
x1

Justique. D um exemplo. (Estas operaes sero utilizadas nos algoritmos do

1.29.

Escreva uma

que recebe um inteiro

F (x) = 3x4 2x3 + 7x2 5x + 4.

positivos tais que

>>
>>
>>
>>

1.34.

Sugesto: modique a

g(x) = ex 1

1.26.

function

rem.

primo e 0 se

f (x) = x2 + x 4

1.25.

Escreva uma

tendo todos os divisores de

Gottfried Wilhelm von Leibniz (1646 - 1716), matemtico e lsofo alemo,


dy
desenvolveu a teoria do Clculo ( dele a notao dx ) na mesma poca que Newton.
conhecido ainda pelos estudos na aritmtica binria e pelo desenvolvimento de uma
mquina mecnica de calcular. Tanto quanto matemtico, Leibniz foi importante lsofo
e, entre outros temas, tratou do problema da conciliao da noo do
criado por um deus

bom

[38].

mal em um mundo

CAPTULO 1.

12

INTRODUO AO MATLAB

Algoritmo 1 VPol
entrada : c, x
sada : y

Algoritmo 2 MVander
entrada : x, m
sada : X

n tamanho de c
y 0
para i 1 : n
y y x + ci

1:
2:
3:
4:

2:
3:
4:

m

5:

n tamanho de x
X Zeros(n, m + 1)
para i 1 : n
Xi,m+1 1
para j m : 1 : 1
Xi,j xi Xi,j+1

1:

5:
6:

[4, p. 132].

Escreva uma

aproximao P (n)

function

para o valor de

que recebe um valor

usando os

e que retorna uma

primeiros termos da srie.

Quantos termos so necessrios para se obter uma aproximao


para o valor exato de

ptulos 5 e 6. Compare com o comando

1.39.

um

vetor

Escreva uma

Alexandre-Thophile

do Matlab.

Ela pode ser escrita recursivamente

determinante

de uma matriz. Embora j utilizados

na resoluo de sistemas lineares, as propriedades algbricas dos determinantes ainda


no eram bem conhecidas. de Vandermonde a demonstrao do efeito da permutao
de linhas ou colunas de uma matriz sobre seu determinante. Dessa propriedade, deduziu
que se duas linhas ou colunas de uma matriz so iguais, o seu determinante zero [38].

Leonardo

Pisano (1170 - 1250), matemtico italiano, mais conhecido por seu

apelido Fibonacci, teve papel importante na histria da matemtica.

Abaci

1.40.

Seu livro

Liber

de 1202 introduziu a notao decimal posicional com algarismos hindu-arbicos

que usamos at hoje.

A sequncia numrica que leva seu nome a soluo de um

problema envolvendo a reproduo de coelhos.

A revista

The Fibonacci Quarterly,

editada ininterruptamente desde 1963, publica artigos sobre a matemtica relacionada


a essa sequncia [38] [17, p. 108].

e retorna a razo

Fk
.
Fk1

aumenta, a razo

Rk

aproxima-se de um certo

Implemente o algoritmo PivotamentoParcial que recebe uma matriz

1 j n 1. Em seguida,
i j o elemento de maior
valor absoluto p (denominado piv). Se p est na linha i, sendo i 6= j , ento
permuta as linhas i e j entre si. O programa retorna a matriz C pivotada. Esse

C,

Vandermonde (1735 - 1796), matemtico francs, conhe-

cido como o fundador da teoria do

k2

nmero. Que nmero esse?

seu nmero de linhas

e um inteiro

procura entre os elementos da coluna

sequncia de Fibonacci 4 .

Fk = Fk1 + Fk2 .

que recebe um inteiro positivo

Observe que a medida que

1, 1, 2, 3, 5, 8, 13, 21, . . .
3

function

F2 = 1,

Rk =

A sequncia

conhecida como

F1 = 1,

x =

Esse algoritmo ser utilizado nos Ca-

vander

m

com

+ Implemente o algoritmo MVander, que recebe


[x1 , x2 , . . . , xn ]T e um inteiro positivo m e retorna a matriz
m

x1 x21 x1 1
2
xm

2 x2 x2 1
X= .
.
.
. ,
.
.
.
..
.
.
.
2
m
xn xn xn 1

matriz de Vandermonde3 .

m

8:

cuja diferena

seja menor que 0,0005?

1.38.

denominada

7:

j,

tal que

nas linhas

algoritmo ser utilizado pelo algoritmo SLGauss (p. 37) no Captulo 4.

CAPTULO 1.

INTRODUO AO MATLAB

Algoritmo 3 PivotamentoParcial
entrada : C, n, j
sada : C
Inicializao
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:

p |Cj,j |
k j

Busca piv
para i j + 1 : n
se |Ci,j | > p ento
p |Ci,j |
k i

m
m
Pivotamento impossvel
se p = 0 ento
Erro: Pivotamento impossvel
m
Permutao das linhas j e k
se k > j ento

13:
14:
15:
16:

m

T Cj,:
Cj,: Ck,:
Ck,: T

13

Captulo 2

Erros e Aritmtica Computacional


No caso de se optar por uma resoluo numrica:

Ao contrrio do senso comum, o computador no uma mquina de calcular

perfeita.

Os clculos efetuados no computador esto sujeitos a erros

(em maior ou menor magnitude). A compreenso da natureza desses erros

1.

Determinao do mtodo:

Existe algum mtodo (algoritmo) dis-

permite estabelecer estratgias (algoritmos) para a resoluo de problemas.

ponvel? Qual mtodo mais indicado? Alguma adaptao ou ela-

Neste captulo abordaremos a forma com que os nmeros so armazena-

borao necessria?

dos pelo computador e como os erros aparecem.

Veremos tambm uma


2.

estratgia geral de abordagem dos algoritmos numricos: os renamentos

Codicao e implementao:

Qual a linguagem a ser utili-

zada? Em que mquina ou sistema o programa vai rodar? O pro-

sucessivos.

grama est funcionando corretamente?

2.1 Resoluo de problemas numricos

3.

Processamento:

4.

Anlise de resultados:

Resolver problemas uma arte. Nas Cincias e Engenharias, o computador

o problema?

cumpre um papel importante no processo de resoluo de problemas, espe-

resultado?

Resolver o problema.
O resultado o esperado? soluo para

Qual a estimativa de erro?

Qual a preciso do

cialmente naqueles onde o uso de clculos aritmticos intenso. O processo


de resoluo de problemas numricos segue, em geral, os seguintes passos:
1.

Denio do problema:

Exemplo 2.1. Consideremos o problema seguinte. Uma esfera de


madeira (densidade relativa e = 0,638) e raio r = 10 cm colocada
a utuar sobre a gua (densidade relativa a = 1) conforme mostra
a Figura 2.1. Qual a altura d da esfera que car submersa? [30,
p. 43]

O que se quer resolver? Qual a natureza

do problema? terico ou prtico? Quais as informaes disponveis? Quais reas do conhecimento so aplicveis?
2.

Modelagem matemtica:

Como representar o problema matema-

ticamente? Desenho, esquemas, equaes, frmulas?


3.

Resoluo do problema matemtico:

Soluo:

Existe soluo? nica?

Para encontrar o valor de

Princpio de Arquimedes , o peso da

Como determinar a soluo? possvel encontrar soluo exata (ana-

da gua

ltica) ou devemos optar por uma soluo aproximada (numrica)?


14

deslocada

d,

inicialmente observamos que, pelo

esfera

por sua poro submersa:

deve ser equilibrado pelo peso

CAPTULO 2.

15

ERROS E ARITMTICA COMPUTACIONAL

f (x)

f (x)

f (x)

f (x)

2552

10,0

552,0

11,80

17,83

*11,860

0,4349

2440

10,2

492,0

11,82

12,03

*11,862

-0,1444

2136

10,4

432,1

11,84

6,23

11,864

-0,7235

1688

10,6

372,2

*11,86

0,43

11,866

-1,3027

1144

10,8

312,5

*11,88

-5,36

11,868

-1,8818

*10

552

11,0

253,0

11,90

-11,14

11,870

-2,4608

a
d

Figura 2.1:

*12

-40

11,2

193,7

11,92

-16,92

11,872

-3,0398

14

-584

11,4

134,7

11,94

-22,70

11,874

-3,6187

16

-1032

11,6

76,1

11,96

-28,47

11,876

-4,1977

18

-1336

*11,8

17,8

11,98

-34,24

11,878

-4,7765

20

-1448

*12,0

-40,0

12,00

-40,00

11,880

-5,3553

Assim um valor aceitvel para a poro

Uma esfera utuante.

submersa

d 11,861

Importante:

da esfera que car

cm.

O Exemplo 2.1 demonstra um recurso muito comum na

resoluo de problemas numricos: a partir de uma

Me g = Ma g
Z d h
i
4r3
2
e
= a
r2 (x r) dx
3
0
d2 (3r d)
= a
3
3
4e r = a d2 (3r d).

soluo, segue uma sequncia de

estimativa nal
1

Arquimedes

poca.

(2.1)

renamentos

estimativa inicial

de soluo com a qualidade desejada.


de Siracusa (287 a. C. - 212 a. C.) foi o maior matemtico de sua

Seu principal legado so suas contribuies na geometria onde seus mtodos

para determinao de reas e volumes anteciparam o clculo integral dois mil anos
antes de Newton e Leibniz. Homem bastante prtico, inventou uma grande variedade
de mquinas e dispositivos, incluindo polias e bombas d'gua [38].

Aps a substituio de valores, a expresso (2.1) pode ser reescrita como

d3 30d2 + 2552 = 0.

(2.2)

A soluo do problema consiste em encontrar o valor de

que satisfaz

analtica de (2.2), embora existente, um tanto complicada


(veja o Problema 3.27). A soluo numrica pode ser obtida calculando os

(2.2). A soluo
valores de

f (x) = x3 30x2 + 2552

de forma sistemtica.

x e f (x)
0 x 20. Como a funo contnua e troca de
10 x 12 (assinalado com *), deduzimos que o valor

Na primeira tabela mostrada a seguir vemos os valores de


calculados no intervalo

sinal

no intervalo

procurado de

est

dentro desse intervalo. A segunda tabela mostra os


renado 10,0 x 12,0. Por raciocnio

valores calculados no intervalo

11,8 < d < 12,0,


11,860 < d < 11,862.

semelhante deduzimos que


por m

depois que

11,86 < d < 11,88

de

que convergem para uma

CAPTULO 2.

16

ERROS E ARITMTICA COMPUTACIONAL

2.2 Representao numrica de ponto utuante


Na maioria dos computadores, os nmeros so representados na

ria normalizada

(semelhante a

notao cientca ).

base bin-

Por exemplo,

x = (5,125)10

Figura 2.2:

= 4 + 1 + 0,125

= 22 + 20 + 23
= 1 22 + 0 21 + 1 20 + 0 21 + 0 22 + 1 23

= (101,001)2

= (1,01001)2 2

= (1,01001)2 2
f = 01001

expoente

e = 10

p = 11
so, respectivamente, a

parte fracionria

754, um nmero representado por uma sequncia de

bits )

dgitos binrios

s = 0 para nmeros positivos e


s = 1 para nmeros negativos. Os bits f1 f2 . . . ft = f representam a parte
fracionria do nmero. Os bits e1 e2 . . . ep esto associados ao expoente e
representa o sinal no nmero:

do nmero. Aqui os detalhes tcnicos so um tanto complicados mas podemos simplicar um pouco dizendo que o expoente

est em um intervalo

[emin , emax ].

A mais importante consequncia dessa representao que, ao contrrio

limitado).

k = 64

bits com

dos nmeros reais, o conjunto

representveis pela mquina intrinsecamente

limitado.

A Figura 2.2 mostra os nmeros de ponto utuante (positivos) repre-

t = 2, emin = 2

(1.00...00)2 e (1.00...01)2 tem tamanho


(2.3)

preciso da representao numrica.

Usando o Matlab

Para obter a preciso da mquina usamos o comando

>> eps
ans = 2.2204e-016
Observe-se que

>> 1 + eps > 1


ans = 1
(verdadeiro!)
>> 1 + eps/2 > 1
ans = 0
(falso!)
O algoritmo

EpsilonMaq calcula a preciso de qualquer sistema com-

nito). Observe que existe um espao entre cada dois nmeros (pois

p = 11 dgitos
2046 expoentes,

Com
sentam

emax = 2.

Observe que apenas vinte valores positivos so representveis (pois

bits para a parte fracionria e

putacional.

Isto , nem todo nmero real pode ser representado na mquina.

sentveis com os parmetros

Isso determina a

dos nmeros efetivamente

nito, discreto

t = 52

 = 2t = 252 2,2204 1016 .

x.

(s, e1 , e2 , . . . , ep , f1 , f2 , . . . , ft ) .

do conjunto

e de um

para o expoente.

e o

especicado por

Observemos que o espao entre

da representao binria de ponto utuante de

bit s

(pois

Fmax

Nos padro IEEE 754, os nmeros de ponto utuante so representados

Nos sistemas computacionais que utilizam o padro aritmtico IEEE

Fmin

por um conjunto de

(10)2

= (1,f )2 2(e)2 ,

onde

t = 2, emin = 2

discreto), bem como a existncia de um maior nmero

menor nmero

Nmeros de ponto utuante com parmetros

emax = 2.

211 = 2048 combinaes que repre= 1022 at emax = 1023. O maior

so possveis
desde

nmero representvel

emin

Fmax = (2 ) 2emax = (1,11...11)2 21023 1,7977 10308 .

(2.4)

CAPTULO 2.

17

ERROS E ARITMTICA COMPUTACIONAL

Algoritmo 4 EpsilonMaq
entrada : nenhuma
sada : 

Usando o Matlab

enquanto 1 + t > 1

2:
3:

t t/2

4:

m

5:

 2t

As duas combinaes no utilizadas para o expoente so reservadas


para os valores especiais

Usando o Matlab

aritmticos indenidos e
:

O maior nmero representvel dado pelo comando

>> realmax
ans = 1.7977e+308

>> realmax + 1 > realmax


ans = 0
(falso!)
>> 2*realmax
ans = Inf
(overflow!)

resultados

Alguns resultados de operaes aritmticas:

Exemplo 2.2. Os parmetros utilizados na representao numrica


mostrada na Figura 2.2 so t = 2, emin = 2 e emax = 2. Determine
os valores de , Fmin e Fmax .

menor nmero representvel (normalizado)

Fmin = 1 2emin = (1,00...00)2 21022 2,2251 10308 .

Usando o Matlab

NaN (Not a Number ) que representa


Inf que representa overow.

>> 1/0
ans = Inf
>> 0/0
ans = NaN

Observe-se que,

No Matlab,

>> a = eps * 2^-1022


a = 4.9407e-324
>> b = a/2
b = 0
(underflow!)

t 1

1:

(2.5)

Soluo:

Usando as equaes (2.3), (2.4) e (2.5) temos

 = 2t = 22 = 0,25

Usando o Matlab

O menor nmero representvel dado pelo comando

>> realmin
ans = 2.2251e-308
O menor nmero representvel (no-normalizado)

(0,00...01)2 21022 =  21022 4,9407 10324 .

Fmin = 1 2emin = 1 22 = 0,25

Fmax = (2 ) 2emax = (2 0,25) 22 = 7

2.3 Erros nos processos numricos


Em decorrncia do que foi visto nas sees anteriores, os clculos aritmticos efetuados pela mquina estaro impregnados de algum tipo de impreciso, de erro. Nesta seo descrememos, de forma sucinta, dois tipos
bsicos de erros: o erro de

arredondamento e o erro de truncamento.

CAPTULO 2.

18

ERROS E ARITMTICA COMPUTACIONAL

2.3.1 Erro de arredondamento


O erro de arredondamento devido a representao numrica nita da

innitos

...,

irracional e sua representao decimal

No formato hexadecimal, os trs primeiros dgitos representam os bits do

dgitos. No entanto a mquina armazena e apresenta apenas

sinal e do expoente e os demais representam os bits da parte fracionria [33].

mquina. Por exemplo, o nmero


tem

(0)16 =
(e)16 = (1110)2 , (f)16 =

Cada dgito hexadecimal representa quatro dgitos binrios:

(0000)2 , (1)16 = (0001)2 , (2)16 = (0010)2 ,


(1111)2 .

uma quantidade

nita

Assim, podemos visualizar a diferena na representao binria nos dois valo-

de dgitos. O Matlab realiza clculos usando uma

res

preciso de 52 dgitos binrios e apresenta seus resultados arredondados

b.

em, no mximo, 16 dgitos decimais:

Usando o Matlab

2.3.2 Erro de truncamento

O erro de truncamento devido a interrupo de processos innitos. Por

>> format long


>> pi
ans = 3.141592653589793

exemplo, o processo de clculo do valor de

base 10 convertido para a base 2.

nita

Por exemplo, o nmero

mas representao binria

innita :

0,6

Poderamos ter levado o processo adiante e ter encontrado o intervalo

11,861501508120412 d 11,861501508120413.

possui

(0,6)10 = (0,1001100110011 . . .)2 .

No entanto, no poderamos

preciso da mquina no
tamanho menor que esse.
a

Esse tipo de situao pode acarretar erros de arredondamento nas operaes aritmticas de ponto utuante. Por exemplo:

Usando o Matlab

no Exemplo 2.1 foi interrom-

11,860 d 11,862.

Tambm pode ocorrer erro de arredondamento quando um nmero na


representao decimal

pido no intervalo

(subdividir) mais esse intervalo pois

Por exemplo, a constante de Euler

2 (e

= 2,7183 . . .)

pode ser obtida

pela srie innita

>> a = 0.1 + 0.2 + 0.3 + 0.4, b = 0.4 + 0.3 + 0.2 + 0.1


a =
1
b =
1.0000
>> a == b
ans =
0
>> format hex, a, b
a =
3ff0000000000000
b =
3fefffffffffffff

renar

permite distinguir extremos de intervalos de

e=

+
X
1
1
1
1
1
= 1 + 1 + + + + +
k!
2! 3! 4! 5!

(2.6)

k=0

Computacionalmente, no possvel somar os innitos termos de (2.6),


logo a srie deve ser truncada. A soma dos
enquanto a soma dos

seis

trs

primeiros termos

primeiros termos

2,7167.

2,5000

Quanto mais termos,

maior ser a quantidade de dgitos corretos.

2.4 Notao
No estudo dos erros computacionais, alguns termos e denies (bem como
sua notao) so importantes. Seguem alguns:
2

Ver nota biogrca na p. 86

CAPTULO 2.

1.

19

ERROS E ARITMTICA COMPUTACIONAL

Valor exato, x.

iguais

O valor verdadeiro, correto, real, de uma varivel.

Valor aproximado, x.

Aproximao para o valor exato, estimativa,

Ateno:

numrico. Valor estimado, valor computado. Por exemplo,

3.

Erro, .

Diferena entre valor aproximado e exato:

2,718281828459046 2,71828 DSE = 6.

dgitos signicativos exatos :

e a

(2.7)

|rel | 8 107

= 0,8 106

1264
e
465
2,718279569892473 2,718281828459046

= 0,08 105 < 0,5 105 DSE 5.

=

= 2,258566572432841 106 .

6.

Tolerncia, tol.

Valor mximo admitido para o erro relativo (ou

erro) em um processo numrico. Em geral, usado como

parada

em algoritmos iterativos. Para clculos

manuais,

critrio de

usa-se, em

0,5 103 . Para clculos computacionais, os valo0,5 106 (preciso simples) e 0,5 1012 (preciso

geral, o valor de

a razo entre o erro e o valor exato:

rel

erro relativo

Por exemplo,

Por exemplo,

Erro relativo, rel .

res tpicos so
estendida).

xx

.
=
x

Por exemplo,

2,718279569892473 2,718281828459046
2,718281828459046
= 8,308802085150933 107 .

Exemplo 2.3. Determine o erro, o erro relativo e o nmero de dgitos


signicativos exatos de x = 22
= .
7 em relao a x

rel =

Note que tanto o


ou negativos.

erro

erro relativo

podem ser positivos

No entanto, nos critrios de parada dos algoritmos,

utiliza-se, em geral, o
5.

quanto o

valor absoluto

2,718279569892473 2,71828

|rel | < 0,5 10m DSE m.

=xx
.

4.

dgitos so os dgitos signicativos exatos de

Existe uma importante relao entre o

quantidade de

1264
2,718279569892473.
465

Por exemplo,

x=

impregnada de algum erro. Em geral, a resposta de algum processo

x=

x
.

1264
465
x
=e

x
= e = 2,718281828459046...
2.

ento esses

em relao a

Em geral, a soluo procurada de algum problema. Por exemplo,

destas quantidades.

Dgitos signicativos exatos, DSE. Se os nmeros x e x so arredondados para os primeiros k dgitos decimais e esses dgitos so

Soluo:

x
= = 3,141592653589793 . . .
3,142857142857143 . . . o erro dado por
Como

=xx

3,142857142857143 3,141592653589793
= 0,00126448926735.

x =

22
7

CAPTULO 2.

20

ERROS E ARITMTICA COMPUTACIONAL

2.5 Estimativas para o erro

Algoritmo 5 ErroRel
entrada : x1 , x2
sada : rel
1:
se x2 = 0 ento
2:
3:
4:
5:

x
.

rel x1

seno
m

rel

exatamente sem conhecer o valor exato


aproximao para o erro ou uma tolerncia

Como no possvel conhecer o erro


Em geral assumimos uma

(cota) para o erro.

Em geral essa estimativa ou tolerncia depende de

algum fato terico sobre o problema a ser resolvido. O exemplo a seguir

x1 x2
x2

mostra como se pode

estimar

usando um argumento engenhoso.

Exemplo 2.4.
Encontre, de forma iterativa, uma representao decimal de x = 53 usando apenas as quatro operaes aritmticas.

O erro relativo

xx

3,142857142857143 3,141592653589793
=
3,141592653589793
= 4,024994347707008 104 .

Soluo:

rel =

Os valores de

temos que

tem-se que o erro


o erro.

erro relativo.

(7,5)2 = 56,25

x1 = 7,5

ErroRel.

cota

para

no uma boa estimativa, uma vez que

est um pouco afastado de

Se

x
=

53

=xx

53

(um

resduo

de 3,25).

Um

ento

x
= x ,

Como o clculo do erro relativo e da diferena relativa so utilizados


algoritmo

Isto signica que 0,5 uma

raciocnio mais sosticado pode nos levar a resultados melhores.

deve ser usado em

com frequncia, conveniente escrever um algoritmo especco.

primeira estimativa

|| = |x x
| 0,5.

No entanto, o valor

x
3,141592653589793 3,14 DSE = 3.

vez do

a < b a < b.
7<x
< 8. Fazendo a

x1 = 7,5

x 3,142857142857143 3,14

x
= 0, ento o erro

armar que

podem ser arredondados para

Observemos que se o valor exato

f (x) = x estritamente

crescente
Assim, se
49 < 53 < 64 podemos

Como a funo dada por

Veja o

(2.8)

logo

x
2 = (x )2 ,

Importante: Note que se as entradas do algoritmo, x1 e x2 , representam duas aproximaes para um dado valor exato x
ento a sada, rel
representa a diferena relativa entre as aproximaes. Caso as entradas do
algoritmo sejam x e x
representando uma aproximao e um valor exato
ento a sada, rel representa o erro relativo entre a aproximao e o valor

Se

exato.

e, portanto,

53 = x2 2x + 2 .

|| < 1

ento

2 < ||,

logo

53 x2 2x


1
x2 53
=
2x
2



53
x
.
x

(2.9)

CAPTULO 2.

21

ERROS E ARITMTICA COMPUTACIONAL

x1 = 7,5

Da estimativa inicial

Algoritmo 6 RaizQuadrada
entrada : n, x, tol, kmax
sada : x, rel , k

e de (2.9) podemos estimar

1 0,2167.

2:

x2 = x1 1

4:

= 7,2833
x2

por

xk

(7,2833)2 =

de 0,0469). Combinando as equaes (2.8) e (2.9)

obtemos

Substituindo

5:

uma estimativa melhor, uma vez que

53,0469 53 (um resduo

1
2


x+

enquanto k < kmax e |rel | > tol

3:

= 7,5 0,2167

Agora, o valor

k 1
rel +

1:

Assim, a partir de (2.8), podemos obter uma segunda estimativa

53
x

6:
7:

m

8:

k k + 1
u x

x 12 x + nx
rel ErroRel(u, x)


.

xk1 obtemos uma




1
53
xk =
xk1 +
.
2
xk1
por

2. Os valores de DSE mostrados na tabela so


frmula recursiva:

processo iterativo, o valor exato

mar
(2.10)

x1 , a frmula recursiva (2.10) fornece

x2 , x3 , x4 , . . . que converge rapidamente para 53

de

o erro relativo usando a

x5

x6

DSE (estimativa)

7,500000000000000

7,283333333333333

7,280110602593441

7,280109889280553

2,9748 102
4,4268 104
9,7981 108
4,7580 1015

7,280109889280518

7,280109889280518

3
6

de valores sucessivos

xk1 xk
.
xk

O algoritmo

16.

RaizQuadrada

generaliza o problema.

Note que o al-

goritmo apresenta a estrutura tpica de processos iterativos:

estimativa

inicial, renamentos sucessivos, estimativa para erro relativo, nmero mximo de passos permitido, tolerncia para erro relativo, etc.

14
16

Observaes:
1. O valor calculado para

relativa

esti-

so iguais. No Matlab, usando o padro IEEE 754,

no possvel obter DSE


diferena relativa

Durante o

3. Na ltima iterao, o DSE estimado vericando que todos os 16


dgitos de

xk

diferena relativa

rel diferena

como mostra a tabela a seguir.

estimados :

desconhecido mas podemos

x:

A partir de uma estimativa inicial


uma sequncia de valores

2.6 Convergncia nos processos numricos


Nos processos iterativos, as solues so obtidas a partir de uma sucesso

x6

coincide com o valor exato obtido com o

Matlab:

x1 , x2 , . . . que se aproxima do valor exato x


.
sequencia xk converge para x
se, e somente se,

de estimativas
uma

Dizemos que

lim xk = x
.

>> sqrt(53)
ans = 7.280109889280518

k+

A velocidade com que a sequncia converge para o valor exato indica quo
rpida ser a aproximao. Quanto

maior

for a velocidade de convergncia,

CAPTULO 2.

menor

22

ERROS E ARITMTICA COMPUTACIONAL

ser a quantidade necessria de passos para se atingir uma dada

tolerncia.
Dada uma sequncia
positivas

xk

que converge para

x
,

se existem constantes

tais que

(2.11)

c dito coeciente assinttico de convergncia e r dito ordem de convergncia. Quanto maior o valor de r, mais rpida ser a

ento

convergncia da sequncia:

linear;

Se

r=1

Se

r > 1,

ento a convergncia dita de ordem

superlinear;

Se

r = 2,

ento a convergncia dita de ordem

quadrtica.

c < 1,

ento a convergncia dita de ordem

2.1.
2.2.

|k |
|xk x
|
lim
r = lim
r = c,
k+ |k1 |
k+ |xk1 x
|

mquina, (b) o menor nmero representvel Fmin e (c) o maior nmero representvel Fmax .

Observe que a denio dada pela equao (2.11) equivalente a dizer

2.3.
em

De forma intuitiva, a ordem de convergncia est associada ao ganho de

t = 45, emin = 255, emax = 256.


O que

overow.

overow ?

D um exemplo de comando do Matlab que resultaria

2.4.
em

O que underow ?
underow.

D um exemplo de comando do Matlab que resultaria

Considere as expresses mostradas nos problemas 2.5 e 2.6 a seguir. Para


cada uma, (a) determine o seu valor exato algebricamente (resolva mo). (b)
Determine o seu valor aproximado numericamente (use o Matlab). Use o comando format hex e verique se o que foi calculado em (a) igual ao calculado
em (b).

2.5.

x=

2.6.

1
4

4
y = 11 3 + .
1
5
11

6 31

2.7.

Na aritmtica, a igualdade

que a medida que o processo iterativo avana tem-se

|k | c |k1 |r .

t = 8, emin = 63, emax = 64.

1
6

1
6

1
6

1
6

1
6

1
6.

DSE a cada passo. Para sequncias de ordem linear, a quantidade de DSE

1
n = 1 verdadeira para todo n 6= 0. Na
aritmtica computacional isso nem sempre verdade. Encontre o menor inteiro

ganhos a cada passo aproximadamente constante. J para sequncias de

positivo para o qual a igualdade seja falsa.

ordem superlinear, a quantidade de

DSE

ganhos aumenta a cada passo. A

sequncia obtida no Exemplo 2.4 tem convergncia de ordem


observe como a quantidade de DSE aproximadamente

dobra

quadrtica :

a cada passo.

A anlise de convergncia dos mtodos numricos no trivial e ser


omitida nesse texto. No entanto o estudante interessado pode consultar,
por exemplo, [8], [10] e [30].

2.7 Problemas

2.8.

As vezes, utilizando o Matlab, obtemos um

NaN

como resultado de uma

operao aritmtica. O que isso signica? D um exemplo.

2.9.

Implemente, na sua linguagem favorita, o algoritmo EpsilonMaq e

determine a preciso de seu sistema computacional. Compare o resultado com o


comando

eps

do Matlab.

Erro, Erro relativo, DSE

Representao de ponto utuante

Nos problemas 2.10 a 2.13 a seguir, determine (a) o erro , (b) o erro relativo
rel e (c) o nmero de dgitos signicativos exatos DSE obtidos ao se aproximar
x
por x.

Nos problemas 2.1 e 2.2 a seguir, suponha que uma mquina tenha representao de ponto utuante com os parmetros dados. Determine (a) a preciso  da

2.10.

. x
= 123 456, x = 123 400;

CAPTULO 2.

2.11.
2.12.

23

ERROS E ARITMTICA COMPUTACIONAL

. x
= 1,000000, x = 0,999999;

. x
= 2, x = 577
408 ;

2.13.

. x
= = (1 +

2.14.

5)/2, x =

. rel = 4,92 1012

2.17.

O nmero

uma aproximao para o valor exato

s com,

no mximo,

5 dgitos signicativos exatos. Qual o erro relativo?

987
610 ;

Hoje sabemos que a rea de um crculo dada por

raio do crculo. No papiro de Ahmes

2.16.

A = r2 ,

2.18.
onde

3 a rea do crculo aproximada pela rea de

um octgono (no regular) circunscrito (recorte A, direita, na gura a seguir)


e em seguida utilizada para determinar a rea de um campo circular (recorte

Implemente, na sua linguagem favorita, o algoritmo ErroRel. Veri-

que seu funcionamento comparando os resultados com os do Exemplo 2.3.

2.19.

aproximaes

A tabela a seguir mostra algumas

para

usadas nos primr-

dios da Matemtica [4].

B, esquerda, na gura a seguir). Em linguagem moderna, essa aproximao


equivalente a:


A=
d

onde

relativo

valor

2
8
d ,
9

p1 =
p2 =

o dimetro do crculo. Determine uma expresso algbrica para o erro

rel

3 18
2
( 16
9 )

p3 = 3

associado a essa aproximao.

p4 =
p5 =

3 17
377
120

p6 =

p7 =

355
113

10

autor

poca

Babilnios

2000

a. C.

Egpcios

2000

a. C.

Chineses

1200

a. C.

Arquimedes

300

Ptolomeu

200

Chung Hing

300

Valentius Otho

1573

a. C.

(a) Qual o erro relativo de cada aproximao?


(b) Quais erram por excesso? Quais erram por falta?
(c) Qual a melhor aproximao? Qual a pior aproximao?

2.20.

Considere a funo fatorial

f(n) = n! = n (n 1) 3 2 1.
Em 1730, Stirling desenvolveu a frmula de aproximao

Nos problemas 2.15 a 2.16 a seguir, o nmero r uma aproximao para o


valor exato r com erro relativo rel dado. Estime a quantidade de DSE que r
possui?

2.15.
3

. rel = 7,23 10

Ahmes

problemas matemticos envolvendo multiplicao, diviso, fraes unitrias, equaes,


O papiro (descoberto em 1858 por Alexander Henry

Rhind) atualmente se encontra no Museu Britnico [38].

2n

 n n
e

para a funo fatorial.


(a) Obtenha os valores de

(1680? a.C. - 1620? a.C.) escriba egpcio que transcreveu uma srie de

progresses, reas e volumes.

f (n) =

f(n)

(b) Determine o erro relativo


e [26, p. 52].

rel

f (n)

para

n = 5, 10, 15, 20.

de cada aproximao. Adaptado de [43, p. 48]

CAPTULO 2.

2.21.

24

ERROS E ARITMTICA COMPUTACIONAL

Considere a seguinte expanso em srie para

sen(x) = x

x5
x7
x3
+

+
3!
5!
7!

t =

(a) Obtenha as aproximaes para

sen(x):

2
2

= sen( 4 )

usando os

n = 3, 6, 9

pri-

meiros termos da srie.


(b) Determine erro relativo

rel

de cada aproximao.

Estimativas para o erro

2.22.

Implemente o algoritmo RaizQuadrada na sua linguagem preferida e

use-o para calcular os valores

a=

b=

834.

Verique o seu funcionamento comparando os resultados com o comando


do Matlab. Use

2.23.

tol = 0,5 1012 .

Generalize o algoritmo RaizQuadrada para calcular

calcular os valores

a=

23

b=

n.

sqrt

Use-o para

527.

Sugesto: Leia atentamente a seo 2.5 e obtenha uma frmula recursiva semelhante a 2.10. Compare os resultados nais com

nthroot.

As sequncias recursivas mostradas nos problemas 2.24 a 2.25 a seguir so


convergentes para os valores x mostrados. Para cada sequncia, monte uma tabela
contendo (a) os valores de xk para k = 1, . . . , 20, (b) as diferenas relativas
xk1 xk
e (c) os erros relativos xkxx . Verique que os valores obtidos em (b)
xk
so aproximaes razoveis para os valores obtidos em (c).

2.24.

x1 = 1,

xk = 1 +

2.25.

x1 = 1,

xk =

1
xk1 ,

x
=

2 + xk1 ,

1+ 5
2

x
=2

2.26. . Sejam x e y valores aproximados para os valores


(
y 6= 0), respectivamente. Os erro relativos so dados por
x =
Se

z = x
+ y (
z 6= 0),

xx

y =

exatos

y y
.
y

mostre que o erro relativo para

tal que:

x
(
x 6= 0)

x x
+ y y
;
x
+ y

(a)

z =

(b)

min(x ,y ) z max(x ,y ).

O resultado obtido em (a) ser usado no algoritmo QuadRec (p. 80).

Captulo 3

Zeros de funes
3.1 Denio do problema

zero, mas esto


so

Seja

f : R R.

Um nmero

dito

zero de f

isto , determinar os valores de

z,

seja zero de

Soluo:

g(x) = x3 x2 1

zeros.

respectivas funes,

f.

vericar que os valores de z1 , z2 e z3 so os zeros das


encontr-los e que mais trabalhoso. A funo f do

exemplo uma funo polinomial de grau 3 e que seus zeros so bvios:

z = {0, 1}.

Exemplo 3.1. Verique que z1 = 1, z2 = 1,465571231876768 e z3 =


0,588532743981861 so, respectivamente, zeros de
f (x) = x3 x2 ,

de zero, isto , muito prximos da preci-

Para efeitos computacionais, podem ser considerados

Embora seja fcil

encontrar os zeros de uma funo,

se existirem, tais que

muito prximos

da mquina.

efetivamente

se, e somente se,

f (z) = 0.
O problema que estudaremos consiste em

Sendo

z=0

um zero de multiplicidade

2.

J o zero de

to fcil de encontrar pois no h uma fatorao imediata de

no

e a frmula

exata um tanto trabalhosa (Veja o Problema 3.27). Ainda, na funo


determinao algbrica de

e h(x) = ex sen(x).

z3

impossvel,

ha

isto , no se pode encontr-la

em termos de funes elementares.


Os mtodos numricos para determinar zeros de funes consistem,

Inicialmente, veriquemos que, trivialmente,

basicamente, de duas fases:

f (1) = 13 12 = 1 1 = 0.
J para

1.

a vericao requer um pouco mais de trabalho.

Isolamento:

Vericao da existncia e unicidade dos zeros (con-

intervalo [a, b] contendo


um zero de f ou determinao de uma estimativa inicial x1 z . Na
sideraes tericas).

No

Matlab:

Determinao de um

maioria dos casos, uma tabela de valores e um grco da funo so

>> z2 = 1.465571231876768; g = z2^3 - z2^2 - 1


g = -4.4409e-16
>> z3 = 0.588532743981861; h = exp(-z3) - sin(z3)
h = 1.1102e-16
Observe que os valores calculados de

g(z2 )

h(z3 )

no so

sucientes.
2.

Renamento:

Processo iterativo em que o intervalo

ou que novas estimativas

de parada

exatamente

25

seja satisfeito.

[a, b] reduzido

x2 , x3 , . . . so obtidas at que algum critrio

CAPTULO 3.

26

ZEROS DE FUNES

3.2 Mtodo da bisseo


O mtodo da bisseo semelhante ao procedimento utilizado na resoluo
do Exemplo 2.1 e toma por base o seguinte teorema:

Teorema 3.1. (Teorema do Anulamento) Seja f uma funo contnua em


um intervalo [a, b] tal que f (a) e f (b) tenham sinais contrrios. Ento
existe (pelo menos) um z (a, b) tal que f (z) = 0.
Embora uma prova rigorosa do teorema possa ser encontrada em alguns
livros de Clculo [23, p. 511], gracamente o seu entendimento imediato:

abaixo
que acima

se o grco de uma funo est (digamos)

x = a e segue continuamente at que


x = b ento em algum ponto entre a e b
Considere a funo

ele passou

do eixo horizontal em

sobre

o eixo horizontal!

do Exemplo 3.1. Como toda funo polinomial,

contnua em toda parte. Alm disso,

a funo troca de sinal em

(1, 2).

do eixo horizontal em

[1, 2].

g(1) = 3

Pelo teorema 3.1

g(2) = 3,

existe

isto ,

um zero em

Figura 3.1:

Figura 3.1 que mostra o grco da funo bem como a localizao

de seu zero.
O mtodo da bisseo consiste nos seguintes passos
1.
1. Partir de um intervalo inicial

[a, b]

tal que

f (a)

f (b)

tenham sinais

contrrios;

2.

2. Dividir o intervalo

[a, b]

em dois subintervalos

x=
o ponto mdio entre

[a, b]

tal que

f (a)

[x, b],

sendo

xk .

f (z) = 0

|rel | = |f (xk )| < tol;

4.

k > kmax .

estimativas

f (xk ).

e seu zero.

3.

O critrio 3 fornece a magnitude do

a diferena entre

b;
f (b)

g(x) = x3 x2 1



xk1 xk
< tol;
|rel |

xk


bk ak
< tol;

|rel |
2xk

Os critrios 1 e 2 estabelecem

a+b
2

para o erro relativo

resduo

rel

entre

da funo, isto ,

O critrio 4 estabelece um nmero

mximo de iteraes.

3. Decidir qual subintervalo contm o zero de


valo

[a, x]

O grco da funo

e obter um novo inter-

tenham sinais contrrios;

4. Repetir os passos 2 e 3 at atingir a preciso desejada.

Soluo:

3.2.1 Critrios de parada


Usualmente so utilizados os seguintes

Exemplo 3.2. Usar o mtodo da bisseo para determinar o zero de


g(x) = x3 x2 1 com pelo menos 3 DSE.
O grco de

j est desenhado na Figura 3.1.

Matlab, obtemos uma tabela de valores:

critrios de parada :

Usando o

CAPTULO 3.

27

ZEROS DE FUNES

>> x = 1 : 0.2 : 2
x =
1.0000
1.2000
1.4000
>> y = x.^3 - x.^2 - 1
y =
-1.0000 -0.7120 -0.2160
Vericamos que

1.6000

1.8000

2.0000

0.5360

1.5920

3.0000

troca de sinal no intervalo[1,4; 1,6], isto ,

isolamos

Algoritmo 7 ZeroBisseo
entrada : f, a, b, tol, kmax
sada : x, rel , k
Estimativa inicial

o zero

nesse intervalo.
Agora, com

tol = 0,5 103 ,

usamos o mtodo da bisseo para obter

os valores mostrados na tabela a seguir

1:
2:

ak

xk

bk

g(ak )

g(xk )

g(bk )

rel

1,4000

1,5000

1,6000

-0,2160

0,1250

0,5360

1,4000

1,4500

1,5000

-0,2160

-0,0539

0,1250

0,0345

1,4500

1,4750

1,5000

-0,0539

0,0334

0,1250

-0,0169

1,4500

1,4625

1,4750

-0,0539

-0,0108

0,0334

0,0085

1,4625

1,4688

1,4750

-0,0108

0,0112

0,0334

-0,0043

1,4625

1,4656

1,4688

-0,0108

0,0002

0,0112

0,0021

1,4625

1,4641

1,4656

-0,0108

-0,0053

0,0002

0,0011

8:

1,4641

1,4648

1,4656

-0,0053

-0,0026

0,0002

-0,0005

1,4648

1,4652

1,4656

-0,0026

-0,0012

0,0002

-0,0003

9:

3:
4:
5:
6:
7:

k 1
x 12 (a + b)
f x f (x)
f a f (a)
f b f (b)
rel +

Processo iterativo
enquanto k < kmax e |rel | > tol
se f a f x 0 ento
b x
fb fx

10:

seno

11:
Assim podemos estabelecer

Para obter

x = 1,465571231876768

necessrias 49 iteraes.
e de

g(b)

algoritmo

z 1,47

com 3 DSE.

12:
13:

com

rel = 3,0301

Observe, na tabela acima, que o

1016 so

sinal

de

g(a)

permanecem os mesmos durante todo o processo iterativo.

ZeroBisseo

sistematiza o mtodo da bisseo utilizando os

critrios de parada 1 e 4.

condies necessrias

16:
17:
18:
19:

Quanto a convergncia do mtodo da bisseo, observemos o seguinte:


1. As

15:

20:

Convergncia

para que o mtodo funcione so mnimas:

deve ser contnua e trocar de sinal em um intervalo

[a, b]

inicial.

m

14:

m

a x
fa fx

k k + 1
u x
x 12 (a + b)
f x f (x)
rel ErroRel(u, x)

CAPTULO 3.

28

ZEROS DE FUNES

Assumida essas condies, do Teorema 3.1, o processo

seguramente

Trocando

x0

por

convergente.
2. Como

|k |

1
2

|k1 |,

por

tem-se

f (z) f (x) + f 0 (x)(z x) 0,

o mtodo possui convergncia linear. So ne-

cessrias cerca de 3,3 iteraes para cada DSE adicional: uma con-

pois

f (z) = 0.

Dessa forma, pode-se resolver a equao para

vergncia considerada lenta.

z x

3.3 Mtodo de Newton-Raphson


1

O mtodo de Newton -Raphson

inicial x1

para o zero de

convergem para

3
de Taylor :

z.

f,

que pode ser transformada em uma

2 consiste em, a partir de uma

obter aproximaes sucessivas

O mtodo toma por base a expanso de

estimativa

Geometricamente,

f 00 (x0 )(x x0 )2
f (k) ()(x x0 )k
f (x) = f (x0 ) + f 0 (x0 )(x x0 ) +
++
.
2!
k!

gente ao grco de

xk

em

obtendo

f (x)
,
f 0 (x)

frmula de iterao :

xk = xk1

x2 , x3 , que
f em sua srie

projeo

f (xk1 )
.
f 0 (xk1 )

sobre o eixo horizontal da reta tan-

(xk1 , f (xk1 ))

como mostra a Figura 3.2.

Truncando a srie a partir do terceiro termo, obtm-se a aproximao

f (x) f (x0 ) + f 0 (x0 )(x x0 ).


1

Isaac

Newton (1643 - 1727) cientista ingls.

Newton desenvolveu as bases do

clculo diferencial e integral. Por seus trabalhos na ptica e gravitao, considerado


o maior cientista de todos os tempos. Em seu

tarum

De metodis uxionum et serierum inni-

Newton descreve o mtodo para encontrar zeros de funes polinomiais, dando


3
como exemplo a funo f (x) = x 2x 5 que possui um zero entre 2 e 3 (veja o
Problema 3.13). Embora escrito em 1671, somente foi publicado como

ons

Method of uxi-

em 1736. O nome de Newton tambm est relacionado s tcnicas de quadratura

numrica (veja o captulo 7) quando, em 1676, descreveu o mtodo em uma carta a


Leibniz [38].
2

Joseph

Society.

Raphson (1648 - 1715) matemtico ingls colega de Newton na

Em seu

Analysis aequationum universalis

Royal

de 1690 descreve, de forma indepen-

dente, o mesmo mtodo para encontrar zeros de funes [38]. A frmula iterativa (3.1)
tal como conhecida atualmente devida a Thomas Simpson em seu

the solution of equations in numbers


3

Brook

A new method for

de 1740 [37].

Taylor (1685 - 1731) matemtico ingls.

Contribuiu signicativamente

para o estabelecimento do Clculo. Criou o clculo de diferenas nitas, inventou a tcnica da integrao por partes, e generalizou a expanso em srie que leva seu nome em
seu livro

Methodus incrementorum directa et inversa

de 1715. A importncia desse tra-

balho foi reconhecida e enaltecida por Lagrange em 1772 como o Teorema Fundamental
do Clculo Diferencial [38].

Figura 3.2:

(3.1)

Interpretao geomtrica do mtodo de Newton.

CAPTULO 3.

29

ZEROS DE FUNES

Exemplo 3.3. Usar o mtodo de Newton para determinar o zero de


g(x) = x3 x2 1 com pelo menos 3 DSE.

Soluo:
intervalo

1,5.

J sabemos do Exemplo 3.1 que o zero de

[1,4 : 1,6] ento podemos usar


g(x) = x3 x2 1, temos

encontra-se no

como estimativa inicial o valor

x=

2:
4:

g 0 (x) = 3x2 2x.


tol = 0,5 103 ,

k 1
F f (x)
D f 0 (x)
rel +

1:
3:

Como

Com

Algoritmo 8 ZeroNewton
entrada : f, f 0 , x, tol, kmax
sada : x, rel , k
Estimativa inicial

usamos o mtodo de Newton para obter os valores

mostrados na tabela a seguir

Processo iterativo
enquanto k < kmax e |rel | > tol

5:
6:
7:
8:

xk

g(xk )

g 0 (xk )

rel

1,5000

0,1250

3,7500

10:

1,4667

0,0039

3,5200

0,0227

11:

1,4656

0,0000

3,5126

0,0007

1,4656

0,0000

3,5126

0,0000

z 1,47

com 3 DSE.

Assim podemos estabelecer

9:

2. Embora a convergncia do mtodo de Newton seja, em geral, mais


rpida que a do mtodo da bisseo, ela no

De fato, na ltima iterao da tabela acima,

rel = 7,9061 107 <


DSE. Para obter x =

0,5 105 , que garante z 1,4656 com 5


1,465571231876768 com |rel | < 0,5 1015 so necessrias

apenas 6 itera-

es!

O algoritmo

ZeroNewton

sistematiza o mtodo de Newton, usando

os mesmos critrios de parada do algoritmo

m

12:

k k + 1
u x
x x F/D
F f (x)
D f 0 (x)
rel ErroRel(u, x)

ZeroBisseo.

garantida

em todos os

casos. A Figura 3.3 mostra o caso de uma funo em que a aplicao do mtodo de Newton produz uma sequncia de estimativas

divergente.

3. Existem vrios teoremas descrevendo as condies que


convergncia do mtodo.

xk

garantem

No entanto, do ponto de vista prtico,

pode-se dizer que o mtodo (geralmente) funciona se


(a) em torno de

Convergncia:

z, f

sucientemente

suave

(contnua e diferenci-

vel);
(b) a estimativa inicial

x1

est sucientemente

prxima

de

z.

Quanto a convergncia do mtodo de Newton, observemos o seguinte:


1. Em geral, o mtodo de Newton mais
o. Quando
convergncia

xk z ,

temos

quadrtica :

rpido

|k | |k1 |2 ,

Comparativamente, os mtodos da bisseo e de Newton so compleque o mtodo da bisse-

isto , temos uma taxa de

a quantidade de DSE

dobra a cada iterao.

mentares, sendo a principal caracterstica do primeiro a


timo a

velocidade.

robustez

e do l-

CAPTULO 3.

30

ZEROS DE FUNES

Usando o Matlab

comando

fzero.

Para determinar zeros de funes podemos usar o

>> format long


>> f = @(x) x^3 - x^2 - 1;
>> z = fzero(f, 1.5)
z = 1.465571231876768
Este recurso utiliza o algoritmo WDB (Wijngaarden-Dekker-Brent) que uma
combinao dos mtodos de bisseo, interpolao linear e interpolao inversa
quadrtica [20, p. 161] e [40, p. 454].

Sobre a interpolao linear veja o

Problema 3.37 e sobre a interpolao inversa veja o Problema 5.29.

3.4 Problemas
Mtodo da Bisseo
Nos problemas 3.1 a 3.4 a seguir so dados a expresso de uma funo f e um
intervalo [a, b]. Para cada uma das funes faa o seguinte: (a) Desenhe o grco
da funo no intervalo dado, vericando que a funo contnua e que f (a) e
f (b) tem sinais contrrios. (b) Use o mtodo da bisseo e, partindo do intervalo
dado, preencha uma tabela contendo os valores de k, ak , xk , bk , f (ak ), f (xk ),
f (bk ) e rel como no Exemplo 3.2. Preencha a tabela para as 4 primeiras iteraes.

3.1.
Figura 3.3:
Newton.

3.2.
Uma sequncia de estimativas divergente para o mtodo de

3.3.
3.4.
3.5.
k

. f (x) = x2 53 em [0, 10].

. f (x) = x2 + 1 x2 em [0, 3].


. f (x) = x + cos(x)

em

. f (x) = ex + x2 10
.

[1, 1].
em

[2, 4].

No mtodo da bisseo, o tamanho do intervalo em uma dada iterao

metade

do tamanho do intervalo na iterao anterior, isto ,

Tk =
Determine o nmero
tamanho

T0 = b a

Tk1
.
2

de passos necessrios para que um intervalo inicial de

seja reduzido a

Tk < 0,5 1012 (b a).

CAPTULO 3.

3.6.

31

ZEROS DE FUNES

Implemente o algoritmo ZeroBisseo na sua linguagem preferida.

Para vericar a correo da implementao, refaa o Exemplo 3.2.

Nos problemas 3.7 a 3.10 a seguir utilize o algoritmo


encontrar o zero da funo. Use tol = 0,5 1012 .

3.7.

Funo do Problema 3.1.

3.8.

Funo do Problema 3.2.

3.9.

Funo do Problema 3.3.

3.10.

Funo do Problema 3.4.

3.11.

ZeroBisseo

para

Mostre que os critrios de parada 1 e 2 (p. 26) do mtodo da bisseo

so equivalentes.

3.12.

parada 3 e 4 (p. 26). Compare o nmero de iteraes utilizadas pelo algoritmo


original e pelo modicado para encontrar os zeros das funes dos problemas 3.1

tol = 0,5 1012 .

Implemente o algoritmo ZeroNewton na sua linguagem preferida.

Nos problemas 3.19 a 3.22 a seguir utilize o algoritmo


encontrar o zero da funo dada. Use tol = 0,5 1012 .

3.19.
3.20.
3.21.
3.22.
3.23.

ZeroNewton

para

Funo do Problema 3.13.


Funo do Problema 3.14.
Funo do Problema 3.15.
Funo do Problema 3.16.
Modique o algoritmo ZeroNewton de modo a empregar os critrios de

parada 3 e 4 (p. 26). Compare o nmero de iteraes utilizadas pelo algoritmo

. f (x) = x 2x 5

3.14.

. f (x) = x + ln(x)

3.15.

. f (x) = x cos(x)
. f (x) = x cos(x2 )

3.17.

3.24.

O mtodo de Newton tem diculdade de encontrar zeros com multiplicidade

elevada. A funo

em

em

(0, 1], x1 = 0,5.

em

em

[3, 3], x1 = 2,5.

[, ], x1 = 1,0.

[1, 2], x1 = 1,2.

estimativa inicial

= 1)

fn (x) = (x 1)n
com multiplicidade

n.

Determine o nmero de

Verique que a sequncia recursiva dada pela equao (2.10) pode ser

obtida atravs da equao (3.1) aplicada a determinao do zero da funo

f (x) = x 53

f1 , f2 , . . . , f10 .

Use a

x1 = 2.

O mtodo de Newton pode no ser convergente. Verique que, para as funes


e estimativas iniciais mostradas nos problemas 3.25 e 3.26 a seguir, o mtodo no
funciona.

3.25.
3.26.

1
10

+ xex

com

x1 = 2.

f (x) = x3 x 3

com

x1 = 3.

f (x) =

Sortidos

3.27.

numricos (aproximados) so
analticos (exatos). A determinao

Devido a sua praticidade, os mtodos

frequentemente usados em vez dos mtodos

de zeros de funes polinomiais de grau 3 (cbicas) um bom exemplo.


quise a frmula

pelo mtodo de Newton.

tol = 0,5 1012 .

iteraes necessrias para encontrar o zero de cada funo

Nos problemas 3.13 a 3.16 a seguir so dadas a expresso de uma funo f ,


um intervalo [a, b] e uma aproximao x1 para o zero de f . Para cada uma das
funes faa o seguinte: (a) Desenhe o grco da funo, vericando que a funo
contnua e possui um zero no intervalo dado. (b) Encontre uma expresso para
f 0 (x). (c) Use o mtodo de Newton e, partindo da aproximao x1 , preencha uma
tabela contendo os valores de k, xk , f (xk ), f 0 (xk ) e rel como no Exemplo 3.3.
Preencha a tabela para as 4 primeiras iteraes.

3.16.

mas 3.13 a 3.16. Use

possui um nico zero (z

Mtodo de Newton

3.13.

original e pelo modicado para encontrar os zeros das funes dadas nos proble-

Modique o algoritmo ZeroBisseo de modo a empregar os critrios de

a 3.4. Use

3.18.

Para vericar a correo da implementao, refaa o Exemplo 3.3.

exatamente
4

Frmula de Cardano 4

o zero real da funo

Girolamo

Pes-

(em [47, 1], por exemplo) para determinar

g(x) = x3 x2 1

dos Exemplos 3.2 e 3.3.

Cardano (1501 - 1576) mdico, astrnomo e matemtico italiano. Seu

mais famoso trabalho

Ars magna, de 1545, considerado o primeiro livro latino dedicado

apenas a lgebra. Neste tratado, descreve a soluo de equaes polinomiais cbicas e


qurticas [38].

CAPTULO 3.

3.28.

32

ZEROS DE FUNES

3.29.

por um corpo de prova na temperatura

Reconsidere o Exemplo 2.1 e encontre o zero da equao (2.2).

3.30.

Considere a funo dada por

(a) Faa um esboo do grco de

f (x) = e ln x

no intervalo

com

(0, 2]

(em metros).
k = 1,3807 1023 J/K

de onda
e

x > 0.

e verique que a funo

xmin

3.31.

desse mnimo sabendo que

Um estudante comprou um

notebook

[25].

S() para
[0,5; 4,0] 106 m.

(a) Obtenha o grco de


no intervalo

possui um ponto de mnimo nesse intervalo.


(b) Determine a abscissa

S (em watt por metro cbico) emitida


T (em kelvin) em funo do comprimento
8
34
Nessa expresso, c = 2,997910 m/s, h = 6,626110
Js

descreve a quantidade de energia luminosa

Determine os zeros das funes dos Problemas 3.25 e 3.26.

onde

o valor nanciado,

no valor de R$ 2499,00 e vai pagar

max =
onde

F i

o nmero de parcelas e

A gura a seguir mostra uma seo circular de rea

S.

Encontre

3.34.
Q

z,

ocorre em

max

dado por

hc
,
zkT

o zero de

f,

x
+ ex 1.
5

e em seguida determine o valor de

max .

Em Termodinmica, sob determinadas condies, a relao entre a calor

Tf Ti dada


B
C
Q = nR A(Tf Ti ) + (Tf2 Ti2 ) + (Tf3 Ti3 ) .
2
3

fornecido a um gs e sua variao de temperatura

por

R = 8,314 J/mol.K, A = 1,702, B = 9,081 103 K1 , C =


2,164 10 K [46, p. 131]. Em uma cmara, tem-se n = 2 mol de metano a
temperatura Ti = 300 K. Qual ser a temperatura nal Tf se 20 kJ de energia
Para o gs metano,

Sugesto: Use

o zero positivo de

f (x) =

a taxa de juros. Qual a taxa de juros do nanciamento?

3.32.

n ,
1 (1 + i)

o valor da parcela,

T = 3500 K.

(b) Pode-se mostrar [55, p. 390] que o maior valor de

f 0 (xmin ) = 0.

12 parcelas de R$ 249,00. A matemtica nanceira estabelece que

P =

a temperatura

absorvido pelo gs?

3.35.

A tenso eltrica sobre o capacitor de um circuito RLC-paralelo dada por

u(t) = u0 et cos(d t),

t 0,

onde

u0

Da geometria, sabemos que a rea da seo dada por

S=
onde

tal

geomtrica

3.33.

1
a constante de amortecimento,
2RC
1
0 =
a frequncia angular de oscilao (natural),
LC
p
d = 02 2 a frequncia angular de oscilao (amortecida).

r2
( sen()),
2

o ngulo que subtende a seo circular. Determine


S seo seja um tero da rea do crculo. Uma soluo

o raio do crculo e

o ngulo

que a rea

a tenso inicial sobre o capacitor,

do problema pode ser encontrada em [11].

A tenso

Lei da Radiao,

dada em volts e o tempo

um circuito em que

2c2 h
1
S() =
,
5
hc/kT
e
1

= 200

, L

os valores na equao, desenhe o grco de

t3

em segundos [36, p. 177]. Considere

C = 40 F e u0 = 50 V. Substitua
u(t) e determine os instantes t1 , t2 e

= 0,3 H,

onde a tenso atinge o valor 10 V.

CAPTULO 3.

3.36.
os

Na lgebra Linear, os

zeros

33

ZEROS DE FUNES

autovalores de uma matriz A so denidos como

A=

3.37.

1 , 2

xk = xk1

0 3
1
2 .
2
3

de

2[f 0 (x

de

quarto

termo e

[51]. A frmula de iterao dada

2f (xk1 )f 0 (xk1 )
.
2
00
k1 )] f (xk1 )f (xk1 )

Modique o algoritmo ZeroNewton de modo a empregar o mtodo de Halley.


Compare o nmero de iteraes necessrias para encontrar os zeros das funes
dadas nos problemas 3.13 a 3.16 utilizando o algoritmo original e o modicado.

pA (x).

segunda derivada

por

3
0
3

(a) Encontre a expresso algbrica de


(b) Encontre os autovalores

Uma variao para o mtodo de Newton, conhecida como mtodo de

usar a informao da

pA (x) = det(A Ix).


Considere a matriz

3.38.

Halley , consiste em truncar a srie de Taylor a partir do seu

do polinmio caracterstico

A.

Uma variao para o mtodo da bisseo consiste em dividir o intervalo

[a, b] no
(a, f (a))

c sobre o
(b, f (b)) como

ponto

eixo horizontal que intercepta o reta que passa por

mostra a gura a seguir.

interpolao linear

Essa tcnica denominada

e, em geral, apresenta velocidade de convergncia maior que

a o mtodo da bisseo.

(a) Mostre que

c=a

f (a)
(b a).
f (b) f (a)

(b) Modique o algoritmo ZeroBisseo de modo a empregar a tcnica da interpolao linear. Compare o nmero de iteraes necessrias para encontrar
os zeros das funes dadas nos problemas 3.1 a 3.4 com o algoritmo Zero-

Bisseo original.

Edmond Halley (1656 - 1742) astrnomo ingls.

Entre seus feitos est o clculo da

rbita do cometa que leva seu nome. Halley props que os cometas que apareceram em
1531 e 1607 eram, de fato, um mesmo cometa e deveria reaparecer em 1758. O mtodo
para a determinao de razes de equaes polinomiais foi desenvolvido em 1694.
frmula tal como conhecida atualmente devida a Schrder [42].

Captulo 4

Sistemas Lineares
4.1 Denio do problema
Um

sistema de equaes lineares


n incgnitas

a11 x1 +

a21 x1 +

a12 x2
a22 x2

.
.
.

.
.
.

consistente :

ou, simplesmente,

sistema linear

com




equaes e

+
+

am1 x1 + am2 x2 +

+
+

a1n xn
a2n xn
.
.
.

=
=

a11 a12
a21 a22

A= .
.
.
..
.
am1 am2

a1n
a2n
.
.
.

amn

se

no existe

soluo;

resolver

um sistema linear dado. Os mtodos

de resoluo de sistema linear, podem ser classicados em:

+ amn xn = bm

diretos :

pode ser representado pela equao matricial

nica soluo ou;


uma innidade de solues.

O problema em questo

.
.
.

Ax = b, sendo

x1
b1
x2
b2

, x = .. , b = ..
.
.

xn
bm

soluo, sendo que pode haver

uma

inconsistente :

b1
b2

existe

se

Escalonamento (Gauss), inverso, determinantes (Cramer),

fatorao LU, etc.

iterativos :

Gauss-Jacobi, Gauss-Seidel, gradiente conjugado, etc.

Neste captulo estudaremos alguns mtodos para a resoluo de sistemas lineares

determinados (m = n)

com soluo

nica.

A resoluo de

sistemas sobre-determinados ou sub-determinados ou com innitas solu-

Quanto a quantidade de equaes (m) e incgnitas (n), um sistema

es pode ser encontrado em [22].

linear pode ser classicado em

sub-determinado :
determinado :

Se

Se

4.2 Mtodo de Gauss

m < n;

m = n;

sobre-determinado :

Se

1 (tambm conhecido como

O mtodo de Gauss

eliminao gaussiana )

um mtodo direto de resoluo de sistemas lineares.

m > n.

Quanto a existncia e unicidade de solues, um sistema linear pode

Carl

O procedimento,

Friedrich Gauss (1777 - 1855), matemtico alemo, fez importantes contri-

buies matemtica, fsica e astronomia. Em 1799 provou o Teorema Fundamental

ser classicado em

da lgebra:

34

o nmero de razes (reais, complexas ou mltiplas) de um polinmio

CAPTULO 4.

35

SISTEMAS LINEARES

estudado na disciplina de lgebra Linear, consiste basicamente em duas


etapas:

escalonamento

retro-substituio.

A etapa do escalonamento consiste em, atravs de operaes-linha elementares, obter um sistema linear

Ax = b
a

Cx = d

equivalente ao sistema linear

original, isto uma sistema com a mesma soluo. A matriz

forma escalonada

da matriz completa (triangular-superior).

a1,1
a1,2
a2,1
a2,2

.
.
.
.

.
.

an1,1 an1,2
an,1
an,2

c1,1 c1,2
0 c2,2

..
.
.
.
.

0
0
0
0

Nas operaes acima, usamos uma notao derivada

k da matriz C,
ci: ci: + mcj:

k,

isto , linha

ck:

pode ser escrita como

a1,n1
a2,n1

a1,n
a2,n

b1
b2

.
.
.

.
.
.

.
.
.

an1,n1 an1,n bn1


an,n1
an,n
bn
c1,n1
c2,n1

c1,n
c2,n

d1
d2

.
.
.

.
.
.

.
.
.

cn1,n1 cn1,n dn1


0
cn,n
dn

xi =

di

Redimensionar
Adicionar

uma linha:

cii

3 x1 +
x2
x3

3 x1 + 3 x2
x3
9 x1 + 4 x2

x2 + 3 x3

Soluo:

Escalonamento :

ci: ci: + mcj: .

Theoria motus corporum coelestium in sectionibus

conicis solem ambientium, estudou as observaes astronmicas da rbita do asteroide

Pallas obtidas entre 1803 e 1809 e obteve um sistema de seis equaes lineares e seis

= 5
= 5
.
= 17
= 12

lineares que consiste exatamente no que conhecemos hoje como o mtodo da eliminao
gaussiana. Alm disso, apresenta uma prova formal do mtodo dos quadrados mnimos

1 2
1 4
0 8
3 7

5
5
.
17
12

O primeiro elemento no-nulo da primeira linha (c11

piv.

= 3) denominado
mij a seguir so

Os elementos abaixo dele sero zerados. Os valores

multiplicadores e so usados nas operaes-linha elementares.


c21
3
= = 1,
c11
3
c31
9
=
= = 3,
c11
3
c41
0
=
= = 0,
c11
3

m21 =

c2: = c2: + m21 c1: ,

d2 = d2 + m21 d1 ,

m31

c3: = c3: + m31 c1: ,

d3 = d3 + m31 d1 ,

c4: = c4: + m41 c1: ,

d4 = d4 + m41 d1 .

incgnitas. Nesse texto, Gauss descreve uma forma sistemtica de resoluo de sistemas

(ver Captulo 6) [28] [45, p. 44].

2 x4
4 x4
8 x4
7 x4

O sistema linear representado pela matriz

3 1
3 3

[C|d] = [A|b] =
9 4
0 1

ditos

igual ao seu grau. Em 1809, no seu

+
+
+
+

completa

m 6= 0.

a uma linha, um mltiplo de outra:

i = n, n 1, . . . , 2, 1.

Exemplo 4.1. Usar o mtodo do escalonamento para resolver o sistema linear

ci:  cj: .

ci: mci: ,

x so obtidos (em ordem

cij xj

j>i

duas linhas entre si:

No Matlab, a operao

C(i,:) = C(i,:) + m * C(j,:).

Na etapa da retro-substituio os elementos de

As operaes-linha elementares utilizadas so:

Permutar

refere-se a todos os elementos da linha

todas as colunas.

inversa) por

[A|b] [C|d]

Usando o Matlab

da sintaxe do Matlab. O smbolo

m41

CAPTULO 4.

36

SISTEMAS LINEARES

Algoritmo 9 SLGaussProv
entrada : A, b
sada : x
Inicializao

Assim, obtemos

3
0

0
0

1
2
1
1

1 2
0 2
3 2
3 7

5
0
.
2
12

1:
Prosseguindo com o piv

c32
1
=
c22
2
c42
1
=
=
c22
2

c22 = 2:

2:

m32 =

c3: = c3: + m32 c2: ,

d3 = d3 + m32 d2 ,

m42

c4: = c4: + m42 c2: ,

d4 = d4 + m42 d2 ,

3
0

0
0

Finalmente, com o piv

1
2
0
0

1 2
0 2
3 1
3 6

5:

c33 = 3,

c43
3
=
= = 1
c33
3

7:

5
0
.
2
12

8:
9:
10:

obtemos

11:

c4: = c4: + m43 c3: ,

d4 = d4 + m43 d3 ,

obtemos a forma escalonada

3
0

0
0

Retro-substituio.

12:

de linhas de

Escalonamento
para j 1 : n 1
para i j + 1 : n

m Ci,j /Cj,j
Ci,: Ci,: + mCj,:

m
m
Retro-substituio
x Zeros(n, 1)
para i n : 1 : 1
m

xi (Ci,n+1 Ci,1:n x) /Ci,i

Logo, a soluo do sistema

1
2
0
0

1 2
0 2
3 1
0 5

Os elementos de

5
0
.
2
10

forma vetorial,

x1 = 1, x2 = 2, x3 = 0

x4 = 2

ou, de

1
2

x=
0 .
2

so obtidos:

10
d4
=
=2
c44
5
d3 (c34 x4 )
2 (1 2)
x3 =
=
=0
c33
3
d2 (c23 x3 + c24 x4 )
0 (0 0 + 2 2)
x2 =
=
= 2
c22
2
d1 (c12 x2 + c13 x3 + c14 x4 )
5 (1 (2) 1 0 + 2 2)
x1 =
=
=1
c11
3

x4 =

4:
6:

obtemos

m43

3:

n nmero
C [A|b]

O algoritmo

SLGaussProv (provisrio )

sistematiza o mtodo do es-

calonamento de Gauss.

4.2.1 Pivotamento Parcial


O algoritmo

SLGaussProv tem um problema:

ele no toma cuidado com

possveis divises por zero, que ocorrem quando o elemento-piv no est


na diagonal.
Uma estratgia para evitar divises por zero, consiste em permutar as
linhas da matriz de modo que o elemento-piv seja (em valor absoluto)

CAPTULO 4.

37

SISTEMAS LINEARES

Algoritmo 10 SLGauss
entrada : A, b
sada : x
Inicializao
1:
2:
3:
4:
5:
6:

n nmero
C [A|b]

9:
10:
11:
12:
13:

de linhas de

m

m Ci,j /Cj,j
Ci,: Ci,: + mCj,:

Aps escrever a matriz

Ax = b

A e o vetor-coluna b, possvel

com o comando  \.

O comando  \ chama uma srie de subrotinas do Matlab para a resoluo

de sistemas lineares. Cada subrotina possui alguma especicidade com relao

m
Retro-substituio
x Zeros(n, 1)
para i n : 1 : 1
m

>> A = [3 1 -1 2; 3 3 -1 4; 9 4 0 8; 0 1 3 7];
>> b = [5; 5; 17; 12];
>> x = A\b
x =
1.0000
-2.0000
-0.0000
2.0000

Escalonamento
para j 1 : n 1
C PivotamentoParcial(C, n, j )
para i j + 1 : n

7:
8:

Usando o Matlab

resolver o sistema linear

ao tipo de sistema linear: determinado, sub-determinado, sobre-determinado,


real, complexo, etc. No entanto, o mtodo de resoluo usado basicamente
o mesmo: mtodo de Gauss com pivotamento parcial.
Deve-se ter o cuidado de vericar que esse procedimento sempre produz

xi (Ci,n+1 Ci,1:n x) /Ci,i

uma resposta:
1. a soluo, se o sistema linear for possvel e determinado;
2. uma soluo, se o sistema linear for possvel e indeterminado;

maior ou igual aos os elementos abaixo de si em sua coluna, isto ,

|cjj | |cij | ,
Esse procedimento, denominado

3. uma pseudo-soluo (a soluo de quadrados mnimos, ver Captulo 6),


se o sistema linear for impossvel.

i > j.

pivotamento parcial,

Uma maneira de vericar que tipo de soluo est sendo obtida vericar a

alm de evi-

tar a diviso por zero, garante ainda que os multiplicadores sero pequenos
(|mij |
ritmo

1),

o que tende a minimizar os erros de arredondamento. O algo-

PivotamentoParcial

(p. 13) j implementado, realiza as permu-

taes necessrias. A tcnica do pivotamento total (que busca o elemento


de maior valor absoluto nas linhas abaixo e nas colunas direita da posio
de piv) gera maior preciso, porm tem custo mais elevado [8, p. 352] e
pouco utilizada.
O algoritmo

SLGauss (denitivo ) utiliza o pivotamento parcial.

Note

que, o sistema linear que no tiver soluo nica ou no tiver soluo, ser
detectado pela algoritmo de pivotamento.

forma escalonada reduzida da matriz completa do sistema linear com o comando

>> rref(A)
ans =
1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

Se a matriz resultante for a identidade


(nica) do sistema linear.

In ,

ento a soluo obtida a soluo

CAPTULO 4.

38

SISTEMAS LINEARES

4.3 Mtodos iterativos


Nos mtodos

iterativos

Exemplo 4.2. Considere os vetores

para resoluo de sistemas lineares, inicialmente

C e um vetor d so obtidos de A e b. Em seguida, a partir de


(1) , uma sequncia de novas estimativas
uma estimativa inicial de soluo x
(2)
(3)
(4)
x , x , x , . . . calculada atravs da frmula de iterao

x(1)

uma matriz

x(k) = Cx(k1) + d.
Se

, a
x
C e d levam a mtodos

forem escolhidos adequadamente, a sequncia converge para

soluo do sistema linear. As diferentes escolhas de


diferentes.

Nos mtodos iterativos, necessrio denir alguns

critrios de parada.

1.

2.

3.

Soluo:
rel


(1)
x x(2)


=
x(2)
p
(1,0002 0,9994)2 + (2,0086 2,0015)2 + (2,9978 + 3,0007)2
p
=
0,99942 + 2,00152 + (3,0007)2
p
5,9460 105

=
14,0090
= 0,0021

Como

rel = 0,0021 < 0,5 102

estimativa para o erro relativo rel entre


a partir de duas aproximaes sucessivas. O critrio 2 determina o
x
(k) e b). Note que em ambos os casos,
valor do resduo relativo entre Ax
rel 0, uma vez que a norma-2 de um vetor no-negativa. O critrio 3

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

estabelece um nmero mximo de iteraes. Note como esses critrios de

parada so semelhantes aos usados nos mtodos da bisseo e de Newton


(p. 26). Nos algoritmos e exemplos deste captulo, usaremos o critrio de
parada 1 e 3.

kk

representa a norma (ou norma euclideana) de um vetor

que denida por

q
kvk = v12 + v22 + + vn2 .

deduzimos que os valores numricos

dos vetores possuem 2 DSE, isto ,

k > kmax .

O smbolo

x(2)

0,9994
= 2,0015 .
3,0007

O erro relativo para vetores dado por

O critrio 1 estabelece uma

x(k)

Determine rel usando o critrio 1 e a quantidade de DSE dos vetores.

Os mais usados so os seguintes:


(k1)
x
x(k)


rel
< tol.
x(k)

(k)
Ax b
rel =
< tol.
kbk

1,0002
= 2,0086 ,
2,9978

(4.1)

O algoritmo

ErroRelVet

aproximao vetorial.
(p. 20)

2,0

3,0]T .

sistematiza o clculo do erro relativo na

Note a semelhana com o algoritmo

ErroRel

CAPTULO 4.

39

SISTEMAS LINEARES

Algoritmo 11 ErroRelVet
entrada : u, v
sada : rel
1:
se kvk = 0 ento
2:

3:

0
a
21

a22
C=

.
.

a.
n1

ann

rel kuk

seno

4:
5:

que pode ser expresso na forma

m

rel

ku vk
kvk

4.4 Mtodo de Gauss-Jacobi


2

No mtodo de Gauss-Jacobi , a determinao de

feita da seguinte

a11 x1

a21 x1

Isolando

x1

+ a12 x2
+ a22 x2

.
.
.

.
.
.

Ax = b

+
+

an1 x1 + an2 x2 +

da primeira equao,

x2

= b1
= b2

.
.
.

.
.
.

Soluo:

+ ann xn = bn

da segunda equao, ...,

xn

Carl

da

n-sima

a12
x2
a11
a21
=
x1
a22
=

a1n
xn
a11
a2n

xn
a22

.
.
.

b1
a11
b2
+
a22 ,
.
.
.

an,n1
bn
xn1 +
ann
ann

Gustav Jacob Jacobi (1804 - 1851), matemtico alemo. Fez contribuies

ber eine neue ausungsart der bei der methode der kleinsten quadrate vorkommenden linearen gleichungen introduz o mtodo iterativo para resoluo
1845, no artigo

de sistemas lineares. No mesmo artigo faz uso de rotaes planares para aumentar a
dominncia diagonal da matriz. Uma abordagem pioneira do que se chama atualmente

pr-condicionamento

[38, 5].

(4.2)

Inicialmente vericamos que para obter 3 DSE devemos usar

Em seguida, a partir de

20
0 9
A = 1 5 1 ,
2
2 5

fundamentais na teoria das funes elpticas e das equaes diferenciais parciais. Em

de

d=
.
..

bn
ann

.
.

.
.

.
.

n1

xn =
x1
ann
2

an2
ann

.
.
.

b1
a11
b2
a22

tol = 0,5 103 .

equao obtemos

x1

x2

+ 9 x3 = 78
20 x1

x1 5 x2 +
x3 = 5 ,

2 x1 + 2 x2 + 5 x3 =
8

na forma

+ a1n xn
+ a2n xn

.
.
.

a1n

a11
a2n

a22

sendo

Exemplo 4.3. Resolva o sistema linear mostrado a seguir usando o


mtodo de Gauss-Jacobi. Use a estimativa inicial de soluo o vetor
x(1) = 1 = [1 1 1]T e o critrio de parada 1 para obter 3 DSE.

maneira.
Consideremos o sistema linear

a12

a11
0

x = Cx + d,

78
b = 5 ,
8

e de (4.2) temos

0,00
C = 0,20
0,40

0,00 0,45
0,00 0,20 ,
0,40 0,00

3,90
d = 1,00 .
1,60

A Tabela a seguir mostra a sequncia das primeiras aproximaes

CAPTULO 4.

40

SISTEMAS LINEARES

(k)

(k)

(k)

x1

x2

x3

1,0000

1,0000

1,0000

-3,4500

1,0000

0,8000

1,2105

-3,5400

1,8500

2,5800

0,4153

-2,7390

2,2240

2,2760

0,2226

-2,8758

2,0030

1,8060

0,1362

-3,0873

1,9364

1,9491

0,0639

-3,0229

2,0073

2,0604

0,0352

-2,9728

2,0167

2,0062

0,0181

-2,9972

1,9958

1,9825

0,0097

10

-3,0079

1,9959

2,0005

0,0051

11

-2,9998

2,0017

2,0048

0,0026

1:

12

-2,9978

2,0009

1,9992

0,0014

2:

13

-3,0003

1,9994

1,9988

0,0007

3:

14

-3,0006

1,9998

2,0004

0,0004

4:

rel

Algoritmo 12 SLGaussJacobi
entrada : A, b, tol, kmax
sada : x, rel , k
Matriz e vetor de iterao

5:
A soluo do sistema, com 3 DSE,

O algoritmo

SLGaussJacobi

x1 = 3,00, x2 = 2,00 e x3 = 2,00.

sistematiza o mtodo de Gauss-Jacobi.

Vimos que o mtodo funcionou para o problema do Exemplo. A pergunta natural :

funciona sempre ?

A resposta

no.

Vejamos por qu na

seo seguinte.

8:

x(1)

11:

14:
tal que

+ ,
x(1) = x
 o erro de aproximao.

Dessa forma, a prxima estimativa

15:
16:
17:
18:
19:
20:

(2)

(1)

= Cx

+d

= C(
x + ) + d
= C
x + C + d
+ d) + C
= (C x
+ C.
=x

m

9:
10:

13:

a soluo do sistema linear, a estimativa inicial

onde o vetor

7:

12:

4.4.1 Convergncia
Sendo

6:

n nmero de linhas de A
C Zeros(n, n)
d Zeros(n, 1)
para i 1 : n
para j 1 : n
se i 6= j ento
Ci,j Ai,j /Ai,i

m

di bi /Ai,i

m
Processo iterativo
k 1
x Uns(n, 1)
rel +
enquanto k < kmax e rel > tol
k k + 1
u x
x Cx + d
rel ErroRelVet(u, x)

m

CAPTULO 4.

41

SISTEMAS LINEARES

Se convergir, a sequncia de estimativas obtidas pelo mtodo de Gauss-

E assim

linear, isto , kk+1 k c kk k. A velocidade de convergncia ser maior quanto menor for o raio espectral da
matriz de iterao C ou, de forma semelhante, maior for a dominncia di-

Jacobi tem convergncia de ordem

+ C2 
x(3) = x
+ C3 
x(4) = x

agonal da matriz

.
.
.

(k)

do sistema linear. O mtodo a seguir permite acelerar

a convergncia do mtodo de Gauss-Jacobi.

k1

+C
=x

.

4.5 Mtodo de Gauss-Seidel


Para que a sequncia

x(1) , x(2) , . . .

tenha convergncia para

neces-

srio que
(4.3)

k+

Pode-se mostrar [8, p. 415] que a condio (4.3) verdadeira se a matriz


tem

raio espectral menor que a unidade, isto ,


= max {|1 | , |2 | , . . .} < 1,

onde

1 , 2 . . .

so os autovalores de

dominante, isto ,

|aii | >

X
j6=i

|aij | ,

C;

ou a matriz

diagonal-

1 i n.

calcular a componente

(autovalor complexo)
(autovalor complexo)
(autovalor real)
(raio espectral)

Na segunda iterao (k

j >i

da

da iterao

= 2), a primeira componente de x (i = 1)

(2)

x1 = C1,: x + d1 ,
0,00

= 3,4500.

do

Exemplo 4.3, podem ser obtidos com os seguintes comandos

>> lambda = eig(C)


lambda =
-0.0650 + 0.5222i
-0.0650 - 0.5222i
0.1300
>> ro = max(abs(lambda))
ro = 0.5262

j < i, j calculadas

calculada por

= [0,00

(k1)

xj

Exemplo 4.4. Resolva o sistema linear do Exemplo 4.3 usando o


mtodo de Gauss-Seidel com os mesmos parmetros de tolerncia e
estimativa inicial de soluo.

cessrio, porm mais facilmente vericado.

Os autovalores e o raio espectral da matriz

, a partir das componentes

corrente.

trabalhoso de ser vericado. O segundo critrio suciente mas no ne-

(k)

xi

(k)
iterao anterior e das componentes xj ,

Soluo:

O primeiro critrio necessrio e suciente, porm computacionalmente

Usando o Matlab

3 uma modicao do mtodo de Gauss-Jacobi

para fazer com que o processo iterativo seja mais rpido. A ideia bsica

lim Ck = 0.

O mtodo de Gauss-Seidel

A segunda (i

Philipp

= 2)

0,45] [1,0000

componente de

1,0000

1,0000]T 3,90,

calculada a partir de

(vetor

Ludwig von Seidel (1821 - 1896), matemtico alemo. Trabalhou com

ptica (desenvolveu a teoria da aberrao ptica em telescpios astronmicos) e anlise matemtica (desenvolveu o importante conceito de convergncia no-uniforme). A
denominao

mtodo de Gauss-Seidel

, segundo alguns autores, um abuso pois Gauss

aparentemente no o conhecia e Seidel no o recomendava! [38, 5].

CAPTULO 4.

42

SISTEMAS LINEARES

com a primeira componente

atualizada ).

(2)

x2 = C2,: x + d2 ,
= [0,20

0,00

= 1,8900.
A terceira (i

= 3)

0,20] [3,4500

componente de

com a primeira e segunda componentes

1,0000]T + 1,00,

1,0000

calculada a partir de

atualizadas ).

Algoritmo 13 SLGaussSeidel
entrada : A, b, tol, kmax
sada : x, rel , k
Matriz e vetor de iterao

(vetor

(2)

x3 = C3,: x + d3 ,
= [0,40

= 2,2240.

0,00] [3,4500

0,40

1,8900

1:

1,0000]T + 1,60,

2:
3:
4:

Prosseguindo com esse esquema, os demais valores so calculados, como

5:

mostrado na tabela a seguir.

6:

(k)

(k)

x1

x2

(k)

x3

7:

rel

8:
9:

1,0000

1,0000

1,0000

-3,4500

1,8900

2,2240

1,0401

10:

-2,8992

2,0246

1,9498

0,1560

11:

-3,0226

1,9945

2,0112

0,0341

-2,9949

2,0012

1,9975

0,0077

-3,0011

1,9997

2,0006

0,0017

-2,9997

2,0001

1,9999

0,0004

A soluo do sistema, com 3 DSE,

12:
13:
14:
15:

x1 = 3,00, x2 = 2,00 e x3 = 2,00.

16:
17:

Pode-se mostrar [40, p. 1062] que o mtodo de Gauss-Seidel executa,


em mdia,

a metade

18:

do nmero de passos do mtodo de Gauss-Jacobi

19:

para uma dada tolerncia. Nos Exemplos 4.3 e 4.4 observamos que, com

20:

o mtodo de Jacobi, uma soluo (com a tolerncia

tol = 0,5 103 )

21:

obtida na iterao 14, enquanto que no mtodo de Seidel, ela obtida j

22:

tol = 0,5 1015 , com o mtodo de


obtida na iterao k = 57 e com o mtodo de Seidel
na iterao k = 26.

na iterao 7. Para uma tolerncia


Jacobi uma soluo
uma soluo obtida
O algoritmo

SLGaussSeidel

sistematiza o mtodo de Gauss-Seidel.

n nmero de linhas de A
C Zeros(n, n)
d Zeros(n, 1)
para i 1 : n
para j 1 : n
se i 6= j ento
Ci,j Ai,j /Ai,i

m

m

di bi /Ai,i

m
Processo iterativo
k 1
x Uns(n, 1)
rel +
enquanto k < kmax e rel > tol
k k + 1
u x
para i 1 : n
xi Ci,: x + di

m

m

rel ErroRelVet(u, x)

CAPTULO 4.

43

SISTEMAS LINEARES

Usando o Matlab

Ao implementar os algoritmos, tome cuidado para

4.3.

4.4.

4.5.

Implemente o algoritmo SLGaussProv na sua linguagem preferida. Para

0,2
A = 0,0
0,8

assegurar que os vetores sejam sempre vetores-coluna. Caso contrrio, as operaes de produto matriz-vetor resultaro em erros:

>> A = [2 1; -1 3]
A =
2
1
-1
3
>> x = [1 2], y = A*x
x =
1
2
Error using *
Inner matrix dimensions must agree.

0,3
0,5
2,2

0,1
0,3 ,
0,6

2
2 0
1 1 0
,
5
2 1
6
7 8

1
0
A=
1
2

0,6
b = 0,0 .
4,4

3
2

b=
2 .
12

vericar a correo da implementao, refaa o Exemplo 4.1.

4.6.

Alguns sistemas lineares

no

podem ser resolvidos sem pivotamento (troca

de linhas). Verique que o algoritmo SLGaussProv no resolve o sistema linear

>> x = [1; 2], y = A*x


x =
1
2
y =
4
5

Ax = b

com

4.7.

Implemente o algoritmo SLGauss na sua linguagem preferida.

2 3
A= 2 3
1 4

5
4 ,
1

1
b = 8 .
8

Para

vericar a correo da implementao, refaa o Exemplo 4.1.

4.8.

Uma boa maneira de testar a correo dos algoritmos gerar e resolver

sistemas lineares aleatrios.

4.6 Problemas

(a) Crie uma matriz

(b) Resolva o sistema

Mtodo de Gauss


A=

4.2.

e um vetor

Ax = b

b101

aleatrios.

com o algoritmo SLGauss.

(c) Conra o resultado calculando o resduo relativo entre os vetores

Nos problemas 4.1 a 4.4 a seguir so dados a matriz A e o vetor b de um sistema


linear Ax = b. Resolva os sistemas lineares usando o mtodo do escalonamento.
No necessrio usar pivotamento.

4.1.

A1010

4
2

2
1


,

b=

8
0

4.9.

b.

Mesmo sistemas lineares pequenos podem ser mal-condicionados. Considere

o sistema linear

Ax = b

dado por

43 86 16
72 ,
A = 23 46
32
30
58


.

Ax

cuja soluo

x = [1 1

1]T .

59
b = 49 ,
56

Resolva-o mediante os algoritmos SLGaussProv

e SLGauss e verique que os resultados so bem distintos.

3
A= 0
6

1
2
2
4 ,
1 2

4
b = 0 .
4

4.10.

Modique o algoritmo SLGauss para incluir um

aritmticas (+,

contador

de operaes

-, *, /). Gere sistemas lineares aleatrios de tamanho n de 2 a 50


e determine o nmero N (n) de operaes efetuadas para resolver cada sistema.
N (n)
3
Verique que N (n) n , calculando
n3 e vericando que essa razo tende para
uma constante a medida que n aumenta.

CAPTULO 4.

44

SISTEMAS LINEARES

Erro Relativo
Nos problemas 4.11 e 4.12 a seguir so dados duas estimativas sucessivas x(1) e
x(2) para a soluo de um sistema linear. Determine a diferena relativa rel das
estimativas.

4.11.

.
x(1) =

4.12.

1,75
2,01

x(2) =

x(1)

4.13.

1,9974
= 0,1996 ,
3,2897

1,77
1,99

onde

1,9997
= 0,2003 .
3,2975

Implemente o algoritmo ErroRelVet na sua linguagem preferida.

Ax = b dado por


 
1 + t 1
t
A=
, b=
,
1 1
0

Considere o sistema linear

0<t1

uma constante.

(a) Encontre (algebricamente) a soluo

do sistema.

Ax = b com seu algoritmo SLGaussProv para t =


1, 10 , 10 , . . . , 1015 e determine o erro relativo entre a soluo exata e a
soluo numrica. O que ocorre com o erro relativo medida que t diminui?

(b) Resolva o sistema

Mtodo de Gauss-Jacobi

4.19.

Implemente o algoritmo SLGaussJacobi na sua linguagem preferida.

4
1
A=
0
0

2
0
4
2
1
4
0 1

0
,b =

2
4

0
9
.
0
4

Para vericar a correo da implementao, refaa o Exemplo 4.3.

Mtodo de Gauss-Seidel
Nos Problemas 4.20 a 4.23 a seguir, utilize o mtodo de Gauss-Seidel e determine:
(a) a matriz C e o vetor d de iterao; (b) as primeiras 4 estimativas de soluo:
x(k) , k = 1, . . . , 4. (c) Estime o erro relativo da ltima iterao.

4.20.

Sistema linear do Problema 4.15

4.21.

Sistema linear do Problema 4.16

4.22.

Sistema linear do Problema 4.17

4.23.

Sistema linear do Problema 4.18

4.24.

Implemente o algoritmo SLGaussSeidel na sua linguagem preferida.

4.25.

Compare o nmero de iteraes utilizadas pelos algoritmos SLGauss-

Jacobi e SLGaussSeidel para resolver ao problemas 4.15 a 4.18 acima com

tol = 0,5 1012 .

4.26.

Modique o algoritmo SLGaussSeidel de modo a empregar o critrio de

parada 2 em vez do critrio 1 (p. 38). Compare nmero de iteraes utilizadas


A=

4.16.

20 5 1
32
A = 2 10 2 , b = 20 .
1 4 10
14

Para vericar a correo da implementao, refaa o Exemplo 4.4.

Nos problemas 4.15 a 4.18 a seguir so dados a matriz A e o vetor b de um


sistema linear Ax = b. Considere o mtodo de Gauss-Jacobi e (a) determine a
matriz C e o vetor d de iterao; (b) determine as primeiras 4 estimativas de
soluo: x(k) , k = 1, . . . , 4; (c) Estime o erro relativo da ltima iterao.

4.15.

4.18.

Para vericar a correo da implementao, refaa o Exemplo 4.2.

4.14.

x(2)

4.17.

2
1

5
A= 2
1

entre esse algoritmo e o original refazendo os problemas 4.15 a 4.18 acima com

1
2

2
5
2

1
5
2 ,b = 1 .
5
9

b=

2
6


.

tol = 0,5 1012 .

CAPTULO 4.

45

SISTEMAS LINEARES

4.30.

Sortidos

4.27.

no

h1 = 2 m e
(2 k 9)

Verique que o sistema linear

2 x1

3 x1

2 x2

6 x2

diagonal dominante.

diagonal dominante

+
+

5 x3
3 x3
2 x3

+
+
+

2 x4
3 x4
2 x4

= 1
= 2
= 3
= 4

No entanto, o sistema pode ser

preservando

reescrito

na forma

a soluo.

Se um sistema linear satisfaz as condies de convergncia, ento o pro-

qualquer

e determine a altura de cada poste.

4.31.

Um modo de encontrar a matriz inversa

ordem

n)

B de uma dada matriz A (de


AB = In ento A [b1 b2 bn ] = [i1 i2 in ], que
equivalente a [Ab1 Ab2 Abn ] = [i1 i2 in ]. Isso equivalente a resoluo
de n sistemas lineares da forma Ab1 = i1 , Ab2 = i2 , . . ., Abn = in , onde bk a
k -sima coluna de B e ik a k -sima coluna de I. Use esse fato para determinar
a 2

a coluna da matriz inversa de

Para vericar esse fato, altere o algoritmo SLGaussJacobi para que ele inicie o

A=

estimativa inicial

processo iterativo a partir de


(a)
(b)
(c)

x(1) = [0 0 0]T .

x(1) = [1 2 n]T .

4.32.

x(1) = [100 100 100]T .

1,3
2,0
6,0
6,2
3,7
5,7

4.29.

tol = 0,5 1012 .

suciente, mas no necessria

para os mtodos iterativos

que vimos.

Determine os valores de
pela

(a) Verique que no sistema abaixo os mtodos GJ e GS geram estimativas con-

10 x1
11 x1

x2
10 x2

=
=

mdia aritmtica

1,5
6,7
6,9
7,2
4,7
5,5

100

100

100

500

T2
T5
T8

T3
T6
T9

500

100

T1
T4
T7

100

100

100

100

500

Tk , (k = 1, . . . , 9),

500
500

sabendo que cada valor

Tk

obtido

dos seus quatro vizinhos: de cima, de baixo, da esquerda

T6 =

T3 + T9 + T5 + 500
.
4

(Esse modelo usado para determinar a distribuio de temperaturas em uma

cilantes (no convergentes).

placa homognea, para mais detalhes ver [2, p. 254] ou [29, p. 11]).

4.33.
x3

x2
+ 2 x2

7,1
6,9
0,8
4,5
4,4
3,5

e da direita. Por exemplo,

17
8

(b) Verique que no sistema abaixo os mtodos GJ e GS geram estimativas os-

x1
x1

x1

0,1
1,9
5,8
0,5
3,6
6,3

100

vergentes.

6,8
0,9
0,3
6,1
6,0
0,1

100
100

A condio de que a matriz dos coecientes se um sistema linear deve ser

diagonal dominante

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

Considere o quadro:

Aplique o algoritmo para resolver o sistema linear do Exemplo 4.3 e compare o


nmero de passos necessrios para se obter a soluo com

tol = 0,5

observar que se

converge para

hk

2hk1 + hk+1
.
3

1012

x(1) .

x(k) = Cx(k1) + d

postes

A altura de cada poste intermedirio

Encontre o sistema linear que modela este problema, resolva-o com

(b) Qual a soluo do sistema linear?

cesso iterativo

h10 = 8 m.

a do ltimo

10

A altura do primeiro poste

a mdia aritmtica ponderada das alturas de seus vizinhos

hk =

(a) Como isso pode ser feito?

4.28.

Um artista plstico deseja fazer uma escultura composta de

verticais colocados lado a lado em um gramado.

3 x3

= 6
= 3
= 9

Em qumica, as quantidades molares dos componentes de uma reao po-

dem ser determinados via resoluo de sistemas lineares. Considere a reao

x1 K2 Cr2 O7 + x2 N a2 C2 O4 + x3 H2 SO4

x4 K2 SO4 + x5 Cr2 (SO4 )3 + x6 N a2 SO4 + x7 H2 O + x8 CO2 .

CAPTULO 4.

46

SISTEMAS LINEARES

Como a quantidade de oxignio nos reagentes deve ser igual quantidade de

onde

oxignio nos produtos, temos

(entre 0 e 2) garante que o mtodo converge mais rapidamente. Observe que

se

= 1,

7x1 + 4x2 + 4x3 = 4x4 + 12x5 + 4x6 + x7 + 2x8 .


Assim temos

uma

equao linear para

x1 , x2 , . . . , x8 .

Como a reao envolve 7

elementos (K, Cr, O, N a, C, H, S ) podemos obter um sistema linear com 7 equaes e 8 incgnitas. Para a

resoluo do sistema linear devemos prescrever o valor

de uma das incgnitas, por exemplo, fazendo

x8 = 1.

(b) Resolva o sistema e encontre as quantidades molares dos componentes da


reao.
No clculo do erro relativo

rel

para vetores, alm da norma-2 denida

em (4.1), outras normas podem ser utilizadas como, por exemplo, a norma-,
denida por

kvk = max {|v1 | , |v2 | , . . . , |vn |} .


Altere o algoritmo ErroRelVet para considerar essa norma. Em seguida refaa o Exemplo 4.3 comparando as diferenas relativas e o nmero de iteraes
utilizadas. Os mtodos so equivalentes?

4.35.

mtodo das diferenas nitas




transforma a equao diferencial ordinria

y 00 + x2 y 0 4xy = 0,
y(0) = 0, y(1) = 5

x [0, 1]

em um sistema de equaes lineares da forma




2 k 2 h3 yk1 4 1 + 2kh3 yk + 2 + k 2 h3 yk+1 = 0
com

k = 1, 2, . . . , (n 1), h = 1/n, y0 = 0

(a) Faa

n = 5,

yn = 5.

e monte o sistema linear associado;

(b) Resolva numericamente o sistema linear;


(c) Compare a soluo numrica com a soluo analtica exata

4.36.

O mtodo denominado

successive overrelaxation

o do mtodo de Gauss-Seidel [6] [8, p. 426].


componente
rior

ui

xi

temos o mtodo Gauss-Seidel usual.

(a) Modique o algoritmo SLGaussSeidel para utilizar o mtodo SOR;


(b) Resolva o sistema linear dado no Exemplo 4.4 usando
usando

entre 0,5 e 1,5;

y(x) = x4 + 4x.

(SOR) uma generaliza-

Nessa generalizao, cada nova

calculada a partir da mdia ponderada entre a estimativa ante-

e a estimativa calculada pelo mtodo de Gauss-Seidel. A implementao

pode ser feita reescrevendo a linha 19 do algoritmo SLGaussSeidel:

xi (Ci,: x + di ) + (1 )ui ,

tol = 0,5 1015

min para o qual a soluo obtida com menor nmero


Observao: O ponto fraco do mtodo que, com exceo de
casos especiais, o valor timo min no pode ser conhecido antecipadamente.

(c) Determine o valor de

(a) Obtenha as demais equaes do sistema linear correspondente a reao.

4.34.

o parmetro de relaxao. Sob certas condies, a escolha do valor de

de iteraes.

Captulo 5

Interpolao
5.1 Denio do problema
Seja

f :RR

uma funo conhecida apenas por um conjunto nito de

valores, isto ,

y1 = f (x1 ),
onde

y2 = f (x2 ),

x1 < x 2 < . . . < x n .

...,

yn = f (xn ),

interpolao consiste em
funo de interpolao g

O problema da

terminar a expresso algbrica de uma

detal

que

g(x1 ) = f (x1 ),

g(x2 ) = f (x2 ),

...,

g(xn ) = f (xn ).

Em geral, a funo de interpolao usada para estimar o valor de

f (u) g(u)

v =

u
/ {x1 , x2 , . . . , xn } e x1 < u < xn . A Figura 5.1
(x1 , y1 ), (x2 , y2 ), . . . , (xn ,yn ) ditos nodos de interpolao,

quando

mostra os pontos

uma curva (polinomial) de interpolao e um ponto interpolado.


Basicamente, as funes de interpolao podem ser divididas em dois
grupos:

Funes denidas por


todo o intervalo

uma nica

[x1 , xn ].

expresso algbrica denida para

Por exemplo, funes polinomiais ou racio-

nais.

Funes denidas por


cada subintervalo

Figura 5.1:

mais de uma expresso algbrica denidas para

[x1 , x2 ], [x2 , x3 ], . . ., [xn1 , xn ].

de funes denidas por partes. Por exemplo,


polinomiais de grau 1) ou

spline

Tambm chamadas

spline

linear (funes

cbico (funes polinomiais de grau

3).
47

A curva de interpolao passa sobre os nodos de interpolao.

CAPTULO 5.

48

INTERPOLAO

s vezes, h o interesse na interpolao, mesmo quando a funo


conhecida em todo o intervalo

[x1 , xn ].

o caso da integrao numrica

A matriz

descrita acima denominada

terpolador (5.2).

que veremos no Captulo 7.


Neste captulo veremos mtodos de interpolao por funo polinomial
(Vandermonde e Lagrange) e por

spline

cbico.

Exemplo 5.1. Considere a funo f conhecida nos nodos (x, y) dados


na tabela a seguir.

5.2 Mtodo de Vandermonde


O mtodo de Vandermonde

1 consiste em determinar um

polinmio in-

terpolador p que passe por todos os n nodos de interpolao, isto ,


p(x1 ) = y1 ,

p(x2 ) = y2 ,

...,

p(xn ) = yn .

(5.1)

Pode-se mostrar [10, p. 196] que existe um polinmio que satisfaz as condies dadas em (5.1) com grau

dem de interpolao.
c0 , c1 , . . . , cn1

m n 1.

O valor

n1

dito

p(x1 ) = cn1 xn1


+

p(x2 ) = cn1 xn1 +


2
.
.
.

.
.
.

incgnitas

+ c1 x1
+ c1 x2

X=

(5.2)

0,0
1,0
4,0
6,0

1,0
2,3
2,2
3,7

2. Use o polinmio para estimar o valor de v = f (5).

.
.
.

.
.
.

.
.
.

.
.
.

+ c2 x2n + c1 xn + c0 = yn
(5.3)

cn1 , . . . , c2 , c1 , c0 .

xn1
1
xn1
2
.
.
.

xn1
n

x21
x22
.
.
.

.
.
.

x2n

xn

Ver nota biogrca na p. 12

x1
x2

Soluo:

Como

n = 4,

o polinmio interpolador da forma

p(x) = c3 x3 + c2 x2 + c1 x + c0

+ c0 = y1
+ c0 = y2

Xc = y correspondente


0
0 0 1
c3
1


1 1 1

c2
64 16 4 1 c1 =
216 36 6 1
c0

e o sistema linear

1,0
2,3
,
2,2
3,7

cuja soluo (obtida pelo mtodo do escalonamento, ver Captulo 4)

O sistema linear (5.3) pode ser escrito na forma matricial

1. Encontre o polinmio p interpolador aos nodos dados.

equaes lineares

+ c2 x21
+ c2 x22

p(xn ) = cn1 xn1


+
n
n

do polinmio

De (5.1) e (5.2) obtemos o sistema de

nas

or-

Desse modo, deve-se determinar os coecientes

pn1 (x) = cn1 xn1 + cn2 xn2 + + c2 x2 + c1 x + c0 .

matriz de Vandermonde.

A soluo do sistema linear (5.3) fornece os coecientes do polinmio in-

cn1

1
..
.
1

. , c = c2
.

.
c1
1
c0

Xc = y

y1

y2

, y = .. .

yn

com

0,0817
0,7417

c=
1,9600 .
1,0000
Assim, o polinmio interpolador

p(x) = 0,0817x3 0,7417x2 + 1,9600x + 1,0000.

(5.4)

CAPTULO 5.

O valor de

49

INTERPOLAO

v = f (5)

estimado por

p(5) = 2,4667.

A Figura 5.1 mostra

os nodos de interpolao, o grco do polinmio interpolador


interpolado

5.3 Mtodo de Lagrange

e o ponto

(u,v).

O objetivo do mtodo de Lagrange


interpolador

Usando o Matlab

os

coecientes

conjunto de

do seguinte modo:

>> x = [0; 1; 4; 6];


>> y = [1.0; 2.3; 2.2;
>> X = MVander(x,3)
X =
0
0
0
1
1
1
64
16
4
216
36
6
>> c = SLGauss(X, y)
c =
0.0817
-0.7417
1.9600
1.0000
>> v = VPol(c,5)
v =
2.4667

3.7];
1
1
1
1

valor

do polinmio

=
=

construmos um

(x x2 )(x x3 )(x x4 ) (x xn )
(x1 x2 )(x1 x3 )(x1 x4 ) (x1 xn )
(x x1 )(x x3 )(x x4 ) (x xn )
(x2 x1 )(x2 x3 )(x2 x4 ) (x2 xn )
(x x1 )(x x2 )(x x4 ) (x xn )
(x3 x1 )(x3 x2 )(x3 x4 ) (x3 xn )

(x x1 )(x x2 )(x x3 ) (x xn1 )


(xn x1 )(xn x2 )(xn x3 ) (xn xn1 )
n
Y

Li (x) =

j=1,j6=i

x xj
,
xi xj

i = 1, . . . , n.

A Figura 5.2 ilustra a propriedade bsica dos polinmios auxiliares:


Li (xj ) =

na interpolao de polinmios de grau elevado: a matriz

valores

como no mtodo de Lagrange, discutido a seguir.

Observemos que para um conjunto de

n nodos, o polinmio interpolador

raro, mas pode ocorrer que o polinmio

interpolador tenha grau menor que

n1

como mostra o Problema 5.5.

base

no es-

Assim o polinmio interpolador

p(x) = y1 L1 (x) + y2 L2 (x) + + yn Ln (x)


n
X
=
yi Li (x),

pode torna-se

do polinmio sem calcular seus

n1.

pode ser obtido pela combinao linear

o que ocasiona erros na determinao dos coecientes

tornar esse problema calcular os

1, i = j
.
0, i =
6 j

Pode-se mostrar que os polinmios auxiliares formam uma


pao vetorial dos polinmios de grau

do polinmio interpolador (veja o Problema 5.28). Uma maneira de con-

grau mximo (ordem) n1.

p.

ou seja,

Apesar de conceitualmente simples, o mtodo pode se tornar impreciso

ter

v,

sem necessidade de determinar previamente

x1 < x2 < . . . < xn


n polinmios auxiliares Li dados por

algoritmo deixada como exerccio (veja o Problema 5.3).

coecientes

de

L1 (x)

L2 (x)

L3 (x)

L (x)

O mtodo de Vandermonde bastante simples. A implementao do

mal-condicionada

u,

na abcissa

Dados as abscissas dos nodos

Se os algoritmos MVander (p. 12), VPol (p. 12)

e SLGauss (p. 37) j foram implementados, o Exemplo 5.1 pode ser resolvido

2 determinar

i=1
2

Joseph-Louis

Lagrange (1736 - 1813), matemtico francs, nascido italiano. De-

senvolveu consideravelmente o campo da anlise, da teoria dos nmeros e da mecnica


celeste. O mtodo de interpolao que leva seu nome foi descrito em

res sur les mathmatiques donnes a l'cole normale em 1795.

Leons lmentai-

Aparentemente Lagrange

desconhecia que o mesmo mtodo tenha sido antecipado por Edward Waring em 1779 e
por Leonhard Euler em 1783 [38, 31].

CAPTULO 5.

50

INTERPOLAO

Algoritmo 14 ILagrange
entrada : x, y, u
sada : v
Inicializao
1:
2:
3:

Figura 5.2:

4:
5:

Polinmios auxiliares.

n tamanho de x
m tamanho de u
v Zeros(m, 1)

Interpolao
para k 1 : m
s 0

para i 1 : n

6:
onde as ordenadas

yi

dos nodos so os coecientes da combinao.

p(x) =

yi

i=1
O valor

v = f (u) p(u)

O algoritmo

ILagrange

n
Y
j=1,j6=i

9:
10:

x xj
xi xj

estimado substituindo-se

(5.5)

por

em (5.5).

sistematiza a interpolao pelo mtodo de La-

grange.

5.3.1 Frmulas para 2 e 4 nodos


Existem dois casos particulares de (5.5) que so muito teis e merecem
destaque. Para

n=2

nodos temos

v 2 = y1

u x2
u x1
+ y2
,
x1 x2
x2 x1

para j 1 : n
se j 6= i ento

8:

Finalmente, o polinmio interpolador obtido por

n
X

p yi

7:

(5.6)

11:

m

p p (uk xj )/(xi xj )

12:

m

13:

s s + p

14:

m

15:

vk s

16:

m

CAPTULO 5.

conhecida como frmula de


Para

n=4

51

INTERPOLAO

interpolao linear

(pois

Assim, substituindo os valores tabelados obtemos

tem grau 1).

temos

(5,0 1,0)(5,0 4,0)(5,0 6,0)


+
(0,0 1,0)(0,0 4,0)(0,0 6,0)
(5,0 0,0)(5,0 4,0)(5,0 6,0)
+
2,3
(1,0 0,0)(1,0 4,0)(1,0 6,0)
(5,0 0,0)(5,0 1,0)(5,0 6,0)
+
2,2
(4,0 0,0)(4,0 1,0)(4,0 6,0)
(5,0 0,0)(5,0 1,0)(5,0 4,0)
3,7
,
(6,0 0,0)(6,0 1,0)(6,0 4,0)

p(5) =1,0

(u x1 )(u x3 )(u x4 )
(u x2 )(u x3 )(u x4 )
+ y2
+
(x1 x2 )(x1 x3 )(x1 x4 )
(x2 x1 )(x2 x3 )(x2 x4 )
(u x1 )(u x2 )(u x4 )
(u x1 )(u x2 )(u x3 )
y3
+ y4
,
(x3 x1 )(x3 x2 )(x3 x4 )
(x4 x1 )(x4 x2 )(x4 x3 )

v4 =y1

(5.7)

conhecida como frmula de

Importante: Ao usar
nodos mais prximos de u.
cutivos

x1

x2

interpolao cbica

(pois

tem grau 3).

as frmulas (5.6) e (5.7) deve-se escolher os

que resulta em

Em geral, isso signica escolher nodos conse-

p(5) = 0,1667 0,7667 + 1,8333 + 1,2333

tais que

= 2,4667,

x1 < u < x 2
ou nodos consecutivos

x1 , x2 , x3

x4

que, como era de se esperar, corresponde ao mesmo valor obtido no Exem-

tais que

plo 5.1.

x1 < x2 < u < x3 < x4 .

Exemplo 5.2. Reconsidere a funo f do Exemplo 5.1. Use o mtodo


de Lagrange com 2 e 4 nodos para estimar o valor de v = f (5).

Soluo:

Para

n = 2,

usamos (5.6) com

x1 = 4,0

x2 = 6,0.

Assim,

5.3.2 Erro na interpolao polinomial


v = f (u) por v = p(u) na interpolao polinomial? Por denio, o erro  = v v
= p(u)f (u) somente pode
ser obtido se conhecemos o valor exato de v
= f (u) o que, usualmente,
Qual o erro cometido ao se aproximar

desconhecido.

substituindo os valores tabelados obtemos

v2 = 2,2

Existem frmulas para

5,0 6,0
5,0 4,0
+ 3,7
,
4,0 6,0
6,0 4,0

tantes) das derivadas de

[8, p. 106 e

f.

Uma alternativa utilizada usualmente veri-

de nodos de interpolao. Veja o Problema 5.13.

v2 = 1,10 + 1,85

Se os nodos de interpolao so igualmente espaados, o erro na in-

= 2,95.

terpolao polinomial menor se


nodos.

n = 4,

o valor mximo do erro

car a diferena relativa dos valores interpolados com quantidades crescentes

que resulta em

Para

estimar

p. 148], mas essas frmulas necessitam de estimativas para as cotas (limi-

usamos (5.7) com

x1 = 0,0, x2 = 1,0, x3 = 4,0

x4 = 6,0.

No entanto, se

est na

regio central

do conjunto de

se afasta da regio central o polinmio tente a

oscilar violentamente e erro tende a aumentar com o grau do polinmio


interpolador . Esse problema, ilustrado na Figura 5.3, conhecido como

fenmeno de Runge 3 .
3

Ver nota biogrca na p. 89

CAPTULO 5.

52

INTERPOLAO

5.4 Mtodo do spline cbico


spline 4 ligar os nodos de interpolao por segmentos de retas (no caso do spline linear) ou segmentos
curvos (no caso do spline cbico). A Figura 5.4 mostra a interpolao por
spline linear e cbico aos nodos do Exemplo 5.1.
A ideia fundamental da interpolao por

Figura 5.3:

Erro na interpolao polinomial.

Para diminuir a oscilao nas regies no centrais pode-se diminuir o


espaamento dos nodos nessas regies, o que leva ao mtodo de Chebyshev
[30, p. 237].
Outro modo de evitar essa oscilao, usar um polinmio de grau

Figura 5.4:

baixo (1 ou 3, usualmente) para cada intervalo entre nodos (denominado

spline ) que veremos na seo seguinte.


por

spline

Interpolao por

spline

linear e cbico.

De um modo geral, a interpolao

mais convel que a interpolao polinomial, a menos que o

O termo

spline

pode ser rastreado at o sculo 18, mas pelo nal do sculo 19 foi

valor a ser interpolado que na regio central dos nodos de interpolao

utilizado para se referir a uma rgua exvel de madeira ou borracha dura usada por

(como mostra o Problema 5.20). Na interpolao pelo mtodo de Lagrange,

desenhistas para projetar curvas interpoladoras grandes. Tais

mesmo com um tabela de muitos valores, costume utilizar 2, 4 ou 6 nodos


simtricos ao ponto de interpolao.

splines

mecnicas foram

usadas, por exemplo, para desenhar as curvas necessrias na fabricao de sees de


cascos de navios. Pregos ou pesos eram colocados sobre a rgua para for-la a passar
por nodos determinados. A parte livre assume uma geometria tal que minimiza a energia
potencial de exo [31].

CAPTULO 5.

53

INTERPOLAO

5.4.1 Denio e propriedades


Um

spline

mk = s00k (xk ) .

(5.16)

cbico uma funo denida por partes,

S(x) =

s1 (x),

s2 (x),

..
.

sk (x),
xk x < xk+1

sn1 (x), xn1 x < xn

De modo que, em cada intervalo


cbico

O termo

x1 x < x2
x2 x < x3

xk x < xk+1 ,

do

(5.8)

suavidade.

spline

A deduo dos coecientes

denido um polinmio

s00k (x)

(5.9)

k = 1, . . . , n 1,

yk+1 , k = 1, . . . , n 1.

so sua

Usando (5.16) e fazendo

s0k+1 (xk+1 ),

s00k (xk+1 ) =

s00k+1 (xk+1 ),

dk ,

inicia aplicando (5.10) em

k = 1, . . . , n 1,

(5.17)

(5.18)

x = xk
mk
,
2

em (5.19) obtemos

mk = 2bk .

(5.19)

Assim

k = 1, . . . , n 1,

(5.20)

(5.11)

Aplicando a condio (5.13) em (5.19) obtemos

6ak (xk+1 xk ) + 2bk = 6ak+1 (xk+1 xk+1 ) + 2bk+1

k = 1, . . . , n 2,
k = 1, . . . , n 2.

Devemos encontrar, ento, um conjunto de coecientes

(5.10)

Enquanto a condio de suavidade estabelecida por

s0k (xk+1 ) =

ak , bk , ck

= 6ak (x xk ) + 2bk .

bk =

sk (xk+1 ) =

a incli-

s0k (x) = 3ak (x xk )2 + 2bk (x xk ) + ck ,

A condio de continuidade estabelecida

yk ,

pk

a concavidade

Diferenciando (5.9) obtemos

por

sk (xk ) =

mk

interpolador em cada nodo.

dk = yk ,

As duas propriedades fundamentais da curva interpoladora


e sua

a distncia entre duas abscissas consecutivas,

(5.9) obtendo

sk (x) = ak (x xk )3 + bk (x xk )2 + ck (x xk ) + dk .

continuidade

hk

nao da reta que passa por dois nodos consecutivos e

6ak (xk+1 xk ) + 2bk = 2bk+1

(5.12)
(5.13)

e usando (5.14) e (5.20) obtemos

ak , bk , ck , dk

tais

6ak hk + mk = mk+1 ,

que a funo (5.9) satisfaa as condies (5.10 a 5.13).


portanto

5.4.2 Deduo dos coecientes

ak =

Inicialmente, algumas denies teis:

hk = xk+1 xk ,

(5.14)

yk+1 yk
pk =
,
hk

(5.15)

mk+1 mk
,
6hk

k = 1, . . . , n 1,

Agora, aplicando a condio (5.13) em (5.9) obtemos

ak (xk+1 xk )3 + bk (xk+1 xk )2 + ck (xk+1 xk ) + dk = yk+1


ak h3k + bk h2k + ck hk + dk = yk+1

(5.21)

CAPTULO 5.

54

INTERPOLAO

Substituindo-se

ak , bk

dk

pelas expresses j determinadas obtemos

mk+1 mk 3 mk 2
hk +
h + ck hk + yk = yk+1
6hk
2 k
mk+1 mk
mk
yk+1 yk
hk +
hk + ck =
6
2
hk
(2mk + mk+1 )hk
yk+1 yk

.
ck =
hk
6
Usando (5.15) obtemos

ck = pk

(2mk + mk+1 )hk


,
6

Observe que os coecientes

ak , bk , ck

hk , pk (conhecidos) e mk (desconhecido).
mk aplicamos a condio (5.12) em (5.18)

k = 1, . . . , n 1,
dk

do denominado

Hm = P,
com

1
h1
0

0
0
0

0
2(h1 + h2 )
h2

Para determinar os valores de


e obtemos

ak , bk , ck

ck+1

A equao (5.23) representa um sistema linear

m1 = 0

mn = 0,

0
6(p2 p1 )
6(p3 p2 )

.
.
P=
.

6(pn2 pn3 )

6(pn1 pn2 )
0

spline

o seguinte

subdeterminado

pois

Usar (5.14) e (5.15) para encontrar


Construir a matriz

e o vetor

para encontrar os valores de

mk .

hk

pk .

e resolver o sistema linear (5.24)

Observe que a matriz

diagonal

dominante e pode ser resolvida ecientemente pelo mtodo de GaussSeidel.

(5.23)

incgnitas (m1 , . . . , mn ). Para tornar o sistema

condies de contorno

k = 1, . . . , n 2,

determinado devemos xar duas condies extras, ditas condies


de contorno. H muitas maneiras de xar as condies de contorno, cada
uma delas levando a um spline distinto (ver Problema 5.23). Usando as

linear

0
0
0

0
hn1
1

obtemos

hk mk + 2(hk + hk+1 )mk+1 + hk+1 mk+2 = 6(pk+1 pk ),

equaes e

hn2
2(hn2 + hn1 )
0

O procedimento para a obteno dos coecientes do


e

que aps as devidas simplicaes resulta em

n2

2(hn3 + hn2 )
hn2
0

+ 2bk hk + ck = ck+1

(2mk + mk+1 )hk


(2mk+1 + mk+2 )hk+1
mk+1 mk 2
mk
hk + 2
hk + pk
= pk+1
,
6hk
2
6
6

temos

0
h3

hn3
0

5.4.3 Determinao do spline

= 3ak+1 (xk+1 xk+1 )2 + 2bk+1 (xk+1 xk+1 ) + ck+1


Substituindo-se as expresses para

m1
m2
m3

.
.
m=
.

mn2

mn1
mn

s0k (xk+1 ) = s0k+1 (xk+1 )

3ak h2k

0
h2
2(h2 + h3 )

yk ,

3ak (xk+1 xk )2 + 2bk (xk+1 xk ) + ck =

(5.24)

H=

(5.22)

so dados em termos de

spline natural, obtemos o sistema linear

Usar (5.21), (5.20), (5.22) e (5.17) para encontrar

ak , bk , ck

dk .

Exemplo 5.3. Encontre o spline cbico que interpola os nodos dados


no Exemplo 5.1. Em seguida, use o spline obtido para estimar o valor
de v = f (5).

CAPTULO 5.

Soluo:

55

INTERPOLAO

Usando (5.14) e (5.15) encontramos os valores de

hk

1,0

1,3000

3,0

-0,0333

2,0

0,7500

hk

pk :

pk

Para estimar o valor de

1
1
H=
0
0

0
8
3
0

0
3
10
0

P:

valores

Usando o Matlab

>> x
>> y
>> u
>> v
v =
e
e

spline

cbico

y.

y.

spline:

m3 = 0,8676
ak , bk , ck

determina os coecientes do

ISpline3 determina as ordenadas v para um conjunto de


u usando a interpolao por spline cbico natural a um conjunto

de nodos

isto ,

Determinamos, em seguida, os valores de

pertence ao

O algoritmo

0,00
8,00

P=
4,70
0,00

Hm = P, obtemos:

0,0000
1,3254

m=
0,8676 ,
0,0000

m2 = 1,3254;

CoefSpline3

(natural) interpolador a partir do conjunto de nodos

Resolvendo o sistema linear

m1 = 0,0000;

u=5

2,7331

e o vetor

0
0
,
2
1

notamos que

v 0,0723(5 4)3 + 0,4338(5 4)2 + 0,1716(5 4) + 2,2000

O algoritmo
Em seguida, determinamos a matriz

v = f (5),

terceiro intervalo, portanto

m4 = 0,0000.

=
=
=
=

A interpolao por spline pode ser feita com o comando

[0; 1; 4; 6];
[1.0; 2.3; 2.2; 3.7];
5;
spline(x, y, u)

2.4667

Esse comando retorna os valores

dk :

vi = S(ui ) para o conjunto de nodos x e y .

Os

valores calculados pelo Matlab diferem dos calculados pelo algoritmo ISpline3
pois as condies de contorno so diferentes.

O comando

spline

usa, por

ak

bk

ck

dk

-0,2209

0,0000

1,5209

1,0000

impe restries de continuidade tambm a

0,1218

-0,6627

0,8582

2,3000

Para conjuntos de 3 ou 4 nodos, os valores do spline interpolador coincidem com

-0,0723

0,4338

0,1716

2,2000

o do polinmio interpolador. Outros tipos de interpolao esto disponveis no

padro, as condies de contorno denominadas not-a-knot (nenhum-n) que

S 000 (x)

em

x2

xn1

[8, p. 148].

Spline Toolbox.
Portanto, o

spline

interpolador dado por

S(x) =

3
2
0,2209(x 0) + 0,0000(x 0) + 1,5209(x 0) + 1,0000,
3
0,1218(x 1) 0,6627(x 1)2 + 0,8582(x 1) + 2,3000,

0,0723(x 4)3 + 0,4338(x 4)2 + 0,1716(x 4) + 2,2000,

0x1
1x4 ,
4x6
(5.25)

e seu grco mostrado na Figura 5.4.

5.5 Problemas
Mtodo de Vandermonde
Use o mtodo de Vandermonde e determine o polinmio interpolador aos nodos
dados nos problemas 5.1 e 5.2.

CAPTULO 5.

56

INTERPOLAO

Algoritmo 15 CoefSpline3
entrada : x, y
sada : C
Determinao de h e p
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:

n tamanho de x
h Zeros(n 1, 1)
p Zeros(n 1, 1)
para k 1 : n 1
hk xk+1 xk
pk (yk+1 yk )/hk

m
Determinao de H, P e m
H Zeros(n, n)
P Zeros(n, 1)
H1,1 1
P1 0
para k 2 : n 1
Hk,k1 hk1
Hk,k 2(hk1 + hk )
Hk,k+1 hk
Pk 6(pk pk1 )

m

Hn,n 1
Pn 0
m SLGaussSeidel(H; P; 0,5 1012 ; 100)

Determinao dos coecientes


C Zeros(n 1, 4)
para k 1 : n 1

24:
25:
26:
27:

m

Ck,1
Ck,2
Ck,3
Ck,4

(mk+1 mk )/(6hk )
mk /2
pk ((2mk + mk+1 ) hk )/6
yk

Algoritmo 16 ISpline3
entrada : x, y, u
sada : v
Determina coecientes
1:
C CoefSpline3(x, y)
Interpolao
2:
3:
4:
5:

n tamanho de x
r tamanho de u
v Zeros(r, 1)
para i 1 : r

Determina intervalo
k 1

6:

enquanto ui > xk+1 e k < n 1

7:

k k + 1

8:

m
Determina ordenada

9:
10:
11:
12:

m

t ui xk
vi ((Ck,1 t + Ck,2 )t + Ck,3 )t + Ck,4

CAPTULO 5.

5.1.

Mtodo de Lagrange

.
x
y

5.2.

5.3.

57

INTERPOLAO

5.6.

. Use
v = f (12) aos

3
2

o mtodo de Lagrange com 2 e 4 nodos para interpolar o valor


nodos dados a seguir. Use as equaes (5.6) e (5.7).

-1

-1

5.7.

35

41

81

89

13

15

19

20

27

60

A tabela a seguir mostra a populao brasileira

p,

em milhes de habi-

tantes, levantada em censos demogrcos [12]. Use o mtodo de Lagrange com 2

Implemente os algoritmos MVander (p. 12), SLGauss (p. 37) e VPol

e 4 nodos para estimar a populao do Brasil no ano se seu nascimento.

(p. 12) na sua linguagem preferida. Em seguida, una todos em um s algoritmo

[c, v] = IVander(x,y,u).

Para vericar a correo da implementao, refaa

o Exemplo 5.1.

5.4.

p (106

A tabela a seguir fornece alguns valores da funo

Erfc(x).

Erro Complementar

(a) Determine o polinmio interpolador ao conjunto de nodos dados.

(b) Estime o valor de

Erfc(0,5).

(use o comando

do Matlab).

erfc

5.8.

1950

1960

1970

1980

1991

2000

2010

51,9

71,0

94,5

121,1

146,9

169,6

190,8

hab.)

Reconsidere a equao (5.6). Mostre que se

(c) Compare o valor estimado com o valor exato

v2 =
x

5.5.

(anos)

5.9.

Erfc(x)

u = 12 (x2 + x3 )

1,0000

0,2

0,7773

0,4

0,5716

0,6

0,3961

0,8

0,2579

5.10.

1,0

0,1573

os nodos dados no Problema 5.4.

v4 =

Use o mtodo de Vandermonde e determine o polinmio interpolador aos

5.11.

x1 , x2 , x3 e x4 so igualmente

ento

0,0

ento

y1 + y2
.
2

Reconsidere a equao (5.7). Mostre que se

espaados e

u = 12 (x1 + x2 )

y1 + 9 y2 + 9 y3 y4
.
16

Use as frmulas dos Problemas 5.8 e 5.9 para estimar

Erfc(0,5)

usando

Implemente o algoritmo ILagrange na sua linguagem preferida. Para

vericar a correo da implementao, refaa o Exemplo 5.2.

nodos dados a seguir.

-1

-5

-32

O polinmio deveria ter grau

5 1 = 4,

5.12.

A tabela a seguir fornece alguns valores da funo

no? O que houve? Desenhe em uma

mesma gura os nodos e o polinmio interpolador.

f (x) =

16

25

36

49

64

81

100

f (x)

10

x.

Use o mtodo de Lagrange com 2, 4 e 6 nodos simtricos para estimar o valor de

53.

Compare os resultados com o valor exato dado pelo comando

Matlab.

sqrt(53)

do

CAPTULO 5.

5.13.

58

INTERPOLAO

A tabela a seguir fornece alguns valores da funo de

ordem, J0 (x).

Bessel de primeira

(b) Determine os valores de

5.15.
k

xk

J0 (xk )

0,0

1,0000

0,5

0,9385

1,0

0,7652

1,5

0,5118

2,0

0,2239

2,5

-0,0484

3,0

-0,2601

3,5

-0,3801

4,0

-0,3971

Um

spline

S(2,5)

S(6,0).

cbico natural interpolador aos nodos

por


S(x) =

v2 , v4

Utilize as propriedades de continuidade, suavidade e condies de contorno do

v6 , os valores do polinmio interpolador com 2, 4 e 6 nodos de


a 1,75, isto , calculados em {x4 , x5 }, {x3 , x4 , x5 , x6 }
e {x2 , x3 , x4 , x5 , x6 , x7 }. Determine os erros relativos entre esses valores aproximados e o valor exato de J0 (1,75).

interpolao

(b) Calcule

simtricos

w2 , w4

w6 ,

nodos de interpolao

spline

e encontre os valores de

5.16.

a, b

c.

Considere a tabela de valores a seguir:

{x4 , x5 , x6 , x7 }

1,75,

{x4 , x5 , x6 , x7 , x8 , x9 }.

isto , calculados em

{x4 , x5 },

Determine os erros relativos entre

esses valores aproximados e o valor exato de

J0 (1,75).

(c) O que se pode concluir a respeito do efeito da simetria dos nodos de interpolao?

5.17.

resolver

H e o vetor P do mtodo do spline cbico.

o sistema.

Reconsidere o Problema 5.16. A soluo do sistema

Hm = P

0,00
1,91

m=
2,73 .
0,00

spline

Encontre a expresso algbrica do

5.18.

interpolador.

Implemente os algoritmos CoefSpline3 e ISpline3 na sua linguagem

preferida. Para vericar a correo da implementao, refaa o Exemplo 5.3.

5.19.

A tabela de valores a seguir mostra a emisso de luz

funo da potncia

Mtodo do Spline Cbico

5.14.

No necessrio

os valores do polinmio interpolador com 2, 4 e 6

no-simtricos

dado

(x 1)3 + 2(x 1) + 1,
1x2
a(x 2)3 + b(x 2)2 + c(x 2) + 2, 2 x 3

A partir dos dados, determine a matriz


(a) Calcule

x = {1, 2, 3}

(em lmens) em

(em watts) fornecida a uma lmpada incandescente comum

[14]:

Aplicando a tcnica de interpolao por

spline

aos valores da tabela

(a) Encontre o

spline

P (W )

51

55

58

60

E(lm)

607

704

795

864

interpolador ao conjunto de dados.

(b) Determine a emisso de luz esperada para a potncia de 57 W.

5.20.

obtemos os seguintes coecientes (aproximados)

a1 = 0,48
a2 = 0,33
a3 = 0,09

b1 = 0,00
b2 = 1,43
b3 = 0,55

(a) Escreva a expresso algbrica do

c1 = 3,48
c2 = 2,05
c3 = 0,27

d1 = 2,00
d2 = 5,00
d3 = 6,00.

Os valores tabelados no Exemplo 5.1 referem-se a funo

1
f (x) = 1 + x + sen(x).
2
As expresses para o polinmio interpolador p(x) e para o spline interpolador S(x)
foram dadas nas equaes (5.4) e (5.25), respectivamente. Desenhe, na mesma

spline.

gura, os grcos das funes erro

Ep (x) = p(x) f (x)

ES (x) = S(x) f (x).

CAPTULO 5.

59

INTERPOLAO

5.24.

Sortidos

5.21.

Modique o algoritmo CoefSpline3 para utilizar as condies de con-

spline cbico restrito

torno do
A tabela a seguir, adaptada de [8, p. 115], mostra o peso

colnia de larvas da mariposa

w (em mg) de uma

Operophtera Bromata L. Geometridae

em uma estufa em funo do tempo

cultivadas

(em dias).

5.25.

(dias)

(mg)

6,67

17,33

10

42,67

13

37,33

17

30,10

20

29,31

28

28,74

5.26.

(a) Desenhe o grco dos nodos de interpolao juntamente com o

spline

spline

D = 0,0.

spline cbico peridico

y1 = yn , xa tambm:
 0
s1 (x1 ) = s0n1 (xn )
s001 (x1 ) = s00n1 (xn )

Mostre que as condies acima levam a

polinmio

interpolador. Qual curva apresenta comportamento

2h1 m1 + h1 m2 + hn1 mn1 + 2hn1 mn


m1 mn

= 6(p1 pn1 )
= 0

Modique o algoritmo CoefSpline3 para utilizar as condies de con-

torno do

interpolador e o

E = 0,5

Outras condies de contorno possveis so as do

em que, alm da igualdade

mostradas no problema anterior. Desenhe o

interpolador aos nodos dados no Problema 5.21 com

spline cbico peridico

mostradas no problema anterior.

SLGauss para resolver o sistema linear

Hm = P

Ateno : Use
H no

pois, agora, a matriz

mais diagonal-dominante. Determine o spline interpolador aos nodos:

mais plausvel?
(b) Encontre o peso mximo da colnia determinando o ponto de mximo do

spline

5.22.

interpolador.

menor

de operaes aritmticas.

modicando os algoritmos envolvidos para incluir


mticas elementares (+,

, , ).

manho 3 a 20 e determine o
problema com

cada

nmero

contadores

Verique isso,

de operaes arit-

Gere conjuntos de nodos aleatrios de tade operaes efetuadas para resolver

cada

mtodo. Faa um grco do nmero de operaes em funo

do tamanho dos conjuntos de dados.

Sugesto: Use os resultados obtidos nos

problemas 1.35 e 4.10.

3
2

-1

Alm das condies de contorno do

spline

cbico

spline cbico natural, outras conrestrito que xa as inclinaes do

no primeiro e no ltimo nodo:

s01 (x1 )
=
s0n1 (xn ) =

E
D

Mostre que as condies acima levam a

Desenhe, no mesmo sistema de coordenadas, os nodos de interpolao, o spline


peridico e a funo

5.27.

g(x) = sen(x).

A tabela seguinte usada para determinar a expectativa de vida de ho-

mens e mulheres brasileiros a partir da sua idade no ano-base de 2010 [13]. Por
exemplo, uma mulher que tinha 20 anos de idade em 2010, tinha esperana de
viver

mais

59,29 anos, isto , sua expectativa de vida de 79,29 anos. Para idades

intermedirias, deve-se interpolar os valores.

dies muito utilizadas so as do

spline

Uma das justicativas da preferncia do mtodo de Lagrange sobre o de

Vandermonde a quantidade

5.23.

2h1 m1 + h1 m2
hn1 mn1 + 2hn1 mn

= 6(p1 E)
= 6(D pn1 )

CAPTULO 5.

60

INTERPOLAO

Idade

Homem

Mulher

69,73

77,32

66,88

74,01

10

62,00

69,09

15

57,12

64,16

20

52,55

59,29

25

48,19

54,46

30

43,81

49,66

35

39,45

44,90

40

35,15

40,22

45

30,97

35,66

50

26,97

31,25

55

23,16

27,00

60

19,63

22,97

65

16,37

19,19

70

13,43

15,71

75

10,96

12,63

80

9,01

10,06

(monotnica, por exemplo), o processo o mesmo da interpolao de Lagrange


convencional apenas trocando os nodos de interpolao
no Problema 5.13.

(a) Determine a expectativa de vida de um

homem, que em 2010 tinha 22 anos.

(b) Determine a expectativa de vida de uma

mulher, que em 2010 tinha 48 anos.

(c) Determine a

5.28.

sua

expectativa de vida.

O mtodo de Vandermonde pode tornar-se instvel quando o tamanho

do sistema linear envolvido torna-se elevado ou quando a matriz de coecientes


possui valores muito discrepantes entre si. Nesses casos, o mtodo de Lagrange
recomendado. Para vericar isso faa o seguinte:
(a) Reconsidere os dados mostrados no Problema 5.7.
mtodo de Vandermonde para encontrar

data de nascimento.

pV

Use

todos

os nodos e o

a populao brasileira na sua

[Se voc nasceu em um ano correspondente a um nodo,

use um valor intermedirio.]

pL .

(b) Repita o procedimento usando o mtodo de Lagrange e encontre


(c) Determine a diferena relativa entre

pV

pL .

Quantos so os DSE?

(d) Uma maneira de evitar essa diferena de valores consiste em redimensionar os


valores das abscissas dos nodos. Repita os itens anteriores usando
Os valores de

5.29.

pV

pL

t0 =

t1950
10 .

cam mais prximos? Quanto?

interpolao inversa

consiste em determinar um valor de

abscissas a partir de um valor de

por

com 2, 4 e 6 nodos simtricos e determine estimativas para o

no eixo da

no eixo das ordenadas. Se a funo inversvel

y.

Use essa tcnica

zero

da funo dada

Captulo 6

Ajuste de funes
6.1 Denio do problema
n nodos (x1 , y1 ), (x2 , y2 ), . . . , (xn , yn ) e uma
funo de ajuste f : R R determinada por um conjunto de parmetros = {0 , 1 , . . . , m }. O problema do ajuste de funes consiste em

Considere um conjunto de

determinar os valores dos parmetros


nida pela funo de ajuste

que fazem com que a curva de-

passe o mais perto possvel dos nodos. Por

0 , 1
f (x) = 2 x2 + 1 x + 0

exemplo, desejamos determinar os valores

a curva dada pela funo

(uma parbola) passe o

que fazem com que

mais perto possvel de um conjunto de 20 nodos como ilustra a Figura 6.1.


O problema do

ajuste de funes
ajuste.

tambm denominado

ajuste de curvas

ou simplesmente

A motivao para esse problema geralmente provm da

servaes experimentais

anlise de ob-

onde desejamos ajustar uma curva terica a dados

Figura 6.1:

experimentais (observados) que, devido a erros de medida e a perturbaes

Uma curva de ajuste a um conjunto de nodos.

externas, oscilam em torno de valores previstos (esperados). O mtodo de


ajuste mais popular, denominado

mtodo dos quadrados mnimos,

1
2
neiramente desenvolvido por Legendre e Gauss .

A funo de ajuste obtida pode ser usada para estimar valores


1

Adrien-Marie

do intervalo de dados, isto , pode ser usada para

foi pio-

Observe que, em geral, a funo de

dados.

polinomial : f (x) = m xm + m1 xm1 + + 2 x2 + 1 x + 0 ;

As primeiras provas formais do

mtodo so devidas a Adrain (1808) e Gauss (1809) [32, 38].


2

No entanto, neste captulo, trataremos apenas de dois tipos de

ajuste:

Nouvelles methodes pour la determination des orbites

de 1805, porm sem uma prova formal.

de dados.

Em princpio, qualquer funo pode ser ajustada a um conjunto de

contribuies Matemtica foi o desenvolvimento da teoria das integrais elpticas. em


2
1794 forneceu um prova da irracionalidade do nmero . O mtodo dos mnimos

des cometes

extrapolao

estudada no Captulo 5

no pode ser usada desta maneira.

fora

Legendre (1752 - 1833) matemtico francs. Uma de suas maiores

quadrados foi publicado em seu

interpolao

exponencial : fa,b (x) = aebx ;

Ver nota biogrca na p. 34

61

CAPTULO 6.

62

AJUSTE DE FUNES

No ajuste polinomial, a funo de ajuste um polinmio de ordem (grau


mximo)
mas

pode

m.

por
f (x) = 0,25x + 2,5

No ajuste exponencial, a funo de ajuste no polinomial

ser transformada em uma funo polinomial, de ordem 1. Por

exemplo, a Figura 6.5 mostra uma funo polinomial (de grau 2) e uma

aos nodos.

(6.1)

funo exponencial ajustadas a um conjunto de dados.

Soluo:

6.2 Resduo quadrtico

Para

Esses valores so mostrados na tabela a seguir.

Como determinar se uma curva passa o mais perto possvel de um conjunto de nodos? Ou, em outras palavras, como medir a

qualidade

de um

ajuste? A maneira mais comum de medir a distncia entre a funo de


ajuste

e os nodos

(xi , yi ) denominada resduo quadrtico e denida

por

SQE =

n
X
i=1

[yi f (xi )] .

O resduo quadrtico uma medida que leva em considerao as

renas

entre as ordenadas dos nodos

f (xi ).

Quanto mais prximo de zero for o valor de

Por essa denio, uma funo


tem resduo quadrtico zero.

drtica de erros, de uso


denominado regresso.

i = 1, . . . , 5 calculamos as ordenadas f (xi ) dos pontos


2
yi f (xi ) e as diferenas quadrticas [yi f (xi )] .

ajustados, as diferenas

yi

dife-

interpoladora

A notao

proveniente de

soma qua-

yi

f (xi )

yi f (xi )

[yi f (xi )]

0,5

4,4

2,375

2,025

4,1006

2,8

1,8

1,800

0,000

0,0000

4,2

1,0

1,450

-0.450

0,2025

6,7

0,4

0,825

-0.425

0,1806

8,3

0,2

0,425

-0.225

0,0506

SQE = 4,1006 + 0,0000 + 0,2025 + 0,1806 + 0,0506


= 4,5344.

melhor o ajuste.

(como vista no Captulo 5)

SQE ,

xi

Em seguida determinamos o resduo quadrtico

e as ordenadas da funo de ajuste

SQE ,

A Figura 6.2 mostra os nodos e a reta determinada por

f.

comum na Estatstica onde o ajuste de funes


Naturalmente, innitas retas distintas podem ser traadas passando por

Exemplo 6.1. Considere os nodos dados pela tabela a seguir:

entre os nodos. A funo dada por (6.1), obtida  olho, apenas uma
entre todas (da o ttulo de provisria). O
qual a funo que

xi

yi

1
2
3
4
5

0,5
2,8
4,2
6,7
8,3

4,4
1,8
1,0
0,4
0,2

quadrtico

mnimo.

melhor

problema do ajuste

determinar

se ajusta aos nodos, isto , possui resduo

6.3 Ajuste polinomial


O ajuste polinomial consiste em determinar um polinmio de ajuste

f (x) = m xm + m1 xm1 + + 2 x2 + 1 x + 0 ,

Determine o resduo quadrtico da funo de ajuste (provisria) dada


(de ordem

m,

com

m+1

(6.2)

coecientes) cujo resduo quadrtico mnimo.

CAPTULO 6.

63

AJUSTE DE FUNES

fazendo

X=

onde

xm
1
xm
2
.
.
.

xm
n

denominada

x21
x22

x1
x2

.
.
.

.
.
.

x2n xn

1
..
.
1

. , = 2
.

.
1
1
0

matriz de planejamento.

y1

y2

, y = .. ,

yn

Observe que, neste caso,

ela toma a forma de uma matriz de Vandermonde de ordem

n (m + 1).

Porm, ao contrrio do sistema linear (5.3) (visto no Captulo 5) que

sempre

tem soluo, o sistema linear (6.5) pode

que, em geral,
polinomial de

m << n
m.

e os

nodos

no

no

ter soluo uma vez

esto alinhados sobre uma curva

Como obter, ento, o polinmio de ajuste de resduo quadrtico mnimo?

Figura 6.2:

Uma funo de ajuste linear (provisria).

Inicialmente, supomos ser possvel que

6.3.1 Um pouco de lgebra Linear

passe por sobre todos os nodos,

Da lgebra Linear, sabemos que um sistema linear

isto ,

f (x1 ) = y1 ,

f (x2 ) = y2 ,

...,

f (xn ) = yn .

A Rmn , tem soluo se e somente se b Rm


linear dos n vetores-coluna a1 , . . . , an da matriz A,

de

f (x1 ) = m xm
+

f (x2 ) = m xm +
2

+ 2 x21
+ 2 x22

+ 2 x2n + 1 xn + 0 = yn

.
.
.

.
.
.

f (xn ) = m xm
+
n
equaes e

m+1

+ 1 x1
+ 1 x2
.
.
.

+ 0 = y1
+ 0 = y2
.
.
.

.
.
.
(6.4)

incgnitas

m , . . . , 2 , 1 , 0 .

(6.5)

uma

combinao

x1 a1 + x2 a2 + + xn an = b,
sendo as

n componentes de x os pesos

dessa combinao. Isso equivalente

a dizer que o sistema linear tem soluo se o vetor


coluna de

pertence ao espao-

A, Col(A).

no tem soluo (clssica). Po

demos, no entanto, determinar uma pseudo-soluo x tal que Ax = b ,

sendo b o vetor no espao-coluna de A que est mais prximo de b.

Pode-se mostrar [29, p. 361] que a distncia entre b e b ser mnima

quando b for a projeo ortogonal de b sobre Col(A) (como mostra a


Se

O sistema linear (6.4) pode ser escrito na forma matricial

X = y,

(6.6)

com

De (6.2) e (6.3) obtemos o sistema linear

.
.
.

Ax = b

(6.3)

b
/ Col(A),

o sistema linear (6.6)

Figura 6.3). Para isso, necessrio que o vetor

(b b)

seja ortogonal a

CAPTULO 6.

64

AJUSTE DE FUNES

6.3.2 Obtendo o polinmio de ajuste


b b

Os coecientes do polinmio de ajuste (6.2) sero obtidos, pela resoluo


do sistema linear (6.5) no sentido dos

quadrados mnimos.

Isto , pela

resoluo do sistema linear

a2

cada ak
v

O vetor

De acordo com (6.8), a soluo

Col(A)

a1

Figura 6.3:

XT X = XT y.

a projeo ortogonal de

A). Lembrando
uT v = 0, ento

(os vetores-coluna de

aT1 (b b) = 0,

sobre

Col(A).

n
n
X
X

2
ky yk =
(yi yi ) =
[f (xi ) yi ]2 = SQE .

aT2 (b b) = 0,

que dois vetores-coluna

...,

b = Ax ,

i=1

Exemplo 6.2. Reconsidere os nodos dados pela tabela do Exemplo 6.1.


Encontre a funo polinomial de ordem 1 (uma funo am) de ajuste
(de resduo quadrtico mnimo) aos nodos.

aTn (b b) = 0,

AT (b b) = 0,

Soluo:

temos
T

i=1

que equivalente a

e, como

do sistema linear (6.9) garante que

ser mnimo o valor do resduo quadrtico

so ortogonais quando

(6.9)

De acordo com a tabela, temos

A (Ax b) = 0,

x=

e nalmente

AT Ax = AT b.

(6.7)

sempre tem soluo. Sua soluo x dita soluo dos quadrados mnimos do sistema linear (6.6). Essa denominao
O sistema linear (6.7)

provm do fato de que a distncia entre os vetores


pela norma (tamanho) do vetor diferena

b,

y=

4,4
1,8
1,0
0,4
0,2

X,

a matriz de Vandermonde (de ordem 1), e sua transposta

0,5
2,8
4,2
6,7
8,3

XT :

determinada

b b,

v
u n
uX

kb bk = t (bi bi )2 ,

Assim, temos

0,5
2,8
4,2
6,7
8,3

X=

(6.8)

1
1
1
1
1

, XT = 0,5

2,8
1

4,2
1

6,7
1

8,3
1

i=1

mnima

e uma soma de

quadrados.

A matriz

XT X
T

e o vetor

X X=

XT y

139,51
22,5

do sistema linear (6.9) so

22,5
5


,

X y=

15,78
7,80


.


.

CAPTULO 6.

65

AJUSTE DE FUNES

Resolvendo o sistema linear (pelo mtodo do escalonamento de Gauss) obtemos

0,5050
3,8323


,

que corresponde a funo

f (x) = 0,5050x + 3,8323.


Os valores ajustados

f (xi )

(6.10)

so

f (0,5) = 3,5799; f (2,8) = 2,4184; f (4,2) = 1,7115;


f (6,7) = 0,4491; f (8,3) = 0,3589;
e o resduo quadrtico

SQE = 1,8761.

Observe que o resduo quadrtico obtido nesse ltimo exemplo menor

que o obtido no exemplo anterior. De fato, esse ltimo o menor de todos


os possveis resduos quadrticos. A funo obtida em (6.10) denominada
funo de ajuste de resduo quadrtico mnimo. A Figura 6.4 mostra

os grcos das duas funes de ajuste (a provisria e a de resduo quadrtico


mnimo) aos dados do Exemplo 6.1.

Exemplo 6.3. Reconsidere os nodos dados pela tabela do Exemplo 6.1.


Encontre a funo polinomial de ordem 2 (uma funo quadrtica) de
ajuste (de resduo quadrtico mnimo) aos nodos.

Soluo:
2)

De acordo com os dados, a matriz de Vandermonde (de ordem

e sua transposta

X=

0,25 0,5
7,84 2,8
17,64 4,2
44,89 6,7
68,89 8,3

1
1
1
1
1

XT

so

Figura 6.4:

0,25
XT = 0,5
1

7,84
2,8
1

17,64
4,2
1

44,89
6,7
1

68,89
8,3 .
1

XT X e o vetor XT y do sistema linear (6.9) so

7133,6419 968,7150 139,5100


64,5860
22,5000 , XT y = 15,7800 .
XT X = 968,7150 139,5100
139,5100
22,5000
5,0000
7,8000

A matriz

A funo de ajuste (provisria) e a funo de ajuste dos qua-

drados mnimos.

CAPTULO 6.

66

AJUSTE DE FUNES

Resolvendo o sistema linear (pelo mtodo do escalonamento de Gauss) obtemos

0,0940
= 1,3426 ,
4,9787

que corresponde a funo

Algoritmo 17 AjustePol
entrada : x, y, m
sada : , v, SQE
Matriz de Vandermonde e resoluo do sistema linear
1:
X MVander(x, m)
2:

f (x) = 0,0940x2 1,3426x + 4,9787;

3:
4:

cujo grco mostrado na Figura 6.5.


Os valores ajustados

f (xi )

f (0,5) = 4,3310;

so

f (2,8) = 1,9565;

f (6,7) = 0,2032;
e o resduo quadrtico

5:

f (4,2) = 0,9981;

6:

A XT X
b XT y
SLGauss(A,b)

Determinao do resduo quadrtico


v X
SQE ky vk2

f (8,3) = 0,3111;
O algoritmo

SQE = 0,0803.

AjustePol sistematiza o procedimento para o ajuste po-

linomial de ordem

qualquer.

Usando o Matlab

obtidos com o comando

Os coecientes do polinmio de ajuste podem ser

polyfit,

cujo procedimento basicamente o mesmo

do algoritmo AjustePol.

>> x = [0.5; 2.8; 4.2; 6.7; 8.3];


>> y = [4.4; 1.8; 1.0; 0.4; 0.2];
>> beta = polyfit(x,y,2)
beta =
0.0940
-1.3426
4.9787

Observao:

Se os valores da varivel independente ou o grau do

polinmio interpolador forem moderadamente elevados, a matriz de Vandermonde associada ao sistema linear pode se tornar mal-condicionada e
promover erros de arredondamento. Por exemplo, no Problema 6.9 se usarmos os valores 1960, ..., 2010 ou 6, ..., 11 teremos previses ligeiramente
diferentes.

Nesses casos recomenda-se fazer uma

varivel independente e diminuir seus valores.

Figura 6.5:

Uma funo de ajuste polinomial e uma funo de ajuste ex-

ponencial.

Observe que, ao aumentar a ordem do polinmio de ajuste o resduo


quadrtico diminui, isto , se obtm um ajuste

melhor.

mudana de escala

na

CAPTULO 6.

67

AJUSTE DE FUNES

6.4 Ajuste exponencial

xi

yi

zi = ln yi

0,5

4,4

1,4816

O mtodo dos mnimos quadrados, como visto na seo anterior, somente

2,8

1,8

0,5878

aplicvel se a funo de ajuste

nos coecientes. Em alguns casos

4,2

1,0

0,0000

de interesse, a funo de ajuste no linear mas pode ser transformada em

6,7

0,4

-0,9163

outra funo, equivalente e linear. Nesta seo trataremos do caso da fun-

8,3

0,2

-1,6094

linear

o exponencial, no entanto outras funes tambm podem ser trabalhadas


Em seguida, encontramos os coecientes do ajuste linear

(veja, por exemplo, o Problema 6.25).


O

ajuste exponencial consiste em determinar os coecientes a e b da


(6.11)

e, em seguida, os coecientes do ajuste exponencial

a um conjunto de dados.

a = e0 = 5,3641 b = 1 = 0,3936.

Existem diversos mtodos para determinar a funo de ajuste exponencial. Uma maneira de proceder consiste em, inicialmente, observar que

y = aebx
Como os coecientes

ln y = bx + ln a

Assim, a funo de ajuste dada por

f (x) = 5,3641e0,3936x .

(6.12)

ln a so constantes, a funo da parte


direita de (6.12) linear. Fazendo z = ln y , 1 = b e 0 = ln a vericamos
que o ajuste da funo (6.11) aos nodos (x, y) possvel a partir do ajuste
se

y > 0.

O resduo quadrtico do ajuste obtido com

SQE =

n
X
[f (xi ) yi ]2 = 0,0014.
i=1

da funo polinomial

z = 1 x + 0
aos nodos

com

1 = 0,3936 0 = 1,6797

funo exponencial

f (x) = aebx

z = 1 x + 0

o algoritmo AjustePol

O grco da funo de ajuste exponencial mostrado na Figura 6.5.

(x, ln y)
O ajuste exponencial muito utilizado em vrios problemas de enge-

O exemplo a seguir ilustra o procedimento

nharia. Um algoritmo para obter os coecientes do ajuste exponencial

Exemplo 6.4. Considere os nodos dados pela tabela do Exemplo 6.1.


Obtenha a funo de ajuste exponencial aos dados.

facilmente obtido modicando o algoritmo

Inicialmente obtemos os valores de

zi = ln yi

para

i = 1 : n:

e deixado como

O problema do ajuste muito importante no contexto das Engenharias


e Cincias Exatas.

Soluo:

AjustePol

exerccio (ver Problema 6.11).

Diversas tcnicas da anlise de dados experimentais

tomam por base o ajuste de

modelos lineares.

Alm dos casos vistos aqui,

existem diversas sosticaes e generalizaes possveis (ver Problemas 6.24


e 6.25). Para maiores detalhes, livros de Estatstica [49] ou lgebra Linear
[29] so recomendados.

CAPTULO 6.

68

AJUSTE DE FUNES

6.5 Problemas

6.4.

A tabela a seguir fornece a quantidade de vnculos de trabalho formal

em Caxias do Sul em anos recentes [18, p. 5].

Ajuste polinomial

6.1.

t
.

Considere a tabela de valores a seguir:

2006

135

2007

147

2008

157

2009

157

2010

171

p1 (x) = 1 x + 0 ,

que se ajusta aos


(a) Encontre o polinmio

dados.

N (t)

de ajuste de ordem

1.

Sugesto: para facilitar as

contas, use 6, 7, ..., 10 em vez de 2006, 2007, ..., 2010.

(b) Determine o resduo quadrtico do ajuste.


(c) Desenhe um grco mostrando os nodos e o polinmio de ajuste.

(b) Determine o resduo quadrtico do ajuste.


(c) Use o polinmio de ajuste para prever o nmero de vnculos em 2011.

Considere a tabela de valores a seguir:

6.5.

Implemente o algoritmo AjustePol na sua linguagem preferida. Para

-1

vericar a correo da implementao, refaa o Exemplo 6.2.

6.6.

A tabela a seguir, adaptada de [49, p. 235], mostra a altura

e o peso
(a) Determine o polinmio de ordem 2,

p2 (x) = 2 x2 + 1 x + 0 ,

(b) Determine o resduo quadrtico do ajuste.


(c) Desenhe um grco mostrando os nodos e o polinmio de ajuste.

A tabela a seguir fornece a produo

certa mquina em funo de seu tempo de servio

T
P

(anos)
(peas/h)

0
28

1
28

2
26

53,0

80

67,5

344
416

72,0

348

73,5

262

68,5

360

73,0

332

37,0

34

(em anos).

22

4
19
(a) Encontre o polinmio ajuste

P (H)

(b) Determine o resduo quadrtico

F (T ) = 0,5T 2 0,1T + 28,

G(T ) = 0,5T 2 0,3T + 28

(em polegadas)

(lb)

72,0

So dadas trs funes:

H(T ) = 0,6T 2 0,2T + 29.


Determine o resduo quadrtico de cada uma das funes. Qual delas se ajusta
melhor aos dados?

(pol)

(em peas por hora) de uma

(em libras) de ursos selvagens anestesiados.

que se ajusta

aos dados.

6.3.

1000 vnculos)

(a) Determine o polinmio de ordem 1,

6.2.

N (

(ano)

de ordem 1 (reta).

SQE .

(c) Desenhe no mesmo grco: os nodos e a funo de ajuste.


(d) Um bilogo observa um urso na selva e estima que tenha 65 polegadas de
altura. Qual deve ser o seu peso?

CAPTULO 6.

6.7.

69

AJUSTE DE FUNES

A tabela a seguir, adaptada de [44, p. 305], mostra a frao percentual

(em graus).

f (t)

( )

50

2,75

52

1,45

54

0,50

56

0,15

58

0,20

60

0,85

tmin

(c) Determine o ms

(%)

para fevereiro, etc.

(d) Determine, o ms

6.9.

no qual a diferena entre

tmax

E(t)

mnima.

E(t)

mxima.

C de Dixido de Carbono

Mauna Loa (Hawaii, EUA) entre os anos de entre 1960

e 2010 [48].

1960

316,91

1970

325,68

no qual a

1980

338,68

frao de luz polarizada mnima. Na ptica, esse ngulo conhecido como

1990

354,35

ngulo de Brewster

2000

369,52

2010

389,85

F ()

de ordem 2.

(b) Usando o modelo obtido, faa uma estimativa para o ngulo

3 [25, p. 31].

(c) Desenhe no mesmo grco:

f (t)

A tabela a seguir mostra os valores da concentrao

medidos no observatrio de

t2

os nodos, o polinmio de ajuste e o ponto

(B , FB ).

(ppm)

Deseja-se estimar a concentrao de CO2 para o ano de 2020. Para tanto, uma

A tabela a seguir fornece a energia eltrica

E,

em kilowatt-hora, consumida

no perodo de 12 meses em uma certa residncia.

David

e encontre o polinmio

f (t)

no qual a diferena entre

t1

(a) Encontre a funo de ajuste polinomial

t = 2
3.

para janeiro,

de ajuste de ordem

(b) Desenhe um grco mostrando os nodos e o polinmio de ajuste.

6.8.

t = 1

(a) Faa

de luz polarizada reetida por uma superfcie em funo do ngulo de incidncia

(ms)

(kWh)

jan

159

fev

148

mar

176

abr

203

mai

250

jun

230

jul

289

ago

291

set

314

out

256

nov

220

dez

192

Brewster (1781  1868), fsico escocs. Estudioso dos fenmenos pticos,

funo de ajuste polinomial de ordem 3 para a concentrao de CO2 na atmosfera


em funo do tempo

deve ser encontrada.

(a) A partir dos dados da tabela, determine uma funo de ajuste polinomial

p1 (t)

de ordem 3 usando os valores da coluna

Estime o valor de

(b) Determine uma funo de ajuste polinomial


lores da coluna

t2

t1

para varivel independente.

p1 (2020).
p2 (t)

de ordem 3 usando os va-

para varivel independente. Estime o valor de

p2 (7).

(c) Observe que os valores estimados em (a) e (b) so ligeiramente diferentes.


Determine a diferena relativa entre os valores.
(d) Desenhe um grco mostrando os nodos e os valores estimados.

Ajuste Exponencial

6.10.

Ajuste uma funo exponencial aos dados do Problema 6.2.

6.11.

Estude cuidadosamente o mtodo da na seo 6.4 e implemente uma

picos. Estudou tambm aspectos da polarizao da luz, especialmente quando reetida

function [a, b] = AjusteExp(x, y) para encontrar a funo de ajuste exponencial a um conjunto de nodos dados. Para vericar a correo da implementao

em superfcies de materiais dieltricos e metlicos[53].

refaa o Exemplo 6.4

descobriu o efeito da bi-refringncia causada pela compresso de alguns slidos isotr-

CAPTULO 6.

6.12.

70

AJUSTE DE FUNES

Considere os dados do Problema 6.9.

(a) Encontre a funo de ajuste exponencial aos dados.


(b) Faa uma estimativa para a concentrao de CO2 para o ano de 2020.
(c) Faa um desenho mostrando os dados originais, a funo de ajuste exponencial e o valor previsto para 2020.

6.13.

As tabelas a seguir, adaptadas de [50, p. 144], mostram medidas de po-

tncia

(em

horse power )

tempo de acelerao
60 milhas/hora.

de alguns automveis.

A tabela mostra tambm o

(em segundos) que cada automvel necessita para atingir

P (HP)

T (s)

P (HP)

T (s)

85

17,6

110

13,5

76

14,7

75

15,5

67

19,9

72

19,5

105

14,5

180

12,5

88

16,0

200

15,0

88

16,5

140

13,2

65

21,0

52

19,4

88

18,0

71

14,9

71

24,8

75

18,2

155

14,9

98

19,0

60

22,1

61

19,0

85

17,0

140

10,5

85

16,7

60

22,0

(a) Ajuste uma funo exponencial aos dados.


(b) Desenhe um grco mostrando os dados e a funo de ajuste. Sugesto: Use
o comando

semilogy.

(c) Usando o modelo obtido, faa uma estimativa do nmero de transistores em


um microprocessador para 2020.
(d) Usando o modelo obtido, faa uma estimativa do ano em que o nmero de

(a) Encontre a funo de ajuste exponencial


(b) Determine o tempo de acelerao

T (P )

transistores em um microprocessador atinja a marca de

aos dados.

esperado de um automvel com potncia

de 80 HP.
(c) Determine a potncia esperada de um automvel com tempo de acelerao
de 14 s.

6.14.

A capacidade de processamento dos computadores pessoais (PC) tem au-

mentado continuamente desde o incio da era da Microeletrnica. Essa capacidade


est intimamente relacionada com a quantidade transistores colocados dentro de
cada microprocessador.

Este crescimento conhecido como

Lei de Moore 4 .

tabela a seguir mostra a quantidade de transistores montados dentro de cada


modelo de microprocessador fabricado pela empresa Intel [39].
4

Gordon

Earle Moore (1929  ) cientista norte-americano. Nasceu em San Fran-

cisco onde obteve o bacharelado em Qumica (1950, Universidade da Califrnia) e dou-

1 1012 .

Sortidos

6.15.

Considere os dados a seguir.

torado em Qumica e Fsica (1954, California Institute of Technology - Caltech). Foi

circuito integrado. Em 1957, co-fundador


Fairchild Semiconductor. Em 1965, publica artigo Cramming more components onto
integrated circuits [35] onde prev a forma de crescimento da capacidade computacional
dos microprocessadores. Em 1968, co-fundador da Intel Corporation onde permaneceu
um dos pioneiros no desenvolvimento do
da

ativo at 1987. Dono de uma das grandes fortunas do mundo, em 2001 doa 600 milhes
de dlares ao Caltech para investimentos em pesquisa e tecnologia. (Adaptado de [52])

CAPTULO 6.

71

AJUSTE DE FUNES

(a) Desenhe um grco mostrando os nodos e a funo de ajuste trigonomtrica.

0,1

3,81

(b) Calcule o resduo quadrtico do ajuste.

2,0

4,00

4,1

12,61

O problema do ajuste no-linear geral est alm do nvel proposto neste texto.

4,4

14,56

Ver, por exemplo, [10, p. 240].

4,6

15,96

5,2

20,64

6.18.

6,7

35,49

7,4

43,96

8,4

57,76

9,3

71,89

Em alguns livros, como [19, p. 149] ou [10, p. 234], os coecientes do

polinmio de ajuste de ordem 1 so dados por

P P
x2i xi xi yi
,
P 2
P 2
n xi ( xi )
P
P P
n xi yi xi yi
1 =
P
P 2 .
n x2i ( xi )
P

0 =

(a) Use o programa AjustePol para ajustar um polinmio de ordem 5 ao conjunto de dados.

6.16.

Verique que as frmulas acima resultam nos mesmos coecientes calculados no

(b) Observe que (a menos de erros de arredondamento) o grau do polinmio


obtido efetivamente

yi

menor

que 5. Por que isso ocorre?

Um estudante de Clculo Numrico usou o programa AjustePol para

Exemplo 6.2.

6.19.

Como medida da

qualidade do ajuste, o resduo quadrtico SQE tem alguns


SQE se altera se as unidades de

defeitos. Entre eles podemos citar o fato de que

ajustar um polinmio de ordem 4 a um conjunto de 15 nodos. Ao terminar de

medida so alteradas.

fazer as contas obteve os seguintes coecientes para o polinmio de ajuste:

um ajuste polinomial (grau 1) aos dados do Problema 6.6 para dois sistemas de

Verique esse fato calculando o resduo quadrtico de

unidades: lb - pol e kg - cm (Use

c =
0.0000
-0.0012
0.0925
-1.1288
6.2356

6.20.

Uma medida de qualidade de ajuste que no possui o defeito discutido no

problema anterior denominado

onde

SQT =

n
X
i=1

O programa deve ter feito alguma conta errada pois o primeiro coeciente do polinmio zero e correspondem a um polinmio de ajuste
de grau 3, o que impossvel.

E(t) = C + A sen
e

(yi y)

y =

1X
yi .
n i=1

Esse coeciente varia de 0 (ajuste nulo) a 1 (ajuste perfeito).

bm o coeciente de determinao.

Aos dados do Problema 6.8, possvel ajustar uma funo trigonomtrica

C = 227,3333, A = 70,1327

SQE
,
SQT

(a) Altere a implementao do algoritmo AjustePol para que ele calcule tam-

A concluso do estudante est correta? Justique.

onde

coeciente de determinao r2 obtido por

r2 = 1

O estudante escreveu a seguinte concluso em seu relatrio:

6.17.

1 pol = 2,54 cm, 1 lb = 0,4536 kg).


6

t+ ,

= 0,5545.

(b) Reconsidere os dados do Problema 6.19 com os dois sistemas de medidas:

lb - pol e kg - cm. Verique que os coecientes de determinao (r ) obtidos


so iguais.
(c) Qual a unidade de medida do coeciente de ajuste

6.21.

r2 ?

Reconsidere a tabela populacional mostrada no Problema 5.7.

CAPTULO 6.

(a) Encontre uma funo de ajuste

exponencial

72

AJUSTE DE FUNES

polinomial

(ordem 2) e uma funo de ajuste

6.23.

A presso sangunea

de uma criana sadia dada por

ao conjunto de dados.

p = 0 + 1 ln m,

(b) Use o coeciente de determinao denido no problema anterior para vericar


qual dos ajustes melhor.

6.22.

Um caso interessante do problema de ajuste de funes denominado

condicionado

onde

(c) Estime a populao do Brasil para o ano de 2020 usando os dois modelos.

o peso da criana.

ajuste

[16] consiste em determinar a reta de ajuste de grau 1 que con-

dicionada (forada) a passar pelo ponto


Nesse caso, o coeciente

(0, 0),

isto ,

f (x) = 1 x

(com

Os coecientes

0 = 0).

P
xi yi
1 = P 2 .
xi
V

(mL)

(em gramas-fora) recebida.

98
103

113

110

131

112

(a) Determine a matriz de planejamento associada ao problema;

(gf )

(c) Estime a presso

1 ;

para uma criana de 100 lb.

10

13,3

20

25,5

6.24.

30

37,9

(cometa, asteroide, planeta, etc.) descrita por

40

50,3

50

62,9

60

75,3

70

87,4

80

100,3

90

111,8

100

124,5

De acordo com a primeira lei de Kepler, a rbita de um corpo celeste

r = 0 + 1 (r cos ),
usando as coordenadas polares

tendo o Sol como origem. Os coecientes

so constantes a serem determinadas. A tabela mostra os dados obtidos

por observaes astronmicas de um cometa.

(a) Use o algoritmo AjustePol e encontre a funo de ajuste (sem condiciona-

(rad)

(u.a.)

0,88

3,00

1,10

2,30

(b) Use a frmula acima e encontre a funo de ajuste (com condicionamento)

1,42

1,65

1 e c01 nos ajustes sem e com

1,77

1,25

2,14

1,01

fsc (V ) = 1 V + 0 .

Verique que

0 6= 0.

fcc (V ) = c01 V . Observe se os valores de


condicionamento so iguais.

so constantes a serem

91

81

mento)

(mmHg)

61

(b) Determine os valores dos coecientes

(em mi-

lilitros) na imerso de um cilindro de alumnio em um recipiente com glicerina


lquida e respectiva fora de empuxo

(lb)
44

dado por

Na tabela (adaptada de [3]) a seguir so dados o volume deslocado

determinadas. A tabela mostra os dados obtidos por observaes de um pediatra.

(c) Faa um desenho mostrando os nodos e as duas retas de ajuste.


(a) Determine a matriz de planejamento associada ao problema;

O mtodo dos quadrados mnimos pode ser aplicado a qualquer funo linear
em seus coecientes, como m fm (x,y)+ +1 f1 (x,y)+0 f0 (x,y) = y , mudando
apenas a estrutura da matriz de planejamento X. Os problemas 6.23 e 6.24 a
seguir (adaptados de [29, p. 374]) podem ser resolvidos especicando corretamente
a matriz de planejamento.

(b) Determine o valor dos coecientes


(c) Desenhe o grco de

r()

1 ;

em coordenadas polares.

CAPTULO 6.

6.25.

Use o mtodo do ajuste da

para ajustar a

73

AJUSTE DE FUNES

funo logstica

funo exponencial

p(x) =

(dada pela equao 6.11)

1
,
1 + e0 +1 x

ao conjunto de dados a seguir.

x
p(x)

6,2

8,5

9,4

10,1

12,7

13,9

15,8

19,3

0,02

0,05

0,25

0,33

0,69

0,88

0,93

0,99

(a) Determine o valor dos coecientes

1 ;

(b) Desenhe o grco dos nodos e da funo logstica de ajuste.

Captulo 7

Integrao Numrica
7.1 Denio do problema

7.2 Mtodo de Newton-Cotes simples

Considere a integral denida dada por

O mtodo de Newton -Cotes

integral (7.1) atravs da

Q=

f (x) dx.

(7.1)

a
O problema da

integrao numrica

O problema da integrao

algbrica

x0 = a,

em
e

w0 , w1 , . . . , wn

conhecida em apenas um conjunto discreto de valores.

(7.2)

so os

pesos

...,
[a, b]

xn = a + nh = b

(7.3)

igualmente espaados com

ba
n

da ponderao.

A quantidade de nodos e os respectivos pesos so denidos de acordo

os mtodos de

Newton-Cotes que so indicados para problemas do tipo 1 e o mtodo

splines

no intervalo de integrao

h=

com a

dos

x2 = a + 2h,

termos de funes elementares.

Estudaremos dois mtodos de integrao numrica:

x1 = a + h,

n + 1 nodos

so

mas sua primitiva

de difcil obteno, isto , no conhecida uma expresso para

f (x) dx (b a) [w0 f (x0 ) + w1 f (x1 ) + + wn f (xn )] ,

mais complicado e est

A integrao numrica especialmente indicada quando:

2. A funo

consiste em estimar o valor da

onde

um resultado

alm do escopo destas notas de aula.

1. conhecida uma expresso algbrica para

mdia ponderada

consiste na avaliao de (7.1) por

mtodos numricos. Note que, sendo a integral denida,

numrico.

2 de ordem

que indicado para problemas do tipo 2.

do

ordem do mtodo. A ideia central aproximar a funo de integrao


polinmio interpolador p de grau n. Os pesos w de ordem n so

por um

Ver nota biogrca na p. 28

Roger

Cotes (1682 - 1716), matemtico ingls. Foi o editor da segunda edio

Philosophiae naturalis principia mathematica

de Newton. Trabalhou na teoria dos

logaritmos e nos mtodos de aproximao racional por fraes continuadas. Sua obra
pstuma,

Harmonia mensurarum

de 1722, desenvolve mtodos de interpolao parti-

cularmente teis no estudo da rbita de cometas e mtodos de integrao numrica.


[38].

74

CAPTULO 7.

75

INTEGRAO NUMRICA

determinados de modo que a soma ponderada seja igual a integral

Tabela 7.1:

exata

Pesos das frmulas de Newton-Cotes

do polinmio. A Figura 7.1 mostra os polinmios utilizados nas primeiras


Ordem

4 ordens do mtodo de Newton-Cotes.

w0

w1

w2

w3

1/2

1/2

1/6

4/6

1/6

1/8

3/8

3/8

1/8

7/90

32/90

12/90

32/90

w4

Regra
retngulo
trapzio

a de Simpson3
a
2 de Simpson

7/90

Exemplo 7.1. Determine estimativas para a integral


as ordens 2 e 4 do mtodo de Newton-Cotes.

Soluo:

Para a estimativa de

a = 1,

b = 4,

Boole

R4
1

x dx usando

ordem 2, tem-se

h=

ba
41
=
= 1,5000.
n
2

Os nodos, os valores da funo e os respectivos pesos so:

Figura 7.1:

xi

f (xi )

wi

1,0000

1,0000

0,1667

2,5000

1,5811

0,6667

4,0000

2,0000

0,1667

Thomas Simpson (1710 - 1761) matemtico ingls. Em 1737 publica seu A New
Treatise of Fluxions, um livro didtico de alta qualidade dedicado ao clculo de uxes, a
2

Diferentes ordens da quadratura de Newton-Cotes.

verso newtoniana do clculo innitesimal. O mtodo de integrao numrica conhecido

A Tabela 7.1 mostra os pesos utilizados nas primeiras ordens do mtodo


de Newton-Cotes que, por razes histricas, recebem nomes prprios.

hoje como regra de Simpson, embora aparea em seu livro, devido Newton como o
prprio Simpson reconheceu [38].
3

George

Boole (1815 - 1864) matemtico ingls. Sua contribuio mais famosa (a

lgebra booleana) a incorporao da lgica pela matemtica atravs da lgebra. Boole


tambm trabalhou em equaes diferenciais e clculo das diferenas nitas. A regra de
integrao que leva seu nome aparece em 1860 em seu

Dierences

[38].

Treatise on the Calculus of Finite

CAPTULO 7.

76

INTEGRAO NUMRICA

Assim temos

os nodos

Q2 = (b a)

wi f (xi )

= (4 1)(0,1667 1,0000 + 0,6667 1,5811 + 0,1667 2,0000)

= 4,6623.

Para a estimativa de

a = 1,

h=

ba
41
=
= 0,7500.
n
4

xi

f (xi )

wi

1,0000

1,0000

0,0778

1,7500

1,3229

0,3556

2,5000

1,5811

0,1333

3,2500

1,8028

0,3556

4,0000

2,0000

0,0778

Passo 1:

Inicialmente realizamos a mudana na varivel de integrao

x = a + (b a)t,
com

dx = (b a)dt.
Z
Q=

=
Q

Z
1

"
x dx =

x3/2
3/2

f [a + (b a)t](b a) dt.

(t) = f [a + (b a)t],

Passo 2:

14
= 4,6667,
3
(2 DSE) e erro relativo em

O mtodo que estudaremos, com nodos denidos pelas equaes (7.3),

fechado por incluir os extremos a


b do intervalo de integrao. Existem tambm, variaes que no incluem
os extremos a e b e so ditos abertos. Ainda, existem mtodos em que

denominado mtodo de Newton-Cotes

(t) dt.
[a, b]

e transformada na

[0, 1].

(t) dt w0 (t0 ) + w1 (t1 ) + + wn (tn ),

com

tk =

k
,
n

k = 0, . . . , n.

Em seguida, aproximando-se a funo


de grau

(7.5)

A integral em (7.5) aproximada pela mdia ponderada

#4

Assim a integral original (7.1) no intervalo


integral (7.5) no intervalo

Q2 rel = 9,4050 104


= 3,9233 105 (4 DSE).

o erro relativo em

Z
f (x) dx =

Redenindo

Como o valor exato da integral dado por

rel

wi f (xi )

= 4,6665.

(7.4)

Assim (7.1) pode ser reescrita como

Q = (b a)

0,3556 1,8028 + 0,0778 2,0000)

das ponderaes feita atravs dos

obtemos

= (4 1)(0,0778 1,0000 + 0,3556 1,3229 + 0,1333 1,5811+

Q4

pesos

seguintes passos:

Assim temos

Q4 = (b a)

[1,

7.2.1 Deduo dos pesos de integrao

Os nodos, os valores da funo e os respectivos pesos so:

mtodo de Gauss

so igualmente espaados, como o

De modo geral, a deduo dos

ordem 4, tem-se

b = 4,

no

p. 887] [40, p. 160].

(7.6)

(7.7)

por um polinmio interpolador

n
(t) cn tn + + c1 t + c0 ,

CAPTULO 7.

obtm-se, no lado

77

INTEGRAO NUMRICA

esquerdo

A resoluo do sistema (7.11) para cada ordem

de (7.6),

(cn tn + + c1 t + c0 ) dt
0
Z
Z 1
Z 1
n
t dt + c0
t dt + + c1
= cn

(t) dt =
0

direito

Passo 3:
1 dt
(7.8)

= w0 (cn tn0 + + c1 t0 + c0 ) + + wn (cn tnn + + c1 tn + c0 )

= cn (w0 tn0 + w1 tn1 + + wn tnn ) + + c0 (w0 + w1 + + wn ) .


c0 , c1 , . . . , cn

+ w1
+ w1 t1
+ w1 t21

+ w2
+ w2 t2
+ w2 t22

w1 tn1

w2 tn2

.
.
.

.
.
.

+
+
+
+

(7.9)

+ w2
+ w2 n2
2
+ w2 n2
.
.
.

+ w2


2 n
n

+ wn
=
+ wn t n =
+ wn t2n =

1
1/3

.
.
.

+
=
n
+ wn t n =

(7.10)

.
.
.

1/(n+1)

+
+
+
+

+ wn =
+ wn =
+ wn =
.
.
.

+
=
+ wn =

1
1/2
1/3
.
.
.

C=

1
1
1

0 (1/n)n (2/n)n

.
.
.

.
.
.

.
.
.

.
.
.

n = 2 o sistema linear (7.11) torna-se

w0
1
1 1 1
0 1/2 1 w1 = 1/2 .
1/3
w2
0 1/4 1

que pode ser resolvido com a ajuda do algoritmo SLGauss (p. 37):

>> C = [1 1 1; 0 1/2
>> format rat
>> w = SLGauss(C,d)
w =
1/6
2/3
1/6

ordens distintas

rel

(7.11)

,
w
=

w0
w1
w2
.
.
.

wn

1; 0

,
d
=

1
1/2
1/3
.
.
.

1/(n+1)

1/4

1]; d = [1; 1/2; 1/3];

geral, a diferena relativa entre duas estimativas

com

1
2/n
(2/n)2

, obtenha os

(7.11)

Q utiliza-se, em
Qj calculadas por

Para se obter uma estimativa de erro relativo para

1/(n+1)

Cw = d,
1
1
1/n
0
0 (1/n)2

Para

1/2

que, por sua vez, pode ser escrito na forma matricial

Soluo:

em (7.8) e (7.9) obtm-se

Agora, substituindo (7.7) em (7.10) obtm-se o sistema linear

w0 + w1

+ w1 n1

2
+ w1 n1

n

+ w1 n1

pode ser encontrada em [15].

Exemplo 7.2. A partir do sistema linear dado por


pesos da quadratura de Newton-Cotes de ordem 2.

de (7.6),

Comparando os fatores de

Substituindo (7.7) em (7.4) obtemos os nodos de integrao

Observao: Uma deduo ligeiramente diferente da que zemos acima

w0 (t0 ) + w1 (t1 ) + + wn (tn ) =

w0

w0 t 0
w0 t20

w0 tn0

resulta

(7.3). Os pesos permanecem inalterados.

1
1
= cn
+ + c1 + c0 1,
n+1
2
e, no lado

n = 0, 1, 2, 3, 4,

no conjunto de pesos mostrados na Tabela 7.1.

com

j>i

(em geral, usa-se

Qi

Qi Qj
,
Qj

j = 2i).

Exemplo 7.3. Determine uma estimativa de erro relativo para a integral do Exemplo 7.1.

CAPTULO 7.

Soluo:

78

INTEGRAO NUMRICA

Como

Q2 = 4,6623

Q4 = 4,6665

tem-se

Q2 Q4
Q4
4,6623 4,6665

4,6665
9,0130 104

rel

As duas estimativas compartilham 2 DSE.

7.3 Mtodo de Newton-Cotes composto


O mtodo de Newton-Cotes tal como visto na seo anterior sucientemente

simples

para o clculo manual mas no muito utilizado nas imple-

mentaes computacionais.

Isso ocorre por que, para ordens elevadas, o

polinmio interpolador pode sofrer grandes oscilaes (fenmeno de Runge,

Figura 7.2:

como visto no Captulo 5) que interferem negativamente na preciso das

Quadratura NC composta: 3 composies, ordem 2.

estimativas.
Para corrigir esse problema, no mtodo de Newton-Cotes composto, inicialmente divide-se o intervalo original [a, b] em m subintervalos
(composies) de tamanho

H=

ba
.
m

Em seguida, aplica-se o mtodo de Newton-Cotes


de ordem

Sj .

simples

baixa em cada subintervalo obtendo-se

com uma regra

resultados parciais

O resultado nal obtido, somando-se os resultados parciais:

Qm,n =

m
X
j=1

Sj ,

com

Sj = H

n
X

Exemplo 7.4. Determine uma estimativa Q3,2 para a integral do


Exemplo 7.1 usando m = 3 composies do mtodo de Newton-Cotes
de ordem n = 2.

Soluo:
em

m = 3

vez, esses intervalos so

h = H/n = 1/2 = 0,5000.


Em cada composio

wi f (xi ).

i=0

a = 1 at b = 4 deve ser dividido


41
H = ba
= 1,0000. Por sua
m =
3
subdivididos em n = 2 subintervalos de tamanho

O intervalo original de
intervalos de tamanho

S1 = H

obtemos uma estimativa parcial

Sj

da integral:

wi f (xi )

A Figura 7.2 mostra o esquema para 3 composies de ordem 2.

= 1,0000 (0,1667 1,0000 + 0,6667 1,2247 + 0,1667 1,4142)


= 1,2189

CAPTULO 7.

S2 = H

79

INTEGRAO NUMRICA

7.4 Mtodo de Newton-Cotes adaptvel

wi f (xi )

= 1,0000 (0,1667 1,4142 + 0,6667 1,5851 + 0,1667 1,7321)

= 1,5785

O mtodo de Newton-Cotes composto, visto na seo anterior, bastante

preciso

mas no muito

eciente

(do ponto de vista computacional) pois

realiza a mesma quantidade de avaliaes da funo tanto em partes mais


suaves (sujeitas a menor erro) quanto em partes menos suaves (sujeitas

S3 = H

a maior erro).

wi f (xi )

Uma alternativa mais eciente, denominada de

= 1,0000 (0,1667 1,7321 + 0,6667 1,8708 + 0,1667 2,0000)

Cotes adaptvel, consiste em:

mtodo de Newton-

= 1,8692

(a) Fazer uma estimativa

Q1,2

para a integral no intervalo

uma frmula de baixa ordem (usaremos


A tabela a seguir sistematiza os valores calculados:

j
1

xi

f (xi )

wi

1,0000

1,0000

0,1667

1,5000

1,2247

0,6667

2,0000

1,4142

0,1667

2,0000

1,4142

0,1667

2,5000

1,5851

0,6667

3,0000

1,7321

0,1667

3,0000

1,7321

0,1667

3,5000

1,8708

0,6667

4,0000

2,0000

0,1667

Sj

(b) Subdividir o intervalo original em dois:


timativa composta

Q2,2

[a, b]

usando

n = 2);
[a, c]

[c, b]

e fazer uma es-

usando a frmula de ordem baixa em cada

subintervalo. Veja a Figura 7.3.

1,2189

1,5785

1,8692

A estimativa nal dada pela soma das estimativas parciais:

Q3,2 =

Sj = 1,2189 + 1,5785 + 1,8692 = 4,6666

No Matlab obtemos

2,2203

Q32 = 4.666563053222490 com erro relativo rel =

105 (4 DSE). O mtodo NC composto produz, em geral, me-

lhores estimativas que o mtodo NC simples com a mesma quantidade de


nodos.

A implementao do mtodo de Newton-Cotes composto no

muito complicada e deixada como exerccio (Veja o Problema 7.12).

Figura 7.3:

Determinao de

adaptvel (ordem 2).

Q1,2

Q2,2

no mtodo de Newton-Cotes

CAPTULO 7.

80

INTEGRAO NUMRICA

Algoritmo 18 QuadNCAdapt
entrada : f, a, b, tol, kmax
sada : Q, rel , k
Inicializao
1:
2:
3:
4:
5:
6:
7:

k 0
c (a + b)/2
fa f (a)
fc f (c)
fb f (b)

Algoritmo 19 QuadRec
entrada : f, a, c, b, fa , fc , fb , k, tol, kmax
sada : Q, rel , k
Inicializao

Chamada inicial da funo recursiva


[Q, rel , k] QuadRec(f, a, c, b, fa , fc , fb , k, tol, kmax )
m

1:
2:
3:
4:

(c) Se a diferena relativa entre

Q1,2

Q2,2

sucientemente pequena, o

mtodo termina. Caso contrrio, o mtodo reaplicado


aos subintervalos
Os algoritmos

[a, c]

recursivamente

[c, b].

6:

QuadNCAdapt

QuadRec

sistematizam o mtodo.

A Figura 7.4 mostra como se distribuem os pontos de avaliao de uma


funo no mtodo de Newton-Cotes adaptvel.

menos

suaves da funo o algoritmo utiliza

Observe que nas regies

mais

a partir de

Q1,2

Q2,2 ,

QuadRec

Q1,2

Q2,2

feita uma estimativa para

so estimativas para

usando,

respectivamente, 1 e 2 composies de ordem 2 (regra de Simpson) ento

Q2,2 Q Q1,2 .
Q
16
5

Werner

(7.12)

9:

nazista e da guerra na europa, teve que migrar por pases da europa diversas vezes:
Ucrnia (1934), Checoslovquia (1937), Noruega (1938), Sucia (1940), novamente Noruega (1947) e nalmente retorna a Alemanha (1968). Em 1955 publica seu

Vereinfachte

contendo o mtodo de integrao numrica que leva seu nome.

Embora tenha se graduado em fsica, reconhecido por suas contribuies matemtica


aplicada, aos mtodos numricos e computao digital. [38].

11:
12:
13:
14:
15:
16:

Romberg (1909 - 2003) fsico e matemtico alemo. Por conta do regime

Numerische Integration

8:

10:

denominada extrapolao de Romberg . Pode-se

mostrar [30, p. 362] que se

7:

pontos de avaliao da

funo.
No passo 10 do algoritmo

5:

17:

k k + 1
d (a + c)/2
e (c + b)/2
fd f (d)
fe f (e)

Estimativas

ba
(fa + 4fc + fb )
6
ba
(fa + 4fd + 2fc + 4fe + fb )
Q2,2
12
rel ErroRel(Q1,2 , Q2,2 )
se (|rel | tol e k 3) ou k kmax
Q1,2

Retorno

Q Q2,2 + (Q2,2 Q1,2 )/15

seno
Recurso

[QE , rel E , kE ] QuadRec(f, a, d, c, fa , fd , fc , k, tol, kmax )


[QD , rel D , kD ] QuadRec(f, c, e, b, fc , fe , fb , k, tol, kmax )
Q QE + QD
rel E QE + rel D QD
rel
QE + QD
k max(kE , kD )

m

CAPTULO 7.

81

INTEGRAO NUMRICA

Isolando

na expresso acima, obtemos

Problema 7.13).

Q2,2 + (Q2,2 Q1,2 )/15


Q

No passo 14, a estimativa de integral


pela soma da parcela da esquerda

QE

(Ver

sobre todo o intervalo feita

e da direita

QD .

No passo 15, estima-

se o erro relativo total pela mdia ponderada dos erros relativos em cada
parcela (Ver Problema 2.26).

Usando o Matlab

o comando

quad.

Para determinar o valor de uma integral denida usar

>> format long


>> f = @(x) sqrt(x);
>> a = 1;
>> b = 4;
>> Q = quad(f, a, b)
Q = 4.666666648763247
Este recurso utiliza, basicamente, o mtodo de Newton Cotes adaptvel que
descrevemos com uma tolerncia na ordem de

106 .

A implementao toma

algumas salva-guardas contra singularidades [21].

7.5 Mtodo do Spline Cbico


Nos mtodos de Newton-Cotes vistos at agora, a integral denida (7.1)
estimada a partir da integrao de uma

Figura 7.4:
vel.

Pontos de avaliao de

no mtodo de Newton-Cotes adapt-

funo interpoladora

polinomial ou

f . A ideia bsica do mtodo


do spline cbico, interpolar f , a partir dos nodos dados, por um spline

polinomial por partes da funo integranda

cbico (como visto na seo 5.4) e estimar o valor de sua integral denida.
Se o intervalo

[a, b]

particionado por

nodos tais que

a = x1 < x2 < . . . < xn = b

CAPTULO 7.

e o spline

S(x)

82

INTEGRAO NUMRICA

Algoritmo 20 QuadSpline3
entrada : x, y
sada : Q
Matriz de coecientes do spline
1:
C CoefSpline3(x, y)
Estimativa para Q

dado por (5.8) e (5.9) ento temos

Q=

f (x) dx
a

S(x) dx
a
n1
X Z xk+1
k=1 xk
n1
X Z xk+1
k=1

xk

2:

sk (x) dx

3:
4:


ak (x xk )3 + bk (x xk )2 + ck (x xk ) + dk dx

5:
(7.13)

6:
7:

n tamanho de x
Q 0
para k 1 : n 1
h xk+1
xk

Ck,3
2

ak 4 bk 3 ck 2
h + hk + hk + dk hk
4 k
3
2

Ck,1
4 h

Q Q +

m

Ck,2
3

h+


h + Ck,4 h

A resoluo da integral (7.13) no complicada (veja Problema 7.21).


Fazendo

hk = xk+1 xk

o tamanho do

k -simo

subintervalo obtemos a

frmula da quadratura pelo mtodo dos splines:

Q=

n1
X
k=1

ak 4 bk 3 ck 2
h + hk + hk + dk hk
4 k
3
2

partir de (7.14):

Q=


(7.14)

Exemplo 7.5. Reconsidere o Exemplo 5.1. Determine a integral denida de f no intervalo de 0 a 6 a partir dos nodos dados aplicando o
mtodo dos splines cbicos.

n1
X
k=1

0,2209 4 0,0000 3 1,5209 2


1 +
1 +
1 + 1,0000 1 +
4
3
2
0,1218 4 0,6627 3 0,8582 2
3 +
3 +
3 + 2,3000 3 +
4
3
2
0,0723 4 0,4338 3 0,1716 2
2 +
2 +
2 + 2,2000 2
4
3
2
= 1,7052 + 7,2650 + 5,6108
=

= 14,5810

Soluo:

Os coecientes do spline cbico interpolador j foram determi-

nados no Exemplo 5.3, portanto necessitamos apenas calcular a integral a

Para efeito de comparao, integrando o polinmio interpolador em


(5.4), obtm-se

Qp = 14.3400.

estimativa para o erro relativo:


O algoritmo
splines cbicos.

A diferena relativa desses valores uma

rel 0,0165

(1 DSE).

QuadSpline3 implementa a quadratura pelo mtodo dos


Observe que na linha 6 a frmula est com o termo

fatorado como na forma de Horner, o que diminui o nmero de operaes


aritmticas.

CAPTULO 7.

83

INTEGRAO NUMRICA

7.6 Problemas
Newton-Cotes simples

R1

7.2.

Re

7.3.

7.4.

R1

7.5.

ex dx.

1
1 x
0

Estude cuidadosamente o mtodo de Newton-Cotes composto e imple-

f,

uma

para as frmulas de ordem


a integral.

para

Sugesto: utilize o programa implementado no Problema 7.7.

7.13.

Considere a integral dada no Problema 7.1.

da integral.

(x + 1)2 (x 1)2 dx.

estimativas para a integral usando


de Newton-Cotes de ordem 2 (regra

(c) Verique se a relao (7.12) satisfeita, isto , verique se

Resolva o sistema linear (7.11) para encontrar os pesos da quadratura

tm =

n = 4.

n = 10.

Use

format long

para

para visualizar os resultados.

Estude cuidadosamente o mtodo de Newton-Cotes simples e implemente

7.14.

Qm,2
Q
16,
Q2m,2
Q

m = 1, 2, 4.

Devido a sua estrutura simtrica, pode-se obter frmulas fechadas para

o mtodo de Newton-Cotes composto. Mostre que a frmula

(= 1, 2, 3, ou 4) e retorna uma

m1
X
1
fi
= h (f0 + fm ) +
2
i=1

"

Qm,1

para a integral. Para vericar a correo da implementao, refaa

o Exemplo 7.1.

com

Newton-Cotes composto
Para as integrais dadas nos Problemas 7.8 a 7.11 a seguir: (a) Determine Q6,1 ,
uma estimativa para a integral usando m = 6 composies do mtodo de NewtonCotes de ordem n = 1; (b) Determine Q3,2 , uma estimativa para a integral usando
m = 3 composies do mtodo de Newton-Cotes de ordem n = 2 [Repare que os
nodos so os mesmos, os pesos que mudam]; (c) Determine a diferena relativa
entre Q6,1 e Q3,2 .

7.8.

Integral do Problema 7.1.

7.9.

Integral do Problema 7.2.

Para vericar a correo da implementao, refaa o Exemplo 7.4.

Q1,2 , Q2,2 , Q4,2 e Q8,2 ,


m = 1, 2, 4, 8 composies do mtodo

do intervalo de integrao e a ordem

7.10.

de composies

(= 1, 2, 3, ou 4) e retorna uma estimativa

de Simpson).

estimativa

que recebe uma funo

do intervalo de integrao, o nmero

(b) Determine

function [Q] = QuadNC(f, a, b, n) que recebe uma funo f , os extremos

function Q = QuadNCComp(f, a, b, m, n)

os extremos

Resolva o sistema linear (7.11) para encontrar os pesos da quadratura de

7.7.
e

7.12.

sen(x) dx.

Newton-Cotes de ordem

Integral do Problema 7.4.

(a) Determine o valor exato

dx.

de Newton-Cotes de ordem

7.6.

mente uma

Para as integrais dadas nos Problemas 7.1 a 7.4 a seguir (a) Aplique as frmulas
de Newton-Cotes de ordem 1, 2, 3 e 4 para estimar as integrais, (b) Determine
o valor exato de cada integral (resolva analiticamente) e (c) Determine o erro
relativo de cada estimativa feita no item (a).

7.1.

7.11.

Integral do Problema 7.3.

fi = f (xi ),
equivalente a

xi = a + ih,

(i = 0, . . . , m),

h=

ba
m

composies de ordem 1.

Newton-Cotes adaptvel

7.15.

Implemente os algoritmo QuadNCAdapt e QuadRec na sua lingua-

gem preferida. Para vericar a correo da implementao, compare as aproximaes obtidas com os valores exatos das integrais dos Problemas 7.1 a 7.4.

As integrais dadas nos Problemas 7.16 a 7.19 a seguir no podem ser resolvidas analiticamente. Use o mtodo de Newton-Cotes adaptvel para estimar o
valor das integrais com tol = 0,5 1012 e kmax = 15.

CAPTULO 7.

7.16.

84

INTEGRAO NUMRICA

y = sen(t) no intervalo
Z p
L=
1 + cos2 (t) dt.

Comprimento da curva

de 0 a

7.17.

Funo Erro. Use

x = 1:
2
Erf(x) =

7.18.

et dt.

a espcie. Use

Integral elptica completa de 1

/2

K(k) =
0

7.19.

k = 0,5:

Sortidos

1
p
dt.
1 k 2 sen2 (t)

7.24.

6
Integral de Fresnel . Use

x = 1:
Z x
 
C(x) =
cos
t2 dt.
2
0

de

.
.

(b) Usando os mesmos conjuntos de nodos, encontre estimativas usando o mtodo


dos

Reconsidere Problema 5.14. Com os

splines

obtidos, estime a integral

splines ;

(c) Determine a diferena relativa entre cada par de estimativas.

7.25.

A cobertura parablica do hangar de dirigveis de Orly, Frana, foi um

audacioso projeto de engenharia em concreto pr-tensionado para a sua poca


Faa a integrao indicada na equao (7.13) e obtenha a equao

(7.14).

7.22.

so equivalentes. Para

ples com ordens 1, 2, 3, e 4;

no intervalo dado.

7.21.

no

(a) Encontre estimativas para a integral usando o mtodo de Newton-Cotes sim-

Splines
7.20.

Os mtodos de Newton-Cotes simples e splines

vericar isso, considere a integral do Problema 7.1:

(1923). Destrudo na 2

a guerra mundial, possua cerca 90 m de largura, 60 m de

altura e 175 m de comprimento.

Implemente o algoritmo QuadSpline3 na sua linguagem preferida.

(a) Mostre que o arco parablico pode ser descrito por

Para vericar a correo da implementao, refaa o Exemplo 7.5.

7.23.



4x2
f (x) = H 1 2 .
L

A gura a seguir mostra o uxo de veculos na rodovia BR-101 na vspera

de ano novo de 2009 [41]. O uxo, medido de hora em hora, dado em veculos
por minuto.

Use a quadratura por

splines

para estimar a

quantidade total

de

veculos que trafegaram no perodo de 24 horas do dia 30 de dezembro. Ateno:


informao que no consta na gura:

26 veculos/min s 24 h.

Augustin-Jean

Cuidado com as

do arco parablico resolvendo

L/2

S=

unidades de medida.
6

(b) Determine o comprimento

Fresnel (1788 - 1827), engenheiro e fsico francs.

Suas mais

importantes contribuies esto no estudo do comportamento ondulatrio da luz, tanto


de forma experimental quanto terica. As

integrais de Fresnel

campo distante em fenmenos de difrao ptica [54].

surgem da descrio do

L/2

1 + [f 0 (x)] dx.

CAPTULO 7.

85

INTEGRAO NUMRICA

y
H

L2

7.26.

L
2

O maior dos tanques cilndricos, mostrados na gura a seguir, tem dimetro

D = 1,5 m,

comprimento

C = 4m

com lquido at a altura

h = 1,2 m.

D
h

O volume de lquido dado pela integral

Z
V (h) = 2C
0

p
x(D x) dx.

(a) Determine uma estimativa numrica para o volume de lquido no tanque.


(b) Determine o erro relativo entre o resultado numrico obtido acima e o resultado exato obtido por


V (h) = C





D2
D p
D2
2h
+ h
h(D h)
arcsin 1
.
8
2
4
D

Captulo 8

Equaes Diferenciais Ordinrias


8.1 Denio do problema

Se o mtodo de resoluo utiliza nodos igualmente espaados (ti+1


dizemos que ele de

Equaes

diferenciais

u0 , u00 , . . . , u(k) .

combinam uma funo incgnita

passo xo.

ordinria.

denidas em um intervalo

u e suas derivadas:

ordem

de uma equao diferencial dada

8.2 Mtodo de Euler

Rn e restritas a condies de contorno (ou

1 toma por base a expanso de

O mtodo de Euler

iniciais) nas bordas do intervalo. Resolver uma equao diferencial, implica


determinar a funo incgnita

u que satisfaz a equao e suas condies de


u(t + h) = u(t) + u0 (t)h +

contorno. Existem inmeras maneiras de construir equaes diferenciais e


as tcnicas de resoluo dependem da classicao da equao [7].

Problema de Valor Inicial (PVI), se constitui em uma equao

diferencial ordinria cuja soluo

u(t) est denida em um intervalo fechado

0
u = F (t, u)
atb

u(a) = ua ,

Trocando

funo incgnita a
A resoluo

u(ti )

por

ti

(intervalo)

(8.1)

u0 (t)

por

F (ti , ui )

temos

u(ti + h) u(ti ) + F (ti , ui )h.

(valor inicial)
1

u00 (t)h2
u(k) ()hk
+ +
.
2!
k!

u(t + h) u(t) + u0 (t)h.

(equao diferencial)

0
determina a derivada u em termos de

u em sua srie de Taylor:

Truncando a srie a partir do segundo termo, obtm-se a aproximao

e restrita a assumir um valor especicado no incio do intervalo:

onde a funo

Nesse

Se a funo incgnita dependente de apenas uma varivel,

a equao dita

[a, b]

= ti +h),

passo varivel.

captulo, nos ocuparemos de alguns mtodos de passo xo.

por sua derivada de mais alta ordem. As equaes diferenciais podem ser

Um

Caso contrrio de

e de da prpria

Leonhard Euler (1707 - 1783), matemtico suo, fez inmeras contribuies para

a matemtica e fsica, incluindo geometria analtica, trigonometria, geometria, clculo


e teoria dos nmeros. A produo cientca de Euler surpreendente: por 50 anos aps

u.

numrica

a sua morte, a Academia de Cincias de So Petersburgo ainda publicava seus artigos

de um PVI consiste em determinar os valores de

para um conjunto de nodos

ti

em

f (x) para funes, e para a base dos


para a razo entre a circunferncia
2
somatrio, y, y, . . . para diferenas nitas e

inditos. Devemos a Euler algumas notaes como

[a, b]:

logaritmos naturais,

para a unidade imaginria,

e o dimetro de um crculo,
muitas outras [38].

a = t1 < t2 < . . . < tn = b.

86

para o

CAPTULO 8.

87

EQUAES DIFERENCIAIS ORDINRIAS

Assim obtemos as frmulas recursivas:

ti+1 = ti + h
ui+1 = ui + F (ti , ui )h.

Exemplo 8.1. Use o mtodo de Euler para resolver o PVI


0
u = 1 + t 2u
0t1
,

u(0) = 1

com passo h = 0,2.

Soluo:

Das condies iniciais temos

t1 = 0;
Das frmulas recursivas, temos

u1 = 1.

F (ti , ui ) = 1 + ti 2ui .

E, assim:

Figura 8.1:

t2 = t1 + h = 0 + 0,2 = 0,2
u2 = u1 + F (t1 , u1 )h

Algoritmo 21 EDOEuler
entrada : F, a, b, ua , h
sada : t, u
Inicializao

= 1 + F (0, 1) 0,2
= 1 1 0,2

= 0,8

A tabela a seguir mostra os valores obtidos para os pontos seguintes.

ti

ui

F (ti , ui )

0,0000

1,0000

-1,0000

0,2000

0,8000

-0,4000

0,4000

0,7200

-0,0400

0,6000

0,7120

0,1760

0,8000

0,7472

0,3056

1,0000

0,8083

1:
2:
3:
4:
5:
6:
7:
8:
9:

A Figura 8.1 mostra os valores calculados.

10:
11:

O algoritmo

EDOEuler

Soluo do PVI com o mtodo de Euler (h

12:
sistematiza o mtodo de Euler.

n b1 + (b a)/hc
t Zeros(n, 1)
u Zeros(n, 1)
i 1
ti a
ui ua
Determinao de u(t)
enquanto ti < b
k F (ti , ui )
ti+1 ti + h
ui+1 ui + kh
i i + 1

m

= 0,2).

CAPTULO 8.

88

EQUAES DIFERENCIAIS ORDINRIAS

Anlise de erro
A soluo exata (analtica) do PVI dado no Exemplo 8.1

u
(t) =


1
3e2t + 2t + 1 ,
4

(8.2)

ui calculados
exatos u
i e os erros

(veja o Problema 8.1). A tabela a seguir mostra os valores


pelo mtodo de Euler com passo

h = 0,2,

os valores

=uu
.
i

ui

u
i

1,0000

1,0000

0,0000

0,8000

0,8527

-0,0527

0,7200

0,7870

-0,0670

0,7120

0,7759

-0,0639

0,7472

0,8014

-0,0542

0,8083

0,8515

-0,0432

Figura 8.2:

O erro mximo cometido max = 0,0670. Pode-se mostrar [8] que


max = O(h), isto , o erro proporcional ao tamanho do passo. Para
h = 0,1 obtemos max = 0,0301 e para h = 0,05 temos max = 0,0144.
A Figura 8.2 mostra as estimativas de soluo para o PVI do Exemplo 8.1 com

h = 0,2, h = 0,1

h = 0,01.

Mostra tambm a soluo exata

dada por (8.1).

F0

F 00

proporcional ao passo

h.

so dadas por

F (t,u) +
F (t,u) u0 ,
t
u

0
F 00 (t,u) = F 0 (t,u) +
F (t,u) u0 .
t
u
F 0 (t,u) =

No entanto, exige a determinao das derivadas de ordem superior de

em sua srie de Taylor

truncada a partir do segundo termo. Pode-se obter extenses do mtodo,


truncando a srie em termos de ordem superior. Por exemplo, truncando
(8.1) a partir do quarto termo obtemos:

ui+1 = ui + F (ti ,ui )h + F 0 (ti ,ui )

Observe que as derivadas

Com esse mtodo se obtm boas aproximaes (veja Problema 8.17).

Mtodos com base na srie de Taylor


O mtodo de Euler toma por base a expanso de

No mtodo de Euler, o erro

h3
h2
+ F 00 (ti ,ui ) .
2!
3!

(8.3)

o que nem sempre vivel.

F,

CAPTULO 8.

89

EQUAES DIFERENCIAIS ORDINRIAS

8.3 Mtodo de Runge-Kutta


2

O mtodo de Runge -Kutta

3 pode ser visto como um desenvolvimento do

mtodo de Euler. Se a funo

(a, b)

u(t) for contnua e diferencivel no intervalo

ento a equao diferencial

u0 (t) = F (t, u)
[ti , ti+1 ]

que pode ser integrada no intervalo

ti+1

com

ti+1

F (s, u(s)) ds.

u (s) ds =
ti

ti
obtendo

ti+1

Figura 8.3:

F (, u( )) d

ui+1 = ui +
= ui + Qi .

ui+1 devemos estimar o valor da


u(s) nem F (s, u(s)). Veja a Figura 8.3.

Uma forma de estimar a integral em (8.4), o

integral

Qi ,

j que no se

calculada no

incio

mtodo de Euler, fazer

e no

David Tolm Runge (1856  1927) fsico-matemtico alemo. Desenvolveu

o seu mtodo numrico para a resoluo das equaes diferenciais que surgem do estudo de espectros atmicos. Seu trabalho seminal

ber emperische

functionen und die interpolation zwischen quidistanten ordinaten de 1901.

Runge sem-

pre foi atltico e ativo, na festa de aniversrio de 70 anos divertiu seu netos e amigos
plantando bananeira [38, 31, 20].

Martin

ramento,

Wilhelm Kutta (1867 - 1944) engenheiro alemo.

Sua tese de douto-

Beitrge zur nherungsweisen Integration totaler Dierentialgleichungen


a

1900, contm o desenvolvimento at a ordem 5


Kutta [38, 9].

regra do

[ti , ti+1 ]:

ui+1 = ui + 12 (k1 + k2 )h
que d origem ao mtodo de

O(h2 ).

de

do hoje denominados mtodos de Runge-

k1
F em ti+1 .

Observe que

estimativa

ber die numerisehe Autising yon

foi escrito em 1895. O problema da oscilao do polinmio in-

terpolador nos extremos de um intervalo (Cap. 5) foi descrito em seu

do intervalo

k2 = F (ti + h, ui + k1 h)

regra do retngulo do mtodo de NewtonCotes (como visto no Captulo 7) com o nodo no incio do intervalo [ti , ti+1 ].

Dierentialgleichungen

m

k1 = F (ti , ui )

que nada mais do que aplicar a

Carle

pode ser estimado por uma adaptao

Um modo engenhoso de melhorar essa estimativa usar a

trapzio

Qi F (ti ,ui )h,

Qi

(8.4)

Para encontrar
conhece

O valor da integral

do mtodo de Newton-Cotes.

ti

para

Runge-Kutta de ordem 2, pois max =


exato de F no em ti mas k2 uma

o valor

Outra forma de estimar a integral em (8.4) dada por uma adaptao

da

1a regra de Simpson :

k1 = F (ti , ui )
k2 = F (ti + h2 , ui + k1 h2 )
k3 = F (ti + h2 , ui + k2 h2 )
k4 = F (ti + h, ui + k3 h)
ui+1 = ui + 16 (k1 + 2k2 + 2k3 + k4 ) h

CAPTULO 8.

que d origem ao mtodo de

O(h4 ).
k2 e k3

Observe que
so

90

EQUAES DIFERENCIAIS ORDINRIAS

k1

estimativas

Runge-Kutta de ordem 4, pois max =


exato de F no incio do intervalo [ti , ti +h],

Das frmulas recursivas, temos

o valor
para

no meio do intervalo e

k4

para

E, assim:

t2 = t1 + h = 0 + 0,2 = 0,2

no m do

k1 = F (ti , ui ) = F (0, 1) = 1,0000

intervalo.

k2 = F (ti + h2 , ui + k1 h2 ) = F (0,1; 0,9) = 0.7000

A Figura 8.4 mostra, esquematicamente, os pontos de avaliao de

k = F (t,u)

F (ti , ui ) = 1 + ti 2ui .

k3 = F (ti + h2 , ui + k2 h2 ) = F (0,1; 0,93) = 0,7600

nos mtodos de Runge-Kutta de ordem 2 e 4.

k4 = F (ti + h, ui + k3 h) = F (0,2; 0,8480) = 0,4960


k=

1
6

(k1 + 2k2 + 2k3 + k4 ) = 0,7360

ui+1 = ui + kh = 1 0,7360 0,2 = 0,8528


A tabela a seguir mostra os valores obtidos para os pontos seguintes.

Figura 8.4:

Pontos de avaliao de

F (t,u)

nos mtodos de Runge-Kutta de

ti

ui

k1

k2

k3

k4

0,0

1,0000

-1,0000

-0,7000

-0,7600

-0,4960

-0,7360

0,2

0,8528

-0,5056

-0,3045

-0,3447

-0,1677

-0,3286

0.4

0.7871

-0.1742

-0.0393

-0.0663

0.0524

-0.0555

0.6

0.7760

0.0480

0.1384

0.1204

0.1999

0.1276

0.8

0.8015

0.1970

0.2576

0.2455

0.2988

0.2503

1,0

0.8516

ordem 2 e 4.
A Figura 8.5 mostra os valores calculados usando o mtodo de Euler e

Exemplo 8.2. Use o mtodo de Runge-Kutta de 4a ordem para resolver o PVI dado no Exemplo 8.1 com passo h = 0,2.

Soluo:

Das condies iniciais temos

t1 = 0;

u1 = 1.

o mtodo de Runge-Kutta de ordem 4.

O algoritmo

EDORK4

sistematiza o mtodo de Runge-Kutta 4.

Anlise de erro
a ordem no

O erro mximo cometido pelo mtodo de Runge-Kutta de 4

max = 8,0842

105 . Pode-se mostrar que

max = O(h ),
a
isto , o erro proporcional a 4 potncia do tamanho do passo, o que
Exemplo 8.2

h = 0,1
= 4,3477106 e para h = 0,05 temos max = 2,4993107 . Na

garante um DSE a mais cada vez que se divide o passo por 2: Para
temos max

ausncia da resposta exata, uma maneira usual de avaliar o erro cometido


comparar os valores obtidos para dois tamanhos de passo (h e

h/2).

CAPTULO 8.

91

EQUAES DIFERENCIAIS ORDINRIAS

Algoritmo 22 EDORK4
entrada : F, a, b, ua , h
sada : t, u
Inicializao
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:

Figura 8.5:
(h

= 0,2).

Solues do PVI com o mtodo de Euler e Runge-Kutta 4

14:
15:
16:

n 1 + (b a)/h
t Zeros(n, 1)
u Zeros(n, 1)
i 1
ti a
ui ua
Determinao de u(t)
enquanto ti < b
k1 F (ti , ui )
k2 F (ti + h2 , ui + k1 h2 )
k3 F (ti + h2 , ui + k2 h2 )
k4 F (ti + h, ui + k3 h)
k 16 (k1 + 2(k2 + k3 ) + k4 )
ti+1 ti + h
ui+1 ui + kh
i i + 1

m

CAPTULO 8.

Usando o Matlab

o comando

92

EQUAES DIFERENCIAIS ORDINRIAS

ode45.

Para determinar a soluo de um PVI podemos usar

Usando o Matlab

Sendo

um vetor de duas componentes, pode-se

denir uma funo vetorial com

>> F = @(t,u) 1 + t - 2*u


F =
@(t,u)1+t-2*u
>> a = 0; b = 1; ua = 1;
>> [t, u] = ode45(F, [a b], ua)
t =
0 0.0250 0.0500 ...
u = 1.0000 0.9759 0.9536 ...

>> F = @(t, u) [2*u(1) - u(2), t - (u(2))^2]

0.9500
0.8372

0.9750
0.8442

Este recurso utiliza o mtodo de Runge-Kutta de ordem 4.

1.0000
0.8515

Exemplo 8.3. Use o mtodo de Runge-Kutta de 4a ordem para resolver o PVI acoplado dado a seguir com h = 0,2.
u01 = 2u1 u2
u02 = t u22

Com a ajuda de

um mtodo de Runge-Kutta de ordem 5, o algoritmo consegue, a cada passo,


estimar o erro cometido. O tamanho do passo pode ser reduzido ou aumentado
comparando o erro estimado com uma tolerncia dada. Esse tipo de mtodo
dito de passo varivel

no intervalo 0 t 1 com as condies iniciais


u1 (0) = 1,

PVI acoplados e de segunda ordem


Um conjunto de funes

u1 (t), u2 (t), . . . , um (t)

Soluo:
que devem satisfazer

A tabela a seguir mostra os valores obtidos para os pontos

seguintes.

0
u = F1 (t, u1 , u2 , . . . , um )

10
u2 = F2 (t, u1 , u2 , . . . , um )

0
um = Fn (t, u1 , u2 , . . . , um )
todas no intervalo

atb

u1 (a) = u1a ,
dito um PVI

com as condies iniciais

u2 (a) = u2a ,

...,

um (a) = uma ,

acoplado com m equaes diferencias e condies iniciais.


vetorialmente como

O sistema pode ser descrito

0
u = F(t, u)
atb

u(a) = ua ,
0
onde u, u e

ua

so vetores de

componentes.

Do ponto de vista computacional, os mtodos de Euler e Runge-Kutta


continuam vlidos e os algoritmos so facilmente adaptados para receber
entradas

vetoriais.

u2 (0) = 2.

u(i)

ti

0.0

[1.0000

2.0000]

[0.3630

-2.7744]

0.2

[1.0726

1.4451]

[1.0376

-1.3761]

0.4

[1.2801

1.1699]

[1.7993

-0.6941]

0.6

[1.6400

1.0311]

[2.8048

-0.2932]

0.8

[2.2009

0.9724]

[4.2240

-0.0324]

1.0

[3.0457

0.9660]

A Figura 8.6 mostra os valores calculados usando o mtodo de Euler e


o mtodo de Runge-Kutta de ordem 4.

Um PVI de

segunda ordem descrito por


00
u = F (t, u, u0 )

atb
.
u(a) = ua

0
u (a) = va

CAPTULO 8.

93

EQUAES DIFERENCIAIS ORDINRIAS

Soluo:

Fazendo a transformao

v = u0

obtemos:

0
u =v

v 0 = u
0 t 2 .

u(0) = 0

v(0) = 1
A resoluo numrica do problema ca como exerccio (Veja o Problema 8.25).

8.4 Problemas
Mtodo de Euler

Figura 8.6:

Solues do PVI acoplado Runge-Kutta 4 (h

= 0,2).

Uma tcnica de resoluo consiste em reescrev-los como PVI acoplados


de primeira ordem, mediante a transformao

v = u0 :

0
u =v

v 0 = F (t, u, v)
atb
,

u(a) = ua

v(a) = u0 (a) = va

Exemplo 8.4. Reescreva o PVI de segunda ordem


00
u = u

0 t 2
u(0) = 0

0
u (0) = 1

como um PVI acoplado.

Nos Problemas 8.1 a 8.4 a seguir so dados um PVI e sua soluo exata (analtica). (a) Use o mtodo de Euler para estimar u(t) com o passo sugerido. Faa
uma tabela contendo os valores de i, ti , ui e k. (b) Desenhe os pontos (ti , ui ) calculados juntamente com a soluo exata. (c) Determine o maior erro cometido.

8.1.

Soluo exata:

8.2.

Soluo exata:

8.3.

Soluo exata:

0
u = u
0t1 ,

u(0) = 1
u
(t) = et .

Use passo

h = 0,2

0
u = 1 u/t
1t3
,

u(0) = 5/2
u
(t) = t/2 + 2/t.

Use passo

h = 0,5

0
u = 3u + 6t + 5
0t1
,

u(0) = 3
u
(t) = 2e3t + 2t + 1.

Use passo

h = 0,2

CAPTULO 8.

8.4.

8.5.

Sortidos

0
u = t2 (5 u)
0t2
,

u(0) = 0

Soluo exata:

94

EQUAES DIFERENCIAIS ORDINRIAS

u
(t) = 5 5et

/3

. Use passo

8.16.

Verique que a soluo do PVI dado no Exemplo 8.1 , de fato, a funo

mostrada na equao (8.2).

h = 0,25

8.17.

Implemente o algoritmo EDOEuler na sua linguagem preferida. Para

vericar a correo da implementao, compare os resultados obtidos com o

Reconsidere o PVI dado no Exemplo 8.1.

(a) (a) Mostre que

Exemplo 8.1.

Considere os PVI dados nos Problemas 8.6 a 8.9 a seguir. (a) Use o mtodo
de Euler para estimar u(t). Desenhe os pontos (ti , ui ) calculados juntamente com
a soluo exata. (b) Determine o maior erro cometido.

8.6. PVI dado no Problema 8.1. Use passo h = 0,01.


8.7. PVI dado no Problema 8.2. Use passo h = 0,02.
8.8. PVI dado no Problema 8.3. Use passo h = 0,05.
8.9. PVI dado no Problema 8.4. Use passo h = 0,10.
8.10. O mtodo de Euler pode ser bastante instvel,

F 0 (t,u) = 1 2t + 4u,

F 00 (t,u) = 2 + 4t 8u.

(b) Modique o algoritmo EDOEuler para obter um mtodo com base na srie
de Taylor dada por (8.3), isto , reescreva o algoritmo de modo que ele receba
como entradas tanto

F (t, u)

h = 0.1, . . . , 0.5

8.18.

F 00 (t,u).

Resolva o PVI dado

Em uma populao

sucientemente grande, seja

a quantidade de pes-

soas que conhecem um boato. A velocidade de espalhamento do boato (difuso


especialmente para pro-

social) pode ser modelada por

du
= k u(n u),
dt

na soluo do PVI

0
u = 5u
0t5 ,

u(0) = 5
cuja soluo exata

F 0 (t,u)

no Exemplo 8.1 e compare os resultados com a soluo exata dada por (8.2).

blemas envolvendo equaes com efeito de amortecimento abrupto. Verique o


efeito dos passos

quanto

isto , a velocidade proporcional ao nmero de pessoas que conhecem o boato

t seja
k = 1/1000 e 2 pessoas do incio a um boato no momento t = 0
populao de n = 1000 pessoas. Determine em quantos dias o boato

multiplicado pelo nmero de pessoas que no o conhecem. Suponha que


medido em dias,

u
(t) = 5e5t .

em uma

atinge 800 pessoas.

Mtodo de Runge-Kutta

8.11.

8.19.

Implemente o algoritmo EDORK4 na sua linguagem preferida. Para ve-

ricar a correo da implementao, compare os resultados obtidos com o Exemplo 8.2.

Considere os PVI dados nos Problemas 8.12 a 8.15 a seguir. (a) Use o
mtodo de Runge-Kutta para estimar u(t). Desenhe os pontos (ti , ui ) calculados
juntamente com a soluo exata. (c) Determine o maior erro cometido.

8.12.
8.13.
8.14.
8.15.

PVI dado no Problema 8.1. Use passo

h = 0,01.

PVI dado no Problema 8.2. Use passo

h = 0,02.

PVI dado no Problema 8.3. Use passo

h = 0,05.

PVI dado no Problema 8.4. Use passo

h = 0,10.

Pirlise um processo qumico no qual um composto (slido ou lquido)

volatilizado sob altas temperaturas e ausncia de oxignio. Se

a frao de

material volatilizado, a taxa de transformao em funo da temperatura

do

reator pode ser modelada por



A
E
d
= exp
(1 ),
dT

RT
a taxa de aquecimento do reator, E a
R a constante universal dos gases [27]. Em
1
um experimento, determinou-se que A = 0,005 min
, E = 0,530 J/mol, R =
J
K
8,314 /molK, = 0,300 /min. Resolva o PVI com 300 T 500 K. Desenhe o
grco de T e determine a que temperatura 0,90.

onde

o fator pr-exponencial,

energia de ativao do processo,

CAPTULO 8.

8.20.

A funo erro

Erf(x)

(como no Problema 7.17).


diferencial

geralmente

denida

a partir da sua forma integral

No entanto, pode ser denida a partir da equao

2
2
d
Erf(x) = ex ,
dx

Compare o resultado com a funo

erf

u(t)

A amplitude

(em radianos) de um pndulo (ideal) pode ser modelada

pelo PVI de segunda ordem

= sen()

0t
,

(0) = 0


(0) = v0

Erf(x)

no intervalo

0 x 2.

do Matlab. (adaptado de [34])

Reconsidere o PVI dado no Problema 8.4. Desenhe em uma mesma gura,

os grcos de

8.26.

Erf(0) = 0.

Resolva o PVI acima para desenhar o grco de

8.21.

95

EQUAES DIFERENCIAIS ORDINRIAS

para os seguintes valores iniciais:

ua = 0, 1, 2, 3, 4, 5, 6.

O que

onde

o comprimento do pndulo e

a acelerao gravitacional. Se a ampli-

tude de oscilao pequena, o perodo dado por

T = 2

L/g .

essa familia de solues tem em comum?

8.22.

(a) Fixe

Reconsidere o PVI dado no Problema 8.3.

(a) Determine o erro mximo

h = 0,08; 0,04; 0,02; 0,01.

max

cometido pelo mtodo de Euler usando

Verique que o erro proporcional a

h:

aproxi-

2.

que o erro proporcional a


por 2 o erro dividido por

sejam

h4 : aproximadamente,
24 = 16.

Verique

quando o passo dividido

Modique a implementao do algoritmo EDORK4 para que

vetores,

assim ser possvel resolver PVI acoplados.

F, u

Para vericar a

correo da implementao, compare os resultados obtidos com o Exemplo 8.3.

8.24.

O modelo de Lotka-Volterra um clssico em ecologia matemtica. Seja

um ecossistema constitudo de

c(t)

coelhos (presas) e

r(t)

raposas (predadores).

As taxas de crescimento das populaes so dadas por

dc
= c cr
dt
dr
= cr r
dt
c(0) = 300 e
c(t) e r(t) no intervalo 0 t 10. Use os
= 2, = = 0,01 e = 1. Observe que o padro

Supondo as populaes iniciais de coelhos e raposas como sendo

r(0) = 150,

desenhe o grco de

seguintes parmetros:

populacional peridico: Qual o perodo?.

8.25.
sen(t).

L = 1m

e determine o perodo de oscilao terico do

(b) Modele o PVI de segunda ordem como um PVI acoplado, resolva-o numericamente usando

0 = 0

v0 = 1,

desenhe um grco e verique se o perodo

encontrado similar ao previsto;


(c) Aumente gradativamente a velocidade inicial e verique o que ocorre com o

(b) Faa o mesmo procedimento usando o mtodo de Runge-Kutta.

8.23.

pndulo;

madamente, quando o passo dividido por 2 o erro tambm dividido por

ua

g = 10 m/s2

A soluo exata do PVI de segunda ordem dado no Exemplo 8.4


Resolva numericamente o PVI (Use

grco as solues numrica e exata.

h = 0,1)

u(t) =

e desenhe em um mesmo

perodo de oscilao.

Apndice A

Respostas para problemas selecionados


Captulo 1

1.27. Um script pode ser escrito assim:

1.1.

a = 2^5, b = sqrt(7)

1.3.

a = cosd(60), b = tan(pi/4)

1.5.

a = abs(-5), b = factorial(9)

1.7.

x = [6 2 0 5], y = [6 2 0 5]'

1.9.

z = zeros(1,20)

1.11.

A = [1 7; -4 3]

1.13.

a = -18.3333.

1.15.

c = 5.3948.

1.17.

w = 1.5708, e = 1.

Verique a ordem de precedncia dos operadores:

O comando

ln

1.21. A vrgula

separador

\, *, +, -.

determina o logaritmo natural de

Observe que

1.19. O comando

1.23. O polinmio

log(y)

cos(/2)

y.

1.29. Um script pode ser escrito assim:

= e = 1.

no existe. O correto usar

clear all
clc
n = 5
x = rand(1,n)
s = 0
for i = 1:n
s = s + x(i)
end
m = s/n

a = log(5).

de elementos. O correto

3,3x2 + 174,2x 6627,7.

clear all
clc
clf
x = -1 : 0.01 : 3;
y = (x + 1)./(x - 1);
plot(x,y)
grid on
legend('i(x) = (x + 1)/(x - 1)')
xlabel('x')
ylabel('i(x)')
title('Problema 1.27')

t = cos(3.1416).

Observe o fator

103

multiplicando os

elementos do vetor.
1.25. Um script pode ser escrito assim:

clear all
clc
clf
x = -3 : 0.01 : 3;
y = exp(-x) - 1;
plot(x,y)
grid on
legend('g(x) = exp(-x) - 1')
xlabel('x')
ylabel('g(x)')
title('Problema 1.25')

A funo pode ser escrita assim:

function [m] = Media(x)


n = length(x);
s = 0;
for i = 1:n
s = s + x(i);
end
m = s/n;
96

APNDICE A.

O comando

97

RESPOSTAS PARA PROBLEMAS SELECIONADOS

m = mean(x)

F(1) = 1;
F(2) = 1;
for i = 3 : k
F(i) = F(i-1) + F(i-2);
R(i) = F(i)/F(i-1);
end

calcula a mesma mdia

1.31. Uma funo pode ser escrita assim:

function s = SomaMatriz(A)
[m, n] = size(A);
s = 0;
for i = 1 : m
for j = 1 : n
s = s + A(i,j);
end
end
O comando

m = sum(sum(A))

A sequncia
minada

function d = Divisores(n)
k = 0;
for t = 1 : n
if rem(n,t) == 0
k = k + 1;
d(k) = t;
end
end
(a)

Para grau 4,

adies.

(b)

multiplicaes e

m, F

= ( 5 + 1)/2 = 1,618033988749895 . . .

2.1.

(a)  = 0,0039 (b) Fmin = 1,0842 1019 (c) Fmax = 3,6821 10+19

2.3.

Overow

2.5.

exato = 3ff0000000000000, aprox = 3fefffffffffffff.

um truncamento para innito. Por exemplo:

m(m + 1)/2

usa 4 multiplicaes e 4

multiplicaes e

adies.

adies.

usa

So necessrios 2000 termos.


1.39. Uma funo pode ser escrita assim:

function R = FibonacciRazaoAurea(k)
if k < 2
error('k deve ser igual ou maior que 2!')
end
F = zeros(k, 1);
R = zeros(k, 1);

 = 2,2204 1016 .

(b) rel = 1,0000 106 (c) DSE = 6

2.11.

(a)  = 1,0000 10

2.13.

(a)  = 1,2019 106 (b) rel = 7,4279 107 (c) DSE = 6

2.15.

DSE 6.

2.17.

rel < 0,5 105 .

2.19.

rel(1) = 5,2816 103 , rel(2) = 6,0164 103 , rel(3) = 4,5070 102 ,


rel(4) = 4,0250 104 , rel(5) = 2,3559 105 , rel(6) = 6,5842 103 , rel(7) =
8,4914 108 .

2.21.

t3 = 0,707143045779360, rel(3) = 5,1286 105 , t6 = 0,707106781179619,


rel(6) = 9,7977 1012 , t9 = 0,707106781186547, rel(9) = 0.

1.37. Uma funo pode ser escrita assim:

function [p] = Pi_Leibniz(n)


soma = 0;
num = -1;
for i = 1 : n
num = -num;
den = 2*i - 1;
soma = soma + num / den;
end
p = 4 * soma;

a = 10^10^10^10.

n = 49.

2.9. Para a maioria dos sistemas computacionais

usa

deno-

razo urea.

2.7. A primeira desigualdade ocorre para

usa 10 multiplicaes e 4 adies,

Para grau

aproxima-se de

Captulo 2

calcula a mesma soma.

1.33. Uma funo pode ser escrita assim:

1.35.

Rk

2.23. Dica: Faa a expanso de

x
m = (x )m

e elimine os termos com

2.25. Observe a sequncia:

k
1
2
3
4
5
...
15
16
17
18
19
20

x(k)
1.000000000000
1.732050807569
1.931851652578
1.982889722748
1.995717846477
...
1.999999995915
1.999999998979
1.999999999745
1.999999999936
1.999999999984
1.999999999996

dif_rel(k)
+Inf
-4.23e-01
-1.03e-01
-2.57e-02
-6.43e-03
...
-6.13e-09
-1.53e-09
-3.83e-10
-9.57e-11
-2.39e-11
-5.98e-12

err_rel(k)
-5.00e-01
-1.34e-01
-3.41e-02
-8.56e-03
-2.14e-03
...
-2.04e-09
-5.11e-10
-1.28e-10
-3.19e-11
-7.98e-12
-1.99e-12

2 ,  3 , . . . ,  m .

APNDICE A.

98

RESPOSTAS PARA PROBLEMAS SELECIONADOS

Captulo 3
3.1.

(a)

(b)

k
1
2
3
4

Veja o grco:

Veja a tabela:

a
x
-1.0000 0
-1.0000 -0.5000
-1.0000 -0.7500
-0.7500 -0.6250

b
1.0000
0
-0.5000
-0.5000

fa
fx
-0.4597 1.0000
-0.4597 0.3776
-0.4597 -0.0183
-0.0183
0.1860

3.5.

k > 1 + 12 log2 (10) = 40,8631,

3.7.

z = 7,280109889281903, rel = 3,1232 1013 , k = 42.

3.9.

z = 0,739085133214985, rel = 3,0764 1013 , k = 43.

logo

k = 41.

3.11. Dica: Faa um desenho mostrando a posio de


Suponha que
3.13.

(b)

k
1
2
3
4
3.3.

(a)

(a)

bk1 ak1 = 4h.

Veja o grco:

Veja a tabela:

a
0
5.0000
5.0000
6.2500

x
5
7.5000
6.2500
6.8750

b
10
10.0000
7.5000
7.5000

fa
-53
-28.0000
-28.0000
-13.9375

fx
-28
3.2500
-13.9375
-5.7344

fb
47
47.0000
3.2500
3.2500

erel
Inf
-0.3333
0.2000
-0.0909

Veja o grco:

(b) f 0 (x) = 3x2 2 (c)

k
1
2
3
4
3.15.

(a)

x
2.5000
2.1642
2.0971
2.0946

f(x)
5.6250
0.8079
0.0289
0.0000

Veja o grco:

Veja a tabela:

f'(x)
16.7500
12.0510
11.1939
11.1615

fb
erel
1.5403
Inf
1.0000 -1.0000
0.3776 -0.3333
0.3776
0.2000

erel
Inf
0.1552
0.0320
0.0012

ak1 , xk1 , bk1 , ak , xk

bk .

APNDICE A.

(b) f 0 (x) = 1 + sen(x) (c)

k
1
2
3
4

99

RESPOSTAS PARA PROBLEMAS SELECIONADOS

x
1.0000
0.7504
0.7391
0.7391

3.17. Dica: Substitua

f(x)
0.4597
0.0189
0.0000
0.0000

(b) z = 4,965114231744277, max = 8,293892607811290 107 .

Veja a tabela:

f'(x)
1.8415
1.6819
1.6736
1.6736

f (xk1 ) = x2k1 53

erel
Inf
0.3327
0.0152
0.0000
e

3.35.

f 0 (xk1 ) = 2xk1

(a)

Veja o grco:

em (3.1) e faa as

simplicaes necessrias.
3.19.

z = 2.094551481542327, rel = 0, k = 7.

3.21.

z = 0.739085133215161, rel = 0, k = 6.

3.23. Veja a tabela:

f(x)
x.^3 - 2*x - 5
x + log(x)
x - cos(x)
x * cos(x^2)

x_ini
1.0
0.5
1.0
1.2

z
2.094551481542327
0.567143290409784
0.739085133215161
1.253314137315500

k(orig.)
11
6
6
6

x1 = 2,0000 tem-se x2 = 4,0000; x3 = 5,3333; x4 = 6,5641


xk +.
r
r
q
q
3 29
31
31
z = 3 29
+
+
108
+ 31
54
108
54

3.25. A partir de

3.27.

3.31.

z = 11,861501508119545, rel = 3,0670 1013 , k = 39.



f (i) = 249 1 (1 + i)12 2499 i, i = 0,0286.

3.33.

(a)

3.29.

k(mod.)
10
5
5
5

Veja o grco:

com

(b) t1 = 0,004615059332323, t2 = 0,019321607610775, t3 = 0,023947605178773.


3.37. Usando

tol = 0,5 1012

obtemos os zeros com a quantidade de passos dada na

tabela:

f(x)
z
x^2 - 53
7.28010988928
sqrt(x^2 + 1) - x^2
1.27201964951
x + cos(x)
-0.739085133215
exp(-x) + x^2 - 10
3.15553233080

k(Bis.)
38
43
43
41

k(I. Lin.)
10
40
12
14

APNDICE A.

Captulo 4

4.25. A tabela a seguir mostra o nmero de passos utilizados em cada mtodo:

4.1.

x = [1

2]T .

4.3.

x = [1

4.9. Usando
obtemos
4.11.

5]T .

SLGaussProv obtemos x
x2 = [1

= [3

1]T

(errado!). Usando

(correto!).

SLGauss

x(1)
1
1.5000
2.2500
2.1250

norm para calcular a norma euclidiana.






0,0 0,5
1
C=
e d =
, obtemos
0,5 0,0
3

Erel
Inf
0.5423
0.2485
0.1395

0,00 0,25
0,20
0,00
Obtemos, a partir de C =
0,10 0,40

A =
os valores:

x(2)
1
2.5000
2.2500
1.8750

b =

0,05
1,6
0,20 e d = 2,0 , obtemos
0,00
1,4

os valores:

k
1
2
3
4

x(1)
1
1.3000
2.0550
1.9765

x(2)
1
-2.0000
-1.9200
-2.0030

4.21. Obtemos, a partir de

x(3)
Erel
1
Inf
0.9000
1.1832
2.0700
0.3994
1.9625
0.0457

0,0 0,4 0,2


0,0 0,4
C = 0,4
0,2 0,4
0,0

x(1)
1
0.4000
0.7712
0.9442

1,0
d = 0,2 ,
1,8

obtemos os

x(2)
1
-0.3600
-0.8541
-0.9726

4.23. Obtemos, a partir de

x(3)
Erel
1
Inf
1.8640
0.8862
1.9874
0.2744
2.0002
0.0869

0,00 0,50
0,00
0,25
0,00
0,50
C=
0,00
0,25
0,00
0,00
0,00
0,25

0,00
0,00

0,50
0,00

obtemos os valores:

k
1
2
3
4

x(1)
1
-0.5000
-0.8125
-1.0469

kGJ
43
73
20
52

kGS
23
19
14
28

x(2)
1
1.6250
2.0938
1.9707

x(3)
1
-0.0938
0.0352
-0.0117

x(4)
1
0.9766
1.0088
0.9971

3
0
0
2

0
6
2
0

2
3
5
0

0
2
2
3

4
3
1
2

x =
1.290322580645370
0.532258064516400
0.064516129032287
-0.193548387096914
4.29. Para o primeiro sistema linear obtemos:

valores:

k
1
2
3
4

Prob.
4.15
4.16
4.17
4.18

4.27. Permutando as linhas obtm-se o sistema linear a seguir:

4.15. Obtemos, a partir de

4.17.

1]T

rel = 0,0106.

4.13. Dica: Use o comando

k
1
2
3
4

100

RESPOSTAS PARA PROBLEMAS SELECIONADOS

Erel
Inf
0.9980
0.2351
0.1101

0,00
2.25

d=
0,00 ,
1,00

Mtodo Gauss-Jacobi
k
x(1)
x(2)
1
1
1
2
1.8000
1.9000
3
1.8900
2.7800
4
1.9780
2.8790
...
9
1.9999
2.9997
10
2.0000
2.9998
11
2.0000
3.0000
...
Mtodo Gauss-Seidel
k
x(1)
x(2)
1
1
1
2
1.8000
2.7800
3
1.9780
2.9758
4
1.9976
2.9973
5
1.9997
2.9997
6
2.0000
3.0000
7
2.0000
3.0000

Erel
Inf
0.4601
0.2631
0.0379
0.0003
0.0000
0.0000

Erel
Inf
0.5893
0.0741
0.0081
0.0009
0.0001
0.0000

APNDICE A.

101

RESPOSTAS PARA PROBLEMAS SELECIONADOS

...
Para o segundo sistema linear obtemos:

Mtodo Gauss-Jacobi
k
x(1)
x(2)
1
1
1
2
5.0000
-2.0000
3
8.0000
2.0000
4
8.6667
5.0000
5
5.0000
5.6667
6
2.7778
2.0000
7
3.5556
-0.2222
...
Mtodo Gauss-Seidel
k
x(1)
x(2)
1
1
1
2
5.0000
2.0000
3
6.0000
3.0000
4
5.0000
2.0000
5
6.0000
3.0000
6
5.0000
2.0000
7
6.0000
3.0000
...

x(3)
1
-2.0000
-2.6667
1.0000
3.2222
2.4444
-0.7407

Erel
Inf
1.0150
0.5820
0.4758
0.5282
1.0360
1.0885

x(3)
1

Erel
Inf
0.7878
0.2554
0.3216
0.2554
0.3216
0.2554

0
1.0000
0
1.0000
0
1.0000

0
2.0720
-4.2560

0
0
0
-10.6400
y =
0.8082
1.6358
2.5403
3.6173
y_hat =
0.8016
1.6256
2.5296
3.6096

Captulo 5
5.1.

5.5.

p(x) = x2 + 3x + 2.

p(x) = x2 + 2x + 3.

Como os nodos se posicionam sobre uma parbola, um

polinmio de grau 2 suciente para interpol-los. Veja o grco:

A = [2 0
0 -2 0
0 0
0;
2
0 0
0 -2
0
0 0;
7
4 4 -4 -12 -4 -1 -2;
0
2 0
0 0 -2
0 0;
0
2 0
0 0
0
0 -1;
0
0 2
0 0
0 -2 0;
0
0 1 -1 -3 -1
0 0;
0
0 0
0 0
0
0 1]
b = [0; 0; 0; 0; 0; 0; 0; 1]
x =[1/6; 1/2; 7/6; 1/6; 1/6; 1/2; 7/6; 1]
A =
-4.0640

2.0320
-4.1920
1.8720

function [v, c] = IVander(x, y, u)


n = length(x);
X = MVander(x, n-1);
c = SLGauss(X, y);
v = VPol(c, u);

b2 =
-0.1138
0.0272
-0.0479
-0.1347
0.0828
-0.0034

4.35.

-4.1280
1.9280
0

5.3. Uma possvel implementao:

4.31. A segunda coluna da matriz inversa:

4.33.

b =

1.9680
0
0

2.0080

APNDICE A.

102

RESPOSTAS PARA PROBLEMAS SELECIONADOS

5.19.

0,0922
Coecientes do spline: C = 0,0210
0,1530
polado: E(57) = 762,6628.

0
1,1069
0,9179

22,7742
27,2017
33,2761

5.21. O grco a seguir mostra as curvas de interpolao. O

607
704
795

spline

Valor inter-

parece mais plau-

svel.

5.7. Para quem nasceu em


5.9. Dica: Faa

u = 1987

tem-se

v2 = 136,5778

5.11. Dica: Cuide para que todos os vetores envolvidos sejam


5.13.

v4 = 136,3369.

x2 = x1 + h, x3 = x1 + 2h, x4 = x1 + 3h.

vetores-coluna.

Valor exato:
v_exato = 0.369032530185151
Nodos simtricos:
v2 = 0.367850000000000
v4 = 0.369031250000000
v6 = 0.369024218750000
e_rel_2 = -3.2044e-03
e_rel_4 = -3.4690e-06
e_rel_6 = -2.2522e-05

No

5.23. Dica:

5.15.

S(x) =

0
Substitua as expresses envolvendo s1 (x1 ) e

coecientes

ak , bk , ck

expresses envolvendo

wmax = 43,22

g.

s0n1 (xn ) por (5.18) e faa

dk por (5.21),
hk , mk e pk .

(5.20), (5.22) e (5.17) para determinar as

5.25. Siga as mesmas dicas dadas para o Problema 5.23.


5.27. Expectativa para o homem: 72,7937 anos; Expectativa para a mulher: 80,9960
anos.
5.29.

u2 = 2,4111; u4 = 2,4027; u6 = 2,4094; z = 2,4048.

Captulo 6
6.1. O polinmio de ajuste
tem-se

b = 3.

5.17.

interpolador, o valor mximo aproximadamente

as simplicaes necessrias. Em seguida substitua as expresses envolvendo os

Nodos assimtricos:
w2 = 0.367850000000000
w4 = 0.368712500000000
w6 = 0.369094140625000
e_rel_2 = -3.2044e-03
e_rel_4 = -8.6721e-04
e_rel_6 = 1.6695e-04
Para os nodos assimtricos o erro maior.
0
0
00
00
Fazendo s1 (2) = s2 (2) tem-se c = 1. Fazendo s1 (2) = s2 (2)
00
Fazendo s2 (3) = 0 tem-se a = 1.

spline

0,3183(x 1)3 + 0,0000(x 1)2 + 0,6817(x 1) + 2,0000,


0,3867(x 2)3 + 0,9550(x 2)2 + 1,6367(x 2) + 3,0000,

0,2275(x 4)3 1,3650(x 4)2 + 0,8200(x 4) + 7,0000,

1x2
2x4
4x6

1,1923.

Grco a seguir:

p(x) = 1,6538x 5,5000

com resduo quadrtico

SQE =

APNDICE A.

103

RESPOSTAS PARA PROBLEMAS SELECIONADOS

6.3.

SQEF = 2,20, SQEG = 1,40, SQEH = 2,24.

6.7.

F () = 0,06142 6,9465 + 196,6393; B = 56,5825 ;

A funo

tem melhor ajuste.

6.11. Dica: Use a mesma estrutura do algoritmo


necessrias.

Veja o grco:
6.13.

AjustePol, mas faa as adaptaes

T (P ) = 23,4857e0,0035P , Te = 17,7102 s; Pe = 146,6305 HP.

6.15. Em vez de ajuste, temos efetivamente uma interpolao, pois os pontos esto
2
sobre polinmio p(x) = x 2x + 4. Observe os coecientes:

c =
-0.000000000000166
0.000000000003986
-0.000000000033734
1.000000000117891
-2.000000000144785
4.000000000016654
SQE =
1.4011e-21
6.17.

6.9.

C(t) = 0,0119t2 45,6670t + 44219; C(2013) = 395,9609;

Grco a seguir:

SQE = 2691,1.

Veja o grco a seguir:

APNDICE A.

6.19.

SQE pol-lb = 2,6613 104 ; SQE cm-kg = 5,4758 103 .

6.21.

Ppol (t) = 2,9720103 t2 9,3863t+7,0520103 , Pexp (t) = 1,84911017 e0,0218t .


2
2
= 0,9984, rexp
= 0,9627.
Ppol (2020) = 218,7330, Pexp (2020) = 261,9514. rpol

6.23. A matriz de planejamento dada por:

X =

1.0000
1.0000
1.0000
1.0000
1.0000

104

RESPOSTAS PARA PROBLEMAS SELECIONADOS

7.1.

3.7842
4.1109
4.3944
4.7274
4.8752

Os coecientes so

= 2,3504
(a) Q1 = 3.0862, Q2 = 2,3621, Q3 = 2,3556, Q4 = 2,3505 (b) Q
(c) rel(1) = 3,1304 101 , rel(2) = 4,9572 103 , rel(3) = 2,2318 103 ,

rel(4) = 2,9151 105 .


7.3.

= 2 (c)
(a) Q1 = 1,9237 1016 , Q2 = 2,0944, Q3 = 2,0405, Q4 = 1,9986 (b) Q
rel(1) = 1,0000, rel(2) = 0,0472, rel(3) = 0,0203, rel(4) = 7,1463 104 .

7.5. Usando

0 = 17,9243

1 = 19,3850. p(100) = 107,1956

0 = 7,7713

mmHg.

0 + 1 x = ln (1/p 1).
1 = 0,6622. Figura a seguir

6.25. Dica: A funo logstica pode ser reescrita como


o ajuste, os coecientes so

Captulo 7

A =

Aps

b =

W =

format rat:

1
0
0
0
0
1
1/2
1/3
1/4
1/5

7/90
16/45
2/15
6/45
7/90

1
1/4
1/16
1/64
1/256

1
1/2
1/4
1/8
1/16

1
3/4
9/16
27/64
81/256

1
1
1
1
1

APNDICE A.

7.7. Dica: note que os pesos


7.9.
7.11.
7.13.

105

RESPOSTAS PARA PROBLEMAS SELECIONADOS

8.3.

da integrao j esto pr-determinados.

Q6,1 = 1,0059, Q3,2 = 1,0002, rel = 0,0057.


3

Q6,1 = 1,0658, Q3,2 = 1,0700, rel = 3,8462 10 .


= 2,3504; Q1,2 = 2,3621; Q2,2 = 2,3512; Q4,2 = 2,3505; Q8,2 = 2,3504;
Q
t1 = 14,7031; t2 = 15,6517; t4 = 15,9113.

7.17.

Q = 0,746824132812427, rel = 2,8884 1014 , k = 10, Erf(1) =


0,842700792949715.

7.19.
7.21.

Q = 0,779893400376823, rel = 2,4536 1014 , k = 14.


R
a
(x b)n+1 .
Dica:
a(x b)n dx = n+1

7.23.

Q19 = 0,129723899884824; rel = 1,6668 1013 ; k = 15.

2 Q

(a)

Veja a tabela:

i
1
2
3
4
5
6

t(i)
0.0
0.2
0.4
0.6
0.8
1.0

u(i)
3.0000
2.2000
2.1200
2.3280
2.6512
3.0205

(b)

Veja o grco:

Captulo 8
8.1.

(a)

Veja a tabela:

i
1
2
3
4
5
6

t(i)
0.0
0.2
0.4
0.6
0.8
1.0

u(i)
1.0000
0.8000
0.6400
0.5120
0.4096
0.3277

(b)

Veja o grco:

k
-1.0000
-0.8000
-0.6400
-0.5120
-0.4096

(c) |max | = 0,2976.


8.7.

(c) |max | = 0,0402.

(a)

Veja o grco:

k
-4.0000
-0.4000
1.0400
1.6160
1.8464

APNDICE A.

106

RESPOSTAS PARA PROBLEMAS SELECIONADOS

(b) |max | = 0,0101.


8.9.

(a)

Veja o grco:

(b) |max | = 6,7775 105 .


8.17. O maior erro cometido

|max | = 9,9609 104 .

(b) |max | = 0,0363.


8.13.

(a)

Veja o grco:

8.19.

(b) |max | = 2,2204 1015 .


8.15.

(a)

Veja o grco:

T = 432 K.

Veja o grco a seguir

Veja o grco a seguir:

APNDICE A.

RESPOSTAS PARA PROBLEMAS SELECIONADOS

8.21. Todas as curvas convergem assintoticamente para

8.25. Veja o grco a seguir

u = 5.

Veja o grco a seguir

107

Referncias Bibliogrcas
[1] Milton Abramowitz and Irene A. Stegun.

Functions.
Fonte:

Handbook of Mathematical

[10] Dalcdio M. Cludio and Jussara M. Marins.

th edition, 1972. ISBN 048661272-4.

putacional.

Dover, New York, 9

www.nrbook.com/abramowitz_and_stegun/.

[2] Howard Anton and Robert C. Busby.

Clculo Numrico Com-

Atlas, So Paulo, 1989.

[11] Amadeu Carneiro de Almeida and Eduardo Wagner.

lgebra Linear Contempornea.

crculo.

Trisseco do

Revista do Professor de Matemtica, (71):35  36, 2010.

Bookmark, Porto Alegre, 2006. ISBN 853630615-7.


[12] Instituto Brasileiro de Geograa e Estatstica IBGE. Censo demogr[3] Valmar Carneiro Barbosa and Ana Maria Senra Breitschaft. Um aparato experimental para o estudo do princpio de arquimedes.

vista Brasileira de Ensino de Fsica,

28(1):115  122, 2006.

co, 2010. Fonte:

Re-

[13] Instituto Brasileiro de Geograa e Estatstica IBGE. Tbua completa

Fonte:

www.ibge.gov.br/home/estatistica/
populacao/tabuadevida/2010.

www.sbfisica.br.
[4] Petr Beckmann.

de mortalidade, 2010. Fonte:

A History of Pi.

St. Martin Press, New York, USA,

rd edition, 1974. ISBN 031238185-9.


3

[14] General Eletric do Brasil Ltda.

pdf.

geiluminacao.com.br,

siam.lsu.edu/wp-content/uploads/2009/09/nahist.

Fonte:

do CCET - UCS, 1(1):6166, dez. 1998.

Successive overrelaxation method.

MathWorldA Wolfram Web Resource, 2015.

com/SuccessiveOverrelaxationMethod.html.

mathworld.wolfram.

[16] Oclide J. Dotto and Adalberto A. Dornelles Filho.


quadrados mnimos condicionado.

Fsica, 28(3):397  401, 2006.

Equaes Diferenciais
Elementares e Problemas de Valores de Contorno. LTC Editora, Rio

[7] William E. Boyce and Richard C. DiPrima.

[17] Hans Magnus Enzensberger.

de Janeiro, 2002. ISBN 852161312-1.


[8] Richard L. Burden and J. Douglas Faires.

Revista

Polinmio dos

Revista Brasileira de Ensino de

Fonte:

www.sbfisica.org.br.

O diabo dos nmeros.

Companhia das

Letras, So Paulo, 1998. ISBN 857164718-6.

Anlise Numrica. Cengage

[18] Adalberto A. Dornelles Filho, Lodonha M. P. C. Soares, Moiss Wais-

Learning, So Paulo, 2008. ISBN 852210601-0.


A history of Runge-Kutta methods.

merical Mathematics,

www.

2012.

[15] Oclide J. Dotto. A useful note on newton-cotes quadratures.

[6] Noel Black and Shirley Moore.

[9] J. C. Butcher.

Desempenho em diferentes tenses

de utilizao de lmpada incandescente 127 V, 60 W.

[5] Michele Benzi. Key moments in the history of numerical analysis, August 2009.

www.ibge.gov.br.

mann, and Natalia P. Mndez.

balho de Caxias do Sul.

Applied Nu-

Boletim anual mercado formal de tra-

Observatrio do Trabalho/UCS, Caxias do

Sul, RS, 2011. ISSN 2179-4170.

20(3):247260, March 1996. doi:10.1016/0168-

9274(95)00108-5.
108

109

REFERNCIAS BIBLIOGRFICAS

[19] Frederico Ferreira Campos Filho.

Algoritmos Numricos. LTC - Livros

Tcnicos e Cientcos, Rio de Janeiro, 2001. ISBN 852161265-6.


[20] George E. Forsythe, Michael A. Malcolm, and Cleve B. Moler.

puter Methods for Mathematical Computations.

Com-

Prentice-Hall, En-

[30] John H. Mathews.

Engineering.

Numerical Methods for Mathematics, Science and


nd

Ed. Prentice Hall Inc., Englewood Clis, NJ, USA, 2

edition, 1992. ISBN 013624990-6.


[31] E. Meijering. A chronology of interpolation: from ancient astronomy
to modern signal and image processing.

glewood Clis, 1977.

Proceedings of the IEEE,

90(3):319342, 2002. doi:10.1109/5.993400.


[21] W. Gander and W. Gautschi.

BIT,

Adaptive quadrature - revisited.

40(1):84101, March 2000.

Disponvel em

personal/gander.
[22] Gene H. Golub and Charles F. Van Loan.

www.inf.ethz.ch/

Matrix Computations.

The

rd edition, 1996. ISBN 080185414-8.

Johns Hopkins University Press, 3


[23] Hamilton Luiz Guidorizzi.

Um curso de Clculo,

volume 1.

LTC -

a edition, 2001. ISBN

Livros Tcnicos e Cientcos, Rio de Janeiro, 5

[24] Brian D. Hahn and Daniel T. Valentine.

neers and Scientists.

Essential MATLAB for Engird edition,

Butterworth-Heinemann (Elsevier), 3

2007.
[25] David Halliday, Robert Resnick, and John Merrill.

Fsica, volume 4.

Fundamentos de

Livros Tcnicos e Cientcos - LTC, Rio de Janeiro,

a edition, 1991. ISBN 852160949-3.

[26] David R. Hill and Cleve B. Moler.

Matrix Algebra.

Experiments in Computational

Random House, New York, 1988.

[33] Cleve Moler.

Floating points.

Cleve's corner, 1996.

Disponvel em

www.mathworks.com/tagteam/77489_Fall96Cleve.pdf.
[34] Cleve Moler.

Numerical Computing with MATLAB.

nd edition, 2008.

www.mathworks.com/moler.

[35] Gordon E. Moore. Cramming more components onto integrated cir-

Electronics, 38(8), 1965. Disponvel em ftp://download.


intel.com/museum/Moores_Law/Articles-Press_Releases.
cuits.

[36] Mahmood Nahvi and Joseph A. Edminister.


med, So Paulo, 4

a edition, 2003.

Circuitos Eltricos.

Art-

A historical survey of algebraic methods


of approximating the roots of numerical higher equations up to the year
1819. PhD thesis, Teachers college, Columbia university, New York,
1922.

Zhangzhong Wang.

Pyrolysis kinetics of phenolformaldehyde resin

by non-isothermal thermogravimetry.

Carbon, 48(2):352  358, 2010.

doi:10.1016/j.carbon.2009.09.036.

Encyclopedia of optimization,

[38] J. J. O'Connor and E. F. Robertson. MacTutor History of Mathematics.

www-history.mcs.st-andrews.ac.uk/Mathematicians.

[39] Neide Oliveira. A corrida continua.


volume 1, chapter Carl

Friedrich Gauss, pages 191  193. Kluwer Academic Publisher, Dordrescht, Netherlands, 2001. ISBN 079237026-0.

Linear Algebra and Its Applications.

Boston, USA, 4

www.jstor.org/

4(2):3336, Mar. 1877. Disponvel em

stable/2635472.

[37] Martin Andrew Nordgaard.

[27] Haiyun Jiang, Jigang Wang, Shenqing Wu, Baosheng Wang, and

[29] David C. Lay.

The Analyst,

Disponvel em

852161259-1.

[28] Dukwon Kim.

[32] Manseld Merriman. On the history of the method of least squares.

th edition, 2012. ISBN 032138517-9.

38(46):6971, julho 2005.

Edio especial: Tecnologia.


[40] William H. Press, Saul A. Teukolsky, William T. Vetterling, and
Brian P. Flannery.

Addison-Wesley,

Veja,

puting.

Numerical Recipes: The Art os Scientic Com-

rd edition, 2007.

Cambridge University Press, New York, 3

ISBN 051133555-5. Fonte:

www.nrbook.com/nr3/.

[41] s.a. Rota de uma boa viagem. Zero Hora, 30/11/2009 2009. p. 40.

110

REFERNCIAS BIBLIOGRFICAS

[42] T. R. Scavo and J. B. Thoo.

On the geometry of Halley's method.

The American Mathematical Monthly, 102(5):417  426, may 1995.

[43] Edward R. Scheinerman.

Matemtica Discreta.

Thomson Pioneira,

2003.

Augustin-Jean_Fresnel,
[55] Mark W. Zemansky.

PASCO physics catalog and experiment guide.

PASCO Scientic Co., Roseville (USA), 2005.


[45] Endre Sli and David Mayers.

An Introduction to Numerical Analysis.

Cambridge University Press, Cambridge, United Kingdom, 2003.


[46] J. M. Smith, H. C. van Ness, and M. M. Abbott.

Chemical Engineering Thermodynamics.

Introduction to

McGraw-Hill, 7

th edition,

2000.
[47] Murray R. Spiegel.

Manual de frmulas, mtodos e tabelas de mate-

Ed. Makron Books do Brasil, 1992.

[48] Pieter Tans and Ralph Keeling. NOAA/ESRL Trends in atmospheric


carbon dioxide (Mauna Loa, Hawaii, USA).

gmd/ccgg/trends/,
[49] Mario F. Triola.

www.esrl.noaa.gov/

2013.

Introduo Estatstica.

a edition,

LTC Editora, 7

1998. ISBN 852161154-4.


[50] George C. Tseng. Classication and regression tree. In Neil J. Salkind, editor,

Encyclopedia os measurement and statistics,

volume 1,

pages 143145. SAGE Publications, Thousand Oaks, California,USA,


2007. ISBN 141291611-9. Os dados completos podem ser obtidos em

archive.ics.uci.edu/ml/datasets/Auto+MPG.
[51] Eric W. Weisstein.

Halley's method.

com/HalleysMethod.html,
[52] Wikipdia.

Gordon Earl Moore.

Gordon_Moore,

mathworld.wolfram.

Fonte:

en.wikipedia.org/wiki/

2007.

[53] Wikipdia. David Brewster. Fonte:

Brewster,

Fonte:

2010.

2014.

en.wikipedia.org/wiki/David_

en.wikipedia.org/wiki/

2015.

Calor e termodinmica.

a edition, 1978.

Janeiro, 5

[44] PASCO Scientic.

mtica.

[54] Wikipdia. Augustin-Jean Fresnel. Fonte:

Guanabara Dois, Rio de

You might also like