Universidade Federal de Uberl

ˆ
andia
Faculdade de Matem
´
atica
C
´
alculo Num
´
erico
Prof. Jos
´
e Eduardo Castilho
Marc¸o de 2001
Conte´ udo
1 Introdu¸c˜ao 1
1.1 O MatLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 C´alculo na Janela de Comandos . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 M-arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Zeros de Fun¸c˜ oes 11
2.1 Isolamento das Ra´ızes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Refinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 M´etodo da Bissec¸c˜ ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.1 Estudo da Convergˆencia . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Estimativa do N´ umero de Itera¸c˜ oes . . . . . . . . . . . . . . . . . . . 16
2.4 M´etodo Iterativo Linear (M.I.L.) . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Crit´erio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 M´etodo de Newton-Raphson (M.N.R) . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Ordem de Convergˆencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Observa¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Sistemas Lineares 27
3.1 M´etodos Diretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Sistema Triangular Superior . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.2 M´etodo de Elimina¸c˜ao de Gauss . . . . . . . . . . . . . . . . . . . . . 29
3.1.3 Pivotamento Parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.4 C´alculo da Matriz Inversa . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 M´etodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.1 Crit´erio de Convergˆencia . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.2 M´etodo Iterativo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . 40
3.2.3 Crit´erio das Linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.4 M´etodo Iterativo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 44
3.2.5 Crit´erio de Sassenfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Observa¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
i
CONTE
´
UDO ii
3.4 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Ajuste de Curvas: M´etodo dos M´ınimos Quadrados 49
4.1 M´etodo dos M´ınimos Quadrados - Caso Discreto . . . . . . . . . . . . . . . . 49
4.2 M´etodo dos M´ınimos Quadrados - Caso Cont´ınuo . . . . . . . . . . . . . . . 53
4.3 Ajuste N˜ao Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4 Observa¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.5 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5 Interpola¸c˜ao Polinomial 60
5.1 Forma de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2 Forma de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.1 Constru¸c˜ ao do Polinˆ omio . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 Estudo do Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Escolha dos Pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 Interpola¸c˜ ao Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6 Observa¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.7 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6 Integra¸c˜ao Num´erica - F´ormulas de Newton Cˆotes 72
6.1 Regra do Trap´ezio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 C´alculo do Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3 Regra do Trap´ezio Repetida . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4 Regra de Simpson 1/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5 Regra de Simpson Repetida . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.6 Observa¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7 Equa¸c˜ oes Diferenciais Ordin´arias (P.V.I.) 81
7.1 M´etodo Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 M´etodos da S´erie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.3 M´etodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.4 M´etodos de Adans-Bashforth . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.4.1 M´etodos Expl´ıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.4.2 M´etodos Impl´ıcitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.5 Equa¸c˜ oes de Ordem Superior . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.6 Exerc´ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Cap´ıtulo 1
Introdu¸c˜ao
O C´alculo Num´erico tem por objetivo estudar esquemas num´ericos (algoritmos num´ericos)
para resolu¸c˜ao de problemas que podem ser representados por um modelo matem´atico. Um
esquema ´e eficiente quando este apresenta solu¸c˜ oes dentro de uma precis˜ao desejada com
custo computacional (tempo de execu¸c˜ ao + mem´oria) baixo. Os esquemas num´ericos nos
fornecem aproxima¸c˜ oes para o que seria a solu¸c˜ ao exata do problema. Os erros cometidos
nesta aproxima¸c˜ao s˜ao decorrentes da discretiza¸c˜ ao do problema, ou seja passar do modelo
matem´atico para o esquema num´erico, e da forma como as m´aquinas representam os dados
num´ericos.
Como exemplo de discretiza¸c˜ ao consideremos que desejamos calcular uma aproxima¸c˜ ao
para a derivada de uma fun¸c˜ ao f(x) num ponto ¯ x. O modelo matem´atico ´e dado por
f

(¯ x) = lim
h→0
f(¯ x + h) −f(¯ x)
h
Um esquema num´erico para aproximar a derivada ´e dado por tomar h “pequeno” e calcular
f

(¯ x) ≈
f(¯ x + h) −f(¯ x)
h
Neste caso quanto menor for o valor de h mais preciso ser´a o resultado, mas em geral, este
esquema n˜ao fornecer´a a solu¸c˜ ao exata.
A representa¸ c˜ao de n´ umeros em m´aquinas digitais (calculadoras, computadores, etc) ´e
feita na forma de ponto flutuante com um n´ umero finito de d´ıgito. Logo os n´ umeros que
tem representa¸c˜ ao infinita (Ex. 1/3, π,

2) s˜ao representados de forma truncada. Com isto
algumas das propriedades da aritm´etica real n˜ao valem na aritm´etica computacional. Como
exemplo, na aritm´etica computacional temos
n
¸
k=0
a
k
N
=
1
N
n
¸
k=0
a
k
,
onde estamos considerando que no primeiro somat´orio para cada k fazemos a
k
/N e depois
somamos e no segundo somat´orio somamos todos os a
k
e o resultado da soma dividimos por
1
CAP
´
ITULO 1. INTRODUC¸
˜
AO 2
N. Do ponto de vista anal´ıtico, as duas express˜oes s˜ao equivalentes, mas a segunda forma
apresenta melhor resultado do ponto de vista computacional, pois realiza menos opera¸c˜oes
e comete menos erro de truncamento. Outro exemplo interessante ´e que em aritm´etica
computacional ´e poss´ıvel que para um dado A exista um ε = 0 tal que
A + ε = A.
Analiticamente a express˜ao acima ´e verdadeira se e somente se ε = 0.
Outro fator que pode influenciar no resultado ´e o tipo de m´aquina em que estamos
trabalhando. Numa calculadora simples que represente os n´ umeros com 7 d´ıgito ter´ıamos
1/3 + 1/3 + 1/3 = 0.9999999
Enquanto que calculadoras mais avan¸cadas ter´ıamos como resposta um falso 1, pois na
realidade, internamente estas calculadoras trabalham com mais d´ıgito do que ´e apresentado
no visor e antes do resultado ser apresentado este ´e arredondado.
Os esquemas num´ericos s˜ao classificados como esquemas diretos e esquemas iterativos.
Os esquemas diretos s˜ao aqueles que fornecem a solu¸c˜ao ap´os um n´ umero finito de passos.
Por exemplo o esquema que apresentamos para o c´alculo da derivada. Os esquemas iterativos
s˜ao aqueles que repetem um n´ umero de passos at´e que um crit´erio de parada seja satisfeito.
Como exemplo considere o algoritmo que ´e usado para determinar a precis˜ao de uma m´aquina
digital
Algoritmo: Epsilon da M´aquina
Ep ←1
Enquanto (1 + Ep) > 1, fa¸ca:
Ep ←Ep/2
fim enquanto
OutPut: 2Ep
O crit´erio de parada ´e (1 + Ep) ≤ 1 e cada execu¸c˜ ao do la¸co Enquanto ´e chamado de
itera¸c˜ao. M´aquinas diferentes apresentar˜ ao resultados diferentes.
Um outro fator que pode influenciar nos resultados ´e a linguagem de programa¸c˜ ao
usada na implementa¸c˜ ao dos algoritmos (Pascal, Fortran, C++, MatLab , etc). Diferentes
linguagens podem apresentar diferentes resultados. E mesmo quando usamos uma mesma
linguagem, mas compiladores diferentes (Ex. C++ da Borland e C++ da Microsoft), os
resultados podem apresentar diferen¸cas. Existem v´arias bibliotecas de rotinas num´ericas em
diversas linguagens e algumas dispon´ıveis na Internet. Um exemplo ´e a LIMPACK: uma
cole¸c˜ao de rotinas em Fortran para solu¸c˜ao de sistemas lineares.
Para exemplificar os esquemas num´ericos, que estudaremos nos pr´oximos cap´ıtulo, usa-
remos o MatLab pela sua facilidade de programa¸c˜ao. Todo o material desta apostila ´e
baseado nas referencias: [?] e [?].
CAP
´
ITULO 1. INTRODUC¸
˜
AO 3
1.1 O MatLab
O MatLab surgiu nos anos 1970 como um Laborat´orio de Matrizes para auxiliar os cursos
de Teoria Matricial,
´
Algebra Linear e Analise Num´erica. Hoje, a capacidade do MatLab
se estende muito al´em da manipula¸c˜ ao de matrizes. Ele ´e tanto um ambiente quanto uma
linguagem de programa¸c˜ ao, e um de seus aspectos mais poderosos ´e que os problemas e as
solu¸c˜oes s˜ao expressos numa linguagem matem´atica bem familiar. Devido a sua capacidade
de fazer c´alculos, visualiza¸c˜ao gr´afica e programa¸c˜ ao, num ambiente de f´acil uso, o MatLab
torna-se uma ferramenta eficiente para a compreens˜ao tanto de t´opicos fundamentais quanto
avan¸cados a uma gama de disciplinas. Nosso objetivo ´e dar uma r´apida vis˜ao dos comandos
e fun¸c˜oes b´asicas do MatLab para exemplificar os t´opicos do curso de C´alculo Num´erico.
Maiores detalhes podem ser obtidos em ??.
Apesar das ultimas vers˜oes do MatLab ter expandido sua capacidade, o elemento b´asico
dos dados ainda ´e um vetor, o qual n˜ao requer declara¸c˜ao de dimens˜ao ou tipo de vari´avel.
O MatLab ´e um sistema interativo, onde os comandos podem ser executados na janela de
comandos ou por programas. Estes programas s˜ao conhecidos como m-arquivos ( ou arquivos
com extens˜ao .m) e ser˜ao discutidos posteriormente. Em primeiro lugar vamos discutir alguns
comandos b´asicos que ser˜ao ´ util para a manipula¸c˜ao de dados na janela de comandos e nos
m-arquivos.
1.1.1 C´alculo na Janela de Comandos
Um c´alculo simples pode ser executado na janela de comandos digitando as instru¸c˜ oes no
prompt como vocˆe faria numa calculadora. Por exemplo
EDU>> 3*4 +5
ans =
17
o resultado ´e mostrado na tela como ans ( abreviatura de “answer”). Os s´ımbolos dos ope-
radores aritm´eticos s˜ao dados na Tabela 1.1. As express˜oes s˜ao calculadas da esquerda para
a direita, com a potencia¸c˜ ao tendo a maior precedˆencia, seguido da multiplica¸c˜ ao e divis˜ao
(mesma precedˆencia) e pela adi¸c˜ao e subtra¸c˜ ao (tamb´em com mesma precedˆencia).
As Vari´aveis
A forma de armazenar o resultado para uso posterior ´e pelo uso de vari´aveis.
EDU>> s=3+4+7+12
s =
26
CAP
´
ITULO 1. INTRODUC¸
˜
AO 4
Tabela 1.1: Operadores Aritm´eticos
Opera¸c˜ ao S´ımbolo
Adi¸c˜ ao a + b
Multiplica¸c˜ao a ∗ b
Subtra¸c˜ao a −b
Divis˜ao a/b ou b`a
Potencia¸ c˜ao a´b
O nome da vari´ avel pode consistir de no m´aximo 31 caracteres, iniciando sempre por um
caracter alfa seguido de qualquer combina¸ c˜ao de caracteres do tipo alfa , num´erico e unders-
cores. Ex. resultado_da_soma_2. Ao contr´ ario de outras linguagens, o MatLab diferencia
as vari´ aveis que usam letras min´ usculas e mai´ usculas. Isto ´e as vari´ aveis Contas, contas,
conTas e CoNtAs, s˜ao consideradas como quatro vari´aveis diferentes. Todas as vari´aveis
s˜ao armazenadas internamente e podem ser usadas a qualquer momento. Para saber quais as
vari´aveis que est˜ao ativas utilizamos o comando who. Para eliminar a vari´avel conta, usa-
mos o comando clear conta. As vari´aveis s˜ao tratadas como matrizes, apesar dos escalares
n˜ao serem apresentados na nota¸c˜ao matricial. Um vetor linha pode ser definido como
EDU>> x=[1 2 3 4]
x =
1 2 3 4
Tamb´em podemos separar os elementos por v´ırgula. J´a um vetor coluna pode ser definido
da seguinte forma
EDU>> y=[5; 6; 7; 8]
y =
5
6
7
8
Um exemplo de uma matriz 3 4.
EDU>> a=[1 2 3 4; 5 6 7 8; 9 10 11 12]
a =
1 2 3 4
5 6 7 8
9 10 11 12
CAP
´
ITULO 1. INTRODUC¸
˜
AO 5
Os elementos na i-´esima linha e na j-´esima coluna, denotados por a
ij
podem ser obtidos pelo
comando a(i,j), por exemplo a(2,3)=7. Note que os elementos no MatLab s˜ao indexados
iniciando em 1. Em algumas situa¸c˜ oes necessitamos de vetores com alguma estrutura parti-
cular. Por exemplo, um vetor cujo o primeiro termo vale −2 e o ultimo vale 3 e os termos
intermedi´arios variam um passo de 0.5. Este vetor pode ser definido pela linha de comando
EDU>> v=-2:0.5:3
v =
Columns 1 through 7
-2.0000 -1.5000 -1.0000 -0.5000 0 0.5000 1.0000
Columns 8 through 11
1.5000 2.0000 2.5000 3.0000
De uma forma geral este comando tem a sintaxe v=a:passo:b. Quando o passo ´e igual a
um podemos escrever o comando na forma reduzida v=a:b. Algumas matrizes elementares
podem ser geradas atrav´es de comandos simples, por exemplo:
A matriz identidade:
EDU>>I=eye(3)
I =
1 0 0
0 1 0
0 0 1
Matriz n m formada por 1’s:
EDU>> A=ones(2,3)
A =
1 1 1
1 1 1
Matriz Nula de ordem n m:
EDU>> B=zeros(3,4)
B =
0 0 0 0
0 0 0 0
0 0 0 0
CAP
´
ITULO 1. INTRODUC¸
˜
AO 6
Opera¸c˜ oes com Matrizes e Vetores
As opera¸c˜ oes de subtra¸c˜ ao,adi¸c˜ ao e multiplica¸c˜ ao entre matrizes s˜ao definidas como o
usual. O s´ımbolo da divis˜ao representa o c´alculo da multiplica¸c˜ ao pela inversa da matriz,
por exemplo
EDU>> A=[1 2 1;3 2 4;5 3 2];
EDU>> A/A
ans =
1 0 0
0 1 0
0 0 1
Note que neste exemplo terminamos o comando que define a matriz A com um ponto e
v´ırgula. Isto faz com que o resultado do comando (ou de uma express˜ao em geral) n˜ao seja
apresentado no monitor. Isto ´e ´ util para programas de grande porte, pois este processo
de apresentar os resultados no monitor consome muito tempo de execu¸c˜ao. Entre vetores e
matrizes de mesma dimens˜ao ´e poss´ıvel operar elemento com elemento. Isto ´e poss´ıvel atrav´es
de uma nota¸c˜ao especial, que consiste de usar um ponto antes do s´ımbolo da opera¸c˜ ao. Na
Tabela 1.2 damos um resumo destas opera¸c˜oes aplicada a dois vetores a e b de dimens˜ao n.
Tabela 1.2: Opera¸c˜oes Elementares entre Vetores
Opera¸c˜ ao S´ımbolo Resultado
Adi¸c˜ao a+b [a
1
+ b
1
, a
2
+ b
2
, a
3
+ b
3
, . . . , a
n
+ b
n
]
Subtra¸c˜ao a-b [a
1
−b
1
, a
2
−b
2
, a
3
−b
3
, . . . , a
n
−b
n
]
Multiplica¸c˜ ao a.*b [a
1
∗ b
1
, a
2
∗ b
2
, a
3
∗ b
3
, . . . , a
n
∗ b
n
]
Divis˜ao a./b [a
1
/b
1
, a
2
/b
2
, a
3
/b
3
, . . . , a
n
/b
n
]
Potencia¸c˜ ao a.´b [a
1
b
1
, a
2
b
2
, a
3
b
3
, . . . , a
n
b
n
]
Como na maioria das linguagens de programa¸c˜ ao, o MatLab oferece diversas fun¸c˜ oes
elementares que s˜ao importantes em matem´atica. A Tabela 1.3 apresenta uma lista destas
fun¸c˜oes e sua sintaxe.
Gr´aficos
Para plotar um gr´afico no MatLab , devemos criar dois vetores de mesma dimens˜ao x
e f, onde x corresponde aos valores do eixo x e f os valores da fun¸c˜ao nestes pontos. O
CAP
´
ITULO 1. INTRODUC¸
˜
AO 7
Tabela 1.3: Fun¸c˜ oes Elementares
Fun¸ c˜ao Sintaxe
Valor Absoluto abs(x)
Arco Co-seno acos(x)
Arco Seno asin(x)
Co-seno cos(x)
Exponencial e
x
exp(x)
Logaritmo Natural log(x)
Logaritmo base 10 log10(x)
Seno sin(x)
Raiz Quadrada sqrt(x)
Tangente tan(x)
gr´afico ´e gerado pelo comando plot(x,f). Se desejamos gerar o gr´afico da fun¸c˜ ao sen(x) no
intervalo [−π, π] devemos proceder da seguinte forma:
EDU>> x=-pi:0.01:pi;
EDU>> f=sin(x);
EDU>> plot(x,f)
Note, que na defini¸c˜ ao do vetor x, usamos o passo igual a 0.01. Isto determina a quantidade
de pontos que o comando plot usa par gerar o gr´afico. Quanto mais pontos mais perfeito
ser´a o gr´afico (em contra partida maior o tempo de execu¸c˜ ao). se tiv´essemos usado o passo
0.5 n˜ao ter´ıamos um gr´afico de boa qualidade.
1.1.2 M-arquivos
Existem dois tipos de programas em MatLab : scripts e funtions. Ambos devem ser sal-
vos com extens˜ao .m no diret´orio corrente. Uma diferen¸ca b´asica entre os dois ´e que os
scripts trata as vari´ aveis, nele definidas, como vari´aveis globais, enquanto as functions trata
as vari´aveis como vari´ aveis locais. Desta forma a functions tem que ter um valor de retorno.
Scripts
Os scripts permite que um conjunto de comandos e defini¸c˜oes sejam executados atrav´es
de um ´ unico comando na janela de comandos. Como exemplo, o script seguinte calcula a
aproxima¸c˜ao da derivada de sen(x) usando diferen¸cas finitas.
% Aproximacao da derivada do seno
% Usando o operardor de diferen\c{c}a finita progressiva.
CAP
´
ITULO 1. INTRODUC¸
˜
AO 8
clear;
h=0.0001;
x=input(’Entre com o valor de, x=’); % Atribui Valores a x
disp(’O valor da aproximacao eh...’) % Mostra mensagem no monitor
dsen=(sin(x+h)-sin(x))/h
As primeiras duas linha s˜ao coment´ arios que descrevem o script. Na quinta linha temos
o comando que permite atribuir valores a uma vari´avel. E na sexta linha o comando que
permite mostrar uma mensagem no monitor. Vamos supor que este arquivo seja salvo com o
nome de devira_seno.m. Para executar o script digitamos seu nome no prompt do MatLab
.
Functions
Numa fun¸c˜ao em MatLab a primeira linha ´e da forma function y=nome(argumentos).
A fun¸c˜ ao se troca informa¸c˜oes com o MatLab workspace por interm´edio da vari´avel y e dos
argumentos. Para ilustrar o uso de fun¸c˜ oes em MatLab considere o seguinte c´odigo
function dsen=deriva_seno(x,h)
% Aproximacao da derivada do seno
% Usando o operardor de diferen\c{c}a finita progressiva.
dsen=(sin(x+h)-sin(x))/h;
Apesar deste arquivo poder ser salvo com um nome qualquer, ´e usual usar o mesmo nome
da fun¸c˜ao, ou seja, deriva_seno.m. Para execut´a-lo devemos digitar seu nome e informar
os valores dos argumentos, por exemplo,
EDU>>y= deriva_seno(3.14,0.001)
o que forneceria em y uma aproxima¸c˜ao da derivada da fun¸c˜ ao seno em 3.14 Uma diferen¸ca
importante entre esta vers˜ ao, usando function, com a anterior ´e que o valor calculado pode
ser atribu´ıdo a uma vari´ avel. Al´em disso, agora podemos escolher o valor de h, que na vers˜ao
anterior estava fixo em h=0.0001. Vale notar que no primeiro caso todas as vari´ aveis do
scrips est˜ao ativas, isto ´e s˜ao vari´aveis globais. Enquanto que no segundo ca so as vari´ aveis
s˜ao locais, isto ´e, a vari´ avel h s´o ´e ativa na execu¸c˜ao da fun¸c˜ao
Controle de Fluxo
O controle de fluxo ´e um recurso que permite que resultados anteriores influenciem
opera¸c˜ oes futuras. Como em outras linguagens, o MatLab possui recursos que permitem o
controle de fluxo de execu¸c˜ ao de comandos, com base em estruturas de tomada de decis˜oes.
Apresentamos as estrutura de loops for, loops while e if-else-end. A forma geral do loop
for ´e
CAP
´
ITULO 1. INTRODUC¸
˜
AO 9
for x = vetor
comandos...
end
Os comandos entre for e end s˜ao executados uma vez para cada coluna de vetor. A cada
itera¸c˜ao atribui-se a x a pr´oxima coluna de vetor. Por exemplo
EDU>> for n=1:5
x(n) = cos(n*pi/2);
end
EDU>> x
x =
0.0000 -1.0000 -0.0000 1.0000 0.0000
Traduzindo, isto diz que para n igual a 1 at´e 10 calcule os comandos at´e end.
Ao contr´ ario do loop for, que executa um grupo de comandos um n´ umero fixo de vezes,
o loop while executa um grupo um de comandos quantas vezes forem necess´arias para que
uma condi¸c˜ ao seja negada. Sua forma geral ´e
while expressao
comandos...
end
O grupo de comandos entre while e end s˜ao executados at´e que a express˜ao assuma um
valor falso. Por exemplo,
EDU>> while abs(x(n)-x(n-1)) > 10^(-6)
x(n) = 2*x(n-1) + 1/4;
n=n+1;
end
Neste caso o grupo de comandos s˜ao executados at´e que o valor absoluto da diferen¸ca entre
dois valores consecutivos seja menor ou igual a 10
−6
.
A estrutura if-else-end permite que grupos de comandos sejam executados por um
teste relacional. A forma geral ´e dada por
if expressao
comandos 1...
else
comandos 2...
end
Se a express˜ao for verdadeira ´e executado o grupo de comandos 1, caso contr´ ario ´e executado
o grupo de comandos 2. Esta estrutura permite o uso da forma mais simples que envolve s´o
um condicional
CAP
´
ITULO 1. INTRODUC¸
˜
AO 10
if expressao
comandos ...
end
Como exemplo considere o seguinte fragmento de c´odigo que calcula o valor absoluto de um
n´ umero
if x < 0
x=-x;
end
Isto ´e, se x for menor que zero ent˜ ao troca de sinal, caso contr´ario nada ´e feito.
1.2 Exerc´ıcios
Exerc´ıcio 1.1 Usando o esquema num´erico para a aproxima¸c˜ao da derivada dado abaixo
ache uma aproxima¸c˜ao para f

(π), onde f(x) = sen(x) e tome h = 0.1, 0.01, 0.001, . . . 10
−10
.
Repita os c´alculos para f

(0). Comente os resultados.
f

(¯ x) ≈
f(¯ x + h) −f(¯ x)
h
Exerc´ıcio 1.2 Fa¸ca um programa que calcule
A +
10
7
¸
k=1
10
−7
com A = 10, 10
2
, 10
3
, . . . , 10
15
. Comente os resultados.
Exerc´ıcio 1.3 Calcule a precis˜ao de sua m´aquina usando o algoritmo
Algoritmo: Epsilon da M´aquina
Input: A : n´ umero que represente a grandeza
Ep ←1
Enquanto (A + Ep) > 1, fa¸ca:
Ep ←Ep/2
fim enquanto
Output: Imprimir 2Ep
tomando A = 1, 10, 100, 1000. Comente os resultados.
Cap´ıtulo 2
Zeros de Fun¸c˜ oes
Neste cap´ıtulo estudaremos esquemas num´ericos para resolver equa¸c˜ oes da forma f(x) = 0.
Na maioria dos casos estas equa¸c˜ oes n˜ao tem solu¸c˜ ao alg´ebrica como h´a para as equa¸c˜ oes
de 2 o
¯
grau. No entanto esquemas num´ericos podem fornecer uma solu¸c˜ ao satisfat´oria. O
processo para encontrar uma solu¸c˜ ao envolve duas fases:
Fase I Isolamento das ra´ızes - Consiste em achar um intervalo fechado [a, b] que cont´em a raiz.
Fase II Refinamento - Partindo de uma aproxima¸c˜ ao inicial refinamos a solu¸c˜ ao at´e que certos
crit´erios sejam satisfeitos.
2.1 Isolamento das Ra´ızes
Um n´ umero x que satisfaz a equa¸c˜ ao f(x) = 0 ´e chamado de raiz ou zero de f. O objetivo
´e encontrar um intervalo [a, b], de pequena amplitude ( b −a <1), que contenha a raiz que
desejamos encontrar. Para isto usaremos duas estrat´egias: An´alise Gr´afica e Tabelamento
da fun¸c˜ ao.
A an´alise gr´afica ´e baseada na id´eia de que, a partir da equa¸c˜ ao f(x) = 0, podemos
obter uma equa¸c˜ ao equivalente g(x) −h(x) = 0, onde g e h sejam fun¸c˜oes mais simples e de
f´acil an´alise gr´afica. Esbo¸cando o gr´afico de g e h podemos determinar os pontos x, onde as
curvas se interceptam, pois estes pontos ser˜ao as ra´ızes de f(x) ( g(ξ) = h(ξ) ⇒f(ξ) = 0 ).
Exemplo 2.1.1 Sendo f(x) = e
−x
− x temos f(x) = g(x) − h(x), onde g(x) = e
−x
e
h(x) = x. Na Figura 2.1 temos que as curvas se interceptam no intervalo [0, 1]. Tamb´em
podemos observar que pelo comportamento das fun¸c˜oes g(x) e h(x) estas fun¸c˜oes n˜ao v˜ao se
interceptar em nenhum outro ponto. Logo f(x) admite uma ´ unica raiz.
Na pr´atica usamos algum software matem´atico para esbo¸car os gr´aficos. Quanto menor
for a amplitude do intervalo que cont´em a raiz, mais eficiente ser´a a Fase de Refinamento.
Para obtermos um intervalo de menor amplitude usaremos a estrat´egia do tabelamento que
´e baseada no seguinte Teorema.
11
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 12
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
h(x)
ξ
g(x)
Figura 2.1: Gr´aficos de g(x) e h(x)
Teorema 2.1.1 Seja f(x) uma fun¸c˜ao cont´ınua num intervalo [a, b]. Se f(a)f(b) < 0 ent˜ao
existe pelo menos uma raiz ξ ∈ [a, b].
O Teorema garante a existˆencia de pelo menos uma raiz, mas pode ser que o intervalo
contenha mais de uma raiz como mostra os exemplos na Figura 2.2.
Pelo exemplos podemos notar que se f

(x) preserva o sinal em [a, b] e f(a)f(b) < 0,
ent˜ao o intervalo cont´em uma ´ unica raiz. Se f(a)f(b) > 0 n˜ao podemos afirmar nada sobre
a existˆencia ou n˜ao de ra´ızes.
Exemplo 2.1.2 Da an´alise gr´afica vimos que a fun¸c˜ao f(x) = e
−x
− x tem uma raiz em
[0, 1] . Tabelando a fun¸c˜ao para valores a partir de zero e espa¸cados de 0.25 temos
x 0 0.25 0.5 0.75 1
f(x) 1 0.528 0.106 -0.277 -0.632
Temos que f(0.5)f(0.75) < 0. Logo a raiz pertence ao intervalo [0.5, 0.75]. Note que
f

(x) = −e
−x
−1 < 0 ∀x ∈ IR, isto ´e f

preserva o sinal em [a, b] e com isto podemos concluir
que esta raiz ´e ´ unica.
Devemos observar que o tabelamento ´e uma estrat´egia que completa a an´alise gr´afica.
Somente com o tabelamento n˜ao conseguimos determinar se existe outras ra´ızes no intervalo
ou ainda em que intervalo devemos tabelar a fun¸c˜ ao.
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 13
0 0.5 1 1.5 2 2.5 3
−4
−3
−2
−1
0
1
2
3
4
ξ
|
a
b
f

(x) preserva sinal
0 0.5 1 1.5 2 2.5 3
−3
−2
−1
0
1
2
3
ξ
1
|
ξ
2
|
ξ
3
|
a
b
f

(x) muda de sinal
0 0.5 1 1.5 2 2.5 3
−3
−2
−1
0
1
2
3
4
ξ
1
|
ξ
2
|
a
b
f

(x) muda de sinal
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
ξ
|
a b
f(a)f(b) > 0
Figura 2.2: Exemplos do comportamento de f(x)
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 14
2.2 Refinamento
Nas pr´oximas se¸c˜ oes estudaremos os esquemas num´ericos que partindo de uma aproxima¸ c˜ao
inicial x
0
, v˜ao gerar uma seq¨ uˆencia ¦x
k
¦ que converge para a raiz procurada, isto ´e x
k
→ξ
quando k → ∞. A aproxima¸c˜ ao inicial parte do intervalo encontrado na Fase I, Isolamento
das Ra´ızes, e os termos da seq¨ uˆencia s˜ao calculados at´e que a aproxima¸c˜ ao tenha atingido
uma precis˜ao desejada (crit´erio de parada).
2.3 M´etodo da Bissec¸c˜ao
Este m´etodo ´e baseado no Teorema 2.1.1. Seja f(x) uma fun¸c˜ ao cont´ınua no intervalo [a, b]
tal que f(a)f(b) < 0 e seja ε > 0 um n´ umero dado. A id´eia ´e reduzir a amplitude do intervalo
at´e atingir a precis˜ao requerida: b −a < ε, usando divis˜ao sucessivas do intervalo.
a
0
||
a
1
x
1
||
a
2
x
2
||
a
3
|
ξ
b
0
x
0
||
||
b
2
||
b
3
b
1
Figura 2.3: M´etodo da Bissec¸c˜ao
O m´etodo procede da seguinte forma: fa¸ca [a
0
, b
0
] = [a, b],
x
0
=
a
0
+ b
0
2

f(a
0
) < 0
f(b
0
) > 0
f(x
0
) > 0

ξ ∈ (a
0
, x
0
)
a
1
= a
0
b
1
= x
0
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 15
x
1
=
a
1
+ b
1
2

f(a
1
) < 0
f(b
1
) > 0
f(x
1
) < 0

ξ ∈ (x
1
, b
1
)
a
2
= x
1
b
2
= b
1
x
2
=
a
2
+ b
2
2

f(a
2
) < 0
f(b
2
) > 0
f(x
2
) < 0

ξ ∈ (x
2
, b
2
)
a
3
= x
2
b
3
= b
2
E assim vamos calculando a seq¨ uˆencia x
k
at´e que seja satisfeito o crit´erio de parada
b
k
−a
k
< ε.
Este crit´erio garante se tomarmos ¯ x ∈ [a
k
, b
k
] teremos a garantia que o erro ´e menor que ε,
isto ´e
[¯ x −ξ[ ≤ b
k
−a
k
< ε
Abaixo apresentamos a listagem do m´etodo implementado como fun¸c˜ ao do MatLab.
% Disciplina de C\’{a}lculo Num\’{e}rico - Prof. J. E. Castilho
% M\’{e}todo da Bisseccao
% Calcula uma aproxima\c{c}\~{a}o para uma raiz de fun\c{c}\~{a}o f(x)
% definida no arquivo f.m, onde esta raiz pertence ao
% intervalo [ao,bo] e a predi\c{c}\~{a}o dado por Ep.
function y=bissec(ao,bo,Ep)
while (bo-ao) > Ep,
x=(ao+bo)/2;
if f(x)*f(ao) > 0,
ao=x;
else
bo=x;
end;
end;
y=(ao+bo)/2;
2.3.1 Estudo da Convergˆencia
A convergˆencia ´e bastante intuitiva, como podemos ver na Figura 2.3. Vamos dar uma
demonstra¸c˜ao anal´ıtica atrav´es do seguinte teorema:
Teorema 2.3.1 Seja f uma fun¸c˜ao cont´ınua em [a, b], onde f(a)f(b) < 0. Ent˜ao o m´etodo
da Bissec¸ c˜ao gera uma seq¨ uˆencia ¦x
k
¦ que converge para a raiz ξ quando k →∞.
Prova: O m´etodo gera trˆes seq¨ uˆencias:
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 16
¦a
k
¦: Seq¨ uˆencia n˜ao decrescente e limitada superiormente por b
0
. Logo
a
0
≤ a
1
≤ < b
0
⇒∃M ∈ IR tal que lim
k→∞
a
k
= M
¦b
k
¦: Seq¨ uˆencia n˜ao crescente e limitada inferiormente por a
0
. Logo
b
0
≥ b
1
≥ > a
0
⇒∃m ∈ IR tal que lim
k→∞
b
k
= m
¦x
k
¦: Por constru¸c˜ao temos que
x
k
=
a
k
+ b
k
2
⇒a
k
< x
k
< b
k
∀k ∈ IN (2.1)
A amplitude de cada intervalo gerado ´e metade da amplitude do intervalo anterior, assim
temos,
b
k
−a
k
=
b
0
−a
0
2
k
.
Calculando o limite quando k →∞ temos
lim
k→∞
(b
k
−a
k
) = lim
k→∞
b
0
−a
0
2
k
= 0
Isto segue que
lim
k→∞
b
k
− lim
k→∞
a
k
= 0 ⇒M −m = 0 ⇒M = m.
Usando este fato e calculando o limite em (2.1) temos
m = lim
k→∞
a
k
≤ lim
k→∞
x
k
≤ lim
k→∞
b
k
= m ⇒ lim
k→∞
x
k
= m.
Falta mostrar que m ´e raiz de f, isto ´e f(m) = 0. Em cada itera¸c˜ ao f(a
k
)f(b
k
) < 0.
Como f ´e cont´ınua temos ent˜ ao que
0 ≥ lim
k→∞
f(a
k
)f(b
k
) = lim
k→∞
f(a
k
) lim
k→∞
f(b
k
) = f

lim
k→∞
a
k

f

lim
k→∞
b
k

= f
2
(m) ≥ 0
Portanto f(m) = 0
2.3.2 Estimativa do N´ umero de Itera¸c˜oes
Pelo crit´erio de parada podemos observar que o n´ umero de itera¸c˜ oes depende do intervalo
inicial [a
0
, b
0
] e da precis˜ao requerida ε. Dada uma precis˜ao ε temos,
b
k
−a
k
< ε ⇒
b
0
−a
0
2
k
< ε ⇒2
k
>
b
0
−a
0
ε
Como estes valores s˜ao sempre positivos, podemos aplicar a fun¸c˜ao logaritmo, obtendo,
k >
log(b
0
−a
0
) −log(ε)
log(2)
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 17
Exemplo 2.3.1 No exemplo 2.1.2 isolamos uma raiz de f(x) = e
−x
− x no intervalo
[0.5, 0.75]. Usando a precis˜ao ε = 10
−8
, temos
k >
log(0.75 −0.5) −log(10
−8
)
log(2)
= 24.575.
Logo ser´a necess´ario no m´ınimo 25 itera¸c˜oes para que o m´etodo da Bissec¸c˜ao possa atingir
a precis˜ ao desejada.
2.4 M´etodo Iterativo Linear (M.I.L.)
Seja f(x) cont´ınua em [a, b], onde existe uma raiz da equa¸c˜ ao f(x) = 0. A estrat´egia deste
m´etodo ´e escrever a fun¸c˜ ao f de tal forma que f(x) = x −φ(x). Se f(x) = 0, ent˜ao
x −φ(x) = 0 ⇒x = φ(x)
Isto ´e, encontrar as ra´ızes de f ´e equivalente a achar os pontos fixo da fun¸c˜ao φ. Atrav´es da
equa¸c˜ao acima montamos um processo iterativo, onde, dado x
0
x
n+1
= φ(x
n
), n = 1, 2, . . .
A fun¸c˜ao φ ´e chamada de fun¸c˜ao de itera¸c˜ao e esta n˜ao ´e determinada de forma ´ unica.
As condi¸c˜ oes de convergˆencia s˜ao dadas no teorema abaixo.
Teorema 2.4.1 Seja ξ uma raiz da fun¸c˜ao f isolada no intervalo [a, b]. Seja φ uma fun¸c˜ao
de itera¸ c˜ao da fun¸c˜ao f que satisfaz:
1) φ e φ

s˜ao cont´ınuas em [a, b],
2) [φ

(x)[ ≤ M < 1 ∀x ∈ [a, b],
3) x
0
∈ [a, b].
Ent˜ao a seq¨ uˆencia ¦x
k
¦ gerada pelo processo iterativo x
n+1
= φ(x
n
) converge para ξ.
Prova: Sendo ξ uma raiz ent˜ ao f(ξ) = 0 ⇒ξ = φ(ξ), logo
x
n+1
= φ(x
n
) ⇒x
n+1
−ξ = φ(x
n
) −φ(ξ).
Como φ ´e cont´ınua e diferenci´avel, pelo Teorema do Valor M´edio temos que existe c
n
per-
tencente ao intervalo entre c
n
e ξ tal que
φ(x
n
) −φ(ξ) = φ

(c
n
)(x
n
−ξ)
Logo
[x
n+1
−ξ[ = [φ

(c
n
)[ [x
n
−ξ[ ≤ M[x
n
−ξ[
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 18
Aplicando esta rela¸c˜ao para n −1, n −2, , 0 e usando o fato que x
0
∈ [a, b] temos
[x
n+1
−ξ[ ≤ M
n+1
[x
0
−ξ[
Como M < 1, aplicando o limite para n →∞ segue que
0 ≤ lim
n→∞
[x
n+1
−ξ[ ≤ lim
n→∞
M
n+1
[x
0
−ξ[ = 0
Logo
lim
n→∞
x
n+1
= ξ
Observamos que quanto menor for [φ

(x)[ mais r´apida ser´a a convergˆencia.
Exemplo 2.4.1 Consideremos a fun¸c˜ao f(x) = e
−x
−x, onde existe uma raiz ξ ∈ [0.5, 0, 75].
Uma forma de escrever f(x) = x −φ(x) ´e considerar φ(x) = e
−x
. Verificando as condi¸c˜oes
de convergˆencia temos:
1) As fun¸c˜oes φ(x) = e
−x
e φ

(x) = −e
−x
s˜ao cont´ınuas em [0.5, 0.75].
2) A fun¸c˜ ao φ

satisfaz
max
x∈[0.5,0.75]

(x)[ = 0.6065... < 1 (Por que? Ver Nota 1)
3) Tomando x
0
∈ [0.5, 0.75] teremos garantia de convergˆencia, por exemplo podemos tomar
x
0
como o ponto m´edio do intervalo
x
0
=
0.5 + 0.75
2
= 0.625
Assim temos que
x
1
= φ(x
0
) = φ(0.625) = 0.53526...
x
2
= φ(x
1
) = φ(0.53526) = 0.58551...
x
3
= φ(x
2
) = φ(0.58551) = 0.55681...
x
4
= φ(x
3
) = φ(0.55681) = 0.57302...
x
5
= φ(x
4
) = φ(0.57302) = 0.56381...
x
6
= φ(x
5
) = φ(0.56381) = 0.56903...
.
.
.
.
.
.
.
.
.
Na Figura 2.4 podemos ver que o comportamento do processo iterativo converge para a raiz.
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 19
0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
x
e
−x
x
0
x
1
x
2
Figura 2.4: M´etodo Iterativo Linear
2.4.1 Crit´erio de Parada
Uma quest˜ao ainda est´a em aberto. Qual o x
n
que fornece uma aproxima¸ c˜ao para a raiz, com
uma certa precis˜ao ε dada. Neste caso podemos usar como crit´erio de parada as seguintes
condi¸c˜oes
[x
n+1
−x
n
[ ≤ ε (Erro Absoluto)
[x
n+1
−x
n
[
[x
n+1
[
≤ ε (Erro Relativo)
e vamos tomar x
n+1
como aproxima¸c˜ ao para a raiz. Se no exemplo anterior tiv´essemos
escolhido ε = 0.006 e o Erro Absoluto ter´ıamos
[x
1
−x
0
[ = [0.53526 −0.625[ = 0.08974 > ε
[x
2
−x
1
[ = [0.58551 −0.53526[ = 0.05025 > ε
[x
3
−x
2
[ = [0.55681 −0.58551[ = 0.02870 > ε
[x
4
−x
3
[ = [0.57302 −0.55681[ = 0.01621 > ε
[x
5
−x
4
[ = [0.56381 −0.57302[ = 0.00921 > ε
[x
6
−x
5
[ = [0.56903 −0.56381[ = 0.00522 < ε
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 20
Logo a aproxima¸c˜ ao para a raiz seria x
6
= 0.56903.
2.5 M´etodo de Newton-Raphson (M.N.R)
No m´etodo anterior, vimos que quanto menor for [φ

(x)[ mais r´apida ser´a a convergˆencia. O
m´etodo de Newton-Raphson ´e determinado de tal forma que teremos uma fun¸c˜ ao de itera¸c˜ao
tal que φ

(ξ) = 0, onde ξ ´e uma raiz de f. Com isto temos a garantia que existe um intervalo
[¯ a,
¯
b] que cont´em a raiz e que [φ

(x)[ < 1 e conseq¨ uentemente a convergˆencia ser´a mais
r´apida.
Para determinar a forma de φ consideremos uma fun¸c˜ ao A(x) cont´ınua diferenci´avel e
que A(x) = 0, ∀x. Assim temos
f(x) = 0 ⇒A(x)f(x) = 0 ⇒x = x + A(x)f(x) = φ(x)
Calculando a derivada de φ na raiz ξ temos que
φ

(ξ) = 1 + A

(ξ)f(ξ) + A(ξ)f

(ξ) = 0.
Como f(ξ) = 0 e considerando que f

(ξ) = 0, segue que
A(ξ) = −
1
f

(ξ)
.
Assim tomamos a fun¸c˜ao A(x) = −1/f

(x), e portanto teremos
φ(x) = x −
f(x)
f

(x)
Com esta fun¸c˜ao de itera¸c˜ ao montamos o processo iterativo conhecido como m´etodo de
Newton-Raphson, onde dado x
0
x
n+1
= x
n

f(x
n
)
f

(x
n
)
, n = 0, 1, 2, . . .
Graficamente este m´etodo tem a interpreta¸c˜ ao mostrada na Figura 2.5. A derivada de
uma fun¸c˜ao no ponto x
n
´e igual a tangente do ˆangulo que a reta tangente a curva no ponto
x
n
forma com o eixo x. Usando a rela¸c˜ao sobre o triˆangulo retˆangulo temos
f

(x
n
) = tan(α) =
f(x
n
)
x
n
−x
n+1
⇒x
n+1
= x
n

f(x
n
)
f

(x
n
)
Teorema 2.5.1 Sejam f, f

e f

, fun¸c˜oes cont´ınuas num intervalo [a, b], onde existe uma
raiz ξ. Supor que f

(ξ) = 0. Ent˜ao existe um intervalo [¯ a,
¯
b] ⊂ [a, b], contendo a raiz ξ, tal
que se x
0
∈ [¯ a,
¯
b], a seq¨ uˆencia ¦x
n
¦ gerada pelo processo iterativo
x
n+1
= x
n

f(x
n
)
f

(x
n
)
converge para a raiz.
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 21
x
n
x
n+1
α
f(x)
Figura 2.5: M´etodo Newton-Raphson
Prova:(Exerc´ıcio 2.7)
Uma observa¸c˜ ao deve ser feita. A condi¸c˜ ao de que x
0
∈ [¯ a,
¯
b] n˜ao ´e uma condi¸c˜ ao
de f´acil verifica¸c˜ ao, visto que o Teorema garante a existˆencia do intervalo, mas n˜ao como
determin´a-lo. Observamos na Figura 2.6 casos em que o m´etodo de Newton-Raphson ´e falho.
Exemplo 2.5.1 Considerando f(x) = e
−x
−x que possui uma raiz no intervalo [0.5, 0.75],
vamos achar uma aproxima¸c˜ao usando x
0
= 0.625 e ε = 0.006. Sendo
f

(x) = −e
−x
−1
teremos o processo iterativo
x
n+1
= x
n

f(x
n
)
f

(x
n
)
= x
n
+
e
−x
−x
e
−x
+ 1
Assim temos que
x
1
= x
0
+
e
−x
0
−x
0
e
−x
0
+ 1
= 0.56654 [x
1
−x
0
[ = 0.0584 > ε
x
2
= x
1
+
e
−x
1
−x
1
e
−x
1
+ 1
= 0.56714 [x
2
−x
1
[ = 0.0006 < ε
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 22
x
0
=x
2
x
1
=x
3
N˜ao Converge
x
0
ξ
Converge para outra raiz
Figura 2.6: Casos em que M´etodo Newton-Raphson ´e falho
Logo a aproxima¸c˜ ao ´e dada por x
2
= 0.56714.
Abaixo segue a implementa¸c˜ ao do m´etodo como fun¸c˜ ao do MatLab:
% Disciplina de C\’{a}lculo Num\’{e}rico - Prof. J. E. Castilho
% M\’{e}todo de Newton-Raphson
% Calcula uma aproxima\c{c}\~{a}o para uma raiz de fun\c{c}\~{a}o f(x)
% definida no arquivo f.m. A derivada da fun\c{c}\~{a}o f(x) esta
% definida no arquivo df.m, tomamos xo como condi\c{c}\~{a}o inicial e
% a predi\c{c}\~{a}o dada por Ep.
function x1=newton(xo,Ep)
x1=xo-f(xo)/df(xo)
while abs(x1-xo) > Ep,
xo=x1;
x1=xo-f(xo)/df(xo)
end;
2.6 Ordem de Convergˆencia
Na se¸c˜ ao anterior determinamos o M´etodo de Newton-Raphson que pode ser interpretado
como um caso particular do M´etodo Iterativo Linear, onde a convergˆencia ´e mais r´apida.
A “ medida” que permite comparar a convergˆencia entre os m´etodos ´e o que chamamos de
ordem de convergˆencia, definida por:
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 23
Defini¸c˜ao 2.6.1 Seja ¦x
n
¦ uma seq¨ uˆencia que converge para um n´ umero ξ e seja e
k
= x
k
−ξ
o erro na itera¸c˜ao k. Se
lim
k→∞
[e
k+1
[
[e
k
[
p
= C p > 1 C > 0
dizemos que a seq¨ uˆencia converge com ordem p e com constante assint´otica C.
Como a seq¨ uˆencia converge, para valores de k suficientemente grande temos
[e
k+1
[ ≈ C[e
k
[
p
, com [e
k
[ < 1
Assim quanto maior for o valor de p, menor ser´a o erro [e
k+1
[. Quando p = 1 dizemos que o
m´etodo tˆem convergˆencia linear. Se p = 2 dizemos que a convergˆencia ´e quadr´atica.
Primeiramente vamos determinar a ordem de convergˆencia do M.I.L. Sendo a seq¨ uˆencia
¦x
n
¦ gerada por x
k+1
= φ(x
k
), k = 0, 1, 2, . . . e que ξ = φ(ξ) temos
x
k+1
−ξ = φ(x
k
) −φ(ξ) = φ

(c
k
)(x
k
−ξ),
onde a ´ ultima igualdade ´e conseq¨ uˆencia do Teorema do Valor M´edio e c
k
´e um n´ umero entre
x
k
e ξ. Logo segue
x
k+1
−ξ
x
k
−ξ
= φ

(c
k
) ⇒
e
k+1
e
k
= φ

(c
k
)
Aplicando o m´odulo e calculando o limite quando k tende ao infinito temos
lim
k→∞
[e
k+1
[
[e
k
[
= lim
k→∞

(c
k
)[ = [φ

(ξ)[ = C
Portanto temos que o M.I.L. tˆem ordem de convergˆencia p = 1.
No caso do M´etodo de Newton-Raphson temos que a seq¨ uˆencia ´e gerada pelo processo
iterativo
x
n+1
= x
n

f(x
n
)
f

(x
n
)
Subtraindo ξ de cada lado temos
x
n+1
−ξ = x
n
−ξ −
f(x
n
)
f

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

f(x
n
)
f

(x
n
)
(2.2)
Atrav´es da f´ormula de Taylor da fun¸c˜ao f no ponto x
n
temos
f(x) = f(x
n
) + f

(x
n
)(x −x
n
) +
f

(c
n
)
2
(x −x
n
)
2
c
n
∈ [x, x
n
]
Que calculada em x = ξ fornece
0 = f(ξ) = f(x
n
) + f

(x
n
)(ξ −x
n
) +
f

(c
n
)
2
(ξ −x
n
)
2
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 24
Dividindo por f

(x
n
) e fazendo e
n
= x
n
−ξ segue que
f(x
n
)
f

(x
n
)
= e
n

f

(c
n
)
2f

(xn)
e
2
n
Substituindo em (2.2) obtemos
e
n+1
e
2
n
=
f

(c
n
)
2f

(xn)
Finalmente aplicamos o m´odulo e calculamos o limite quando k tende ao infinito obtendo
lim
k→∞
[e
n+1
[
[e
n
[
2
= lim
k→∞

f

(c
n
)
2f

(xn)

=

f

(ξ)
2f

(ξ)

=
1
2

(ξ)[ = C
Portanto temos que o M´etodo de Newton-Raphson tˆem ordem de convergˆencia p = 2.
2.7 Observa¸c˜ oes Finais
Neste cap´ıtulo vimos trˆes m´etodos diferentes para resolver equa¸c˜ oes da forma f(x) = 0.
Faremos um breve coment´ ario das vantagens e desvantagens de cada m´etodo.
No M´etodo da bissec¸c˜ ao vimos que o n´ umero de itera¸c˜ oes depende apenas do intervalo
inicial [a
0
, b
0
] Logo este pode ser aplicado a qualquer fun¸c˜ao f(x) que satisfaz f(a)f(b) < 0.
N˜ao importa o quanto f(x) seja complicada. A desvantagem ´e que tem uma convergˆencia
lenta. Na pr´atica ele ´e usado para refinar o intervalo que cont´em a raiz. Aplicamos o m´etodo
em um n´ umero fixo de itera¸c˜ oes.
Em geral o M.I.L. ´e mais r´apido que o M´etodo da Bissec¸c˜ ao. Usa menos opera¸c˜oes por
cada itera¸c˜ao. Pode encontrar ra´ızes em intervalos onde f(a)f(b) > 0 . A dificuldade ´e
encontrar a fun¸c˜ ao de itera¸c˜ ao φ que seja convergente.
O M´etodo de Newton-Raphson tˆem convergˆencia quadr´atica. Por´em este necessita
da avalia¸c˜ao da fun¸c˜ao e sua derivada em cada ponto x
n
. Pode ocorrer de termos uma
raiz isolada num intervalo [a, b] e o m´etodo acabe convergindo para uma outra raiz que n˜ao
pertence a [a, b]. Isto ocorre porque temos que tomar x
0
∈ [¯ a,
¯
b] ⊂ [a, b]. Na pr´atica tomamos
x
0
como ponto m´edio do intervalo, isto ´e
x
0
=
a + b
2
Nota 1 Em muitas situa¸c˜oes vamos necessitar de calcular o m´aximo do m´odulo de uma
fun¸c˜ao restrita a um intervalo, isto ´e
max
x∈[a,b]
[f(x)[.
Uma forma pr´atica para este c´alculo ´e seguir os passos:
1: Calcula-se os valores da fun¸c˜ao nos extremos do intervalo, [f(a)[ e [f(b)[.
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 25
2: Verifique se a fun¸c˜ao n˜ao possui ponto critico no intervalo, ou seja, achamos os valores
de x
k
tal que f

(x
k
) = 0 e x
k
∈ [a, b]
3: Tomamos como o valor m´aximo o max¦[f(a)[, [f(b)[, [f(x
k
)[¦
2.8 Exerc´ıcios
Exerc´ıcio 2.1 Localize graficamente e dˆe intervalos de amplitude 0.5 que contenha as ra´ızes
das equa¸ c˜oes
a) ln(x) + 2x = 0 b) e
x
− sen(x) = 0 c) ln(x) −2
x
= −2
d) 2 cos(x) −
e
x
2
= 0 e) 3 ln(x) −
x
2
2
f) (5 −x)e
x
= 1
Exerc´ıcio 2.2 Utilize o M´etodo da Bissec¸c˜ao e aproxime a menor raiz em m´odulo com erro
relativo menor que 10
−1
para as equa¸c˜oes a) e b) do exerc´ıcio anterior.
Exerc´ıcio 2.3 Utilize o M´etodo Iterativo Linear e aproxime a menor raiz em m´odulo com
erro relativo menor que 10
−2
para as equa¸c˜oes c) e d) do exerc´ıcio anterior.
Exerc´ıcio 2.4 Utilize o M´etodo de Newton-Rapshon e aproxime a menor raiz em m´odulo
com erro relativo menor que 10
−3
para as equa¸c˜oes d) e f) do exerc´ıcio anterior.
Exerc´ıcio 2.5 Achar a raiz p-´esima de um n´ umero positivo a ´e equivalente a achar a raiz
positiva da equa¸c˜ ao
p

a = x.
a) Encontre um intervalo que depende do valor de a e que contenha a raiz.
b) Verifique se a fun¸c˜ao de itera¸c˜ao φ(x) = a/x
p−1
satisfaz os crit´erios de convergˆencia
do M´etodo Iterativo Linear.
c) Verifique que o processo iterativo gerado pelo M.N.R. ´e dado por
x
n+1
=
1
p
¸
(p −1)x
n
+
a
x
p−1
n

d) Implemente um programa em Matlab que execute o processo iterativo dado em c).
Exerc´ıcio 2.6 Dada a fun¸c˜ao f(x) = e
x
−4x
2
.
a) Isole as ra´ızes da fun¸c˜ao f(x).
b) Verifique que as fun¸c˜oes abaixo s˜ao fun¸c˜ao de itera¸c˜ao de f e verifique se satisfazem o
crit´erio de convergˆencia do M.I.L. para a raiz positiva.
φ
1
(x) =
1
2
e
x/2
φ
2
(x) = ln(4x
2
)
CAP
´
ITULO 2. ZEROS DE FUNC¸
˜
OES 26
c) Tomando x
0
= 0.6 e ε = 0.01, aplique o M.I.L. para encontrar uma aproxima¸c˜ao para a
raiz positiva, usando uma fun¸c˜ao de itera¸c˜ao que satisfa¸ca os crit´erios de convergˆencia
Exerc´ıcio 2.7 Prove o Teorema 2.5.1.
Exerc´ıcio 2.8 A fun¸c˜ao f(x) = sen(cos(

3x)) tem uma raiz no intervalo [0.7, 0.9]. En-
contre uma aproxima¸c˜ao com ε = 0.07, escolhendo entre os m´etodos num´ericos estudados o
mais adequado. Justifique sua resposta.
Cap´ıtulo 3
Sistemas Lineares
A resolu¸c˜ ao de sistemas lineares surge em diversas ´areas do conhecimento. O caso geral em
que o sistema linear envolve m equa¸c˜oes com n inc´ognitas, o sistema pode apresentar uma
´ unica solu¸c˜ ao, infinitas solu¸c˜oes ou n˜ao admitir solu¸c˜ ao. Este tipo de problema ´e tratado na
´
Algebra Linear usando o processo de escalonamento. Neste cap´ıtulo vamos analisar esquemas
num´ericos para solu¸c˜oes de sistemas lineares de n equa¸c˜ oes com n inc´ognitas , isto ´e

a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
a
1,n
x
n
= b
1
a
2,1
x
1
+ a
2,2
x
2
+ a
2,3
x
3
a
2,n
x
n
= b
2
a
3,1
x
1
+ a
3,2
x
2
+ a
3,3
x
3
a
3,n
x
n
= b
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
x
1
+ a
n,2
x
2
+ a
n,3
x
3
a
n,n
x
n
= b
n
onde a
ij
s˜ao os coeficientes, x
j
s˜ao as inc´ognitas e os b
j
s˜ao as constantes. Este sistema
pode ser escrito na forma matricial Ax = b com A ∈ IR
n×n
e x, b ∈ IR
n
. Analisaremos duas
classes de esquemas num´ericos: M´etodos Diretos e M´etodos Iterativos.
3.1 M´etodos Diretos
Os M´etodos Diretos s˜ao aqueles que ap´os um n´ umero finito de opera¸c˜ oes fornecem a solu¸c˜ao
exata do sistema, a menos dos erros de arredondamentos. Estes m´etodos s˜ao baseados no
processo de escalonamento estudado em
´
Algebra Linear. S˜ao eficientes para sistemas de
pequeno porte (n˜ao mais que 50 equa¸c˜ oes ) e para sistemas de bandas, como por exemplo
sistemas tridiagonais ( ver Ex. 3.3 ). Primeiramente vamos considerar os sistemas lineares
triangulares.
27
CAP
´
ITULO 3. SISTEMAS LINEARES 28
3.1.1 Sistema Triangular Superior
Um Sistema Triangular Superior ´e aquele em que a matriz associada ao sistema ´e uma matriz
triangular superior, isto ´e a
i,j
= 0 para i > j.

a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
a
1,n
x
n
= b
1
a
2,2
x
2
+ a
2,3
x
3
a
2,n
x
n
= b
2
a
3,3
x
3
a
3,n
x
n
= b
3
.
.
.
.
.
.
a
n,n
x
n
= b
n
Este sistema admite uma ´ unica solu¸c˜ ao se a
ii
= 0 para i = 1, 2, . . . , n, sendo,
x
n
=
b
n
a
n,n
x
n−1
=
1
a
n−1,n−1
(b
n−1
−a
n−1,n
x
n
)
x
n−2
=
1
a
n−2,n−2
(b
n−2
−a
n−2,n−1
x
n−1
−a
n−2,n
x
n
)
.
.
.
.
.
.
x
k
=
1
a
k,k

¸
b
k

n
¸
j=k+1
a
k,j
x
j
¸

.
.
.
.
.
.
e assim sucessivamente. Com isto obtemos o esquema num´erico para solu¸c˜ ao de sistema
triangular superior dado pelo algoritmo abaixo
Algoritmo: Retro-Solu¸c˜ ao
Input: Matriz triangular superior A ∈ IR
n×n
e b ∈ IR
n
x
n
←b
n
/a
n,n
Para k = n −1, n −2, . . . 1, fa¸ca:
x
k

1
a
k,k

¸
b
k

n
¸
j=k+1
a
k,j
x
j
¸

fim para
Output: x ∈ IR
n
: solu¸c˜ao do sistema
CAP
´
ITULO 3. SISTEMAS LINEARES 29
3.1.2 M´etodo de Elimina¸c˜ao de Gauss
Dois sistemas lineares s˜ao ditos ser equivalentes se estes tem a mesma solu¸c˜ ao. A estrat´egia do
M´etodo de Elimina¸c˜ao de Gauss ´e transformar um sistema linear Ax = b em um sistema tri-
angular superior equivalente Sx =
˜
b, cuja a solu¸c˜ao ´e facilmente obtida pela Retro-Solu¸c˜ ao.
Esta transforma¸c˜ ao ´e realizada atrav´es das opera¸c˜ oes elementares
(I) Trocar duas equa¸c˜oes.
(II) Multiplicar uma equa¸c˜ ao por uma constante n˜ao nula.
(III) Adicionar a uma equa¸c˜ao uma outra multiplicada por uma constante n˜ao nula.
Aplicando qualquer seq¨ uˆencia dessas opera¸c˜oes elementares num sistema Ax = b obtemos
um novo sistema
˜
Ax =
˜
b de tal forma que estes ser˜ao equivalentes. Para descrever o M´etodo
de Elimina¸c˜ ao de Gauss vamos considerar o sistema linear

a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
a
1,n
x
n
= b
1
a
2,1
x
1
+ a
2,2
x
2
+ a
2,3
x
3
a
2,n
x
n
= b
2
a
3,1
x
1
+ a
3,2
x
2
+ a
3,3
x
3
a
3,n
x
n
= b
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
x
1
+ a
n,2
x
2
+ a
n,3
x
3
a
n,n
x
n
= b
n
,
onde det(A) = 0, isto ´e, o sistema admite uma ´ unica solu¸c˜ao. Um sistema linear pode ser
representado na forma de matriz estendida (A
0
[b
0
), ou seja

¸
¸
¸
¸
¸
¸
¸
¸
¸
a
(0)
1,1
a
(0)
1,2
a
(0)
1,3
a
(0)
1,n
b
(0)
1
a
(0)
2,1
a
(0)
2,2
a
(0)
2,3
a
(0)
2,n
b
(0)
2
a
(0)
3,1
a
(0)
3,2
a
(0)
3,3
a
(0)
3,n
b
(0)
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
(0)
n,1
a
(0)
n,2
a
(0)
n,3
a
(0)
n,n
b
(0)
n
¸

onde o ´ındice superior indica a etapa do processo.
Etapa 1: Eliminar a inc´ognita x
1
das equa¸c˜oes k = 2, 3, . . . , n. Sendo a
(0)
1,1
= 0, usaremos a
opera¸c˜ao elementar (III) e subtra´ımos da linha k a primeira linha multiplicada por
m
k,1
=
a
(0)
k,1
a
(0)
1,1
.
Os elementos m
k,1
s˜ao chamados de multiplicadores e o elemento a
(0)
1,1
´e chamado de
pivˆo da Etapa 1. Indicando a linha k da matriz entendida por L
(0)
k
esta etapa se resume
em
L
(1)
1
= L
(0)
1
L
(1)
k
= L
(0)
k
−m
k,1
L
(0)
1
, k = 2, 3, . . . , n
CAP
´
ITULO 3. SISTEMAS LINEARES 30
Ao final desta etapa teremos a matriz

¸
¸
¸
¸
¸
¸
¸
¸
¸
a
(1)
1,1
a
(1)
1,2
a
(1)
1,3
a
(1)
1,n
b
(1)
1
0 a
(1)
2,2
a
(1)
2,3
a
(1)
2,n
b
(1)
2
0 a
(1)
3,2
a
(1)
3,3
a
(1)
3,n
b
(1)
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 a
(1)
n,2
a
(1)
n,3
a
(1)
n,n
b
(1)
n
¸

que representa um sistema linear equivalente ao sistema original, onde a inc´ognita x
1
foi eliminada das equa¸c˜oes k = 2, 3, . . . , n.
Etapa 2: Eliminar a inc´ognita x
2
das equa¸c˜ oes k = 3, 4, . . . , n. Supondo que a
(1)
2,2
= 0,
vamos tomar este elemento como pivˆo desta etapa e desta forma os multiplicadores s˜ao
dados por
m
k,2
=
a
(1)
k,2
a
(1)
2,2
A elimina¸c˜ao se procede da seguinte forma:
L
(2)
1
= L
(1)
1
L
(2)
2
= L
(1)
2
L
(2)
k
= L
(1)
k
−m
k,2
L
(1)
2
, k = 3, 4, . . . , n
obtendo ao final da etapa a matriz

¸
¸
¸
¸
¸
¸
¸
¸
¸
a
(2)
1,1
a
(2)
1,2
a
(2)
1,3
a
(2)
1,n
b
(2)
1
0 a
(2)
2,2
a
(2)
2,3
a
(2)
2,n
b
(2)
2
0 0 a
(2)
3,3
a
(2)
3,n
b
(2)
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 a
(2)
n,3
a
(2)
n,n
b
(2)
n
¸

Com procedimentos an´alogos ao das etapas 1 e 2 podemos eliminar as inc´ognitas x
k
das
equa¸c˜oes k + 1, k + 2, . . . , n e ao final de n −1 etapas teremos a matriz

¸
¸
¸
¸
¸
¸
¸
¸
¸
a
(n−1)
1,1
a
(n−1)
1,2
a
(n−1)
1,3
a
(n−1)
1,n
b
(n−1)
1
0 a
(n−1)
2,2
a
(n−1)
2,3
a
(n−1)
2,n
b
(n−1)
2
0 0 a
(n−1)
3,3
a
(n−1)
3,n
b
(n−1)
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 a
(n−1)
n,n
b
(n−1)
n
¸

Esta matriz representa um sistema triangular superior equivalente ao sistema original. Logo
a solu¸c˜ ao deste sistema, obtido pela Retro-Solu¸c˜ao, ´e solu¸c˜ ao do sistema original.
CAP
´
ITULO 3. SISTEMAS LINEARES 31
Algoritmo: M´etodo de Elimina¸c˜ ao de Gauss
Input: Matriz A e vetor b ∈ IR
n
Elimina¸c˜ao:
Para k = 1, 2, . . . , n −1, fa¸ca:
Para i = k + 1, . . . , n, fa¸ca:
m ←
a
ij
a
k,k
Para j = k + 1, . . . , n, fa¸ca:
a
ij
←a
ij
−m∗ a
kj
fim para
b
i
←b
i
−m∗ b
k
fim para
fim para
Retro-Solu¸c˜ao:
x
n
←b
n
/a
n,n
Para k = n −1, n −2, . . . 1, fa¸ca:
x
k

1
a
k,k

¸
b
k

n
¸
j=k+1
a
k,j
x
j
¸

fim para
Output: x ∈ IR
n
: solu¸c˜ao do sistema
Exemplo 3.1.1 Vamos considerar o sistema linear abaixo

3x
1
+ 2x
2
−x
3
= 1
7x
1
−x
2
−x
3
= −2
x
1
+ x
3
= 1
Escrevendo na forma de matriz estendida teremos

¸
¸
3 2 −1 1
7 −1 −1 −2
1 0 1 1
¸

Etapa 1: Eliminar x
1
das linhas 2 e 3.
L
(1)
1
= L
(0)
1
L
(1)
2
= L
(0)
2
−m
2,1
L
(0)
1
, onde m
2,1
=
a
(0)
21
a
(0)
1,1
=
7
3
L
(1)
3
= L
(0)
3
−m
3,1
L
(0)
1
, onde m
3,1
=
a
(0)
31
a
(0)
1,1
=
1
3
CAP
´
ITULO 3. SISTEMAS LINEARES 32
e com isto obtemos a matriz

¸
¸
3 2 −1 1
0 −17/3 4/3 −13/3
0 −2/3 4/3 12/3
¸

Etapa 2: Eliminar x
2
da linha 3.
L
(2)
1
= L
(1)
1
L
(2)
2
= L
(1)
2
L
(2)
3
= L
(1)
3
−m
3,2
L
(1)
2
, onde m
3,2
=
a
(01)
32
a
(1)
2,2
=
2
17
obtendo assim a matriz

¸
¸
3 2 −1 1
0 −17/3 4/3 −13/3
0 0 20/17 20/17
¸

Retro-Solu¸c˜ao: Encontrar a solu¸c˜ao do sistema triangular superior.
x
3
=
b
3
a
3,3
= 1
x
2
=
1
a
2,2
(b
2
−a
2,3
x
3
) = 1
x
1
=
1
a
1,1
(b
1
−a
1,2
x
2
−a
1,3
x
3
) = 0
Logo a solu¸c˜ao do sistema ´e dada por x = (0, 1, 1)
T
.
A solu¸c˜ ao encontrada ´e a solu¸c˜ ao exata, pois mantivemos os n´ umeros resultantes na forma
de fra¸c˜ao. Por´em m´aquinas digitais representam estes n´ umeros na forma de ponto flutuante
finita e erros de arredondamento podem ocorrer. Em sistemas lineares de grande porte estes
erros v˜ao se acumulando e prejudicando a solu¸c˜ao do sistema.
3.1.3 Pivotamento Parcial
Em cada etapa k da elimina¸c˜ ao temos o c´alculo do multiplicador
m
k,j
=
a
(k−1)
k,j
a
(k−1)
k,k
.
Se o pivˆo [a
(k−1)
k,k
[ < 1, ou seja este ´e pr´oximo de zero teremos problemas com os erros de
arredondamento, pois operar n´ umeros de grandezas muito diferentes aumenta os erros ( ver
Ex. 3.4). A estrat´egia de pivotamento parcial ´e baseada na opera¸c˜ ao elementar (I). No in´ıcio
de cada etapa k escolhemos como pivˆo o elemento de maior m´odulo entre os coeficientes a
k−1
ik
para i = k, k + 1, . . . , n.
CAP
´
ITULO 3. SISTEMAS LINEARES 33
Exemplo 3.1.2 Vamos considerar o sistema linear, representado pela matriz extendida

¸
¸
1 3 2 3
2 1 2 4
−3 2 1 −2
¸

Etapa 1: Escolha do pivˆo
max
1≤i≤3
[a
i,1
[ = [a
3,1
[
Trocamos a linha L
1
com a linha L
3
, obtendo,

¸
¸
−3 2 1 −2
2 1 2 4
1 3 2 3
¸

Eliminar x
1
das linhas 2 e 3.
L
(1)
1
= L
(0)
1
L
(1)
2
= L
(0)
2
−m
2,1
L
(0)
1
, onde m
2,1
=
2
3
L
(1)
3
= L
(0)
3
−m
3,1
L
(0)
1
, onde m
3,1
=
1
3
e com isto obtemos a matriz

¸
¸
−3 2 1 −2
0 7/3 8/3 8/3
0 11/3 7/3 7/3
¸

Etapa 2: Escolha do pivˆo
max
2≤i≤3
[a
i,1
[ = [a
3,2
[
Trocamos a linha L
2
com a linha L
3
, obtendo,

¸
¸
−3 2 1 −2
0 11/3 7/3 7/3
0 7/3 8/3 8/3
¸

Eliminar x
2
da linha 3.
L
(2)
1
= L
(1)
1
L
(2)
2
= L
(1)
2
L
(2)
3
= L
(1)
3
−m
3,2
L
(1)
2
, onde m
3,2
=
−7
11
obtendo assim a matriz

¸
¸
−3 2 1 −2
0 11/3 8/3 8/3
0 0 13/11 13/11
¸

CAP
´
ITULO 3. SISTEMAS LINEARES 34
Retro-Solu¸c˜ao: Encontrar a solu¸c˜ao do sistema triangular superior.
x
3
=
b
3
a
3,3
= 1
x
2
=
1
a
2,2
(b
2
−a
2,3
x
3
) = 0
x
1
=
1
a
1,1
(b
1
−a
1,2
x
2
−a
1,3
x
3
) = 1
Logo a solu¸c˜ao do sistema ´e dada por x = (1, 0, 1)
T
.
Na pr´atica a troca de linhas n˜ao ´e realizada. O controle ´e feito por um vetor de in-
teiros n-dimensional, onde inicialmente na posi¸c˜ ao k est´a armazenado k, ou seja trc =
[1, 2, . . . , s, . . . , n]. Se, por exemplo, trocamos a linha 1 pela linha s o vetor passa a ser
trc = [s, 2, . . . , 1, . . . , n].
3.1.4 C´alculo da Matriz Inversa
Vamos supor que desejamos resolver os sistemas lineares Ax = b
1
, Ax = b
2
, . . . Ax = b
k
,
onde a matriz A ´e a mesma para todos os sistemas. A matriz triangular superior, resultante
do processo de elimina¸c˜ao, n˜ao depende do vetor b e portanto ser´a a mesma em qualquer
um dos sistemas. Assim podemos resolver estes sistemas num ´ unico processo de elimina¸c˜ ao
usando a matriz estendida (A[b
1
[b
2
[ . . . [b
k
) e aplicando a Retro-Solu¸c˜ao para cada vetor
b
k
.
O C´alculo da inversa de uma matriz ´e um caso particular do esquema acima. A inversa
de uma matriz A ∈ R
n×n
, denotada por A
−1
, ´e uma matriz n n tal que
A A
−1
= A
−1
A = I
Como exemplo vamos considerar uma matriz A de dimens˜ao 3 3

¸
¸
a
1,1
a
1,2
a
1,3
a
2,1
a
2,2
a
2,3
a
3,1
a
3,2
a
3,3
¸

cuja a inversa A
−1
´e dada por

¸
¸
x
1,1
x
1,2
x
1,3
x
2,1
x
2,2
x
2,3
x
3,1
x
3,2
x
3,3
¸

,
logo temos que

¸
¸
a
1,1
a
1,2
a
1,3
a
2,1
a
2,2
a
2,3
a
3,1
a
3,2
a
3,3
¸

¸
¸
x
1,1
x
1,2
x
1,3
x
2,1
x
2,2
x
2,3
x
3,1
x
3,2
x
3,3
¸

=

¸
¸
1 0 0
0 1 0
0 0 1
¸

,
CAP
´
ITULO 3. SISTEMAS LINEARES 35
Portanto cada coluna k da inversa da matriz A ´e solu¸c˜ ao de um sistema linear, onde o vetor
dos termos independentes ´e a k-´esima coluna da matriz identidade, isto ´e

¸
¸
a
1,1
a
1,2
a
1,3
a
2,1
a
2,2
a
2,3
a
3,1
a
3,2
a
3,3
¸

¸
¸
x
1,1
x
2,1
x
3,1
¸

=

¸
¸
1
0
0
¸

,

¸
¸
a
1,1
a
1,2
a
1,3
a
2,1
a
2,2
a
2,3
a
3,1
a
3,2
a
3,3
¸

¸
¸
x
1,2
x
2,2
x
3,2
¸

=

¸
¸
0
1
0
¸

,

¸
¸
a
1,1
a
1,2
a
1,3
a
2,1
a
2,2
a
2,3
a
3,1
a
3,2
a
3,3
¸

¸
¸
x
1,3
x
2,3
x
3,3
¸

=

¸
¸
0
0
1
¸

,
Em resumo, se temos uma matriz n n, podemos achar a inversa resolvendo n sistemas
lineares, representados pela matriz estendida (A[b
1
[b
2
[ . . . [b
n
), onde os vetores b
k
s˜ao os
vetores unit´arios ( 1 na posi¸c˜ ao k e zeros nas demais posi¸c˜ oes).
Exemplo 3.1.3 Vamos achar a inversa da matriz abaixo, usando o m´etodo de Elina¸c˜ao de
Gauss.

¸
¸
4 1 −6
3 2 −6
3 1 −5
¸

,
Para o processo de elimina¸c˜ao consideremos a matriz estendida

¸
¸
4 1 −6 1 0 0
3 2 −6 0 1 0
3 1 −5 0 0 1
¸

,
Etapa 1: Eliminar x
1
das linhas 2 e 3.
L
(1)
1
= L
(0)
1
L
(1)
2
= L
(0)
2
−m
2,1
L
(0)
1
, onde m
2,1
=
3
4
L
(1)
3
= L
(0)
3
−m
3,1
L
(0)
1
, onde m
3,1
=
3
4
e com isto obtemos a matriz

¸
¸
4 1 −6 1 0 0
0 5/4 −3/2 −3/4 1 0
0 1/4 −1/2 −3/4 0 1
¸

,
CAP
´
ITULO 3. SISTEMAS LINEARES 36
Etapa 2: Eliminar x
2
da linha 3.
L
(2)
1
= L
(1)
1
L
(2)
2
= L
(1)
2
L
(2)
3
= L
(1)
3
−m
3,2
L
(1)
2
, onde m
3,2
=
1
5
obtendo assim a matriz

¸
¸
4 1 −6 1 0 0
0 5/4 −3/2 −3/4 1 0
0 0 −1/5 −3/5 −1/5 1
¸

,
Retro-Solu¸c˜ao: Encontrar a solu¸c˜ao dos sistemas triangulares superior.
Primeira coluna da inversa
x
3,1
=
b
1
3
a
3,3
= 3
x
2,1
=
1
a
2,2
(b
1
2
−a
2,3
x
3
) = 3
x
1,1
=
1
a
1,1
(b
1
1
−a
1,2
x
2
−a
1,3
x
3
) = 4
Segunda coluna da inversa
x
3,2
=
b
2
3
a
3,3
= 1
x
2,2
=
1
a
2,2
(b
2
2
−a
2,3
x
3
) = 2
x
1,2
=
1
a
1,1
(b
2
1
−a
1,2
x
2
−a
1,3
x
3
) = 1
Terceira coluna da inversa
x
3,3
=
b
3
3
a
3,3
= −5
x
2,3
=
1
a
2,2
(b
3
2
−a
2,3
x
3
) = −6
x
1,3
=
1
a
1,1
(b
3
1
−a
1,2
x
2
−a
1,3
x
3
) = −6
Logo a matriz inversa s ´e dada por

¸
¸
4 1 −6
3 2 −6
3 1 −5
¸

,
CAP
´
ITULO 3. SISTEMAS LINEARES 37
No exemplo acima temos que a inversa da matriz A ´e a pr´opria A. Este tipo de matriz ´e
usado como matriz teste para verificar a eficiˆencia dos m´etodos num´ericos.
Abaixo apresentamos uma implementa¸ c˜ao do M´etodo de Elimina¸c˜ ao de Gauss em
MatLab que resolve k sistemas, onde a matriz A ´e comum a todos.
% Disciplina de C\’{a}lculo Num\’{e}rico - Prof. J. E. Castilho
% M\’{e}todo de elimina\c{c}\~{a}o de Gauss -
% Este procedimento resolve k-sistemas lineares, onde a
% matriz A de dimens\~{a}o n x n eh comum a todos.
% Os par\^{a}metros devem ser passados da forma
% x=EGauss(A,b1,b2,b3,...,bk)
% o resultado eh uma matriz x de dimens\~{a}o n x k onde a
% coluna j armazena a solu\c{c}\~{a}o do sistema Ax=bj
% Dados A: matriz do sistema
% varargin: lista dos vetores dos termos independentes
function x=EGauss(A,varargin)
b=[varargin{:}];
db=size(b);
% Esta parte verifica se o sistema eh quadrado
da=size(A);
n=da(1);
if n ~=da(2),
disp(’??? A matriz deve ser quadrada’);
break;
end;
% Esta parte verifica se a dimens\~{a}o do vetor b
% esta de acordo com a dimens\~{a}o do sistema
if n ~=db(1), disp(’??? Erro na dimens\~{a}o de b’); break; end;
% Cria matriz estendida
Ax=[A,b];
% Fase da elimina\c{c}\~{a}o
for k=1:(n-1)
for i=k+1:n
if abs(Ax(k,k)) < 10^(-16),
disp(’??? Piv\^{o} Numericamente Nulo’);
break;
end;
m=Ax(i,k)/Ax(k,k);
for j=k+1:da(2) + db(2)
Ax(i,j) = Ax(i,j)-m*Ax(k,j);
end;
CAP
´
ITULO 3. SISTEMAS LINEARES 38
end;
end;
% Fase da Retro solu\c{c}\~{a}o
if abs(Ax(n,n)) < 10^(-16),
disp(’??? Piv\^{o} Numericamente Nulo’);
break;
end;
for m=1:db(2)
x(n,m) = Ax(n,n+m)/Ax(n,n);
end;
for k=(n-1):-1:1
for m=1:db(2)
som=0;
for j=k+1:n
som=som+Ax(k,j)*x(j,m);
end;
x(k,m) = (Ax(k,n+m)-som)/Ax(k,k);
end;
end;
3.2 M´etodos Iterativos
Vamos considerar um sistema linear Ax = b, onde A ∈ IR
n×n
e x, b ∈ IR
n
. Os m´etodos
iterativos seguem um esquema semelhante aos m´etodos para o c´alculo de zeros de fun¸c˜ oes.
O sistema linear ´e escrito na forma
x = Cx +g,
onde g ∈ IR
n
e C ∈ IR
n×n
´e chamada de matriz de itera¸c˜ao. Assim montamos o processo
iterativo:
Dado x
0
x
k+1
= Cx
k
+ g.
Sendo um processo iterativo, necessitamos de um crit´erio de parada. E para isto temos
que ter uma medida entre as aproxima¸c˜ oes x
k+1
e x
k
. Para isto vamos usar o conceito de
norma de matrizes, definida abaixo
Defini¸c˜ao 3.2.1 Uma norma em IR
n×m
´e uma aplica¸c˜ao [[ [[ : IR
n×m
→IR que satisfaz as
seguintes propriedades:
(M1) [[A[[ ≥ 0 e [[A[[ = 0 ⇔A = 0, ∀A ∈ IR
n×m
.
CAP
´
ITULO 3. SISTEMAS LINEARES 39
(M2) [[αA[[ = [α[ [[A[[, ∀α ∈ IR e ∀A ∈ IR
n×m
.
(M3) [[A+B[[ ≤ [[A[[ +[[B[[, ∀A, B ∈ IR
n×m
.
As normas matriciais mais usadas s˜ao
[[A[[
1
= max
1≤j≤m

n
¸
i=1
[a
ij
[
¸
Norma do M´aximo das Coluna
[[A[[

= max
1≤i≤n

m
¸
j=1
[a
ij
[

Norma do M´aximo das Linha
[[A[[
2
=

¸
n
¸
i=1
m
¸
j=1
[a
ij
[
2
¸

1/2
Norma Euclidiana
A norma vetorial pode ser vista como um caso particular da norma matricial, onde um
vetor x ∈ IR
n
´e equivalente a uma matriz de ordem n 1. Com isto temos as normas de
vetores dadas por
[[x[[
1
=
n
¸
i=1
[x
i
[ Norma da Soma
[[x[[

= max
1≤i≤n
[x
i
[ Norma do M´aximo
[[x[[
2
=

n
¸
i=1
[x
i
[
2

1/2
Norma Euclidiana
O conceito de norma nos permite definir convergˆencia de uma seq¨ uˆencia de vetores ¦x
k
¦.
Dizemos que x
k
→¯ x se
lim
k→∞
[[x
k
→¯ x[[ = 0
Com isto podemos definir os crit´erios de parada: Dado um ε > 0
[[x
k+1
−x
k
[[ ≤ ε Erro Absoluto
[[x
k+1
−x
k
[[
[[x
k
[[
≤ ε Erro Relativo
[[b −Ax
k
[[ ≤ ε Teste do Res´ıduo
Al´em disso, as normas [[ [[
1
, [[ [[
2
e [[ [[

satisfazem as seguintes propriedades:
(M4) [[Ax[[ ≤ [[A[[ [[x[[
(M5) [[AB[[ ≤ [[A[[ [[B[[
CAP
´
ITULO 3. SISTEMAS LINEARES 40
3.2.1 Crit´erio de Convergˆencia
Dependendo da forma da matriz C a seq¨ uˆencia gerada pelo processo iterativo pode ou n˜ao
convergir para a solu¸c˜ao do sistema. Seja ¯ x a solu¸c˜ ao do sistema Ax = b, logo ¯ x satisfaz
¯ x = C¯ x +g.
Com isto temos que
x
k+1
− ¯ x = C(x
k+1
− ¯ x)
Sendo o erro em cada itera¸c˜ao dado por e
k
= x
k
− ¯ x e usando as propriedades de norma
(M4) e (M5) segue que
[[e
k
[[ ≤ [[C[[ [[e
k−1
[[
≤ [[C[[
2
[[e
k−2
[[
.
.
.
.
.
.
≤ [[C[[
k
[[e
0
[[
Logo a seq¨ uˆencia ¦x
k
¦ converge para a solu¸c˜ao do sistema ¯ x se
lim
k→∞
[[e
k
[[ = lim
k→∞
[[C[[
k
[[e
0
[[ = 0
e isto ocorre se e somente se a matriz C satisfaz a condi¸c˜ ao
[[C[[ < 1
Note que o crit´erio de convergˆencia n˜ao depende do vetor inicial x
0
. A escolha de x
0
influˆencia no n´ umero de itera¸c˜oes necess´arias para atingir a precis˜ao desejada. Quanto
menor for [[x
0
− ¯ x[[ menos itera¸c˜oes ser˜ao necess´arias.
3.2.2 M´etodo Iterativo de Gauss-Jacobi
Vamos considerar o sistema linear Ax = b dado por

a
1,1
x
1
+ a
1,2
x
2
+ a
1,3
x
3
a
1,n
x
n
= b
1
a
2,1
x
1
+ a
2,2
x
2
+ a
2,3
x
3
a
2,n
x
n
= b
2
a
3,1
x
1
+ a
3,2
x
2
+ a
3,3
x
3
a
3,n
x
n
= b
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
x
1
+ a
n,2
x
2
+ a
n,3
x
3
a
n,n
x
n
= b
n
,
CAP
´
ITULO 3. SISTEMAS LINEARES 41
onde os a
ii
= 0 para i = 1, 2, . . . , n. Em cada equa¸c˜ ao i podemos isolar a inc´ognita x
i
obtendo as seguintes rela¸c˜oes
x
1
=
1
a
1,1
(b
1
−a
1,2
x
2
−a
1,3
x
3
− −a
1,n
x
n
)
x
2
=
1
a
2,2
(b
2
−a
2,1
x
1
−a
2,3
x
3
− −a
2,n
x
n
)
x
3
=
1
a
3,3
(b
3
−a
3,1
x
1
−a
3,2
x
2
− −a
3,n
x
n
)
.
.
.
.
.
.
.
.
.
x
n
=
1
a
n,n
(b
n
−a
n,1
x
1
−a
n,2
x
2
− −a
n,n−1
x
n−1
)
Na forma matricial estas equa¸c˜ oes s˜ao equivalentes `a

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
x
1
x
2
x
3
.
.
.
.
.
.
.
.
.
x
n
¸

=

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
0 −
a
1,2
a
1,1

a
1,3
a
1,1

a
1,n
a
1,1

a
2,1
a
2,2
0 −
a
2,3
a
2,2

a
2,n
a
2,2

a
3,1
a
3,3

a
3,2
a
3,3
0 −
a
3,n
a
3,3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

a
n,1
a
n,n

a
n,2
a
n,n

a
n,3
a
n,n
0
¸

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
x
1
x
2
x
3
.
.
.
.
.
.
.
.
.
x
n
¸

+

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
b
1
a
1,1
b
2
a
2,2
b
3
a
3,3
.
.
.
b
n
a
n,n
¸

(3.1)
Desta forma temos o sistema linear na forma x = Cx + g e assim montamos o processo
iterativo conhecido como M´etodo Iterativo de Gauss Jacobi:
Dado x
0
x
(k+1)
1
=
1
a
1,1

b
1
−a
1,2
x
(k)
2
−a
1,3
x
(k)
3
− −a
1,n
x
(k)
n

x
(k+1)
2
=
1
a
2,2

b
2
−a
2,1
x
(k)
1
−a
2,3
x
(k)
3
− −a
2,n
x
(k)
n

x
(k+1)
3
=
1
a
3,3

b
3
−a
3,1
x
(k)
1
−a
3,2
x
(k)
2
− −a
3,n
x
(k)
n

.
.
.
.
.
.
.
.
.
x
(k+1)
n
=
1
a
n,n

b
n
−a
n,1
x
(k)
1
−a
n,2
x
(k)
2
− −a
n,n−1
x
(k)
n−1

(3.2)
CAP
´
ITULO 3. SISTEMAS LINEARES 42
Algoritmo: M´etodo Iterativo de Gauss-Jacobi
Input: Matriz A ∈ IR
n×n
b, x
0
∈ IR
n
e ε > 0
Enquanto [[x
k+1
−x
k
[[ > ε fa¸ca:
Para s = 1, 2, . . . , n, fa¸ca:
x
(k+1)
s

1
a
s,s

¸
b
s

n
¸
j=1,j=s
a
s,j
x
(k)
j
¸

fim para
fim enquanto
Output: x ∈ IR
n
: solu¸c˜ao do sistema
3.2.3 Crit´erio das Linhas
Como crit´erio de convergˆencia, vimos que a matriz de itera¸c˜ ao C deve satisfazer a condi¸c˜ao
[[C[[ < 1. Usando a Norma do M´aximo das Linhas sobre a matriz C em (3.2) temos o
seguinte crit´erio de convergˆencia para o M´etodo de Gauss-Jacobi
Teorema 3.2.1 (Crit´erio das Linhas) Dado o sistema linear Ax = b. Seja os α
k
de tal
forma que:
α
k
=
1
[a
k,k
[
n
¸
j=1,j=k
[a
k,j
[ < 1 para k = 1, 2, . . . , n
Ent˜ao o M´etodo de Gauss-Jacobi gera uma seq¨ uˆencia ¦x
k
¦ que converge para a solu¸c˜ao do
sistema.
Este crit´erio fornece uma condi¸c˜ ao necess´aria, mas n˜ao suficiente. Isto ´e, o crit´erio
pode n˜ao ser satisfeito e o m´etodo ainda pode convergir. Outros crit´erios podem ser obtidos
usando outras normas. Por exemplo, podemos obter o chamado crit´erio das colunas aplicando
a Norma do M´aximo das Colunas na matriz em (3.2).
Exemplo 3.2.1 Dado o sistema linear

−7x
1
+ 3x
2
+ 2x
3
= −2
x
1
+ 3x
2
− x
3
= 3
x
1
+ x
2
− 3x
3
= −1
vamos procurar uma aproxima¸c˜ao da solu¸c˜ao, com precis˜ao ε = 0.1 na Norma do M´aximo,
usando o M´etodo de Gauss-Jacobi. Vamos tomar como condi¸c˜ao inicial o vetor x
0
=
(0.5, 0.5, 0.5)
T
.
CAP
´
ITULO 3. SISTEMAS LINEARES 43
O primeiro passo ´e verificar se o crit´erio de convergˆencia ´e satisfeito. Calculando os α
k
temos
α
1
=
1
[a
1,1
[
([a
1,2
[ +[a
1,3
[) =
5
7
< 1
α
2
=
1
[a
2,2
[
([a
2,1
[ +[a
2,3
[) =
2
3
< 1
α
3
=
1
[a
3,3
[
([a
3,1
[ +[a
3,2
[) =
2
3
< 1
Logo o crit´erio das linhas ´e satisfeito e com isto temos garantia que o M´etodo de Gauss-Jacobi
converge. Montando o processo iterativo temos
x
(k+1)
1
= −
1
7

−2 −3x
(k)
2
−2x
(k)
3

x
(k+1)
2
=
1
3

3 −x
(k)
1
+ x
(k)
3

x
(k+1)
3
= −
1
3

−1 −x
(k)
1
−x
(k)
2

(3.3)
Assim para k = 0 segue que
x
(1)
1
= −
1
7
(−2 −3 ∗ 0.5 −2 ∗ 0.5) = 0.642
x
(1)
2
=
1
3
(3 −0.5 + 0.5) = 1.000
x
(1)
3
= −
1
3
(−1 −0.5 −0.5) = 0.666
(3.4)
Verificando o crit´erio de parada temos
x
1
−x
0
=

¸
¸
0.642 −0.500
1.000 −0.500
0.666 −0.500
¸

=

¸
¸
0.142
0.500
0.166
¸

⇒[[x
1
−x
0
[[

= 0.500 > ε
Para k = 1 temos
x
(2)
1
= −
1
7
(−2 −3 ∗ 1.000 −2 ∗ 0.666) = 0.904
x
(2)
2
=
1
3
(3 −0.642 + 0.666) = 1.008
x
(2)
3
= −
1
3
(−1 −0.642 −1) = 0.880
(3.5)
CAP
´
ITULO 3. SISTEMAS LINEARES 44
Verificando o crit´erio de parada temos
x
2
−x
1
=

¸
¸
0.904 −0.642
1.008 −1.000
0.880 −0.666
¸

=

¸
¸
0.262
0.008
0.214
¸

⇒[[x
2
−x
1
[[

= 0.262 > ε
Devemos continuar as itera¸c˜oes at´e que o crit´erio de parada seja satisfeito (Exerc´ıcio).
3.2.4 M´etodo Iterativo de Gauss-Seidel
A cada itera¸c˜ ao x
k
se aproxima da solu¸c˜ ao do sistema. Baseado nesta observa¸c˜ ao vamos
modificar o M´etodo de Gauss-Jacobi com o objetivo de acelerar a convergˆencia. Numa
itera¸c˜ao k + 1, o M´etodo de Gauss-Jacobi calcula o elemento s pela equa¸c˜ ao
x
(k+1)
s
=
1
a
s,s

¸
b
s

s−1
¸
j=1
a
s,j
x
(k)
j

n
¸
j=s+1
a
s,j
x
(k)
j
¸

(3.6)
Neste ponto os elementos x
k+1
1
, x
k+1
2
, , x
k+1
s−1
, j´a foram calculados e espera-se que estes este-
jam mais pr´oximos da solu¸c˜ao que os elementos x
k
1
, x
k
2
, , x
k
s−1
. Assim vamos substituir os
elementos da itera¸c˜ ao k, que aparecem no primeiro somat´orio de (3.6), pelos correspondentes
elementos da itera¸c˜ ao k + 1, isto ´e
x
(k+1)
s
=
1
a
s,s

¸
b
s

s−1
¸
j=1
a
s,j
x
(k+1)
j

n
¸
j=s+1
a
s,j
x
(k)
j
¸

.
Como estamos usando valores mais pr´oximos da solu¸c˜ ao, o c´alculo de x
k+1
s
ser´a mais preciso.
Este procedimento ´e conhecido como M´etodo Iterativo de Gauss-Seidel, cujo o algoritmo ´e
dado abaixo.
Algoritmo: M´etodo Iterativo de Gauss-Seidel
Input: Matriz A ∈ IR
n×n
b, x
0
∈ IR
n
e ε > 0
Enquanto [[x
k+1
−x
k
[[ > ε fa¸ca:
Para s = 1, 2, . . . , n, fa¸ca:
x
(k+1)
s

1
a
s,s

¸
b
s

s−1
¸
j=1
a
s,j
x
(k+1)
j

n
¸
j=s+1
a
s,j
x
(k)
j
¸

fim para
fim enquanto
Output: x ∈ IR
n
: solu¸c˜ao do sistema
CAP
´
ITULO 3. SISTEMAS LINEARES 45
3.2.5 Crit´erio de Sassenfeld
O M´etodo de Gauss-Seidel tamb´em pode ser representado na forma matricial x
k+1
= Cx
k
+g
e crit´erios de convergˆencia podem ser obtidos impondo a condi¸c˜ao [[C[[ < 1. Aplicando a
Norma do M´aximo das Linhas obtemos o seguinte crit´erio de convergˆencia:
Teorema 3.2.2 (Crit´erio de Sassenfeld) Dado o sistema linear Ax = b. Seja os β
k
de
tal forma que:
β
k
=
1
[a
k,k
[

¸
k−1
¸
j=1
[a
k,j

j
+
n
¸
j=k+1
[a
k,j
[
¸

< 1 para k = 1, 2, . . . , n
Ent˜ao o M´etodo de Gauss-Seidel gera uma seq¨ uˆencia ¦x
k
¦ que converge para a solu¸c˜ao do
sistema.
Exemplo 3.2.2 Dado o sistema linear

−7x
1
+ 3x
2
+ 2x
3
= −2
x
1
+ 2x
2
− x
3
= 2
x
1
+ x
2
− 2x
3
= 0
vamos procurar uma aproxima¸c˜ao da solu¸c˜ao, com precis˜ao ε = 0.1 na norma do m´aximo,
usando o M´etodo de Gauss-Seidel. Vamos tomar como condi¸c˜ao inicial o vetor x
0
=
(0.5, 0.5, 0.5)
T
.
O primeiro passo ´e verificar se o crit´erio de convergˆencia ´e satisfeito. Calculando os β
k
temos
β
1
=
1
[a
1,1
[
([a
1,2
[ +[a
1,3
[) =
5
7
< 1
β
2
=
1
[a
2,2
[
([a
2,1

1
+[a
2,3
[) =
6
7
< 1
β
3
=
1
[a
3,3
[
([a
3,1

1
+[a
3,2

2
) =
11
14
< 1
Logo o crit´erio de Sassenfeld ´e satisfeito e com isto temos garantia que o M´etodo de Gauss-
Seidel converge. Note que se aplicarmos o crit´erio das linhas obtemos que α
2
= α
3
= 1, ou
seja, o crit´erio das linhas n˜ao ´e satisfeito. Este ´e um exemplo em que n˜ao temos a garantia
de convergˆencia do M´etodo de Gauss-Jacobi.
Montando o processo iterativo temos
x
(k+1)
1
= −
1
7

−2 −3x
(k)
2
−2x
(k)
3

x
(k+1)
2
=
1
2

2 −x
(k+1)
1
+ x
(k)
3

x
(k+1)
3
= −
1
2

0 −x
(k+1)
1
−x
(k+1)
2

(3.7)
CAP
´
ITULO 3. SISTEMAS LINEARES 46
Assim para k = 0 segue que
x
(1)
1
= −
1
7
(−2 −3 ∗ 0.5 −2 ∗ 0.5) = 0.642
x
(1)
2
=
1
2
(2 −0.642 + 0.5) = 0.929
x
(1)
3
= −
1
2
(0 −0.642 −0.929) = 0.785
(3.8)
Verificando o crit´erio de parada temos
x
1
−x
0
=

¸
¸
0.642 −0.500
0.929 −0.500
0.785 −0.500
¸

=

¸
¸
0.142
0.429
0.285
¸

⇒[[x
1
−x
0
[[

= 0.429 > ε
Para k = 1 temos
x
(2)
1
= −
1
7
(−2 −3 ∗ 0.929 −2 ∗ 0.785) = 0.908
x
(2)
2
=
1
2
(2 −0.908 + 0.785) = 0.938
x
(2)
3
= −
1
2
(0 −0.908 −0.938) = 0.923
(3.9)
Verificando o crit´erio de parada temos
x
2
−x
1
=

¸
¸
0.908 −0.642
0.938 −0.929
0.923 −0.785
¸

=

¸
¸
0.266
0.009
0.138
¸

⇒[[x
2
−x
1
[[

= 0.266 > ε
Devemos continuar as itera¸c˜oes at´e que o crit´erio de parada seja satisfeito (Exerc´ıcio).
3.3 Observa¸c˜ oes Finais
A escolha do m´etodo, que deve ser aplicado a um determinado problema, deve ser orientada
nas caracter´ısticas de cada m´etodo que apresentamos nesta se¸c˜ao.
Os m´etodos diretos apresentam a solu¸c˜ao de qualquer sistema linear n˜ao singular, por´em
n˜ao temos um controle sobre a precis˜ao da solu¸c˜ao. Aplicados em sistemas de grande porte
e matriz cheia ( dimens˜ao acima 50 50 e poucos elementos a
i,j
= 0 ) apresentam grandes
erros de arredondamentos. Os m´etodos iterativos permitem um controle sobre a precis˜ao da
solu¸c˜ao, por´em estes n˜ao se aplicam a qualquer sistema. O sistema deve satisfazer certas
condi¸c˜oes de convergˆencia para que determinado m´etodo seja aplicado.
CAP
´
ITULO 3. SISTEMAS LINEARES 47
O M´etodo de Gauss-Jacobi ´e indicado para processamento paralelo ou vetorial, pois os
elementos no passo k + 1 dependem somente dos elementos no passo k. Se T for o tempo
que uma m´aquina seq¨ uencial toma para executar uma itera¸c˜ ao. Numa m´aquina paralela este
tempo cai para T/Np|, onde Np ´e o n´ umero de processadores.
O M´etodo de Gauss-Seidel n˜ao ´e indicado para processamento paralelo, pois o c´alculo de
x
k+1
s
depende de x
k+1
1
, x
k+1
2
, , x
k+1
s−1
. Por´em este converge mais rapidamente que o M´etodo
de Gauss-Jacobi, quando ambos s˜ao executado em processamento seq¨ uencial. Al´em disso,
todo sistema que satisfaz o Crit´erio das Linhas tamb´em satisfaz o Crit´erio de Sassenfeld.
Ou seja, todo sistema em que podemos aplicar o M´etodo de Gauss-Jacobi, automaticamente
podemos aplicar o M´etodo de Gauss-Seidel.
3.4 Exerc´ıcios
Exerc´ıcio 3.1 Resolva o sistema linear abaixo, usando o M´etodo de Elimina¸c˜ao de Gauss.

1.7x
1
+ 2.3x
2
− 0.5x
3
= 4.55
1.1x
1
+ 0.6x
2
− 1.6x
3
= −3.40
2.7x
1
− 0.8x
2
+ 1.5x
3
= 5.50
Exerc´ıcio 3.2 Ache a inversa da matriz abaixo.

¸
¸
1 −2 2
2 −3 2
2 −2 1
¸

Exerc´ıcio 3.3 Um sistema ´e dito ser tridiagonal se este ´e formado pela diagonal principal,
a primeira diagonal secund´aria inferior e a primeira diagonal secund´aria superior. Os outros
elementos s˜ao nulos. Isto ´e, a matriz associada ´e da forma:

¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
a
1,1
a
1,2
0 0 0 0 0 0
a
2,1
a
2,2
a
2,3
0 0 0 0 0
0 a
3,2
a
3,3
a
3,4
0 0 0 0
0 0 a
4,3
a
4,4
a
4,5
0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 0 a
n−1,n−2
a
n−1,n−1
a
n−1,n
0 0 0 0 0 0 a
n,n−1
a
n,n
¸

Fa¸ca uma modifica¸c˜ao no M´etodo de Elimina¸c˜ao de Gauss explorando a forma do sistema.
Implemente o algoritmo em MatLab.
Exerc´ıcio 3.4 Considere o sistema linear

0.0002x
1
+ 2x
2
= 2
2x
1
+ 2x
2
= 4
Calcule a solu¸c˜ao do sistema por Elimina¸c˜ao de Gauss e Pivotamento Parcial, usando 4 casas
decimais, sem arredondamento. Calcule o res´ıduo r = b −A¯ x e comente seus resultados.
CAP
´
ITULO 3. SISTEMAS LINEARES 48
Exerc´ıcio 3.5 Dado o sistema linear

0.780x + 0.563y = 0.217
0.913x + 0.659y = 0.254
a) Calcule a solu¸c˜ao do sistema por (i)-Elimina¸c˜ao de Gauss e (ii)- Pivotamento Parcial,
usando no m´ınimo 7 casas decimais, sem arredondamento.
b) Calcule o res´ıduo r = b −A¯ x para os casos (i) e (ii).
c) Se no ´ıtem a) tiv´essemos usado 3 casas decimais, o que ocorreria com a solu¸c˜ao do
sistema? Comente seus resultados.
Exerc´ıcio 3.6 Mostre que, se um sistema linear satisfaz o Crit´erio das Linhas, ent˜ao este
tamb´em satisfaz o Crit´erio de Sassenfeld.
Exerc´ıcio 3.7 Seja k um n´ umero inteiro, positivo, considere:

kx
1
+ x
2
= 2
kx
1
+ 2x
2
+
k
5
x
3
= 3
kx
1
+ x
2
+ 2x
3
= 2
a) Verifique para que valores de k , a convergˆencia do M´etodo de Gauss-Jacobi pode ser
garantida.
b) Verifique para que valores de k, a convergˆencia do M´etodo de Gauss-Seidel pode ser
garantida.
c) Utilize um m´etodo iterativo adequado para calcular a aproxima¸c˜ao da solu¸c˜ao deste
sistema de equa¸c˜oes considerando:
(i) x
(0)
= (1.0, 1.0, 1.0)
T
(ii) Escolha k como o menor inteiro que satisfa¸ca as condi¸c˜oes de convergˆencia.
(iii) Fa¸ca duas itera¸c˜oes e calcule o erro absoluto cometido, usando a norma do m´aximo.
Exerc´ıcio 3.8 Dado o sistema Ax = b podemos montar um processo iterativo da seguinte
forma
x
k+1
= (I +A)x
k
−b
a) Enuncie uma condi¸c˜ao suficiente de convergˆencia baseada na Norma do M´aximo das
Linhas.
b) Fa¸ca trˆes itera¸c˜oes do processo acima para o sistema linear

−1.3x
1
+ 0.3x
2
= 1
0.5x
1
− 0.5x
2
= 0
tomando x
(0)
=

0.8
0.8

Cap´ıtulo 4
Ajuste de Curvas: M´etodo dos
M´ınimos Quadrados
Em geral, experimentos em laborat´orio gera uma gama de dados que devem ser analisados
para a cria¸c˜ao de um modelo. Obter uma fun¸c˜ao matem´atica que represente (ou que ajuste)
os dados permite fazer simula¸c˜oes do processo de forma confi´avel, reduzindo assim repeti¸c˜ oes
de experimentos que podem ter um custo alto. Neste cap´ıtulo vamos analisar o esquema dos
M´ınimos Quadrados, que fornece uma fun¸c˜ ao que melhor represente os dados.
4.1 M´etodo dos M´ınimos Quadrados - Caso Discreto
Dado um conjunto de pontos (x
k
, f(x
k
)), k = 0, 1, 2, ..., m. O problema de ajuste de curvas
consiste em encontrar uma fun¸c˜ ao ϕ(x) tal que o desvio em cada ponto k, definido por
d
k
= f(x
k
) −ϕ(x
k
),
seja m´ınimo, onde ϕ(x) ´e uma combina¸c˜ao linear de fun¸c˜ oes cont´ınuas g
i
(x), i = 1, 2, ..., n,
escolhidas de acordo com os dados do problema. Isto ´e
ϕ(x) = α
1
g
1
(x) + α
2
g
2
(x) + + α
n
g
n
(x)
Neste caso dizemos que o ajuste ´e linear. A escolha das fun¸c˜ oes g
i
depende do gr´afico dos
pontos, chamado de diagrama de dispers˜ao, atrav´es do qual podemos visualizar que tipo de
curva que melhor se ajusta aos dados.
Exemplo 4.1.1 Vamos considerar a tabela de pontos dada abaixo.
x 0.10 0.20 0.50 0.65 0.70 0.80 0.90 1.10 1.23 1.35 1.57 1.70 1.75 1.80 1.94
f(x) 0.19 0.36 0.75 0.87 0.91 0.96 0.99 0.99 0.94 0.87 0.67 0.51 0.43 0.36 0.11
A an´alise do gr´afico de dispers˜ao (Fig. 4.1) mostra que a fun¸c˜ao que procuramos se
comporta como uma par´abola. Logo poder´ıamos escolher as fun¸c˜oes g
1
(x) = 1, g
2
(x) = x e
49
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 50
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 4.1: Diagrama de Dispers˜ao
g
3
(x) = x
2
, pois ϕ(x) = α
1
g
1
(x) + α
2
g
2
(x) + α
3
g
3
(x) representa “todas” as par´abolas e com
a escolha adequada dos α
i
teremos aquela que melhor se ajusta aos pontos.
O M´etodo dos M´ınimos Quadrados consiste em determinar os α
i
de tal forma que a
soma dos quadrados dos desvios em seja m´ınimo, Isto ´e: Achar os α
i
que minimizam a
fun¸c˜ao
F(α
1
, α
2
, . . . , α
n
) =
m
¸
k=1
[f(x
k
)−
ϕ(x
k
)
. .. .

1
g
1
(x
k
) + α
n
g
n
(x
k
))]
2
.
A fun¸c˜ao F ´e uma fun¸c˜ ao que satisfaz F(α) ≥ 0 ∀α ∈ IR
m
. Isto ´e, uma fun¸c˜ ao limitada
inferiormente e portanto esta tem um ponto de m´ınimo. Este ponto pode ser determinado
pelo teste da primeira derivada, sendo
∂F
∂α
i


1
,...,αn)
= 0 i = 1, . . . , n.
Desta forma temos
−2
m
¸
k=1
[f(x
k
) −α
1
g
1
(x
k
) −α
2
g
2
(x
k
) − α
n
g
n
(x
k
)] g
j
(x
k
) = 0 ⇒
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 51

α
1
m
¸
k=1
g
1
(x
k
)g
1
(x
k
) +α
2
m
¸
k=1
g
1
(x
k
)g
2
(x
k
) + +α
n
m
¸
k=1
g
1
(x
k
)g
n
(x
k
) =
m
¸
k=1
f(x
k
)g
1
(x
k
)
α
1
m
¸
k=1
g
2
(x
k
)g
1
(x
k
) +α
2
m
¸
k=1
g
2
(x
k
)g
2
(x
k
) + +α
n
m
¸
k=1
g
2
(x
k
)g
n
(x
k
) =
m
¸
k=1
f(x
k
)g
2
(x
k
)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
α
1
m
¸
k=1
g
n
(x
k
)g
1
(x
k
) +α
2
m
¸
k=1
g
n
(x
k
)g
2
(x
k
) + +α
n
m
¸
k=1
g
n
(x
k
)g
n
(x
k
) =
m
¸
k=1
f(x
k
)g
n
(x
k
)
Que representa um sistema linear n n da forma

a
1,1
α
1
+ a
1,2
α
2
+ a
1,3
α
3
a
1,n
α
n
= b
1
a
2,1
α
1
+ a
2,2
α
2
+ a
2,3
α
3
a
2,n
α
n
= b
2
a
3,1
α
1
+ a
3,2
α
2
+ a
3,3
α
3
a
3,n
α
n
= b
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
α
1
+ a
n,2
α
2
+ a
n,3
α
3
a
n,n
α
n
= b
n
onde
a
i,j
=
m
¸
k=1
g
i
(x
k
)g
j
(x
k
) e b
i
=
m
¸
k=1
f(x
k
)g
i
(x
k
)
Este sistema tem uma ´ unica solu¸c˜ao se os vetores formados por g
k
= (g
k
(x
1
), g
k
(x
n
))
s˜ao linearmente independentes. Isto ´e equivalente a ter as fun¸c˜oes g
i
(x) linearmente inde-
pendentes. A matriz A associada ao sistema ´e uma matriz sim´etrica, ou seja a
i,j
= a
j,i
.
Logo, para um sistema n n, ser´a necess´ario calcular (n
2
−n)/2 elementos.
Exemplo 4.1.2 Usando a tabela do exemplo (4.1.1), vamos ajustar os dados por uma
par´abola. Para isto vamos tomar g
1
(x) = 1, g
2
(x) = x e g
3
(x) = x
2
. Calculando cada
uma das fun¸c˜ oes nos pontos x
k
temos.
x 0.10 0.20 0.50 0.65 0.70 0.80 0.90 1.10 1.23 1.35 1.57 1.70 1.75 1.80 1.94
f(x) 0.19 0.36 0.75 0.87 0.91 0.96 0.99 0.99 0.94 0.87 0.67 0.51 0.43 0.36 0.11
g
1
(x) 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
g
2
(x) 0.10 0.20 0.50 0.65 0.70 0.80 0.90 1.10 1.23 1.35 1.57 1.70 1.75 1.80 1.94
g
3
(x) 0.01 0.04 0.25 0.42 0.49 0.64 0.81 1.21 1.51 1.82 2.46 2.89 3.06 3.24 3.76
Calculando os elementos da matriz e o vetor dos termos independentes temos
a
1,1
=
15
¸
k=1
g
1
(x
k
) ∗ g
1
(x
k
) = 15
a
1,2
=
15
¸
k=1
g
1
(x
k
) ∗ g
2
(x
k
) = 16.29 = a
2,1
a
1,3
=
15
¸
k=1
g
1
(x
k
) ∗ g
3
(x
k
) = 22.62 = a
3,1
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 52
a
2,2
=
15
¸
k=1
g
2
(x
k
) ∗ g
2
(x
k
) = 22.62
a
2,3
=
15
¸
k=1
g
2
(x
k
) ∗ g
3
(x
k
) = 34.92 = a
3,2
a
3,3
=
15
¸
k=1
g
3
(x
k
) ∗ g
3
(x
k
) = 57.09
b
1
=
15
¸
k=1
f(x
k
) ∗ g
1
(x
k
) = 9.91
b
2
=
15
¸
k=1
f(x
k
) ∗ g
2
(x
k
) = 10.28
b
3
=
15
¸
k=1
f(x
k
) ∗ g
3
(x
k
) = 12.66
Obtendo assim um sistema linear que pode ser resolvido por um esquema num´erico estudado
no cap´ıtulo 3. A solu¸c˜ao do sistema ´e dado por
α
1
= 0.00, α
2
= 1.99, α
3
= −0.99
Portanto a fun¸c˜ ao ϕ ´e dada por
ϕ(x) = 1.99x −0.99x
2
A figura 4.2 compara a fun¸c˜ao ϕ(x) com o gr´aficos dos pontos.
Atrav´es da fun¸c˜ao ϕ podemos aproximar valores de f em pontos que n˜ao pertencem a
tabela. Por exemplo:
f(0) ≈ ϕ(0) = 0
f(1) ≈ ϕ(1) = 1
f(2) ≈ ϕ(2) = 0.02
No exemplo ajustamos os dados a uma par´abola, mas outras fun¸c˜oes bases poderiam ser
usadas. Como exemplo, poder´ıamos pensar que os dados representam o primeiro meio ciclo
de uma fun¸c˜ ao senoidal. E neste caso poder´ıamos tomar g
1
(x) = 1 e g
2
(x) = sen(2πx) Mas
afinal qual seria a melhor escolha? (Veja exerc´ıcio 4.1) O desvio fornece uma medida que
pode ser usada como parˆametro de compara¸c˜ ao entre ajustes diferentes. No caso do ajuste
pela par´abola temos que o desvio ´e dado por
D =
15
¸
k=1
(f(x
k
) −ϕ(x
k
))
2
= 0.0019
Se o ajuste feito por uma fun¸c˜ ao senoidal tiver um desvio menor, ent˜ ao este ajuste repre-
sentaria melhor os dados. Outro ponto a ser observado ´e que a dimens˜ao do sistema linear
depende do n´ umero de fun¸c˜oes bases que estamos usando. No caso da par´abola usamos trˆes
fun¸c˜oes bases e temos um sistema 33. No caso de uma fun¸c˜ ao senoidal teremos um sistema
2 2.
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 53
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 4.2: Diagrama de Dispers˜ao com o gr´afico da ϕ(x).
4.2 M´etodo dos M´ınimos Quadrados - Caso Cont´ınuo
No caso cont´ınuo temos uma fun¸c˜ao f(x) dada num intervalo [a, b] e n˜ao mais uma tabela de
pontos. O procedimento ´e an´alogo ao caso discreto. Escolhidas as fun¸c˜oes bases g
i
devemos
determinar a fun¸c˜ ao ϕ(x) = α
1
g
1
(x) + α
2
g
2
(x) + + α
n
g
n
(x) de modo que o desvio seja
m´ınimo, onde
D =

b
a
(f(x) −ϕ(x))
2
dx
Neste caso os α
i
tamb´em s˜ao determinados pela resolu¸c˜ ao de um sistema, onde o elemento
a
i,j
e ´e obtido atrav´es do produto interno entre as fun¸c˜ oes g
i
(x) e g
j
(x) e o elementos b
i
pelo
produto interno entre f(x) e g
i
(x), sendo
a
i,j
=

b
a
g
i
(x)g
j
(x)dx e b
i
=

b
a
f(x)g
i
(x)dx
Exemplo 4.2.1 Vamos determinar a melhor par´abola que se ajuste a fun¸c˜ao f(x) = sen(πx)
no intervalo [0, 1]. Para isto devemos tomar, como fun¸c˜oes bases, as fun¸c˜oes g
1
(x) = 1,
g
2
(x) = x e g
3
(x) = x
2
. Calculando os termos do sistema linear temos
a
1,1
=

1
0
g
1
(x)g
1
(x)dx = 1
a
1,2
=

1
0
g
1
(x)g
2
(x)dx =
1
2
= a
2,1
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 54
a
1,3
=

1
0
g
1
(x)g
3
(x)dx =
1
3
= a
3,1
a
2,2
=

1
0
g
2
(x)g
2
(x)dx =
1
3
a
2,3
=

1
0
g
2
(x)g
3
(x)dx =
1
4
= a
3,2
a
3,3
=

1
0
g
3
(x)g
3
(x)dx =
1
25
b
1
=

1
0
f(x)(x)g
1
(x)dx = 0.636
b
2
=

1
0
f(x)g
2
(x)dx = 0.318
b
3
=

1
0
f(x)g
3
(x)dx = 0.189
cuja a solu¸c˜ao ´e dada por α
1
= −0.027, α
2
= 4.032 e α
3
= −4.050. Assim temos que
ϕ(x) = −0.027 + 4.032x − 4.050x
2
. A figura (4.3) mostra o gr´afico comparativo entre a
fun¸c˜ao f(x) ( linha: —) e o ajuste ϕ(x) (linha: ).
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Figura 4.3: — : f(x) = sen(πx); : ϕ(x)
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 55
4.3 Ajuste N˜ao Linear
Existem casos, onde o diagrama de dispers˜ao de uma fun¸c˜ ao indica que os dados devem
ser ajustado por uma fun¸c˜ao que n˜ao ´e linear com rela¸c˜ ao aos α
i
. Como exemplo, vamos
considerar os dados
x −1.0 −0.5 0 0.5 1.0 1.5 2.0 2.5 3.0
f(x) 0.157 0.234 0.350 0.522 0.778 1.162 1.733 2.586 3.858
Montando o diagrama de dispers˜ao (Veja figura 4.4) podemos considerar que f(x) tem um
comportamento exponencial. Isto ´e, f(x) ≈ ϕ(x) = α
1
e
α
2
x
. Desta forma, um processo
−1 −0.5 0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
3.5
4
Figura 4.4: Diagrama de dispers˜ao
de lineariza¸c˜ ao deve ser empregado, para que seja poss´ıvel aplicar o M´etodo dos M´ınimos
Quadrados. Neste caso podemos proceder da seguinte forma.
f(x) = α
1
e
α
2
x
⇒z = ln(f(x)) = ln(α
1
) + α
2
x.
Fazendo β
1
= ln(α
1
) e β
2
= α
2
o problema consiste em ajustar os dados de z por uma reta.
Para isto tomamos g
1
(x) = 1 e g
2
(x) = x. Calculando as fun¸c˜ oes em cada um dos pontos
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 56
temos
x −1.0 −0.5 0 0.5 1.0 1.5 2.0 2.5 3.0
f(x) 0.157 0.234 0.350 0.522 0.778 1.162 1.733 2.586 3.858
z = ln(f(x)) −1.851 −1.452 −1.049 −0.650 −0.251 0.150 0.549 0.950 1.350
g
1
(x) 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
g
2
(x) −1.0 −0.5 0 0.5 1.0 1.5 2.0 2.5 3.0
Calculando os elementos da matriz e vetor dos termos independente temos que
a
1,1
=
9
¸
k=1
g
1
(x
k
) ∗ g
1
(x
k
) = 9
a
1,2
=
9
¸
k=1
g
1
(x
k
) ∗ g
2
(x
k
) = 9 = a
2,1
a
2,2
=
9
¸
k=1
g
2
(x
k
) ∗ g
2
(x
k
) = 24
b
1
=
15
¸
k=1
z(x
k
) ∗ g
1
(x
k
) = −2.254
b
2
=
15
¸
k=1
z(x
k
) ∗ g
2
(x
k
) = 9.749
Cuja a solu¸c˜ao ´e dada por
β
1
= −1.050 e β
2
= 0.800
Desta forma os valores de α
i
s˜ao dados por:
α
1
= e
β
1
= 0.349 e α
2
= β
2
= 0.800
Portanto temos
ϕ(x) = α
1
e
α
2
= 0.349e
0.800x
A figura 4.5 mostra a compara¸c˜ao dos dados com a fun¸c˜ao obtida. Para verificar se fun¸c˜ ao
escolhida para a aproxima¸ c˜ao foi bem feita, usamos o teste de alinhamento. Este consiste
em tomarmos os dados “linearizados”, isto ´e, os pontos z da tabela, e fazer o diagrama de
dispers˜ao. Se os pontos estiverem alinhados, ent˜ao a escolha da fun¸c˜ao foi boa. A figura
4.6 mostra o diagrama de dispers˜ao dos dados em z, obtidos no nosso exemplo. Podemos
concluir que a nossa escolha pela exponencial foi uma escolha acertada.
4.4 Observa¸c˜ oes Finais
O ajuste de curvas permite extrapolar os valores tabelados. Isto ´e, se os dados est˜ao tabelados
num intervalo [x
0
, x
m
] podemos aproximar um ¯ x ∈ [x
0
, x
m
] com uma certa seguran¸ca. Como
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 57
−1 −0.5 0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
3.5
4
Figura 4.5: Diagrama de Dispers˜ao e o Gr´afico da ϕ(x)
os dados prov´em de experimentos que est˜ao sujeitos a erros de medi¸c˜ oes, podemos ter mais
de um valor para um determinado ponto. (Veja exerc´ıcio 4.4) A fun¸c˜ ao obtida considera os
dois valores faz “ uma m´edia ” entre estes valores.
Os elementos a
i,j
s˜ao obtidos pelo produto interno entre as fun¸c˜ oes g
i
e g
j
definidos por
Caso Discreto: 'g
i
, g
j
` =
m
¸
k=1
g
i
(x
k
)g
j
(x
k
)
Caso Cont´ınuo: 'g
i
, g
j
` =

b
a
g
i
(x)g
j
(x)dx
Se as fun¸c˜oes g
i
forem ortogonais, isto ´e
'g
i
, g
j
` =

0, para i = j
k
i
, para i = j
a matriz obtida ser´a diagonal e conseq¨ uentemente a solu¸c˜ao do sistema ´e imediata. Como
exemplo, veja exerc´ıcio 4.5.
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 58
−1 −0.5 0 0.5 1 1.5 2 2.5 3
−2
−1.5
−1
−0.5
0
0.5
1
1.5
Figura 4.6: Diagrama dos dados linearizados
4.5 Exerc´ıcios
Exerc´ıcio 4.1 Usando os dados abaixo, fa¸ca um ajuste de curva com g
1
(x) = 1 e g
2
(x) =
sen(2πx). Calcule o desvio e compare com os resultados obtidos no Exemplo (4.1.1).
x 0.10 0.20 0.50 0.65 0.70 0.80 0.90 1.10 1.23 1.35 1.57 1.70 1.75 1.80 1.94
f(x) 0.19 0.36 0.75 0.87 0.91 0.96 0.99 0.99 0.94 0.87 0.67 0.51 0.43 0.36 0.11
Exerc´ıcio 4.2 Dada a tabela abaixo
x 0.50 0.75 1.00 1.50 2.00 2.50 3.00
f(x) 0.479 0.681 0.841 0.997 0.909 0.598 0.141
Entre os grupos de fun¸c˜oes bases abaixo, escolha aquele que representar´a melhor re-
sultado num ajuste de curvas. Justifique sua escolha. Fa¸ca um ajuste considerando sua
escolha.
Grupo I: g
1
(x) = 1 e g
2
(x) = x.
Grupo II: g
1
(x) = 1 e g
2
(x) = e
x
.
Grupo III: g
1
(x) = 1 e g
2
(x) = x
2
.
CAP
´
ITULO 4. AJUSTE DE CURVAS: M
´
ETODO DOS M
´
INIMOS QUADRADOS 59
Exerc´ıcio 4.3 A tabela abaixo representa o calor espec´ıfico da ´agua em fun¸c˜ao da tempera-
tura.
t(
o
C) 0 5 10 25 30 35
C(t) 1.00762 1.00392 1.00153 0.99852 0.99826 0.99818
Fac ca um ajuste linear, um quadr´atico e um c´ ubico. Fa¸ca um ajuste n˜ao linear da
forma ϕ(x) = α
1
e
−α
2
, com α
1
, α
2
> 0. Calcule o desvio e ache uma aproxima¸c˜ao para
t = 15 em cada um dos casos. Sabendo que o valor exato da fun¸c˜ao C(15) = 1.00000, qual
dos casos acima apresentou melhor aproxima¸c˜ao?
Exerc´ıcio 4.4 Ajustar os dados abaixo `a fun¸c˜ao z =
1
1 + e

1
x+α
2
)
x 0.1 0.3 0.5 0.5 0.7 0.8 0.8 1.10 1.30 1.80
f(x) 0.833 0.625 0.500 0.510 0.416 0.384 0.395 0.312 0.277 0.217
Verifique, pelo teste do alinhamento, qual ´e a melhor escolha para ajustar os dados entre
as fun¸c˜oes z = α
1
α
2
x
e z = α
1
x
α
2
. (Obs: Note que neste caso a tabela apresenta dois valores
diferentes para os pontos x = 0.5 e x = 0.8. Isto pode ocorrer se estamos considerando que
os dados prov´em de experimentos que s˜ao realizados mais de uma vez. )
Exerc´ıcio 4.5 Usando os polinˆomios de Legendre g
1
(x) = 1, g
2
(x) = x e g
2
(x) =
1
2
(3x
2
−1),
que s˜ao ortogonais em [−1, 1], ache a melhor par´abola que aproxima a fun¸c˜ao f(x) = cos(x)
no intervalo [−3, 3]. (Obs: A ortogonalidade dos polinˆomios nos forneceria uma matriz
diagonal, se o ajuste fosse feito no intervalo [−1, 1]. Logo devemos fazer uma mudan¸ca de
vari´avel de tal forma que obteremos novas g
i
que ser˜ao ortogonais em [−3, 3] )
Cap´ıtulo 5
Interpola¸c˜ao Polinomial
A interpola¸c˜ ao ´e outra forma de encontrar uma fun¸c˜ ao que represente um conjunto de dados
tabelados. Interpolar um conjunto de dados (x
k
, f
k
), k = 0, 1, , n, consiste em encontrar
uma fun¸c˜ ao p
n
(x), escolhida numa classe de fun¸c˜oes, tal que esta satisfa¸ca certas propri-
edades. Neste cap´ıtulo vamos considerar o caso onde p
n
(x) ´e um polinˆomio de tal forma
que
f
k
= p(x
k
), k = 0, 1, 2, , n.
Esta condi¸c˜ao ´e chamada de condi¸c˜ao de interpola¸c˜ ao e o polinˆomio que satisfaz esta condi¸c˜ ao
´e chamado de polinˆomio interpolador.
Teorema 5.0.1 (Existˆencia e Unicidade) Dado o conjunto de n + 1 pontos distintos
(x
k
, f
k
), k = 0, 1, n, Isto ´e, x
k
= x
j
para k = j. Existe um ´ unico polinˆomio p(x) de
grau menor ou igual a n, tal que p(x
k
) = f
k
para k = 0, 1, 2, , n.
Prova: Seja p(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
. Para obter os a
i
usamos a condi¸c˜ao de
interpola¸c˜ao f
k
= p(x
k
) para k = 0, 1, 2, , n. Logo, segue que:
f
0
= p(x
0
) = a
0
+ a
1
x
0
+ a
2
x
0
2
+ + a
n
x
0
n
f
1
= p(x
1
) = a
0
+ a
1
x
1
+ a
2
x
1
2
+ + a
n
x
1
n
.
.
. =
.
.
.
.
.
.
.
.
.
f
n
= p(x
n
) = a
0
+ a
1
x
n
+ a
2
x
n
2
+ + a
n
x
n
n
Que corresponde ao sistema linear da forma

¸
¸
¸
¸
¸
¸
¸
¸
1 x
0
x
0
2
x
0
n
1 x
1
x
1
2
x
1
n
1 x
2
x
2
2
x
2
n
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
n
2
x
n
n
¸

¸
¸
¸
¸
¸
¸
¸
¸
a
0
a
1
a
2
.
.
.
a
n
¸

=

¸
¸
¸
¸
¸
¸
¸
¸
f
0
f
1
f
2
.
.
.
f
n
¸

60
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 61
A matriz A, associada ao sistema, ´e uma matriz de Vandermonde, cujo o determinante ´e
dado por
Det(A) =
n
¸
l=1
l−1
¸
j=0
(x
l
−x
j
)
Como x
l
= x
j
para l = j, segue que o determinante da matriz A ´e diferente de zero e
portanto o sistema admite uma ´ unica solu¸c˜ ao
Exemplo 5.0.1 Vamos achar uma aproxima¸c˜ao para f(0.3) usando o polinˆomio interpola-
dor dos dados abaixo.
x
k
0.0 0.2 0.4
f
k
4.00 3.84 3.76
Como temos, trˆes pontos (n+1 = 3), o grau do polinˆomio ser´a menor ou igual a dois. Logo
p(x) = a
0
+ a
1
x + a
2
x
2
Impondo a condi¸c˜ ao f
k
= p(x
k
) obtemos:
f
0
= 4.00 = p(0) = a
0
+ a
1
0 + a
2
0
2
f
1
= 3.84 = p(0.2) = a
0
+ a
1
0.2 + a
2
0.2
2
f
2
= 3.76 = p(0.4) = a
0
+ a
1
0.4 + a
2
0.4
2
Que equivale ao sistema linear na forma matricial

¸
¸
1 0 0 4.00
1 0.2 0.04 3.84
1 0.4 0.16 3.76
¸

A solu¸c˜ao deste sistema ´e a
0
= 4, a
1
= −1 e a
2
= 1, obtendo assim
p(x) = x
2
−x + 4
Desta forma
f(0.3) ≈ p(0.3) = 3.79
Existem outras formas de encontrar o polinˆomio interpolador que a resolu¸c˜ao de sistemas.
Teoricamente estes procedimentos resultam no mesmo polinˆomio p
n
(x). A escolha de uma
ou outra forma depende dos dados que devemos interpolar.
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 62
5.1 Forma de Lagrange
Vamos considerar o conjunto de n+1 pontos (x
k
, f
k
), k = 0, 1, . . . n distintos e vamos consi-
derar o polinˆomio representado por
p
n
(x) = f
0
L
0
(x) + f
1
L
1
(x) + + f
n
L
n
(x) =
n
¸
k=0
f
k
L
k
(x)
onde L
k
(x) ´e um polinˆomio de grau ≤ n que satisfaz a rela¸c˜ao
L
k
(x
j
) =

0 se k = j
1 se k = j
Com isto temos que
p
n
(x
j
) = f
0
L
0
(x
j
)
0
+ f
1
L
1
(x
j
)
0
+ + f
j
L
j
(x
j
)
1
+ + f
n
L
n
(x
j
)
0
= f
j
Logo p
n
(x) ´e o polinˆomio interpolador de f(x) nos pontos x
0
, x
1
, . . . , x
n
. Os polinˆomios
L
k
(x) s˜ao chamados de polinˆomios de Lagrange e estes s˜ao obtidos da forma:
L
k
(x) =
(x −x
0
)(x −x
1
) (x −x
k−1
)(x −x
k+1
) (x −x
n
)
(x
k
−x
0
)(x
k
−x
1
) (x
k
−x
k−1
)(x
k
−x
k+1
) (x
k
−x
n
)
Exemplo 5.1.1 Vamos considerar a tabela de pontos do exemplo anterior
x 0.0 0.2 0.4
f(x) 4.00 3.84 3.76
Calculando os L
k
(x) temos
L
0
(x) =
(x −x
1
)(x −x
2
)
(x
0
−x
1
)(x
0
−x
2
)
=
(x −0.2)(x −0.4)
(0 −0.2)(0 −0.4)
=
1
0.08
(x
2
−0.6x + 0.08)
L
1
(x) =
(x −x
0
)(x −x
2
)
(x
1
−x
0
)(x
1
−x
2
)
=
(x −0)(x −0.4)
(0.2 −0)(0.2 −0.4)
=
−1
0.04
(x
2
−0.4x)
L
2
(x) =
(x −x
0
)(x −x
1
)
(x
2
−x
0
)(x
2
−x
1
)
=
(x −0)(x −0.2)
(0.4 −0)(0.4 −0.2)
=
1
0.08
(x
2
−2.6x)
Assim temos que
p(x) = x
2
−x + 4
Observe que o polinˆomio ´e o mesmo obtido pela resolu¸c˜ ao de sistema. Isto j´a era esperado,
pois o polinˆomio interpolador ´e ´ unico.
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 63
5.2 Forma de Newton
A forma de Newton do polinˆomio interpolador ´e baseada nos operadores de diferen¸cas divi-
didas. Seja f(x) uma fun¸c˜ao tabelada em n + 1 pontos distintos x
0
, x
1
, . . . , x
n
. Definimos o
operador de diferen¸ca dividida de ordem zero em x
k
por:
f[x
k
] = f(x
k
).
O operador de diferen¸ca dividida de ordem um, nos pontos x
k
, x
k+1
, ´e definido da seguinte
forma:
f[x
k
, x
k+1
] =
f[x
k
] −f[x
k+1
]
x
k
−x
k+1
Este valor pode ser interpretado como uma aproxima¸c˜ ao para a primeira derivada de f(x),
em x
k
. O operador de diferen¸ca dividida de ordem dois, nos pontos x
k
, x
k+1
, x
k+2
, ´e definido
da seguinte forma:
f[x
k
, x
k+1
, x
k+2
] =
f[x
k
, x
k+1
] −f[x
k+1
, x
k+2
]
x
k
−x
k+2
.
De forma an´aloga, definimos o operador diferen¸ca dividida de ordem n, nos pontos x
k
, x
k+1
, . . . , x
k+n
,
da seguinte forma:
f[x
k
, x
k+1
, . . . , x
k+n
] =
f[x
k
, x
k+n−1
] −f[x
k+1
, x
k+n
]
x
k
−x
k+n
.
Note que a forma de c´alculo desses operadores ´e construtiva, no sentido de que para obter
a diferen¸ca dividida de ordem n necessitamos das diferen¸cas divididas de ordem n − 1, n −
2, . . . , 1, 0. Um esquema pr´atico para o c´alculo desses operadores ´e dado pela tabela abaixo
x f[x
k
] f[x
k
, x
k+1
] f[x
k
, x
k+1
, x
k+2
] f[x
k
, x
k+1
, . . . , x
k+n
]
x
0
f
0
>
f
0
−f
1
x
0
−x
1
x
1
f
1
>
f[x
0
,x
1
]−f[x
1
,x
2
]
x
0
−x
2
>
f
1
−f
2
x
1
−x
2
x
2
f
2
>
f[x
1
,x
2
]−f[x
2
,x
3
]
x
1
−x
3
>
f
2
−f
3
x
2
−x
3
>
f[x
0
,...,x
n−1
]−f[x
1
,...,x
n
]
x
0
−xn
x
3
f
3
.
.
.
.
.
.
.
.
.
x
n−1
f
n−1
>
f
n−1
−f
n
x
n−1
−x
n
x
n
f
n
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 64
5.2.1 Constru¸c˜ao do Polinˆ omio
Vamos considerar o conjunto de pontos x
0
, x
1
, . . . , x
n
, onde conhecemos os valores da fun¸c˜ ao
f(x), dados por f
0
, f
1
, . . . , f
n
. Calculando a diferen¸ca dividida de ordem dois entre os pontos
x, x
0
, x
1
temos
f[x, x
0
, x
1
] =
f[x, x
0
] −f[x
0
−x
1
]
x −x
1
Isolando a diferen¸ca de ordem um que depende de x segue que
f[x, x
0
] = f[x
0
, x
1
] + (x −x
1
)f[x, x
0
, x
1
]
Aplicamos a defini¸c˜ao de diferen¸ca de ordem um no primeiro termo, assim segue que
f(x) −f(x
0
)
x −x
0
= f[x
0
, x
1
] + (x −x
1
)f[x, x
0
, x
1
],
e isto implica que
f(x) = f(x
0
) + x −x
0
f[x
0
, x
1
] + (x −x
0
)(x −x
1
)f[x, x
0
, x
1
] = p
1
(x) + E
1
(x).
Ou seja a fun¸c˜ ao f(x) ´e igual a um polinˆomio de grau um ,p
1
(x), mais uma fun¸c˜ ao E
1
(x) que
depende da diferen¸ca dividida de ordem dois. Desta forma podemos dizer que a fun¸c˜ao f(x)
´e aproximada por p
1
(x) com erro de E
1
(x). O polinˆomio p
1
(x) ´e o polinˆomio interpolador
de f(x), nos pontos x
0
, x
1
, pois,
p
1
(x
0
) = f(x
0
) + (x
0
−x
0
)
0
f[x
0
, x
1
] + (x
0
−x
0
)
0
(x −x
1
)f[x, x
0
, x
1
]
= f(x
0
)
p
1
(x
1
) = f(x
0
) + (x
1
−x
0
)f[x
0
, x
1
] + (x
1
−x
0
)(x −x
1
)
0
f[x, x
0
, x
1
]
= f(x
0
) + (x
1
−x
0
)
f(x
0
) −f(x
1
)
x
0
−x
1
= f(x
1
)
De forma an´aloga, podemos calcular a diferen¸ca dividida de ordem n, sobre os pontos
x, x
0
, x
1
, . . . , x
n
, obtendo
f(x) = p
n
(x) + E
n
(x),
onde
p
n
(x) = f(x
0
) + (x −x
0
)f[x
0
, x
1
] + (x −x
0
)(x −x
1
)f[x
0
, x
1
, x
2
] + +
(x −x
0
)(x −x
1
) (x −x
n−1
)f[x
0
, x
1
. . . , x
n
] (5.1)
E
n
(x) = (x −x
0
)(x −x
1
) (x −x
n
)f[x, x
0
, x
1
, . . . , x
n
] (5.2)
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 65
Assim podemos aproximar f(x) por p
n
(x), sendo que o erro ´e dado por E
n
(x). O polinˆomio
p
n
(x) ´e o polinˆomio interpolador de f(x) sobre os pontos x
0
, x
1
, . . . x
n
, pois p(x
j
) = f(x
j
),
para j = 0, 1, . . . , n.
Exemplo 5.2.1 Vamos considerar a fun¸c˜ao f(x) tabelada abaixo.
x 0 0.5 1 1.5
f(x) 0.0000 1.1487 2.7183 4.9811
Montando a tabela das diferen¸cas divididas temos
x
k
f[x
k
] f[x
k
, x
k+1
] f[x
k
, .., x
k+2
] f[x
k
, .., x
k+3
]
0.0 0.0000
2.2974
0.5 1.1487 0.8418
3.1392 0.36306
1.0 2.7183 1.3864
4.5256
1.5 4.9811
Atrav´es da equa¸c˜ao (5.1) podemos notar que as diferen¸cas divididas que necessitamos s˜ao as
primeiras de cada coluna. Logo polinˆomio interpolador ´e dado por
p(x) = f(x
0
) +x −x
0
f[x
0
, x
1
] + (x −x
0
)(x −x
1
)f[x
0
, x
1
, x
2
] + (x −x
0
)(x −x
1
)(x −x
2
)f[x
0
, x
1
, x
2
, x
3
]
= 0.00 + (x −0.0)2.2974 + (x −0.0)(x −0.5)0.8418 + (x −0.0)(x −0.5)(x −1.0)0.36306
= 2.05803x + 0.29721x
2
+ 0.36306x
3
5.3 Estudo do Erro
A equa¸c˜ ao (5.2) representa o erro cometido na interpola¸c˜ao sobre os pontos x
0
, . . . , x
n
. Se
aproximamos f(¯ x) ≈ p
n
(¯ x) o erro ser´a dado por E
n
(¯ x). Por´em este depende da diferen¸ca
dividida f[¯ x, x
0
, x
1
, . . . , x
n
], que por sua vez, depende do valor de f(¯ x). Como a fun¸c˜ ao f(x)
´e tabelada, n˜ao temos como calcular este valor. Estimativas para o erro podem ser obtidas
se conhecemos algumas propriedades da fun¸c˜ao.
Teorema 5.3.1 Sejam x
0
, x
1
, . . . , x
n
, n + 1 pontos distintos. Seja p
n
(x) o polinˆomio in-
terpolador sobre x
0
, x
1
, . . . , x
n
. Se f(x) ´e n + 1 vezes diferenci´avel em [x
0
, x
n
] ent˜ao para
¯ x ∈ [x
0
, x
n
] o erro ´e dado por:
E
n
(¯ x) = f(¯ x) −p
n
(¯ x) = (¯ x −x
0
)(¯ x −x
1
) (¯ x −x
n
)
f
(n+1)
(ξ)
(n + 1)!
com ξ ∈ [x
0
, x
n
]
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 66
Prova: Seja G(x) = (x −x
0
)(x −x
1
) (x −x
n
), logo G(x
i
) = 0 para i = 0, 1, . . . n.
Seja H(t) = E
n
(x)G(t) −E
n
(t)G(x), logo H satisfaz
1: H(t) possui derivadas at´e ordem n + 1, pois G e E
n
possuem derivadas at´e esta ordem.
2: H(t) possui pelo menos (n + 2) zeros em [x
0
, x
n
], pois para t = xi temos
H(x
i
) = E
n
(x)G(x
i
)
0
−E
n
(x
i
)
0
G(x) = 0
e para t = x temos H(x) = En(x)G(x) −En(x)G(x) = 0.
3: Aplicando o Teorema de Rolle a H(t) e suas derivadas at´e ordem n + 1, temos
H(t) tem n + 2 zeros em [x
0
, x
n
]
H

(t) tem n + 1 zeros em [x
0
, x
n
]
H

(t) tem n zeros em [x
0
, x
n
]
.
.
.
.
.
.
H
(n+1)
tem 1 zeros em [x
0
, x
n
]
Por ouro lado temos que
H
(n+1)
(t) = E
n
(x)G
(n+1)
(t) −E
n
(n+1)
(t)G(x)
onde,
E
n
(n+1)
(t) = f
(n+1)
(t) −p
n
(n+1)
(t)
G
(n+1)
(t) = (n + 1)!
Como o polinˆomio p
n
´e de grau n temos que p
n
(n+1)
(t) = 0 e segue que
H
(n+1)
(t) = E
n
(x)(n + 1)! −f
(n+1)
(t)G(x)
A fun¸c˜ao H
(n+1)
(t) possui um zero em [x
0
, x
n
] que vamos chamar de ξ. Substituindo na
equa¸c˜ao acima temos que
E
n
(x) = (x −x
0
)(x −x
1
) (x −x
n
)
f
(n+1)
(ξ)
(n + 1)!
Na pr´atica usamos um limitante para o erro, sendo
[E
n
(x)[ ≤ [(x −x
0
)(x −x
1
) (x −x
n
)[ max
x∈[x
0
,xn]
[f
(n+1)
(x)[
(n + 1)!
,
onde temos que ter alguma informa¸c˜ ao sobre a fun¸c˜ao que permita limitar sua derivada de
ordem n + 1.
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 67
5.4 Escolha dos Pontos
Uma das caracter´ısticas da interpola¸c˜ ao ´e que esta pode fornecer uma aproxima¸c˜ ao local,
sem a necessidade de usar todos os dados dispon´ıveis. Como exemplo, vamos considerar a
tabela abaixo
x 0.2 0.34 0.4 0.52 0.6 0.72
f(x) 0.16 0.22 0.27 0.29 0.32 0.37
.
Vamos achar uma aproxima¸c˜ ao para f(0.44), usando um polinˆomio de grau 2. Neste caso,
necessitamos de 3 pontos e o ideal ´e escolher aqueles que est˜ao mais pr´oximos do valor que
desejamos aproximar. Logo a melhor escolha ser´a x
0
= 0.34, x
1
= 0.4 e x
2
= 0.52. Isto se
justifica pela f´ormula do erro, pois
[E
n
(0.44)[ ≤ [(0.44−0.34)(0.44−0.4)(0.44−0.52)[ max
x∈[x
0
,x
2
]
[f
(n+1)
(x)[
(n + 1)!
= 0.00032 max
x∈[x
0
,x
2
]
[f
(n+1)
(x)[
(n + 1)!
Se tiv´essemos escolhido x
0
= 0.2 e x
2
= 0.72, o erro estaria limitado por
[E
n
(0.44)[ ≤ 0.00268 max
x∈[x
0
,x
2
]
[f
(n+1)
(x)[
(n + 1)!
.
5.5 Interpola¸c˜ao Inversa
Considere o seguinte problema:
Dada uma tabela de pontos (x
k
, f
k
) e um n´ umero y ∈ [f
0
, f
n
]. Desejamos achar o valor
de x de tal forma que f(x) = y.
Temos duas formas de resolver o problema: Obter o polinˆomio interpolador de f(x) e
resolver a equa¸c˜ ao p
n
(x) = y. Em geral a equa¸c˜ao p
n
(x) = y tem mais de uma solu¸c˜ ao e se
o grau do polinˆomio for maior que 2, n˜ao temos um procedimento anal´ıtico que determine
as solu¸c˜oes. A outra forma de se achar x ´e fazer uma interpola¸c˜ao inversa. Se f(x) ´e
invers´ıvel num intervalo contendo y, ent˜ ao interpolamos a fun¸c˜ ao inversa, isto ´e consideramos
o conjunto de dados x = f
−1
(y) e achamos o polinˆomio interpolador de f
−1
(y).
A condi¸c˜ao para que a fun¸c˜ ao seja invers´ıvel ´e que esta seja mon´otona crescente ou
decrescente. Em termos dos pontos tabelados isto significa que os pontos devem satisfazer
f
0
< f
1
< < f
n
ou f
0
> f
1
> > f
n
Exemplo 5.5.1 Dada a tabela de pontos
x 0.2 0.3 0.4 0.5 0.6 0.7 0.8
f(x) 0.587 0.809 0.951 1.000 0.951 0.809 0.587
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 68
Vamos procurar uma aproxima¸c˜ao de x de tal forma que f(x) = 0.9, usando uma interpola¸c˜ao
quadr´atica na forma de Newton.
Em primeiro lugar devemos determinar em que intervalo pode ocorrer f(x) = 0.9. Neste
exemplo temos duas possibilidades, para x ∈ [0.3, 0.4] ou x ∈ [0.6, 0.7]. Em segundo lugar
devemos verificar se a fun¸c˜ao f(x) admite inversa. Para o primeiro caso temos que a fun¸c˜ao
f(x) ´e crescente no intervalo [0.2, 0.5]. Logo esta admite inversa neste intervalo. No segundo
caso a fun¸c˜ao admite inversa no intervalo [0.5, 0.8], pois esta ´e decrescente neste intervalo.
Como desejamos uma interpola¸c˜ao quadr´atica temos que ter no m´ınimo trˆes pontos e nos
dois casos temos quatro pontos. Portanto ´e poss´ıvel achar as duas aproxima¸c˜oes. Vamos nos
concentrar no primeiro caso. Montando a tabela da fun¸c˜ao inversa temos
y 0.587 0.809 0.951 1.000
f
−1
(y) 0.2 0.3 0.4 0.5
Como desejamos um polinˆomio de grau 2, devemos escolher trˆes pontos e a melhor escolha s˜ao
os pontos que est˜ao mais pr´oximos do valor a ser aproximado, y = 0.9 (x
0
= 0.809, x
1
= 0.951
e x
2
= 1.000). Calculando as diferen¸cas divididas temos
y f
−1
ordem 1 ordem 2
0.809 0.3
0.704
0.951 0.4 6.999
2.040
1.000 0.5
e conseq¨ uentemente o polinˆomio ´e dado por
p(y) = 0.3 + (y −0.809)0.704 + (y −0.951)(y −0.809)6.999
= 5.115 −11.605y + 6.994y
2
Portanto o valor de x tal que f(x) = 0.9 ´e aproximado por x = f
−1
(0.9) ≈ p(0.9) = 0.3315.
5.6 Observa¸c˜ oes Finais
Como no caso do ajuste de curvas, a interpola¸c˜ao aproxima uma fun¸c˜ao, sobre um conjunto
de dados. Por´em a interpola¸c˜ao exige que os pontos sejam distintos. Fato que n˜ao precisa
ocorrer com o ajuste de curvas. Al´em disso, o grau do polinˆomio interpolador depende
da quantidade de pontos. Logo para um conjunto de 100 pontos teremos um polinˆomio
de grau ≤ 99, o que n˜ao ´e muito pr´atico se desejamos montar um modelo matem´atico.
A interpola¸c˜ao ´e mais indicada para aproxima¸c˜oes quantitativas, enquanto que o ajuste de
curvas ´e indicado para uma aproxima¸c˜ oes qualitativas. Se desejamos saber a taxa de varia¸c˜ ao
de uma determinada fun¸c˜ao (ou seja a derivada), o mais indicado ´e o ajuste de curvas, pois
na interpola¸c˜ ao n˜ao temos garantia de que f

(x) ≈ p

n
(x) (Veja figura 5.1).
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 69
Se a fun¸c˜ao que estamos interpolando, sobre n +1 pontos ´e um polinˆomio de grau ≤ n,
ent˜ao o polinˆomio interpolador ´e a pr´opria f(x). Isto pode ser verificado pela f´ormula do
erro, onde o termo f
(n+1)
(ξ) = 0 ∀ξ ∈ [x
0
, x
n
].
A interpola¸c˜ao ´e mais indicada para aproxima¸c˜oes quantitativas, enquanto que o ajuste
de curvas ´e indicado para uma aproxima¸ c˜ao qualitativa.
A medida que aumentamos a quantidade de pontos num intervalo [a, b], ocorre o fenˆomeno
de Runge, que ´e caracterizado em aumentar o erro nos pontos extremos do intervalo e me-
lhorar a aproxima¸c˜ao nos pontos centrais. Isto ´e justificado pela f´ormula do erro, em que os
pontos extremos do intervalo faz com que o fator (x − x
0
) (x − x
n
) seja grande. Desta
forma, o polinˆomio interpolador n˜ao ´e indicado para extrapolar valores, isto ´e aproximar
valores que n˜ao pertencem ao intervalo [x
0
, x
n
]. Abaixo apresentamos um exemplo imple-
mentado no MatLab, onde a figura 5.1 mostra o fenˆomeno de Runge.
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−0.5
0
0.5
1
1.5
2
Figura 5.1: Fenˆomeno de Runge. - - - p
n
(x), — f(x)
% Diciplina de Calculo Numerico - Prof. J. E. Castilho
% Forma de Lagrange do Pol. Interpolador
% Interpola a funcao f(x)=1/(1+25x^2) nos pontos
% x=[-1.0,-0.8,-0.6,...,0.6,0.8,1.0]
% Calcula o polinomio e a funcao nos pontos
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 70
% xf=[-1.0,-0.98,-0.96,...,0.96,0.98,1.0]
% Compara os graficos e mostra o fenomeno de Runge
%
clear;
xf=-1:0.02:1;
f=1./(1+25 *xf.^2);
x=-1:0.2:1;
fk=1./(1+25 *x.^2);
% Forma de Lagrange
n=size(xf); % pontos onde vamos calcular o polinomio
m=size(x); % pontos de interpolacao
for s=1:n(2)
p(s)=0;
for l=1:m(2)
L=1;
for k=1:l-1
L=L*(xf(s) -x(k))/(x(l)-x(k));
end;
for k=l+1:m(2)
L=L*(xf(s) -x(k))/(x(l)-x(k));
end;
p(s)=p(s)+fk(l)*L;
end;
end;
plot(xf,f,xf,p,’:’);
print -depsc fig51.eps
5.7 Exerc´ıcios
Exerc´ıcio 5.1 A tabela abaixo fornece o n´ umero de habitantes do Brasil (em milh˜oes) de
1900 a 1970.
ano 1900 1920 1940 1950 1960 1970
Hab. 17.4 30.6 41.2 51.9 70.2 93.1
a) Usando o polinˆomio interpolador de grau 2, na forma de Lagrange, ache uma apro-
xima¸c˜ao para a popula¸c˜ao no ano de 1959.
b) Usando interpola¸c˜ao quadr´atica na forma de Newton, estime, com o menor erro poss´ıvel,
em que ano a popula¸c˜ao ultrapassou os 50 milh˜oes.
CAP
´
ITULO 5. INTERPOLAC¸
˜
AO POLINOMIAL 71
c) Com os resultados obtidos no ´ıtem a) podemos estimar a taxa de crescimento da po-
pula¸c˜ao neste per´ıodo? Justifique sua resposta.
Exerc´ıcio 5.2 Considere a fun¸c˜ao f(x) =

x e os pontos x
0
= 16, x
1
= 25 e x
2
= 36.
Com que precis˜ao podemos calcular

20, usando interpola¸c˜ao sobre estes pontos?
Exerc´ıcio 5.3 Considere o problema de interpola¸c˜ao linear para f(x) = sen(x)+x, usando
os pontos x
0
e x
1
= x
0
+ h. Mostre que [E
1
(x)[ ≤ h
2
/8.
Exerc´ıcio 5.4 Dada a tabela abaixo.
x -0.2 -0.1 0.1 0.15 0.35
f(x) 0.980 0.995 0.996 0.988 0.955
a) Quando poss´ıvel, ache uma aproxima¸c˜ao para f(−0.25) e f(0) , usando o polinˆomio
interpolador na forma de Newton, com o menor erro poss´ıvel.
b) Se tiv´essemos usado o polinˆomio interpolador na forma de Lagrange sobre os mesmos
pontos obter´ıamos melhor resultado? Justifique.
Exerc´ıcio 5.5 Num experimento de laborat´orio, uma rea¸c˜ao qu´ımica liberou calor de acordo
com as medi¸c˜ oes mostradas na tabela abaixo
hora 8:00 hr 9:00 hr 9:30 hr 10:00 hr
C
o
0 130 210 360
a) Determine uma fun¸c˜ao que dˆe a temperatura em fun¸c˜ao do tempo, de modo que os
pontos tabelados sejam representados sem erro.
b) Calcule a prov´avel temperatura ocorrida `as 9:45 hr.
Cap´ıtulo 6
Integra¸c˜ao Num´erica - F´ormulas de
Newton Cˆotes
O objetivo deste cap´ıtulo ´e estudar esquemas num´ericos que aproxime a integral definida de
uma fun¸c˜ao f(x) num intervalo [a, b]. A integra¸c˜ ao num´erica ´e aplicada quando a primitiva
da fun¸c˜ ao n˜ao ´e conhecida ou quando s´o conhecemos a fun¸c˜ ao f(x) num conjunto discreto
de pontos.
As f´ormulas de Newton-Cˆotes s˜ao baseadas na estrat´egia de aproximar a fun¸c˜ao f(x)
por um polinˆomio interpolador e aproximamos a integral pela integral do polinˆomio. As
aproxima¸c˜oes s˜ao do tipo

b
a
f(x)dx ≈ A
0
f(x
0
) + A
1
f(x
1
) + A
n
f(x
n
) =
n
¸
i=0
A
i
f(x
i
)
onde os pontos s˜ao igualmente espa¸cados, isto ´e x
k
= x
0
+ kh, com h = (b − a)/n, e os
coeficientes A
i
s˜ao determinado pelo polinˆomio escolhido para aproximar a fun¸c˜ ao f(x).
6.1 Regra do Trap´ezio
A Regra do Trap´ezio ´e a f´ormula de Newton-Cˆotes que aproxima a fun¸c˜ ao f(x) pelo polinˆomio
interpolador de grau 1 sobre os pontos x
0
= a e x
1
= b. O polinˆomio interpolador de grau
um, na forma de Newton ´e dado por
p
1
(x) = f(x
0
) + f[x
0
, x
1
](x −x
0
).
Desta forma vamos aproximar a integral da fun¸c˜ ao f(x) pela integral do polinˆomio, obtendo

b
a
f(x)dx ≈

x
1
x
0
p
1
(x)dx
=

x
1
x
0
f(x
0
) + f[x
0
, x
1
](x −x
0
)dx
72
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 73
= f(x
0
)(x
1
−x
0
) + f[x
0
, x
1
]

x
1
2
2

x
0
2
2
−x
0
(x
1
−x
0
)

= f(x
0
)(x
1
−x
0
) +
f(x
1
) −f(x
0
)
x
1
−x
0
(x
1
−x
0
)
2
2
=
(x
1
−x
0
)
2
(f(x
0
) + f(x
1
))
=
h
2
(f(x
0
) + f(x
1
)),
onde h = x
1
− x
0
. A f´ormula acima representa a ´area do trap´ezio que tem f(x
1
) e f(x
0
)
como os valores das bases e h como o valor da altura. Na figura 6.1 temos uma representa¸ c˜ao
desta aproxima¸c˜ ao.
a
||
x
0
b
||
x
1
f(x)
p(x)
f(x
0
)
f(x
1
)
6.2 C´alculo do Erro
No cap´ıtulo de interpola¸c˜ ao vimos que uma fun¸c˜ ao f(x) pode ser representada por
f(x) = p
n
(x) + E
n
(x),
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 74
onde p
n
(x) ´e o polinˆomio interpolador e E
n
(x) o erro na interpola¸c˜ ao definido no Teorema
5.3.1. Calculando a integral da fun¸c˜ ao f(x) no intervalo [a, b], segue que

b
a
f(x)dx =

b
a
p
n
(x)dx +

b
a
E
n
(x)dx,
ou seja o erro na integra¸c˜ ao ´e dado pela integra¸c˜ ao do erro cometido na interpola¸c˜ ao. No
caso da Regra do Trap´ezio segue que o erro ´e dado por
E
T
=

b
a
E
1
(x)dx =

b
a
(x −x
0
)(x −x
1
)
f

(ξ)
2
dx = −
h
3
12
f

(ξ), ξ ∈ [a, b]
Como o erro depende do ponto ξ, que ´e desconhecido, na pr´atica usamos a estimativa
[E
T
[ ≤
h
3
12
max
ξ∈[a,b]
[f

(ξ)[
Exemplo 6.2.1 Como exemplo, vamos considerar a fun¸c˜ao f(x) = e
−x
2
, cuja a primitiva
n˜ao tem uma forma anal´ıtica conhecida. Vamos aproximar a integral no intervalo [0, 1]
usando a Regra do Trap´ezio. Desta forma temos que h = 1 −0 = 1 e segue que

1
0
e
−x
2
dx ≈
1
2
(e
−0
2
+ e
−1
2
) = 0.6839397
Para calcular o erro cometido temos que limitar a segunda derivada da fun¸c˜ao no intervalo
[0, 1]. Sendo
f

(x) = (4x
2
−2)e
−x
2
temos que nos extremos do intervalo vale
[f

(0)[ = 2 e [f

(1)[ = 0.735759.
Para calcular os pontos cr´ıticos da f

(x), devemos derivar f

(x) e igualar a zero, obtendo,
f

(x) = (12x −8x
3
)e
−x
2
= 0 ⇔x = 0 ou x = ±

3
2
Como o ´ unico ponto cr´ıtico pertencente ao intervalo ´e x = 0 segue que
max
ξ∈[a,b]
[f

(ξ)[ = 2
Com isto temos que
E
T

h
3
12
max
ξ∈[a,b]
[f

(ξ)[ =
1
6
= 0.166667
Note que esta estimativa do erro informa que a aproxima¸c˜ ao obtida n˜ao tem garantida nem
da primeira casa decimal como exata. Logo a solu¸c˜ ao exata da integral est´a entre os valores
0.6839397 ±0.166667.
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 75
6.3 Regra do Trap´ezio Repetida
A Regra do Trap´ezio aproxima bem fun¸c˜ oes suaves ( [f

(x)[ < 1) e/ou em intervalos de
integra¸c˜ao de amplitude pequena. Para intervalos de amplitude grande podemos fazer uma
subdivis˜ao do intervalo de integra¸c˜ ao [a, b] em n subintervalos de mesma amplitude e apli-
camos a Regra do Trap´ezio em cada subintervalo (Ver Figura 6.1). Neste caso temos que
a b
Figura 6.1: Regra do Trap´ezio Repetida
h =
b −a
n
e x
k
= x
0
+ kh com k = 0, 1, . . . , n
Aplicando a Regra do Trap´ezio em cada subintervalo [x
k
, x
k+1
] segue que

b
a
f(x)dx ≈
h
2
(f
0
+ f
1
) +
h
2
(f
1
+ f
2
) +
h
2
(f
2
+ f
3
) + +
h
2
(f
n−2
+ f
n−1
) +
h
2
(f
n−1
+ f
n
)
=
h
2
[f
0
+ 2(f
1
+ f
2
+ + f
n−1
) + f
n
]
O erro cometido na aproxima¸ c˜ao ´e igual a soma dos erros cometidos em cada subinter-
valo, logo temos que o erro ´e da forma
[E
TG
[ ≤ n
h
3
12
max
ξ∈[a,b]
[f

(ξ)[
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 76
Exemplo 6.3.1 Considerando a fun¸c˜ao do exemplo anterior, f(x) = e
−x
2
em [0, 1], vamos
determinar o n´ umero de subintervalos necess´arios para que a Regra do Trap´ezio Repetida
forne¸ca uma aproxima¸c˜ao com pelo menos 3 casas decimais exatas. Para isto devemos ter
que [E
TG
[ ≤ 10
−4
, logo
n
h
3
12
max
ξ∈[0,1]
[f

(ξ)[ ≤ 10
−4
Sendo h = (b − a)/n e que o m´aximo da segunda derivada da fun¸c˜ao em [0, 1] ´e 2 (Ver ex.
anterior) segue que
n
h
3
12
max
ξ∈[0,1]
[f

(ξ)[ ≤ 10
−4
⇔ n
1
n
3
1
12
2 ≤ 10
−4

1
n
2
≤ 6 10
−4
⇔ n
2
≥ 1666.666
⇔ n ≥ 40.824
Devemos tomar no m´ınimo n = 41 subintervalos para atingir a precis˜ao desejada. Abaixo
apresentamos o uso da fun¸c˜ao trapz.m do MatLab que fornece a aproxima¸c˜ao da integral pela
Regra do Trap´ezio. Usando 41 subintervalos temos a aproxima¸c˜ao It = 0.746787657
% Diciplina de Calculo Numerico - Prof. J. E. Castilho
% Exemplo do uso da funcao trapz(x,y)
% Calcula a integral usando a regra do trapezio
% para os pontos
% x=[xo,x1,...,xn]
% f=[fo,f1,...fn]
%
h=1/41;
x=0:h:1;
f=exp(-x.^2);
It=trapz(x,f)
6.4 Regra de Simpson 1/3
Neste caso, usamos o polinˆomio de grau 2 que interpola a fun¸c˜ao f(x). Para isto necessitamos
de trˆes pontos x
0
, x
1
e x
2
. Como os pontos devem ser igualmente espa¸cados, tomamos
h = (b − a)/2. Na figura 6.4 temos uma representa¸c˜ao desta aproxima¸c˜ ao. Para obter a
aproxima¸c˜ao da integral vamos considerar o polinˆomio interpolador na forma de Newton,
p
2
(x) = f(x
0
) + (x −x
0
)f[x
0
, x
1
] + (x −x
0
)(x −x
1
)f[x
0
, x
1
, x
2
].
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 77
a
||
x
0
x
1
b
||
x
2
f(x
0
)
f(x
1
)
f(x
2
)
E com isto segue que a integral da fun¸c˜ao f(x) ´e aproximada por

b
a
f(x)dx ≈

x
2
x
0
p
2
(x)dx
=
h
3
(f(x
0
) + 4f(x
1
) + f(x
2
)),
De forma an´aloga a Regra do Trap´ezio, obtemos a f´ormula do erro, integrando o erro cometido
na interpola¸c˜ ao. Desta forma obtemos
E
S
=

b
a
E
2
(x)dx =

b
a
(x −x
0
)(x −x
1
)(x −x
2
)
f

(ξ)
3!
dx = −
h
5
90
f
(iv)
(ξ), ξ ∈ [a, b]
Na pr´atica usamos a estimativa para o erro
[E
S
[ ≤
h
5
90
max
ξ∈[a,b]
[f
(iv)
(ξ)[
Exemplo 6.4.1 Vamos considerar a fun¸c˜ao do exemplo anterior: f(x) = e
−x
2
no intervalo
[0, 1]. Para usar a Regra de Simpson temos que ter trˆes pontos. Desta forma tomamos
h =
b −a
2
=
1 −0
2
=
1
2
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 78
E com isto segue a aproxima¸c˜ao ´e dada por:

b
a
f(x)dx ≈
1
6
(f(0) + 4f(1/2) + f(1)) = 0.74718
A limita¸c˜ao do erro depende da limita¸c˜ao da quarta derivada da fun¸c˜ao no intervalo
[0, 1], sendo:
f
(iv)
(x) = (12 −48x
2
+ 16x
4
)e
−x
2
Calculando nos extremos do intervalo temos
[f
(iv)
(0)[ = 12 e [f
(iv)
(1)[ = 0.735759
Calculando os pontos cr´ıticos temos
f
(v)
(x) = (−32x
5
+ 160x
3
−120x)e
−x
2
= 0 ⇔x = 0 ou x = ±0.958572 ou x = ±2.02018
Como o ponto x = 0.958572 pertence ao intervalo [0,1] temos
[f
(iv)
(0.958572)[ = 7.41948
Assim temos que
max
ξ∈[a,b]
[f
(iv)
(ξ)[ = 12
Obtemos desta forma que
E
S
=≤
h
5
90
max
ξ∈[a,b]
[f
(iv)
(ξ)[ = 0.00416667
Desta forma podemos garantir que as duas primeiras casas decimais est˜ao corretas.
6.5 Regra de Simpson Repetida
Podemos melhorar a aproxima¸c˜ ao da mesma forma que fizemos com a Regra do Trap´ezio.
Vamos dividir o intervalo de integra¸c˜ao em n subintervalos de mesma amplitude. Por´em
devemos observar que a Regra de Simpson necessita de trˆes pontos, logo o subintervalo que
aplicaremos a f´ormula ser´a da forma [x
k
, x
k+2
] o que implica que n deve ser um n´ umero par.
Neste caso temos que
h =
b −a
n
e x
k
= x
0
+ kh k = 0, 1, . . . , n
Aplicando a Regra de Simpson em cada subintervalo [x
k
, x
k+2
] segue que

b
a
f(x)dx ≈
h
3
(f
0
+ 4f
1
+ f
2
) +
h
3
(f
2
+ 4f
3
+ f
4
) + +
h
3
(f
n−4
+ 4f
n−3
+ f
n−2
) +
h
3
(f
n−2
+ 4f
n−1
+ f
n
)
=
h
3
[f
0
+ 4(f
1
+ f
3
+ + f
n−1
)2(f
2
+ f
4
+ + f
n−2
) + f
n
]
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 79
O erro cometido nesta aproxima¸c˜ ao ´e a soma dos erros em cada subintervalo [x
k
, x
k+2
] e
como temos n/2 subintervalos segue que:
[E
SR
[ ≤ n
h
5
180
max
ξ∈[a,b]
[f
(iv)
(ξ)[
Exemplo 6.5.1 Considerando a integral da fun¸c˜ao f(x) = e
−x
2
, no intervalo [0, 1‘], vamos
determinar o n´ umero de subintervalos necess´arios para obtermos uma aproxima¸c˜ao com trˆes
casas decimais exatas. Para isto limitamos o erro por [E
SR
[ ≤ 10
−4
. Sendo h = (b −a)/n e
max
ξ∈[0,1]
[f
(iv)
(ξ)[ = 12 segue que
n
h
5
180
max
ξ∈[a,b]
[f
(iv)
(ξ)[ ≤ 10
−4
⇔ n
1
n
5
12
180
≤ 10
−4

1
n
4
≤ 15 10
−4
⇔ n
4
≥ 666.66666
⇔ n ≥ 5.0813274
O menor valor de n que garante a precis˜ao ´e n = 6. Note que a Regra de Simpson necessita
de bem menos subintervalos que a Regra do Trap´ezio (n = 41).
6.6 Observa¸c˜ oes Finais
As f´ormulas de Newton-Cˆotes s˜ao obtidas aproximando a fun¸c˜ao por um polinˆomio interpo-
lador. Quanto maior for o grau do polinˆomio, mais preciso ser´a o resultado obtido. Por´em a
estrat´egia das f´ormulas repetidas permitem obter uma aproxima¸ c˜ao com uma certa precis˜ao
desejada, usando f´ormulas que s˜ao obtidas por polinˆomios de baixo grau.
Pelas f´ormulas de erro podemos observar que a Regra do Trap´ezio ´e exata para po-
linˆomios de grau um, enquanto que a Regra de Simpson ´e exata para polinˆomios de grau
trˆes.
6.7 Exerc´ıcios
Exerc´ıcio 6.1 Calcule as integrais pela Regra do Trap´ezio e pela Regra de Simpson usando
seis subintervalos.

4
1

xdx e

0.6
0
dx
1 + x
Exerc´ıcio 6.2 Calcule o valor de π com trˆes casas decimais exatas usando a rela¸c˜ao
π
4
=

1
0
dx
1 + x
2
CAP
´
ITULO 6. INTEGRAC¸
˜
AO NUM
´
ERICA - F
´
ORMULAS DE NEWTON C
ˆ
OTES 80
Exerc´ıcio 6.3 Mostre que se f

(x) ´e cont´ınua em [a, b] e que f

(x) > 0, ∀x ∈ [a, b], ent˜ao
a aproxima¸ c˜ao obtida pela Regra do Trap´ezio ´e maior que o valor exato da integral.
Exerc´ıcio 6.4 Dada a tabela abaixo, calcule a integral

0
.15
0.30
f(x)dx com o menor erro
poss´ıvel.
x 0.15 0.22 0.26 0.30
f(x) 1.897 1.514 1.347 1.204
Exerc´ıcio 6.5 Baseado na Regra de Simpson, determine uma regra de integra¸c˜ao para a
integral dupla

b
a

d
c
f(x, y)dxdy
Aplique a regra para calcular uma aproxima¸c˜ao para

1
0

1
0
x
2
+ y
2
dxdy
Cap´ıtulo 7
Equa¸c˜oes Diferenciais Ordin´arias
(P.V.I.)
Muitos dos modelos matem´aticos nas ´areas de mecˆanica dos fluidos, fluxo de calor, vibra¸c˜ oes,
rea¸c˜oes qu´ımicas s˜ao representados por equa¸c˜ oes diferenciais. Em muitos casos, a teoria
garante a existˆencia e unicidade da solu¸c˜ao, por´em nem sempre podemos obter a forma
anal´ıtica desta solu¸c˜ ao.
Neste cap´ıtulo vamos nos concentrar em analisar esquemas num´ericos para solu¸c˜ ao de
Problemas de Valor Inicial (P.V.I.), para equa¸c˜ oes diferenciais de primeira ordem. Isto ´e ,
achar a fun¸c˜ ao y(x) tal que

y

= f(x, y)
y(x
0
) = y
0
A aproxima¸c˜ao de y(x) ´e calculada nos pontos x
1
, x
2
, x
3
, . . ., onde x
k
= x
0
+ kh. O valor
da fun¸c˜ ao no ponto x
k
´e aproximado por y
k
, que ´e obtido em fun¸c˜ ao dos valores anteriores
y
k−1
, y
k−2
, . . . , y
0
. Com isto podemos classificar os m´etodos em duas classes:
M´etodos de Passo Simples: S˜ao aqueles em que o c´alculo de y
k
depende apenas de y
k−1
.
M´etodos de Passo M´ ultiplo: S˜ao aqueles em que o c´alculo de y
k
depende m-valores an-
teriores, y
k−1
, y
k−2
, . . . , y
k−m
. Neste caso dizemos que o m´etodo ´e de m-passos.
7.1 M´etodo Euler
Dado o problema de valor inicial

y

= f(x, y)
y(x
0
) = y
0
Uma forma de aproximar a derivada de uma fun¸c˜ ao no ponto x
1
´e dado por
y

(x
0
) = lim
h→0
y(x
0
+ h) −y(x
0
)
h

y(x
0
+ h) −y(x
0
)
h
(7.1)
81
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 82
x
0
x
1
x
2
x
3
x
4
x
5
| | | | | |
y
0
y
1
y
2
y
3
y
4
y
5
Como x
1
= x
0
+ h e pelo P.V.I. segue que
y
1
−y
0
h
= f(x
0
, y
0
) ⇒y
1
= y
0
+ hf(x
0
, y
0
)
Com isto relacionamos o ponto y
1
com y
0
, um valor dado no P.V.I. Assim obtemos uma
aproxima¸c˜ao y(x
1
) ≈ y
1
. De forma an´aloga podemos obter y
2
em fun¸c˜ ao de y
1
, sendo que
de uma forma geral teremos
y
k+1
= y
k
+ hf(x
k
, y
k
)
Este m´etodo ´e conhecido como M´etodo de Euler.
Exemplo 7.1.1 Consideremos o seguinte problema de valor inicial

y

= x −2y
y(0) = 1
Neste caso temos que x
0
= 0 e y
0
= 1. Vamos usar o M´etodo de Euler para obter uma
aproxima¸c˜ao para y(0.5), usando h = 0.1. Desta forma temos
y
1
= y
0
+ h(x
0
−2y
0
) = 1 + 0.1(0 −2 ∗ 1) = 0.8 ≈ y(x
1
) = y(0.1)
y
2
= y
1
+ h(x
1
−2y
1
) = 0.8 + 0.1(0.1 −2 ∗ 0.8) = 0.65 ≈ y(x
2
) = y(0.2)
y
3
= y
2
+ h(x
2
−2y
2
) = 0.65 + 0.1(0.2 −2 ∗ 0.65) = 0.54 ≈ y(x
3
) = y(0.3)
y
4
= y
3
+ h(x
3
−2y
3
) = 0.54 + 0.1(0.3 −2 ∗ 0.54) = 0.462 ≈ y(x
4
) = y(0.4)
y
5
= y
4
+ h(x
4
−2y
4
) = 0.462 + 0.1(0.4 −2 ∗ 0.462) = 0.4096 ≈ y(x
5
) = y(0.5)
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 83
A solu¸c˜ao anal´ıtica do P.V.I. ´e dada por y(x) = (5e
−2x
+ 2x − 1)/4. No gr´afico abaixo
comparamos a solu¸c˜ao exata com os valores calculados pelo M´etodo de Euler. Note que em
cada valor calculado o erro aumenta. Isto se deve porque cometemos um ”erro local” na
aproxima¸c˜ao da derivada por (7.1) e este erro vai se acumulando a cada valor calculado. Na
pr´oxima se¸c˜ao daremos uma forma geral do erro local.
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
−0.2
0
0.2
0.4
0.6
0.8
1
1.2
7.2 M´etodos da S´erie de Taylor
Vamos considerar o problema de valor inicial

y

= f(x, y)
y(x
0
) = y
0
Aplicando a s´erie de Taylor para y(x) no ponto x
k
, temos
y(x) = y(x
k
)+
y

(x
k
)
1!
(x−x
k
)+
y

(x
k
)
2!
(x−x
k
)
2
+ +
y
(n)
(x
k
)
n!
(x−x
k
)
n
+
y
(n+1)
(ξ)
(n + 1)!
(x−x
k
)
n+1
Calculando no ponto x
k+1
e considerando que x
k+1
−x
k
= h temos que
y(x
k+1
) = y(x
k
) +
y

(x
k
)
1!
h +
y

(x
k
)
2!
h
2
+ +
y
(n)
(x
k
)
n!
h
n
+
y
(n+1)
(ξ)
(n + 1)!
h
n+1
(7.2)
Como y

(x
k
) = f(x
k
, y
k
) podemos relacionar as derivadas de ordem superior com as derivadas
da fun¸c˜ ao f(x, y). Como exemplo consideremos
y

(x
k
) =
d
dx
f(x
k
, y
k
)
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 84
= f
x
+ f
y
y

= f
x
+ f
y
f
y

(x
k
) = f
y
(f
x
+ f
y
f) + f
2
f
yy
+ 2ff
xy
+ f
xx
Desta forma podemos obter uma aproxima¸c˜ ao para o c´alculo do P.V.I., substituindo as
rela¸c˜oes do tipo acima na s´erie de Taylor. Os m´etodos podem ser classificados de acordo
com o termo de maior ordem que usamos na s´erie de Taylor, sendo
Defini¸c˜ao 7.2.1 Dizemos que um m´etodo para a solu¸c˜ao de P.V.I. ´e de ordem n se este
coincide com a s´erie de Taylor at´e o n-´esimo termo. O erro local cometido por esta apro-
xima¸c˜ao ser´a da forma
E
loc
(x
k+1
) =
y
(n+1)
(ξ)
(n + 1)!
h
n+1
ξ ∈ [x
k
, x
k+1
]
Como exemplo temos que o M´etodo de Euler ´e um m´etodo de 1
o
¯
ordem, pois este
coincide com a s´erie de Taylor at´e o primeiro termo, logo o erro local ´e dado por
E
loc
(x
k+1
) =
y

(ξ)
2!
h
2
ξ ∈ [x
k
, x
k+1
]
Em geral, podemos determinar a ordem de um m´etodo pela f´ormula do erro. Se o erro
depende da n-´esima derivada dizemos que o m´etodo ´e de ordem n −1.
Exemplo 7.2.1 Vamos utilizar o m´etodo de 2
o
¯
ordem para aproximar y(0.5), usando h =
0.1, para o P.V.I.

y

= x −2y
y(0) = 1
Neste caso temos que f(x, y) = x −2y, logo segue que
y

= f
x
+ f
y
f = 1 −2(x −2y)
Substituindo em (7.2) temos que
y(x
k+1
) = y(x
k
) +
y

(x
k
)
1!
h +
y

(x
k
)
2!
h
2
= y(x
k
) + h(x
k
−2y(x
k
)) +
h
2
2
(1 −2x
k
+ 4y(x
k
))
Portanto o m´etodo ´e dado por
y
k+1
= y
k
+ h(x
k
−2y
k
) +
h
2
2
(1 −2x
k
+ 4y
k
)
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 85
Sendo x
0
= 0 e y
0
= 1 obtemos que
y
1
= y
0
+h(x
0
−2y
0
) +
h
2
2
(1 −2x
0
+ 4y
0
)
= 1 + 0.1(0 −2 ∗ 1) +
0.1
2
2
(1 −2 ∗ 0 + 4 ∗ 1) = 0.825
y
2
= y
1
+h(x
1
−2y
1
) +
h
2
2
(1 −2x
1
+ 4y
1
)
= 0.825 + 0.1(0.1 −2 ∗ 0.825) +
0.1
2
2
(1 −2 ∗ 0.1 + 4 ∗ 0.825) = 0.6905
y
3
= y
2
+h(x
2
−2y
2
) +
h
2
2
(1 −2x
2
+ 4y
2
)
= 0.6905 + 0.1(0.2 −2 ∗ 0.6905) +
0.1
2
2
(1 −2 ∗ 0.2 + 4 ∗ 0.6905) = 0.58921
y
4
= y
3
+h(x
3
−2y
3
) +
h
2
2
(1 −2x
3
+ 4y
3
)
= 0.58921 + 0.1(0.3 −2 ∗ 0.58921) +
0.1
2
2
(1 −2 ∗ 0.3 + 4 ∗ 0.58921) = 0.515152
y
5
= y
4
+h(x
4
−2y
4
) +
h
2
2
(1 −2x
4
+ 4y
4
)
= 0.515152 + 0.1(0.4 −2 ∗ 0.515152) +
0.1
2
2
(1 −2 ∗ 0.4 + 4 ∗ 0.515152) = 0.463425
O gr´afico na figura 7.1 compara os resultados obtidos por este m´etodo, com os resultados
obtidos pelo m´etodo de Euler.
Os resultados obtidos pelo m´etodo de 2
o
¯
ordem s˜ao mais precisos. Quanto maior a
ordem do m´etodo melhor ser´a a aproxima¸c˜ ao. A dificuldade em se tomar m´etodos de alta
ordem ´e o c´alculo da rela¸c˜ao de y
(n+1)
(x) = [f(x, y)]
(n)
.
7.3 M´etodos de Runge-Kutta
A estrat´egia dos m´etodos de Runge-Kutta ´e aproveitar as qualidades dos m´etodos da S´erie
de Taylor (escolher a precis˜ao) sem ter que calcular as derivadas totais de f(x, y).
O m´etodo de Runge-Kutta de 1
o
¯
ordem ´e o M´etodo de Euler, que coincide com o m´etodo
da S´erie de Taylor de 1
o
¯
ordem. Vamos determinar um m´etodo de 2
o
¯
ordem, conhecido
como m´etodo de Euler Melhorado ou m´etodo de Heun. Como o pr´oprio nome diz, a id´eia ´e
modificar o m´etodo de Euler de tal forma que podemos melhorar a precis˜ao. Na figura 7.2-a
temos a aproxima¸ c˜ao ye
n+1
= y
n
+ hf(x
n
, y
n
) que ´e obtida pela aproxima¸ c˜ao do m´etodo de
Euler.
Montamos a reta L
1
que tem coeficiente angular dado por y

(x
n
) = f(x
n
, y
n
).
L
1
(x) = y
n
+ (x −x
n
)y

n
= y
n
+ (x −x
n
)f(x
n
, y
n
)
L
1
(x
n+1
) = y
n
+ (x
n+1
−x
n
)y

n
= y
n
+ hf(x
n
, y
n
) = ye
n+1
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 86
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
−0.2
0
0.2
0.4
0.6
0.8
1
1.2
Figura 7.1: M´etodo de Euler ’o’ —- M´etodo de 2
o
¯
ordem ’* ’
Montamos a reta L
2
com coeficiente angular dado por f(x
n+1
, ye
n+1
) = f(x
n
, y
n
+ hy

) e
passa pelo ponto P ( Ver figura 7.2-b ).
L
2
(x) = ye
n+1
+ (x −x
n+1
)f(x
n+1
, ye
n+1
)
Montamos a reta L
0
que passa por P e tem como coeficiente angular a m´edia dos coeficientes
angular de L
1
e L
2
(Ver figura 7.2-c). Finalmente a reta que passa pelo ponto (x
n
, y
n
) e ´e
paralela a reta L
0
tem a forma
L(x) = y
n
+ (x −x
n
)
1
2
(f(x
n
, y
n
) + f(x
n+1
, y
n
+ hy

n
))
Calculando no ponto x
n+1
temos
y
n+1
= y
n
+ h
1
2
(f(x
n
, y
n
) + f(x
n+1
, y
n
+ hy

n
))
Podemos observar que o valor de y
n+1
(Ver figura 7.2-d) est´a mais pr´oximo do valor exato
que o valor de ye
n+1
. Este esquema num´erico ´e chamado de m´etodo de Euler Melhorado,
onde uma estimativa do erro local ´e dado por
[E
loc
(x
n
)[ ≤
h
3
6
max
ξ∈[x
n
,x
n+1
]
[y

(ξ)[
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 87
(a)
x
n
x
n+1
y
n
ye
n+1
(b)
x
n
x
n+1
y
n
L
2
L
1
P
ye
n+1
(c)
x
n
x
n+1
y
n
L
2
L
1
L
0
P
ye
n+1
(d)
x
n
x
n+1
y
n
L
2
L
1
L
0
P
ye
n+1
y
n+1
Figura 7.2: M´etodo de Euler Melhorado
Determinamos o m´etodo de Euler Melhorado por uma constru¸c˜ao geom´etrica. Tamb´em
podemos obter uma demonstra¸c˜ao anal´ıtica. Desenvolvemos a s´erie de Taylor da fun¸c˜ ao
f(x, y) e calculando no ponto (x
n+1
, y
n
+hy

n
). A express˜ao encontrada deve concordar com
a S´erie de Taylor at´e a segunda ordem. Em geral um m´etodo de Runge-Kutta de segunda
ordem ´e dado por
y
n+1
= y
n
+ a
1
hf(x
n
, y
n
) + a
2
hf(x
n
+ b
1
h, y
n
+ b
2
hy

n
),
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 88
onde

a
1
+ a
2
= 1
a
2
b
1
= 1/2
a
2
b
2
= 1/2
(7.3)
O m´etodo de Euler Melhorado ´e obtido com a
1
= a
2
= 1/2 e b
1
= b
2
= 1.
M´etodos de ordem superior s˜ao obtidos seguindo o mesmo procedimento. Abaixo apre-
sentamos um m´etodo de 3
o
¯
e 4
o
¯
R-K 3
o
¯
ordem:
y
n+1
= y
n
+
2
9
K
1
+
1
3
K
2
+
4
9
K
3
K
1
= hf(x
n
, y
n
)
K
2
= hf(x
n
+ h/2, y
n
+ K
1
/2)
K
3
= hf(x
n
+ 3h/4, y
n
+ 3K
2
/4)
R-K 4
o
¯
ordem:
y
n+1
= y
n
+
1
6
(K
1
+ 2K
2
+ 2K
3
+ K
4
)
K
1
= hf(x
n
, y
n
)
K
2
= hf(x
n
+ h/2, y
n
+ K
1
/2)
K
3
= hf(x
n
+ h/2, y
n
+ K
2
/2)
K
4
= hf(x
n
+ h, y
n
+ K
3
)
7.4 M´etodos de Adans-Bashforth
S˜ao m´etodos de passo m´ ultiplos baseados na integra¸c˜ ao num´erica. A estrat´egia ´e integrar a
equa¸c˜ao diferencial no intervalo [x
n
, x
n+1
], isto ´e

x
n+1
xn
y

(x)dx =

x
n+1
xn
f(x, y(x))dx ⇒ (7.4)
y(x
n+1
) = y(x
n
) +

x
n+1
x
n
f(x, y(x))dx
. .. .
Integra¸c˜ao Num´erica
(7.5)
A integral sobre a fun¸c˜ ao f(x, y) ´e aproximada pela integral de um polinˆomio interpolador que
pode utilizar pontos que n˜ao pertencem ao intervalo de integra¸c˜ ao. Dependendo da escolha
dos pontos onde vamos aproximar a fun¸c˜ ao f(x, y) os esquemas podem ser classificados como:
Expl´ıcito: S˜ao obtidos quando utilizamos os pontos x
n
, x
n−1
, . . . , x
n−m
para interpolar a fun¸c˜ ao
f(x, y).
Impl´ıcito: S˜ao obtidos quando no conjunto de pontos, sobres os quais interpolamos a fun¸c˜ ao
f(x, y), temos o ponto x
n+1
.
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 89
7.4.1 M´etodos Expl´ıcitos
Vamos considerar o caso em que a fun¸c˜ao f(x, y) ´e interpolada sobre os pontos (x
n
, f
n
)
e (x
n−1
, f
n−1
), onde f
n
= f(x
n
, y
n
). Considerando o polinˆomio interpolador na forma de
Newton temos
f(x, y) ≈ p(x) = f
n−1
+ f[x
n−1
, x
n
](x −x
n−1
)
Integrando sobre o intervalo [x
n
, x
n+1
] temos

x
n+1
x
n
p(x)dx =

x
n+1
x
n
f
n−1
+ f[x
n−1
, x
n
](x −x
n−1
)dx
= f
n−1
(x
n+1
−x
n
) + f[x
n−1
, x
n
]

x
n+1
2
2
−x
n−1
x
n+1

x
n
2
2
+ x
n−1
x
n

= hf
n−1
+
f
n
−f
n−1
h
1
2

x
n+1
2
−2(x
n
−h)x
n+1
−x
n
2
+ 2(x
n
−h)x
n

= hf
n−1
+
f
n
−f
n−1
h
1
2

x
n+1
2
−2x
n
x
n+1
+ x
n
2
+ 2h(x
n+1
−x
n
)

= hf
n−1
+
f
n
−f
n−1
h
1
2

(x
n+1
−x
n
)
2
+ 2h
2

=
h
2
(2f
n−1
+ 3f
n
)
Substituindo a aproxima¸c˜ ao da integral em (7.5) obtemos o seguinte m´etodo
y
n+1
= y
n
+
h
2
(2f
n−1
+ 3f
n
)
Este m´etodo ´e um m´etodo expl´ıcito, de passo dois. Isto significa que y
n+1
depende de y
n
e
y
n−1
. Logo necessitamos de dois valores para iniciar o m´etodo: y
0
que ´e dado no P.V.I.; y
1
que deve ser obtido por um m´etodo de passo simples. De uma forma geral, os m´etodos de
k-passos necessitam de k-valores iniciais que s˜ao obtidos por m´etodos de passo simples, de
ordem igual ou superior a ordem do m´etodo utilizado.
Obtemos o m´etodo, aproximando a fun¸c˜ ao pelo polinˆomio interpolador de grau um.
Assim o erro local, cometido por esta aproxima¸c˜ao ser´a

x
n+1
x
n
E
1
(x)dx =

x
n+1
x
n
(x −x
n−1
)(x −x
n
)
f

(ξ, y(ξ))
2!
dx
= h
3
5
12
y

(ξ) ξ ∈ [x
n
, x
n+1
]
Com isto temos a seguinte estimativa para o erro local
[E
loc
(x
n+1
)[ ≤ h
3
5
12
max
ξ∈[x
n
,x
n+1
]
[y

(ξ)[
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 90
Exemplo 7.4.1 Considere o seguinte P.V.I.

y

= −2xy
y(0.5) = 1
Vamos achar uma aproxima¸c˜ao para y(1.1) pelo M´etodo de Adams-Bashforth expl´ıcito , de
passo dois, usando h = 0.2.
Do P.V.I segue que y
0
= 1 e x
0
= 0.5. Este ´e um m´etodo de passo dois e vamos ter
que calcular y
1
por um m´etodo de passo simples que tenha ordem igual ou superior ao do
M´etodo de Adams-Bashforth. Como o erro local depende da 3
o
¯
derivada de y(x) temos que
este m´etodo ´e de 2
o
¯
ordem. Assim vamos utilizar o m´etodo de Euler Melhorado, que ´e um
m´etodo de 2
o
¯
ordem.
y
1
= y
0
+ h
1
2
(f(x
0
, y
0
) + f(x
0
, y
0
+ hy

0
))
= 1 +
0.2
2
(−2 ∗ 0.5 ∗ 1 + (−2) ∗ 0.5 ∗ (1 + 0.2 ∗ (−2 ∗ 0.5 ∗ 1))) = 0.82 ≈ y(0.7)
Tendo o valor de y
0
e y
1
podemos iniciar o M´etodo de Adams-Bashforth, sendo
y
2
= y
1
+
h
2
(2f
0
+ 3f
1
)
= 0.82 +
0.2
2
(2 ∗ (−2) ∗ 0.5 ∗ 1 + 3 ∗ (−2) ∗ (0.7) ∗ 0.82) = 0.2756 ≈ y(0.9)
y
3
= y
2
+
h
2
(2f
1
+ 3f
2
)
= 0.2756 +
0.2
2
(2 ∗ (−2) ∗ 0.7 ∗ 0.82 + 3 ∗ (−2) ∗ (0.9) ∗ 0.2756) = −0.102824 ≈ y(1.1)
Se tiv´essemos aproximado a fun¸c˜ao f(x, y) por um polinˆomio de grau 3, sobre os pontos
(x
n
, f
n
), (x
n−1
, f
n−1
), (x
n−2
, f
n−2
), (x
n−3
, f
n−3
) obter´ıamos o m´etodo de passo 4 e ordem 4
dado por
y
n+1
= y
n
+
h
24
[55f
n
−59f
n−1
+ 37f
n−2
−9f
n−3
] E
loc
(x
n+1
) = h
5
251
720
y
(v)
(ξ) com ξ ∈ [x
n
, x
n+1
]
Neste caso necessitamos de quatro valores iniciais, y
0
, y
1
, y
2
e y
3
, que deve ser calculados por
um m´etodo de passo simples de ordem maior ou igual a quatro (Ex. Runge-Kutta de 4
o
¯
ordem).
7.4.2 M´etodos Impl´ıcitos
Neste caso o ponto (x
n+1
, f
n+1
) ´e um dos ponto, onde a fun¸c˜ao f(x, y) ser´a interpolada .
Vamos considerar o caso em que a fun¸c˜ao f(x, y) ´e interpolada sobre os pontos (x
n
, f
n
) e
(x
n+1
, f
n+1
). Considerando o polinˆomio interpolador na forma de Newton temos
f(x, y) ≈ p(x)f
n
+ f[x
n
, x
n+1
](x −x
n
)
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 91
Integrando sobre o intervalo [x
n
, x
n+1
] temos

x
n+1
x
n
p(x)dx =

x
n+1
x
n
f
n
+ f[x
n
, x
n+1
](x −x
n
)dx
= f
n
(x
n+1
−x
n
) + f[x
n
, x
n+1
]

x
n+1
2
2
−x
n
x
n+1

x
n
2
2
+ x
n
x
n

= hf
n
+
f
n+1
−f
n
h
1
2

x
n+1
2
−2x
n
x
n+1
+ x
n
2

= hf
n
+
f
n+1
−f
n
h
1
2
(x
n+1
−x
n
)
2
=
h
2
(f
n
+ f
n+1
)
Substituindo a aproxima¸c˜ ao da integral em (7.5) obtemos o seguinte m´etodo
y
n+1
= y
n
+
h
2
(f
n
+ f
n+1
)
O erro local, cometido por esta aproxima¸c˜ ao ser´a

x
n+1
x
n
E
1
(x)dx =

x
n+1
x
n
(x −x
n+1
)(x −x
n
)
f

(ξ, y(ξ))
2!
dx
= −h
3
1
12
y

(ξ) ξ ∈ [x
n
, x
n+1
]
Note que o c´alculo de y
n+1
depende de f
n+1
= f(x
n
, y
n+1
). Em geral a f(x, y) n˜ao
permite que isolemos y
n+1
. Desta forma temos que usar um esquema Preditor-Corretor. Por
um m´etodo expl´ıcito encontramos uma primeira aproxima¸c˜ ao para y
n+1
(Preditor) e este
valor ser´a corrigido atrav´es do m´etodo impl´ıcito (Corretor).
Exemplo 7.4.2 Vamos considerar o seguinte problema:

y

= −2xy −y
2
y(0) = 1
Usando h = 0.1 vamos achar uma aproxima¸c˜ao para y(0.2), usando o esquema
P : y
n+1
= y
n
+ hf(x
n
, y
n
)
C : y
n+1
= y
n
+
h
2
(2f
n
+ f
n+1
)
Sendo x
0
= 0 e y
0
= 1 temos
P : y
1
= y
0
+hf(x
0
, y
0
) = 1 + 0.1(−2 ∗ 0 ∗ 1 −1
2
) = 0.9
C : y
1
= y
0
+
h
2
(2f
0
+f
1
) = 1 +
0.1
2

−2 ∗ 0 ∗ 1 −1
2
−2 ∗ 0.1 ∗ 0.9 −0.9
2

= 0.9005 ≈ y(0.1)
P : y
2
= y
1
+hf(x
1
, y
1
) = 0.9005 + 0.1(−2 ∗ 0.1 ∗ 0.9005 −(0.9005)
2
) = 0.8013
C : y
2
= y
1
+
h
2
(f
1
+f
2
) = 0.9005 +
0.1
2

−2 ∗ 0.1 ∗ 0.9005 −(0.9005)
2
−2 ∗ 0.2 ∗ 0.8013 −0.8013
2

= 0.8018 ≈ y(0.2)
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 92
7.5 Equa¸c˜oes de Ordem Superior
Uma equa¸c˜ ao de ordem m pode ser facilmente transformadas em um sistema de m equa¸c˜oes
de primeira ordem. Este sistema pode ser visto como uma equa¸c˜ao vetorial de primeira
ordem e assim poderemos aplicar qualquer um dos m´etodos analisados nas se¸c˜oes anteriores.
Como exemplo vamos considerar o problema de terceira ordem dado por

y

= x
2
+ y
2
−y

−2y

x
y(0) = 1
y

(0) = 2
y

(0) = 3
Para transformar num sistema de primeira ordem devemos usar vari´aveis auxiliares. Fazemos
y

= w ⇒y

= w

e fazemos y

= w

= z ⇒y

= w

= z

. Com isto a equa¸c˜ ao acima pode
ser representada por:

y

= w
w

= z
z

= x
2
+ y
2
−w −2zx
y(0) = 1
w(0) = 2
z(0) = 3
O sistema acima pode ser escrito na forma matricial, onde

¸
¸
y

w

z

¸

. .. .
Y

=

¸
¸
0 1 0
0 0 1
y −1 −2x
¸

. .. .
A

¸
¸
y
w
z
¸

. .. .
Y
+

¸
¸
0
0
x
2
¸

. .. .
X
Desta forma temos a equa¸c˜ ao vetorial

Y

= AY + X
Y (0) = Y
0
onde Y
0
= (1, 2, 3)
T
. Vamos aplicar o m´etodo de Euler na equa¸c˜ ao acima obtendo
Y
n+1
= Y
n
+ h(A
n
Y
n
+ X
n
)
ou seja

¸
¸
y
n+1
w
n+1
z
n+1
¸

=

¸
¸
y
n
w
n
z
n
¸

+ h

¸
¸
0 1 0
0 0 1
y
n
−1 −2x
n
¸

¸
¸
y
n
w
n
z
n
¸

+

¸
¸
0
0
x
n
2
¸

¸
¸
¸
Tomando h = 0.1, vamos calcular uma aproxima¸c˜ ao para y(0.2). Calculando Y
1
≈ Y (0.1)
temos que

¸
¸
y
1
w
1
z
1
¸

=

¸
¸
y
0
w
0
z
0
¸

+ h

¸
¸
0 1 0
0 0 1
y
0
−1 −2x
0
¸

¸
¸
y
0
w
0
z
0
¸

+

¸
¸
0
0
x
0
2
¸

¸
¸
¸ ⇒
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 93

¸
¸
y
1
w
1
z
1
¸

=

¸
¸
1
2
3
¸

+ 0.1

¸
¸
0 1 0
0 0 1
1 −1 −2 ∗ 0
¸

¸
¸
1
2
3
¸

+

¸
¸
0
0
0
2
¸

¸
¸
¸ =

¸
¸
1.2
2.3
2.9
¸

Calculando Y
2
≈ Y (0.2) temos

¸
¸
y
2
w
2
z
2
¸

=

¸
¸
y
1
w
1
z
1
¸

+ h

¸
¸
0 1 0
0 0 1
y
1
−1 −2x
1
¸

¸
¸
y
1
w
1
z
1
¸

+

¸
¸
0
0
x
1
2
¸

¸
¸
¸ ⇒

¸
¸
y
2
w
2
z
2
¸

=

¸
¸
1.2
2.3
2.9
¸

+ 0.1

¸
¸
0 1 0
0 0 1
1.2 −1 −2 ∗ 0.1
¸

¸
¸
1.2
2.3
2.9
¸

+

¸
¸
0
0
0.1
2
¸

¸
¸
¸ =

¸
¸
1.430
2.590
2.757
¸

Note que neste caso n˜ao estamos achando apenas o valor aproximado de y(0.2), mas tamb´em
de y

(0.2) e y

(0.2), sendo

¸
¸
y(0.2)
y

(0.2)
y

(0.2)
¸

¸
¸
1.430
2.590
2.757
¸

7.6 Exerc´ıcios
Exerc´ıcio 7.1 Dado o P.V.I.

y

= x −y
y(1) = 2.2
a) Considerando h = 0.2, ache uma aproxima¸c˜ao para y(2.6), usando um m´etodo de
segunda ordem.
b) Se tiv´essemos usado o m´etodo de Euler, com o mesmo passo h, o resultado obtido seria
mais preciso? Justifique.
Exerc´ıcio 7.2 O esquema num´erico abaixo representa um m´etodo para solu¸c˜ao de E.D.O.
y
n+1
= y
n
+
h
24
[9f
n+1
+ 19f
n
−5f
n−1
+ f
n−2
] com E
loc
(x
n+1
) = h
5
251
720
y
(
5)(ξ)
Classifique o m´etodo de acordo com o n´ umero de passos, se este ´e impl´ıcito ou expl´ıcito, a
ordem do m´etodo, procurando sempre dar justificativas as suas respostas.
Exerc´ıcio 7.3 Determine o m´etodo de Runge-Kutta, de 2
o
¯
ordem, obtido com a
1
= 0, a
2
= 1
e b
1
= b
2
= 1/2 (ver (7.3)). Aplique o m´etodo para o P.V.I.

y

y
= −2

y
y(1) = 0.25
CAP
´
ITULO 7. EQUAC¸
˜
OES DIFERENCIAIS ORDIN
´
ARIAS (P.V.I.) 94
Exerc´ıcio 7.4 Considere o P.V.I.

y

= y
y(0) = 1
a) Mostre que quando aplicamos o m´etodo de Euler Melhorado ao problema temos
y
n+1
=

1 + h +
h
2
2

n+1
b) Comparando com a solu¸c˜ao exata do problema, vocˆe esperaria que o erro tivesse sempre
o mesmo sinal? Justifique.
Exerc´ıcio 7.5 Considere o P.V.I. abaixo.

y

= x −2y
y(0) = 1
a) Ache as aproxima¸c˜oes, para y(x) no intervalo [0, 2], usando h = 0.2 e o esquema
num´erico baixo
P : y
n+1
= y
n
+ hf(x
n
+ h/2, y
n
+ h/2y

)
C ; y
n+1
= y
n
+
h
2
(f
n+1
+ f
n
)
b) Sabendo que a solu¸c˜ao exata ´e dada por y(x) = (5e
−2x
+2x−1)/4, plote (novo verbo?)
um gr´afico com os valores obtidos pelo esquema Preditor e pelo esquema Corretor.
Compare os resultados.
Exerc´ıcio 7.6 Determine uma aproxima¸c˜ao para y(1) utilizando o m´etodo de Euler com
h = 0.1, para o P.V.I. abaixo.

y

−3y

+ 2y = 0
y(0) = −1y

(0) = 0

Conte´ do u
1 Introdu¸˜o ca 1.1 O MatLab . . . . . . . 1.1.1 C´lculo na Janela a 1.1.2 M-arquivos . . . 1.2 Exerc´ ıcios . . . . . . . . 1 3 3 7 10 11 11 14 14 15 16 17 19 20 22 24 25 27 27 28 29 32 34 38 40 40 42 44 45 46

. . . . . . . . de Comandos . . . . . . . . . . . . . . . .

. . . .

. . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 Zeros de Fun¸oes c˜ 2.1 Isolamento das Ra´ ızes . . . . . . . . . . . 2.2 Refinamento . . . . . . . . . . . . . . . . . 2.3 M´todo da Bissec¸ao . . . . . . . . . . . . e c˜ 2.3.1 Estudo da Convergˆncia . . . . . . e 2.3.2 Estimativa do N´mero de Itera¸oes u c˜ 2.4 M´todo Iterativo Linear (M.I.L.) . . . . . e 2.4.1 Crit´rio de Parada . . . . . . . . . e 2.5 M´todo de Newton-Raphson (M.N.R) . . . e 2.6 Ordem de Convergˆncia . . . . . . . . . . e 2.7 Observa¸˜es Finais . . . . . . . . . . . . . co 2.8 Exerc´ ıcios . . . . . . . . . . . . . . . . . . 3 Sistemas Lineares 3.1 M´todos Diretos . . . . . . . . . . . . . . e 3.1.1 Sistema Triangular Superior . . . 3.1.2 M´todo de Elimina¸˜o de Gauss . e ca 3.1.3 Pivotamento Parcial . . . . . . . 3.1.4 C´lculo da Matriz Inversa . . . . a 3.2 M´todos Iterativos . . . . . . . . . . . . e 3.2.1 Crit´rio de Convergˆncia . . . . . e e 3.2.2 M´todo Iterativo de Gauss-Jacobi e 3.2.3 Crit´rio das Linhas . . . . . . . . e 3.2.4 M´todo Iterativo de Gauss-Seidel e 3.2.5 Crit´rio de Sassenfeld . . . . . . . e 3.3 Observa¸˜es Finais . . . . . . . . . . . . co i . . . . . . . . . . . .

´ CONTEUDO 3.4 Exerc´ ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii 47 49 49 53 55 56 58 60 62 63 64 65 67 67 68 70 72 72 73 75 76 78 79 79 81 81 83 85 88 89 90 92 93

4 Ajuste de Curvas: M´todo dos M´ e ınimos Quadrados 4.1 M´todo dos M´ e ınimos Quadrados - Caso Discreto . . . 4.2 M´todo dos M´ e ınimos Quadrados - Caso Cont´ ınuo . . 4.3 Ajuste N˜o Linear . . . . . . . . . . . . . . . . . . . a 4.4 Observa¸˜es Finais . . . . . . . . . . . . . . . . . . . co 4.5 Exerc´ ıcios . . . . . . . . . . . . . . . . . . . . . . . . 5 Interpola¸˜o Polinomial ca 5.1 Forma de Lagrange . . . . . . . 5.2 Forma de Newton . . . . . . . . 5.2.1 Constru¸ao do Polinˆmio c˜ o 5.3 Estudo do Erro . . . . . . . . . 5.4 Escolha dos Pontos . . . . . . . 5.5 Interpola¸ao Inversa . . . . . . c˜ 5.6 Observa¸˜es Finais . . . . . . . co 5.7 Exerc´ ıcios . . . . . . . . . . . . 6 Integra¸˜o Num´rica - F´rmulas ca e o 6.1 Regra do Trap´zio . . . . . . . e 6.2 C´lculo do Erro . . . . . . . . a 6.3 Regra do Trap´zio Repetida . . e 6.4 Regra de Simpson 1/3 . . . . . 6.5 Regra de Simpson Repetida . . 6.6 Observa¸˜es Finais . . . . . . . co 6.7 Exerc´ ıcios . . . . . . . . . . . . 7 Equa¸oes Diferenciais Ordin´rias c˜ a 7.1 M´todo Euler . . . . . . . . . . e 7.2 M´todos da S´rie de Taylor . . e e 7.3 M´todos de Runge-Kutta . . . . e 7.4 M´todos de Adans-Bashforth . e 7.4.1 M´todos Expl´ e ıcitos . . . 7.4.2 M´todos Impl´ e ıcitos . . . 7.5 Equa¸oes de Ordem Superior . . c˜ 7.6 Exerc´ ıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

de Newton Cˆtes o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (P.V.I.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

mas em geral. π. este a esquema n˜o fornecer´ a solu¸ao exata. na aritm´tica computacional temos e 1 ak = N k=0 N n n ak . Um ca a esquema ´ eficiente quando este apresenta solu¸oes dentro de uma precis˜o desejada com e c˜ a custo computacional (tempo de execu¸ao + mem´ria) baixo. e Como exemplo de discretiza¸ao consideremos que desejamos calcular uma aproxima¸ao c˜ c˜ para a derivada de uma fun¸ao f (x) num ponto x. Como e a e exemplo. e da forma como as m´quinas representam os dados a e a num´ricos. k=0 onde estamos considerando que no primeiro somat´rio para cada k fazemos ak /N e depois o somamos e no segundo somat´rio somamos todos os ak e o resultado da soma dividimos por o 1 . Os erros cometidos c˜ c˜ nesta aproxima¸˜o s˜o decorrentes da discretiza¸ao do problema. Os esquemas num´ricos nos c˜ o e fornecem aproxima¸oes para o que seria a solu¸ao exata do problema. etc) ´ ca u a e feita na forma de ponto flutuante com√ n´mero finito de d´ um u ıgito. Logo os n´meros que u tem representa¸ao infinita (Ex.Cap´ ıtulo 1 Introdu¸˜o ca O C´lculo Num´rico tem por objetivo estudar esquemas num´ricos (algoritmos num´ricos) a e e e para resolu¸˜o de problemas que podem ser representados por um modelo matem´tico. O modelo matem´tico ´ dado por c˜ ¯ a e f (¯) = lim x h→0 f (¯ + h) − f (¯) x x h Um esquema num´rico para aproximar a derivada ´ dado por tomar h “pequeno” e calcular e e f (¯) ≈ x f (¯ + h) − f (¯) x x h Neste caso quanto menor for o valor de h mais preciso ser´ o resultado. 2) s˜o representados de forma truncada. a a c˜ A representa¸˜o de n´meros em m´quinas digitais (calculadoras. ou seja passar do modelo ca a c˜ matem´tico para o esquema num´rico. computadores. 1/3. Com isto c˜ a algumas das propriedades da aritm´tica real n˜o valem na aritm´tica computacional.

CAP´ ITULO 1. ca a a Um outro fator que pode influenciar nos resultados ´ a linguagem de programa¸ao e c˜ usada na implementa¸ao dos algoritmos (Pascal. C++ da Borland e C++ da Microsoft). E mesmo quando usamos uma mesma linguagem. os resultados podem apresentar diferen¸as. pois realiza menos opera¸˜es co e comete menos erro de truncamento. INTRODUCAO ¸˜ 2 N . Diferentes c˜ linguagens podem apresentar diferentes resultados.9999999 Enquanto que calculadoras mais avan¸adas ter´ c ıamos como resposta um falso 1. e Os esquemas num´ricos s˜o classificados como esquemas diretos e esquemas iterativos. Fortran. a u e e Como exemplo considere o algoritmo que ´ usado para determinar a precis˜o de uma m´quina e a a digital Algoritmo: Epsilon da M´quina a Ep ← 1 Enquanto (1 + Ep) > 1. Do ponto de vista anal´ ıtico. Numa calculadora simples que represente os n´meros com 7 d´ u ıgito ter´ ıamos 1/3 + 1/3 + 1/3 = 0. a ca o u Por exemplo o esquema que apresentamos para o c´lculo da derivada. Um exemplo ´ a LIMPACK: uma e cole¸˜o de rotinas em Fortran para solu¸˜o de sistemas lineares. etc). Outro exemplo interessante ´ que em aritm´tica e e computacional ´ poss´ que para um dado A exista um ε = 0 tal que e ıvel A + ε = A. Todo o material desta apostila ´ ca e baseado nas referencias: [?] e [?]. mas compiladores diferentes (Ex. Analiticamente a express˜o acima ´ verdadeira se e somente se ε = 0. . as duas express˜es s˜o equivalentes. e a Os esquemas diretos s˜o aqueles que fornecem a solu¸˜o ap´s um n´mero finito de passos. mas a segunda forma o a apresenta melhor resultado do ponto de vista computacional. internamente estas calculadoras trabalham com mais d´ ıgito do que ´ apresentado e no visor e antes do resultado ser apresentado este ´ arredondado. usaremos o MatLab pela sua facilidade de programa¸˜o. pois na realidade. ca ca Para exemplificar os esquemas num´ricos. M´quinas diferentes apresentar˜o resultados diferentes. Os esquemas iterativos a s˜o aqueles que repetem um n´mero de passos at´ que um crit´rio de parada seja satisfeito. que estudaremos nos pr´ximos cap´ e o ıtulo. a e Outro fator que pode influenciar no resultado ´ o tipo de m´quina em que estamos e a trabalhando. Existem v´rias bibliotecas de rotinas num´ricas em c a e diversas linguagens e algumas dispon´ ıveis na Internet. C++. fa¸a: c Ep ← Ep/2 fim enquanto OutPut: 2Ep O crit´rio de parada ´ (1 + Ep) ≤ 1 e cada execu¸ao do la¸o Enquanto ´ chamado de e e c˜ c e itera¸˜o. MatLab .

Por exemplo e EDU>> 3*4 +5 ans = 17 o resultado ´ mostrado na tela como ans ( abreviatura de “answer”). com a potencia¸ao tendo a maior precedˆncia. visualiza¸˜o gr´fica e programa¸ao. o MatLab a ca a c˜ a torna-se uma ferramenta eficiente para a compreens˜o tanto de t´picos fundamentais quanto a o avan¸ados a uma gama de disciplinas. Devido a sua capacidade co a a de fazer c´lculos.1. e a ca a a O MatLab ´ um sistema interativo. o elemento b´sico o a dos dados ainda ´ um vetor. a capacidade do MatLab e se estende muito al´m da manipula¸ao de matrizes. onde os comandos podem ser executados na janela de e comandos ou por programas.m) e ser˜o discutidos posteriormente. 1.1 O MatLab O MatLab surgiu nos anos 1970 como um Laborat´rio de Matrizes para auxiliar os cursos o ´ de Teoria Matricial. Algebra Linear e Analise Num´rica. Nosso objetivo ´ dar uma r´pida vis˜o dos comandos c e a a e fun¸˜es b´sicas do MatLab para exemplificar os t´picos do curso de C´lculo Num´rico.CAP´ ITULO 1. As express˜es s˜o calculadas da esquerda para e a o a a direita.1. seguido da multiplica¸ao e divis˜o c˜ e c˜ a (mesma precedˆncia) e pela adi¸˜o e subtra¸ao (tamb´m com mesma precedˆncia). e a EDU>> s=3+4+7+12 s = 26 . Ele ´ tanto um ambiente quanto uma e c˜ e linguagem de programa¸ao. Em primeiro lugar vamos discutir alguns a a comandos b´sicos que ser˜o util para a manipula¸˜o de dados na janela de comandos e nos a a ´ ca m-arquivos. e um de seus aspectos mais poderosos ´ que os problemas e as c˜ e solu¸˜es s˜o expressos numa linguagem matem´tica bem familiar.1 C´lculo na Janela de Comandos a Um c´lculo simples pode ser executado na janela de comandos digitando as instru¸oes no a c˜ prompt como vocˆ faria numa calculadora. e ca c˜ e e As Vari´veis a A forma de armazenar o resultado para uso posterior ´ pelo uso de vari´veis. Hoje. num ambiente de f´cil uso. o qual n˜o requer declara¸˜o de dimens˜o ou tipo de vari´vel. Os s´ e ımbolos dos operadores aritm´ticos s˜o dados na Tabela 1. Estes programas s˜o conhecidos como m-arquivos ( ou arquivos a com extens˜o . co a o a e Maiores detalhes podem ser obtidos em ??. INTRODUCAO ¸˜ 3 1. Apesar das ultimas vers˜es do MatLab ter expandido sua capacidade.

num´rico e undersca e cores. Para saber quais as a vari´veis que est˜o ativas utilizamos o comando who. contas. resultado_da_soma_2. INTRODUCAO ¸˜ Tabela 1. usaa a a mos o comando clear conta. 8] x=[1 2 3 4] . o MatLab diferencia a as vari´veis que usam letras min´sculas e mai´sculas.1: Operadores Aritm´ticos e Opera¸ao c˜ Adi¸ao c˜ Multiplica¸˜o ca Subtra¸˜o ca Divis˜o a Potencia¸˜o ca S´ ımbolo a+b a∗b a−b a/b ou b\a a b 4 O nome da vari´vel pode consistir de no m´ximo 31 caracteres. 6. apesar dos escalares a a n˜o serem apresentados na nota¸˜o matricial. Isto ´ as vari´veis Contas. J´ um vetor coluna pode ser definido a da seguinte forma EDU>> y = 5 6 7 8 Um exemplo de uma matriz 3 × 4. EDU>> a = 1 5 9 2 6 10 3 7 11 4 8 12 a=[1 2 3 4. a u u e a conTas e CoNtAs. Todas as vari´veis a a a s˜o armazenadas internamente e podem ser usadas a qualquer momento. Ao contr´rio de outras linguagens. Ex. iniciando sempre por um a a caracter alfa seguido de qualquer combina¸˜o de caracteres do tipo alfa . 9 10 11 12] y=[5. Para eliminar a vari´vel conta. s˜o consideradas como quatro vari´veis diferentes. 7.CAP´ ITULO 1. Um vetor linha pode ser definido como a ca EDU>> x = 1 2 3 4 Tamb´m podemos separar os elementos por v´ e ırgula. 5 6 7 8. As vari´veis s˜o tratadas como matrizes.

por exemplo: e A matriz identidade: EDU>>I=eye(3) I = 1 0 0 0 1 0 0 0 1 Matriz n × m formada por 1’s: EDU>> A=ones(2.0000 De uma forma geral este comando tem a sintaxe v=a:passo:b. um vetor cujo o primeiro termo vale −2 e o ultimo vale 3 e os termos intermedi´rios variam um passo de 0. Em algumas situa¸oes necessitamos de vetores com alguma estrutura partic˜ cular. Quando o passo ´ igual a e um podemos escrever o comando na forma reduzida v=a:b. denotados por aij podem ser obtidos pelo e e comando a(i.5.5000 -1.5000 3.3)=7.0000 Columns 8 through 11 1.5000 1. INTRODUCAO ¸˜ 5 Os elementos na i-´sima linha e na j-´sima coluna. Note que os elementos no MatLab s˜o indexados a iniciando em 1.0000 -0.5000 0 0.3) A = 1 1 1 1 1 1 Matriz Nula de ordem n × m: EDU>> B=zeros(3. Algumas matrizes elementares podem ser geradas atrav´s de comandos simples.5000 2. por exemplo a(2. Por exemplo.0000 2.4) B = 0 0 0 0 0 0 0 0 0 0 0 0 . Este vetor pode ser definido pela linha de comando a EDU>> v=-2:0.j).0000 -1.CAP´ ITULO 1.5:3 v = Columns 1 through 7 -2.

Isto faz com que o resultado do comando (ou de uma express˜o em geral) n˜o seja a a apresentado no monitor. an − bn ] [a1 ∗ b1 . O ca . b Resultado [a1 + b1 . . Isto ´ util para programas de grande porte. . an + bn ] [a1 − b1 . . o MatLab oferece diversas fun¸oes c˜ c˜ elementares que s˜o importantes em matem´tica. . a3 ∗ b3 . a3 − b3 .CAP´ ITULO 1. onde x corresponde aos valores do eixo x e f os valores da fun¸˜o nestes pontos. Na c˜ Tabela 1. . .2: Opera¸˜es Elementares entre Vetores co Opera¸ao c˜ Adi¸˜o ca Subtra¸˜o ca Multiplica¸ao c˜ Divis˜o a Potencia¸ao c˜ S´ ımbolo a+b a-b a. . a a c˜ por exemplo EDU>> A=[1 2 1. co Gr´ficos a Para plotar um gr´fico no MatLab . an bn ] Como na maioria das linguagens de programa¸ao. a3 b3 . . . .3 2 4.adi¸ao e multiplica¸ao entre matrizes s˜o definidas como o c˜ c˜ c˜ c˜ a usual. an /bn ] [a1 b1 . O s´ ımbolo da divis˜o representa o c´lculo da multiplica¸ao pela inversa da matriz. . INTRODUCAO ¸˜ 6 Opera¸oes com Matrizes e Vetores c˜ As opera¸oes de subtra¸ao. Isto ´ poss´ atrav´s a e ıvel e ıvel e de uma nota¸˜o especial. a2 /b2 . que consiste de usar um ponto antes do s´ ca ımbolo da opera¸ao. .3 apresenta uma lista destas a a fun¸˜es e sua sintaxe. a2 + b2 . A Tabela 1. . a2 b2 . . co a Tabela 1. a2 − b2 . an ∗ bn ] [a1 /b1 . . Entre vetores e ca matrizes de mesma dimens˜o ´ poss´ operar elemento com elemento. . pois este processo e ´ de apresentar os resultados no monitor consome muito tempo de execu¸˜o. . a2 ∗ b2 ./b a.2 damos um resumo destas opera¸˜es aplicada a dois vetores a e b de dimens˜o n.*b a. . . a3 + b3 . a3 /b3 .5 3 2]. EDU>> A/A ans = 1 0 0 0 1 0 0 0 1 Note que neste exemplo terminamos o comando que define a matriz A com um ponto e v´ ırgula. . devemos criar dois vetores de mesma dimens˜o x a a e f .

Ambos devem ser salvos com extens˜o .01.5 n˜o ter´ a ıamos um gr´fico de boa qualidade. como vari´veis globais. Isto determina a quantidade c˜ de pontos que o comando plot usa par gerar o gr´fico. enquanto as functions trata a a as vari´veis como vari´veis locais.1.f ). . Desta forma a functions tem que ter um valor de retorno. Uma diferen¸a b´sica entre os dois ´ que os a o c a e scripts trata as vari´veis. ca c % Aproximacao da derivada do seno % Usando o operardor de diferen\c{c}a finita progressiva. a a Scripts Os scripts permite que um conjunto de comandos e defini¸˜es sejam executados atrav´s co e de um unico comando na janela de comandos. o script seguinte calcula a ´ aproxima¸˜o da derivada de sen(x) usando diferen¸as finitas.01:pi.m no diret´rio corrente. que na defini¸ao do vetor x. Como exemplo. INTRODUCAO ¸˜ Tabela 1. π] devemos proceder da seguinte forma: EDU>> x=-pi:0.CAP´ ITULO 1. EDU>> plot(x. a 1. se tiv´ssemos usado o passo a a c˜ e 0.f) Note. Se desejamos gerar o gr´fico da fun¸ao sen(x) no a e a c˜ intervalo [−π. nele definidas. usamos o passo igual a 0. Quanto mais pontos mais perfeito a ser´ o gr´fico (em contra partida maior o tempo de execu¸ao).3: Fun¸oes Elementares c˜ Fun¸˜o ca Valor Absoluto Arco Co-seno Arco Seno Co-seno Exponencial ex Logaritmo Natural Logaritmo base 10 Seno Raiz Quadrada Tangente Sintaxe abs(x) acos(x) asin(x) cos(x) exp(x) log(x) log10(x) sin(x) sqrt(x) tan(x) 7 gr´fico ´ gerado pelo comando plot(x.2 M-arquivos Existem dois tipos de programas em MatLab : scripts e funtions. EDU>> f=sin(x).

.14 Uma diferen¸a ca c˜ c importante entre esta vers˜o. Para executar o script digitamos seu nome no prompt do MatLab . com base em estruturas de tomada de decis˜es. loops while e if-else-end. A forma geral do loop for ´ e . x=’). ou seja. dsen=(sin(x+h)-sin(x))/h.m. usando function.0001. ´ usual usar o mesmo nome e da fun¸˜o.CAP´ ITULO 1. deriva_seno. Enquanto que no segundo ca so as vari´veis a e a a a s˜o locais.001) o que forneceria em y uma aproxima¸˜o da derivada da fun¸ao seno em 3.m. disp(’O valor da aproximacao eh. Para ilustrar o uso de fun¸oes em MatLab considere o seguinte c´digo c˜ o function dsen=deriva_seno(x. x=input(’Entre com o valor de. que na vers˜o ıdo a e a anterior estava fixo em h=0.h) % Aproximacao da derivada do seno % Usando o operardor de diferen\c{c}a finita progressiva. o MatLab possui recursos que permitem o c˜ controle de fluxo de execu¸ao de comandos. Al´m disso. agora podemos escolher o valor de h. Functions Numa fun¸˜o em MatLab a primeira linha ´ da forma function y=nome(argumentos). isto ´ s˜o vari´veis globais. Vale notar que no primeiro caso todas as vari´veis do a scrips est˜o ativas. EDU>>y= deriva_seno(3.0. Vamos supor que este arquivo seja salvo com o nome de devira_seno. E na sexta linha o comando que a permite mostrar uma mensagem no monitor.0001.. Apesar deste arquivo poder ser salvo com um nome qualquer. com a anterior ´ que o valor calculado pode a e ser atribu´ a uma vari´vel. INTRODUCAO ¸˜ clear. ca e A fun¸ao se troca informa¸˜es com o MatLab workspace por interm´dio da vari´vel y e dos c˜ co e a argumentos.14. Para execut´-lo devemos digitar seu nome e informar ca a os valores dos argumentos. Como em outras linguagens. c˜ o Apresentamos as estrutura de loops for. por exemplo. Na quinta linha temos a a o comando que permite atribuir valores a uma vari´vel.’) dsen=(sin(x+h)-sin(x))/h 8 % Atribui Valores a x % Mostra mensagem no monitor As primeiras duas linha s˜o coment´rios que descrevem o script. h=0. isto ´. a vari´vel h s´ ´ ativa na execu¸˜o da fun¸˜o a e a oe ca ca Controle de Fluxo O controle de fluxo ´ um recurso que permite que resultados anteriores influenciem e opera¸oes futuras.

Por exemplo ca o EDU>> for n=1:5 x(n) = cos(n*pi/2).. end EDU>> x x = 0.CAP´ ITULO 1.. end O grupo de comandos entre while e end s˜o executados at´ que a express˜o assuma um a e a valor falso.0000 -1.0000 0... a u o loop while executa um grupo um de comandos quantas vezes forem necess´rias para que a uma condi¸ao seja negada.0000 -0.0000 Traduzindo.. e e Ao contr´rio do loop for. isto diz que para n igual a 1 at´ 10 calcule os comandos at´ end. INTRODUCAO ¸˜ for x = vetor comandos. A estrutura if-else-end permite que grupos de comandos sejam executados por um teste relacional. EDU>> while abs(x(n)-x(n-1)) > 10^(-6) x(n) = 2*x(n-1) + 1/4. Sua forma geral ´ c˜ e while expressao comandos. que executa um grupo de comandos um n´mero fixo de vezes. n=n+1. Por exemplo. Esta estrutura permite o uso da forma mais simples que envolve s´ o um condicional ..0000 1. A forma geral ´ dada por e if expressao comandos 1. caso contr´rio ´ executado a e a e o grupo de comandos 2.. end Se a express˜o for verdadeira ´ executado o grupo de comandos 1. A cada a itera¸˜o atribui-se a x a pr´xima coluna de vetor. end Neste caso o grupo de comandos s˜o executados at´ que o valor absoluto da diferen¸a entre a e c −6 dois valores consecutivos seja menor ou igual a 10 . else comandos 2.. end 9 Os comandos entre for e end s˜o executados uma vez para cada coluna de vetor.

2 Exerc´ ıcios Exerc´ ıcio 1. . a f (¯) ≈ x f (¯ + h) − f (¯) x x h c Exerc´ ıcio 1.001. 1000. .. . . Comente os resultados.1 Usando o esquema num´rico para a aproxima¸˜o da derivada dado abaixo e ca ache uma aproxima¸˜o para f (π). .01. Comente os resultados. end 10 Como exemplo considere o seguinte fragmento de c´digo que calcula o valor absoluto de um o n´mero u if x < 0 x=-x. . INTRODUCAO ¸˜ if expressao comandos . 10. . fa¸a: c Ep ← Ep/2 fim enquanto Output: Imprimir 2Ep tomando A = 1.. Exerc´ ıcio 1. 102 . 0.3 Calcule a precis˜o de sua m´quina usando o algoritmo a a Algoritmo: Epsilon da M´quina a Input: A : n´mero que represente a grandeza u Ep ← 1 Enquanto (A + Ep) > 1. caso contr´rio nada ´ feito.1. se x for menor que zero ent˜o troca de sinal. ca Repita os c´lculos para f (0). 100. 1015 . onde f (x) = sen(x) e tome h = 0. e a a e 1.CAP´ ITULO 1. . Comente os resultados. end Isto ´. 0. 10−10 .2 Fa¸a um programa que calcule 107 A+ k=1 10−7 com A = 10. 103 .

No entanto esquemas num´ricos podem fornecer uma solu¸ao satisfat´ria. a ızes Exemplo 2. a partir da equa¸ao f (x) = 0. pois estes pontos ser˜o as ra´ de f (x) ( g(ξ) = h(ξ) ⇒ f (ξ) = 0 ).1 temos que as curvas se interceptam no intervalo [0.Consiste em achar um intervalo fechado [a. e c˜ Na maioria dos casos estas equa¸oes n˜o tem solu¸ao alg´brica como h´ para as equa¸oes c˜ a c˜ e a c˜ de 2 o grau. onde g e h sejam fun¸˜es mais simples e de c˜ co f´cil an´lise gr´fica. 1]. que contenha a raiz que desejamos encontrar. e 2. O objetivo u c˜ e ´ encontrar um intervalo [a. Logo f (x) admite uma unica raiz. e a Para obtermos um intervalo de menor amplitude usaremos a estrat´gia do tabelamento que e ´ baseada no seguinte Teorema. e 11 . Esbo¸ando o gr´fico de g e h podemos determinar os pontos x.Cap´ ıtulo 2 Zeros de Fun¸oes c˜ Neste cap´ ıtulo estudaremos esquemas num´ricos para resolver equa¸oes da forma f (x) = 0. de pequena amplitude ( b − a e 1). Tamb´m e podemos observar que pelo comportamento das fun¸˜es g(x) e h(x) estas fun¸˜es n˜o v˜o se co co a a interceptar em nenhum outro ponto. ızes e Fase II Refinamento . ´ Na pr´tica usamos algum software matem´tico para esbo¸ar os gr´ficos. b] que cont´m a raiz.1 Isolamento das Ra´ ızes Um n´mero x que satisfaz a equa¸ao f (x) = 0 ´ chamado de raiz ou zero de f . podemos a a e e c˜ obter uma equa¸ao equivalente g(x) − h(x) = 0. Quanto menor a a c a for a amplitude do intervalo que cont´m a raiz. c˜ A an´lise gr´fica ´ baseada na id´ia de que. b]. mais eficiente ser´ a Fase de Refinamento. onde g(x) = e−x e h(x) = x. onde as a a a c a curvas se interceptam. Na Figura 2. Para isto usaremos duas estrat´gias: An´lise Gr´fica e Tabelamento e a a da fun¸ao.Partindo de uma aproxima¸ao inicial refinamos a solu¸ao at´ que certos c˜ c˜ e crit´rios sejam satisfeitos.1.1 Sendo f (x) = e−x − x temos f (x) = g(x) − h(x). O e c˜ o ¯ processo para encontrar uma solu¸ao envolve duas fases: c˜ Fase I Isolamento das ra´ .

ZEROS DE FUNCOES ¸˜ 1.1: Gr´ficos de g(x) e h(x) a Teorema 2. b] e f (a)f (b) < 0.277 1 -0.8 1 1.5)f (0.25 0. isto ´ f preserva o sinal em [a.2 1 0.6 1. ent˜o o intervalo cont´m uma unica raiz.8 12 1.2 Da an´lise gr´fica vimos que a fun¸˜o f (x) = e−x − x tem uma raiz em a a ca [0.75 -0.CAP´ ITULO 2. b] e com isto podemos concluir e que esta raiz ´ unica. mas pode ser que o intervalo e contenha mais de uma raiz como mostra os exemplos na Figura 2. 0.6 1.75) < 0.2.6 0.75].25 temos ca c x f (x) 0 0. Note que f (x) = −e−x −1 < 0 ∀x ∈ IR. 1] . Logo a raiz pertence ao intervalo [0.4 1.1. Se f (a)f (b) < 0 ent˜o ca ı a existe pelo menos uma raiz ξ ∈ [a. b].8 0. Exemplo 2.528 0. O Teorema garante a existˆncia de pelo menos uma raiz.8 Figura 2.5 1 0.2 ξ 0 0 0.5.1 Seja f (x) uma fun¸˜o cont´nua num intervalo [a. c˜ . Se f (a)f (b) > 0 n˜o podemos afirmar nada sobre a e ´ a a existˆncia ou n˜o de ra´ e a ızes.4 0.1. b].4 h(x) 1. Pelo exemplos podemos notar que se f (x) preserva o sinal em [a.106 0.4 g(x) 0.2 1.6 0. Tabelando a fun¸˜o para valores a partir de zero e espa¸ados de 0.2 0.632 Temos que f (0. e e a a Somente com o tabelamento n˜o conseguimos determinar se existe outras ra´ no intervalo a ızes ou ainda em que intervalo devemos tabelar a fun¸ao. e´ Devemos observar que o tabelamento ´ uma estrat´gia que completa a an´lise gr´fica.

5 2 2.5 3 f (x) preserva sinal 4 2.5 1 1.5 1 1. ZEROS DE FUNCOES ¸˜ 13 4 3 3 2 2 1 1 a 0 ξ | b −1 −1 −2 −2 −3 a 0 ξ1 | ξ2 | ξ3 | b −4 0 0.5 a 0 1 −1 0.5 2 2.5 1 | 1.5 2 2.5 −2 ξ a b 0.CAP´ ITULO 2.5 3 0 0 f (x) muda de sinal f (a)f (b) > 0 Figura 2.2: Exemplos do comportamento de f (x) .5 3 −3 0 0.5 1 1.5 3 −3 0 0.5 2 2.5 f (x) muda de sinal 3 2 2 1 ξ1 | ξ2 | b 1.

b] tal que f (a)f (b) < 0 e seja ε > 0 um n´mero dado. usando divis˜o sucessivas do intervalo.2 Refinamento Nas pr´ximas se¸oes estudaremos os esquemas num´ricos que partindo de uma aproxima¸˜o o c˜ e ca inicial x0 .3 M´todo da Bissec¸˜o e ca Este m´todo ´ baseado no Teorema 2. Isolamento c˜ das Ra´ ızes. v˜o gerar uma seq¨ˆncia {xk } que converge para a raiz procurada. a e 2. b0 ] = [a. A id´ia ´ reduzir a amplitude do intervalo u e e at´ atingir a precis˜o requerida: b − a < ε.CAP´ ITULO 2.1. isto ´ xk → ξ a ue e quando k → ∞. x0 )  . ZEROS DE FUNCOES ¸˜ 14 2.3: M´todo da Bissec¸˜o e ca O m´todo procede da seguinte forma: fa¸a [a0 . b]. Seja f (x) uma fun¸ao cont´ e e c˜ ınua no intervalo [a. e c x0 = a 0 + b0 ⇒  f (b0 ) > 0 ⇒  a1 = a0 2   f (x0 ) > 0 b 1 = x0   f (a0 ) < 0    ξ ∈ (a0 . e a a a1 || a 0 a2 || x 1 a3 || x 2 ξ | x0 || b || b2 || b3 1 b0 Figura 2.1. e os termos da seq¨ˆncia s˜o calculados at´ que a aproxima¸ao tenha atingido ue a e c˜ uma precis˜o desejada (crit´rio de parada). A aproxima¸ao inicial parte do intervalo encontrado na Fase I.

b2 )  E assim vamos calculando a seq¨ˆncia xk at´ que seja satisfeito o crit´rio de parada ue e e bk − ak < ε. J.1 Seja f uma fun¸˜o cont´ ca ınua em [a.3.1 Estudo da Convergˆncia e A convergˆncia ´ bastante intuitiva. E. ZEROS DE FUNCOES ¸˜ a 1 + b1 2 a 2 + b2 2   f (a1 ) < 0    ξ ∈ (x1 . b].3. Ent˜o o m´todo a e da Bissec¸˜o gera uma seq¨ˆncia {xk } que converge para a raiz ξ quando k → ∞.CAP´ ITULO 2. Este crit´rio garante se tomarmos x ∈ [ak . onde f (a)f (b) < 0.Prof. e c˜ % % % % % Disciplina de C\’{a}lculo Num\’{e}rico . Vamos dar uma e e demonstra¸˜o anal´ ca ıtica atrav´s do seguinte teorema: e Teorema 2. if f(x)*f(ao) > 0. function y=bissec(ao. end. ca ue Prova: O m´todo gera trˆs seq¨ˆncias: e e ue . onde esta raiz pertence ao intervalo [ao. else bo=x. Castilho M\’{e}todo da Bisseccao Calcula uma aproxima\c{c}\~{a}o para uma raiz de fun\c{c}\~{a}o f(x) definida no arquivo f. b1 )  15 x1 = ⇒  f (b1 ) > 0 ⇒  a2 = x1   f (x1 ) < 0 b2 = b1 ⇒   f (a2 ) < 0    x2 = f (b2 ) > 0 ⇒ a3 = x2   f (x2 ) < 0 b3 = b2   ξ ∈ (x2 . 2. ao=x. y=(ao+bo)/2. x=(ao+bo)/2.3. e ¯ e isto ´ e |¯ − ξ| ≤ bk − ak < ε x Abaixo apresentamos a listagem do m´todo implementado como fun¸ao do MatLab.bo. como podemos ver na Figura 2. end.bo] e a predi\c{c}\~{a}o dado por Ep.Ep) while (bo-ao) > Ep.m. bk ] teremos a garantia que o erro ´ menor que ε.

3. assim e temos. a ca bk − ak < ε ⇒ k> log(b0 − a0 ) − log(ε) log(2) . b0 ] e da precis˜o requerida ε. Logo ue a a0 ≤ a1 ≤ · · · < b0 ⇒ ∃M ∈ I tal que lim ak = M R k→∞ 16 {bk }: Seq¨ˆncia n˜o crescente e limitada inferiormente por a0 . Em cada itera¸ao f (ak )f (bk ) < 0.1) temos m = lim ak ≤ lim xk ≤ lim bk = m ⇒ lim xk = m.CAP´ ITULO 2.2 Estimativa do N´ mero de Itera¸˜es u co Pelo crit´rio de parada podemos observar que o n´mero de itera¸oes depende do intervalo e u c˜ inicial [a0 . e e c˜ Como f ´ cont´ e ınua temos ent˜o que a 0 ≥ lim f (ak )f (bk ) = lim f (ak ) lim f (bk ) = f k→∞ k→∞ k→∞ k→∞ lim ak f k→∞ lim bk = f 2 (m) ≥ 0 Portanto f (m) = 0 2. k→∞ k→∞ k→∞ k→∞ Falta mostrar que m ´ raiz de f . isto ´ f (m) = 0. obtendo. Dada uma precis˜o ε temos. Logo ue a b0 ≥ b1 ≥ · · · > a0 ⇒ ∃m ∈ I tal que lim bk = m R k→∞ ca {xk }: Por constru¸˜o temos que xk = ak + bk ⇒ ak < xk < bk ∀k ∈ IN 2 (2. a a b0 − a0 b0 − a0 < ε ⇒ 2k > k 2 ε Como estes valores s˜o sempre positivos. ZEROS DE FUNCOES ¸˜ {ak }: Seq¨ˆncia n˜o decrescente e limitada superiormente por b0 . b0 − a0 bk − ak = . k→∞ Usando este fato e calculando o limite em (2. 2k Calculando o limite quando k → ∞ temos k→∞ lim (bk − ak ) = lim b0 − a0 =0 k→∞ 2k Isto segue que k→∞ lim bk − lim ak = 0 ⇒ M − m = 0 ⇒ M = m. podemos aplicar a fun¸˜o logaritmo.1) A amplitude de cada intervalo gerado ´ metade da amplitude do intervalo anterior.

a 2.CAP´ ITULO 2. log(2) Logo ser´ necess´rio no m´nimo 25 itera¸˜es para que o m´todo da Bissec¸˜o possa atingir a a ı co e ca a precis˜o desejada. Se f (x) = 0. c˜ e a Teorema 2. pelo Teorema do Valor M´dio temos que existe cn pera e tencente ao intervalo entre cn e ξ tal que φ(xn ) − φ(ξ) = φ (cn )(xn − ξ) Logo |xn+1 − ξ| = |φ (cn )| |xn − ξ| ≤ M |xn − ξ| . b]. b].1 No exemplo 2. Usando a precis˜o ε = 10−8 .2 isolamos uma raiz de f (x) = e−x − x no intervalo [0. A estrat´gia deste c˜ e m´todo ´ escrever a fun¸ao f de tal forma que f (x) = x − φ(x).5. dado x0 ca xn+1 = φ(xn ).3. 2. Atrav´s da e ızes e ca e equa¸˜o acima montamos um processo iterativo. a ue Prova: Sendo ξ uma raiz ent˜o f (ξ) = 0 ⇒ ξ = φ(ξ).5) − log(10−8 ) = 24. .1 Seja ξ uma raiz da fun¸˜o f isolada no intervalo [a. ent˜o e e c˜ a x − φ(x) = 0 ⇒ x = φ(x) Isto ´. b].4. . ca e ca ca a e ´ As condi¸oes de convergˆncia s˜o dadas no teorema abaixo. logo a xn+1 = φ(xn ) ⇒ xn+1 − ξ = φ(xn ) − φ(ξ). b]. a ı 2) |φ (x)| ≤ M < 1 ∀x ∈ [a.1.4 M´todo Iterativo Linear (M. encontrar as ra´ de f ´ equivalente a achar os pontos fixo da fun¸˜o φ. ZEROS DE FUNCOES ¸˜ 17 Exemplo 2. . 0.575.L.75 − 0. n = 1. 3) x0 ∈ [a.75].) e Seja f (x) cont´ ınua em [a. Como φ ´ cont´ e ınua e diferenci´vel. Seja φ uma fun¸˜o ca ca de itera¸˜o da fun¸˜o f que satisfaz: ca ca 1) φ e φ s˜o cont´nuas em [a. Ent˜o a seq¨ˆncia {xk } gerada pelo processo iterativo xn+1 = φ(xn ) converge para ξ. onde. temos a k> log(0.I. b]. onde existe uma raiz da equa¸ao f (x) = 0. A fun¸˜o φ ´ chamada de fun¸˜o de itera¸˜o e esta n˜o ´ determinada de forma unica.

75] max |φ (x)| = 0. . ZEROS DE FUNCOES ¸˜ Aplicando esta rela¸˜o para n − 1. .53526.5..58551) = 0... a a e Exemplo 2..55681) = 0. 0. . 0 e usando o fato que x0 ∈ [a..58551. .5 + 0. 0. .57302.57302) = 0... n − 2..CAP´ ITULO 2. 2) A fun¸˜o φ satisfaz ca x∈[0. < 1 (Por que? Ver Nota 1) 3) Tomando x0 ∈ [0..53526) = 0. Verificando as condi¸˜es e co de convergˆncia temos: e 1) As fun¸˜es φ(x) = e−x e φ (x) = −e−x s˜o cont´ co a ınuas em [0. x4 = φ(x3 ) = φ(0.. . x2 = φ(x1 ) = φ(0. ...5. · · · . .5. x5 = φ(x4 ) = φ(0. aplicando o limite para n → ∞ segue que 0 ≤ n→∞ |xn+1 − ξ| ≤ n→∞ M n+1 |x0 − ξ| = 0 lim lim Logo n→∞ 18 lim xn+1 = ξ Observamos que quanto menor for |φ (x)| mais r´pida ser´ a convergˆncia. 0.75].4 podemos ver que o comportamento do processo iterativo converge para a raiz.75] teremos garantia de convergˆncia. . por exemplo podemos tomar e x0 como o ponto m´dio do intervalo e x0 = Assim temos que x1 = φ(x0 ) = φ(0.625 2 Na Figura 2. .55681.5.4. ca Uma forma de escrever f (x) = x − φ(x) ´ considerar φ(x) = e−x .56381) = 0.6065. 75]. b] temos ca |xn+1 − ξ| ≤ M n+1 |x0 − ξ| Como M < 1.56381. x6 = φ(x5 ) = φ(0.56903.. 0.75 = 0.1 Consideremos a fun¸˜o f (x) = e−x −x. onde existe uma raiz ξ ∈ [0. x3 = φ(x2 ) = φ(0.0.625) = 0..

58551| = 0.08974 > ε |0.75 x 0.57302| = 0.4 0.58551 − 0.75 0.6 0.7 e−x 0.4. Neste caso podemos usar como crit´rio de parada as seguintes a e condi¸˜es co |xn+1 − xn | ≤ ε |xn+1 − xn | ≤ε |xn+1 | (Erro Absoluto) (Erro Relativo) e vamos tomar xn+1 como aproxima¸ao para a raiz. com a a ca uma certa precis˜o ε dada.4 0.57302 − 0.65 0. ZEROS DE FUNCOES ¸˜ 0.CAP´ ITULO 2.55681| = 0. Qual o xn que fornece uma aproxima¸˜o para a raiz.45 0.55 0.02870 > ε |0.55681 − 0.53526| = 0.4: M´todo Iterativo Linear e 2.65 0.56381| = 0.45 x1 0. Se no exemplo anterior tiv´ssemos c˜ e escolhido ε = 0.8 Figura 2.5 0.7 0.53526 − 0.56381 − 0.625| = 0.00921 > ε |0.00522 < ε .01621 > ε |0.5 0.6 x0 0.55 x2 0.05025 > ε |0.1 Crit´rio de Parada e Uma quest˜o ainda est´ em aberto.006 e o Erro Absoluto ter´ ıamos |x1 − x0 | |x2 − x1 | |x3 − x2 | |x4 − x3 | |x5 − x4 | |x6 − x5 | = = = = = = |0.8 19 0.56903 − 0.

1 Sejam f . Ent˜o existe um intervalo [¯.56903. onde dado x0 xn+1 = xn − f (xn ) . O e a a e m´todo de Newton-Raphson ´ determinado de tal forma que teremos uma fun¸ao de itera¸˜o e e c˜ ca tal que φ (ξ) = 0. f (xn ) f (xn ) .N. Como f (ξ) = 0 e considerando que f (ξ) = 0. ¯ ⊂ [a. onde ξ ´ uma raiz de f . Com isto temos a garantia que existe um intervalo e [¯.5 M´todo de Newton-Raphson (M. fun¸˜es cont´ co ınuas num intervalo [a. b]. f (ξ) f (x) f (x) Assim tomamos a fun¸˜o A(x) = −1/f (x). . f (xn ) Graficamente este m´todo tem a interpreta¸ao mostrada na Figura 2. 2. ∀x. b].5. f e f . n = 0. vimos que quanto menor for |φ (x)| mais r´pida ser´ a convergˆncia. . tal a a b] ¯ a seq¨ˆncia {xn } gerada pelo processo iterativo que se x0 ∈ [¯.R) e No m´todo anterior. 1. ¯ que cont´m a raiz e que |φ (x)| a b] e 1 e conseq¨entemente a convergˆncia ser´ mais u e a r´pida.5. A derivada de e c˜ uma fun¸˜o no ponto xn ´ igual a tangente do ˆngulo que a reta tangente a curva no ponto ca e a xn forma com o eixo x. c˜ 20 2. e portanto teremos ca φ(x) = x − Com esta fun¸˜o de itera¸ao montamos o processo iterativo conhecido como m´todo de ca c˜ e Newton-Raphson.CAP´ ITULO 2. Supor que f (ξ) = 0. Usando a rela¸˜o sobre o triˆngulo retˆngulo temos ca a a f (xn ) = tan(α) = f (xn ) f (xn ) ⇒ xn+1 = xn − xn − xn+1 f (xn ) Teorema 2. a Para determinar a forma de φ consideremos uma fun¸ao A(x) cont´ c˜ ınua diferenci´vel e a que A(x) = 0. b]. ZEROS DE FUNCOES ¸˜ Logo a aproxima¸ao para a raiz seria x6 = 0. segue que A(ξ) = − 1 . contendo a raiz ξ. Assim temos f (x) = 0 ⇒ A(x)f (x) = 0 ⇒ x = x + A(x)f (x) = φ(x) Calculando a derivada de φ na raiz ξ temos que φ (ξ) = 1 + A (ξ)f (ξ) + A(ξ)f (ξ) = 0. . onde existe uma raiz ξ. a ue xn+1 = xn − converge para a raiz.

5.56714 |x2 − x1 | = 0. a e e Exemplo 2.006.1 Considerando f (x) = e−x − x que possui uma raiz no intervalo [0. A condi¸ao de que x0 ∈ [¯. 0.0584 > ε e−x0 + 1 e−x1 − x1 = 0. vamos achar uma aproxima¸˜o usando x0 = 0. ¯ n˜o ´ uma condi¸ao c˜ c˜ a b] a e c˜ de f´cil verifica¸ao.0006 < ε x2 = x1 + −x1 e +1 x1 = x0 + e−x − x f (xn ) = xn + −x = xn − f (xn ) e +1 . mas n˜o como a c˜ e a determin´-lo.5: M´todo Newton-Raphson e Prova:(Exerc´ 2. Observamos na Figura 2.6 casos em que o m´todo de Newton-Raphson ´ falho.625 e ε = 0.75].56654 |x1 − x0 | = 0.CAP´ ITULO 2. ZEROS DE FUNCOES ¸˜ 21 f(x) α xn+1 xn Figura 2. visto que o Teorema garante a existˆncia do intervalo.7) ıcio Uma observa¸ao deve ser feita.5. Sendo ca f (x) = −e−x − 1 teremos o processo iterativo xn+1 Assim temos que e−x0 − x0 = 0.

6 Ordem de Convergˆncia e Na se¸ao anterior determinamos o M´todo de Newton-Raphson que pode ser interpretado c˜ e como um caso particular do M´todo Iterativo Linear. x1=xo-f(xo)/df(xo) end.m. xo=x1. E.6: Casos em que M´todo Newton-Raphson ´ falho e e Logo a aproxima¸ao ´ dada por x2 = 0.m. c˜ e Abaixo segue a implementa¸ao do m´todo como fun¸ao do MatLab: c˜ e c˜ % % % % % % Disciplina de C\’{a}lculo Num\’{e}rico . onde a convergˆncia ´ mais r´pida.Ep) x1=xo-f(xo)/df(xo) while abs(x1-xo) > Ep. tomamos xo como condi\c{c}\~{a}o inicial e a predi\c{c}\~{a}o dada por Ep. 2. J. Castilho M\’{e}todo de Newton-Raphson Calcula uma aproxima\c{c}\~{a}o para uma raiz de fun\c{c}\~{a}o f(x) definida no arquivo f. e e e a A “ medida” que permite comparar a convergˆncia entre os m´todos ´ o que chamamos de e e e ordem de convergˆncia. function x1=newton(xo. A derivada da fun\c{c}\~{a}o f(x) esta definida no arquivo df. definida por: e .Prof.56714. ZEROS DE FUNCOES ¸˜ 22 x =x 1 3 x =x 0 2 ξ x0 N˜o Converge a Converge para outra raiz Figura 2.CAP´ ITULO 2.

Logo segue xk+1 − ξ ek+1 = φ (ck ) ⇒ = φ (ck ) xk − ξ ek Aplicando o m´dulo e calculando o limite quando k tende ao infinito temos o |ek+1 | = lim |φ (ck )| = |φ (ξ)| = C k→∞ |ek | k→∞ lim Portanto temos que o M. . . Sendo a seq¨ˆncia e ue {xn } gerada por xk+1 = φ(xk ). Quando p = 1 dizemos que o a m´todo tˆm convergˆncia linear. 1.6. com |ek | < 1 Assim quanto maior for o valor de p.I. 2.1 Seja {xn } uma seq¨ˆncia que converge para um n´mero ξ e seja ek = xk −ξ ca ue u o erro na itera¸˜o k. Se p = 2 dizemos que a convergˆncia ´ quadr´tica. ue o Como a seq¨ˆncia converge.2) Atrav´s da f´rmula de Taylor da fun¸˜o f no ponto xn temos e o ca f (x) = f (xn ) + f (xn )(x − xn ) + Que calculada em x = ξ fornece 0 = f (ξ) = f (xn ) + f (xn )(ξ − xn ) + f (cn ) (ξ − xn )2 2 f (cn ) (x − xn )2 cn ∈ [x. k = 0. e e No caso do M´todo de Newton-Raphson temos que a seq¨ˆncia ´ gerada pelo processo e ue e iterativo f (xn ) xn+1 = xn − f (xn ) Subtraindo ξ de cada lado temos xn+1 − ξ = xn − ξ − f (xn ) f (xn ) ⇒ en+1 = en − f (xn ) f (xn ) (2. para valores de k suficientemente grande temos ue |ek+1 | ≈ C|ek |p . e que ξ = φ(ξ) temos xk+1 − ξ = φ(xk ) − φ(ξ) = φ (ck )(xk − ξ). xn ] 2 . .CAP´ ITULO 2. ZEROS DE FUNCOES ¸˜ 23 Defini¸˜o 2.L.L. e e e e e a Primeiramente vamos determinar a ordem de convergˆncia do M. menor ser´ o erro |ek+1 |. Se ca |ek+1 | lim =C p>1C>0 k→∞ |ek |p dizemos que a seq¨ˆncia converge com ordem p e com constante assint´tica C. onde a ultima igualdade ´ conseq¨ˆncia do Teorema do Valor M´dio e ck ´ um n´mero entre ´ e ue e e u xk e ξ.I. tˆm ordem de convergˆncia p = 1.

isto ´ ca e x∈[a. isto ´ e e x0 = a+b 2 Nota 1 Em muitas situa¸˜es vamos necessitar de calcular o m´ximo do m´dulo de uma co a o fun¸˜o restrita a um intervalo. e e e 2. Aplicamos o m´todo a e e e em um n´mero fixo de itera¸oes.I. ca N˜o importa o quanto f (x) seja complicada. Pode encontrar ra´ ca ızes em intervalos onde f (a)f (b) > 0 . Usa menos opera¸˜es por e a e c˜ co cada itera¸˜o. b0 ] Logo este pode ser aplicado a qualquer fun¸˜o f (x) que satisfaz f (a)f (b) < 0.CAP´ ITULO 2. ZEROS DE FUNCOES ¸˜ Dividindo por f (xn ) e fazendo en = xn − ξ segue que f (xn ) f (cn ) 2 = en − e f (xn ) 2f (xn) n Substituindo em (2. Uma forma pr´tica para este c´lculo ´ seguir os passos: a a e 1: Calcula-se os valores da fun¸˜o nos extremos do intervalo. A dificuldade ´ e encontrar a fun¸ao de itera¸ao φ que seja convergente. b]. Na pr´tica ele ´ usado para refinar o intervalo que cont´m a raiz.7 Observa¸oes Finais c˜ Neste cap´ ıtulo vimos trˆs m´todos diferentes para resolver equa¸oes da forma f (x) = 0. u c˜ Em geral o M. |f (a)| e |f (b)|. b] a a x0 como ponto m´dio do intervalo. b]. Por´m este necessita e e e a e da avalia¸˜o da fun¸˜o e sua derivada em cada ponto xn . Isto ocorre porque temos que tomar x0 ∈ [¯.L. Pode ocorrer de termos uma ca ca raiz isolada num intervalo [a. e e c˜ Faremos um breve coment´rio das vantagens e desvantagens de cada m´todo.b] max |f (x)|. Na pr´tica tomamos pertence a [a. ca . ´ mais r´pido que o M´todo da Bissec¸ao. b] e o m´todo acabe convergindo para uma outra raiz que n˜o e a ¯ ⊂ [a. A desvantagem ´ que tem uma convergˆncia a e e lenta.2) obtemos en+1 f (cn ) = 2 en 2f (xn) 24 Finalmente aplicamos o m´dulo e calculamos o limite quando k tende ao infinito obtendo o f (cn ) f (ξ) |en+1 | 1 = lim = = |φ (ξ)| = C k→∞ |en |2 k→∞ 2f (xn) 2f (ξ) 2 lim Portanto temos que o M´todo de Newton-Raphson tˆm ordem de convergˆncia p = 2. c˜ c˜ O M´todo de Newton-Raphson tˆm convergˆncia quadr´tica. a e No M´todo da bissec¸ao vimos que o n´mero de itera¸oes depende apenas do intervalo e c˜ u c˜ inicial [a0 .

4 Utilize o M´todo de Newton-Rapshon e aproxime a menor raiz em m´dulo e o −3 com erro relativo menor que 10 para as equa¸˜es d) e f) do exerc´ anterior.3 Utilize o M´todo Iterativo Linear e aproxime a menor raiz em m´dulo com e o −2 erro relativo menor que 10 para as equa¸˜es c) e d) do exerc´ anterior.6 Dada a fun¸˜o f (x) = ex − 4x2 .CAP´ ITULO 2. co ıcio Exerc´ ıcio 2. co ıcio Exerc´ ıcio 2. ZEROS DE FUNCOES ¸˜ 25 2: Verifique se a fun¸˜o n˜o possui ponto critico no intervalo. ca ı ca a) Isole as ra´zes da fun¸˜o f (x).5 Achar a raiz p-´sima de um n´mero positivo a ´ equivalente a achar a raiz e u e √ positiva da equa¸ao p a = x. e c) Verifique que o processo iterativo gerado pelo M.N. c˜ a) Encontre um intervalo que depende do valor de a e que contenha a raiz. achamos os valores ca a de xk tal que f (xk ) = 0 e xk ∈ [a.5 que contenha as ra´ e ızes das equa¸˜es co a) ln(x) + 2x = 0 b) ex − sen(x) = 0 c) ln(x) − 2x = −2 2 ex d) 2 cos(x) − 2 = 0 e) 3 ln(x) − x f ) (5 − x)ex = 1 2 Exerc´ ıcio 2. b] 3: Tomamos como o valor m´ximo o max{|f (a)|. para a raiz positiva. |f (xk )|} a 2. b) Verifique que as fun¸˜es abaixo s˜o fun¸˜o de itera¸˜o de f e verifique se satisfazem o co a ca ca crit´rio de convergˆncia do M.I.R. co ıcio Exerc´ ıcio 2. ´ dado por e xn+1 = 1 a (p − 1)xn + p−1 p xn d) Implemente um programa em Matlab que execute o processo iterativo dado em c). b) Verifique se a fun¸˜o de itera¸˜o φ(x) = a/xp−1 satisfaz os crit´rios de convergˆncia ca ca e e do M´todo Iterativo Linear. ou seja. Exerc´ ıcio 2. e e 1 φ1 (x) = ex/2 φ2 (x) = ln(4x2 ) 2 . |f (b)|.1 Localize graficamente e dˆ intervalos de amplitude 0.L.8 Exerc´ ıcios Exerc´ ıcio 2.2 Utilize o M´todo da Bissec¸˜o e aproxime a menor raiz em m´dulo com erro e ca o −1 relativo menor que 10 para as equa¸˜es a) e b) do exerc´ anterior.

L. .I. 0.01.5. aplique o M.9]. Justifique sua resposta. para encontrar uma aproxima¸˜o para a ca raiz positiva. ZEROS DE FUNCOES ¸˜ 26 c) Tomando x0 = 0.1.8 A fun¸˜o f (x) = sen(cos( 3x)) tem uma raiz no intervalo [0.CAP´ ITULO 2. escolhendo entre os m´todos num´ricos estudados o ca e e mais adequado.07. Enca contre uma aproxima¸˜o com ε = 0. √ Exerc´ ıcio 2.6 e ε = 0.7. usando uma fun¸˜o de itera¸˜o que satisfa¸a os crit´rios de convergˆncia ca ca c e e Exerc´ ıcio 2.7 Prove o Teorema 2.

.n xn = b1 · · · a2. o sistema pode apresentar uma co o unica solu¸ao. isto ´ e co c˜ o e   a1.1 1    .2 x2 + a1. Estes m´todos s˜o baseados no e a ´ processo de escalonamento estudado em Algebra Linear.Cap´ ıtulo 3 Sistemas Lineares A resolu¸ao de sistemas lineares surge em diversas ´reas do conhecimento. Primeiramente vamos considerar os sistemas lineares triangulares.  .1 1 a3.3 ).3 x3 .2 x2 + a3.3 x3 · · · a1.1 M´todos Diretos e Os M´todos Diretos s˜o aqueles que ap´s um n´mero finito de opera¸oes fornecem a solu¸˜o e a o u c˜ ca exata do sistema. . como por exemplo a c˜ sistemas tridiagonais ( ver Ex. a menos dos erros de arredondamentos. b ∈ I n .n xn = b3 .     a x n. 27 . S˜o eficientes para sistemas de a pequeno porte (n˜o mais que 50 equa¸oes ) e para sistemas de bandas. Este tipo de problema ´ tratado na ´ c˜ co a c˜ e ´ Algebra Linear usando o processo de escalonamento. . . Neste cap´ ıtulo vamos analisar esquemas num´ricos para solu¸˜es de sistemas lineares de n equa¸oes com n inc´gnitas . Analisaremos duas R classes de esquemas num´ricos: M´todos Diretos e M´todos Iterativos.1 x1     a x  2. O caso geral em c˜ a que o sistema linear envolve m equa¸˜es com n inc´gnitas. .n xn = b2 · · · a3.3 x3 + a3. xj s˜o as inc´gnitas e os bj s˜o as constantes.2 x2 + an.   .2 x2 + a2. . 3.n xn = bn onde aij s˜o os coeficientes. . e e e 3.3 x3 + a2. . + an. infinitas solu¸˜es ou n˜o admitir solu¸ao. Este sistema a a o a n×n pode ser escrito na forma matricial Ax = b com A ∈ I R e x.1 x1 + a1. . · · · an. .

. . 2. . Com isto obtemos o esquema num´rico para solu¸ao de sistema e c˜ triangular superior dado pelo algoritmo abaixo Algoritmo: Retro-Solu¸ao c˜ Input: Matriz triangular superior A ∈ I n×n e b ∈ I n R R xn ← bn /an.2 x2 + a2. . sendo. xn = e assim sucessivamente.n xn = b2 a3.n−1 xn−1 − an−2.   n 1  xk = bk − ak. . .n xn = b3 . n.j xj  ak. . .n−1 1 xn−2 = (bn−2 − an−2. n − 2. .2 x2 + a1. .j = 0 para i > j. . . .n 1 xn−1 = (bn−1 − an−1..n xn ) an−2.k j=k+1 fim para Output: x ∈ I n : solu¸˜o do sistema R ca . . .j xj  ak.3 x3 · · · a1.1 Sistema Triangular Superior Um Sistema Triangular Superior ´ aquele em que a matriz associada ao sistema ´ uma matriz e e triangular superior.3 x3 · · · a2. fa¸a: c  n 1  bk − xk ← ak.1 x1                + a1. .n xn ) an−1. .3 x3 · · · a3. .n−2 . SISTEMAS LINEARES 28 3. .1. 1. isto ´ ai. ´ c˜ bn an.k j=k+1 . .n xn = bn Este sistema admite uma unica solu¸ao se aii = 0 para i = 1.n Para k = n − 1.n xn = b1 a2. an. .CAP´ ITULO 3. e   a1.

Um sistema linear pode ser e ´ ca 0 0 representado na forma de matriz estendida (A |b ).1 ´ chamado de a e (0) pivˆ da Etapa 1.n xn = b3 . o sistema admite uma unica solu¸˜o. . .CAP´ ITULO 3. + an.2 x2 + an. . .2 (0) (0) a2. Etapa 1: Eliminar a inc´gnita x1 das equa¸˜es k = 2.n . . . n . ca e c˜ Esta transforma¸ao ´ realizada atrav´s das opera¸oes elementares c˜ e e c˜ (I) Trocar duas equa¸˜es. .3 x3 + a3. .2 M´todo de Elimina¸˜o de Gauss e ca Dois sistemas lineares s˜o ditos ser equivalentes se estes tem a mesma solu¸ao. . .3 · · · an.3 · · · a2. .n (0) (0) a3.1 (0) (0) (0) .n (0) (0) b1 (0) b2 (0) b3 . 3. ou seja           a1. (0) (0) an.2 (0) (0) a3.n xn = b2 · · · a3. an. . (0) Os elementos mk.n xn = bn onde det(A) = 0. . . Sendo a1. .1. .2 x2 + a2.1 L1 .3 x3 + a2. · · · an.1 s˜o chamados de multiplicadores e o elemento a1.3 · · · a3. b(0) n (0)           onde o ´ ındice superior indica a etapa do processo. . A estrat´gia do a c˜ e M´todo de Elimina¸˜o de Gauss ´ transformar um sistema linear Ax = b em um sistema trie ca e ˜ angular superior equivalente Sx = b. .1 a2. isto ´. . usaremos a o co opera¸˜o elementar (III) e subtra´ ca ımos da linha k a primeira linha multiplicada por mk. . . c˜ a (III) Adicionar a uma equa¸˜o uma outra multiplicada por uma constante n˜o nula. n. .1 a1. . .1 a1. ca a Aplicando qualquer seq¨ˆncia dessas opera¸˜es elementares num sistema Ax = b obtemos ue co ˜ ˜ = b de tal forma que estes ser˜o equivalentes.1 a3. .2 x2 + a3.1 x1 .3 x3 · · · a1.3 x3 .1 = ak. 3.1 an.2 (0) (0) a1.1 x1     a x  2. co (II) Multiplicar uma equa¸ao por uma constante n˜o nula. . (0) (0) an. .1 = 0. . .2 . . cuja a solu¸˜o ´ facilmente obtida pela Retro-Solu¸ao.n xn = b1 · · · a2.1 1           a3. SISTEMAS LINEARES 29 3. .3 · · · a1.1 x1 + a1.n (0) (0) a2. Para descrever o M´todo um novo sistema Ax a e de Elimina¸ao de Gauss vamos considerar o sistema linear c˜   a1.2 x2 + a1. k = 2. Indicando a linha k da matriz entendida por Lk esta etapa se resume o em L1 (1) (1) = L1 (0) (0) (0) Lk = Lk − mk. . .

. . . . . . n e ao final de n − 1 etapas teremos a matriz co           a1. . n. . .2 (2) 0 a2. . .3 · · · a2. . .n (2) (2) a2. 0 (n−1) a1. 4. (2) (2) an.2 .2 = (1) a2. . . .1 a1.2 a2. co o c˜ Etapa 2: Eliminar a inc´gnita x2 das equa¸oes k = 3. .1 a1.3 · · · a3. . . .2 (1) 0 a2.n b3 . . Supondo que a2.n (1) (1) b1 (1) b2 (1) b3 . 0 0 (n−1) (n−1) b1 · · · a1. b(2) n (2) Com procedimentos an´logos ao das etapas 1 e 2 podemos eliminar as inc´gnitas xk das a o equa¸˜es k + 1.1 0 0 .3 · · · an.n . Logo a solu¸ao deste sistema. .n bn (n−1) (n−1)           Esta matriz representa um sistema triangular superior equivalente ao sistema original. . . (n−1) (n−1) · · · an.n b2 (n−1) (n−1) · · · a3.n (2) (2) b1 (2) b2 (2) b3 . .n (1) (1) a3. (1) 0 an.2 L2 . . onde a inc´gnita x1 o foi eliminada das equa¸˜es k = 2. . . 0 0 (2) (2) a1. k = 3. . n. SISTEMAS LINEARES Ao final desta etapa teremos a matriz           30 a1.n (1) (1) a2. b(1) n (1)           que representa um sistema linear equivalente ao sistema original.3 · · · a2.n . . .n (2) (2) a3.2 (1) (1) a1. . obtido pela Retro-Solu¸˜o. . . .2 = 0. . . . c˜ ca e c˜ . ´ solu¸ao do sistema original. . .3 (n−1) 0 a3. . . . .3 (n−1) (n−1) a2. . .2 mk. .2 A elimina¸˜o se procede da seguinte forma: ca L1 L2 (2) (2) (2) (1) (1) (1) (1) (1) = L1 = L2 Lk = Lk − mk.2 a1. .CAP´ ITULO 3.3 · · · a1.2 (1) 0 a3.3 · · · a3. . vamos tomar este elemento como pivˆ desta etapa e desta forma os multiplicadores s˜o o a dados por (1) ak.3 · · · a1.2 0 0 . .3 · · · an.3 .n (n−1) (n−1) · · · a2. 3. (1) (1) an. 4. . . k + 2. n           obtendo ao final da etapa a matriz           a1.

1 = a21 (0) (1) (0) a1.1 (0) a31 (0) a1. . n − 2. fa¸a: c  n 1  xk ← bk − ak. . n − 1.k Para j = k + 1. SISTEMAS LINEARES Algoritmo: M´todo de Elimina¸ao de Gauss e c˜ Input: Matriz A e vetor b ∈ I n R Elimina¸˜o: ca Para k = 1.1 L1 . . . . fa¸a: c Para i = k + 1. 2.1 L1 .1. .1 Vamos considerar o sistema linear abaixo   3x1 + 2x2 − x3 = 1    31 7x1 − x2 − x3 = −2 x1 + x3 = 1  Escrevendo na forma de matriz estendida teremos  3 2 −1 1    7 −1 −1 −2  1 0 1 1 Etapa 1: Eliminar x1 das linhas 2 e 3. . .1 = = 7 3 1 3 . 1. . L1 L2 L3 (1) (1) = L1 (0) (0) (0) = L2 − m2. . = L3 − m3.j xj  ak. .1 = onde m3. . fa¸a: c aij ← aij − m ∗ akj fim para bi ← bi − m ∗ bk fim para fim para Retro-Solu¸˜o: ca xn ← bn /an.CAP´ ITULO 3.n Para k = n − 1. fa¸a: c aij m← ak. . (0) (0) onde m2.k j=k+1 fim para R ca Output: x ∈ I n : solu¸˜o do sistema Exemplo 3. n. n. . .

j (k−1) (k−1) Em cada etapa k da elimina¸ao temos o c´lculo do multiplicador c˜ a mk.3 x3 ) = 0 = a1.2 x2 − a1. pois mantivemos os n´meros resultantes na forma c˜ e c˜ u de fra¸˜o.3 Pivotamento Parcial ak. a ca 3. SISTEMAS LINEARES e com isto obtemos a matriz   32 3 2 −1 1    0 −17/3 4/3 −13/3  0 −2/3 4/3 12/3 Etapa 2: Eliminar x2 da linha 3. k + 1.1 Logo a solu¸˜o do sistema ´ dada por x = (0. . (2) L3 (1) L3 − onde m3. .3 x3 ) = 1 a2. 3. 1)T .k | o 1. ca e A solu¸ao encontrada ´ a solu¸ao exata.CAP´ ITULO 3. Por´m m´quinas digitais representam estes n´meros na forma de ponto flutuante ca e a u finita e erros de arredondamento podem ocorrer. n.1. 1. L1 L2 (2) (2) = L1 = L2 = (1) (1) (1) m3.2 = 2 17 obtendo assim a matriz  3 2 −1 1  4/3 −13/3   0 −17/3  0 0 20/17 20/17 Retro-Solu¸˜o: Encontrar a solu¸˜o do sistema triangular superior.4). ca ca x3 = x2 x1 b3 =1 a3. pois operar n´meros de grandezas muito diferentes aumenta os erros ( ver u Ex.3 1 = (b2 − a2. No in´ e e c˜ ıcio de cada etapa k escolhemos como pivˆ o elemento de maior m´dulo entre os coeficientes ak−1 o o ik para i = k. ou seja este ´ pr´ximo de zero teremos problemas com os erros de e o arredondamento.2 1 (b1 − a1. . . A estrat´gia de pivotamento parcial ´ baseada na opera¸ao elementar (I).2 L2 .j = (k−1) ak. Em sistemas lineares de grande porte estes erros v˜o se acumulando e prejudicando a solu¸˜o do sistema. . Se o pivˆ |ak.k .2 =  a32 (01) (1) a2.

CAP´ ITULO 3.2 |  Trocamos a linha L2 com a linha L3 .1 | = |a3.  (0) onde m2.  −3 2 1 −2  4    2 1 2 1 3 2 3 Eliminar x1 das linhas 2 e 3.1  (1) 2 3 1 = 3 e com isto obtemos a matriz −3 2 1 −2  7/3 8/3 8/3   0  0 11/3 7/3 7/3 Etapa 2: Escolha do pivˆ o 2≤i≤3 max |ai.2 =  −7 11 obtendo assim a matriz −3 2 1 −2  8/3  8/3  0 11/3  0 0 13/11 13/11 . L1 L2 L3 (1) (1) (0) (0) (0) (0) = L1 = L2 − m2.1 L1 .  onde m3. representado pela matriz extendida  33 1 3 2 3  4   2 1 2  −3 2 1 −2 Etapa 1: Escolha do pivˆ o 1≤i≤3  max |ai. obtendo. obtendo. = L3 − m3.1 = onde m3.1 L1 .2 L2 . L1 L2 L3 (2) (2) (2) (1) (1) (1) (1) = L1 = L2 = L3 − m3.  −3 2 1 −2    0 11/3 7/3 7/3  0 7/3 8/3 8/3 Eliminar x2 da linha 3.2 Vamos considerar o sistema linear. SISTEMAS LINEARES Exemplo 3.1 |  Trocamos a linha L1 com a linha L3 .1 | = |a3.1.

3 x3 ) = 1 = a1. . . n].CAP´ ITULO 3.1 a2.2 a3.3       a2.1.3 a1. . .2 x3. . .1 34 Logo a solu¸˜o do sistema ´ dada por x = (1.3 cuja a inversa A−1 ´ dada por e   x1. x3.3 logo temos que       1 0 0 x1.3   x2.2 x2 − a1.2 1 (b1 − a1. onde a matriz A ´ a mesma para todos os sistemas. O controle ´ feito por um vetor de ina a e e teiros n-dimensional.1 x1.1 x2. por exemplo. . ´ uma matriz n × n tal que e A A−1 = A−1 A = I Como exemplo vamos considerar uma matriz A de dimens˜o 3 × 3 a  a1.4 C´lculo da Matriz Inversa a Vamos supor que desejamos resolver os sistemas lineares Ax = b1 .1 x2. ca ca x3 = x2 x1 b3 =1 a3. .2 x1.3  a2. SISTEMAS LINEARES Retro-Solu¸˜o: Encontrar a solu¸˜o do sistema triangular superior. 3. Assim podemos resolver estes sistemas num unico processo de elimina¸ao ´ c˜ 1 2 k usando a matriz estendida (A|b |b | . .1 x3.2 x2.1 a1. . 2.1 a3. s. 0. .2 x1. .3  =  0 1 0  .1 x3.3    x2. |b ) e aplicando a Retro-Solu¸˜o para cada vetor ca bk .3    a3.2 a2.3 1 = (b2 − a2. 2. 1)T . . .3 . .1 a2.3 0 0 1 a3. Se. resultante e do processo de elimina¸˜o.2 a2. Ax = b2 . A inversa a e n×n de uma matriz A ∈ R . denotada por A−1 . . . ca e Na pr´tica a troca de linhas n˜o ´ realizada.2 x3. O C´lculo da inversa de uma matriz ´ um caso particular do esquema acima.2 a1. A matriz triangular superior. ou seja trc = c˜ a [1.3  . . .2 x2.1 a3. .2 a1. trocamos a linha 1 pela linha s o vetor passa a ser trc = [s.1 a1. n].3 x3 ) = 0 a2. x3. 1. .1 x1. Ax = bk .2 a3. onde inicialmente na posi¸ao k est´ armazenado k. n˜o depende do vetor b e portanto ser´ a mesma em qualquer ca a a um dos sistemas.

2 0       a2. representados pela matriz estendida (A|b1 |b2 | .2 a2.1 a2.CAP´ ITULO 3.2 a1. podemos achar a inversa resolvendo n sistemas lineares. .1.2 0      x1.1 a1. |bn ).3 x3. se temos uma matriz n × n.2 a2.1  =  0  . L1 L2 L3 (1) (1) = L1 (0) (0) (0) (0) = L2 − m2.2 a2.2 a1.1      a1. isto ´ e e e  a1.   4 1 −6    3 2 −6  .3 x1.1 a1.1 a3.1 L1 .3 0 a1. a c˜ c˜ Exemplo 3. 3 1 −5 Para o processo de elimina¸˜o consideremos a matriz estendida ca       4 1 −6 1 0 0    3 2 −6 0 1 0  .1 1       a2.1 a1.3   x2.1 L1 .2  =  1  .2 a1.3 1 a3. 0 1/4 −1/2 −3/4 0 1  .1 a2. a3.3  =  0  . = L3 − m3.3       a2.1 a2.1 a3. 3 1 −5 0 0 1 Etapa 1: Eliminar x1 das linhas 2 e 3. .1 (1) 3 4 3 = 4 e com isto obtemos a matriz  4 1 −6 1 0 0    0 5/4 −3/2 −3/4 1 0  .3 Vamos achar a inversa da matriz abaixo.3   x2. x3. usando o m´todo de Elina¸˜o de e ca Gauss.1 a3. SISTEMAS LINEARES 35 Portanto cada coluna k da inversa da matriz A ´ solu¸ao de um sistema linear.2 a3. onde os vetores bk s˜o os a vetores unit´rios ( 1 na posi¸ao k e zeros nas demais posi¸oes).3 0 x3.3   x2. onde o vetor e c˜ dos termos independentes ´ a k-´sima coluna da matriz identidade. a3.2 a3. (0) onde m2.3 x1.3 Em resumo.2 a3.1 = onde m3.

CAP´ ITULO 3. SISTEMAS LINEARES Etapa 2: Eliminar x2 da linha 3. L1 L2 L3 obtendo assim a matriz
(2) (2) (2)

36

= L1 = L2

(1) (1) (1) (1)

= L3 − m3,2 L2 ,

onde m3,2 =

1 5

1 0 0 4 1 −6  1 0 ,   0 5/4 −3/2 −3/4 0 0 −1/5 −3/5 −1/5 1 Retro-Solu¸˜o: Encontrar a solu¸˜o dos sistemas triangulares superior. ca ca Primeira coluna da inversa x3,1 = x2,1 x1,1 Segunda coluna da inversa x3,2 = x2,2 x1,2 Terceira coluna da inversa x3,3 = x2,3 x1,3 b3 3 = −5 a3,3 1 3 = (b − a2,3 x3 ) = −6 a2,2 2 1 3 (b − a1,2 x2 − a1,3 x3 ) = −6 = a1,1 1

b1 3 =3 a3,3 1 1 = (b − a2,3 x3 ) = 3 a2,2 2 1 1 = (b − a1,2 x2 − a1,3 x3 ) = 4 a1,1 1

b2 3 =1 a3,3 1 2 (b − a2,3 x3 ) = 2 = a2,2 2 1 2 = (b − a1,2 x2 − a1,3 x3 ) = 1 a1,1 1

Logo a matriz inversa s ´ dada por e 4 1 −6    3 2 −6  , 3 1 −5

CAP´ ITULO 3. SISTEMAS LINEARES

37

No exemplo acima temos que a inversa da matriz A ´ a pr´pria A. Este tipo de matriz ´ e o e usado como matriz teste para verificar a eficiˆncia dos m´todos num´ricos. e e e Abaixo apresentamos uma implementa¸˜o do M´todo de Elimina¸ao de Gauss em ca e c˜ MatLab que resolve k sistemas, onde a matriz A ´ comum a todos. e % % % % % % % % % % Disciplina de C\’{a}lculo Num\’{e}rico - Prof. J. E. Castilho M\’{e}todo de elimina\c{c}\~{a}o de Gauss Este procedimento resolve k-sistemas lineares, onde a matriz A de dimens\~{a}o n x n eh comum a todos. Os par\^{a}metros devem ser passados da forma x=EGauss(A,b1,b2,b3,...,bk) o resultado eh uma matriz x de dimens\~{a}o n x k onde a coluna j armazena a solu\c{c}\~{a}o do sistema Ax=bj Dados A: matriz do sistema varargin: lista dos vetores dos termos independentes

function x=EGauss(A,varargin) b=[varargin{:}]; db=size(b); % Esta parte verifica se o sistema eh quadrado da=size(A); n=da(1); if n ~=da(2), disp(’??? A matriz deve ser quadrada’); break; end; % Esta parte verifica se a dimens\~{a}o do vetor b % esta de acordo com a dimens\~{a}o do sistema if n ~=db(1), disp(’??? Erro na dimens\~{a}o de b’); break; end; % Cria matriz estendida Ax=[A,b]; % Fase da elimina\c{c}\~{a}o for k=1:(n-1) for i=k+1:n if abs(Ax(k,k)) < 10^(-16), disp(’??? Piv\^{o} Numericamente Nulo’); break; end; m=Ax(i,k)/Ax(k,k); for j=k+1:da(2) + db(2) Ax(i,j) = Ax(i,j)-m*Ax(k,j); end;

CAP´ ITULO 3. SISTEMAS LINEARES end; end; % Fase da Retro solu\c{c}\~{a}o if abs(Ax(n,n)) < 10^(-16), disp(’??? Piv\^{o} Numericamente Nulo’); break; end; for m=1:db(2) x(n,m) = Ax(n,n+m)/Ax(n,n); end; for k=(n-1):-1:1 for m=1:db(2) som=0; for j=k+1:n som=som+Ax(k,j)*x(j,m); end; x(k,m) = (Ax(k,n+m)-som)/Ax(k,k); end; end;

38

3.2

M´todos Iterativos e

Vamos considerar um sistema linear Ax = b, onde A ∈ I n×n e x, b ∈ I n . Os m´todos R R e iterativos seguem um esquema semelhante aos m´todos para o c´lculo de zeros de fun¸oes. e a c˜ O sistema linear ´ escrito na forma e x = Cx + g, onde g ∈ I n e C ∈ I n×n ´ chamada de matriz de itera¸˜o. Assim montamos o processo R R e ca iterativo: Dado x0 xk+1 = Cxk + g. Sendo um processo iterativo, necessitamos de um crit´rio de parada. E para isto temos e k+1 k que ter uma medida entre as aproxima¸oes x c˜ e x . Para isto vamos usar o conceito de norma de matrizes, definida abaixo Defini¸˜o 3.2.1 Uma norma em IRn×m ´ uma aplica¸˜o || · || : IRn×m → IR que satisfaz as ca e ca seguintes propriedades: (M1) ||A|| ≥ 0 e ||A|| = 0 ⇔ A = 0, ∀A ∈ IRn×m .

B ∈ IRn×m .CAP´ ITULO 3. ∀α ∈ IR e ∀A ∈ IRn×m . SISTEMAS LINEARES (M2) ||αA|| = |α| ||A||. Com isto temos as normas de R e vetores dadas por n ||x||1 = i=1 |xi | Norma da Soma Norma do M´ximo a Norma Euclidiana ||x||∞ = max |xi | 1≤i≤n n 1/2 ||x||2 = i=1 |xi | 2 O conceito de norma nos permite definir convergˆncia de uma seq¨ˆncia de vetores {xk }. As normas matriciais mais usadas s˜o a n 39 ||A||1 = max 1≤j≤m |aij |  m i=1 Norma do M´ximo das Coluna a Norma do M´ximo das Linha a ||A||∞ = max  |aij | 1≤i≤n j=1  n m   1/2 ||A||2 =  i=1 j=1 |aij |2  Norma Euclidiana A norma vetorial pode ser vista como um caso particular da norma matricial. || · ||2 e || · ||∞ satisfazem as seguintes propriedades: e (M4) ||Ax|| ≤ ||A|| ||x|| (M5) ||AB|| ≤ ||A|| ||B|| . e ue Dizemos que xk → x se ¯ lim ||xk → x|| = 0 ¯ k→∞ Com isto podemos definir os crit´rios de parada: Dado um ε > 0 e ||xk+1 − xk || ≤ ε ||xk+1 − xk || ≤ε ||xk || Erro Absoluto Erro Relativo ||b − Axk || ≤ ε Teste do Res´ ıduo Al´m disso. (M3) ||A + B|| ≤ ||A|| + ||B||. ∀A. onde um vetor x ∈ I n ´ equivalente a uma matriz de ordem n × 1. as normas || · ||1 .

2 x2 + a1. . .1 Crit´rio de Convergˆncia e e Dependendo da forma da matriz C a seq¨ˆncia gerada pelo processo iterativo pode ou n˜o ue a convergir para a solu¸˜o do sistema. .3 x3 + a2.     a x n. .2. · · · an.3 x3 + a3.2 x2 + a3. ≤ ||C|| ||ek−1 || ||C||2 ||ek−2 || . . Seja x a solu¸ao do sistema Ax = b. logo x satisfaz ca ¯ c˜ ¯ x = C¯ + g.3 x3 . . ¯ co a a 3.n xn = b2 · · · a3.1 1 Vamos considerar o sistema linear Ax = b dado por + a1. Quanto e u co a a 0 menor for ||x − x|| menos itera¸˜es ser˜o necess´rias.  . A escolha de x0 e e a influˆncia no n´mero de itera¸˜es necess´rias para atingir a precis˜o desejada.CAP´ ITULO 3.n xn = b1 · · · a2.   . .n xn = bn a3. . ¯ x Com isto temos que xk+1 − x = C(xk+1 − x) ¯ ¯ Sendo o erro em cada itera¸˜o dado por ek = xk − x e usando as propriedades de norma ca ¯ (M4) e (M5) segue que ||ek || ≤ ≤ . . .3 x3 · · · a1. + an.1 x1 .1 x1     a x  2.2 x2 + an.1 1    .2. . .2 x2 + a2. ||C||k ||e0 || Logo a seq¨ˆncia {xk } converge para a solu¸˜o do sistema x se ue ca ¯ k→∞ lim ||ek || = lim ||C||k ||e0 || = 0 k→∞ e isto ocorre se e somente se a matriz C satisfaz a condi¸ao c˜ ||C|| < 1 Note que o crit´rio de convergˆncia n˜o depende do vetor inicial x0 . .n xn = b3 . SISTEMAS LINEARES 40 3. . .2 M´todo Iterativo de Gauss-Jacobi e   a1.

n a2. .2 x2 − · · · − an.n − 0 ··· − a3. .3 a2.. .n x(k) n a2. .2 − a1. . .3 x3 − · · · − a2. .1 x1 − a2.3     . .n xn ) a3. 2. . . .n   x1 ··· −  a1.n an. .1   0 a1.2 a3. . .n xn ) a1. Em cada equa¸ao i podemos isolar a inc´gnita xi c˜ o obtendo as seguintes rela¸˜es co x1 = x2 = x3 = .1) an.    .3 .2 1 (b3 − a3.n−1 xn−1 an. .n xn ) a2. .2  a1. .n b1    a  1.1 x1 − a3.3 x3 − · · · − a2.2 x2 − · · · − an. SISTEMAS LINEARES 41 onde os aii = 0 para i = 1. .2     =   a3. n.. . . . x(k+1) n 1 (k) (k) = b3 − a3.2 x2 − · · · − a3.      bn  (3.1 1 (k) (k) b2 − a2.3 x3 − · · · − a1.3 . .3 − − ··· 0 an.n−1 xn−1 ) an.n a3.3    . .   . . .2 (3.   an.3 . . . 1 = (bn − an.1 x1 − a3. .1 x1 − a2.2) (k+1) (k+1) x3 .2 x2 − a1. .2 x2 − · · · − a3.1   Na forma matricial estas equa¸oes s˜o equivalentes ` c˜ a a                     x1 x2 x3 .1   a2. .1     −   a3. .n .CAP´ ITULO 3.2      +      b3          a3. . an.3 x3 − · · · − a1.1 − a2. xn             a   − 2. xn        b2        a   2. .n x(k) n a3.1 x1 − an.    .2 an. . xn 1 (b1 − a1.3 a3.1 1 (b2 − a2.n x(k) n a1. . .1 x1 − an.3 − a1. . . . .2 x2 − a1.1 0 a1. 1 (k) (k) (k) = bn − an. .2 − an. . .1     ··· − a2.n                   x2   x3 .n Desta forma temos o sistema linear na forma x = Cx + g e assim montamos o processo iterativo conhecido como M´todo Iterativo de Gauss Jacobi: e 0 Dado x x1 x2 (k+1) = = 1 (k) (k) b1 − a1. .

. Outros crit´rios podem ser obtidos a e e usando outras normas. vimos que a matriz de itera¸ao C deve satisfazer a condi¸˜o e e c˜ ca ||C|| < 1.5)T . . .2).2) temos o a seguinte crit´rio de convergˆncia para o M´todo de Gauss-Jacobi e e e Teorema 3. a Exemplo 3.5.3 Crit´rio das Linhas e Como crit´rio de convergˆncia. o crit´rio e c˜ a a e e pode n˜o ser satisfeito e o m´todo ainda pode convergir. podemos obter o chamado crit´rio das colunas aplicando e a Norma do M´ximo das Colunas na matriz em (3. fa¸a: n.j xj  s as.2. 2.j | < 1 para k = 1. SISTEMAS LINEARES Algoritmo: M´todo Iterativo de Gauss-Jacobi e R R Input: Matriz A ∈ I n×n b.2. .2. .k | j=1. Por exemplo. c  n 1  (k) x(k+1) ← bs − as.CAP´ ITULO 3. . . .5. Este crit´rio fornece uma condi¸ao necess´ria. n |ak.s j=1. com precis˜o ε = 0. x0 ∈ I n e ε > 0 Enquanto ||xk+1 − xk || > ε fa¸a: c Para s = 1. Isto ´. Usando a Norma do M´ximo das Linhas sobre a matriz C em (3. Vamos tomar como condi¸˜o inicial o vetor x0 = e ca (0.1 na Norma do M´ximo. 2.j=s fim para fim enquanto Output: x ∈ I n : solu¸˜o do sistema R ca 42 3. 0. Seja os αk de tal e forma que: n 1 αk = |ak.1 Dado o sistema linear   −7x1    x1 x1 + 3x2 + 2x3 = −2 + 3x2 − x3 = 3 + x2 − 3x3 = −1 vamos procurar uma aproxima¸˜o da solu¸˜o.1 (Crit´rio das Linhas) Dado o sistema linear Ax = b. ca ca a a usando o M´todo de Gauss-Jacobi. 0.j=k Ent˜o o M´todo de Gauss-Jacobi gera uma seq¨ˆncia {xk } que converge para a solu¸˜o do a e ue ca sistema. . mas n˜o suficiente.

Montando o processo iterativo temos x1 (k+1) = − = 1 (k) (k) −2 − 3x2 − 2x3 7 (3.500 0.3 | 3 Logo o crit´rio das linhas ´ satisfeito e com isto temos garantia que o M´todo de Gauss-Jacobi e e e converge.166 Para k = 1 temos x1 x2 x3 (2) 1 = − (−2 − 3 ∗ 1.5) (2) (2) 1 = − (−1 − 0.500  ⇒ ||x1 − x0 ||∞ = 0.000 − 0.666 − 0.666) = 1.642 7 = 1 (3 − 0.1 | + |a3.CAP´ ITULO 3.5 + 0.3 |) = < 1 |a2.500 > ε  0.642 − 1) = 0.642 + 0.5) = 0.3) x2 x3 Assim para k = 0 segue que x1 (1) (k+1) 1 (k) (k) 3 − x1 + x3 3 1 (k) (k) −1 − x1 − x2 3 (k+1) = − 1 = − (−2 − 3 ∗ 0.2 | 3 1 2 α3 = (|a3.5) = 0.4) x2 x3  (1) (1) 1 = − (−1 − 0.5) = 1.666 3    Verificando o crit´rio de parada temos e 0.008 3 (3. SISTEMAS LINEARES 43 O primeiro passo ´ verificar se o crit´rio de convergˆncia ´ satisfeito. Calculando os αk e e e e temos 1 5 α1 = (|a1.1 | 7 1 2 α2 = (|a2.000 3 (3.3 |) = < 1 |a1.880 3 .142    1 0 x − x =  1.5 − 2 ∗ 0.500  =  0.2 |) = < 1 |a3.904 7 = 1 (3 − 0.666) = 0.2 | + |a1.5 − 0.500 0.000 − 2 ∗ 0.1 | + |a2.642 − 0.

666 0. Numa e e itera¸˜o k + 1.4 M´todo Iterativo de Gauss-Seidel e A cada itera¸ao xk se aproxima da solu¸ao do sistema.j xj − as. que aparecem no primeiro somat´rio de (3.262     x2 − x1 =  1. o c´lculo de xk+1 ser´ mais preciso.2. . xk+1 . · · · . .s j=1 j=s+1   Como estamos usando valores mais pr´ximos da solu¸ao.6) Neste ponto os elementos xk+1 .j xj − as.262 > ε 0.s j=1 j=s+1 fim para fim enquanto Output: x ∈ I n : solu¸˜o do sistema R ca .s j=1 j=s+1   (3. Assim vamos substituir os o ca 1 2 s−1 elementos da itera¸ao k. o M´todo de Gauss-Jacobi calcula o elemento s pela equa¸ao ca e c˜ x(k+1) s s−1 n 1  (k) (k) = bs − as. xk+1 . 2.     44 3.j xj s as. .008 − 1. Baseado nesta observa¸ao vamos c˜ c˜ c˜ modificar o M´todo de Gauss-Jacobi com o objetivo de acelerar a convergˆncia.j xj  as. x0 ∈ I n e ε > 0 R R Enquanto ||xk+1 − xk || > ε fa¸a: c Para s = 1.904 − 0. xk . = as. o c˜ a a s Este procedimento ´ conhecido como M´todo Iterativo de Gauss-Seidel.880 − 0.000  =  0.j xj − as. fa¸a: n.008  ⇒ ||x2 − x1 ||∞ = 0. j´ foram calculados e espera-se que estes este1 2 s−1 a jam mais pr´ximos da solu¸˜o que os elementos xk .642 0. · · · .CAP´ ITULO 3.6). . xk . e Algoritmo: M´todo Iterativo de Gauss-Seidel Input: Matriz A ∈ I n×n b. cujo o algoritmo ´ e e e dado abaixo. isto ´ c˜ e x(k+1) s s−1 n 1  (k+1) (k) bs − as. SISTEMAS LINEARES Verificando o crit´rio de parada temos e 0.j xj  . c  s−1 n 1  (k+1) (k)  x(k+1) ← bs − as.214 Devemos continuar as itera¸˜es at´ que o crit´rio de parada seja satisfeito (Exerc´ co e e ıcio). pelos correspondentes c˜ o elementos da itera¸ao k + 1.

2 |β2 ) = <1 |a3.1 |β1 + |a2.2. . ca ca a a usando o M´todo de Gauss-Seidel.7) (k+1) = − .1 na norma do m´ximo. Exemplo 3.CAP´ ITULO 3.j | < 1 para k = 1. .3 | 14 Logo o crit´rio de Sassenfeld ´ satisfeito e com isto temos garantia que o M´todo de Gausse e e Seidel converge. 0. O primeiro passo ´ verificar se o crit´rio de convergˆncia ´ satisfeito.5 Crit´rio de Sassenfeld e O M´todo de Gauss-Seidel tamb´m pode ser representado na forma matricial xk+1 = Cxk +g e e e crit´rios de convergˆncia podem ser obtidos impondo a condi¸˜o ||C|| < 1.1 | 7 1 6 β2 = (|a2.2. n Ent˜o o M´todo de Gauss-Seidel gera uma seq¨ˆncia {xk } que converge para a solu¸˜o do a e ue ca sistema.2 Dado o sistema linear   −7x1    x1 x1 + 3x2 + 2x3 = −2 + 2x2 − x3 = 2 + x2 − 2x3 = 0 vamos procurar uma aproxima¸˜o da solu¸˜o. Aplicando a e e ca Norma do M´ximo das Linhas obtemos o seguinte crit´rio de convergˆncia: a e e Teorema 3.j |βj + j=k+1 |ak.2 (Crit´rio de Sassenfeld) Dado o sistema linear Ax = b.2 | + |a1. . ou e seja. com precis˜o ε = 0.5)T . Este ´ um exemplo em que n˜o temos a garantia e a e e a de convergˆncia do M´todo de Gauss-Jacobi.1 |β1 + |a3.2 | 7 1 11 β3 = (|a3. . Calculando os βk e e e e temos 1 5 β1 = (|a1.3 |) = < 1 |a2. o crit´rio das linhas n˜o ´ satisfeito. Seja os βk de e tal forma que:   j=1 βk = 1 |ak.2. 0.3 |) = < 1 |a1. SISTEMAS LINEARES 45 3.5. e e Montando o processo iterativo temos 1 (k) (k) (k+1) x1 = − −2 − 3x2 − 2x3 7 x2 x3 (k+1) = 1 (k+1) (k) 2 − x1 + x3 2 1 (k+1) (k+1) 0 − x1 − x2 2 (3. 2.k | k−1 n  |ak.5. Vamos tomar como condi¸˜o inicial o vetor x0 = e ca (0. Note que se aplicarmos o crit´rio das linhas obtemos que α2 = α3 = 1.

deve ser orientada e nas caracter´ ısticas de cada m´todo que apresentamos nesta se¸˜o.5) = 0.785 − 0.908 − 0.929  =  0.908 − 0.429  ⇒ ||x1 − x0 ||∞ = 0. O sistema deve satisfazer certas ca e a condi¸˜es de convergˆncia para que determinado m´todo seja aplicado. SISTEMAS LINEARES Assim para k = 0 segue que x1 (1) 46 1 = − (−2 − 3 ∗ 0.5 − 2 ∗ 0. Os m´todos iterativos permitem um controle sobre a precis˜o da e a solu¸˜o.785) = 0.5) = 0.266 > ε 0.500  =  0.929 2 (3.908 7 = 1 (2 − 0. por´m e ca a e n˜o temos um controle sobre a precis˜o da solu¸˜o.8) x2 x3 (1) (1) 1 = − (0 − 0.CAP´ ITULO 3.938 − 0.3 Observa¸oes Finais c˜ A escolha do m´todo.785 2    Verificando o crit´rio de parada temos e 0.285 Para k = 1 temos x1 x2 x3 (2)  1 = − (−2 − 3 ∗ 0.642 7 = 1 (2 − 0.642 + 0. e ca Os m´todos diretos apresentam a solu¸˜o de qualquer sistema linear n˜o singular.266     x2 − x1 =  0. que deve ser aplicado a um determinado problema.642 − 0. co e e .929) = 0.923 2    Verificando o crit´rio de parada temos e 0.j = 0 ) apresentam grandes a erros de arredondamentos.785) = 0.929 − 2 ∗ 0.938 2 (3.500 0.500 0. Aplicados em sistemas de grande porte a a ca e matriz cheia ( dimens˜o acima 50 × 50 e poucos elementos ai.9) (2) (2) 1 = − (0 − 0. por´m estes n˜o se aplicam a qualquer sistema.908 + 0.429 > ε 0.138 Devemos continuar as itera¸˜es at´ que o crit´rio de parada seja satisfeito (Exerc´ co e e ıcio).009  ⇒ ||x2 − x1 ||∞ = 0.938) = 0.642 − 0.642 0.923 − 0.142     1 0 x − x =  0.929 − 0.  3.785 0.

usando 4 casas ca ca decimais. onde N p ´ o n´mero de processadores.2 a3.3x2 − 0.n Fa¸a uma modifica¸˜o no M´todo de Elimina¸˜o de Gauss explorando a forma do sistema.3 a4. automaticamente e podemos aplicar o M´todo de Gauss-Seidel.n−1 ··· 0 an. a matriz associada ´ da forma: a e e               a1.  an. . Numa m´quina paralela este a u c˜ a tempo cai para T /N p . .CAP´ ITULO 3.5x3 = 5. .4 0 0 0 a4. usando o M´todo de Elimina¸˜o de Gauss. c ca e ca Implemente o algoritmo em MatLab.6x2 − 1. .4 Exerc´ ıcios   1. . . . e 3.55 + 0. a u e todo sistema que satisfaz o Crit´rio das Linhas tamb´m satisfaz o Crit´rio de Sassenfeld. . . e e e Ou seja.7x1    Exerc´ ıcio 3. Calcule o res´duo r = b − A¯ e comente seus resultados. .n  0 0 0 0 .0002x1 + 2x2 = 2 2x1 + 2x2 = 4 Calcule a solu¸˜o do sistema por Elimina¸˜o de Gauss e Pivotamento Parcial.2 a2. SISTEMAS LINEARES 47 O M´todo de Gauss-Jacobi ´ indicado para processamento paralelo ou vetorial.2 0 0 0 a2. . .n−2 an−1. 1 −2 2    2 −3 2  2 −2 1 e e Exerc´ ıcio 3.4 a4. .3 a3.4 Considere o sistema linear 0. pois os e e elementos no passo k + 1 dependem somente dos elementos no passo k. a primeira diagonal secund´ria inferior e a primeira diagonal secund´ria superior. xk+1 . Isto ´.1 Resolva o sistema linear abaixo.50  Exerc´ ıcio 3. . .1 a2. todo sistema em que podemos aplicar o M´todo de Gauss-Jacobi. 0 0 0 0 0 0 0 0 0 0 ··· ··· ··· ··· 0 0 0 0 . . Os outros a a elementos s˜o nulos. Exerc´ ıcio 3.5x3 = 4.1x1 2.40 − 0. pois o c´lculo de e a e a xk+1 depende de xk+1 . e ca 1.3 Um sistema ´ dito ser tridiagonal se este ´ formado pela diagonal principal. e u O M´todo de Gauss-Seidel n˜o ´ indicado para processamento paralelo.8x2 + 1. ı x . xk+1 .n−1            an−1. .6x3 = −3. .3 0 0 0 a3. sem arredondamento. Se T for o tempo que uma m´quina seq¨encial toma para executar uma itera¸ao. · · · an−1.5 .2 Ache a inversa da matriz abaixo. Al´m disso. 0 0 0 0 .1 a1. quando ambos s˜o executado em processamento seq¨encial. Por´m este converge mais rapidamente que o M´todo e e 1 2 s−1 s de Gauss-Jacobi.7x1 + 2. . . · · · .

8 Dado o sistema Ax = b podemos montar um processo iterativo da seguinte forma xk+1 = (I + A)xk − b a) Enuncie uma condi¸˜o suficiente de convergˆncia baseada na Norma do M´ximo das ca e a Linhas.913x + 0. e e Exerc´ ıcio 3.254 48 a) Calcule a solu¸˜o do sistema por (i)-Elimina¸˜o de Gauss e (ii).659y = 0. 1. o que ocorreria com a solu¸˜o do e ca sistema? Comente seus resultados. a convergˆncia do M´todo de Gauss-Seidel pode ser e e garantida.780x + 0.6 Mostre que.8 . c co e (iii) Fa¸a duas itera¸˜es e calcule o erro absoluto cometido.Pivotamento Parcial.5x1 − 0. ent˜o este e a tamb´m satisfaz o Crit´rio de Sassenfeld.0)T (ii) Escolha k como o menor inteiro que satisfa¸a as condi¸˜es de convergˆncia.8 0. 1. sem arredondamento. b) Fa¸a trˆs itera¸˜es do processo acima para o sistema linear c e co −1.0.5x2 = 0 tomando x(0) = 0. usando a norma do m´ximo.3x2 = 1 0.217 0.563y = 0. se um sistema linear satisfaz o Crit´rio das Linhas. c co a Exerc´ ıcio 3. ca ca usando no m´nimo 7 casas decimais. ı b) Calcule o res´duo r = b − A¯ para os casos (i) e (ii). a convergˆncia do M´todo de Gauss-Jacobi pode ser e e garantida. e ca ca c) Utilize um m´todo iterativo adequado para calcular a aproxima¸˜o da solu¸˜o deste sistema de equa¸˜es considerando: co (i) x(0) = (1. b) Verifique para que valores de k. Exerc´ ıcio 3.3x1 + 0. SISTEMAS LINEARES Exerc´ ıcio 3.CAP´ ITULO 3. ı x c) Se no ´ ıtem a) tiv´ssemos usado 3 casas decimais.5 Dado o sistema linear 0. positivo. considere: u   kx1 + x2 = 2    k  kx1 + 2x2 + 5 x3 = 3    kx + x + 2x = 2 1 2 3 a) Verifique para que valores de k .0.7 Seja k um n´mero inteiro.

20 0.90 1.65 0. definido por c˜ dk = f (xk ) − ϕ(xk ).80 1. c˜ 4.87 0.70 1. reduzindo assim repeti¸oes co a c˜ de experimentos que podem ter um custo alto. O problema de ajuste de curvas consiste em encontrar uma fun¸ao ϕ(x) tal que o desvio em cada ponto k. chamado de diagrama de dispers˜o.19 0. . 4.1. 2.1) mostra que a fun¸˜o que procuramos se a a a ca comporta como uma par´bola.94 0.99 0. Logo poder´amos escolher as fun¸˜es g1 (x) = 1.Cap´ ıtulo 4 Ajuste de Curvas: M´todo dos e M´ ınimos Quadrados Em geral. Exemplo 4. atrav´s do qual podemos visualizar que tipo de a e curva que melhor se ajusta aos dados.75 0. .43 0.91 0.35 1. que fornece uma fun¸ao que melhor represente os dados.80 0. 2.99 0..23 1.. g2 (x) = x e a ı co 49 . n. experimentos em laborat´rio gera uma gama de dados que devem ser analisados o para a cria¸˜o de um modelo. escolhidas de acordo com os dados do problema. Neste cap´ ıtulo vamos analisar o esquema dos M´ ınimos Quadrados.10 0.. onde ϕ(x) ´ uma combina¸˜o linear de fun¸oes cont´ e ca c˜ ınuas gi (x).96 0.51 0. seja m´ ınimo.70 0. f (xk )). i = 1.1 Vamos considerar a tabela de pontos dada abaixo.Caso Discreto Dado um conjunto de pontos (xk .94 0.67 0.36 0. 1. A escolha das fun¸oes gi depende do gr´fico dos e c˜ a pontos. Obter uma fun¸˜o matem´tica que represente (ou que ajuste) ca ca a os dados permite fazer simula¸˜es do processo de forma confi´vel.1 M´todo dos M´ e ınimos Quadrados ..87 0.11 A an´lise do gr´fico de dispers˜o (Fig.36 0.57 1. k = 0.50 0..75 1.10 1. Isto ´ e ϕ(x) = α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x) Neste caso dizemos que o ajuste ´ linear. x f (x) 0.. m.

Isto ´: Achar os αi que minimizam a e fun¸˜o ca m ϕ(xk ) F (α1 .6 0.αn ) i = 1. . Este ponto pode ser determinado pelo teste da primeira derivada. −2 k=1 [f (xk ) − α1 g1 (xk ) − α2 g2 (xk ) − · · · αn gn (xk )] gj (xk ) = 0 ⇒ .8 2 Figura 4.. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 1 50 0.1 0 0.6 0.5 0.8 0.2 1. αn ) = k=1 [f (xk )− (α1 g1 (xk ) + · · · αn gn (xk ))]2 . A fun¸˜o F ´ uma fun¸ao que satisfaz F (α) ≥ 0 ∀α ∈ I m . Isto ´.4 0.6 1. .2 0.4 1. pois ϕ(x) = α1 g1 (x) + α2 g2 (x) + α3 g3 (x) representa “todas” as par´bolas e com a a escolha adequada dos αi teremos aquela que melhor se ajusta aos pontos. .1: Diagrama de Dispers˜o a g3 (x) = x2 . .2 0. uma fun¸ao limitada ca e c˜ R e c˜ inferiormente e portanto esta tem um ponto de m´ ınimo. α2 . .8 1 1. . .3 0. O M´todo dos M´ e ınimos Quadrados consiste em determinar os αi de tal forma que a soma dos quadrados dos desvios em seja m´ ınimo..4 0.9 0. sendo ∂F ∂αi Desta forma temos m =0 (α1 .´ CAP´ ITULO 4. n...7 0. .

70 2.76 Calculando os elementos da matriz e o vetor dos termos independentes temos 15 a1.35 0.0 0. .2 α2 + an.1 .0 0.99 1.2 = a1.   .70 0.67 1.0 1.70 0.3 α3 + a3.70 0. ser´ necess´rio calcular (n − n)/2 elementos.24 1. . . . .50 0.80 3. .1).82 1. .n αn = b3 . Isto ´ equivalente a ter as fun¸˜es gi (x) linearmente indea e co pendentes. . .51 1.j = aj. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS  m m m   α1 g1 (xk )g1 (xk ) + α2 g1 (xk )g2 (xk ) + · · · + αn g1 (xk )gn (xk )      k=1 k=1 k=1       m m m   m 51 = k=1 m f (xk )g1 (xk )  k=1 k=1 k=1    .19 1. . ou seja ai.64 0.0 0.80 0.0 0.80 0. .75 0.0 0. g2 (x) = x e g3 (x) = x2 . . .  .0 1.j = gi (xk )gj (xk ) k=1 e bi = k=1 f (xk )gi (xk ) Este sistema tem uma unica solu¸˜o se os vetores formados por gk = (gk (x1 ). e e 2 Logo.1 k=1 15 a1.1 = k=1 15 g1 (xk ) ∗ g1 (xk ) = 15 g1 (xk ) ∗ g2 (xk ) = 16.1 α1     a α  2. .20 0.n αn = b1 · · · a2. .75 3.65 0.0 1.10 0.i .2 α2 + a2.04 0. · · · gk (xn )) ´ ca s˜o linearmente independentes.0 1. A matriz A associada ao sistema ´ uma matriz sim´trica.10 1.23 1.11 1. .50 0.90 0.2 α2 + a1. .42 0.0 0.0 0.75 1.43 1.1.2 α2 + a3.0 1.87 1.51 1.01 0. . a a Exemplo 4. + an. c˜ x f (x) g1 (x) g2 (x) g3 (x) 0.3 α3 + a2.1 1    .0 1.n αn = bn m onde ai.91 1.57 0. · · · an.80 0.36 1.1 1 a3.65 0.n αn = b2 · · · a3.   .10 0.25 0.3 = k=1 g1 (xk ) ∗ g3 (xk ) = 22.10 0.2 Usando a tabela do exemplo (4.20 0. .99 1.36 1. .0 1. . .1.87 1.21 1.06 1. vamos ajustar os dados por uma par´bola.0 1.3 α3 m · · · a1. .     a α n.81 1.94 1.94 0. Calculando cada a uma das fun¸oes nos pontos xk temos.1 α1 + a1.35 1.96 1.23 0.´ CAP´ ITULO 4.49 0. para um sistema n × n.89 1.57 2.46 1.90 0.62 = a3.    m m m    α  1 gn (xk )g1 (xk ) + α2 gn (xk )g2 (xk ) + · · · + αn gn (xk )gn (xk )  k=1 k=1 k=1 α1 g2 (xk )g1 (xk ) + α2 g2 (xk )g2 (xk ) + · · · + αn g2 (xk )gn (xk ) = k=1 m f (xk )g2 (xk ) . f (xk )gn (xk ) k=1 = Que representa um sistema linear n × n da forma   a1. Para isto vamos tomar g1 (x) = 1.  .3 α3 . .29 = a2.94 3.

Por exemplo: f (0) ≈ ϕ(0) = 0 f (1) ≈ ϕ(1) = 1 f (2) ≈ ϕ(2) = 0. No caso da par´bola usamos trˆs u co a e fun¸˜es bases e temos um sistema 3 ×3.2 k=1 15 a2.28 f (xk ) ∗ g3 (xk ) = 12.99x2 A figura 4. poder´ ıamos pensar que os dados representam o primeiro meio ciclo de uma fun¸ao senoidal.00.99x − 0.2 = k=1 15 g2 (xk ) ∗ g2 (xk ) = 22.66 k=1 b3 = Obtendo assim um sistema linear que pode ser resolvido por um esquema num´rico estudado e no cap´tulo 3. ent˜o este ajuste reprec˜ a sentaria melhor os dados. E neste caso poder´ c˜ ıamos tomar g1 (x) = 1 e g2 (x) = sen(2πx) Mas afinal qual seria a melhor escolha? (Veja exerc´ 4.09 f (xk ) ∗ g1 (xk ) = 9.2 compara a fun¸˜o ϕ(x) com o gr´ficos dos pontos.62 g2 (xk ) ∗ g3 (xk ) = 34.91 k=1 15 b1 = b2 = k=1 15 f (xk ) ∗ g2 (xk ) = 10. No caso do ajuste a c˜ pela par´bola temos que o desvio ´ dado por a e 15 α2 = 1. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 15 52 a2.02 No exemplo ajustamos os dados a uma par´bola.´ CAP´ ITULO 4. ca a Atrav´s da fun¸˜o ϕ podemos aproximar valores de f em pontos que n˜o pertencem a e ca a tabela. Como exemplo. No caso de uma fun¸ao senoidal teremos um sistema co c˜ 2 × 2.99. α3 = −0.92 = a3. mas outras fun¸˜es bases poderiam ser a co usadas. Portanto a fun¸ao ϕ ´ dada por c˜ e ϕ(x) = 1.3 = a3.3 = k=1 15 g3 (xk ) ∗ g3 (xk ) = 57.1) O desvio fornece uma medida que ıcio pode ser usada como parˆmetro de compara¸ao entre ajustes diferentes. .0019 k=1 Se o ajuste feito por uma fun¸ao senoidal tiver um desvio menor. A solu¸˜o do sistema ´ dado por ı ca e α1 = 0. Outro ponto a ser observado ´ que a dimens˜o do sistema linear e a depende do n´mero de fun¸˜es bases que estamos usando.99 D= (f (xk ) − ϕ(xk ))2 = 0.

8 2 Figura 4. sendo ai.1 = a1.2 1.1 Vamos determinar a melhor par´bola que se ajuste a fun¸˜o f (x) = sen(πx) a ca no intervalo [0. onde o elemento e a c˜ ai.´ CAP´ ITULO 4. Calculando os termos do sistema linear temos a1. O procedimento ´ an´logo ao caso discreto.1 0 0. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 1 53 0. a a 4. como fun¸˜es bases.6 0. Escolhidas as fun¸˜es bases gi devemos e a co determinar a fun¸ao ϕ(x) = α1 g1 (x) + α2 g2 (x) + · · · + αn gn (x) de modo que o desvio seja c˜ m´ ınimo. onde D= b a (f (x) − ϕ(x))2 dx Neste caso os αi tamb´m s˜o determinados pela resolu¸ao de um sistema.9 0.8 1 1.4 0.4 0.2 M´todo dos M´ e ınimos Quadrados .j e ´ obtido atrav´s do produto interno entre as fun¸oes gi (x) e gj (x) e o elementos bi pelo e e c˜ produto interno entre f (x) e gi (x).2 0.6 1. b] e n˜o mais uma tabela de ca a pontos.3 0.1 2 .4 1.2.7 0. as fun¸˜es g1 (x) = 1. 1].2 = 1 0 1 0 g1 (x)g1 (x)dx = 1 g1 (x)g2 (x)dx = 1 = a2. co co g2 (x) = x e g3 (x) = x2 .2: Diagrama de Dispers˜o com o gr´fico da ϕ(x). Para isto devemos tomar.Caso Cont´ ınuo No caso cont´ ınuo temos uma fun¸˜o f (x) dada num intervalo [a.5 0.6 0.8 0.2 0.j = b a gi (x)gj (x)dx e bi = b a f (x)gi (x)dx Exemplo 4.

027 + 4.636 f (x)g2 (x)dx = 0.032x − 4.7 0.189 cuja a solu¸˜o ´ dada por α1 = −0.2 4 0 1 1 g3 (x)g3 (x)dx = 25 0 1 54 g1 (x)g3 (x)dx = 1 0 1 0 1 0 f (x)(x)g1 (x)dx = 0. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS a1.8 0.2 1 0.4 0.6 0.032 e α3 = −4.050x2 .8 0.´ CAP´ ITULO 4.1 3 0 1 1 g2 (x)g2 (x)dx = 3 0 1 1 g2 (x)g3 (x)dx = = a3.3 0.027.3: — : f (x) = sen(πx).2 = a2.318 f (x)g3 (x)dx = 0. · · · : ϕ(x) .050.3 = b1 = b2 = b3 = 1 = a3.3) mostra o gr´fico comparativo entre a a fun¸˜o f (x) ( linha: —) e o ajuste ϕ(x) (linha: · · ·).2 0 0.3 = a2.5 0.4 0.3 = a3. α2 = 4.6 0.9 1 Figura 4. ca 1.2 0 −0.1 0.2 0. A figura (4. Assim temos que ca e ϕ(x) = −0.

3 Ajuste N˜o Linear a Existem casos.5 0 0.350 0.5 1 1.0 1.778 1.5 1 0.733 2.5 3. Fazendo β1 = ln(α1 ) e β2 = α2 o problema consiste em ajustar os dados de z por uma reta. Como exemplo. onde o diagrama de dispers˜o de uma fun¸ao indica que os dados devem a c˜ ser ajustado por uma fun¸˜o que n˜o ´ linear com rela¸ao aos αi . para que seja poss´ aplicar o M´todo dos M´ c˜ ıvel e ınimos Quadrados. Isto ´.0 0. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 55 4.858 Montando o diagrama de dispers˜o (Veja figura 4.5 2 1. Neste caso podemos proceder da seguinte forma.5 0 0.4: Diagrama de dispers˜o a de lineariza¸ao deve ser empregado.0 −0. Desta forma. um processo e 4 3.5 2.0 2.5 0 −1 −0.586 3.522 0.4) podemos considerar que f (x) tem um a comportamento exponencial.5 3 Figura 4. vamos ca a e c˜ considerar os dados x f (x) −1.´ CAP´ ITULO 4.162 1.234 0. Para isto tomamos g1 (x) = 1 e g2 (x) = x. f (x) ≈ ϕ(x) = α1 eα2 x .5 2 2. f (x) = α1 eα2 x ⇒ z = ln(f (x)) = ln(α1 ) + α2 x. Calculando as fun¸oes em cada um dos pontos c˜ .5 1.5 3 2.157 0.

162 1.749 Cuja a solu¸˜o ´ dada por ca e β1 = −1.050 Desta forma os valores de αi s˜o dados por: a α1 = eβ1 = 0. Como ¯ c . Isto ´.5 2. obtidos no nosso exemplo.000 1.586 3.5 0 0.851 −1.0 1.000 1.800 e β2 = 0.349e0.733 2.349 Portanto temos ϕ(x) = α1 eα2 = 0.452 −1.0 1.0 −0.5 1.5 2. usamos o teste de alinhamento.000 g2 (x) −1.350 g1 (x) 1.800x A figura 4.254 k=1 15 b1 = b2 = k=1 z(xk ) ∗ g2 (xk ) = 9.5 3.000 1.950 1.´ CAP´ ITULO 4.350 0.800 4.4 Observa¸oes Finais c˜ O ajuste de curvas permite extrapolar os valores tabelados.522 0.549 0.0 2.858 z = ln(f (x)) −1.778 1. e fazer o diagrama de e dispers˜o.251 0. se os dados est˜o tabelados e a num intervalo [x0 .0 −0. A figura a a ca 4.5 0 0.0 f (x) 0.650 −0.157 0. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS temos x −1.049 −0.2 = a2.6 mostra o diagrama de dispers˜o dos dados em z. xm ] podemos aproximar um x ∈ [x0 .0 Calculando os elementos da matriz e vetor dos termos independente temos que 9 56 a1.2 = k=1 15 g2 (xk ) ∗ g2 (xk ) = 24 z(xk ) ∗ g1 (xk ) = −2.0 2.000 1. os pontos z da tabela. Este consiste ca em tomarmos os dados “linearizados”. xm ] com uma certa seguran¸a. ent˜o a escolha da fun¸˜o foi boa.000 1. isto ´.5 3.000 1.5 1.5 mostra a compara¸˜o dos dados com a fun¸˜o obtida. Podemos a concluir que a nossa escolha pela exponencial foi uma escolha acertada. Se os pontos estiverem alinhados. Para verificar se fun¸ao ca ca c˜ escolhida para a aproxima¸˜o foi bem feita.1 k=1 9 a1.000 1. e α2 = β2 = 0.1 = k=1 9 g1 (xk ) ∗ g1 (xk ) = 9 g1 (xk ) ∗ g2 (xk ) = 9 = a2.234 0.150 0.000 1.

5 3 Figura 4. isto ´ co e gi . gj = 0.5.5 2 1. ıcio . gj = k=1 b a gi (xk )gj (xk ) gi (x)gj (x)dx Se as fun¸˜es gi forem ortogonais.5 0 −1 −0. podemos ter mais e a c˜ de um valor para um determinado ponto.5 0 0.j s˜o obtidos pelo produto interno entre as fun¸oes gi e gj definidos por a c˜ m Caso Discreto: Caso Cont´ ınuo: gi .5 2 2. para i = j para i = j a matriz obtida ser´ diagonal e conseq¨entemente a solu¸˜o do sistema ´ imediata. e Os elementos ai. ki . (Veja exerc´ 4.5: Diagrama de Dispers˜o e o Gr´fico da ϕ(x) a a os dados prov´m de experimentos que est˜o sujeitos a erros de medi¸oes. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 4 57 3.5 3 2. veja exerc´ 4.5 1 1. gj = gi . Como a u ca e exemplo.´ CAP´ ITULO 4.4) A fun¸ao obtida considera os ıcio c˜ dois valores faz “ uma m´dia ” entre estes valores.5 1 0.

AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 1.80 1.70 1.19 0.5 0 −0.681 0.479 0.00 1. Grupo III: g1 (x) = 1 e g2 (x) = x2 .598 0.909 0.5 Exerc´ ıcios Exerc´ ıcio 4.997 0.99 0.57 1.20 0.1. escolha aquele que representar´ melhor reco a sultado num ajuste de curvas. Grupo I: g1 (x) = 1 e g2 (x) = x.36 0.36 0.75 1.43 0. Grupo II: g1 (x) = 1 e g2 (x) = ex .67 0.5 3 Figura 4.75 1.2 Dada a tabela abaixo x 0.50 3.50 0.75 0.5 2 2.10 1. Justifique sua escolha.5 58 1 0.99 0.94 0. x f (x) 0.5 0 0.50 0.1 Usando os dados abaixo.10 0. Fa¸a um ajuste considerando sua c escolha.51 0.87 0.00 2.91 0. Calcule o desvio e compare com os resultados obtidos no Exemplo (4.23 1.96 0. fa¸a um ajuste de curva com g1 (x) = 1 e g2 (x) = c sen(2πx).65 0.50 2.00 f(x) 0.6: Diagrama dos dados linearizados 4.70 0.5 −2 −1 −0.5 1 1.35 1. .94 0.1).11 Exerc´ ıcio 4.841 0.´ CAP´ ITULO 4.5 −1 −1.90 1.80 0.87 0.141 Entre os grupos de fun¸˜es bases abaixo.

1 0. AJUSTE DE CURVAS: METODO DOS M´ INIMOS QUADRADOS 59 Exerc´ ıcio 4.3 A tabela abaixo representa o calor espec´ ıfico da ´gua em fun¸˜o da temperaa ca tura. qual ´ a melhor escolha para ajustar os dados entre e as fun¸˜es z = α1 α2 x e z = α1 xα2 . g2 (x) = x e g2 (x) = (3x2 −1).8 1.5 0.384 0.7 0.416 0.277 0. ache a melhor par´bola que aproxima a fun¸˜o f (x) = cos(x) a a ca no intervalo [−3. t(o C) 0 5 10 25 30 35 C(t) 1.5 e x = 0.395 0. Calcule o desvio e ache uma aproxima¸˜o para ca t = 15 em cada um dos casos.8.4 Ajustar os dados abaixo ` fun¸˜o z = a ca 1 e(α1 x+α2 ) 1+ x 0.99826 0.510 0.312 0. Sabendo que o valor exato da fun¸˜o C(15) = 1. (Obs: A ortogonalidade dos polinˆmios nos forneceria uma matriz o diagonal.99852 0. Logo devemos fazer uma mudan¸a de c vari´vel de tal forma que obteremos novas gi que ser˜o ortogonais em [−3. um quadr´tico e um c´bico.30 1.00000. Isto pode ocorrer se estamos considerando que os dados prov´m de experimentos que s˜o realizados mais de uma vez.8 0. se o ajuste fosse feito no intervalo [−1.500 0. 1]. α2 > 0. Fa¸a um ajuste n˜o linear da a u c a forma ϕ(x) = α1 e−α2 .00762 1. ) e a 1 o Exerc´ ıcio 4.5 Usando os polinˆmios de Legendre g1 (x) = 1.5 0.´ CAP´ ITULO 4.00392 1. 1]. qual ca dos casos acima apresentou melhor aproxima¸˜o? ca Exerc´ ıcio 4.217 Verifique. com α1 . (Obs: Note que neste caso a tabela apresenta dois valores co diferentes para os pontos x = 0.3 0. 2 que s˜o ortogonais em [−1.80 f(x) 0.00153 0.833 0. pelo teste do alinhamento.10 1. 3] ) a a . 3].99818 Fac ca um ajuste linear.625 0.

. Existe um unico polinˆmio p(x) de e ´ o grau menor ou igual a n. · · · . 1. k = 0. . xk = xj para k = j.1 (Existˆncia e Unicidade) Dado o conjunto de n + 1 pontos distintos e (xk .Cap´ ıtulo 5 Interpola¸˜o Polinomial ca A interpola¸ao ´ outra forma de encontrar uma fun¸ao que represente um conjunto de dados c˜ e c˜ tabelados. n. · · · . Interpolar um conjunto de dados (xk . 1. = p(xn ) = a0 + a1 xn + a2 xn 2 + · · · + an xn n Que corresponde ao sistema linear da forma          1 x0 1 x1 1 x2 . fn = p(x0 ) = a0 + a1 x0 + a2 x0 2 + · · · + an x0 n = p(x1 ) = a0 + a1 x1 + a2 x1 2 + · · · + an x1 n . Logo. 2. tal que esta satisfa¸a certas propric˜ co c edades. . k = 0. = . segue que: ca f0 f1 . . . . e o Teorema 5. . . . . . fn          . . · · · . 1. 1. 2. escolhida numa classe de fun¸˜es. Prova: Seja p(x) = a0 + a1 x + a2 x2 + · · · + an xn . 1. . k = 0. n. . n. · · · . . Esta condi¸˜o ´ chamada de condi¸˜o de interpola¸ao e o polinˆmio que satisfaz esta condi¸ao ca e ca c˜ o c˜ ´ chamado de polinˆmio interpolador. . an           =       f0 f1 f2 .0. 2 xn · · · xn n 60          a0 a1 a2 . n. . consiste em encontrar uma fun¸ao pn (x). 1 xn x0 2 · · · x0 n x1 2 · · · x1 n x2 2 · · · x2 n . 2. Neste cap´ ıtulo vamos considerar o caso onde pn (x) ´ um polinˆmio de tal forma e o que fk = p(xk ). . fk ). . . · · · n. . fk ). Isto ´. . . tal que p(xk ) = fk para k = 0. Para obter os ai usamos a condi¸˜o de ca interpola¸˜o fk = p(xk ) para k = 0.

00 0. trˆs pontos (n + 1 = 3).2 3. ´ uma matriz de Vandermonde.0.2 0.22 f2 = 3.CAP´ ITULO 5.4 + a2 0. a1 = −1 e a2 = 1. segue que o determinante da matriz A ´ diferente de zero e e portanto o sistema admite uma unica solu¸ao ´ c˜ Exemplo 5.84 0.16 3. Logo e o a p(x) = a0 + a1 x + a2 x2 Impondo a condi¸ao fk = p(xk ) obtemos: c˜ f0 = 4.76 = p(0. A escolha de uma o ou outra forma depende dos dados que devemos interpolar. obtendo assim ca e p(x) = x2 − x + 4 Desta forma f (0.2 + a2 0. o ca Teoricamente estes procedimentos resultam no mesmo polinˆmio pn (x).84 = p(0.76 A solu¸˜o deste sistema ´ a0 = 4.3) ≈ p(0.4 0.04 3.4 3. INTERPOLACAO POLINOMIAL ¸˜ 61 A matriz A. cujo o determinante ´ e e dado por n l−1 Det(A) = (xl − xj ) l=1 j=0 Como xl = xj para l = j.42 Que equivale ao sistema linear na forma matricial  1 0 0 4.4) = a0 + a1 0.  . o grau do polinˆmio ser´ menor ou igual a dois.76 Como temos.2) = a0 + a1 0.3) usando o polinˆmio interpolaca o dor dos dados abaixo. xk fk 0.79 Existem outras formas de encontrar o polinˆmio interpolador que a resolu¸˜o de sistemas.84  1 0.00    1 0. associada ao sistema.00 = p(0) = a0 + a1 0 + a2 02 f1 = 3.3) = 3.1 Vamos achar uma aproxima¸˜o para f (0.0 4.

2)(0 − 0.4) −1 2 L1 (x) = = = (x − 0. INTERPOLACAO POLINOMIAL ¸˜ 62 5.0 0.1. .1 Vamos considerar a tabela de pontos do exemplo anterior x f (x) Calculando os Lk (x) temos (x − x1 )(x − x2 ) (x − 0.4 3.CAP´ ITULO 5.1 Forma de Lagrange Vamos considerar o conjunto de n+1 pontos (xk . x1 .4 − 0.4x) (x1 − x0 )(x1 − x2 ) (0.6x + 0.08) (x0 − x1 )(x0 − x2 ) (0 − 0. . Isto j´ era esperado. .2) 1 (x − x0 )(x − x1 ) L2 (x) = = = (x2 − 2.04 (x − 0)(x − 0. .4) 0.2)(x − 0. .2 4.76 . fk ). Os polinˆmios e o o Lk (x) s˜o chamados de polinˆmios de Lagrange e estes s˜o obtidos da forma: a o a Lk (x) = (x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) (xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn ) 0 0 1 0 0 1 se k = j se k = j Exemplo 5.6x) (x2 − x0 )(x2 − x1 ) (0. k = 0.2 − 0. n distintos e vamos considerar o polinˆmio representado por o n pn (x) = f0 L0 (x) + f1 L1 (x) + · · · + fn Ln (x) = k=0 fk Lk (x) onde Lk (x) ´ um polinˆmio de grau ≤ n que satisfaz a rela¸˜o e o ca Lk (xj ) = Com isto temos que pn (xj ) = f0 L0 (xj ) + f1 L1 (xj ) + · · · + fj Lj (xj ) + · · · + fn Ln (xj ) = fj Logo pn (x) ´ o polinˆmio interpolador de f (x) nos pontos x0 .2 − 0)(0. . 1. o e ´ 0.08 (x − x0 )(x − x2 ) (x − 0)(x − 0.00 3.2) 0.08 L0 (x) = Assim temos que p(x) = x2 − x + 4 Observe que o polinˆmio ´ o mesmo obtido pela resolu¸ao de sistema.4 − 0)(0. .4) 1 = = (x2 − 0. xn .4) 0.84 0. o e c˜ a pois o polinˆmio interpolador ´ unico.

1. . . . xk+1 . f3 . . . . xk − xk+2 De forma an´loga. xk+n .x3 ] x −x f2 −f > x2 −x3 3 .xn−1 ]−f [x1 . xn−1 xn f [xk ] f [xk .x21]−f 3 2 . definimos o operador diferen¸a dividida de ordem n..x10]−f 2 1 . xk+1 .2 Forma de Newton A forma de Newton do polinˆmio interpolador ´ baseada nos operadores de diferen¸as divio e c didas. xk+1 .xn ] x0 −xn . . xk+n ] > f [x0 . . . ´ definido c e da seguinte forma: f [xk . nos pontos xk . . . . Definimos o ca operador de diferen¸a dividida de ordem zero em xk por: c f [xk ] = f (xk ). a c da seguinte forma: f [xk . xk+1 ] − f [xk+1 . ... . O operador de diferen¸a dividida de ordem dois. xk+2 ] . nos pontos xk . xk+2 ] f0 f0 −f > x0 −x1 1 [x f1 > f [x0 . . xk+2 ] = f [xk . xk+1 ] = xk − xk+1 Este valor pode ser interpretado como uma aproxima¸ao para a primeira derivada de f (x).. . . INTERPOLACAO POLINOMIAL ¸˜ 63 5. xk+n−1 ] − f [xk+1 . xk − xk+n Note que a forma de c´lculo desses operadores ´ construtiva.. xk+1 . c˜ em xk .CAP´ ITULO 5. xk+n ] = f [xk . .x2 ] x −x f1 −f > x1 −x2 2 [x f2 > f [x1 . xk+1 . xn . . . xk+1 . xk+1 . . xk+n ] . xk+2 . nos pontos xk .. Seja f (x) uma fun¸˜o tabelada em n + 1 pontos distintos x0 . . 0. . . O operador de diferen¸a dividida de ordem um. .. Um esquema pr´tico para o c´lculo desses operadores ´ dado pela tabela abaixo a a e x x0 x1 x2 x3 . n − c c 2. ´ definido da seguinte c e forma: f [xk ] − f [xk+1 ] f [xk . . no sentido de que para obter a e a diferen¸a dividida de ordem n necessitamos das diferen¸as divididas de ordem n − 1. x1 .. fn−1 fn−1 −f > xn−1 −xn n fn ··· f [xk . xk+1 ] f [xk .

. . x1 ] = f (x0 ) p1 (x1 ) = f (x0 ) + (x1 − x0 )f [x0 . .2) f (x0 ) − f (x1 ) x0 − x1 0 0 0 . x1 ] + (x − x0 )(x − x1 )f [x. mais uma fun¸ao E1 (x) que c˜ e o c˜ depende da diferen¸a dividida de ordem dois. . . x1 ] = p1 (x) + E1 (x). x0 . x1 ] + (x − x1 )f [x. x1 ] = x − x1 Isolando a diferen¸a de ordem um que depende de x segue que c f [x. x0 . x1 . .1 Constru¸˜o do Polinˆmio ca o Vamos considerar o conjunto de pontos x0 . INTERPOLACAO POLINOMIAL ¸˜ 64 5. . x0 . x0 . x1 ] + (x − x1 )f [x. nos pontos x0 . x0 . . . f1 . xn ] En (x) = (x − x0 )(x − x1 ) · · · (x − xn )f [x. p1 (x0 ) = f (x0 ) + (x0 − x0 )f [x0 . . x2 ] + · · · + (x − x0 )(x − x1 ) · · · (x − xn−1 )f [x0 . x1 ] + (x1 − x0 )(x − x1 )f [x. x1 . x1 ] + (x − x0 )(x − x1 )f [x0 . fn . x1 ] = f (x0 ) + (x1 − x0 ) = f (x1 ) De forma an´loga. . x1 temos f [x. xn . x − x0 e isto implica que f (x) = f (x0 ) + x − x0 f [x0 . pois. xn . sobre os pontos a c x. xn ] (5. x0 . O polinˆmio p1 (x) ´ o polinˆmio interpolador e o e o de f (x).CAP´ ITULO 5.p1 (x). x1 ] Aplicamos a defini¸˜o de diferen¸a de ordem um no primeiro termo. x0 ] = f [x0 . x0 . . x1 . x1 ] + (x0 − x0 )(x − x1 )f [x. x0 . . dados por f0 . assim segue que ca c f (x) − f (x0 ) = f [x0 . onde pn (x) = f (x0 ) + (x − x0 )f [x0 . . . x0 ] − f [x0 − x1 ] f [x. x1 . podemos calcular a diferen¸a dividida de ordem n. . obtendo f (x) = pn (x) + En (x). onde conhecemos os valores da fun¸ao c˜ f (x). . Ou seja a fun¸ao f (x) ´ igual a um polinˆmio de grau um . x1 . x1 . .2. Calculando a diferen¸a dividida de ordem dois entre os pontos c x.1) (5. x1 ]. Desta forma podemos dizer que a fun¸˜o f (x) c ca ´ aproximada por p1 (x) com erro de E1 (x). . x0 .

5)(x − 1. x1 .. .0)2.9811 Montando a tabela das diferen¸as divididas temos c xk f [xk ] f [xk . . . x2 ] + (x − x0 )(x − x1 )(x − x2 )f [x0 . x3 ] = 0.1487 2. xn . .7183 1. n + 1 pontos distintos.1487 0..29721x2 + 0. Estimativas para o erro podem ser obtidas e a se conhecemos algumas propriedades da fun¸˜o. xn ] o erro ´ dado por: ¯ e En (¯) = f (¯) − pn (¯) = (¯ − x0 )(¯ − x1 ) · · · (¯ − xn ) x x x x x x f (n+1) (ξ) (n + 1)! com ξ ∈ [x0 . . .2974 0. xn ] . INTERPOLACAO POLINOMIAL ¸˜ 65 Assim podemos aproximar f (x) por pn (x). O polinˆmio e o pn (x) ´ o polinˆmio interpolador de f (x) sobre os pontos x0 .36306 1..1 Sejam x0 . Exemplo 5. x1 . .3864 4. x0 . ca x 0 0.0)0. que por sua vez. .36306x3 5. . Logo polinˆmio interpolador ´ dado por o e p(x) = f (x0 ) + x − x0 f [x0 . xn . pois p(xj ) = f (xj ).05803x + 0. .1 Vamos considerar a fun¸˜o f (x) tabelada abaixo. . xn .2974 + (x − 0. x1 .5256 1. xn ] ent˜o para e a a x ∈ [x0 .2) representa o erro cometido na interpola¸˜o sobre os pontos x0 .0000 2. xn ].00 + (x − 0. x1 . xk+1 ] f [xk .1392 0.. depende do valor de f (¯). . .1) podemos notar que as diferen¸as divididas que necessitamos s˜o as e ca c a primeiras de cada coluna.9811 Atrav´s da equa¸˜o (5.5 f (x) 0.5 1 1. . x1 . x1 .5)0. n.3 Estudo do Erro A equa¸ao (5.0000 1.2. e o para j = 0. Seja pn (x) o polinˆmio ino terpolador sobre x0 . sendo que o erro ´ dado por En (x). . .7183 4. 1. Se c˜ ca aproximamos f (¯) ≈ pn (¯) o erro ser´ dado por En (¯). . . n˜o temos como calcular este valor. xk+2 ] f [xk .8418 3.5 1. Se f (x) ´ n + 1 vezes diferenci´vel em [x0 .0 2. xn . xk+3 ] 0. ca Teorema 5. x1 ] + (x − x0 )(x − x1 )f [x0 . . x2 . .5 4. . . . . Por´m este depende da diferen¸a x x a x e c dividida f [¯.8418 + (x − 0. Como a fun¸ao f (x) x x c˜ ´ tabelada. .36306 = 2.CAP´ ITULO 5.0)(x − 0.3.0)(x − 0.0 0.

xn ] . . 3: Aplicando o Teorema de Rolle a H(t) e suas derivadas at´ ordem n + 1. f (n+1) (ξ) (n + 1)! .xn ] (n + 1)! onde temos que ter alguma informa¸ao sobre a fun¸˜o que permita limitar sua derivada de c˜ ca ordem n + 1. logo H satisfaz 66 1: H(t) possui derivadas at´ ordem n + 1. pois para t = xi temos H(xi ) = En (x)G(xi ) − En (xi ) G(x) = 0 e para t = x temos H(x) = En(x)G(x) − En(x)G(x) = 0. . xn ] tem n zeros em [x0 .CAP´ ITULO 5. xn ] tem n + 1 zeros em [x0 . e e 2: H(t) possui pelo menos (n + 2) zeros em [x0 . . . . Substituindo na ca equa¸˜o acima temos que ca En (x) = (x − x0 )(x − x1 ) · · · (x − xn ) Na pr´tica usamos um limitante para o erro. En (n+1) (t) = f (n+1) (t) − pn (n+1) (t) G(n+1) (t) = (n + 1)! Como o polinˆmio pn ´ de grau n temos que pn (n+1) (t) = 0 e segue que o e H (n+1) (t) = En (x)(n + 1)! − f (n+1) (t)G(x) A fun¸˜o H (n+1) (t) possui um zero em [x0 . temos e H(t) H (t) H (t) . tem 1 zeros em [x0 . . 1. xn ] que vamos chamar de ξ. . pois G e En possuem derivadas at´ esta ordem. (n+1) H tem n + 2 zeros em [x0 . xn ]. x∈[x0 . Seja H(t) = En (x)G(t) − En (t)G(x). INTERPOLACAO POLINOMIAL ¸˜ Prova: Seja G(x) = (x − x0 )(x − x1 ) · · · (x − xn ). n. sendo a |f (n+1) (x)| |En (x)| ≤ |(x − x0 )(x − x1 ) · · · (x − xn )| max . xn ] 0 0 Por ouro lado temos que H (n+1) (t) = En (x)G(n+1) (t) − En (n+1) (t)G(x) onde. logo G(xi ) = 0 para i = 0.

44)| ≤ 0.2 0. 0.32 0.52)| max |f (n+1) (x)| |f (n+1) (x)| = 0.6 0. c˜ e c˜ sem a necessidade de usar todos os dados dispon´ ıveis.809 0. Como exemplo. A outra forma de se achar x ´ fazer uma interpola¸˜o inversa.1 Dada a tabela de pontos x 0.34 0.5 Interpola¸˜o Inversa ca Considere o seguinte problema: Dada uma tabela de pontos (xk .27 0. o A condi¸˜o para que a fun¸ao seja invers´ ´ que esta seja mon´tona crescente ou ca c˜ ıvel e o decrescente. o erro estaria limitado por e |En (0. pois o |En (0.34)(0. Desejamos achar o valor u de x de tal forma que f (x) = y.951 0. Em geral a equa¸˜o pn (x) = y tem mais de uma solu¸ao e se c˜ ca c˜ o grau do polinˆmio for maior que 2.3 f (x) 0. x∈[x0 .72.52. vamos considerar a tabela abaixo x 0.000 0. Em termos dos pontos tabelados isto significa que os pontos devem satisfazer f0 < f1 < · · · < fn ou f0 > f1 > · · · > fn Exemplo 5. Isto se a justifica pela f´rmula do erro.44−0. isto ´ consideramos ıvel a c˜ e o conjunto de dados x = f −1 (y) e achamos o polinˆmio interpolador de f −1 (y).37 Vamos achar uma aproxima¸ao para f (0.00268 max |f (n+1) (x)| . usando um polinˆmio de grau 2.2 0.00032 max x∈[x0 .44). ent˜o interpolamos a fun¸ao inversa.44)| ≤ |(0.44−0.8 0.x2 ] (n + 1)! 5.5 1.4)(0.6 0. Temos duas formas de resolver o problema: Obter o polinˆmio interpolador de f (x) e o resolver a equa¸ao pn (x) = y. n˜o temos um procedimento anal´ o a ıtico que determine as solu¸˜es.72 .7 0.44−0.4 0. Se f (x) ´ co e ca e invers´ num intervalo contendo y. c˜ o necessitamos de 3 pontos e o ideal ´ escolher aqueles que est˜o mais pr´ximos do valor que e a o desejamos aproximar. fn ]. Neste caso.34.2 e x2 = 0. Logo a melhor escolha ser´ x0 = 0.52 f (x) 0. x1 = 0.809 0.4 0.x2 ] (n + 1)! x∈[x0 .4 Escolha dos Pontos Uma das caracter´ ısticas da interpola¸ao ´ que esta pode fornecer uma aproxima¸ao local.16 0. fk ) e um n´mero y ∈ [f0 .22 0.CAP´ ITULO 5.4 e x2 = 0.5.587 0.x2 ] (n + 1)! Se tiv´ssemos escolhido x0 = 0.29 0.951 0. INTERPOLACAO POLINOMIAL ¸˜ 67 5.587 .

9.5].3 + (y − 0.000 0.2 0.1).000 f −1 0.704 + (y − 0.9 ´ aproximado por x = f −1 (0. Vamos nos e ıvel co concentrar no primeiro caso.809 0.9 (x0 = 0. usando uma interpola¸˜o ca ca quadr´tica na forma de Newton. pois ca e na interpola¸ao n˜o temos garantia de que f (x) ≈ pn (x) (Veja figura 5.7].CAP´ ITULO 5. Em segundo lugar devemos verificar se a fun¸˜o f (x) admite inversa. e ordem 1 0. Fato que n˜o precisa e ca a ocorrer com o ajuste de curvas.587 f −1 (y) 0. Logo para um conjunto de 100 pontos teremos um polinˆmio o de grau ≤ 99. o mais indicado ´ o ajuste de curvas. No segundo e caso a fun¸˜o admite inversa no intervalo [0.6 Observa¸oes Finais c˜ Como no caso do ajuste de curvas. x1 = 0. o que n˜o ´ muito pr´tico se desejamos montar um modelo matem´tico.9) ≈ p(0. a Em primeiro lugar devemos determinar em que intervalo pode ocorrer f (x) = 0. enquanto que o ajuste de ca e co curvas ´ indicado para uma aproxima¸oes qualitativas.4 1.3 0.115 − 11.3315.809 0. pois esta ´ decrescente neste intervalo. Por´m a interpola¸˜o exige que os pontos sejam distintos. 0.809. 0. o grau do polinˆmio interpolador depende e o da quantidade de pontos. 0. 0.040 0. Se desejamos saber a taxa de varia¸ao e c˜ c˜ de uma determinada fun¸˜o (ou seja a derivada).5. a e a a A interpola¸˜o ´ mais indicada para aproxima¸˜es quantitativas.951 0. y = 0.999 ordem 2 5. Logo esta admite inversa neste intervalo. Neste exemplo temos duas possibilidades.951 a o e x2 = 1.000).605y + 6.951)(y − 0. Para o primeiro caso temos que a fun¸˜o ca ca f (x) ´ crescente no intervalo [0.9.999 = 5. para x ∈ [0.3.994y 2 Portanto o valor de x tal que f (x) = 0. Montando a tabela da fun¸˜o inversa temos ca y 0. c˜ a . INTERPOLACAO POLINOMIAL ¸˜ 68 Vamos procurar uma aproxima¸˜o de x de tal forma que f (x) = 0. sobre um conjunto ca ca de dados. Calculando as diferen¸as divididas temos c y 0.809)0.2.6.5 e conseq¨entemente o polinˆmio ´ dado por u o e p(y) = 0.4] ou x ∈ [0.809)6.5 Como desejamos um polinˆmio de grau 2. ca e Como desejamos uma interpola¸˜o quadr´tica temos que ter no m´ ca a ınimo trˆs pontos e nos e dois casos temos quatro pontos. devemos escolher trˆs pontos e a melhor escolha s˜o o e a os pontos que est˜o mais pr´ximos do valor a ser aproximado. Portanto ´ poss´ achar as duas aproxima¸˜es.8].3 0.951 1. Al´m disso.704 6. a interpola¸˜o aproxima uma fun¸˜o.9) = 0.4 2.

Castilho Forma de Lagrange do Pol.1: Fenˆmeno de Runge.6 −0... A interpola¸˜o ´ mais indicada para aproxima¸˜es quantitativas. onde a figura 5. ca e o ent˜o o polinˆmio interpolador ´ a pr´pria f (x).4 −0. Abaixo apresentamos um exemplo implea mentado no MatLab.6.4 0. J.5 −1 −0. o polinˆmio interpolador n˜o ´ indicado para extrapolar valores. — f (x) o % % % % % Diciplina de Calculo Numerico .. E.pn (x). xn ].Prof.0.6.2 0. onde o termo f (n+1) (ξ) = 0 ∀ξ ∈ [x0 .5 0 −0. xn ].. INTERPOLACAO POLINOMIAL ¸˜ 69 Se a fun¸˜o que estamos interpolando.1..-0.8. Desta forma.0] Calcula o polinomio e a funcao nos pontos . Isto pode ser verificado pela f´rmula do a o e o o erro.0. isto ´ aproximar o a e e valores que n˜o pertencem ao intervalo [x0 .1 mostra o fenˆmeno de Runge.0. enquanto que o ajuste ca e co de curvas ´ indicado para uma aproxima¸˜o qualitativa. que ´ caracterizado em aumentar o erro nos pontos extremos do intervalo e mee lhorar a aproxima¸˜o nos pontos centrais.-0. sobre n + 1 pontos ´ um polinˆmio de grau ≤ n.CAP´ ITULO 5.5 1 0. ocorre o fenˆmeno o de Runge. Interpolador Interpola a funcao f(x)=1/(1+25x^2) nos pontos x=[-1.8 −0..8. b]. em que os ca e o pontos extremos do intervalo faz com que o fator (x − x0 ) · · · (x − xn ) seja grande. o 2 1. Isto ´ justificado pela f´rmula do erro.8 1 Figura 5.6 0.2 0 0. e ca A medida que aumentamos a quantidade de pontos num intervalo [a. .

% Forma de Lagrange n=size(xf). 1900 17.^2). plot(xf.98./(1+25 *xf.9 1960 70.02:1.2 1970 93.1 o a) Usando o polinˆmio interpolador de grau 2. p(s)=p(s)+fk(l)*L.96. ca o . com o menor erro poss´ ca a ıvel.xf. fk=1..7 Exerc´ ıcios Exerc´ ıcio 5. end. ano Hab.. estime.2 51. x=-1:0. % pontos onde vamos calcular o polinomio m=size(x).-0.96.f.6 41.0] % Compara os graficos e mostra o fenomeno de Runge % clear.0. INTERPOLACAO POLINOMIAL ¸˜ % xf=[-1. for k=l+1:m(2) L=L*(xf(s) -x(k))/(x(l)-x(k)).0.1.-0. f=1.1 A tabela abaixo fornece o n´mero de habitantes do Brasil (em milh˜es) de u o 1900 a 1970..’:’). print -depsc fig51.2:1.eps 70 5.98. end../(1+25 *x. ache uma aproxima¸˜o para a popula¸˜o no ano de 1959. for k=1:l-1 L=L*(xf(s) -x(k))/(x(l)-x(k)).4 1920 1940 1950 30.p. na forma de Lagrange.CAP´ ITULO 5.^2). em que ano a popula¸˜o ultrapassou os 50 milh˜es. for l=1:m(2) L=1. % pontos de interpolacao for s=1:n(2) p(s)=0. xf=-1:0. end. end. ca ca b) Usando interpola¸˜o quadr´tica na forma de Newton.0.

1 0. Exerc´ ıcio 5. ı o ca ımica liberou calor de acordo Exerc´ ıcio 5.CAP´ ITULO 5. usando o polinˆmio ı ca o interpolador na forma de Newton. ca ı √ Exerc´ ıcio 5. a a b) Calcule a prov´vel temperatura ocorrida `s 9:45 hr.980 -0.5 Num experimento de laborat´rio.955 a) Quando poss´vel.2 f (x) 0.25) e f (0) .996 0. Mostre que |E1 (x)| ≤ h2 /8.2 Considere a fun¸˜o √(x) = x e os pontos x0 = 16. uma rea¸˜o qu´ com as medi¸oes mostradas na tabela abaixo c˜ hora Co 8:00 hr 9:00 hr 0 130 9:30 hr 210 10:00 hr 360 a) Determine uma fun¸˜o que dˆ a temperatura em fun¸˜o do tempo. x -0. b) Se tiv´ssemos usado o polinˆmio interpolador na forma de Lagrange sobre os mesmos e o pontos obter´amos melhor resultado? Justifique.15 0. de modo que os ca e ca pontos tabelados sejam representados sem erro. usando interpola¸˜o sobre estes pontos? a ca Exerc´ ıcio 5. usando ca os pontos x0 e x1 = x0 + h. ache uma aproxima¸˜o para f (−0.4 Dada a tabela abaixo.35 0. INTERPOLACAO POLINOMIAL ¸˜ 71 c) Com os resultados obtidos no ´ ıtem a) podemos estimar a taxa de crescimento da popula¸˜o neste per´odo? Justifique sua resposta. x1 = 25 e x2 = 36.995 0. ca f Com que precis˜o podemos calcular 20.3 Considere o problema de interpola¸˜o linear para f (x) = sen(x) + x. com o menor erro poss´ ıvel. .988 0.1 0.

Desta forma vamos aproximar a integral da fun¸ao f (x) pela integral do polinˆmio. O polinˆmio interpolador de grau o um. b]. com h = (b − a)/n. A integra¸ao num´rica ´ aplicada quando a primitiva ca c˜ e e da fun¸ao n˜o ´ conhecida ou quando s´ conhecemos a fun¸ao f (x) num conjunto discreto c˜ a e o c˜ de pontos. x1 ](x − x0 )dx 72 . obtendo c˜ o b a f (x)dx ≈ = x1 x0 x1 x0 p1 (x)dx f (x0 ) + f [x0 . As f´rmulas de Newton-Cˆtes s˜o baseadas na estrat´gia de aproximar a fun¸˜o f (x) o o a e ca por um polinˆmio interpolador e aproximamos a integral pela integral do polinˆmio. a o c˜ 6.Cap´ ıtulo 6 Integra¸˜o Num´rica . e os a c e coeficientes Ai s˜o determinado pelo polinˆmio escolhido para aproximar a fun¸ao f (x). As o o aproxima¸˜es s˜o do tipo co a b a n f (x)dx ≈ A0 f (x0 ) + A1 f (x1 ) + · · · An f (xn ) = i=0 Ai f (xi ) onde os pontos s˜o igualmente espa¸ados. x1 ](x − x0 ). isto ´ xk = x0 + kh.F´rmulas de ca e o Newton Cˆtes o O objetivo deste cap´ ıtulo ´ estudar esquemas num´ricos que aproxime a integral definida de e e uma fun¸˜o f (x) num intervalo [a.1 Regra do Trap´zio e A Regra do Trap´zio ´ a f´rmula de Newton-Cˆtes que aproxima a fun¸ao f (x) pelo polinˆmio e e o o c˜ o interpolador de grau 1 sobre os pontos x0 = a e x1 = b. na forma de Newton ´ dado por e p1 (x) = f (x0 ) + f [x0 .

x1 ] 73 onde h = x1 − x0 . A f´rmula acima representa a ´rea do trap´zio que tem f (x1 ) e f (x0 ) o a e como os valores das bases e h como o valor da altura. c˜ f(x) f(x1) p(x) f(x0) a || x0 b || x1 6. 2 = f (x0 )(x1 − x0 ) + f [x0 .´ ´ ˆ CAP´ ITULO 6. Na figura 6. No cap´ ıtulo de interpola¸ao vimos que uma fun¸ao f (x) pode ser representada por c˜ c˜ .FORMULAS DE NEWTON COTES ¸˜ x1 2 x0 2 − − x0 (x1 − x0 ) 2 2 f (x1 ) − f (x0 ) (x1 − x0 )2 = f (x0 )(x1 − x0 ) + x1 − x0 2 (x1 − x0 ) = (f (x0 ) + f (x1 )) 2 h = (f (x0 ) + f (x1 )).1 temos uma representa¸˜o ca desta aproxima¸ao.2 C´lculo do Erro a f (x) = pn (x) + En (x). INTEGRACAO NUMERICA .

devemos derivar f (x) e igualar a zero.´ ´ ˆ CAP´ ITULO 6. . 1] a ı usando a Regra do Trap´zio.2. Calculando a integral da fun¸ao f (x) no intervalo [a. cuja a primitiva n˜o tem uma forma anal´tica conhecida. No c˜ e c˜ c˜ caso da Regra do Trap´zio segue que o erro ´ dado por e e ET = b a E1 (x)dx = b a (x − x0 )(x − x1 ) f (ξ) h3 dx = − f (ξ). Desta forma temos que h = 1 − 0 = 1 e segue que e 1 0 1 2 2 2 e−x dx ≈ (e−0 + e−1 ) = 0.b] 6 Note que esta estimativa do erro informa que a aproxima¸ao obtida n˜o tem garantida nem c˜ a da primeira casa decimal como exata. Logo a solu¸ao exata da integral est´ entre os valores c˜ a 0.FORMULAS DE NEWTON COTES ¸˜ 74 onde pn (x) ´ o polinˆmio interpolador e En (x) o erro na interpola¸ao definido no Teorema e o c˜ 5. Para calcular os pontos cr´ticos da f (x). que ´ desconhecido.3.166667. ı f (x) = (12x − 8x3 )e−x = 0 ⇔ x = 0 ou x = ± 2 3 2 Como o unico ponto cr´tico pertencente ao intervalo ´ x = 0 segue que ´ ı e ξ∈[a. b]. ξ ∈ [a. Sendo 2 f (x) = (4x2 − 2)e−x temos que nos extremos do intervalo vale |f (0)| = 2 e |f (1)| = 0. b] 2 12 Como o erro depende do ponto ξ. Vamos aproximar a integral no intervalo [0. segue que c˜ b a f (x)dx = b a pn (x)dx + b a En (x)dx. vamos considerar a fun¸˜o f (x) = e−x . INTEGRACAO NUMERICA .1. obtendo.b] 2 ca Exemplo 6.166667 12 ξ∈[a.6839397 2 Para calcular o erro cometido temos que limitar a segunda derivada da fun¸˜o no intervalo ca [0.735759. na pr´tica usamos a estimativa e a |ET | ≤ h3 max |f (ξ)| 12 ξ∈[a.b] max |f (ξ)| = 2 Com isto temos que ET ≤ h3 1 max |f (ξ)| = = 0.1 Como exemplo.6839397 ± 0. 1]. ou seja o erro na integra¸ao ´ dado pela integra¸ao do erro cometido na interpola¸ao.

b] em n subintervalos de mesma amplitude e aplia c˜ camos a Regra do Trap´zio em cada subintervalo (Ver Figura 6. INTEGRACAO NUMERICA . 1. . . .´ ´ ˆ CAP´ ITULO 6. Neste caso temos que e a b Figura 6.1: Regra do Trap´zio Repetida e b−a e xk = x0 + kh com k = 0. logo temos que o erro ´ da forma e b f (x)dx ≈ h3 |ET G | ≤ n max |f (ξ)| 12 ξ∈[a.b] . n n Aplicando a Regra do Trap´zio em cada subintervalo [xk . .FORMULAS DE NEWTON COTES ¸˜ 75 6. xk+1 ] segue que e h= h h h h h (f0 + f1 ) + (f1 + f2 ) + (f2 + f3 ) + · · · + (fn−2 + fn−1 ) + (fn−1 + fn ) 2 2 2 2 2 a h = [f0 + 2(f1 + f2 + · · · + fn−1 ) + fn ] 2 O erro cometido na aproxima¸˜o ´ igual a soma dos erros cometidos em cada subinterca e valo.1).3 Regra do Trap´zio Repetida e A Regra do Trap´zio aproxima bem fun¸oes suaves ( |f (x)| e c˜ 1) e/ou em intervalos de integra¸˜o de amplitude pequena. Para intervalos de amplitude grande podemos fazer uma ca subdivis˜o do intervalo de integra¸ao [a.

tomamos e c h = (b − a)/2. 1].666 ⇔ n ≥ 40. f=exp(-x.3.FORMULAS DE NEWTON COTES ¸˜ 2 76 Exemplo 6. Para obter a ca c˜ aproxima¸˜o da integral vamos considerar o polinˆmio interpolador na forma de Newton.. logo h3 n max |f (ξ)| ≤ 10−4 12 ξ∈[0. Na figura 6..4 Regra de Simpson 1/3 Neste caso. E. Para isto necessitamos o ca de trˆs pontos x0 . vamos ca determinar o n´mero de subintervalos necess´rios para que a Regra do Trap´zio Repetida u a e forne¸a uma aproxima¸˜o com pelo menos 3 casas decimais exatas. Para isto devemos ter c ca que |ET G | ≤ 10−4 .1 Considerando a fun¸˜o do exemplo anterior.m do MatLab que fornece a aproxima¸˜o da integral pela ca ca Regra do Trap´zio. It=trapz(x. x1 ] + (x − x0 )(x − x1 )f [x0 ..xn] % f=[fo. f (x) = e−x em [0. Usando 41 subintervalos temos a aproxima¸˜o It = 0. ca o p2 (x) = f (x0 ) + (x − x0 )f [x0 . a ca e anterior) segue que n h3 1 1 max |f (ξ)| ≤ 10−4 ⇔ n 3 2 ≤ 10−4 12 ξ∈[0. . x1 e x2 . x=0:h:1..fn] % h=1/41. INTEGRACAO NUMERICA .y) % Calcula a integral usando a regra do trapezio % para os pontos % x=[xo. Como os pontos devem ser igualmente espa¸ados.f) 6. Castilho % Exemplo do uso da funcao trapz(x.824 Devemos tomar no m´nimo n = 41 subintervalos para atingir a precis˜o desejada.f1. x1 .. J.1] Sendo h = (b − a)/n e que o m´ximo da segunda derivada da fun¸˜o em [0.^2).746787657 e ca % Diciplina de Calculo Numerico . x2 ]..4 temos uma representa¸˜o desta aproxima¸ao. usamos o polinˆmio de grau 2 que interpola a fun¸˜o f (x).1] n 12 1 ⇔ ≤ 6 × 10−4 n2 ⇔ n2 ≥ 1666.x1.Prof..´ ´ ˆ CAP´ ITULO 6. 1] ´ 2 (Ver ex. Abaixo ı a apresentamos o uso da fun¸˜o trapz.

Desta forma tomamos e h= b−a 1−0 1 = = 2 2 2 .1 Vamos considerar a fun¸˜o do exemplo anterior: f (x) = e−x no intervalo ca [0. ξ ∈ [a.4.´ ´ ˆ CAP´ ITULO 6. Desta forma obtemos c˜ ES = b a E2 (x)dx = b a (x − x0 )(x − x1 )(x − x2 ) f (ξ) h5 dx = − f (iv) (ξ). obtemos a f´rmula do erro. b] 3! 90 Na pr´tica usamos a estimativa para o erro a |ES | ≤ h5 max |f (iv) (ξ)| 90 ξ∈[a.FORMULAS DE NEWTON COTES ¸˜ 77 f(x ) 0 f(x1) f(x ) 2 a || x0 x1 b || x2 E com isto segue que a integral da fun¸˜o f (x) ´ aproximada por ca e b a f (x)dx ≈ = x2 x0 p2 (x)dx h (f (x0 ) + 4f (x1 ) + f (x2 )). INTEGRACAO NUMERICA . 1]. 3 De forma an´loga a Regra do Trap´zio.b] 2 Exemplo 6. Para usar a Regra de Simpson temos que ter trˆs pontos. integrando o erro cometido a e o na interpola¸ao.

FORMULAS DE NEWTON COTES ¸˜ E com isto segue a aproxima¸˜o ´ dada por: ca e b a 78 1 f (x)dx ≈ (f (0) + 4f (1/2) + f (1)) = 0.74718 6 A limita¸˜o do erro depende da limita¸˜o da quarta derivada da fun¸˜o no intervalo ca ca ca [0.958572 pertence ao intervalo [0. xk+2 ] o que implica que n deve ser um n´mero par. logo o subintervalo que e aplicaremos a f´rmula ser´ da forma [xk .00416667 90 ξ∈[a.b] Desta forma podemos garantir que as duas primeiras casas decimais est˜o corretas. a 6. c˜ e Vamos dividir o intervalo de integra¸˜o em n subintervalos de mesma amplitude. . sendo: 2 f (iv) (x) = (12 − 48x2 + 16x4 )e−x Calculando nos extremos do intervalo temos |f (iv) (0)| = 12 e |f (iv) (1)| = 0.958572 ou x = ±2. o a u Neste caso temos que h= b−a e xk = x0 + kh k = 0. 1. .´ ´ ˆ CAP´ ITULO 6.958572)| = 7. INTEGRACAO NUMERICA .b] 2 max |f (iv) (ξ)| = 12 Obtemos desta forma que ES =≤ h5 max |f (iv) (ξ)| = 0.5 Regra de Simpson Repetida Podemos melhorar a aproxima¸ao da mesma forma que fizemos com a Regra do Trap´zio. . n n Aplicando a Regra de Simpson em cada subintervalo [xk .41948 Assim temos que ξ∈[a. xk+2 ] segue que b a f (x)dx ≈ h h h h (f0 + 4f1 + f2 ) + (f2 + 4f3 + f4 ) + · · · + (fn−4 + 4fn−3 + fn−2 ) + (fn−2 + 4fn−1 + fn 3 3 3 3 h = [f0 + 4(f1 + f3 + · · · + fn−1 )2(f2 + f4 + · · · + fn−2 ) + fn ] 3 .1] temos |f (iv) (0. Por´m ca e devemos observar que a Regra de Simpson necessita de trˆs pontos. 1]. .02018 Como o ponto x = 0.735759 Calculando os pontos cr´ticos temos ı f (v) (x) = (−32x5 + 160x3 − 120x)e−x = 0 ⇔ x = 0 ou x = ±0.

0813274 O menor valor de n que garante a precis˜o ´ n = 6. xk+2 ] e c˜ e como temos n/2 subintervalos segue que: |ESR | ≤ n h5 max |f (iv) (ξ)| 180 ξ∈[a. o a o Pelas f´rmulas de erro podemos observar que a Regra do Trap´zio ´ exata para poo e e linˆmios de grau um.1] |f (iv) (ξ)| = 12 segue que h5 1 12 n max |f (iv) (ξ)| ≤ 10−4 ⇔ n 5 ≤ 10−4 ξ∈[a.1 Considerando a integral da fun¸˜o f (x) = e−x .FORMULAS DE NEWTON COTES ¸˜ 79 O erro cometido nesta aproxima¸ao ´ a soma dos erros em cada subintervalo [xk . Para isto limitamos o erro por |ESR | ≤ 10−4 . no intervalo [0. e 6. e 6. enquanto que a Regra de Simpson ´ exata para polinˆmios de grau o e o trˆs.1 Calcule as integrais pela Regra do Trap´zio e pela Regra de Simpson usando e seis subintervalos.6 Observa¸oes Finais c˜ As f´rmulas de Newton-Cˆtes s˜o obtidas aproximando a fun¸˜o por um polinˆmio interpoo o a ca o lador.5.66666 ⇔ n ≥ 5. 1‘].2 Calcule o valor de π com trˆs casas decimais exatas usando a rela¸˜o e ca π = 4 1 0 dx 1 + x2 . INTEGRACAO NUMERICA . Por´m a o a e estrat´gia das f´rmulas repetidas permitem obter uma aproxima¸˜o com uma certa precis˜o e o ca a desejada. mais preciso ser´ o resultado obtido.7 Exerc´ ıcios Exerc´ ıcio 6.b] 180 n 180 1 ⇔ ≤ 15 × 10−4 n4 ⇔ n4 ≥ 666. Note que a Regra de Simpson necessita a e de bem menos subintervalos que a Regra do Trap´zio (n = 41). Quanto maior for o grau do polinˆmio. Sendo h = (b − a)/n e maxξ∈[0.6 dx xdx e 1+x 1 0 Exerc´ ıcio 6.´ ´ ˆ CAP´ ITULO 6. vamos ca determinar o n´mero de subintervalos necess´rios para obtermos uma aproxima¸˜o com trˆs u a ca e casas decimais exatas. usando f´rmulas que s˜o obtidas por polinˆmios de baixo grau. 4√ 0.b] 2 Exemplo 6.

4 Dada a tabela abaixo. calcule a integral x 0.150. ı f (x) 1. ent˜o a a aproxima¸˜o obtida pela Regra do Trap´zio ´ maior que o valor exato da integral. y)dx dy Aplique a regra para calcular uma aproxima¸˜o para ca 1 0 0 1 x2 + y 2 dx dy .514 1.26 0.22 0.204 0 . INTEGRACAO NUMERICA . b] e que f (x) > 0.3 Mostre que se f (x) ´ cont´ e ınua em [a.15 poss´vel. b].30 1. ∀x ∈ [a.5 Baseado na Regra de Simpson. determine uma regra de integra¸˜o para a ca integral dupla b d a c f (x.30 f (x)dx com o menor erro Exerc´ ıcio 6. ca e e Exerc´ ıcio 6.´ ´ ˆ CAP´ ITULO 6.347 1.897 0.FORMULAS DE NEWTON COTES ¸˜ 80 Exerc´ ıcio 6.

onde xk = x0 + kh. Isto ´ . . x3 . Neste caso dizemos que o m´todo ´ de m-passos.1) . . que ´ obtido em fun¸ao dos valores anteriores c˜ e e c˜ yk−1 . .) Muitos dos modelos matem´ticos nas ´reas de mecˆnica dos fluidos. y) y(x0 ) = y0 A aproxima¸˜o de y(x) ´ calculada nos pontos x1 . yk−2 . ..1 M´todo Euler e y = f (x. . . c˜ e achar a fun¸ao y(x) tal que c˜ y = f (x. para equa¸oes diferenciais de primeira ordem. yk−1 . e a a M´todos de Passo M´ ltiplo: S˜o aqueles em que o c´lculo de yk depende m-valores ane u a a teriores.V. O valor ca e da fun¸ao no ponto xk ´ aproximado por yk . x2 .). c˜ Neste cap´ ıtulo vamos nos concentrar em analisar esquemas num´ricos para solu¸ao de e c˜ Problemas de Valor Inicial (P. a a a c˜ rea¸˜es qu´ co ımicas s˜o representados por equa¸oes diferenciais. fluxo de calor. yk−m . yk−2 . . y0 .I. a teoria a c˜ garante a existˆncia e unicidade da solu¸˜o. por´m nem sempre podemos obter a forma e ca e anal´ ıtica desta solu¸ao. Em muitos casos.V. . .Cap´ ıtulo 7 Equa¸˜es Diferenciais Ordin´rias co a (P. . e e 7. vibra¸oes. . y) y(x0 ) = y0 Dado o problema de valor inicial Uma forma de aproximar a derivada de uma fun¸ao no ponto x1 ´ dado por c˜ e y (x0 ) = lim y(x0 + h) − y(x0 ) y(x0 + h) − y(x0 ) ≈ h→0 h h 81 (7.I. Com isto podemos classificar os m´todos em duas classes: e M´todos de Passo Simples: S˜o aqueles em que o c´lculo de yk depende apenas de yk−1 .

yk ) Este m´todo ´ conhecido como M´todo de Euler.1(0 − 2 ∗ 1) = 0.54 + 0. sendo que ca a c˜ de uma forma geral teremos yk+1 = yk + hf (xk .1(0.2 − 2 ∗ 0.5) .54 ≈ y(x3 ) = y(0.V.65 ≈ y(x2 ) = y(0.I.462) = 0. usando h = 0.8) = 0.1.8 ≈ y(x1 ) = y(0.462 + 0.54) = 0.1. Assim obtemos uma aproxima¸˜o y(x1 ) ≈ y1 .65) = 0.1) y1 + h(x1 − 2y1 ) = 0.462 ≈ y(x4 ) = y(0.2) y2 + h(x2 − 2y2 ) = 0. e e e Exemplo 7.4096 ≈ y(x5 ) = y(0.I.5). y0 ) h Com isto relacionamos o ponto y1 com y0 .8 + 0.´ CAP´ ITULO 7.1 Consideremos o seguinte problema de valor inicial y = x − 2y y(0) = 1 Neste caso temos que x0 = 0 e y0 = 1. segue que y1 − y0 = f (x0 .3 − 2 ∗ 0.) ¸˜ 82 y0 y1 y2 y3 y4 y5 | x0 | x1 | x2 | x3 | x4 | x5 Como x1 = x0 + h e pelo P. Vamos usar o M´todo de Euler para obter uma e aproxima¸˜o para y(0. De forma an´loga podemos obter y2 em fun¸ao de y1 .4 − 2 ∗ 0.1(0.V.1 − 2 ∗ 0.4) y4 + h(x4 − 2y4 ) = 0.65 + 0.1(0. y0 ) ⇒ y1 = y0 + hf (x0 .V.3) y3 + h(x3 − 2y3 ) = 0. um valor dado no P.I. Desta forma temos ca y1 y2 y3 y4 y5 = = = = = y0 + h(x0 − 2y0 ) = 1 + 0.1(0. EQUACOES DIFERENCIAIS ORDINARIAS (P.

) ¸˜ 83 A solu¸˜o anal´tica do P. temos e y(x) = y(xk )+ y (xk ) y (xk ) y (n) (xk ) y (n+1) (ξ) (x−xk )+ (x−xk )2 +· · ·+ (x−xk )n + (x−xk )n+1 1! 2! n! (n + 1)! y (xk ) 2 y (n) (xk ) n y (n+1) (ξ) n+1 y (xk ) h+ h + ··· + h + h 1! 2! n! (n + 1)! Calculando no ponto xk+1 e considerando que xk+1 − xk = h temos que y(xk+1 ) = y(xk ) + (7. ´ dada por y(x) = (5e−2x + 2x − 1)/4.2 M´todos da S´rie de Taylor e e y = f (x.I. EQUACOES DIFERENCIAIS ORDINARIAS (P.2 7.2 1 0. yk ) dx .6 0.´ CAP´ ITULO 7. y). yk ) podemos relacionar as derivadas de ordem superior com as derivadas da fun¸ao f (x. No gr´fico abaixo ca ı e a comparamos a solu¸˜o exata com os valores calculados pelo M´todo de Euler.4 0. Na ca pr´xima se¸˜o daremos uma forma geral do erro local.8 1 1.V.I.2) Como y (xk ) = f (xk .4 0. Note que em ca e cada valor calculado o erro aumenta. y) y(x0 ) = y0 Vamos considerar o problema de valor inicial Aplicando a s´rie de Taylor para y(x) no ponto xk .2 0 −0.2 0.2 −0.2 0 0. Como exemplo consideremos c˜ y (xk ) = d f (xk . Isto se deve porque cometemos um ”erro local” na aproxima¸˜o da derivada por (7.8 0.1) e este erro vai se acumulando a cada valor calculado. o ca 1.V.6 0.

EQUACOES DIFERENCIAIS ORDINARIAS (P.I.V. logo o erro local ´ dado por e e e Eloc (xk+1 ) = y (ξ) 2 h ξ ∈ [xk . logo segue que y = fx + fy f = 1 − 2(x − 2y) Substituindo em (7.I.´ CAP´ ITULO 7.V.5). pois este e e e ¯ coincide com a s´rie de Taylor at´ o primeiro termo.1. e e e o Exemplo 7. ´ de ordem n se este ca e ca e coincide com a s´rie de Taylor at´ o n-´simo termo.2) temos que y(xk+1 ) = y(xk ) + y (xk ) y (xk ) 2 h+ h 1! 2! h2 = y(xk ) + h(xk − 2y(xk )) + (1 − 2xk + 4y(xk )) 2 Portanto o m´todo ´ dado por e e yk+1 h2 = yk + h(xk − 2yk ) + (1 − 2xk + 4yk ) 2 .I.I. Se o erro e o depende da n-´sima derivada dizemos que o m´todo ´ de ordem n − 1. usando h = e 0.V.2. substituindo as c˜ a rela¸˜es do tipo acima na s´rie de Taylor. Os m´todos podem ser classificados de acordo co e e com o termo de maior ordem que usamos na s´rie de Taylor. y) = x − 2y.2.V. O erro local cometido por esta aproe e e xima¸ao ser´ da forma c˜ a y (n+1) (ξ) n+1 Eloc (xk+1 ) = h ξ ∈ [xk . xk+1 ] 2! Em geral. y = x − 2y y(0) = 1 Neste caso temos que f (x. sendo e Defini¸˜o 7. xk+1 ] (n + 1)! Como exemplo temos que o M´todo de Euler ´ um m´todo de 1o ordem. para o P. podemos determinar a ordem de um m´todo pela f´rmula do erro.) ¸˜ = fx + fy y = fx + fy f y (xk ) = fy (fx + fy f ) + f 2 fyy + 2f fxy + fxx 84 Desta forma podemos obter uma aproxima¸ao para o c´lculo do P.1 Dizemos que um m´todo para a solu¸˜o de P..1 Vamos utilizar o m´todo de 2¯ ordem para aproximar y(0.

515152) = 0.515152 + 0. Na figura 7. e Os resultados obtidos pelo m´todo de 2o ordem s˜o mais precisos.4 − 2 ∗ 0. e a ca 7.3 − 2 ∗ 0.12 0.1(0. Quanto maior a e a ¯ ordem do m´todo melhor ser´ a aproxima¸ao. L1 (x) = yn + (x − xn )yn = yn + (x − xn )f (xn .1 + 4 ∗ 0.2 + 4 ∗ 0. Vamos determinar um m´todo de 2o ordem.V. y).58921 2 h2 y3 + h(x3 − 2y3 ) + (1 − 2x3 + 4y3 ) 2 0.825) + (1 − 2 ∗ 0. yn ) L1 (xn+1 ) = yn + (xn+1 − xn )yn = yn + hf (xn .1 compara os resultados obtidos por este m´todo.6905 + 0. Montamos a reta L1 que tem coeficiente angular dado por y (xn ) = f (xn .3 + 4 ∗ 0. EQUACOES DIFERENCIAIS ORDINARIAS (P.12 0.1(0 − 2 ∗ 1) + 2 h2 y1 + h(x1 − 2y1 ) + (1 − 2x1 + 4y1 ) 2 0.2 − 2 ∗ 0.515152) + (1 − 2 ∗ 0.12 (1 − 2 ∗ 0 + 4 ∗ 1) = 0. yn ). yn ) = yen+1 .58921) = 0.6905) + (1 − 2 ∗ 0.1 − 2 ∗ 0.´ CAP´ ITULO 7.3 M´todos de Runge-Kutta e A estrat´gia dos m´todos de Runge-Kutta ´ aproveitar as qualidades dos m´todos da S´rie e e e e e de Taylor (escolher a precis˜o) sem ter que calcular as derivadas totais de f (x.825) = 0.6905 2 h2 y2 + h(x2 − 2y2 ) + (1 − 2x2 + 4y2 ) 2 0.825 1 + 0.825 + 0. a id´ia ´ e e o e e modificar o m´todo de Euler de tal forma que podemos melhorar a precis˜o.463425 2 85 O gr´fico na figura 7. y)](n) .I.4 + 4 ∗ 0. com os resultados a e obtidos pelo m´todo de Euler. Como o pr´prio nome diz.515152 2 h2 y4 + h(x4 − 2y4 ) + (1 − 2x4 + 4y4 ) 2 0.12 0.1(0.58921 + 0.1(0. que coincide com o m´todo e e e e ¯ o ordem.) ¸˜ Sendo x0 = 0 e y0 = 1 obtemos que y1 = y0 + h(x0 − 2y0 ) + = y2 = = y3 = = y4 = = y5 = = h2 (1 − 2x0 + 4y0 ) 2 0. A dificuldade em se tomar m´todos de alta e a c˜ e ordem ´ o c´lculo da rela¸˜o de y (n+1) (x) = [f (x.12 0. conhecido da S´rie de Taylor de 1¯ e e ¯ como m´todo de Euler Melhorado ou m´todo de Heun.2-a e a temos a aproxima¸˜o yen+1 = yn + hf (xn . yn ) que ´ obtida pela aproxima¸˜o do m´todo de ca e ca e Euler.6905) = 0.58921) + (1 − 2 ∗ 0.1(0. a O m´todo de Runge-Kutta de 1o ordem ´ o M´todo de Euler.

1: M´todo de Euler ’o’ —. yn ) + f (xn+1 .2 86 1 0.I.V.2 0 0.2-c).) ¸˜ 1.6 0. EQUACOES DIFERENCIAIS ORDINARIAS (P.M´todo de 2o ordem ’* ’ e e ¯ Montamos a reta L2 com coeficiente angular dado por f (xn+1 .2 0. yn ) e ´ e paralela a reta L0 tem a forma 1 L(x) = yn + (x − xn ) (f (xn . yn + hyn )) 2 Podemos observar que o valor de yn+1 (Ver figura 7. Este esquema num´rico ´ chamado de m´todo de Euler Melhorado.6 0.4 0. yen+1 ) = f (xn . L2 (x) = yen+1 + (x − xn+1 )f (xn+1 .2 Figura 7. yen+1 ) Montamos a reta L0 que passa por P e tem como coeficiente angular a m´dia dos coeficientes e angular de L1 e L2 (Ver figura 7. yn + hy ) e passa pelo ponto P ( Ver figura 7.8 1 1. e e e onde uma estimativa do erro local ´ dado por e |Eloc (xn )| ≤ h3 6 max |y (ξ)| ξ∈[xn .xn+1 ] .8 0. yn + hyn )) 2 Calculando no ponto xn+1 temos 1 yn+1 = yn + h (f (xn .2 −0.2 0 −0.4 0. Finalmente a reta que passa pelo ponto (xn . yn ) + f (xn+1 .2-b ).2-d) est´ mais pr´ximo do valor exato a o que o valor de yen+1 .´ CAP´ ITULO 7.

A express˜o encontrada deve concordar com a S´rie de Taylor at´ a segunda ordem.) ¸˜ L1 yen+1 yen+1 P L2 87 yn yn xn xn+1 xn xn+1 (a) L1 yen+1 P L2 yen+1 yn+1 (b) L1 P L2 L0 L0 yn yn xn xn+1 xn xn+1 (c) (d) Figura 7. EQUACOES DIFERENCIAIS ORDINARIAS (P. y) e calculando no ponto (xn+1 . yn + hyn ).V. Desenvolvemos a s´rie de Taylor da fun¸ao e c˜ a f (x. yn ) + a2 hf (xn + b1 h. Tamb´m e ca e e podemos obter uma demonstra¸˜o anal´ ca ıtica. yn + b2 hyn ).´ CAP´ ITULO 7. Em geral um m´todo de Runge-Kutta de segunda e e e ordem ´ dado por e yn+1 = yn + a1 hf (xn .I.2: M´todo de Euler Melhorado e Determinamos o m´todo de Euler Melhorado por uma constru¸˜o geom´trica. .

y) ´ aproximada pela integral de um polinˆmio interpolador que c˜ e o pode utilizar pontos que n˜o pertencem ao intervalo de integra¸ao. Abaixo apree a o e 4o sentamos um m´todo de 3¯ e ¯ o ordem: R-K 3¯ 2 1 4 yn+1 = yn + K1 + K2 + K3 9 3 9 K1 = hf (xn . e e M´todos de ordem superior s˜o obtidos seguindo o mesmo procedimento. . y) os esquemas podem ser classificados como: c˜ a c˜ Expl´ ıcito: S˜o obtidos quando utilizamos os pontos xn . y). yn ) K2 = hf (xn + h/2. yn + K3 ) 7.4) (7.3) O m´todo de Euler Melhorado ´ obtido com a1 = a2 = 1/2 e b1 = b2 = 1. .4 M´todos de Adans-Bashforth e S˜o m´todos de passo m´ltiplos baseados na integra¸ao num´rica. yn + K2 /2) K4 = hf (xn + h.I. sobres os quais interpolamos a fun¸ao f (x. y). xn+1 ]. isto ´ ca e xn+1 xn y (x)dx = xn+1 xn f (x. . xn−1 . yn + K1 /2) K3 = hf (xn + h/2. EQUACOES DIFERENCIAIS ORDINARIAS (P.´ CAP´ ITULO 7. yn ) K2 = hf (xn + h/2. y(x))dx ⇒ xn+1 xn (7. temos o ponto xn+1 .) ¸˜ onde   a1 + a2 = 1    88 a2 b1 = 1/2 a2 b2 = 1/2 (7. xn−m para interpolar a fun¸ao f (x. yn + K1 /2) K3 = hf (xn + 3h/4.5) y(xn+1 ) = y(xn ) + f (x.V. y(x))dx Integra¸˜o Num´rica ca e A integral sobre a fun¸ao f (x. A estrat´gia ´ integrar a a e u c˜ e e e equa¸˜o diferencial no intervalo [xn . a c˜ Impl´ ıcito: S˜o obtidos quando no conjunto de pontos. . . yn + 3K2 /4) R-K 4o ordem: ¯ 1 yn+1 = yn + (K1 + 2K2 + 2K3 + K4 ) 6 K1 = hf (xn . Dependendo da escolha a c˜ dos pontos onde vamos aproximar a fun¸ao f (x.

I. e Obtemos o m´todo. y(ξ)) dx 2! = h3 5 y (ξ) 12 ξ ∈ [xn . e c˜ o Assim o erro local.V. os m´todos de e e k-passos necessitam de k-valores iniciais que s˜o obtidos por m´todos de passo simples. Considerando o polinˆmio interpolador na forma de o Newton temos f (x.xn+1 ] . xn ](x − xn−1 )dx xn+1 2 xn 2 − xn−1 xn+1 − + xn−1 xn 2 2 = fn−1 (xn+1 − xn ) + f [xn−1 . Isto significa que yn+1 depende de yn e yn−1 . de passo dois. xn ] fn − fn−1 h fn − fn−1 = hfn−1 + h fn − fn−1 = hfn−1 + h h = (2fn−1 + 3fn ) 2 = hfn−1 + 1 xn+1 2 − 2(xn − h)xn+1 − xn 2 + 2(xn − h)xn 2 1 xn+1 2 − 2xn xn+1 + xn 2 + 2h(xn+1 − xn ) 2 1 (xn+1 − xn )2 + 2h2 2 Substituindo a aproxima¸ao da integral em (7. cometido por esta aproxima¸˜o ser´ ca a xn+1 xn E1 (x)dx = xn+1 xn (x − xn−1 )(x − xn ) f (ξ.4. De uma forma geral.´ CAP´ ITULO 7. xn+1 ] Com isto temos a seguinte estimativa para o erro local |Eloc (xn+1 )| ≤ h3 5 max |y (ξ)| 12 ξ∈[xn . onde fn = f (xn .I. xn+1 ] temos xn+1 xn p(x)dx = xn+1 xn fn−1 + f [xn−1 . xn ](x − xn−1 ) Integrando sobre o intervalo [xn . yn ). de a e ordem igual ou superior a ordem do m´todo utilizado. y1 e e que deve ser obtido por um m´todo de passo simples. fn−1 ). y) ≈ p(x) = fn−1 + f [xn−1 . y) ´ interpolada sobre os pontos (xn .1 M´todos Expl´ e ıcitos Vamos considerar o caso em que a fun¸˜o f (x.. fn ) ca e e (xn−1 . aproximando a fun¸ao pelo polinˆmio interpolador de grau um. EQUACOES DIFERENCIAIS ORDINARIAS (P.) ¸˜ 89 7.5) obtemos o seguinte m´todo c˜ e yn+1 = yn + h (2fn−1 + 3fn ) 2 Este m´todo ´ um m´todo expl´ e e e ıcito.V. Logo necessitamos de dois valores para iniciar o m´todo: y0 que ´ dado no P.

2 M´todos Impl´ e ıcitos Neste caso o ponto (xn+1 .V. y) por um polinˆmio de grau 3.82 + 2 h = y2 + (2f1 + 3f2 ) 2 0. Do P. fn ) e ca e (xn+1 .9) = 0.7) 2 Tendo o valor de y0 e y1 podemos iniciar o M´todo de Adams-Bashforth.7) ∗ 0. onde a fun¸˜o f (x.2756 + (2 ∗ (−2) ∗ 0. y) ´ interpolada sobre os pontos (xn .) ¸˜ Exemplo 7.82) = 0.1) 2 y3 Se tiv´ssemos aproximado a fun¸˜o f (x. Este ´ um m´todo de passo dois e vamos ter e e que calcular y1 por um m´todo de passo simples que tenha ordem igual ou superior ao do e o M´todo de Adams-Bashforth.2756 ≈ y(0. y0 . y) ser´ interpolada .V. fn−3 ) obter´ ıamos o m´todo de passo 4 e ordem 4 e dado por yn+1 = yn + h [55fn − 59fn−1 + 37fn−2 − 9fn−3 ] 24 Eloc (xn+1 ) = h5 251 (v) y (ξ) com ξ ∈ [xn . xn+1 ](x − xn ) . fn+1 ) ´ um dos ponto. de passo dois.2 = 0.´ CAP´ ITULO 7. y2 e y3 . y) ≈ p(x)fn + f [xn . fn−1 ). y = −2xy y(0.2.5 ∗ 1))) = 0. usando h = 0.2 (2 ∗ (−2) ∗ 0. sendo e y2 = y1 + h (2f0 + 3f1 ) 2 0. que deve ser calculados por um m´todo de passo simples de ordem maior ou igual a quatro (Ex.I. 7.V. fn−2 ).5) = 1 90 Vamos achar uma aproxima¸˜o para y(1. que ´ um e e e e o ordem.7 ∗ 0. Assim vamos utilizar o m´todo de Euler Melhorado.4.82 + 3 ∗ (−2) ∗ (0.4.5 ∗ 1 + (−2) ∗ 0.2 = 1+ (−2 ∗ 0. (xn−2 . y0 ) + f (x0 .9) ∗ 0.2756) = −0. sobre os pontos e ca o (xn . m´todo de 2¯ e 1 y1 = y0 + h (f (x0 .5. (xn−1 .1) pelo M´todo de Adams-Bashforth expl´ ca e ıcito . y0 + hy0 )) 2 0. Como o erro local depende da 3¯ derivada de y(x) temos que e o este m´todo ´ de 2¯ ordem.5 ∗ 1 + 3 ∗ (−2) ∗ (0. fn ). EQUACOES DIFERENCIAIS ORDINARIAS (P.102824 ≈ y(1.5 ∗ (1 + 0.I segue que y0 = 1 e x0 = 0. xn+1 ] 720 Neste caso necessitamos de quatro valores iniciais. (xn−3 . fn+1 ). Considerando o polinˆmio interpolador na forma de Newton temos o f (x.2 ∗ (−2 ∗ 0. Runge-Kutta de 4o e ¯ ordem). e ca a Vamos considerar o caso em que a fun¸˜o f (x.1 Considere o seguinte P.82 ≈ y(0. y1 .I.

´ CAP´ ITULO 7. EQUACOES DIFERENCIAIS ORDINARIAS (P.V.I.) ¸˜ Integrando sobre o intervalo [xn , xn+1 ] temos
xn+1 xn

91

p(x)dx =

xn+1 xn

fn + f [xn , xn+1 ](x − xn )dx xn+1 2 xn 2 − xn xn+1 − + xn xn 2 2

= fn (xn+1 − xn ) + f [xn , xn+1 ] = hfn +

fn+1 − fn 1 xn+1 2 − 2xn xn+1 + xn 2 h 2 fn+1 − fn 1 = hfn + (xn+1 − xn )2 h 2 h = (fn + fn+1 ) 2 Substituindo a aproxima¸ao da integral em (7.5) obtemos o seguinte m´todo c˜ e h (fn + fn+1 ) 2 O erro local, cometido por esta aproxima¸ao ser´ c˜ a yn+1 = yn +
xn+1 xn

E1 (x)dx =

xn+1 xn

(x − xn+1 )(x − xn )

f (ξ, y(ξ)) dx 2!

1 y (ξ) ξ ∈ [xn , xn+1 ] 12 Note que o c´lculo de yn+1 depende de fn+1 = f (xn , yn+1 ). Em geral a f (x, y) n˜o a a permite que isolemos yn+1 . Desta forma temos que usar um esquema Preditor-Corretor. Por um m´todo expl´ e ıcito encontramos uma primeira aproxima¸ao para yn+1 (Preditor) e este c˜ valor ser´ corrigido atrav´s do m´todo impl´ a e e ıcito (Corretor). = −h3 Exemplo 7.4.2 Vamos considerar o seguinte problema: y = −2xy − y 2 y(0) = 1 Usando h = 0.1 vamos achar uma aproxima¸˜o para y(0.2), usando o esquema ca P : yn+1 = yn + hf (xn , yn ) h C : yn+1 = yn + (2fn + fn+1 ) 2 Sendo x0 = 0 e y0 = 1 temos
: y1 = y0 + hf (x0 , y0 ) = 1 + 0.1(−2 ∗ 0 ∗ 1 − 12 ) = 0.9 h 0.1 C : y1 = y0 + (2f0 + f1 ) = 1 + −2 ∗ 0 ∗ 1 − 12 − 2 ∗ 0.1 ∗ 0.9 − 0.92 = 0.9005 ≈ y(0.1) 2 2 P : y2 = y1 + hf (x1 , y1 ) = 0.9005 + 0.1(−2 ∗ 0.1 ∗ 0.9005 − (0.9005)2 ) = 0.8013 h 0.1 C : y2 = y1 + (f1 + f2 ) = 0.9005 + −2 ∗ 0.1 ∗ 0.9005 − (0.9005)2 − 2 ∗ 0.2 ∗ 0.8013 − 0.80132 2 2 = 0.8018 ≈ y(0.2) P

´ CAP´ ITULO 7. EQUACOES DIFERENCIAIS ORDINARIAS (P.V.I.) ¸˜

92

7.5

Equa¸˜es de Ordem Superior co

Uma equa¸ao de ordem m pode ser facilmente transformadas em um sistema de m equa¸˜es c˜ co de primeira ordem. Este sistema pode ser visto como uma equa¸˜o vetorial de primeira ca ordem e assim poderemos aplicar qualquer um dos m´todos analisados nas se¸˜es anteriores. e co Como exemplo vamos considerar o problema de terceira ordem dado por
  y   

= x2 + y 2 − y − 2y x y(0) = 1  y (0) = 2    y (0) = 3 Para transformar num sistema de primeira ordem devemos usar vari´veis auxiliares. Fazemos a y = w ⇒ y = w e fazemos y = w = z ⇒ y = w = z . Com isto a equa¸ao acima pode c˜ ser representada por:   y =w     w =z     z = x2 + y 2 − w − 2zx  y(0) = 1     w(0) = 2     z(0) = 3 O sistema acima pode ser escrito na forma matricial, onde

y 0 1 0 y 0       1  w + 0   w = 0 0  2 z y −1 −2x z x
Y A Y X



Desta forma temos a equa¸ao vetorial c˜ Y = AY + X Y (0) = Y0 onde Y0 = (1, 2, 3)T . Vamos aplicar o m´todo de Euler na equa¸ao acima obtendo e c˜ Yn+1 = Yn + h(An Yn + Xn ) ou seja

0 0 1 0 yn yn yn+1      0 1   wn  +  0       wn+1  =  wn  + h  0 2 zn xn zn yn −1 −2xn zn+1 Tomando h = 0.1, vamos calcular uma aproxima¸ao para y(0.2). Calculando Y1 ≈ Y (0.1) c˜ temos que







0 0 1 0 y0 y0 y1         0 1   w0  +  0  ⇒   w1  =  w0  + h  0 2 z0 x0 z0 y0 −1 −2x0 z1







´ CAP´ ITULO 7. EQUACOES DIFERENCIAIS ORDINARIAS (P.V.I.) ¸˜

93
 

y1 1 0 1 0 1 0 1.2   w1  =  2  + 0.1  0 0 1 2  +  0  =  2.3             z1 3 1 −1 −2 ∗ 0 3 02 2.9 Calculando Y2 ≈ Y (0.2) temos
        







y2 y1 0 1 0 y1 0         0 1   w1  +  0  ⇒  w2  =  w1  + h  0  2 z2 y1 −1 −2x1 z1 z1 x1

1.2 0 1 0 1.2 0 1.430 y2            0 1   2.3  +  0  =  2.590   w2  =  2.3  + 0.1  0 2 2.9 1.2 −1 −2 ∗ 0.1 2.9 0.1 2.757 z2 Note que neste caso n˜o estamos achando apenas o valor aproximado de y(0.2), mas tamb´m a e de y (0.2) e y (0.2), sendo     y(0.2) 1.430      y (0.2)  ≈  2.590  y (0.2) 2.757







7.6

Exerc´ ıcios
y =x−y y(1) = 2.2

Exerc´ ıcio 7.1 Dado o P.V.I.

a) Considerando h = 0.2, ache uma aproxima¸˜o para y(2.6), usando um m´todo de ca e segunda ordem. b) Se tiv´ssemos usado o m´todo de Euler, com o mesmo passo h, o resultado obtido seria e e mais preciso? Justifique. Exerc´ ıcio 7.2 O esquema num´rico abaixo representa um m´todo para solu¸˜o de E.D.O. e e ca yn+1 = yn + h [9fn+1 + 19fn − 5fn−1 + fn−2 ] 24 com Eloc (xn+1 ) = h5 251 ( y 5)(ξ) 720

Classifique o m´todo de acordo com o n´mero de passos, se este ´ impl´ e u e ıcito ou expl´ ıcito, a ordem do m´todo, procurando sempre dar justificativas as suas respostas. e o Exerc´ ıcio 7.3 Determine o m´todo de Runge-Kutta, de 2¯ ordem, obtido com a1 = 0, a2 = 1 e e b1 = b2 = 1/2 (ver (7.3)). Aplique o m´todo para o P.V.I. e
 √  y  = −2 y  y 

y(1) = 0.25

Exerc´ ıcio 7.1. abaixo. yn+1 = yn + (fn+1 + fn ) 2 ca e b) Sabendo que a solu¸˜o exata ´ dada por y(x) = (5e−2x + 2x − 1)/4. yn + h/2y ) h C . para y(x) no intervalo [0.6 Determine uma aproxima¸˜o para y(1) utilizando o m´todo de Euler com ca e h = 0.2 e o esquema co num´rico baixo e P : yn+1 = yn + hf (xn + h/2.V. y − 3y + 2y = 0 y(0) = −1y (0) = 0 .V.4 Considere o P. usando h = 0. abaixo.) ¸˜ Exerc´ ıcio 7. 2].I. 94 y =y y(0) = 1 a) Mostre que quando aplicamos o m´todo de Euler Melhorado ao problema temos e yn+1 h2 = 1+h+ 2 n+1 b) Comparando com a solu¸˜o exata do problema. EQUACOES DIFERENCIAIS ORDINARIAS (P. Exerc´ ıcio 7.V.´ CAP´ ITULO 7.V.I. a Compare os resultados.I. y = x − 2y y(0) = 1 a) Ache as aproxima¸˜es. para o P. plote (novo verbo?) um gr´fico com os valores obtidos pelo esquema Preditor e pelo esquema Corretor.5 Considere o P.I. vocˆ esperaria que o erro tivesse sempre ca e o mesmo sinal? Justifique.

Sign up to vote on this title
UsefulNot useful