Você está na página 1de 125

Anlise Numrica

Departamento de Engenharia Civil


2003 2004

Ana Maria Faustino


Anlise Numrica Teoria de erros - DEC 1

Teoria de erros
Erros nos dados
Erros de arredondamento
(nmero finito de dgitos
3.14) Erros computacionais
Tipos
de Erros de truncatura
(nmero finito de termos Erros dos mtodos
erro n 1 f ( k ) ( a )
k (n)
f ( x) ( x a) ) f ( ) n
k =0 k! E n ( x ) = ( x a )
n!

frmula de Taylor

Erros nos dados por exemplo, dados gerados por


medies de variveis fsicas. O erro vai depender da
preciso do instrumento de medida, etc.

Erros dos mtodos quando se fazem aproximaes a


expresses matemticas exactas. Caso muito comum,
aproximao da soma de uma srie pela soma finita dos
termos mais significativos.
Exemplo 1: Usar a aproximao
x x2 x3 x4
e 1 x + +
2 6 24
para determinar e1 9 .
24
Anlise Numrica Teoria de erros - DEC 2

Erros computacionais sempre que se efectuam


clculos com o computador ou mquina de calcular que
trabalham com nmeros em vrgula flutuante (float)
expoente
Float= sinal mantissa base

S possvel representar exactamente alguns dos nmeros


dos intervalos a cheio alm do zero,

overflow underflow overflow


-xmax -xmin 0 xmin xmax

quanto maior for o nmero de dgitos (t) disponveis para a


mantissa maior ser a quantidade de nmeros
representados. A amplitude dos intervalos vai depender da
base e do nmero de dgitos disponveis para o expoente.
O mais comum que a base seja 10 (mquinas de calcular),
seja 2 (computadores) ou tambm 16 (dgitos hexadecimais
0 1 2 3 4 5 6 7 8 9 A B C D E F)

O modo como os nmeros so armazenados varia com a


mquina. Quando se usa o modo normalizado o expoente
modificado de modo a que a mantissa seja <1 e com o
primeiro dgito fraccionrio diferente de zero.
Anlise Numrica Teoria de erros - DEC 3

Exemplo 2:
2 -1 -2 -3 2
32.4 +0.32410 (310 +210 +410 )10
num computador binrio que use 4 bytes teremos:
sinal expoente mantissa
bits 1 8 23 (+1)

-1
2 mantissa < 1
xmin= (.10...0)2 2-127 2.9410-39
xmax= (.11...1)2 2128 3.401038

Qual a causa dos erros de arredondamento?.



A adio (+) e a multiplicao () no so operaes
internas no conjunto dos nmeros em vrgula flutuante.

Suponhamos uma mquina que trabalha na base 10, a


mantissa com 4 dgitos e os expoentes mximo e mnimo
respectivamente 9 e 9.

H duas situaes que podem ocorrer:


Anlise Numrica Teoria de erros - DEC 4

O resultado cai fora dos limites


Esta situao deve ser considerada anormal e deve ser
corrigida. Pode ser:

Overflow | x | > xmax


0.93511060.3471104=0.32457321010>109
Quando isto acontece algumas mquinas substituem o
resultado por xmax cometendo um erro, outras do uma
mensagem de erro.

Underflow | x | < xmin


0.5432 106 = 1.04602351011 < 109
0.5193105
Quando isto acontece algumas mquinas substituem o
resultado por 0 cometendo um erro, outras do uma
mensagem de erro (ou aviso).

A parte fraccionria ter mais do que t dgitos


Exemplo 3:
0.3472102+0.8310102=0.11782102

0.935110-10.3471103=0.32457321102
Anlise Numrica Teoria de erros - DEC 5

As mquinas podem:

Truncar
0.d1d2dtdt+1dnk 0.d1d2dtk
Arredondar
0.d1d2dtdt+1dnk 0.d1d2d*tk

se d t +1 < 1

d t
d*t = 2
d
t
+1 se d t +1 1
2

Exemplo 3:

Resultado Truncar Arredondar


0.11782102 0.1178102 0.1178102
0.32457321102 0.3245102 0.3246102

O erro introduzido vai depender da preciso da mquina

Preciso da mquina (Epsilon - M)


As mquinas de calcular s trabalham com um nmero
finito de valores discretos. Para determinar a distncia
entre dois valores adjacentes necessitamos de conhecer
M o menor nmero positivo que pode ser adicionado a 1
alterando-o.
Anlise Numrica Teoria de erros - DEC 6

Exemplo 4 (na mquina anterior)


0.1000101+0.100010-2=0.1001101
0.1000101+0.100010-3=0.1000101
Logo M>10-4.
Se truncar
0.1000101+0.500010-3=0.1000101 e M=10-3
Se arredondar
0.1000101+0.500010-3=0.1001101 e M = 0.510-3

De um modo geral


1t se truncar
M = 1 1t
se arredondar
2
e
os nmeros adjacentes a um dado x so
(1 - M) x, x, (1+ M) x
i.e., nmeros adjacentes esto distanciados de M x

Como a distncia depende de x os nmeros em vrgula


flutuante esto distribudos de modo mais denso nas
proximidades de xmin e tornam-se mais raros medida que
se aproximam de xmax.
Anlise Numrica Teoria de erros - DEC 7

Como se representa o erro?

Erro absoluto = |valor exacto - valor aproximado|

Erro mximo absoluto (e.m.a.) - a


Chama-se e.m.a. de um valor aproximado a do valor
exacto A ao supremo do conjunto dos valores que o erro
absoluto pode tomar e representa-se por a.

= | A a | e a

A = a a A[a-a, a+a]
A
a-a a a+a

Como na maior parte dos casos A desconhecido


impossvel conhecer o valor do erro absoluto. Deste modo
controlamos o erro atravs de um e.m.a.
Exemplo 5: No exemplo 1 consideramos e1 9 = 0.375 ,
24
como a srie alternada sabe-se que o erro mximo
1 1
absoluto cometido e 1 = = 0.0084 , pois o erro
5! 120
inferior ao primeiro termo desprezado. Isto
9 1 9 1
e 1 , + [0.36, 0.39] (e-1maq=0.3678794412)
24 120 24 120
Anlise Numrica Teoria de erros - DEC 8

Se quisermos ter uma informao acerca da preciso do


resultado temos que fornecer o erro relativo.

valor exacto - valor aproximado


Erro relativo =
valor exacto

Erro mximo relativo (e.m.r.) - a


Chama-se e.mr. de um valor aproximado a do valor
exacto A ao supremo do conjunto dos valores que o erro
relativo pode tomar e representa-se por a.

A a
= = e a
A A

Exemplo 6 : Pelo que foi dito anteriormente o M d-nos o


erro mximo relativo de qualquer resultado da mquina
obtido com dados exactos.

O erro absoluto vem nas unidades de A.


O erro relativo no tem unidades e, por isso,
muitas vezes apresentado em %
Anlise Numrica Teoria de erros - DEC 9

Relaes entre os e.m.a. e o e.m.r.


I. Determinao do e.m.r. conhecido o e.m.a..

= a = a (1)
A a a

na prtica se a << a
a = a (2)
a

Arredondar a por defeito

II. Determinao do e.m.a. conhecido o e.m.r..


= A a ( a + a ) = a
c
a a
a = (3)
1 a
na prtica se a << 1
a = a a (4)

Arredondar a por excesso

Notar que (1)


(3) mas (2) (4)

A=a a A= a (1 a)
e.m.a. e.m.r.
2 2
Exemplo 7: A=(6.50.02)m A=6.5m (10.31%)
Anlise Numrica Teoria de erros - DEC 10

Como se apresenta o erro? E o valor aproximado?

Algumas noes:
Algarismos significativos (a.s.) de um nmero
so todos os dgitos usados na escrita com excepo dos
zeros para representar a casa das unidades.
(exemplo: 0.0519 tem 3 a.s.)

Algarismos significativos correctos (a.s.c.)


(ou exactos)
Um a.s. de um nmero aproximado a de uma
quantidade exacta A diz-se correcto se
=|A-a| 0.5 10-m
onde -m o expoente de 10 associado casa decimal
(c.d.) ocupada pelo algarismo.
Exemplo 8: 325.09=3102+2101+5100+010-1+910-2

Salvo raras excepes, quantos mais algarismos


significativos correctos o nmero aproximado tem
melhor a aproximao.

Exemplo 9 : Considere o valor exacto 2, e os valores


aproximados 1.999 e 2.01. Qual a melhor aproximao ?
(Resposta: 1.999)
Anlise Numrica Teoria de erros - DEC 11

A melhor aproximao, com t algarismos significativos,


a que obtida por arredondamento do valor exacto,
pois, assim, todos os t a.s. so correctos.

Apresentao dos resultados


No interessa escrever os nmeros aproximados com
algarismos sem significado. Por isso suficiente
apresentar,

Erros (arredondados por excesso):


com 1 (2 no mximo) a.s;
Valores aproximados (arredondados):
s com o nmero de a.s.c. (resultados finais)
com o nmero de a.s.c.+1 (resultados finais ou que.
. vo entrar em clculos simples)
com o nmero de a.s.c.+2 (resultados que vo entrar
. em clculos mais complicados)

NOTA: Sempre que possvel devem trabalhar


sequencialmente com a mquina
Relao entre e.m.a. e c.d.c.

n c.d.c.
-n
a 0.510

Relao entre e.m.r. e a.s.c.


-n -(n-1)
n a.s.c. a 0.510 ou a 0.510
-n
a 0.510 n a.s.c. ou (n+1) a.s.c.
d1 10 d1 1
Anlise Numrica Teoria de erros DEC 12

Propagao dos erros


I. Funo de uma varivel (z=f(x))
Seja f: , contnua num domnio D . Seja x0 um
valor aproximado de x e x=|x-x0|. Qual o e.m.a. z com
que z0 = f (x0) aproxima z = f (x)?

Regra de enquadramento
Seja fmin e fmax respectivamente o valor mnimo e
mximo de f em [x0 - x, x0 + x], ento, como a funo
contnua, z0 [ fmin , fmax ] e
z = max{ f (x0) - fmin , fmax f (x0)}.

Frmula de Taylor de 1 ordem


(teorema de Lagrange ou Frmula dos acrscimos finitos)
Seja f contnua e derivvel em [x0- x, x0 + x] ento
z=f (x0 x) f (x0)= f () x
] x0 - x, x0 + x [
e

z M1 x , onde M1= max f ()
(] x0 - x, x0 + x [)
na prtica
z f (x0) x O ( x2)
Anlise Numrica Teoria de erros DEC 13

Geometricamente

- erro estimado
f (x0+ x) - erro cometido
f (x0)
f (x0- x)
por defeito
( no e.m.a.)

x0 - x x0 x0 + x

por excesso
( e.m.a.)

Determinao do e.m.r. ( z) directamente

z f ( x0 )
z = x
z f ( x0 )


Se f (x0) = 0 ento, usando a frmula de Taylor de 2
ordem, tem-se:

z 1 f (x0) x2 O ( x3)
2
c
despreza-se quantidades
de 3 ordem em x
Anlise Numrica Teoria de erros DEC 14

II. Funo de vrias variveis (z=f(x1, x2, ...,xn))


Seja f : n , contnua num domnio D n. Seja x0n um
valor aproximado de x com um e.m.a. xn. Qual o e.m.a.

z com que z0 = f (x0) aproxima z = f (x).

Regra de enquadramento
A determinao de fmin e fmax nem sempre simples.
No se utiliza por isso este processo.

Frmula de Taylor de 1 ordem


Seja x0=(x1,x2,...,xn) e x = (x1, x2, ..., xn)
Se a funo f: D n, alm de ser contnua em D,
tiver derivadas parciais contnuas em D, isto , f
continuamente diferencivel em D ento

z = f ( x 0 x) f ( x 0) = f ( x1 x1 , ..., xn xn ) f ( x1 , ..., xn )

n f ( x 0)
= xi +
i =1 xi
f ( x 0) f ( x 0) f ( x 0)
= x1 +


x x2 + L + x xn +
x1 2 n

em que 0 quando x 0, isto , de 2 ordem em


xi i=1, , n)
Anlise Numrica Teoria de erros DEC 15

Por isso, e como


n f ( x0 ) n f ( x0 )
xi xi
i =1 xi i =1 xi

tem-se
Aproxima a funo pelo
f ( x0 )
n
z xi hiperplano tangente
i =1 xi superfcie no ponto
aproximado

f ( x0 )
Nota: a derivada parcial de f em ordem a xi
xi
e definida por
f ( x0 ) f ( x1,L, xi + hi ,L, xn ) f ( x1,L, xi ,L, xn )
= lim
xi hi 0 hi

Pode usar as regras de derivao de funes de uma


varivel, considerando que todas as variveis diferentes
de xi so constantes.

Determinao do e.m.r. ( z) directamente

f( x 0 ) f( x 0 )
xi
z n xi n xi
z = xi = xi
| z | i =1 f( x 0 ) i =1
0
f( x )
Anlise Numrica Teoria de erros DEC 16

Interpretao geomtrica
Seja z = f (x,y), x = x0 + x e y = y0 + y

e2
z3 z4
z z2 Plano tangente
superfcie no
ponto (x0,y0)
z1
y
y0+y e1
y0
ei
O erro estimado (z)
x0
x0+x e.m.a. - z
x

Sejam z1, z2, z3 e z4 4 funes de uma varivel, obtidas pela


interseco da superfcie z = f (x,y), com 4 planos verticais
paralelos a O x z e O y z.
a) z1 = f (x,y0)
funes de x
b) z2 = f (x,y0+y)
c) z3 = f (x0,y)
funes de y
d) z4 = f (x0+x,y)

Usando as funes z1 e z4
z = f ( x0 + x, y0 + y ) f ( x0 , y0 ) = e1 + e2
Usando a frmula de Taylor de 1 ordem:
Anlise Numrica Teoria de erros DEC 17

d z1( x0 ) f ( x0 , y0 )
e1 x = x
dx x

d z4 ( y0 ) f ( x0 + x, y0 )
e2 y = y
dy y

Como x e y so quantidades pequenas e as derivadas


parciais so contnuas

f ( x0 + x, y0 ) f ( x0 , y0 )

y y
e

f ( x0 , y0 ) f ( x0 , y0 )
z x + y
x y

A funo substituda pelo


hiperplano tangente superfcie no
ponto aproximado
Anlise Numrica Teoria de erros DEC 18

Regras prticas

Expresses de erros mais simples:

z = x y z = x + y (e.m.a.)

x
z = x y e z = z = x + z (e.m.r.)
y

z = x p (p exacto) z = px (e.m.r.)

Como o e.m.a. est relacionado com c.d.c. e o e.m.r.


est relacionado com a.s.c., tem-se:

Adies c.d.
Produtos a.s.
Divises a.s.
Potncias a.s.

Sejam
x0= 475.54 (x=0.510-2, 2 c.d.c. e 5 a.s.c. )
e y0=0.0768 (y=0.510-4, 4 c.d.c. e 3 a.s.c.)
dois valores aproximados de x e y.
xmin=475.535 x < 475.545 = xmax
ymin=0.07675 y < 0.07685= ymax
Anlise Numrica Teoria de erros DEC 19

Adio e subtraco
x0 + y0=475.54 + 0.0768 =475.6168
x0 - y0=475.54 - 0.0768 =475.4632
Enquadramento
xmin+ ymin x+y < xmax+ ymax 475.6118 x+y < 475.6229
xmin- ymax < x-y < xmax- ymin 475.4582< x-y < 475.4683
(xy)=0.50510-20.510-22 c.d.
Frmula de Taylor
(xy)=1x + |1|y =0.5 10-2 +0.5 10-40.5 10-22 c.d.
x + y = 475.62
x y = 475.46
Regra prtica

Numa adio algbrica de dois ou mais nmeros


aproximados, o resultado dever ter tantas casas
decimais quantas as do nmero com menos casas
decimais correctas. Os restantes nmeros podem ser
arredondados para mais uma c.d. do que as daquele que
tem menos.

475.54 + 0.077=475.617 x + y =475.62


475.54 - 0.077=475.463 x - y =475.46
Anlise Numrica Teoria de erros DEC 20

