Escolar Documentos
Profissional Documentos
Cultura Documentos
andia
Faculdade de Matem#
atica
C#erico
alculo Num#
Prof. Jos#
e Eduardo Castilho
Marc#o de 2001
Conte�udo
1 Introdu�c�ao 1
2 Zeros de Fun�c�oes 11
2.3.2 EstimativadoN�umerodeItera�c�oes . . . . . . . . . . . . . . . . . . . 16
2.5 M�etododeNewton-Raphson(M.N.R)...................... 20
3 Sistemas Lineares 27
3.1 M�etodosDiretos.................................. 27
3.2.1 Crit�eriodeConverg�encia......................... 40
3.2.2 M�etodoIterativodeGauss-Jacobi . . . . . . . . . . . . . . . . . . . . 40
3.2.4 M�etodoIterativodeGauss-Seidel . . . . . . . . . . . . . . . . . . . . 44
3.2.5 Crit�eriodeSassenfeld........................... 45
i
�
CONTEUDO ii
5 Interpola�c�ao Polinomial 60
5.2.1 Constru�c�aodoPolin�omio......................... 64
7.3 M�etodosdeRunge-Kutta............................. 85
7.4.1 M�etodosExpl�icitos............................ 89
7.5 Equa�c�oesdeOrdemSuperior........................... 92
Introdu�c�ao
f(�x) = lim
f(�x + h) - f(�x)
h0 h
f0(�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.
nn. ak =
1 . ak;
NN
k=0
6k=0
onde estamos considerando que no primeiro somat�orio para cada k fazemos ak=N e
depois
somamos e no segundo somat�orio somamos todos os ak e o resultado da soma
dividimos por
1
�
CAP�ITULO 1. INTRODUC� AO 2
Outro fator que pode influenciar no resultado �e o tipo de m�aquina em que estamos
1=3+1=3+1=3=0:9999999
Enquanto que calculadoras mais avan�cadas ter�iamos como resposta um falso 1, pois
na
realidade, internamente estas calculadoras trabalham com mais d�igito do que �e
apresentado
no visor e antes do resultado ser apresentado este �e arredondado.
Ep 1
fim enquanto
OutPut: 2Ep
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
�
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��c�
EDU>> 3*4 +5
ans =
17
EDU>> s=3+4+7+12
s=
�
CAP�ITULO 1. INTRODUC� AO 4
Tabela 1.1: Operadores Aritm�eticos
Opera�c�ao
S�imbolo
Adi�c�ao
a + b
Multiplica�c�ao
a * b
Subtra�c�ao
a - b
Divis�ao
a=b ou bna
Potencia�c�ao
abb
EDU>> x=[1 2 3 4]
x=
1234
Tamb�em podemos separar os elementos por v�irgula. J�a um vetor coluna pode ser
definido
da seguinte forma
EDU>> y=[5; 6; 7; 8]
y=
EDU>> a=[1234;5678;9101112]
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 aij 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 particular. 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
Columns 8 through 11
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=
100
010
001
EDU>> A=ones(2,3)
A=
111
111
EDU>> B=zeros(3,4)
B=
0000
0000
0000
�
CAP�ITULO 1. INTRODUC� AO 6
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�irgula. 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
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 ex exp(x)
Logaritmo Natural log(x)
Logaritmo base 10 log10(x)
Seno sin(x)
Raiz Quadrada sqrt(x)
Tangente tan(x)
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
Scripts
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
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)
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
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,
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
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
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�icios
Exerc�icio 1.1 Usando o esquema num�erico para a aproxima�c�ao da derivada dado
abaixo
ache uma aproxima�c�ao para f0(�), onde f(x)= sen(x) e tome h =0:1, 0:01,
0:001;::. 10�10 .
Repita os c�alculos para f0(0). Comente os resultados.
f0(�x) �
f(�x + h) - f(�x)
h
107
A + . 10�7
k=1
Ep 1
.
fim enquanto
Zeros de Fun�c�oes
Fase I Isolamento das ra�izes -Consiste em achar um intervalo fechado [a, b] que
cont�em a raiz.
curvas se interceptam, pois estes pontos ser�ao as ra�izes 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.
Teorema 2.1.1 Seja f(x) uma fun�c�ao cont�inua 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 f0(x) preserva o sinal em [a, b]e f(a)f(b) < 0,
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
00.511.522.53-3-2-101234
x1|
x2|
ab
00.511.522.5300.511.522.5
x
|
ab
f0(x) preserva sinal f0(x) muda de sinal
2.2 Refinamento
Nas pr�oximas se�c�oes estudaremos os esquemas num�ericos que partindo de uma
aproxima�c�ao
inicial x0, v�ao gerar uma seq�u�encia fxk} que converge para a raiz procurada,
isto �e xk .
!1.
das Ra�izes, 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).
x0 =
a0 + b0
8>
<>
f(a0) < 0
f(b0) > 0
8>
<>
. . (a0;x0)
a1 = a0
.
:
f(x0) > 0
b1 = x0
�
8>
<>
8>
<>
f(a1) < 0
. . (x1;b1)
a2 = x1
a1 + b1
f(b1) > 0
x1 =
f(x1) < 0
b2 = b1
8>
<>
8>
<>
f(a2) < 0
. . (x2;b2)
a3 = x2
a2 + b2
f(b2) > 0
x2 =
f(x2) < 0
b3 = b2
bk - ak < ".
function y=bissec(ao,bo,Ep)
ao=x;
else
bo=x;
end;
end;
y=(ao+bo)/2;
xk =
2 . ak <xk <bk 8k . IN (2.1)
= :
bk - ak
b0
2
�k
a0
Calculando o limite quando k !8 temos
Portanto f(m)=0
bk - ak <e
b0 - a0 <e 2k >
b0 - a0
. 2k . e
Como estes valores s�ao sempre positivos, podemos aplicar a fun�c�ao logaritmo,
obtendo,
log(b0 - a0) - log(")
k>
log(2)
�
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 e = 10�8, temos
k> = 24:575.
log(2)
x - �(x)=0 x = �(x).
c��
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 f
uma fun�c�ao
de itera�c�ao da fun�c�ao f que satisfaz:
3) x0 . [a, b].
Ent�ao a seq�u�encia fxk} gerada pelo processo iterativo xn+1 = �(xn) converge
para �.
.
Como f �e cont�inua e diferenci�avel, pelo Teorema do Valor M�edio temos que
existe cn pertencente ao intervalo entre cn e . tal que
Logo
Aplicando esta rela�c�ao para n - 1;n - 2;, 0 e usando o fato que x0 . [a, b]
temos ���
Logo
lim xn+1 = .
n!8
j|
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:
2) A fun�c�ao �. satisfaz
x2[0:5;0:75] j|
0:5+0:75
x0 = =0:625
Na Figura 2.4 podemos ver que o comportamento do processo iterativo converge para
a raiz.
..
.
..
.
..
.
�
jj
).
A(�)= �f(�)
.
f(x)
�(x)= x - f0(x)
f(xn)
xn+1 = xn - f0(xn)
;n =0, 1, 2;::.
f(xn) f(xn)
f0(xn) = tan(�)=
xn - xn+1 . xn+1 = xn - f0(xn)
Teorema 2.5.1 Sejam f, f. e f00, fun�c�oes cont�inuas num intervalo [a, b], onde
existe uma
raiz �. Supor que f0(�)=0. Ent�ao existe um intervalo [�a, �b
] . [a, b], contendo a raiz �, tal
que se x0 . [�a, �b
], a seq�u�6encia fxn} gerada pelo processo iterativo
f(xn)
xn+1 = xn - f(xn)
Prova:(Exerc�icio 2.7)
Uma observa�c�ao deve ser feita. A condi�c�ao de que x0 . [�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 x0 =0:625 e e =0:006. Sendo
f0(x)= �e�x - 1
xn+1 = xn -
f(xn)
= xn +
e�x - x
f0(xn) e�x +1
x1 = x0 +
e
e
�
�
x
x
00
�
+1
x0 =0:56654 jx1 - x0| =0:0584 >e
x2 = x1 +
e
e
�
�
x
x
11
�
+1
x1 =0:56714 jx2 - x1| =0:0006 <e
�
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;
Defini�c�ao 2.6.1 Seja fxn} uma seq�u�encia que converge para um n�umero . e seja
ek = xk �.
o erro na itera�c�ao k. Se
lim jek+1
p| = C p> 1 C> 0
k!8 jekj
Assim quanto maior for o valor de p, menor ser�a o erro ek+1. Quando p = 1 dizemos
que o
jj
xk+1 - .
= �0(ck)
ek+1 = �0(ck)
xk - . . ek
iterativo
f(xn)
xn+1 = xn - f(xn)
xn+1 - . = xn - . - f(xn
en+1 = en - f(xn)
(2.2)
0) . 0
Atrav�es da f�ormula de Taylor da fun�c�ao f no ponto xn temos
2
Que calculada em x = . fornece
2
CAP�ITULO 2. ZEROS DE FUNC�OES�24
f(xn) f00(cn) 2
f0(xn)
= en - 2f0(xn)
en
en
2 2f0(xn)
pertence a [a, b]. Isto ocorre porque temos que tomar x0 . [�a, b] . [a, b]. Na
pr�atica tomamos
x0 como ponto m�edio do intervalo, isto �e
a + b
x0 =
max f(x).
x2[a;b] jj
x 2
e- x
22
positiva da equa�c�ao pa = x.
1 �a .
xn+1 =
p
(p - 1)xn +
xnp�1
�1(x)=
1
ex=2 �2(x) = ln(4x 2)
2
�
Exerc�icio 2.8 A fun�c�ao f(x)= sen(cos(p3x)) tem uma raiz no intervalo [0:7,
0:9]. Encontre uma aproxima�c�ao com e =0:07, escolhendo entre os m�etodos
num�ericos estudados o
mais adequado. Justifique sua resposta.
Cap�itulo 3
Sistemas Lineares
���
.
a2;1x1 + a2;2x2 + a2;3x3 ��� a2;nxn = b2
a3;1x1 + a3;2x2 + a3;3x3 a3;nxn = b3
���
... ..
. ... ..
... ..
���
27
CAP�ITULO 3. SISTEMAS LINEARES 28
8. <. .
���
���
a3;3x3 a3;nxn = b3
���
..
..
..
an;nxn = bn
bn
xn =
an;n
xn�1 =
an�1;n�1
(bn�1 - an�1;nxn)
1
.
xn�2 =
an�2;n�2
(bn�2 - an�2;n�1xn�1 - an�2;nxn)
..
..
..
n
0@
1.
xk =
bk -
ak;jxj
ak;k
j=k+1
. . . . . .
e assim sucessivamente. Com isto obtemos o esquema num�erico para solu�c�ao de
sistema
xn bn=an;n
1.
0@
bk -
xk
. ak;k
ak;jxj
j=k+1
fim para
Output: x . IRn : solu�c�ao do sistema
CAP�ITULO 3. SISTEMAS LINEARES 29
8. <. .
... .
... .
... .
(0)b1
(0)b2
(0)b3
.
b(0)
1.
(0)
Etapa 1: Eliminar a inc�ognita x1 das equa�c�oes k =2, 3;:::;n. Sendo a1;1 = 0,
usaremos a
(0)ak;1
mk;1 = (0) .
a1;1
(0)
Os elementos mk;1 s�ao chamados de multiplicadores e o elemento a1;1 �e chamado de
(0)
piv�o da Etapa 1. Indicando a linha k da matriz entendida por Lk esta etapa se
resume
em
L(1)
1 = L(0)
1
L(1)
k = L(0)
k - mk;1L(0)
1 , k = 2, 3, . . . , n
CAP�ITULO 3. SISTEMAS LINEARES 30
Ao final desta etapa teremos a matriz
1.
(1)b1
(1)b2
(1)b3
.
b(1)
���
... .
... .
... .
0.
(1)
Etapa 2: Eliminar a inc�ognita x2 das equa�c�oes k =3, 4;:::;n. Supondo que a2;2 =
0,
vamos tomar este elemento como piv�o desta etapa e desta forma os multiplicadores
s�ao
dados por
(1)ak;2
mk;2 = (1)a2;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 - mk;2L(1)
2 , k = 3, 4, . . . , n
1.
b1(n�1)
b2(n�1)
b3(n�1)
b(n�1)
n
a1(n
;1�1) a1(n
;2�1) a1(n
;3�1) a1(n
;n�1)
���
... .
... .
... .
000 a(n�1)
��� n;n
1.
(2)b1
(2)b2
(2)b3
.
b(2)
a(2)
1;1 a(2)
1;2 a(2)
1;3 � � � a(2)
1;n
0 a(2)
2;2 a(2)
2;3 � � � a(2)
2;n
0 0 a(2)
3;3 � � � a(2)
3;n
. . . . . . . . . . . .
0 0 a(2)
n;3 � � � a(2)
n;n
0.
0.
.
CAP�ITULO 3. SISTEMAS LINEARES 31
. ak;k
Para j = k +1;:::;n, fa�ca:
aij aij - m * akj
fim para
bi bi - m * bk
.
fim para
fim para
Retro-Solu�c�ao:
xn bn=an;n
1n
A
bk -
0@
xk
ak;jxj
. ak;k
j=k+1
fim para
Output: x . IRn : solu�c�ao do sistema
8>:
<>
3x1 +2x2 - x3 =1
7x1 - x2 - x3 = �2
x1 + x3 =1
. B.
32 �1
7 �1 �1
�2
101
. C.
(1) (0)
L1 = L1
(0)
(1) (0) (0) a21 7
L2 = L2 - m2;1L1 , onde m2;1 ==
(0)a1;1 3
(0)
(1) (0) (0) a31 1
L3 = L3 - m3;1L1 , onde m3;1 ==
(0)a1;1 3
CAP�ITULO 3. SISTEMAS LINEARES 32
. B.
32 �1
0 �17=34=3
�13=3
0 �2=34=3
12=3
. C.
. B.
32 �1
0 �17=34=3
�13=3
0 020=17
20=17
. C.
x3 = =1
a3;3
x2 =(b2 - a2;3x3)=1
a2;2
(k�1)ak;j
mk;j = (k�1) .
ak;k
k;k
. B.
1 3 2 3
2 1 2 4
�3 2 1 �2
. C.
. B.
�321
�2
212
132
. C.
3-
@0
.
21
�2
07=3
8=3
8=3
. CA
0 11=37=3
7=3
. B.
�3 21
�2
0 11=37=3
7=3
07=38=3
8=3
. C.
Eliminar x2 da linha 3.
L(2)
1
L(2)
2
L(2)
3
=
=
=
L(1)
1
L(1)
2
L(1)
3 - m3;2L(1)
2 , onde m3;2 = �7
11
obtendo assim a matriz
. B.
�32 1
�2
0 11=38=3
8=3
0 013=11
13=11
. C.
CAP�ITULO 3. SISTEMAS LINEARES 34
b3
x3 = =1
a3;3
x2 =(b2 - a2;3x3)=0
a2;2
1C
AA�1 = A�1 A = I
. ,
. B.
1C
.
1C
. ,
1C
. =
. B.
. B.
. B.
. C.
. B.
100
010
001
CAP�ITULO 3. SISTEMAS LINEARES 35
1C
=A. ,
1C
=A. ,
1C
=A. ,
1C
1C1C
. B.
. B.
. C.
x1;1
x2;1
. B.
. B.
. B.
. C.
x1;2
x2;2
. B.
0
. B.
. B.
. C.
x1;3
x2;3
. B.
jj| j
1C
. ,
Gauss.
. B.
41 �6
32 �6
�5
31
1C
. ,
. B.
41 �6
32 �6
�5
31
1C
(1) (0)
L1 = L1
. ,
. B.
41 �6
05=4 �3=2
�3=4
�1=2
�3=4
01=4
1
CAP�ITULO 3. SISTEMAS LINEARES 36
(2) (1)
L1 = L1
(2) (1)
L2 = L2
. C. ,
. B.
41 �6
05=4 �3=2
�3=4
�1=5
�3=5
00
�1=5
1C
. ,
. B.
41 �6
32 �6
�5
31
CAP�ITULO 3. SISTEMAS LINEARES 37
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
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;
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;
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;
x = Cx + g,
seguintes propriedades:
. n
1�j�m
. i=1
.
jjAjj1
= max
8. .
9. ;
jjAjj8
= max
jaijj
1�i�n
j=1
0@
1.
1=2
nm
. j=1 . i=1
jaijj
jjAjj2
=
Norma Euclidiana
A norma vetorial pode ser vista como um caso particular da norma matricial, onde
um
vetor x . IRn �e equivalente a uma matriz de ordem n � 1. Com isto temos as normas
de
vetores dadas por
jjxjj1
n.
i=1
jxi|
Norma da Soma
. n.
!1=2
Norma Euclidiana
jjxjj2
jxij
i=1
. lim k x�j| =0
k!8 jjx .
Com isto podemos definir os crit�erios de parada: Dado um "> 0
k+1k
Teste do Res�iduo
jjb - Axk j| = e
Al�em disso, as normas j| � jj1, j| � jj2 e j| � jj8 satisfazem as seguintes
propriedades:
x�= C�x + g.
= jjCj| jje jj
..
..
..
= jjCj| k jje 0 j|
Logo a seq�u�encia fxk} converge para a solu�c�ao do sistema x�se
lim k lim k 0 j| =0
k!8 jje j| =
k!8 jjCj| jje
jjCj| < 1
Note que o crit�erio de converg�encia n�ao depende do vetor inicial x0 . A escolha
de x0
influ�encia no n�umero de itera�c�oes necess�arias para atingir a precis�ao
desejada. Quanto
menor for jjx0 - x�j| menos itera�c�oes ser�ao necess�arias.
���
a2;1x1 + a2;2x2 + a2;3x3 a2;nxn = b2. a3;1x1 + a3;2x2 + a3;3x3
��� a3;nxn = b3
��� ,
... ..
. .. .. .. ..
..
���
CAP�ITULO 3. SISTEMAS LINEARES 41
onde os aii = 0 para i =1, 2;:::;n. Em cada equa�c�ao i podemos isolar a
inc�ognita xi
x1 =
a1;1
(b1 - a1;2x2 - a1;3x3 - � � � - a1;nxn)
1
x2 =
a2;2
(b2 - a2;1x1 - a2;3x3 - � � � - a2;nxn)
1
x3 =
a3;3
(b3 - a3;1x1 - a3;2x2 - � � � - a3;nxn)
. . . . . . . . .
1
xn =
an;n
(bn - an;1x1 - an;2x2 - � � � - an;n�1xn�1)
0. 1.
x1
1.
0.
b1
a1;1
1.
0.
x1
0. 1.
-
��� -
a1;1
a1;1
a1;1
x3 x3
= + (3.1)
..
. a3;1 a3;2 .
.0
a3;n . b3
. - - ��� - . a3;3
..
. . ...
..... .
. ..... . .
. ..
@A
@A
@A
bn
an;n
.
.
���
xn
xn
an;n
an;n
an;n
Dado x0
(k+1) (k)(k)(k)x1 =
a
1
1;1 �b1 - a1;2x2 - a1;3x3 ����- a1;nxn
(k)
n
x2(k+1) =
a
1
2;2 �b2 - a2;1x1(k) - a2;3x3(k) ����- a2;nx
x3(k+1) =
1 �b3 - a3;1x1(k) - a3;2x2(k)
n
(k)
a3;3 ����- a3;nx
. ..
. ..
. ..
(3.2)
(k+1) 1 (k)(k)(k)xn =
an;n �bn - an;1x1 - an;2x2 ����- an;n�1xn�1
CAP�ITULO 3. SISTEMAS LINEARES 42
0@
1.
(k)
(k+1)
bs �
as;jx
. as;s
j=1;j=s
fim para
fim enquanto
forma que:
�k
j=1;j=k
jak;k|
6
Ent�ao o M�etodo de Gauss-Jacobi gera uma seq�u�encia fxk} 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).
8>:
<>
x1 + x2 3x3 =��1
15
12
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
(k+1) 1
�2 - 3x2(k) - 2x(k)
(k+1) 1 (k)(k)
=+ x
2 �3 - x1
(3.3)
x
3
�1�- x
(k+1) 1
(k)(k)
x
- x
1C
Assimpara k =0 segueque
Verificandoocrit�eriodeparadatemos
1C
x(1) = �71
(�2 - 3 * 0:5 - 2 * 0:5) = 0:642
x(1) =
1(3 - 0:5+0:5) = 1:000 (3.4)
3
x(1) = -
13
(�1 - 0:5 - 0:5) = 0:666
. = . . jjx
. B.
. B.
0:642 - 0:500
1:000 - 0:500
0:142
10
10
0:500
=0:500 >e
- x
- x jj1
0:666 - 0:500
0:166
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 (3.5)
x(2) = �31
(�1 - 0:642 - 1) = 0:880
3
CAP�ITULO 3. SISTEMAS LINEARES 44
. = . . jjx
1C
1C
0:262
. B.
. B.
0:904 - 0:642
1:008 - 1:000
21
21
0:008
=0:262 >e
- x
- x jj1
0:880 - 0:666
0:214
0@
bs -
s�1
. j=1
as;jx
(k)
j
n
j=s+1
as;jx
(k)
j
1A
(3.6)
1
(k+1)
as;s
Neste ponto os elementos x;x , ;x s�1 , j�a foram calculados e espera-se que estes
este
12
��� kk k
jam mais pr�oximos da solu�c�ao que os elementos x1;x2, ;xAssim vamos substituir
os ��� s�1.
0@
bs -
1�s.
j=1
as;jx
1A
n
j=s+1
k+1
(k+1)
(k)
(k+1)
as;jx
as;s
0@
k+1k
- xca:
Para s =1, 2;:::;n, fa�ca:
s�1
1.
(k+1)
(k)
(k+1)
bs -
as;jx
as;jx
. as;s
j=1
j=s+1
fim para
fim enquanto
Output: x . IRn : solu�c�ao do sistema
CAP�ITULO 3. SISTEMAS LINEARES 45
0.
1A
k�1
. j=1
�k =
�j +
jak;jj
jak;jj
jak;k|
j=k+1
Ent�ao o M�etodo de Gauss-Seidel gera uma seq�u�encia fxk} que converge para a
solu�c�ao do
sistema.
8>:
<>
x1 + x2 2x3 =0
-
15
(k+1) 1
�2 - 3x2(k) - 2x(k)
=+ x
2 �2 - x1
(3.7)
x
x(1) = �71
(�2 - 3 * 0:5 - 2 * 0:5) = 0:642
x(1) =
1(2 - 0:642 + 0:5) = 0:929 (3.8)
x(1) = -
1
(0 - 0:642 - 0:929) = 0:785
1C
)jj= xA.
Para k =1 temos
x(2) =
1(�2 - 3 * 0:929 - 2 * 0:785) = 0:908
1C
�7
x(2) =
1(2 - 0:908 + 0:785) = 0:938 (3.9)
2
x(2) = -
12
(0 - 0:908 - 0:938) = 0:923
. B.
0:642 - 0:500
0:142
1
10
0:429
=0:429 >e
- x
- x jj8
. B@
0:929 - 0:500
0:785 - 0:500
0:285
1C
1C
. = . . jjx
. B.
0:908 - 0:642
0:938 - 0:929
0:266
21
0:009
=0:266 >e
- x
- x jj8
. B.
0:923 - 0:785
0:138
CAP�ITULO 3. SISTEMAS LINEARES 47
xs depende de x1 ;x2 , ;xs�1 . Por�em este converge mais rapidamente que o M�etodo
���
3.4 Exerc�icios
Exerc�icio 3.1 Resolva o sistema linear abaixo, usando o M�etodo de Elimina�c�ao
de Gauss.
8>:
<>
. B.
1 �22
2 �32
2 �21
. C.
Exerc�icio 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:
0.
a1;1 a1;2 0 0 0 � � � 0 0 0
a2;1 a2;2 a2;3 0 0 � � � 0 0 0
0 a3;2 a3;3 a3;4 0 � � � 0 0 0
0 0 a4;3 a4;4 a4;5 � � � 0 0 0
. . . . . . . . . . . . . . . . . . . . . . . .
0
0
0
0
0
0
0
0
0
0 � � �
� � �
an�1;n�2
0
an�1;n�1
an;n�1
an�1;n
an;n
1.
. 0:0002x1 +2x2 =2
2x1 +2x2 =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�iduo r = b - A�x e comente seus
resultados.
CAP�ITULO 3. SISTEMAS LINEARES 48
Exerc�icio 3.6 Mostre que, se um sistema linear satisfaz o Crit�erio das Linhas,
ent�ao este
8.. ..
kx1 + x2 =2
kx1 +2x2 + x3 =3
5
kx1 + x2 +2x3 =2
tomando x=
-
Cap�itulo 4
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�itulo vamos analisar o
esquema dos
M�inimos Quadrados, que fornece uma fun�c�ao que melhor represente os dados.
dk = f(xk) - '(xk),
seja m�inimo, onde '(x) �e uma combina�c�ao linear de fun�c�oes cont�inuas gi(x);i
=1, 2, :::, n,
escolhidas de acordo com os dados do problema. Isto �e
���
Neste caso dizemos que o ajuste �e linear. A escolha das fun�c�oes gi 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.
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
49
�
g3(x)= x2, pois '(x)= �1g1(x)+ �2g2(x)+ �3g3(x) representa �todas� as par�abolas e
com
a escolha adequada dos �i teremos aquela que melhor se ajusta aos pontos.
'(xk)
m
F (�1;�2;:::;�n)= . [f(xk)- z(�1g1(xk)+}. �ngn(xk))]. 2 .
k=1
���
A fun�c�ao F �e uma fun�c�ao que satisfaz F (�) = 0 8a . IRm . Isto �e, uma
fun�c�ao limitada
inferiormente e portanto esta tem um ponto de m�inimo. Este ponto pode ser
determinado
pelo teste da primeira derivada, sendo
@F .
=0 i =1, . . . , n.
@�i (�1;:::;�n)
. (xk)] gj(xk)=0
�2
k=1
[f(xk) - �1g1(xk) - �2g2(xk) ���� �ngn.
�
8.
�1
mmm
g1(xk)g1(xk)+ �2
g1(xk)g2(xk)+
g1(xk)gn(xk)
f(xk)g1(xk)
+ �n
=
���
g2(xk)g1(xk)+ �2
<.
g2(xk)g2(xk)+
���
+ �n
g2(xk)gn(xk)
f(xk)g2(xk)
�1
..... .
..... .
..... .
(xk)g1(xk)+ �2
(xk)g2(xk)+
(xk)gn(xk)
f(xk)gn(xk)
+ �n
�1
gn
gn
gn
���
8. <. .
���
���
���
... ..
... ..
... ..
���
onde
mm.
k=1 k=1
���
Exemplo 4.1.2 Usando a tabela do exemplo (4.1.1), vamos ajustar os dados por uma
par�abola. Para isto vamos tomar g1(x)=1;g2(x)= x e g3(x)= x2 . Calculando cada
uma das fun�c�oes nos pontos xk temos.
gi(xk)gj(xk)e bi
f(xk)gi(xk)
ai;j =
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
g1(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
g2(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
g3(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
15.
g1(xk) * g1(xk) = 15
a1;1 =
k=1
15X
a1;2 =
k=1
15X
k=1
�
15
a2;2 = . g2(xk) * g2(xk) = 22:62
k=1
15
a2;3 = . g2(xk) * g3(xk) = 34:92 = a3;2
k=1
15
a3;3 = . g3(xk) * g3(xk) = 57:09
k=1
15
b1 = . f(xk) * g1(xk)=9:91
k=1
15
b2 = . f(xk) * g2(xk) = 10:28
k=1
15
b3 = . f(xk) * g3(xk) = 12:66
k=1
Obtendo assim um sistema linear que pode ser resolvido por um esquema num�erico
estudado
no cap�itulo 3. A solu�c�ao do sistema �e dado por
'(x)=1:99x - 0:99x 2
f(0) '(0) = 0
f(1) '(1) = 1
No exemplo ajustamos os dados a uma par�abola, mas outras fun�c�oes bases poderiam
ser
usadas. Como exemplo, poder�iamos pensar que os dados representam o primeiro meio
ciclo
de uma fun�c�ao senoidal. E neste caso poder�iamos tomar g1(x)=1e g2(x) = sen(2�x)
Mas
afinal qual seria a melhor escolha? (Veja exerc�icio 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
15
k=1
Se o ajuste feito por uma fun�c�ao senoidal tiver um desvio menor, ent�ao este
ajuste representaria 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 3�3. No caso de uma fun�c�ao senoidal teremos
um sistema
2 � 2.
�
���
m�inimo, onde
D = . b
(f(x) - '(x))2dx
a
. b . b
aa
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
g1(x)=1,
g2(x)= x e g3(x)= x2 . Calculando os termos do sistema linear temos
. 1
a1;1 = g1(x)g1(x)dx =1
0
. 1 1
0 2
�
. 1 1
0 3
. 1 1
a2;2 = g2(x)g2(x)dx =
0 3
. 1 1
0 4
. 1 1
a3;3 = g3(x)g3(x)dx =
0 25
. 1
b1 = f(x)(x)g1(x)dx =0:636
0
. 1
b2 = f(x)g2(x)dx =0:318
0
. 1
b3 = f(x)g3(x)dx =0:189
0
cuja a solu�c�ao �e dada por �1 = �0:027, �2 =4:032 e �3 = �4:050. Assim temos que
���
���
�
0:5
1:0
1:5
2:0
2:5
3:0
�1:0
�0:5
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)= �1e�2x . Desta forma, um processo
de lineariza�c�ao deve ser empregado, para que seja poss�ivel aplicar o M�etodo
dos M�inimos
Quadrados. Neste caso podemos proceder da seguinte forma.
.
Fazendo �1 = ln(�1)e �2 = �2 o problema consiste em ajustar os dados de z por uma
reta.
Para isto tomamos g1(x)=1e g2(x)= x. Calculando as fun�c�oes em cada um dos pontos
�
�1:0
�0:5
9
a1;1 = . g1(xk) * g1(xk)=9
k=1
9
a1;2 = . g1(xk) * g2(xk)=9= a2;1
k=1
9
a2;2 = . g2(xk) * g2(xk) = 24
k=1
15
k=1
15
b2 = . z(xk) * g2(xk)=9:749
k=1
�1 = e �1 =0:349 e �2 = �2 =0:800
Portanto temos
'(x)= �1e �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
k=1
. b
. 0, para i = j
hgi;gj. =
6
ki, para i = j
4.5 Exerc�icios
Exerc�icio 4.1 Usando os dados abaixo, fa�ca um ajuste de curva com g1(x)=1 e
g2(x)=
sen(2�x). Calcule o desvio e compare com os resultados obtidos no Exemplo (4.1.1).
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�icio 4.2 Dada a tabela abaixo
sultado num ajuste de curvas. Justifique sua escolha. Fa�ca um ajuste considerando
sua
escolha.
t(oC)
0 5 10253035
C(t)
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?
1+ e(�1x+�2)
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 = �1x�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. )
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 gi que ser�ao ortogonais em [�3, 3] )
Cap�itulo 5
Interpola�c�ao Polinomial
���
uma fun�c�ao pn(x), escolhida numa classe de fun�c�oes, tal que esta satisfa�ca
certas propriedades. Neste cap�itulo vamos considerar o caso onde pn(x) �e um
polin�omio de tal forma
que
���
���
Prova: Seja p(x)= a0 + a1x + a2x2 ++ anx. Para obter os ai usamos a condi�c�ao de
���
���
���
���
. ...
. ...
.=.. .
���
0.
1 x0 x02 x0
n
���
1 x1 x12 x1
n
���
0. 1.
a0
a1
0. 1.
f0
f1
1.
1 x2 x22 x2
n a2 = f2
���
..... .
..... .
... .
@A
@A
.
1 xn xn
2 xn
n
���
an
fn
60
�
nl�1
Det(A)=
(xl - xj)
l=1 j=0
Exemplo 5.0.1 Vamos achar uma aproxima�c�ao para f(0:3) usando o polin�omio
interpolador dos dados abaixo.
Como temos, tr�es pontos (n +1 = 3), o grau do polin�omio ser�a menor ou igual a
dois. Logo
p(x)= a0 + a1x + a2x 2
Impondo a condi�c�ao fk = p(xk) obtemos:
f0 =4:00 = p(0) = a0 + a10+ a202
f1 =3:84 = p(0:2) = a0 + a10:2+ a20:22
f2 =3:76 = p(0:4) = a0 + a10:4+ a20:42
. B.
10 0
4:00
10:20:04
3:84
10:40:16
3:76
. C.
n
pn(x)= f0L0(x)+ f1L1(x)+ + fnLn(x)= . fkLk(x)
���
k=0
onde Lk(x) �e um polin�omio de grau = n que satisfaz a rela�c�ao
. 0 se k = j
Lk(xj)=
6
1 se k = j
Com isto temos que
���
1
%fL ()+ xjjj
���
+ fnLn%(xj)= fj
pn
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)
��� ���
L0(x)=
(x0 - x1)(x0 - x2)
=
(0 - 0:2)(0 - 0:4)
=
0:08(x 2 - 0:6x +0:08)
=
(x - x0)(x - x2)
=
(x - 0)(x - 0:4)
= �1(x 2
L1(x)
(x1 - x0)(x1 - x2) (0:2 - 0)(0:2 - 0:4) 0:04- 0:4x)
L2(x)=
(x2 - x0)(x2 - x1)
=
(0:4 - 0)(0:4 - 0:2)
=
0:08(x 2 - 2:6x)
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.
�
f[xk]= f(xk).
f[xk;xk+1]=
f[xk] - f[xk+1]
xk - xk+1
Este valor pode ser interpretado como uma aproxima�c�ao para a primeira derivada
de f(x),
em xk. O operador de diferen�ca dividida de ordem dois, nos pontos xk;xk+1;xk+2,
�e definido
da seguinte forma:
f[xk;xk+1;xk+2]=
f[xk;xk+1] - f[xk+1;xk+2]
.
xk - xk+2
f[xk;xk+1;:::;xk+n]=
f[xk;xk+n�1] - f[xk+1;xk+n]
.
xk - xk+n
x0
x1
x2
���
]
f0
> f0�f1
f1
x0�x1
> f[x0;x1]�f[x1;x2]
f1�f2
x0�x2
>
f2
x1�x2
> f[x1;x2]�f[x2;x3]
x1�x3
> f2�f3
x2�x3
>
f[x0;:::;xn�1]�f[x1;:::;xn]
x0�xn
x3
f3
..
.
..
.
..
.
xn�1
fn�1
> fn�1�fn
xn�1�xn
xn
fn
�
f[x, x0;x1]=
f[x, x0] - f[x0 - x1]
x - x1
Isolando a diferen�ca de ordem um que depende de x segue que
f(x) - f(x0)
= f[x0;x1]+(x - x1)f[x, x0;x1],
x - x0
= f(x0)+(x1 - x0)
f(x0) - f(x1)
x0 - x1
= f(x1)
onde
���
���
���
�
Assim podemos aproximar f(x) por pn(x), sendo que o erro �e dado por En(x). O
polin�omio
pn(x) �e o polin�omio interpolador de f(x) sobre os pontos x0;x1;:::xn, pois
p(xj)= f(xj),
para j =0, 1;:::;n.
00:511:5
f(x)
xkf[xk]f[xk;xk+1]f[xk;::;xk+2]f[xk;::;xk+3]
0:00:00002:29740:51:14870:84183:13920:363061:02:71831:38644:52561:54: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
f(n+1)(�)
En(�x)= f(�x) - pn(�x) = (�x - x0)(�x - x1) ��� (�x - xn)
(n + 1)!
com . . [x0;xn]
�
Prova: Seja G(x)=(x - x0)(x - x1)(x - xn), logo G(xi) = 0 para i =0, 1;:::n. ���
1: H(t) possui derivadas at�e ordem n + 1, pois G e En possuem derivadas at�e esta
ordem.
2: H(t) possui pelo menos (n + 2) zeros em [x0;xn], pois para t = xi temos
00
H(n+1)(t)= En(x)G(n+1)(t) - En
(n+1)(t)G(x)
onde,
En
(n+1)(t)= f(n+1)(t) - pn
(n+1)(t)
G(n+1)(t)=(n + 1)!
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 x0 =0:34;x1 =0:4e x2 =0:52. Isto
se
justifica pela f�ormula do erro, pois
j| x2[x0;x2] (n + 1)!
o grau do polin�omio for maior que 2, n�ao temos um procedimento anal�itico 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�ivel 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�ivel �e que esta seja mon�otona
crescente ou
decrescente. Em termos dos pontos tabelados isto significa que os pontos devem
satisfazer
f0 <f1 < <fn ou f0 >f1 > >fn
��� ���
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
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 melhorar 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 - x0)(x - xn) seja grande.
Desta
���
% 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�icios
Exerc�icio 5.1 A tabela abaixo fornece o n�umero de habitantes do Brasil (em
milh�oes) de
1900 a 1970.
ano
Hab.
f(x)
hora
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
f(x)dx � A0f(x0)+ A1f(x1)+ Anf(xn)= . Aif(xi)
a
���
i=0
onde os pontos s�ao igualmente espa�cados, isto �e xk = x0 + kh, com h =(b - a)=n,
eos
coeficientes Ai s�ao determinado pelo polin�omio escolhido para aproximar a
fun�c�ao f(x).
. b . x1
a
f(x)dx � x0
p1(x)dx
. x1
x0
72
CAP�ITULO 6. INTEGRAC� AO NUM ERICA -F � OTES 73
�� ORMULAS DE NEWTON C �
22
= f(x0)(x1 - x0)+
f(x1) - f(x0)(x1 - x0)2
x1 - x0 2
=
(x1 - x0)
(f(x0)+ f(x1))
=(f(x0)+ f(x1));
2
onde h = A f��ezio que tem f(x1)e f(x0)
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.
INTEGRAC�ORMULAS DE NEWTON C �
5.3.1. Calculando a integral da fun�c�ao f(x) no intervalo [a, b], segue que
. b . b . b
. b . b f00(�) h3
aa 2 12
h3
ET max f00(�)
jj= 12 �2[a;b] j|
Exemplo 6.2.1 Como exemplo, vamos considerar a fun�c�ao f(x)= e�x, cuja a
primitiva
n�ao tem uma forma anal�itica 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
e�x2
dx �
1(e�02
+ e�12
)=0:6839397
0 2
Para calcular o erro cometido temos que limitar a segunda derivada da fun�c�ao no
intervalo
[0, 1]. Sendo
2 s3
. 2
Como o �unico ponto cr�itico pertencente ao intervalo �e x =0 segue que
max f00(�)=2
�2[a;b] j|
h3 1
= 12 �2[a;b] j| 6
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 � OTES 75
�� ORMULAS DE NEWTON C �
h =
b - a
e xk = x0 + kh com k =0, 1;:::;n
n
Aplicando a Regra do Trap�ezio em cada subintervalo [xk;xk+1] segue que
. b hhh hh
a
f(x)dx � 2(f0 + f1)+
2(f1 + f2)+
2(f2 + f3)+ ��� +
2(fn�2 + fn�1)+
2(fn�1 + fn)
h3
max
jETGj= n
12 �2[a;b] jf00(�)|
CAP�ITULO 6. INTEGRAC� AO NUM ERICA -F � OTES 76
�� ORMULAS DE NEWTON C �
Exemplo 6.3.1 Considerando a fun�c�ao do exemplo anterior, f(x)= e�xem [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 jETGj= 10�4, logo
h3
12 �2[0;1] j|
h3 11
12 �2[0;1] j| . n3 12
. n= 6 � 10�4
. n 2 = 1666:666
. n = 40:824
Devemos tomar no m�inimo 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
�� ORMULAS DE NEWTON C �
. b . x2
a
f(x)dx � x0
p2(x)dx
=(f(x0)+4f(x1)+ f(x2));
ES = . b
E2(x)dx = . b
(x - x0)(x - x1)(x - x2)
f000(�)
dx = -
h5
f(iv)(�);. . [a, b]
aa 3! 90
Na pr�atica usamos a estimativa para o erro
h5
ESmax f(iv)(�)jj= 90 �2[a;b] j|
b - a 1 - 01
h ===
2 22
CAP�ITULO 6. INTEGRAC� AO NUM ERICA -F � OTES 78
�� ORMULAS DE NEWTON C �
. b 1
a 6
jf(iv)(0:958572)| =7:41948
Assim temos que
max f(iv)(�)=12
�2[a;b] j|
h5
ES max f(iv)(�)=0:00416667
== 90 �2[a;b] j|
Desta forma podemos garantir que as duas primeiras casas decimais est�ao corretas.
h =
b - a
e xk = x0 + kh k =0, 1;:::;n
n
Aplicando a Regra de Simpson em cada subintervalo [xk;xk+2] segue que
. b hhh h
a
f(x)dx � 3(f0 +4f1 + f2)+
3(f2 +4f3 + f4)+ ��� +
3(fn�4 +4fn�3 + fn�2)+
3(fn�2 +4fn�1 + f
�� ORMULAS DE NEWTON C �
h5
= n
180 �2[a;b]
Exemplo 6.5.1 Considerando a integral da fun�c�ao f(x)= e�x, 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 ESR= 10�4 . Sendo h =(b -
a)=n e
max�2[0;1] jf(iv)(�)| = 12 segue que j|
h5 1 12
. n4 = 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).
Pelas f�ormulas de erro podemos observar que a Regra do Trap�ezio �e exata para
polin�omios de grau um, enquanto que a Regra de Simpson �e exata para polin�omios
de grau
tr�es.
6.7 Exerc�icios
Exerc�icio 6.1 Calcule as integrais pela Regra do Trap�ezio e pela Regra de
Simpson usando
seis subintervalos.
. 4 pxdx e . 0:6 dx
10 1+ x
Exerc�icio 6.2 Calcule o valor de p com tr�es casas decimais exatas usando a
rela�c�ao
p . 1 dx
4 0 1+ x2
CAP�ITULO 6. INTEGRAC� AO NUM ERICA -F � OTES 80
�� ORMULAS DE NEWTON C �
Exerc�icio 6.3 Mostre que se f0(x) �e cont�inua em [a, b] e que f00(x) > 0, 8x .
[a, b], ent�ao
a aproxima�c�ao obtida pela Regra do Trap�ezio �e maior que o valor exato da
integral.
Exerc�icio 6.4 Dada a tabela abaixo, calcule a integral :150:30f(x)dx com o menor
erro
. b . d
f(x, y)dx dy
ac
. 1 . 1
x 2 + y 2dx dy
00
Cap�itulo 7
Muitos dos modelos matem�aticos nas �areas de mec�anica dos fluidos, fluxo de
calor, vibra�c�oes,
rea�c�oes qu�imicas 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�itica desta solu�c�ao.
. y. = f(x, y)
y(x0)= y0
y0(x0) = lim
y(x0 + h) - y(x0) y(x0 + h) - y(x0)
(7.1)
h!0 h � h
81
��
y1 �h
y0 = f(x0;y0) . y1 = y0 + hf(x0;y0)
Com isto relacionamos o ponto y1 com y0, um valor dado no P.V.I. Assim obtemos uma
yk+1 = yk + hf(xk;yk)
Este m�etodo �e conhecido como M�etodo de Euler.
. y. = x - 2y
y(0) = 1
Neste caso temos que x0 =0 e y0 =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
A solu�c�ao anal�itica 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.
. y. = f(x, y)
y(x0)= y0
y(x)= y(xk)+
y0(xk)
(x�xk)+
y00(xk)
(x�xk)2 ++
y(n)(xk)
(x�xk)n +
y(n+1)(�)
(x�xk)n+1
y0(xk) y00(xk)
h2 y(n)(xk)
hn y(n+1)(�)
hn+1
y00(xk)= f(xk;yk)
dx
��
= fx + fyy.
= fx + fyf
y(n+1)(�)
hn+1Eloc(xk+1)=
(n + 1)!
. . [xk;xk+1]
Como exemplo temos que o M�etodo de Euler �e um m�etodo de 1o ordem, pois este
�
coincide com a s�erie de Taylor at�e o primeiro termo, logo o erro local �e dado
por
Eloc(xk+1)=
y0. (�)
h2 . . [xk;xk+1]
2!
Neste caso temos que f(x, y)= x - 2y, logo segue que
y(xk+1)= y(xk)+
0(xk)
h +
y00(xk)
h2
1! 2!
h2
h2
2
��
h2
0:12
h2
0:12
h2
0:12
h2
0:12
h2
0:12
=0:515152 + 0:1(0:4 - 2 * 0:515152) + (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 2o 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
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 1o ordem. Vamos determinar um m�etodo de 2o 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 yen+1 = yn + hf(xn;yn) que �e obtida pela aproxima�c�ao do
m�etodo de
Euler.
Montamos a reta L1 que tem coeficiente angular dado por y0(xn)= f(xn;yn).
ynn
Montamos a reta L2 com coeficiente angular dado por f(xn+1, yen+1)= f(xn;yn +
hy0)e
passa pelo ponto P ( Ver figura 7.2-b ).
Montamos a reta L0 que passa por P e tem como coeficiente angular a m�edia dos
coeficientes
angular de L1 e L2 (Ver figura 7.2-c). Finalmente a reta que passa pelo ponto
(xn;yn) e �e
paralela a reta L0 tem a forma
2n
Podemos observar que o valor de yn+1 (Ver figura 7.2-d) est�a mais pr�oximo do
valor exato
que o valor de yen+1. Este esquema num�erico �e chamado de m�etodo de Euler
Melhorado,
onde uma estimativa do erro local �e dado por
h3
Eloc(xn)max y000(�)jj= 6 �2[xn;xn+1] j|
��
onde
yn+1 = yn + K1 + K2 + K3
939
K1 = hf(xn;yn)
K2 = hf(xn + h=2;yn + K1=2)
K3 = hf(xn +3h=4;yn +3K2=4)
R-K 4o
� ordem:
1
6
K1 = hf(xn;yn)
K2 = hf(xn + h=2;yn + K1=2)
K3 = hf(xn + h=2;yn + K2=2)
K4 = hf(xn + h, yn + K3)
. xn+1 . xn+1
xn xn )
. xn+1
Integra�c�ao Num�erica
. xn+1 . xn+1
22
�xn+1 xn .
22
= hfn�1 +
fn - fn�1 1 �xn+12 - 2(xn - h)xn+1 - xn
2 + 2(xn - h)xn .
h 2
= hfn�1 +
fn - fn�1 1 �xn+12 - 2xnxn+1 + xn
2 +2h(xn+1 - xn).
h 2
= hfn�1 +
fn - fn�1 1 �(xn+1 - xn)2 +2h2.
h 2
h
= (2fn�1 +3fn)
Este m�etodo �e um m�etodo expl�icito, de passo dois. Isto significa que yn+1
depende de yn e
yn�1. Logo necessitamos de dois valores para iniciar o m�etodo: y0 que �e dado no
P.V.I.; y1
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.
xn xn 2!
5
= h3 y000(�) . . [xn;xn+1]
12
5
Eloc(xn+1)= h3 max y000(�)
j| 12 �2[xn;xn+1] j|
��
. y. = �2xy
y(0:5) = 1
Do P.V.I segue que y0 =1 e x0 =0:5. Este �e um m�etodo de passo dois e vamos ter
que calcular y1 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 3o derivada de y(x) temos
que
�
este m�etodo �e de 2o ordem. Assim vamos utilizar o m�etodo de Euler Melhorado,
que �e um
�
m�etodo de 2�
o ordem.
0:2
=1+ (�2 * 0:5 * 1+(�2) * 0:5 * (1 + 0:2 * (�2 * 0:5 * 1))) = 0:82 � y(0:7)
y2 = y1 + (2f0 +3f1)
0:2
y3 = y2 + (2f1 +3f2)
2
0:2
=0:2756 + (2 * (�2) * 0:7 * 0:82 + 3 * (�2) * (0:9) * 0:2756) = �0:102824 � y(1:1)
h 251
24 720
Neste caso necessitamos de quatro valores iniciais, y0;y1;y2 e y3, que deve ser
calculados por
um m�etodo de passo simples de ordem maior ou igual a quatro (Ex. Runge-Kutta de
4o
�
ordem).
EQUAC�� 91
. xn+1 . xn+1
�xn+12 xn
2 .
2 2
= hfn +
fn+1 - fn 1 �xn+12 - 2xnxn+1 + xn
2.
h 2
= hfn +
fn+1 - fn 1(xn+1 - xn)2
h 2
h
=(fn + fn+1)
2
Substituindo a aproxima�c�ao da integral em (7.5) obtemos o seguinte m�etodo
2
O erro local, cometido por esta aproxima�c�ao ser�a
xn xn 2!
1
. 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 : yn+1 = yn + hf(xn;yn)
h
C : yn+1 = yn + (2fn + fn+1)
2
Sendo x0 =0 e y0 =1 temos
P : y1 = y0 + hf(x0;y0)=1+0:1(�2 * 0 * 1 - 12)=0:9
C : y1 = y0 + h (2f0 + f1)=1+
0:1 ��2 * 0 * 1 - 12 - 2 * 0:1 * 0:9 - 0:92. =0:9005 � y(0:1)
2 2
8.. ..
y00. = x2 + y2 - y. - 2y00x
y(0) = 1
y0(0) = 2
y00(0) = 3
Para transformar num sistema de primeira ordem devemos usar vari�aveis auxiliares.
Fazemos
y. = wy0. = w. e fazemos y0. = w. = zy00. = w0. = z0. Com isto a equa�c�ao acima
pode
))
8. <. .
y. = w
w. = z
z. = x2 + y2 - w - 2zx
y(0) = 1
w(0) = 2
z(0) = 3
y0
0B
. CA
.
. B.
. B.
. C.
. CA
+
. B.
. C.
01 0
w.
z. y
00 1
�1 �2x
zx
Y .
ou seja
37
1C
1C
1.
1.
. B.
1.
1.
0B
.
0B
.
. = . + h . +
Tomando h =0:1, vamos calcular uma aproxima�c�ao para y(0:2). Calculando Y1 � Y
(0:1)
temos que
. = . + h . + . .
. B.
. B.
. 6.
. B.
. C.
. B.
. 7.
. C.
01 0
yn+1
yn
yn
00 1
wn+1
wn
wn
�1 �2xn
zn+1 zn yn
zn xn
. B.
. 6.
. B.
. C.
. B.
. C.
01 0
y1
y0
y0
00 1
w1
w0
w0
z1 z0 y0
�1 �2x0
z0 x0
2
��
. = . +0:1 . + . =
37
1C
1C
1C
. B.
. B.
. B.
. 6.
. B.
. C.
. B.
. C.
. B.
. C.
01 0
1:2
y1
00 1
2
0
2:3
w1
02
2:9
z1
1 �1 �2 * 0
. B@
. = . + h
z2 z1 y1
1C
1C
. B.
. B.
. 6.
. B.
. CA
. +
z1 x1
1C
. B.
37
. CA
. .
01 0
y2
y1
y1
00 1
w2
w1
w1
�1 �2x1
37
. = . +0:1 . + . =
1C
Note que neste caso n�ao estamos achando apenas o valor aproximado de y(0:2), mas
tamb�em
1C
�.
1C
1C
. B.
. B.
. B.
. 6.
. B.
. C.
. B.
. C.
. B.
. C.
1:2
01 0
1:2
1:430
y2
2:3
00 1
2:3
2:590
w2
0:12
2:9
1:2 �1 �2 * 0:1
2:9
2:757
z2
. B.
. B@
. C.
y(0:2)
1:430
0(0:2)
2:590
y00(0:2)
2:757
7.6 Exerc�icios
Exerc�icio 7.1 Dado o P.V.I.
. y. = x - y
y(1) = 2:2
h 251
24 720
�
e b1 = b2 =1=2 (ver (7.3)). Aplique o m�etodo para o P.V.I.
8>:
<>
y.
= �2py
y
y(1) = 0:25
� �
. y. = y
y(0) = 1
. h2 !n+1
yn+1 = 1+ h +
. y. = x - 2y
y(0) = 1
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�icio 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.
+2y =0
. y0. - 3y.
y(0) = �1y0(0) = 0