Produtos e divises
x0 y0 = 475.54 0.0768 = 36.521472

x0 475.54
= = 6191.927083
y0 0.0768

Enquadramento
xmin ymin x y < xmax ymax

36.49731125 x y < 36.54563325


xmin x xmax x
< < 6187.33442 < < 6196.026059
ymax y y min y

Frmula de Taylor
x
(x y ) = = x + y =
y

0.5 10 2
0.5 10 4
= + = 1.1 10 5 + 6.6 10 4
4.7 102 0.076

= 6.71 10 4 0.7 10 3 < 0.5 10 2 2 ou 3 a.s.c.

( x y ) = x y ( x y ) = 36.5 0.7 10 3

0.26 10 1 < 0.5 10 1 1 c.d.c, 3 a.s.c.

x x x
= = 6.2 103 0.7 10 3
y y y

4.4 < 0.5 101 casa das dezenas correcta, 3 a.s.c.


x y = 36.5
x
= 6.19 103
y
Anlise Numrica Teoria de erros DEC 21

Regra prtica

No produto ou diviso de dois ou mais nmeros


aproximados o resultado dever ter tantos algarismos
significativos quantos os do nmero com menos
algarismos significativos correctos. Os restantes
475.5 0.0768 = 36.5184 x y = 36.5
nmeros podem ser arredondados para mais um a.s. do
475.5 x
= 6191
que os daquele que menos. = 6.19 103
tem.40625
0.0768 y

Potncias
Regra prtica

Seja z=xp (p).


Se |p| 1 z tem o mesmo nmero de a.s. do que x
Se |p| >10 z perde a.s. relativamente a x
(se |p|10k perde k a.s.)
Se |p| <10-1 z ganha a.s. relativamente a x
(se |p|10-k ganha k a.s.)

Exemplo 9:
a) 4.34 = 2.083266666 tem 3 a.s.

2.082066281 = 4.335 x < 4.345 = 2.084466359

b) 10 4.34 = 1.158107763 tem 4 a.s.

1.157974272 = 10 4.335 10 x < 10 4.345 = 1.158241117


Anlise Numrica Teoria de erros DEC 22

Os nmeros exactos tem uma infinidade de a.s.c. e de


c.d.c.
Exemplo 10:
Calcular 12 e 12+ com =3.14.

3 a.s.
12123.1437.7 3 a.s.
12+12+3.14=15.14 2 c.d.
2 c.d.

De facto, como =3.14159265..., =0.210-2 e


3.138 3.142
37.656 12 37.704
15.138 12+ 15.142
Quando se faz adies algbricas pode-se perder ou
ganhar a.s.

Exemplo 11:

-Perda de a.s. na subtraco de nmeros prximos


14.719-14.7081 0.011s tem 2 a.s.

- Ganho de algarismos significativos na adio


34.719+83.102=117.821tem 6 a.s.
Anlise Numrica Teoria de erros- DEC 23

Perda de equivalncia
Propagao do erro
entre expresses

Cancelamento - Expresses com diferena de


nmeros muito prximos perdem os algarismos mais
significativos dos argumentos. Assim, os algarismos
mais significativos do resultado so os menos
significativos dos argumentos que j podem estar
afectados de erros, aumentando muito o erro relativo.

Exemplo 12: Dadas as seguintes expresses equivalentes,


calcule os seus valores usando a aproximao 8 = 2.83 .
Interprete e justifique os resultados.

= (3 8 ) = 99 35 8
1 3

(3 + 8 )3
8 = 2.83 8 (mq) erro a.s.c.
1
5.0465510-3 5.05063388310-3 4.110-6 3
(3 + 8 ) 3

(3 8 )3 4.91310-3 5.05063388710-3 1.410-4 1

99-35 8 -510-2 5.050634110-3 5.510-2 0


Anlise Numrica Teoria de erros- DEC 24

Aritmtica em vrgula flutuante


Mesmo quando os dados so exactos, ao longo do clculo
com uma mquina de calcular em vrgula flutuante ocorrem
erros que, quando se adiciona nmeros, podem fazer com
que a preciso do resultado piore. De facto, a mquina
trabalha com um nmero fixo de a.s. e, na impossibilidade
de representar todos os a.s. do resultado, introduzido um
erro de arredondamento que se vai propagar e que faz
perder casas decimais correctas. Nos exemplos seguintes
vamos considerar uma mquina com t=4, =10, com os
expoentes mximo e mnimo respectivamente 9 e 9 e que
arredonda o resultado
Os erros introduzidos so particularmente graves na:

Adio de nmeros de ordem de grandeza diferente

Exemplo 13: Calcule


S=3.567+0.0004985+0.0004821+0.0004789+0.0004657

I. Comear por adicionar os maiores


0.3567 10
+ 0.00004985 10
0.35674985 10 fl(S)= 0.356710 S= 3.567
Anlise Numrica Teoria de erros- DEC 25

II. Comear por adicionar os menores


0.4657 10-3
0.4789 10-3 0.9446 10-3
0.4821 10-3 1.4267 10-3 1.427 10-3
0.4985 10-3 0.19255 10-2 0.0001926 10
+ 0.3567 10
0.3568926 10 fl(S) = 0.356910 S= 3.569

Explicao terica A mquina ao manter um nmero fixo de


a.s. comete um erro relativo i ao efectuar qualquer operao e,
ao calcular (x+y+z), obtm o resultado:
fl(x+y+z) = (x+y)(1+1)+z)(1+2)=
=((x+y)+ (x+y)1+z)(1+2)= desprezvel

=(x+y+z)+ (x+y)1+( x+y+z)2+(x+y)12=


=(x+y+z) + [(x+y) (1+2)+z 2]
Na pior das hipteses os erros acumulam-se e, de um modo
geral, |1+2| > |2|. Assim, se a soma das primeiras parcelas
for menor, o erro tem maior probabilidade de ser menor
Quando ocorre? Por exemplo, quando se soma os termos
de uma srie lentamente convergente.
Que fazer? Comear por somar os termos mais pequenos.
Anlise Numrica Teoria de erros- DEC 26

Diferena de nmeros muito prximos


Tal como vimos anteriormente, se os nmeros estiverem
afectados de erro h uma perda de a.s.

Exemplo 14: Calcular 3774+5.874-3779. (Nmeros exactos)


I. fl(3774+5.874)=3780 (aprox., arredondado de 3779.874 )
0.13
fl(3780-3779)=1 ( = = 0.15 < 0.5 10 0 0 ou 1 a.s.)
0.87
II. fl(3774-3779)= - 5 (exacto)
fl(5.874-5) = 0.874 (exacto)
Quando ocorre? Por exemplo, quando se calcula o
produto interno de vectores.
Que fazer? Efectuar os clculos em preciso dupla. Mesmo
assim nem todos os casos ficam resolvidos.

Exemplo 15: Determine as razes de x2-14x+0.01=0

I. x1 = 7 + 49 0.01 = 7 + 48.99 7 + 6.999 14.00


x2 7 6.999 = 0.001 (1 a.s.)

II. x1 = 7 + 49 0.01 14.00

x2 =
(7 49 0.01)(7 + 49 0.01) =
7 + 49 0.01
49 (49 0.01) 0.01
= 0.7143 10 3 (4 a.s.)
7 + 48.99 14.00

Razes dadas pela mquina: x1=13.9999286 e x2=7.14322210-4


Anlise Numrica Teoria de erros- DEC 27

Como evitar overflows?

Exemplo 16: Calcular c = a 2 + b 2 para a=108 e b=1.


Seja s=max{|a|, |b|}=108. Ento
2 2
a b
c = s +
s s
2
8 1
c = 10 1 + 8 = 108 1 + 0 = 108
10
Problemas bem e mal condicionados.
Quando se resolve um problema pode interpretar-se que o
algoritmo obtm a soluo exacta de um problema
aproximado.
Um problema diz-se mal condicionado se uma pequena
variao nos dados provoca uma grande variao nos
resultados.
Exemplo 17: Calculo dos zeros de uma funo.

mal condicionado bem condicionado


Anlise Numrica Teoria de erros- DEC 28

Chama-se nmero de condio ao erro relativo do


resultado por unidade de erro relativo nos dados. D uma
informao acerca do nmero de a.s. que se espera perder
ou ganhar.
f ( x ) x f ( x ) x
Se z = f ( x), z = x e cond f ( x) =
f (x ) f (x )
Exemplo 18:
1
a) Se f ( x) = 10 x cond f ( x) = <1 funo bem
10
condicionada.
x
b) Se f ( x) = 1 x cond f ( x) =
1 x
Se x1 o nmero de condio grande e f (x) mal
condicionada
1
Se x cond f ( x ) = 1 e f (x) bem condicionada
2

Algoritmos estveis e instveis


Os algoritmos estveis garantem que a soluo que obtm
de um problema prximo do problema dado.
Exemplo 19: O algoritmo I do exemplo 15 (problema
bem condicionado) deu a soluo exacta da equao
x2-14.001x+0.014=0 (significativamente afastada da
equao original) O erro foi devido instabilidade do
algoritmo. ( 0.014 0.01 com um erro relativo = 40%).
Anlise Numrica Mtodos Iterativos DEC 29

Mtodos Iterativos
Mtodo do ponto fixo
f ( x) = 0 x = ( x)

Dado x0 xn + 1 = ( xn )

Se ( x n ) x convergente
Se x x n < o processo pra

0 < ( x ) < 1 y=x


I)
convergente

y = (x)

x2 x1 x0
x

II) 1 < ( x ) < 0


convergente y=x

y = (x)

x1 x3 x2 x0
x
Anlise Numrica Mtodos Iterativos DEC 30

III)
( x ) > 1 y=x
divergente
y =(x)

x0 x1 x2 x3
x

IV)

Exemplo 20: Determine 2 como raiz da equao x 2 2 = 0


2
a) Como x 0 x 2 2 = 0 x = e, dado um x0 qualquer,
x
2 2 2 x0
x1 = e x2 = = = x0 o mtodo entra em ciclo.
x0 x1 2
Anlise Numrica Mtodos Iterativos DEC 31

b) Como x 0

2 x2 2 x2 2 1 2
x 2=0 =0 x= x x = x +
2x 2x 2 x
e
i xi
0 1.5
1 1.416666667
2 1.414215686
3 1.414213562

Valor da mquina 2 = 1.414213562 .

Porqu estes resultados?

e ( 2 ) = 1
2 2
a) ( x) = ( x) = 2
x x

1 2 1 2
b) ( x ) = x + ( x ) = 1 2
2 x 2 x

( 2 ) = (1 1) = 0
1
e
2

necessrio estudar a funo na vizinhana da raiz.


Onde est a raiz ?

Quando se pra?
Anlise Numrica Mtodos Iterativos DEC 32

Separao das razes Obter intervalos disjuntos com


uma s raiz, tantos quantas as razes.

analticos
Mtodos
grficos

Mtodo analtico Nmeros de Rolle

Teorema 1 Se f contnua em [a, b] e f (a ) e f (b ) tm


sinais contrrios ento:

c ]a , b[ : f (c ) = 0

+
Teorema 2 (de Rolle) Se f contnua em [a, b] e
derivvel em ]a , b[ e f (a ) = f (b ) = 0 , ento

c ]a , b[ : f (c ) = 0


Entre dois zeros consecutivos de f h no mximo um
zero de f .

{
Nmeros de Rolle = { : f ( ) = 0} pontos fronteira de D f }
Seja i +1 > i i :
Se f ( i ) f ( i +1 ) > 0 / x ] i , i +1 [ : f ( x ) = 0

Se f ( i ) f ( i +1 ) < 0 1 x ] i , i +1 [ : f ( x ) = 0
Anlise Numrica Mtodos Iterativos DEC 33

Mtodo grfico

f (x ) = 0 f1 ( x ) = f 2 ( x )

y = f(x)
y = f1(x)

y = f2(x)

Estreitar o intervalo ( erro = amplitude do intervalo)


Mtodo das bisseces sucessivas
Mtodos das tentativas lgicas

Mtodo das bisseces sucessivas


Se f contnua em [a, b], pelo teorema 1, tem-se:
f (a ) f (b ) < 0 x ]a , b[ : f ( x ) = 0
a+b
Deste modo se c = podem ocorrer 3 casos:
2
1. f (c ) = 0 x = c zero de f (caso raro)
2. f (a ) f (c ) < 0 x ]a , c[ (metade da amplitude de ]a, b[)
3. f (a ) f (c ) > 0 x ]c, b[ (metade da amplitude de ]a, b[)

Repetindo sucessivamente o processo, seja xn o ponto


ba
mdio ao fim de n iteraes. Ento tem-se: xn x n
2
Anlise Numrica- Mtodos Iterativos DEC 34

O mtodo das bisseces sucessivas pode falhar se se exigir


um erro inferior ao da preciso da mquina.
Exemplo 21: Considere a mquina anterior com 4 a.s., se se
tivesse exigido um erro inferior a 10-3 e se, numa dada iterao, se
tivesse a = 72.13 e b=72.14 ento c=72.135 que a mquina
arredonda para 72.14 = b e o erro de 10-3 nunca atingido.

Pode-se melhorar o processo? Sim.

Mtodo da Falsa posio

Equao da recta
f (b) f ( a )
y f (b) = (x b) c b
ba
a
Interseco com o eixo do x
f (b) f (a )
0 f (b) = (c b )
ba
f (b)
c = b (b a )
f (b) f (a )

Mtodo das tentativas lgicas

f3
a+b
*
c c b
c=
2
a
f2 c* ponto a tentar
f1
Anlise Numrica Mtodos Iterativos DEC 35

Mtodo da Falsa Posio


Se se usar a interseco da recta com o eixo de xx para, tal como
no mtodo das bisseces sucessivas, estreitar o intervalo que
contm a raiz, nem sempre esse objectivo conseguido pois,
muitas vezes, o extremo a substituir sempre o mesmo.
Assim, se se considerar um dos extremos fixo, como que o
mtodo se comporta?

Condio suficiente de convergncia


Seja [a, b] um intervalo que contm uma raiz da equao
f (x ) = 0 e seja X essa raiz. Se f contnua, duas vezes
derivvel e f tem sinal constante em [a, b] e se [a, b]
satisfaz a condio f ( )f ( ) > 0 ento a frmula de
recorrncia:
f ( xn )
xn +1 = xn ( xn )
f ( xn ) f ( )
convergente para a raiz x0 [a, b].

De facto, vamos ver que, se f tem sinal constante, a sucesso


gerada pela frmula de recorrncia montona e limitada logo
convergente (xn)L. Por outro lado como f contnua
f ( L)
lim xn +1 = L = L (L ) (L )
n f ( L) f ( )
e f (L)=0 pois L. Logo L raiz de f (x)=0.
Anlise Numrica Mtodos Iterativos DEC 36

f tem sinal constante


sucesso montona limitada por X (zero de f )

f > 0 funo convexa


A recta que une dois quaisquer pontos (x2,f(x2))
(x1,f(x1)), (x2,f(x2)) toma um valor superior (x1,f(x1))
funo entre os dois pontos e um valor
inferior fora desse intervalo
Analiticamente:
f (x1 + (1 ) x2 ) f ( x1 ) + (1 ) f ( x2 ) se 0 1
f (x1 + (1 ) x2 ) f ( x1 ) + (1 ) f ( x2 ) se < 1

f < 0 funo cncava


A recta que une dois quaisquer pontos
(x1,f(x1)), (x2,f(x2)) toma um valor inferior (x1,f(x1))
funo entre os dois pontos e um valor
superior fora desse intervalo (x2,f(x2))
Analiticamente:
f (x1 + (1 ) x2 ) f ( x1 ) + (1 ) f ( x2 ) se 0 1
f (x1 + (1 ) x2 ) f ( x1 ) + (1 ) f ( x2 ) se < 1
Isto garante que f(x0)f(x1) > 0 com x1(x0, x) ( ]x0, x[ ou ]x, x0[ )

Logo a sucesso montona e


limitada por X.
(xn) montona decrescente
X x1 x0
limitada inferiormente por X
( ) montona crescente limitada superiormente por X
Anlise Numrica Mtodos Iterativos DEC 37

Outros casos

f > 0 f < 0 f < 0

x0 x1

x1 x0 x0 x1

Estimativa do erro ( X x n = ?)
Como f (X) = 0 e
f ( xn 1 )
xn = xn 1 ( xn 1 )
f ( xn 1 ) f ( )

f ( xn 1 ) f ( )
f ( X ) f ( xn 1 ) = ( xn xn 1 ) (1)
1442443 xn 1
f ( )(X x n 1 )
1 4 42443
f ( )
onde, pelos teoremas dos acrscimos finitos e de Lagrange,
(X, xn-1) e (, xn-1).

E vem:
X xn = ( X xn 1 ) ( xn xn 1 ) =
por (1)
f ( )
= ( xn xn 1 ) ( xn xn 1 )
f ( )
f ( ) f ( )
= ( xn xn 1 ) (2)
f ( )
Anlise Numrica Mtodos Iterativos DEC 38

Como (X, xn-1) (, xn-1). [a, b], se f tiver sinal


constante em [a, b]
M1 m1
xn = X xn xn xn 1
m1

onde M1 = max f ( x ) e m1 = min f ( x )


x[a ,b ] x[a ,b ]

Como converge o mtodo?


A ordem do mtodo diz-nos como.

Definio: Chama-se ordem do mtodo a k tal que:


xn
lim = k
=C 0 C\{0}
n xn 1

No caso do mtodo da Falsa posio, pela relao (1),


tem-se:
f ( )
xn xn 1 = ( X xn 1 )

f ( )
Substituindo em (2) vem:
f ( ) f ( ) f ( )
X xn = ( X xn 1 )
f ( )
f ( )

f ( ) f ( )
X xn = X xn 1
f ( )
14 4244 3
0

e xn | C |xn-1 Mtodo de 1 ordem


Anlise Numrica Mtodos Iterativos DEC 39

O que significa um mtodo ser de 1 ordem?

Para uma anlise mais formal, como o simtrico do


logaritmo do erro relativo nos d aproximadamente o
nmero de algarismos significativos de valor aproximado
( simtrico do expoente da potncia de 10 do erro relativo
normalizado), considere-se a relao entre os erros
relativos:
xn | C |xn-1.
Ento
-log xn -log | C | - log xn-1.
constante

isto , o ganho de algarismos significativos por iterao


quase constante.
c

Mtodo linearmente convergente.

Ser divergente se | C | > 1.


De facto, nesse caso, -log | C | < 0 e h uma perda de
algarismos significativos.

Ser tanto mais rapidamente convergente quanto


menor for | C |.
Anlise Numrica Mtodos Iterativos DEC 40

Mtodo de Newton
Equao da tangente
y f (x0) = f (x0)(x x0)
f > 0
cuja interseco com o eixo dos x :
0 f (x0) = f (x0)(x1 x0)
X
? x0 x1 x2 x3 f ( x0 )
x1 = x0
f ( x0 )
Frmula de recorrncia

f ( xn )
xn +1 = xn
f ( xn )

Condies suficientes de convergncia

f sinal constante em [a, b]


f sinal constante em [a, b] (xn) X
x0 : f (x0)f (x0) > 0

Geometricamente

f > 0
x0 x1 x1 x0
x1 x0
f < 0 f < 0
Anlise Numrica Mtodos Iterativos DEC 41

Assim tem-se que x1 (x0, X) e, como f(x1)f(x0) > 0, o


processo repete-se dando origem a uma sucesso montona
limitada por X.
Logo (xn) L e como f e f so contnuas
f ( L)
lim xn +1 = L = L f ( L) = 0 e L X
n f ( L)

Ordem do mtodo
De acordo com a frmula de Taylor de 2 ordem
0 = f(X) = f (xn+(X - xn)) = f (xn) + f (xn)(X - xn) + R2 (3)
1
onde, f ( ) ( X xn )2
R2 =
2
Como f (xn) 0, se dividirmos (3) por f (xn) vem:
f (x ) 1 f ( )
X xn n =
( X xn ) 2
f ( xn )
2 f ( xn )

14
4244
3
= xn +1

1 f ( ) 2
X xn +1 = X xn
2 f ( xn )
14243
0
Mtodo de 2 ordem

Este mtodo s convergente se


1 f ( )
X xn < 1
2 f ( xn )
isto , a convergncia do mtodo depende da escolha de x0.
Anlise Numrica Mtodos Iterativos DEC 42

O que significa um mtodo ser de 2 ordem?


De modo semelhante ao que foi feito para o mtodo da
Falsa Posio, se se escrever a expresso dos erros relativos
tem-se:
1 f ( ) X
xn +1 = xn2 K xn2
2 f ( xn )
Ento log xn +1 2 log xn log K
123
desprezvel ( log x n = )
log xn +1 2 log xn
isto , o ganho de a.s. por iterao cerca do dobro da
iterao anterior e, nas proximidades da raiz, x n+1 tem
aproximadamente o dobro dos algarismos significativos de x n .

c
Mtodo quadraticamente convergente

Estimativa do erro
Usando alguns artifcios e a frmula de Taylor consegue
demonstrar-se que
1 f ( )
X xn +1 = ( xn +1 xn )2 ( xn +1, X ), ( xn +1, xn )
2 f ( )
M2
Ento X xn +1 ( xn +1 xn )2
2m1

com M 2 = max f ( x ) e m1 = min f ( x )


x[a ,b] x[a ,b]
Anlise Numrica Mtodos Iterativos DEC 43

Mtodo da secante
Se, no mtodo de Newton, se aproximar a derivada por um
valor gn, teremos um mtodo chamado quasi-Newton
H vrios mtodos quasi-Newton. O mtodo da secante
um deles
f ( xn )
xn +1 = xn ( xn xn 1 )
f ( xn ) f ( xn 1 )

Geometricamente tem-se:

x1 x2 x4 x0 x2 x3
x3 x0 x1
X

Consegue-se demonstrar que, se x0 e x1 estiverem


suficientemente prximos da raiz X, a sucesso anterior
convergente para X e
X xn
lim p
=C 0
n X xn 1

1+ 5
com p = = 1.618... mtodo superlinear
2
Assim em cada iterao espera-se ganhar cerca de 1.6 vezes
o nmero de a.s. ganhos na iterao anterior.
Anlise Numrica Mtodos Iterativos DEC 44

Mtodo Iterativo simples


Os mtodos iterativos podem ser considerados como
casos particulares do mtodo iterativo simples. A raiz da
equao f (x)=0 o ponto fixo de (x), isto , o ponto
que verifica a equao
x = (x).

Condio suficiente de convergncia


Teorema: Se f , e forem funes contnuas num
intervalo I e se

q = max ( x ) < 1
xI

ento a sucesso definida pela frmula de recorrncia


xn +1 = ( xn ) x0 [a, b] I
convergente para a nica raiz X [a, b].

Demonstrao

X = (X )

xn +1 = ( xn ) Pelo teorema dos acrscimos finitos

X xn +1 = ( X ) ( xn ) = ( ) ( X xn ), ( X , xn )

X xn +1 = ( ) X xn
1
e (3)

Mtodo de 1ordem
Anlise Numrica Mtodos Iterativos DEC 45

se ()<1, o erro diminui;


se ()>1, o erro aumenta;
se () > 0, xn e xn+1 esto do mesmo lado de X;
se () < 0, xn e xn+1 esto em lados opostos a X;
(ver interpretao geomtrica, pginas 29 e 30)

Se (x)<1 xI (I ter que conter todos os pontos xn e X )


ento as sucesses geradas pela frmula de recorrncia so (ou
tm subsucesses) montonas e limitadas por X, logo
convergentes (xn L). Como contnua

lim xn +1 = lim xn L = (L ) L raiz.


n n

A raiz nica
Por reduo ao absurdo sejam L e X duas razes em I. Ento
LX=( L )- (X) LX=()( LX) (LX)(1-())=0
onde (L, X) I. Logo () 1 e LX.

Qual o intervalo I?
se ([a, b])[a, b] I[a, b]
se 1 > (x) > 0 I[a, b]
se -1 < (x) < 0 I[a-(b-a), b+(b-a]
Anlise Numrica Mtodos Iterativos DEC 46

Estimativa do erro
Seja q = max ( x ) . Ento de (3) vem:
xI

xn qxn-1 q2xn-2 qn-1x1 qnx0


( Se x0 no for muito afastado da realidade podemos estimar
quantas iteraes so necessrias para obter uma dada
preciso qnx0 < ).
Se se quiser o erro custa de (xn-xn-1), vem:
xi + k = ( xi + k 1 )

xi + k 1 = ( xi + k 2 )

xi + k xi + k 1 = ( ) ( xi + k 1 xi + k 2 ) ( xi + k 1, xi + k 2 )

|xi+k- xi+k-1| q|xi+k-1- xi+k-2| qk|xi xi -1|


Como X xn = lim xn + p xn
p

e |xn+p- xn| |xn+p- xn+p-1| + |xn+p-1- xn+p-2| + + |xn +1 xn |


qp|xn xn -1|+ qp-1|xn xn -1|+ + q|xn xn -1|
q qp
p
k
ento xn + p xn xn xn 1 q = xn xn 1
k =1 1 q
q
e lim xn + p xn = X xn xn xn 1
p 1 q
ou
qn
X xn x1 x0
1 q
Anlise Numrica Mtodos Iterativos DEC 47

A convergncia do mtodo nem sempre de ordem 1.


De facto, como
xn +1
lim = ( X )
n xn

se (X) = 0, o mtodo tem convergncia de ordem


superior 1. A ordem do mtodo ser k se
0 = (X) = (X) = = (k-1)(X) (k) (X)

Exemplo: No caso do mtodo de Newton


f ( x)
(x ) = x
f ( x)
f ( X ) f ( X )
como ( X ) = =0 ( f ( X ) 0)
f ( X )2

f ( X )
e ( X ) =
f ( X )
o mtodo pelo menos de convergncia quadrtica. S
ter ordem superior quadrtica quando f (X) = 0

Como determinar uma boa frmula (de 1 ordem )?


Pretende-se que (X) = 0. Como
f ( x) = 0 f ( x) = 0 x = x + f ( x)
0 14243
(x)
Pode determinar-se :
1
( x ) = 1 + f ( x ) = 0 = (x X )
f ( x )
Anlise Numrica Sistemas Lineares -.DEC 48

Resoluo de sistemas lineares


Sistemas triangulares
Triangular inferior Triangular superior
Lx =b l ii 0 i U x=b uii 0 i

l 11 x1 b1 u11 u12 L u1n x1 b1


l l 22 x b u 22 L u 2n x2 b2
21 2 = 2 =
M M O M M O M M M

l n1 l n 2 L l nn xn bn u nn xn bn

Substituio para a frente Substituio para trs


Para k = 1,2,K ,n Para k = n,n 1,K ,1
k 1 n
bk l kj x j bk ukj x j
j =1 j = k +1
xk = xk =
l kk ukk

Sistemas no triangulares: Ax=b


Mtodo de Eliminao de Gauss usa operaes
elementares que transformam o sistema num sistema
triangular superior.

Operaes elementares
Multiplicar equaes por uma constante diferente
de zero
Substituir uma equao pela soma dessa equao
com outra ou outras.
Anlise Numrica Sistemas Lineares -.DEC 49

Algoritmo
No clculo exacto
elemento da diagonal 0.
No clculo aproximado
elemento da diagonal suficientemente grande
elemento da diagonal vai ter um papel fundamental nos
clculos a efectuar e por isso chama-se pivot.

Se a11 for suficientemente grande, vai ser usado para anular todos os
(1)
elementos ai1, alterando a equao i do seguinte modo ( aij = aij ):

ai(11) resolver a 1 equao em


aij(2) aij(1) (1)
a1(1j) ordem a x1 e substituir o
{ a11 {
linha a { linha seu valor nas restantes
alterar factor pivot equaes

Ao fim de k iteraes:
a11
(1) (1)
a12 L a1(,1k) 1 a1(1k) L a1(1n) b1(1)
( 2) ( 2)
0 a22 L a2( 2, k) 1 a2( 2k) L a2( 2n) b2
M M O M M M M M
(k ) (k )
A = 0 0 L ak( k1,1k) 1 ak( k1,1k) L ak( k1,1n) e b = bk( k11)
(k ) (k ) b (k )
0 0 L 0 akk L akn k
M M L M M O M M
(k ) (k ) b (k )
0 0 L 0 ank L ann n

Matriz reduzida
ai(,kk11)
com aij( k ) = aij( k 1) ak( k1,1)j i, j k
ak( k1,1k) 1

ai(,kk11)
e bi( k ) = bi( k 1) bk( k11) i k
ak( k1,1k) 1
Anlise Numrica Sistemas Lineares -.DEC 50

Propagao de erros
Exemplo: Resolva o seguinte sistema com uma mquina
em vrgula flutuante com 4 a.s.:
0.0003x1 + 1.566 x2 = 1.569
(1)
0.3454 x1 2.436 x2 = 1.018
(Soluo exacta: x1=10; x2=1)

I. Usar para pivot a11:

0.3454
0.0003 1.566 1.569
0 .0003 0.3454 2.436
1.018
1151.
0.0003 1.566 1.569 x1 = 3.333

0
1804 1805 x2 = 1.001

II. Usar para pivot a21: (trocar a 1 com a 2 linha)


0.0003
0.3454 2.436 1.018
0.3454
0.0003 1.566 1.569
0.0008686
0.3454 2.436 1.018 x1 = 10.00

0 1.568 1.568 x2 = 1.000

Porqu estes resultados?

Pode pensar-se que por 0.0003 ser pequeno. Mas se se fizer:


3 x1 + 1566. 10 x2 = 1569. 10
(2)
0.3454 x1 2.436 x2 = 1.018
j a11=3 grande e, no entanto, o resultado igual ao caso I.
Anlise Numrica Sistemas Lineares -.DEC 51

Caso I
( 2)
a22 = -2.436-1151.1.566 = -2.436-1802.= -1804.

b2( 2) = 1.018-1151.1.569 = 1.018-1806.= -1805.


e S o 1 a.s. da equao a
1805. substituir afectou o resultado
x2 = = 1.001
1804.
1.569 1.566 1.001 1.569 1.568
x1 = = = 3.333
0.0003 0.0003
Caso II
( 2)
a22 = 1.566+2.4360.0008686 = 1.566+0.002116=1.568

b2( 2) = 1.569-1.0180.0008686 = 1.569-0.0008842= 1.568


e
1.568
x2 = = 1.000
1.568
1.018 2.436 1.000 3.454
x1 = = = 10.00
0.3454 0.3454
Concluso
problema resolvido
Caso I no estvel afastado
do problema dado

problema resolvido
Caso II estvel prximo
do problema dado

Caso I - pivot =0.0003 <<0.3454 e <<1.566

Caso II - pivot = 0.3454 >> 0.0003 e 2.436


Anlise Numrica Sistemas Lineares -.DEC 52

Escolha do pivot
Escolha parcial: o pivot de ordem k o elemento
(k )
a sk da 1 coluna da matriz reduzida com maior valor

absoluto.
(k ) (k )
ask = max aik
i k
Se a ordem de grandeza dos elementos das linhas for muito
diferente, a escolha parcial pode no ser suficiente. Ver sistema
(2) onde a escolha do pivot 3 > 0.3454 m. Nestes casos deve
usar-se:
Escolha parcial escalonada: o pivot de ordem k o
(k )
elemento a sk da 1 coluna da matriz reduzida tal que:

(k ) (k )
ask aik
= max onde di = max aij
ds i k di 1 j n

(k )
Escolha total: o pivot de ordem k o elemento asr da

matriz reduzida com maior valor absoluto.


(k )
ask = max aij( k )
i, j k
Caso III
0.0003 1.566 1.569
1.566
0.3454 2.436 1.018
2.436

0.2224 0 2.224 x1 = 10.00

0.3454 2.436 1.018 x2 = 1.000

Este caso estvel mas mais trabalhoso do que o caso II.


Anlise Numrica Sistemas Lineares DEC 53

Condio de um sistema
Exemplo:
x + 0.98 x2 = 4.95
A1 x = b 1 Soluo exacta (2.5,2.5)
x1 + x2 = 5

x + 0.99 x2 = 4.95
A2 x = b 1 Soluo exacta (0,5)
x1 + x2 = 5

A2 A1, isto , A2 = A1+A1 e, os elementos de A1 so pequenos


e no entanto as solues so muito diferentes.

Sistema mal condicionado

Representao geomtrica
do sistema anterior

Interpretao geomtrica

Sistema mal condicionado Sistema bem condicionado


Anlise Numrica Sistemas Lineares DEC 54

Outras interpretaes
Ao resolver Ax=b obtm-se ~
x tal que:
I. A(~
x +)= b x=~ x +
~ ~
II. A~x =b
~
(~
Nos mtodos estveis A A A = A + A com A 0 e )
se o sistema bem condicionado ~
x x ( pequeno)
se o sistema mal condicionado pode ser grande e
~
xx
~
Nos mtodos instveis A A ( A 0 ) e

quer o sistema seja bem ou mal condicionado ~


xx

Como se mede a condio?


Se b exacto pode mostrar-se que:
x A
A A1
x 1424 3 A
cond [ A]= k
Demonstrao:
~
Se A no singular Ax = b x = A1b e A ~
x =b
~
x = A 1 A ~
~
(
x = A1 A + A A ~ ) ~
(
x + A 1 A A ~
x=~ x )
x~x A
x = A 1 A ~
x~ x A 1 A ~
x x~ x ~ A1 A
x A

Se b no exacto
x k A b
+
x A A b
1 k
A
Anlise Numrica Sistemas Lineares DEC 55

Propriedades das normas (A e B matrizes)


A = A

A+ B A + B
A B A B
Normas compatveis (entre vectores e matrizes)
A = max A x
x =1

Exemplos de normas compatveis:

Vector Matriz

x e = x 2 = xi2 A 2 = ( A H A)
i

x 1 = xi A 1 = max aij
i j i

x = max xi A = max aij


i i j

? A e = aij2
ij

1
p p
?
x p
= xi
i

( A H A) - raio espectral = maior valor prprio de AHA (se A real

AH=AT)
Anlise Numrica Sistemas Lineares DEC 56

Refinamento da soluo
~ resduo
Seja x a soluo aproximada de Ax=b
A(~x + ) = b A~x + A = b A = b A ~
x =r
e x~ x + ~ onde ~ a soluo aproximada do sistema
anterior.
Recursivamente
x ( n +1) = x ( n ) + ( n )

onde ( n ) a soluo aproximada do sistema:

A = r ( n) com r ( n) = b A x ( n)

Critrio de paragem

( n) x ( n +1) x ( n )
= tolerncia (=10-t t a.s.)
x ( n +1) x ( n +1)

Resoluo de sistemas
Mtodos directos - Factorizao
Decomposio LU
L matriz triangular inferior
A=LU
U matriz triangular superior

Ly = b
Ax=b L (U x ) = b
123 Ux = y
=y

Resoluo de 1 Resoluo de 2
sistema quadrado
sistemas triangulares
Anlise Numrica Sistemas Lineares DEC 57

Decomposio LU
a11 a12 L a1n l11 0 L 0 u11 u12 L u1n

a21 a22 L a2 n l 21 l 22 L 0 0 u22 L u2 n
A= =
M M O M M M O M M M O M

an1 an 2 L ann l n1 l n2 L l nn 0 0 L unn


Problema indeterminado


Se uii = 1 i Decomposio de Crout
Se lii = 1 i Decomposio de Doolittle
Se lii = uii i Decomposio de Choleski (A=LLT)
(A simtica e definida positiva)
- Se A s for simtrica A=LDLT
Algoritmo de Doolittle
Para j = 1 at n faa
u1 j a1 j L e U podem ser guardados na
Para i = 2 at n faa mesma matriz
l i 1 ai 1 a11 u11 u12 L u1n

Para i = 2 at n-1 faa l 21 u22 L u2 n U
i 1
M M O M
uii aii l ik uki
k =1 l n1 l n2 L unn
Para j = i+1 at n faa
i 1 L
uij aij l ik ukj
k =1
i 1
l ji a ji l jk uki uii
k =1
n 1
unn ann l nk ukn
k =1
Anlise Numrica Sistemas lineares DEC 58

Resoluo de sistemas lineares Mtodos Iterativos


Dado o sistema A x = b:
nos Mtodos directos inverte-se A (directa ou
indirectamente)
nos Mtodos iterativos inverte-se M A tal que
A = M N e M facilmente invertvel
A x = b (M N) x = b x=M 1 (N x + b) (1)

Teorema do ponto fixo


Considere-se a equao x = (x) com D n n.
Seja V D um conjunto fechado e ( constante de
Lipschitz de ) tal que
|| (x) - (y) || || x y || x, y V
com 0 < < 1.

Se para x (0) V se puder definir a sequncia


(
x ( k ) = x ( k 1) )
e x(k)V, ento existe um nico ponto x V tal que
x = (x ) e { x(n )} x ( x - ponto fixo) sendo:
x x ( k ) x x ( k 1)

(k ) (k ) ( k 1) k (1) (0)
e xx x x x x
1 1
Anlise Numrica Sistemas lineares DEC 59

Aplicando o teorema do ponto fixo a (1) tem-se:

M 1 ( N x + b ) M 1 ( N y + b ) = M 1N ( x y )

M 1N x y

Logo, se || M -1N || < 1, a sequncia definida por

( )
x ( k ) = M 1 N x ( k 1) + b = C x ( k 1) + d
converge para o ponto fixo x , soluo do sistema A x = b
x(0) n e

x x ( k ) M 1N x x ( k 1)

Os mtodos diferem no modo como definem M e N.


Os mtodos mais comuns usam os elementos da parte
triangular inferior (L), da diagonal (D) e da parte triangular
superior (U) de A tal que
A = L + D +U

0 0 L 0 a11 0 L 0
a 0 L 0 0 a L 0
L = 21 D= 22
M M O M M M O M

an1 an 2 L 0 0 0 L a nn

0 a12 L a1n
0 0 L a2 n
U =
M M O M

0 0 L 0
NOTA: No confundir com as matrizes L e U da decomposio LU.
Anlise Numrica Sistemas lineares DEC 60

Mtodo de Jacobi Mtodo de Gauss-Seidel


M=D N = - ( L+U ) M = L+D N=-U
Condio suficiente de convergncia
|| M-1N || = || D-1(L+U) || < 1 || M-1N || = || (L+D)-1U || < 1
Frmula de recorrncia

x ( k ) = C x ( k 1) + d x ( k ) = C x ( k 1) + d
C=-D-1(L+U)
d=D b-1 (
x ( k ) = (L + D )1 U x ( k 1) + b )
isto ou
0 se i = j

cij = aij
se i j (L + D ) x ( k ) = U x ( k 1) + b
aii
D x ( k ) = L x ( k ) U x ( k 1) + b
b
di = i (
x ( k ) = D 1 L x ( k ) U x ( k 1) + b ) (2)
aii

Ao usar a frmula (2) para o mtodo de Gauss-Seidel,


estamos a substituir o valor das componentes de x(k) j
calculadas no clculo das novas componentes usando as
mesmas matrizes C e d do mtodo de Jacobi. Deste modo
no se tem que inverter L. (L invertida indirectamente usando
o mtodo de substituio para a frente: Lz =e z =L-1e. Isto s
possvel porque l ij = 0, i j )
Anlise Numrica Sistemas lineares DEC 61

Controlo do erro no mtodo de Jacobi


x x ( k ) C x x ( k 1)
C
x ( k ) x ( k 1)
x x(k )
1 C
Estas frmulas indicam que, quanto mais prximo de zero estiver
||C|| ( 0), mais rapidamente convergente o mtodo. Pela
definio de C, quanto maiores forem os elementos da diagonal de
A menores, em valor absoluto, so os elementos de C. Logo, h
vantagem em transformar o sistema num sistema com matriz
diagonal dominante.

Definio-Uma matriz estritamente diagonal dominante por



linhas (colunas) se aii > aij aii > a ji .
j i j i

Se a matriz A Positiva Definida (PD), isto xTAx >0 x 0, tambm os


mtodos se comportam bem. Transformar o sistema num sistema
equivalente com matriz PD.
Teorema: Se A no singular Ax=b ATAx=ATb e A =ATA uma matriz
PD.
Demonstrao: xT A x = xT ATAx = (Ax)TAx =||Ax||2>0 se Ax0x0 pois A
no singular.

Como o controlo do erro complicado, usam-se apenas critrios de


paragem:

x ( k ) x ( k 1)
x ( k ) x ( k 1) < <
x(k )
Anlise Numrica Interpolao DEC 62

Interpolao
Dada uma tabela {(xi, yi), i=0, , n} tal que
yi = f(xi) e xi xj se i j,
a interpolao fornece para valor aproximado de f(x*) o
valor de F(x*) onde F uma funo fcil de calcular e tal
que F(xi) = f(xi) i = 0, , n.
Se x*[x0, xn] - interpolao
Se x*[x0, xn] - extrapolao

Interpolao polinomial
n
F ( x ) Pn ( x ) = a0 + a1x + a2 x + L + an x = ai xi
2 n
i =0
2 n
Base = (1, x, x ,, x )

Teorema ( de existncia e unicidade)


Seja dada a tabela {(xi, yi), i=0, , n} tal que xi xj i j.
Ento
1 Pn(x) tal que Pn(xi) = yi , i=0, , n.

Nota: Grau de Pn(x) n.


Anlise Numrica Interpolao DEC 63

Algumas propriedades dos polinmios

A soma de dois polinmios de grau n um polinmio


de grau n.

O produto de um polinmio de grau m por um


polinmio de grau n um polinmio de grau m + n.

O produto de n polinmios de grau 1 um


polinmio de grau n, isto ,
Pn ( x ) = a ( x 1 ) ( x 2 ) L ( x n )

(Nota: este polinmio tem precisamente n razes


reais 1, 2,, n.)

Se raiz de Pn(x) ento Pn(x) divisvel por (x-) e


Pn ( x )
um polinmio de grau n-1.
(x )

Um polinmio de grau n tem no mximo n razes


reais.

Um polinmio que se anula em n pontos tem pelo


menos grau n.
Anlise Numrica Interpolao DEC 64

Tcnicas para obter Pn(x).


Resoluo de um sistema (pouco eficiente)
Determinar ai i=0,, n de tal modo que Pn(xi) = yi.
a + a x + L + a x n = y
0 1 0 n 0 0
a0 + a1x1 + L + an x1n = y1
(1)
M
a + a x + L + a x n = y
0 1 n n n n

Este sistema determinado pois, se xi xj i j

1 x0 L x0n
1 x1 L x1n 0
determinante de Vandermonde
M M O M
1 xn L xnn

Muitas vezes o sistema mal condicionado

.Exemplo: Determine o polinmio de 2 grau que passa


pelos pontos de abcissa x0 =100, x1=101 e x2=102.
O sistema tem o aspecto:
1 100 10000 a0 y0
1 101 10201 a = y
1 1
1 102 10402 a2 y2

cuja condio da matriz aproximadamente 108,


portanto mal condicionada.
Anlise Numrica Interpolao DEC 65

Se se fizer uma mudana de unidades das abcissas


x0 = 1, x1 = 1.01 e x2 = 1.02 vem
1 1 1

cond 1 1.01 1.0201 = 105

1 1.02 1.0402

isto , o sistema apesar de melhor condicionado ainda mal
condicionado
Se se escrever o polinmio noutra base = (1, (x-x2), (x-x2)2):
P2(x) = b0+b1(x-x2)+b2(x-x2)2
o sistema tem o aspecto:
1 ( x x ) ( x x )2 b y
0 2 0 2 0 0
2
1 ( x1 x2 ) ( x1 x2 ) b1 = y1
1 ( x x ) ( x x )2 b y
2 2 2 2 2 2

1 2 4 b0 y0
1 1 1 b = y
1 1
1 0 0 b2 y2
A condio do sistema 28 (|| ||), portanto bem condicionado.

Conhecidos os coeficientes, se quisermos calcular o polinmio


devemos usar a forma

Pn ( x ) = an x n + an 1x n 1 + an 2 x n 2 + L + a1x + a0 =
= ((L (((an )x + an 1 )x + an 2 )L)x + a1 )x + a0
Deste modo o nmero de operaes a efectuar so n multiplicaes
e n adies.
No entanto o nmero de operaes necessrias para resolver o
sistema grande O(n3).
Vejamos outros mtodos mais eficientes.
Anlise Numrica Interpolao DEC 66

Mtodo de Lagrange
n
Pn ( x ) = Lk ( x )
k =0

onde Lk(x) um polinmio de grau n tal que:


Lk(xk) = yk e Lk(xi) = 0 se i k

L3(x)
y3

y0

x0 x1 x2 x3 x4 x5
L0(x)

Pn(x) o polinmio interpolador ?


Por definio, Lk(x) um polinmio de grau n e
n n
Pn ( xi ) = Lk ( xi ) = Li ( xi ) + Lk ( xi ) = yi i = 0, K, n
k =0
123 k =0
= yi k i
1424
3
=0

Logo, pelo teorema de existncia e unicidade, Pn(x) o


polinmio de grau n que passa pelos n+1 pontos
tabelados.
Anlise Numrica Interpolao DEC 67

Determinao de Lk(x)
Como xi i k raiz de Lk(x) ento

Lk ( x ) = a{ ( x x0 ) L ( x xk 1 ) ( x xk +1 ) L ( x xn )
?
Lk (xk ) = yk = a (xk x0 ) L (xk xk 1 ) (xk xk +1 ) L (xk xn )

Lk ( x ) =
( x x0 ) L ( x xk 1 ) ( x xk +1 ) L ( x xn ) y
( xk x0 ) L ( xk xk 1 ) ( xk xk +1 ) L ( xk xn ) k

n n (x x )
e Pn ( x ) = i
yk
k =0 i =0 k( x x )
i
i k

Os polinmios
n (x xi )
l k (x ) = k = 0, K , n
i = 0 ( xk xi )
ik

chamam-se polinmios de Lagrange


Os polinmios de Lagrange so invariantes por uma
transformao linear x=a+bt (a e b constantes).
De facto
x-xi = (a+bt) - (a+bti) = b (t ti )

n b(t ti ) n (t t )
e l k (x ) = = i = l (t )
k k = 0, K , n
i = 0 b(t k ti ) i = 0 (t k ti )
ik ik
Anlise Numrica Interpolao DEC 68

Exemplo: Dada a tabela


x 321 322.8 324.2 325
y=f(x) 2.50651 2.50893 2.51081 2.51188

determine, por interpolao polinomial cbica, f(323.5).

Usando a frmula de Lagrange vem:

(323.5 - 322.8)(323.5 - 324.2)(323.5 - 325)


P3 (323.5) = 2.50651 +
(321 - 322.8)(321 - 324.2)(321 - 325)
(323.5 - 321))(323.5 - 324.2)(323.5 - 325)
+ 2.50893 +
(322.8 - 321)(322.8 - 324.2)(322.8 - 325)
(323.5 - 321)(323.5 - 322.8)(323.5 - 325)
+ 2.51081 +
(324.2 - 321)(324.2 - 322.8)(324.2 - 325)
(323.5 - 321)(323.5 - 322.8)(323.5 - 324.2)
+ 2.51188 =
(325 - 321)(325 - 322.8)(325 - 324.2)
= 0.0799602(8) + 118794
. (0) + 183897
. (2) 0.437081( 4) =
= 2.50987(1)

Fazendo a mudana de varivel x= 0.2 t + 321 podemos apresentar os


clculos no quadro:

(12.5 - 9)(12.5 - 16)(12.5 - 20)


P3 (12.5) = 2.50651 +
(0 - 9)(0 - 16)(0 - 20)
(12.5 - 0)(12.5 - 16)(12.5 - 20)
+ 2.50893 +
(9 - 0)(9 - 16)(9 - 20)
(12.5 - 0)(12.5 - 9)(12.5 - 20)
+ 2.51081 +
(16 - 0)(16 - 9)(12.5 - 20)
(12.5 - 0)(12.5 - 9)(12.5 - 16)
+ 2.51188 =
(20 - 0)(20 - 9)(20 - 16)
= 0.0799602(8) + 1.18794(0) + 1.83897( 2) 0.437081( 4) =
= 2.50987(1)
Anlise Numrica Interpolao DEC 69

Mtodo de Newton (para a frente)


Pn(x) = Pn-1(x) + an (x - x0)(x xn-1)
onde Pn-1(x) o polinmio que passa pelos pontos de
abcissas x0,,xn-1.
a5 (x - x0)(x x5-1)

P5(x)

x0 x1 x2 x3 x4 x5

P5-1(x)
Pn(x) um polinmio de grau n:
Pn(xi) = Pn-1(xi) + 0 = yi i = 0, 1,, n-1
e an determinado de modo a
Pn(xn) = Pn-1(xn) + an (xn - x0)(xn xn-1) = yn
Como determinar ai ?
Polinmio de grau 0 que passa por (x0, y0)
P0(x) = a0 P0(x0) = y0 logo a0 = y0 e P0(x) = y0
Polinmio de grau 1 que passa por (x0, y0) e (x1, y1)
P1(x) = P0(x) + a1(x - x0) = y0 + a1(x - x0)
P1(x1) = y0 + a1(x1 - x0) = y1
y y
e a1 = 1 0
x1 x0

Polinmio de grau 2 que passa por (x0, y0), (x1, y1) e (x2, y2) complicado
Anlise Numrica Interpolao DEC 70

Dada uma tabela {(xi, yi), i=0, , n}


Diferena dividida
De 1 ordem
yi +1 yi
f [xi , xi +1 ] = [xi , xi +1 ] = = [xi +1, xi ] i = 0, K , n 1
xi +1 xi

De 2 ordem

f [xi , xi +1, xi + 2 ] = [xi , xi +1, xi + 2 ] =


[xi +1, xi + 2 ] [xi , xi +1] i = 0,K, n 2
xi + 2 xi

De ordem k

[xi , xi +1,K, xi + k ] = [xi +1,K, xi + k ] [xi ,K, xi + k 1 ] i = 0,K, n k


xi + k xi

Lema: A diferena dividida de ordem n+1 de um


polinmio de grau n identicamente nula
Demonstrao: Seja P(x) um polinmio de grau n, xi (i=0,...,n )
n+1 pontos e x umponto qualquer do domnio de P(x).

[x, x0 ] = P(x ) P(x0 ) P[x, x0 ] polinmio de grau n-1


x x0

[x, x0 , x1 ] = P[x, x0 ] P[x0 , x1 ] P[x, x0 , x1 ] polinmio de grau n-2


x x1

por induo
[x, x0 ,K, xk 1 ] P[x, x0 ,K, xk 1 ] polinmio de grau n-k
logo [x, x0 ,K, xn 1 ] P[x, x0 ,K, xn 1 ] = const polinmio de grau n-n=0

const const
e [x, x0 ,K, xn ] P[x, x0 ,K, xn ] = =0
x xn
Anlise Numrica Interpolao DEC 71

Frmula de Newton (para a frente)


A partir das diferenas divididas tem-se:
1 ordem
P ( x ) P ( x0 )
P[x, x0 ] = P ( x ) = P ( x0 ) + P[x, x0 ] ( x x0 )
x x0

ordem k+1
P[x, x0 ,K, xk 1 ] P[x0 ,K, xk ]
P[x, x0 ,K, xk ] =
x xk
c
P[x, x0 ,K, xk 1 ] = P[x0 ,K, xk ] + P[x, x0 ,K, xk ] ( x xk )

Por recorrncia:
P ( x ) = P ( x0 ) + P[x, x0 ] ( x x0 ) =
= P ( x0 ) + (P[x0 , x1 ] + P[x, x0 , x1 ] ( x x1 )) ( x x0 ) =
= P ( x0 ) + P[x0 , x1 ] ( x x0 ) + P[x, x0 , x1 ] ( x x0 ) ( x x1 ) =
M
= P ( x0 ) + P[x0 , x1 ] ( x x0 ) + P[x0 , x1, x2 ] ( x x0 ) ( x x1 ) +
+ L + P[x0 , x1,K, xn ] ( x x0 ) L ( x xn 1 ) +
+ P[x, x0 , x1,K, xn ] ( x x0 ) L ( x xn )
144 42444 3
=0

Como P(xi)=yi ento P[x0 , x1,K, xk ] [x0 , x1,K, xk ] e vem:

Pn ( x ) = y0 + [x0 , x1 ] ( x x0 ) + [x0 , x1, x2 ] ( x x0 ) ( x x1 ) +


+ L + [x0 , x1, K , xn ] ( x x0 ) L ( x xn 1 )

Frmula de Newton (para a frente)


Anlise Numrica Interpolao DEC 72

Estimativa do Limite Superior do Erro

Seja Rn ( x ) = f ( x ) Pn ( x ) o erro com que Pn ( x ) aproxima f ( x )

Se x xi ento Pn + 1 ( x ) = Pn ( x ) + [ x , x0 ,..., xn ] n + 1 ( x ) = f ( x )
e Rn ( x ) = [ x , x0 ,L, xn ] n + 1 ( x ) = k n +1 ( x )

y=?
desconhecido

Se f C n +1[a , b] , tal que x , x0 ,L, xn [a,b] , ento seja

u( x ) = f ( x ) Pn ( x ) k n +1 ( x )

onde k uma constante tal que u( x ) = 0

u( x ) tem pelo menos n+2 zeros: x , x0 ,L, xn

(pelo teorema de Rolle)


u ( x ) tem pelo menos n+1 zeros, um em cada intervalo
]x0 , x1[,..., ]xk , x[, ]x , xk +1[,..., ]xn 1 , xn [

u ( x ) tem pelo menos n+2-2=n zeros
M
u ( n + 1)
( x ) tem pelo menos n+2-(n+1)=1 zero: [a , b]

Como f C n +1[a , b]

u ( n + 1) ( x ) = f ( n + 1)
( x ) 0 k ( n + 1)!

( )
( n + 1) ( n + 1)
pois Pn( n + 1) ( x ) = 0 e (nn++11) ( x ) = x n + 1 + Pn = (n + 1)!+ 0
logo
( n + 1)
f ( )
u ( n + 1) ( ) = f ( n + 1)
( ) k ( n + 1)! = 0 k =
( n + 1)!
Anlise Numrica Interpolao DEC 73

Logo Rn ( x ) = f ( x ) Pn ( x ) = [x , x0 , K , xn ] (1
x x0 ) L ( x xn )
44424443
= n +1 ( x )

f ( n +1) ( )
= (x ) [x0 , xn ] se x [x0 , xn ]
(n + 1)! n +1
Se fCn+1( [x0, xn] )

Significado da diferena dividida


Da relao anterior conclui-se que
f ( k ) ( )
[x0 ,K, xk ] = [x0 , xk ]
k!

se os pontos forem todos iguais a x , aplicando limites vem


f (k ) (x )
[1
x4
,K
24 x ] =
,3
k!
k +1 vezes

Assim conhecendo todas as derivadas de f at ordem k num


ponto xi, tem-se k+1 pontos iguais a xi na tabela das diferenas
divididas e usando uma frmula semelhante de Newton pode
obter-se um polinmio interpolador.
Em particular, se se conhecer f (xi) para todos os n+1 pontos de
uma tabela, tem-se o chamado polinmio de Hermite

P2n +1 ( x ) = y0 + [x0 , x0 ] ( x x0 ) + [x0 , x0 , x1 ] ( x x0 )2 + L +


+ [x0 , x0 , x1, x1, K , xn , xn ] ( x x0 )2 ( x x1 )2 L ( x xn )
f ( 2 n + 2) ( )
R2 n +1 ( x ) = ( x x0 )2 L ( x xn )2 se f C2 n + 2 ([x0 , xn ])
(2n + 2 )!
onde [x0 , xn ] .
Anlise Numrica Interpolao DEC 74

Interpolao segmentada
Nem sempre o polinmio interpolador tende para a funo
quando n.

Exemplo de Runge
Aproximar a funo f (x ) = 1 no intervalo [-5,5]
1+ x 2

Interpolao com pontos equidistantes

O erro nos extremos do intervalo [-5,5] vai aumentando


com n.
Anlise Numrica Interpolao DEC 75

Pontos de Chebyshev
Se escolhermos os pontos por onde passa o polinmio
interpolador de modo a minimizar o valor mximo de n+1(x),
teremos os pontos de Chebyshev
2(n i ) + 1
xi = cos , i = 0,1,K, n
2n + 2
n
Polinmio n +1 ( x ) = ( x xi )
i =0
-3
x 10 n=16
1

0.8

0.6

0.4
xi pontos de Chebyshev
0.2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

xi equidistantes

Interpolao de Chebyshev
Anlise Numrica Interpolao DEC 76

Nem sempre a interpolao de Chebyshev tem um comportamento to bom


como o anterior. Consegue-se normalmente melhores resultados se se usar
interpolao segmentada com polinmios interpoladores de grau no
superior ao cbico.

Interpolao segmentada (usa n+1 pontos)

Interpolao linear segmentada

Interpolao spline cbica


Anlise Numrica Interpolao DEC 77

Na interpolao spline cbica em cada intervalo [xk, xk+1]


(0kn-1) a funo aproximada por um polinmio cbico sk(x)
tal que sk(xk)=yk. Ento

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

cujas 3n incgnitas ak, bk, ck so determinadas de modo a que


satisfaam:

n condies sk(xk+1)=yk+1 0kn-1


n-1 condies sk+1 (xk)= sk(xk) 1kn-1 3n-2 condies
n-1 condies sk+1 (xk)= sk(xk) 1kn-1

As duas condies que faltam podem ser:

s0 (x0) = sn-1(xn) = 0 spline natural


s0 (x0) = y0, sn-1(xn) = yn spline completo

Para obter o spline necessrio resolver um sistema obtido pela


imposio das condies anteriores

A interpolao spline cbica tem a vantagem de ter a 1 e


2 derivadas contnuas.
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 78

Mtodo dos Mnimos Quadrados

A teoria de interpolao permite aproximar funes f(x) mais ou menos


complicadas por outras mais simples, obrigando a funo interpoladora
(normalmente um polinmio de grau n) a passar por n+1 pontos
conhecidos. Quando os valores tabelados so em nmero superior ao
necessrio so considerados apenas n+1 pontos, normalmente os que tm
abcissas mais prximas do ponto a interpolar.

Quando os valores tabelados so resultado da observao directa de um


fenmeno fsico, os valores vm afectados de erros de observao difceis
de quantificar. Para diminuir o efeito desses erros comum efectuar um
grande nmero de observaes e no se deve desprezar nenhuma delas.
Como normalmente impossvel obrigar a funo aproximante (x) a
passar por todos esses pontos, o problema consiste em determinar a funo
que melhor se ajusta tabela.

Ajustamento Linear

O problema do ajuste de curvas no caso linear consiste em determinar uma


combinao linear de funes g1(x), g2(x),..., gn(x) previamente escolhidas
(que podem no ser lineares, por exemplo, g1(x)=ex , g2(x)=x4, ...) de tal
modo que
n
( x ) = i g i ( x )
i =1

seja a melhor aproximao de f(x) para alguns pontos, caso discreto, ou


num dado intervalo, caso contnuo, consoante o conhecimento de f(x). O
caso mais comum e o nico que vamos tratar o caso discreto.
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 79

A escolha das funes gi(x) pode ser feita a partir do grfico dos pontos
tabelados.

Exemplos

Ajuste parablico a passar pela origem ((x)= x2)

Ajuste linear ((x)=0+1 x)


Anlise Numrica Mtodo dos Mnimos Quadrados DEC 80

Caso discreto

O caso mais comum ter apenas uma tabela de pontos :


(xi,yi) i=1,...,m
onde yi=f(xi) e pretende-se que (x) aproxime f(x) o melhor possvel nesses
pontos.

Como m grande comparado com n (nmero de incgnitas) no possvel


obrigar a funo (x) a passar por todos os pontos e o que se faz impor
que o desvio
ri ( xi ) = f ( xi ) ( xi ) seja mnimo i = 1, 2 , ..., m

Existem vrias formas de determinar esse mnimo dependendo da mtrica


usada ( por exemplo minimizar a soma dos mdulos ) dos vrios processos
o mais usado o Mtodo dos Mnimos Quadrados que consiste em
2
m m n
min F ( 1 , 2 ,..., n ) = ri2 ( xi ) = f ( xi ) j g j ( xi )

i =1 i =1 j =1

Condies necessrias de optimalidade


Vai ser dado em Anlise, mas mais ou menos intuitivo que um mnimo
*= (1, 2, ..., n) deve satisfazer condio
F(*) F() n

Como F : n continuamente diferencivel, se usarmos a frmula de


Taylor de primeira ordem vem:
1
F ( ) = F ( * ) + F ( * )T ( * ) + ( * )T 2 F ( )( * )
2
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 81

onde F (*) o gradiente de F no ponto * e 2F () a matriz hessiana


de F no ponto (,*).

F ( )

1
F( ) = M
F ( )
n

e
2F 2F
( ) L ( )
1 1 1 n
[ ]
2 F ( ) = ij2 F ( ) =
F 2
M O
2
M



F
( ) L ( )
n 1 n n

F continuamente diferencivel 2 F() simtrica

Nas proximidades de *

F ( ) F ( * ) + F ( * )T ( * ) (1)

Se o ponto * um mnimo ento, para pequenas variaes =(-


*), tem-se:
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 82

Aproximao de 1 ordem
n
F ( *)
F (*) =
T
i 0
i =1 i

c
F ( *)
=0 i
i
c
Condio necessria
f (*) = 0
de 1 ordem

Esta condio caracteriza pontos estacionrios (mnimos, mximos e


pontos sela)

ponto sela

mnimo mximo
local local

No nosso caso teremos


F ( * )
=0
1
F ( * )
=0
F ( * ) = 0 Sistema das equaes normais
2
M
*
F ( )
=0
n

Se as funes gi(x) (i=1,...n) forem linearmente independentes, ento o


sistema anterior tem uma s soluo que o mnimo global da funo F()
pois consegue-se provar que o termo de 2 ordem da frmula de Taylor
sempre positivo.
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 83

Funo Polinomial
Se as funes gi(x) (i=1,...n+1) forem a base cannica dos polinmios de
grau n ento teremos:
n
( x ) = 0 + 1 x + L + n x n = j x j
j =0
2
F ( ) = (
m
f ( xi ) ( 0 + 1 xi + L + n xin ) )
i =1
e
F
k
m
(
= 2 f ( xi ) ( 0 + 1 xi + L + n xin ) xik ) k = 0,...n
i =1

Logo o sistema das equaes normais toma a forma:


0 m + 1 xi + L + n xin = f ( xi )

0 xi + 1 xi2 + L + n xin + 1 = f ( xi )xi

M
n +1
0 xi + 1 xi + L + n xi2 n = f ( xi )xin
n

Exerccios
1. Considere a tabela:
x 0 1 2.4 2.7
y 3.3 3.6 3.2 2

determine o polinmio do 2 grau que, pelo mtodos dos mnimos


quadrados, melhor aproxima os dados da tabela.
(Resposta: 3.22 + x- 0.49 x2 )
2. Os resultados de uma experincia forneceram-nos a seguinte
tabela:
x 1 2 3 5
y 3 4 2.5 0.5

Procure a funo linear que, segundo o mtodo dos mnimos quadrados,


melhor aproxime os pontos tabelados.
(Resposta: -26/35+159/35 x )
Anlise Numrica Mtodo dos Mnimos Quadrados DEC 84

Caso no linear
Nem sempre o melhor ajuste feito por uma combinao linear de funes,
isto , a funo (x) no linear nos parmetros a1 , ... , an .

Nesses casos necessrio fazer uma linearizao do problema fazendo uma


transformao da varivel. Constri-se a tabela para esta nova varivel e
aplica-se, tal como nos casos anteriores, o mtodo dos mnimos quadrados.

Na seguinte tabela so dados alguns exemplos de linearizao:

Funo (x) y Transformao Forma linear (x) z

z ln( a1 ) + a2 x
y a1 e a2 x z = ln( y )
= ln( a1 )
1
2 = a2

1 1 z a1 + a2 x
y z=
a1 + a2 x y = a1
1
2 = a2

z ln( a1 ) + ln( a2 )x
y a1 a2x z = ln( y )
= ln( a1 )
1
2 = ln( a2 )

z ln( a1 ) + a2 ln( x )
y a1 x a2 z = ln( y )
= ln( a1 )
1
2 = a2
Anlise Numrica Integrao Numrica DEC 85

Integrao Numrica
f ( x) = Pn ( x ) + Rn ( x )
I = ab f ( x) dx = ab Pn ( x ) dx + ab Rn ( x ) dx
14243 14243
Quadratura Erro de truncatura

Integrao numrica

f(x) Pn(x)
- +
Operao estvel

a b

Tipos de mtodos
I. Mtodos de Newton-Cotes As abcissas dos pontos
por onde o polinmio de grau n passa so equidistantes:
xi = x0 + i h
Frmulas fechadas:
ba
x0 = a , xn = b e h =
n
O polinmio interpolador de grau n a b
passa pelos pontos de abcissas xi i=0,...,n

Frmulas abertas:
ba
h=
n+2
O polinmio interpolador de grau n a b
passa pelos pontos de abcissas xi i=1,...,n+1
Anlise Numrica Integrao Numrica DEC 86

Os mtodos de Newton- Cotes s permitem integrar


exactamente funes polinomiais de grau n ou n+1.
II. Mtodos de Gauss Os pontos por onde o
polinmio intepolador de grau n
so escolhidos de modo a que a
frmula de quadratura integre
a b
exactamente polinmios de grau
2n+1
Frmula de Quadratura
A escolha de pontos vai permitir definir a frmula de
quadratura qualquer que seja f(x) pois, pela frmula de
Lagrange, tem-se:
n
Pn ( x) = l k ( x ) f ( xk )
k =0
n ( x xi )
com l k (x ) = k = 0,K, n
i = 0 ( xk xi )
ik
e
n
b
a f ( x) dx = ab l k ( x ) f ( xk ) dx + ab Rn ( x ) dx
k =0
n
= f ( xk ) ab l k ( x ) dx + En
k =0
n
= wk f ( xk ) + En
k =0
Anlise Numrica Integrao Numrica DEC 87

onde os coeficientes wk = ab l k ( x ) dx no dependem de f

mas apenas dos pontos xi. So, por isso, calculados uma
nica vez.

Clculo dos wk, k=0,1, ...,n


As n+1 incgnitas wk podem ser determinadas impondo
n+1 restries : a frmula tem que integrar exactamente
f(x)=xk, k=0, ...,n.(base dos polinmios de grau n)

Exemplo: Determine a frmula de quadratura do tipo:

1
0 f ( x ) dx w0 f (0 ) + w1 f + w2 f (1)
1
2
01 dx = [x ] 0 = 1
1 1
Se f ( x) = 1
e w0 1 + w1 1 + w2 1 = 1
1
1
x2 1
Se f ( x) = x 0 x dx = =
2 0 2
1 1
e w0 0 + w1 + w2 1 =
2 2
1
x3 1
Se f ( x) = x 2 1 2
0 x dx = =
3 0 3
1 1
e w0 0 + w1 + w2 1 =
4 3
Anlise Numrica Integrao Numrica DEC 88

Isto ,
1
w
0 6 =
w0 1 + w1 1 + w2 1 = 1
1 1 2
w
0 0 + w1 + w2 1 = 1w =
2 2 3
w0 0 + w1 1 + w2 1 = 1 w2 = 1
4 3 6
1 1
0 f ( x ) dx f (0 ) + 4 f + f (1)
1
e
6 2
Se se pretender ab f ( x ) dx faz-se a seguinte mudana de

varivel:
x = a+(b-a) y
dx = (b-a) dy

a f ( x ) dx = (b a ) 0 f (a + (b a ) y ) dy
b 1


(b a ) f (a ) + 4 f a + b + f (b ) (1)

6 2

Frmulas de Newton-Cotes Fechadas


Regra dos trapzios
f(x)
Polinmio interpolador de grau 1
trapzio
que passa por (x0, f(x0)) e (x1, f(x1)).
Pela frmula de Lagrange:
ax0 bx1
x x1 x x0
P1 ( x ) = f ( x0 ) + f ( x1 )
x0 x1 x1 x0
Anlise Numrica Integrao Numrica DEC 89

Fazendo a mudana de varivel t = x-x0, como


ba
x1-x0= h =
1
tem-se: x-x1=t+ x0-x1
=-h
th t t
e P1 (t ) = f ( x0 ) + f ( x1 ) = f ( x0 ) + ( f ( x1 ) f ( x0 ))
h h h

Com a mudana de varivel a x00 e b x1h vem:


h
h t
2
x
x1 f ( x ) dx 0 P1 (t ) dt = f ( x0 )[t ]0 + ( f ( x1 ) f ( x0 ))
h
2h 0
0

Regra do trapzio
h
b
a f ( x ) dx ( f ( x0 ) + f ( x1 ))
2
rea do trapzio

Clculo do erro - ET
f ( ( x ))
ET = ab R1( x ) dx = ab( x a )( x b ) dx
2!
Para x[a, b], (x-a) (x-b) 0, isto , tem sinal constante
pelo que se aplica o seguinte teorema:
Teorema da mdia do clculo integral
Sejam f e g funes reais definidas e contnuas no intervalo [a, b].
Se g(x) no muda de sinal em [a, b] ento [a, b] tal que:

a f ( x ) g ( x )dx = f ( ) a g (x )dx
b b
Anlise Numrica Integrao Numrica DEC 90

Se fC2([a, b]), ento:


f ( ) b
( x ) dx = a ( x a )( x b ) dx [a, b]
b
a R1
2!
Por mudana de h
varivel t= x-a f ( ) h f ( ) t 3 t 2
= 0 t (t h ) dt = h
2! 2! 3 2
0

h3
ET = f ( )
12

Regra de Simpson f(x) P2(x)

Polinmio do 2 grau que - +


passa pelos pontos de
abcissas x0a, x1=x0+h,
ba
x1= x0+2hb h = ax0 x1 bx2
2
2 h
b
a f ( x ) dx= f ( xk ) ab l k ( x ) dx ( f ( x0 ) + 4 f ( x1 ) + f ( x2 ))
k =0 3
por (1)
Regra de Simpson
Clculo do erro ES
f ( ( x ))
ES = ab R2 ( x ) dx = ab ( x a )( x x1 )( x b ) dx
2!
Se fC4([a, b]) pode demonstrar-se (ver Conte, pag 303) que

h5 (4 ) Regra de Simpson exacta


ES = f ( ) [a, b] quando f(x)P3(x)
90
rea + = rea -
Anlise Numrica Integrao Numrica-DEC 91

ba
Frmulas fechadas x0 = a , xn = b, h = , [a, b]
n
Erro de
grau nome frmula
truncatura
Regra dos h
( f (x0 ) + f (x1 )) h3
1
trapzios f ( )
2 12
Regra de h h 5 (4 )
2
Simpson 1 ( )
3 3
( f (x0 ) + 4 f (x1 ) + f (x2 ))
90
f ( )

3h
Regra 3 ( f ( x0 ) + 3 f ( x1 ) + 3 f ( x2 ) + 3h 5 (4 )
3 8 8 f ( )
de Simpson + f ( x3 )) 80
2h
Regra de (7 f ( x0 ) + 32 f ( x1 ) + 12 f ( x2 ) + 8h 7 (6 )
4
Boole
45 f ( )
+ 32 f ( x3 ) + 7 f ( x4 )) 945
5h
(19 f ( x0 ) + 75 f ( x1 ) + 50 f ( x 2 ) + 7
5 288
275h
f
(6 ) ( )
+ 50 f ( x3 ) + 75 f ( x 4 ) + 19 f ( x5 )) 12096

ba
Frmulas abertas x0 = a + h , x n = b h, h = , [a, b]
n+2
Erro de
grau nome frmula
truncatura
Regra do 2hf ( x0 ) h3
0
ponto mdio f ( )
3
3h
( f (x0 ) + f (x1 )) 3h 3
1 f ( )
2 4
4h
(2 f (x0 ) f (x1 ) + 2 f (x2 )) 14h 5 (4 )
2 f ( )
3 45
5h
(11 f ( x0 ) + f ( x1 ) + f ( x2 ) + 11 f ( x3 )) 95h 5 (4 )
3 24 f ( )
144

vantajoso usar polinmios interpoladores de grau par.


Para o mesmo h e para o mesmo grau do polinmio interpolador as
frmulas fechadas so melhores do que as abertas.
Anlise Numrica Integrao Numrica-DEC 92

Frmulas Compostas
-usam interpolao segmentada dividindo o intervalo [a, b]
em m subintervalos iguais.

Regra dos Trapzios (composta)

I = ab f ( x) dx = xx1 f ( x) dx + xx2 f ( x) dx + L + xxm f ( x) dx


0 1 m 1

ba
Usando n+1 pontos equidistantes de h = , com n = m,
n
ento pela regra dos trapzios:

( f ( xi 1 ) + f ( xi )) f ( i ) h3 i = 1,K, n
x h
xi f ( x) dx =
i 1 2 12

onde i[xi-1, xi]. Logo


h
I = a f ( x) dx = ( f ( x0 ) + f ( x1 ) + f ( x1 ) + L + f ( xm 1 ) + f ( xm )) + ET (h )
b
2

h n 1
= f ( x0 ) + 2 f ( xk ) + f ( xn ) + ET (h )
2
144444 1 444443
k =2
=T ( h)

h3 n
onde ET (h ) = f ( i ) se fC2([xi-1, xi]) i=1,...,n.
12 i =1
Anlise Numrica Integrao Numrica-DEC 93

n
f ( i )
Se fC2([a, b]), ento i =1 (mdia) toma um valor
n
entre o valor mximo e o valor mnimo de f (x) em [a, b],
mas, como f contnua, ento um ponto [a, b] :
n
f ( i )
f ( ) = i =1
n
ba
Logo, como h = ,
n
h3
ET (h ) = n f ( )
12

h2 (b a)3
ET (h ) = (b a) f ( ) = f ( )
12 2
12n

Regra de Simpson ( composta)


I = ab f ( x) dx = xx2 f ( x) dx + xx4 f ( x) dx + L + xx2m f ( x) dx
0 2 2m 2

ba
Usando n+1 pontos equidistantes de h = , com n = 2m,
n
ento pela regra de Simpson:

h f (4 ) (i ) 5
x2i
x f ( x ) dx = ( f ( x2i 2 ) + 4 f ( x2i 1 ) + f ( x2i )) h i = 1,K, m
2i 2 3 90
onde i[x2i-2, x2i].
Anlise Numrica Integrao Numrica-DEC 94

Logo

h
I = a f ( x) dx = ( f ( x0 ) + 4 f ( x1 ) + f ( x2 ) + f ( x2 ) + 4 f ( x3 ) + f ( x4 ) +
b
3
+ L + f ( x2m 2 ) + 4 f ( x2m 1 ) + f ( x2m )) + E S (h )

h m m 1
I = f (a ) + f (b) + 4 f ( x2k 1 ) + 2 f ( x2k ) + ES (h )
3
14444444k 4 =1244444 1 443
k =4
S ( h)

h 5 m ( 4)
onde ES (h ) = f ( i ) se fC4([x2i-2, x2i]) i=1,...,m.
90 i =1

Se fC4([a, b]), f(4)(x) contnua em [a, b], e [a, b] :


n
f ( i )
( 4)

f ( 4) ( ) = i =1
m

ba
Logo, como h = e n = 2m,
n

h5 h5
ES (h ) = m f ( ) =
( 4)
n f ( 4) ( )
90 180

h4 (b a )5 ( 4)
ES (h ) = (b a) f ( ) =
( 4)
f ( )
180 4
180n
Anlise Numrica Integrao Numrica-DEC 95

Limite superior do erro

Regra dos trapzios Regra de Simpson

(b a )3

(b a )5
M
ET M 2 ES 4
12n 2 180n 4

M 2 = max f ( x ) M 4 = max f ( 4) ( x )
x[a,b ] x[a,b ]

Estimativa do erro
Regra dos trapzios Regra de Simpson
(b a ) (b a ) ( 4)
ET (h ) = f ( (h )) h 2 ES (h ) = f ( (h )) h 4
12 180
K h 2 ( K constante) K h4 ( K constante)

Supe que f() no depende de h Supe que f(4)() no depende de h

I = T (h) + Kh 2 I = S ( h) + K h 4
2 4
h h h h
I = T + K I = S + K
2 2 2 2
2 4
h h h h
0 = T T (h) + K (1 4) 0 = S S (h) + K (1 2 4 )
2 2 2 2

h h
T T ( h)
2 4 S S ( h)
h h 2 h h 2
ET K = ES K =

2
2 3 2 2 15
Anlise Numrica Integrao Numrica DEC 96

Tratamento de singularidades (ver Stewart)


Quando a funo f(x) singular num ou nos dois extremos
do intervalo, no se pode usar as frmulas fechadas de
Newton-Cotes.
c
Exemplo: 1
0 f ( x) dx com f ( x) x V0
x

Alternativas

- usar as frmulas abertas de Newton-Cotes ou


Quadratura Gaussiana. D maus resultados, pois f(x)
irregular em 0.

- incorporar a singularidade na quadratura definindo


g ( x) = x f ( x) c x V0

e obter uma frmula de quadratura substituindo a


funo g(x), que regular em todo o intervalo de
integrao, por um polinmio interpolador. Isto
1

1 1
0 f ( x) dx = 0 g ( x) x 2 dx
1
n n
= g ( xk ) 01 l k ( x) x 2 dx = wk g ( xk )
k =0 k =0
> 0 x[0,1]
funo peso
Anlise Numrica Integrao Numrica DEC 97

Exemplo: Usar o mtodo dos coeficientes indeterminados


para determinar as quadraturas:
1 3
i) 01 f ( x) dx A0 f + A1 f
4 4
1
1 3
ii) 01 g ( x) x 2 dx W0 g + W1 g
4 4
Resoluo:

i) Se f ( x ) = 1 1
0 1 dx = [x ]10 = 1
e A 0 1 + A1 1 = 1
1
2
1 x dx = x 1
Se f ( x ) = x 0 =
2 0 2
1 3 1
e A0 + A1 =
4 4 2
A0 1 + A1 1 = 1 1
A =
Logo 0
2
1 3 1 1
A0 4 + A1 4 = 2 A1 =
2
e

1 1 1 3
0 f ( x) dx f + f
2 4 4
Anlise Numrica Integrao Numrica DEC 98

1 1 1

ii) Se g ( x) = 1 11 x 2 dx = 2 x 2 = 2
0

0
e W 0 1 + W 1 1 = 2
1
1 3

Se g ( x) = x 1 x x 2 dx = 2 x 2 =
2
0
3 3
0
1 3 2
e W0 + W 1 =
4 4 3
Logo W0 1 + W1 1 = 2 5
W 0 =
3
1 3 2 1
W0 4 + W 1 4 = 3 W1 =
3
e
1
1 1 3
1
0 g ( x) x 2 dx 5 g + g
3 4 4

Exemplo: Calcular 00.1


cos x
x sen x dx usando as
2 x
duas quadraturas anteriores.
Resoluo
Como as quadraturas anteriores so para determinar
integrais entre 0 e 1, vai-se ter que fazer uma mudana de
varivel de modo a transformar o integral pedido num
integral entre 0 e 1.
Deste modo tem-se x = 0.1y e dx = 0.1dy, vindo:
Anlise Numrica Integrao Numrica DEC 99

i)
0.1 0.1 1 3
0 f ( x ) dx = 0.1 01 f (0.1 y ) dy f 0.1 + f 0.1
2 4 4

onde f ( x) =
cos x
x sen x , logo
2 x

0.1 f ( x) dx 0.1 f 0.1 + f 0.3 0.2479


0
2 4 4

ii)
1

0.1 0.1
0 f ( x) dx = 0 g ( x) x 2 dx

onde g ( x) =
cos x
x sen x e
2
1
1
0.1
0 g ( x) x 2 dx = 1
0 g ( 0.1 y ) (0.1 y )
2 (0.1dy )
1
0.1 0.1 0.3
= 0.1 01 g (0.1 y ) y 2 dy 5 g + g
3 4 4
0.3151

Valor exacto
0.1
0.1 cos x
0

x sen x dx = [ x cos x ] = 0.3146479444...
2 x 0

Conclui-se que o valor obtido em ii), com o peso


1

w( x) = x 2 , melhor.
Anlise Numrica Integrao Numrica DEC 100

Quadratura Gaussiana
Os n+1 pontos por onde o polinmio interpolador de grau
n passa so escolhidos de modo a que a quadratura seja
exacta para funes polinomiais de grau 2n+1.
A frmula de quadratura
n
b
a f ( x ) dx wi f ( xi )
i =0
tem 2n+2 incgnitas (wi e xi, i=0,,n) univocamente
determinadas impondo que a quadratura seja exacta para
f(x) = xk, k=0,, 2n+1. No entanto, a aplicao do mtodo dos
coeficientes indeterminados, neste caso, resulta num sistema no
linear em x, mal condicionado.
Exemplo:
1
0 f ( x ) dx w0 f ( x0 ) + w1 f ( x1 )
Se f ( x ) = 1 1
0 1 dx = [x ] 10= 1 = w0 1 + w1 1
1
2
1 x dx = x 1
Se f ( x ) = x 0 = = w0 x0 + w1 x1
2
0 2
1
3
1 x 2 dx = x 1
Se f ( x ) = x 2 0
2 2
= = w0 x0 + w1 x1
3 0 3
1
4
1 x 3 dx = x 1
Se f ( x ) = x 3 0
3 3
= = w0 x0 + w1 x1
4 0 4

Vamos por isso ver que os xi vo ser os zeros do polinmio de


grau n+1 de uma famlia de polinmios ortogonais.
Anlise Numrica Integrao Numrica DEC 101

Polinmios Ortogonais
Noo de ortogonalidade

A noo de ortogonalidade est associada noo de


produto escalar.
Sejam f e g duas funes reais de varivel real. Se:
o conjunto de pontos discreto, o produto escalar com
pesos pi (pi > 0) dado por
n
f , g = f ( xi ) g ( xi ) pi
i =0

e f e g so ortogonais para os pontos xi com pesos pi se


f,g =0

o conjunto de pontos contnuo, o produto escalar


com pesos w(x) (w(x)> 0 x[a, b]) dado por
f , g = ab f ( x ) g ( x ) w( x) dx

e f e g so ortogonais no intervalo [a, b] com peso w(x)


se
f,g =0

Uma famlia de polinmios ortogonais uma sequncia


{pi }i=0 de polinmios pi com grau i tal que i j

pi , p j = 0
Anlise Numrica Integrao Numrica DEC 102

Propriedades dos polinmios ortogonais


Seja pk(x) , k=0,1,..., uma famlia de polinmios ortogonais
definida pela condio de ortogonalidade

a pi ( x ) p j ( x ) w( x) dx = 0 i, j : i j
b

1. Os primeiros n+1 polinmios ortogonais formam uma


base para o espao vectorial dos polinmios de grau n.

2. Cada polinmio pk(x), da famlia de polinmios


ortogonais no intervalo [a, b], tem k razes reais e
distintas em [a, b], isto ,
pk(x)=ak(x-1)(x-k), i j se ij e i[a, b] i

3. Qualquer polinmio de grau <n ortogonal com o


polinmio ortogonal de grau n de uma famlia de
polinmios ortogonais.

4. Todos os polinmios ortogonais satisfazem uma relao


de recorrncia com 3 termos. (Esta relao permite
gerar facilmente a famlia a partir de 2 termos)

A quadratura gaussiana, que se vai estudar, usa a famlia


de polinmios ortogonais de Legendre:
Anlise Numrica Integrao Numrica DEC 103

Os Polinmios de Legendre so definidos pelo condio


de ortogonalidade

1 pi ( x ) p j ( x ) dx = 0
1

Esta condio no define univocamente os polinmios. Os


polinmios de Legendre so normalizados de modo a
tambm satisfazerem a condio pi(1)=1, que
equivalente a

Polinmios de Legendre

0 se i j

1 pi ( x ) p j ( x ) dx =
1 2
2n + 1 se i = j

pk +1( x ) =
(2k + 1) x pk ( x ) k pk 1( x ) k 1
k +1
p0 ( x ) = 1
p1( x ) = x

Exerccio
Determine os 3 primeiros polinmios de Legendre pela
definio.
Anlise Numrica Integrao Numrica DEC 104

Quadratura Gaussiana de Legendre


O que se pretende determinar wi e xi com i=0,1,...,n de
n
tal modo que 1
1 f ( x ) dx = wi f ( xi ) Gn ( f ) quando f(x)
i =0

um polinmio de grau 2n+1 ou inferior. Para isso vamos


considerar para xi os zeros do polinmio de Legendre de
grau n+1 (xi [-1, 1]) e vamos demonstrar que nessas
condies a igualdade anterior se verifica.
Como qualquer quadratura que use um polinmio
interpolador de grau n integra exactamente funes
polinomiais de grau n, podemos escrever
f(x) P2n+1(x) = pn+1(x)q(x)+r(x)
onde pn+1(x) o polinmio ortogonal tal que pn+1(xi)=0 e os
graus de q(x) e r(x) so n.
Ento
n n
Gn ( f ) = wi f xi ( ) = wi ( pn +1 ( xi ) q( xi ) + r ( xi ))
i =0 i =0
n
= wi r xi ( ) pois pn +1 ( xi ) = 0
i =0
= Gn (r )
= 11 r ( x ) dx pois Gn (r ) exacta ( grau r ( x ) n )
= 11 ( pn +1 ( x ) q( x ) + r ( x )) dx pois 11 ( pn +1 ( x ) q ( x )) dx = 0
(grau q( x ) n )
= 11 f ( x ) dx
Anlise Numrica Integrao Numrica DEC 105

Como os valores de xi so difceis de obter e so independentes de


f existem tabelas que os fornecem assim como aos wi para
diferentes valores de n. Deste modo
Quadratura Gaussiana
n
1
1 f ( x ) dx = wi f ( xi ) = Gn ( f )
i =0

Dados na tabela
(ver formulrio)
Quando, no caso geral, se pretende o integral b
a f ( x ) dx , faz-se a

mudana de varivel
b+a ba ba
x= + t dx = dt
2 2 2
e
ba 1 b+a ba n
b+a ba
b
a f ( x ) dx = 1 f + t dt = wi f + ti
2 2 2 i =0 2 2

Dados na tabela
(ver formulrio)
Se f(x)C2n+2([a, b]) pode demonstrar-se que

(b a )2n + 3 ((n + 1)!)4


EG = f (2n + 2 ) ( ) [a, b]
(2n + 3)((2n + 2 )!)3
Outras Quadraturas Gaussianas

1 1
Gauss-Chebyshev 1 f ( x) dx
2
1 x
Gauss-Laguerre
0 f ( x ) e x dx

2
Gauss-Hermite
f ( x ) e x dx
Anlise Numrica Diferenciao Numrica DEC 106

Diferenciao Numrica
Por interpolao polinomial tem-se:
f(x) = Pn(x) + Rn(x)
onde
f ( n +1) ( ( x ))
Rn ( x ) = n +1( x ) = f [x0 , K, xn , x ] n +1( x )
(n + 1)!
Derivada numrica (processo pouco estvel)
f (x) = Pn(x) + Rn(x)
valor aproximado erro cometido

Clculo do erro
Derivada de diferenas divididas ( ver Conte pag 64 ...)

Se fC(n+k+1)

f [x0 , K, xn , x ] g ( x)
dk
g (x )
g ( k ) ( x ) dx k
g [1,K
x424 x] =
,3 =
k! k!
(k +1) vezes
dk dk
g (x ) = f [x0 , K, xn , x ] = k ! g [1,K
x424 x] =
,3
dx k dx k (k +1) vezes
f ( n + k +1) ( ( x ))
= k ! f [x0 , K, xn , 1
x, K
2,3 x] = k !
(k +1) vezes
(n + k + 1)!
Anlise Numrica Diferenciao Numrica DEC 107

Erro cometido

d
Rn ( x ) = ( f [x0 ,K, xn , x] n +1( x ) ) =
dx
= f [x0 , K , xn , x, x ] n +1( x ) + f [x0 , K , xn , x ]n +1( x ) =
f ( n + 2) ( ) f ( n +1) ( )
= (x ) + ( x )
(n + 2)! n +1 (n + 1)! n +1
xi , x, , [a, b] i

As expresses das derivadas e do erro podem ser


simplificadas se os pontos xi forem equidistantes
xi = x0 + i h i= 0,1,2,
e se o ponto onde se calcula a derivada for um dos pontos
anteriores, i.e., x xi.
Para minimizar o erro h toda a vantagem em usar tantos
pontos esquerda como direita. Alm disso, se x for um
dos pontos usados para definir o polinmio interpolador,
n+1(x) = 0 e o erro anterior reduz-se 2 parcela. Pode
tambm verificar-se que se, para definir o polinmio
interpolador, no for usado x mas for usado um nmero n
par de pontos colocados simetricamente relativamente a x,
ento n+1(x) = 0 e o mtodo exacto para funes
polinomiais de grau n+1.
Anlise Numrica Diferenciao Numrica DEC 108

Clculo da 1 derivada em xi
Exemplos:
Polinmio interpolador do 1 grau
a passar por xi, xi+1
yi +1 yi
P1 ( x ) = yi + ( x xi )
h
y yi
P1( x ) = i +1 = yi (1)
h
cujo erro de truncatura
f ( ) f ( )
R1 ( xi ) = (1
xi xi )( xi xi +1 )+ ((x4i 2
xi ) + ( xi xi +1 ))
3! 44 42444 3 2! 1 43 14243
=0 =0 = h
h
R1 ( xi ) = = - f ( ) [xi , xi +1 ] e f C 2 ([xi , xi + 1 ])
2
a passar por xi-1, xi+1
yi +1 yi 1
P1 ( x ) = yi 1 + ( x xi 1 )
2h
y yi 1
P1( x ) = i +1 = yi (2)
2h
cujo erro de truncatura
f ( ) f ( )
R1 ( xi ) = (1
xi xi 1 )( xi xi +1 )+ ((xi xi 1 ) + (xi xi +1 ))
3! 4243 14243 2! 14444244443
=h = h =0
h 2
R1 ( xi ) = - f ( ) [xi 1 , xi +1 ] e f C 3 ([xi 1 , xi + 1 ])
3!
Quando comparamos estas duas frmulas, a frmula (2)
melhor do que a frmula (1) pois, quer o erro de truncatura
quer o erro de arredondamento so menores.
Anlise Numrica Diferenciao Numrica DEC 109

De facto se considerar que o valor exacto f ( xi ) = yi + i , com

i i , ento

i +1 i 2
a (1) =
h h

a (2 ) = i +1 i 1
2h h
Geometricamente

1/h 1/h

Exemplo numrico: Determinar (ex), no ponto xi=1, para


diferentes valor de h, usando as frmulas anteriores e uma mquina
de calcular com 8 a.s.. ( valor pretendido=2.7182818).
h (yi+1-yi)/h (yi+1-yi-1)/2h
0.05 2.7873858 2.7194146
0.005 2.7250888 2.7182931
0.0005 2.7189608 2.7182826
0.510-4 2.718354 2.718294
0.510-5 2.7182 2.71826
0.510-6 2.718 2.7182
0.510-7 2.71 2.718
0.510-8 2.72 2.71
0.510-9 2 2.7
0.510-10 0 0
Anlise Numrica Diferenciao Numrica DEC 110

Polinmio interpolador do 2 grau


a passar por xi-1 , xi , xi+1
yi +1 yi yi yi 1

yi +1 yi
P2 ( x ) = yi 1 + (x xi 1 ) + h h (x xi 1 )(x xi )
h 2h
y yi yi +1 2 yi + yi 1
y1 = P2 ( xi ) = i +1 + (( xi xi ) + (1
xi xi 1 ))
h 2h 2 14 2 43 4243
=0 =h
y yi 1
= i +1
2h
cujo erro de truncatura
f ( 4) ( ) f ( )
R2 ( xi ) = 3 ( xi )+ ((xi xi 1 )(xi xi +1 ) + 0 )
4! 123 3! 14243 14243
=0 =h = h
2
h
R2 ( xi ) = - f ( ) [xi 1 , xi +1 ] e f C 3 ([xi 1 , xi + 1 ])
3!
pois 3 ( x ) = ( x xi )(x xi +1 ) + ( x xi 1 )(x xi +1 ) + ( x xi 1 )( x xi )
Esta frmula igual a (2)

Clculo da 2 derivada
f (x) = Pn (x) + Rn (x)

Erro cometido
d2
Rn ( x ) = 2
( f [x0 ,K, xn , x] n +1 ( x ) ) =
dx
= 2 f [x0 , K, xn , x, x, x ] n +1 ( x ) + 2 f [x0 ,K, xn , x, x ]n +1 ( x ) +

+ f [x0 ,K, xn , x ]n +1 ( x )
Anlise Numrica Diferenciao Numrica DEC 111

Clculo da 2 derivada em xi.


Exemplo:
Polinmio interpolador do 2 grau
a passar por xi-1 , xi , xi+1

yi +1 yi yi +1 2 yi + yi 1
P2 ( x ) = + (( x xi ) + ( x xi 1 ) )
h 2h 2
yi +1 2 yi + yi 1
y1 = P2( xi ) =
h2
cujo erro truncatura
f (5) ( ) f ( 4) ( )
R2 ( xi ) = 2 3 ( xi )+ 2 ((1
xi xi 1 )( xi xi +1 ) + 0 )+
5! 123 4! 4243 14243
=0 =h = h
f ( )
+ 2(( xi xi 1 ) +( xi xi +1 ))
3! 14243 14243
144 = h4 4244 = 4
h43
=0
2
h ( 4)
R2 ( xi ) = - f ( ) [xi 1 , xi +1 ] e f C 4 ([xi 1 , xi + 1 ])
12
pois
3 ( x ) = ( x xi +1 ) + ( x xi ) + ( x xi +1 ) + ( x xi 1 ) + ( x xi ) + ( x xi 1 )

e o erro de arredondamento
+ i 1 4
a (1) = i +1 2 i
2
h h2
isto , cresce quadraticamente com 1/h.
Anlise Numrica - Equaes Diferenciais DEC 112

Integrao Numrica de Equaes Diferenciais


Definies:
Chama-se equao diferencial a uma equao que
estabelece uma relao entre a varivel independente x, a
varivel dependente y = y(x) ( y(x) desconhecida) e as suas
derivadas y, y, ,y(n), isto ,
( )
F x, y , y , y ,K, y ( n ) = 0.

Deduzir da equao diferencial a relao y = y(x) o que


se chama integrar a equao diferencial.
A equao diferencial diz-se
- ordinria se x
- de ordem n se n for a ordem da derivada mais
elevada.
Exemplos:
- y-2xy+5=0 equao de 1 ordem
- y-2y-3y- sen x=0 equao de 2 ordem

Equaes diferenciais ordinrias de 1 ordem


F ( x , y , y ) = 0 y = f ( x, y )

Soluo da equao diferencial uma funo y(x)


contnua e diferencivel em [a, b] tal que
y ( x ) = f ( x, y ( x )) x [a, b]
Anlise Numrica - Equaes Diferenciais DEC 113

Na realidade existe uma famlia de solues da equao


diferencial, y(x,C) chamada soluo geral.

Exemplo: Determine as linhas planas de equao y = y(x)


tais que o coeficiente angular da tangente, em cada ponto,
seja igual ordenada, i.e.,
dy
=y y = y
dx

Soluo geral y = C ex.

Pode determinar-se uma


soluo particular (linha L0) L0
que passe por um ponto (x0, y0),
isto , a soluo particular y0
que satisfaa a condio
x0
inicial y(x0) = y0.

Problema com valor inicial


y ( x ) = f ( x, y ( x )) x [a, b]
(1)
y ( x0 ) = y0 x0 [a, b]

Teorema de existncia e unicidade


Se a funo f(x, y) contnua para x[a, b] e y e satisfizer a
condio de Lipschitz:
L 0 :f(x, y)- f(x, z) Ly-z y,z e x[a, b]
ento
1 y(x) em [a, b] : y= f(x, y) e y(x0)=y0 y0 e x0[a, b]
Anlise Numrica - Equaes Diferenciais DEC 114

Mtodos de varivel discreta


Os mtodos que vamos descrever so chamados mtodos de
varivel discreta pois apenas fornecem o valor da funo num
conjunto de pontos discreto x0, x1, x2, ... da varivel independente
x, i.e., a soluo aproximada obtida definida por uma tabela de
pontos
(xi , yi), (i = 0,1,2,...)
com xi=xi-1+h, onde h o passo que pode ou no variar com i, e yi
y(xi).
Este tipo de mtodos pode ser divididos em duas classes:
mtodos de passo nico e mtodos de passo mltiplo. Nos
mtodos de passo nico, o valor de yi determinado apenas
custa de yi-1. Nos mtodos de passo mltiplo, o valor de yi
determinado custa de yi-1, yi-2,..., yi-k.

Mtodos de passo nico


Frmula de Taylor
Se f(x,y), alm de satisfazer a condio de Lipschitz,
tiver derivadas contnuas, relativamente a x e y, at
ordem n, ento pode desenvolver-se y(x), soluo do
problema (1), na frmula de Taylor:
y ( x0 ) y ( n ) ( x0 )
y ( x ) = y0 + y ( x0 )( x x0 ) + ( x x0 ) + L +
2
(x x0 )n
2! n!
y ( n +1) ( )
+ (x x0 )n +1 ]x0 , x[
(n + 1)!
Anlise Numrica - Equaes Diferenciais DEC 115

As derivadas neste desenvolvimento so calculadas pela regra


da cadeia:
y = f ( x, y )
dy
y = f ( x, y ) + f ( x, y ) = f x + f y f
x y dx

y =
x
( f x + f y f ) + ( f x + f y f ) =
y
dy
dx

= f xx + f yx f + f y f x + f xy f + f yy f 2 + f y2 f

M
Como se pode ver, na maior parte dos casos, o clculo destas
derivadas torna-se bastante complexo. Se n=1 o mtodo
anterior bastante simples e chamado mtodo de Euler.
Mtodo de Euler
Determina o valor de yi, valor aproximado de y(xi) (xi=xi-1+h),
custa de yi-1, usando a frmula de Taylor de 1 ordem, atravs
do seguinte algoritmo:
Algoritmo
Para determinar a soluo da equao diferencial
y=f(x,y) , y(a)=y0
no intervalo [a, b], fazer:
1. Escolha o passo h = (b-a)/n e considere
xi = a + ih i=0,1,,n
2. Determine o valor aproximado de y(xi+1)
yi+1 = yi+h f(xi,yi) i=0,1,,n-1
Anlise Numrica - Equaes Diferenciais DEC 116

Exemplo 1:
Calcular, no intervalo [0,1], a soluo da equao diferencial
y=2y + ex que passa por (0,0)
(soluo exacta: y=e2x - ex )
Se considerarmos h=0.2
i xi yi yi y(xi) y(xi)-yi
0 0 0 1 0 0.00
1 0.2 0.2 1.621403 0.270422 0.07
2 0.4 0.524281 2.540386 0.733716 0.21
3 0.6 1.032358 3.886834 1.497998 0.47
4 0.8 1.809725 5.84499 2.727491 0.92
5 1 2.978723 4.670774 1.69

Estimativa do erro
Se yC2([a,b]) ento, pela frmula de Taylor
h2
y ( xi +1 ) = y ( xi ) + hy ( xi ) + y ( ) ]xi , xi +1[
2
erro local
onde y( xi ) = f ( xi , y ( xi )) .
Quando definimos yi+1 = yi+h f(xi,yi), yi+1 aproxima y(xi+1)
com um erro que dado por:
h2
ei +1 = y ( xi +1 ) yi +1 = ei + h ( f ( xi , y ( xi )) f ( xi , yi ) ) + y ( )
2
e, pela condio de Lipschitz,
h2
ei +1 ei + hL ei + M 2 M 2 = max y ( x )
2 x[a ,b ]
isto , se as parcelas forem do mesmo sinal, o erro vai-se
agravando.
Anlise Numrica - Equaes Diferenciais DEC 117

Interpretao geomtrica

L0

L1
y(x2)
local
global
y2

local

O erro global dado pelo erro local , pelo erro acumulado


em iteraes anteriores e pelo erro no clculo da derivada,
dado que, em vez de se calcular f(xi, y(xi)), se calcula
f(xi, yi).

Exemplo 2:
Se, no exemplo 1, se tivesse usado outros valores de h teramos:
h=0.2 h=0.1 h=0.05
xi yi y(xi)-yi yi y(xi)-yi yi y(xi)-yi
0 0 0 0
0.2 0.2 0.07 0.230517 0.040 0.249028 0.021
0.4 0.524281 0.21 0.613499 0.120 0.668765 0.065
0.6 1.032358 0.47 1.227329 0.275 1.350646 0.147
0.8 1.809725 0.92 2.187384 0.540 2.431239 0.296
1 2.978723 1.69 3.662858 1.008 4.011380 0.659
Se a 2 derivada for suave, consegue-se mostrar que eiCh. Neste
exemplo, ao dividir h por 2, tem-se 1.69/1.008=1.72 e
1.008/0.659=1.532 (a 2 derivada ainda varia significativamente)
Anlise Numrica - Equaes Diferenciais DEC 118

Mtodos de passo nico


Mtodos de Runge-Kutta
O uso da frmula de Taylor de ordem superior 1 iria
melhorar a pouca preciso do mtodo de Euler, mas pouco
prtico, pois obrigava ao clculo de derivadas de f.

Os mtodos de Runge-Kutta so desenvolvidos de


modo a serem equivalentes a uma frmula de Taylor,
mas sem calcular derivadas. Para isso calculam f(x,y)
em vrios pontos definidos custa de (xi, yi), usando
uma frmula do tipo:
yi +1 = yi + h j f (xi + a j h, yi + b j h )
j
1 444424444 3
soma pesada de declives

onde j, aj, bj , j=1,...,p so determinados de modo a


anular os primeiros termos do erro de truncatura. Existe
uma relao entre o nmero p de clculos do valor da
funo e a ordem mxima da frmula de Taylor a
aproximar (ver Atinkson pag 424).

Exemplo ( mtodo de Euler melhorado)


O mtodo de Euler pode ser visto como o resultado da
integrao de y = f ( x, y ( x)) entre [xi, xi+1] usando a regra
dos rectngulos ( ab g ( x) dx (b a) g (a) ), e vem:
Anlise Numrica - Equaes Diferenciais DEC 119

x x
x i +1 y dx = x i +1 f ( x, y ( x)) dx (1)
i i
yi +1 yi h f ( xi , yi ) (2)

Se, no clculo do 2 integral de (1), se usar a regra dos


trapzios usando para valor de y(xi+1) o valor yi+1 dado pelo
mtodo de Euler (2), tem-se:

yi +1 yi + h
( f ( xi , yi ) +
f ( x i , yi + h f ( xi , yi )) ) (3)
14444442 2 444444 3
mdia de valores aproximados de y ( x ) em xi e xi +1

Esta a frmula do mtodo de Runge-Kutta de 2


ordem, tambm conhecido por Mtodo de Euler
melhorado.

Consegue-se demonstrar que o erro local deste mtodo


da ordem de h3 (O(h3)), enquanto o erro total da ordem
de h2.

Algoritmo: Mtodo de Runge Kutta de 2 ordem

Determinar o valor aproximado de y(xi+1)


h
yi +1 = yi + (k1 + k2 ) i=0,1,,n-1
2
onde
y0 = y ( x0 )
k1 = f ( xi , yi )
k 2 = f ( xi + h, yi + hk1 )
Anlise Numrica - Equaes Diferenciais DEC 120

Exerccio3: Se resolvermos o exerccio 1:


"Calcular, no intervalo [0,1], a soluo da equao diferencial y=2y + ex
que passa por (0,0) (soluo exacta: y=e2x - ex )"
por este mtodo, teremos:
Se considerarmos h=0.2
i xi yi k1 K2 (k1+k2)/2 y(xi) y(xi)-yi
00 0 1 1.621403 1.310701 0 0
1 0.2 0.262140 1.745683 2.714379 2.230031 0.270422 0.008
2 0.4 0.708146 2.908118 4.401659 3.654888 0.733716 0.026
3 0.6 1.439124 4.700367 6.983936 5.842151 1.497998 0.059
4 0.8 2.607554 7.440650 10.90965 9.175150 2.727491 0.120
51 4.442584 11.60345 4.670774 0.228

Enquanto pelo mtodo de Euler:


i xi yi yi y(xi) y(xi)-yi
0 0 0 1 0 0.00
1 0.2 0.2 1.621403 0.270422 0.07
2 0.4 0.524281 2.540386 0.733716 0.21
3 0.6 1.032358 3.886834 1.497998 0.47
4 0.8 1.809725 5.84499 2.727491 0.92
5 1 2.978723 4.670774 1.69
Como se pode ver, o esforo computacional por iterao superior no
mtodo de Runge-Kutta de 2 ordem, mas a preciso do resultado
bastante melhor do que no mtodo de Euler
Se tivesse usado outros valores de h teramos:
h=0.2 h=0.1 h=0.05
xi yi y(xi)-yi yi y(xi)-yi yi y(xi)-yi
0 0 0 0
0.2 0.262140 0.008 0.267996 0.002 0.269765 0.0007
0.4 0.708146 0.026 0.726216 0.008 0.731684 0.0020
0.6 1.439124 0.059 1.480702 0.017 1.493310 0.0047
0.8 2.607554 0.120 2.692198 0.035 2.717922 0.0096
1 4.442584 0.228 2.692198 0.067 4.652527 0.0182
onde e(0.2)/e(0.1)=0.067/0228=3.39 22 e e(0.1)/e(0.05)=3.69 22
Anlise Numrica - Equaes Diferenciais DEC 121

O mtodo de Runge-Kutta mais usado o de 4 ordem.

Algoritmo: Mtodo de Runge Kutta de 4 ordem

Determinar o valor aproximado de y(xi+1)


h
yi +1 = yi + (k1 + 2k 2 + 2k3 + k 4 ) i=0,1,,n-1
6
onde
y0 = y ( x0 )
k1 = f ( xi , yi )
h h
k 2 = f ( xi + , yi + k1 )
2 2
h h
k3 = f ( xi + , yi + k 2 )
2 2
k 4 = f ( xi + h, yi + hk3 )

O erro de truncatura local neste mtodo O(h5). O erro de


truncatura global O(h4).

Mtodos de passo mltiplo


Mtodos preditores-correctores
Se tal, como no mtodo de Euler melhorado, integrarmos
y = f ( x, y ( x)) entre [xj, xi+1] tem-se
x x
x i +1 y dx = x i +1 f ( x, y ( x)) dx
j j

yi +1 = y j + xxi +1 f ( x, y ( x)) dx
j
e determina-se o integral usando um mtodo Newton-
Cotes.
Anlise Numrica - Equaes Diferenciais DEC 122

Para o preditor usa-se uma frmula de quadratura que


no entre com o ponto (xi+1, yi+1).
Para o corrector usa-se uma frmula de quadratura que
entre com o ponto (xi+1, yi+1) obtido pelo preditor.
Exemplo:
Frmula preditora
Se se usar para preditor a regra do ponto mdio tem-se:
yi +1 = yi 1 + xxi +1 f ( x, y ( x)) dx
i 1

yip+1 = yi 1 + 2hf ( xi , yi )

h3
cujo erro local
3
( )
y p onde p ]xi 1, xi +1[

Frmula correctora
Se se usar para corrector a regra dos trapzios tem-se:
yi +1 = yi + xxi +1 f ( x, y ( x )) dx
i

yic+1 = yi +
h
2
(
f ( xi , yi ) + f ( xi +1 , yip+1 )
h3
cujo erro local - y( c ) onde c ]xi , xi +1[
12
Estes mtodos no so auto-suficientes. De facto, se
analisarmos a frmula preditora, como no incio s
conhecemos y(x0)=y0, ela no permite determinar y1. Logo
este valor tem que ser obtido por outro tipo de mtodos. Se
usarmos a frmula de Taylor, para mantermos um erro da
Anlise Numrica - Equaes Diferenciais DEC 123

ordem de h3, teremos de usar a frmula de Taylor de 2


ordem
h2 h3
p
y1 = y0 + hy0 + y0 + y( )
2 3!
e o seguinte algoritmo:

Um algoritmo preditor corrector

Determinar o valor aproximado yic+1 de y(xi+1):

yip+1 = yic1 + 2hf ( xi , yic ) i=1,,n-1


com
h 2 f f
y1p = y0 + h f ( x0 , y0 ) + ( x0 , y0 ) + ( x0 , y0 ) f ( x0 , y0 )
2 x y
e
h
(
yic+1 = yic + f ( xi , yic ) + f ( xi +1, yip+1 )
2
) i=0,,n-1

NOTA: Todas as frmulas que definem yi custa de ele prprio


podem ser usadas num processo iterativo. Neste caso pode-se usar
um processo iterativo para obter sucessivos valores correctores do
seguinte modo:

yi0+1 = yip+1
h
(
yij+1 = yic + f ( xi , yic ) + f ( xi +1, yij+11
2
) j = 1, ..., m

parando o processo quando

yim+1 yim+11
yic+1 = yim+1
yim+1
Anlise Numrica - Equaes Diferenciais DEC 124

Exerccio 4: Resolver o exerccio 1 com este mtodo


usando o mtodo anterior.
Mtodo preditor-corrector Euler melhorado
i xi y ip y ic y(xi) y ( x i ) y ic yi y(xi)-yi
00 0 0 0 0
1 0,2 0.26 0.274140 0.270422 -0.0037 0.262140 0.0083
2 0,4 0.707873 0.741866 0.733716 -0.0082 0.708146 0.0256
3 0,6 1.464363 1.514506 1.497998 -0.0165 1.439124 0.0589
4 0,8 2.682318 2.758637 2.727491 -0.0312 2.607554 0.1199
51 4.611631 4.727072 4.670774 -0.0563 4.442584 0.2282
Resoluo:
y = e x + 2 y
h 2 f f
x ( x0 , y0 ) + y ( x0 , y0 ) f ( x0 , y0 ) =
p
y1 = y0 + hf ( x0 , y0 ) +
2

= 0 + 0.2 ( e0 + 2 0) +
2
(
0.2 2 0
)
e + 2 ( e0 + 2 0) = 0.26

y1c = y0 +
h
2
(
f ( x0 , y0 ) + f x1, y1p( )
=0+
0.2 0
2
( )
( e + 2 0) + ( e0.2 + 2 0.26) = 0.274140

y2p = y0 + 2hf ( x1, y1c ) = 0 + 2 0.2 ( e0.2 + 2 0.274140) = 0.707873


h
( (
y2c = y1c + f ( x1, y1c ) + f x2 , y2p
2
)
= 0.274140 +
0.2 0.2
2
(
( e + 2 0.274140) + ( e0.4 + 2 0.707873) = 0.741866 )
y3p = y c + 2hf ( x2 , y2c ) = 0.274140 + 2 0.2 ( e0.4 + 2 0.741866) = 1.464363
1
h
y3c = y2c +
2
( (
f ( x2 , y2c ) + f x3 , y3p )
= 0.741866 +
0.2 0.4
2
(
( e + 2 0.741866) + ( e0.6 + 2 1.464363) = 1.514506 )
Como y (x) tem sinal constante, ento os erros do preditor e do
corrector so de sinais contrrios e o valor exacto est entre eles.

Você também pode gostar