2003 – 2004 - paginas.fe.up.pt · impossível conhecer o valor do erro absoluto. ... No exemplo 1...
Transcript of 2003 – 2004 - paginas.fe.up.pt · impossível conhecer o valor do erro absoluto. ... No exemplo 1...
Análise Numérica – Teoria de erros - DEC 1
Teoria de erros
Erros nos dados Erros de arredondamento
(número finito de dígitos π ≈ 3.14) Erros computacionais
Tipos
de
erro
Erros de truncatura (número finito de termos
))(1
0 !)()(
)( kaxn
k kakf
xf −∑−
=≈
↑
fórmula de Taylor
Erros dos métodos
( )naxn
nfxnE −=
!)()(
)(ξ
Erros nos dados – por exemplo, dados gerados por
medições de variáveis físicas. O erro vai depender da
precisão do instrumento de medida, etc.
Erros dos métodos – quando se fazem aproximações a
expressões matemáticas exactas. Caso muito comum,
aproximação da soma de uma série pela soma finita dos
termos mais significativos.
Exemplo 1: Usar a aproximação
24621
432 xxxxe x +−+−≈−
para determinar .2491
≈−e
Análise Numérica – Teoria de erros - DEC 2
Erros computacionais – sempre que se efectuam
cálculos com o computador ou máquina de calcular que
trabalham com números em vírgula flutuante (float)
Float= sinal × mantissa × baseexpoente
Só é possível representar exactamente alguns dos números
dos intervalos a cheio além do zero,
0
xmax xmin -xmin -xmax
underflow overflow overflow
quanto maior for o número de dígitos (t) disponíveis para a
mantissa maior será a quantidade de números
representados. A amplitude dos intervalos vai depender da
base β e do número de dígitos disponíveis para o expoente.
O mais comum é que a base seja 10 (máquinas de calcular),
seja 2 (computadores) ou também 16 (dígitos hexadecimais
– 0 1 2 3 4 5 6 7 8 9 A B C D E F)
O modo como os números são armazenados varia com a
máquina. Quando se usa o modo normalizado o expoente é
modificado de modo a que a mantissa seja <1 e com o
primeiro dígito fraccionário diferente de zero.
Análise Numérica – Teoria de erros - DEC 3
Exemplo 2:
• 32.4 → +0.324×102 ⇔ (3×10-1+2×10-2+4×10-3)×102
• num computador binário que use 4 bytes teremos:
sinal expoente mantissa
bits 1 8 23 (+1)
Qual a
Suponha
mantissa
respectiv
Há duas
2-1 ≤ mantissa < 1
xmin= (.10...0)2 × 2-127≈ 2.94×10-39
xmax= (.11...1)2 × 2128≈ 3.40×1038
causa dos erros de arredondamento?.
⇓
A adição (+) e a multiplicação (×) não são operações
internas no conjunto dos números em vírgula flutuante.
mos uma máquina que trabalha na base 10, a
com 4 dígitos e os expoentes máximo e mínimo
amente 9 e –9.
situações que podem ocorrer:
Análise Numérica – Teoria de erros - DEC 4
• O resultado cai fora dos limites Esta situação deve ser considerada anormal e deve ser
corrigida. Pode ser:
Overflow | x | > xmax
0.9351×106×0.3471×104=0.3245732×1010>109
Quando isto acontece algumas máquinas substituem o
resultado por ± xmax cometendo um erro, outras dão uma
mensagem de erro.
Underflow | x | < xmin
91011100460235.15105193.06105432.0 −<−×=
×
−×
Quando isto acontece algumas máquinas substituem o
resultado por 0 cometendo um erro, outras dão uma
mensagem de erro (ou aviso).
• A parte fraccionária ter mais do que t dígitos
Exemplo 3:
0.3472×102+0.8310×102=0.11782×102
0.9351×10-1×0.3471×103=0.32457321×102
Análise Numérica – Teoria de erros - DEC 5
As máquinas podem:
• Truncar
0.d1d2…dtdt+1…dn×βk → 0.d1d2…dt×βk
• Arredondar
0.d1d2…dtdt+1…dn×βk → 0.d1d2…d*t×βk
≥++
<+=β2
11td se 1td
β21
1td se td*td
Exemplo 3:
Resultado Truncar Arredondar 0.11782×102 0.1178×102 0.1178×102
0.32457321×102 0.3245×102 0.3246×102
O erro introduzido vai depender da precisão da máquina
Precisão da máquina – (Epsilon - εM)
As máquinas de calcular só trabalham com um número
finito de valores discretos. Para determinar a distância
entre dois valores adjacentes necessitamos de conhecer
εM o menor número positivo que pode ser adicionado a 1
alterando-o.
Análise Numérica – Teoria de erros - DEC 6
Exemplo 4 (na máquina anterior)
0.1000×101+0.1000×10-2=0.1001×101
0.1000×101+0.1000×10-3=0.1000×101
Logo εM>10-4.
Se truncar
0.1000×101+0.5000×10-3=0.1000×101 e εM=10-3
Se arredondar
0.1000×101+0.5000×10-3=0.1001×101 e εM = 0.5×10-3
De um modo geral
−t 1
e
os núme
i.e., núm Como a di
flutuante e
proximidad
se aproxima
−=
arredondar se t 1β 21
truncarse β Mε
ros adjacentes a um dado x são
(1 - εM) x, x, (1+ εM) x
eros adjacentes estão distanciados de εM x
stância depende de x os números em vírgula
stão distribuídos de modo mais denso nas
es de xmin e tornam-se mais raros à medida que
m de xmax.
Análise Numérica – Teoria de erros - DEC 7
Como se representa o erro?
• Erro absoluto = |valor exacto - valor aproximado|
Erro máximo 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 é
impossível conhecer o valor do erro absoluto. Deste modo
controlamos o erro através de um e.m.a.
Exemplo 5: No exemplo 1 consideramos 375.02491 =≈−e ,
como a série é alternada sabe-se que o erro máximo absoluto cometido é 0084.0
1201
!511 ≤==−e∆ , pois o erro é
inferior ao primeiro termo desprezado. Isto é [ 39.0,36.0
1201
249,
1201
2491 ⊆+−∈−
e ] (e-1
maq=0.3678794412)
Análise Numérica – Teoria de erros - DEC 8
Se quisermos ter uma informação acerca da precisão do
resultado temos que fornecer o erro relativo.
• Erro relativo = exactovalor
aproximado valor -exacto valor
Erro máximo 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.
Exemplo 6 :
erro máximo
obtido com d
O erro abs
O erro re
muitas vez
aA ε−
δ =AA= e δa ≥ δ
Pelo que foi dito anteriormente o εM dá-nos o
relativo de qualquer resultado da máquina
ados exactos.
oluto vem nas unidades de A.
lativo não tem unidades e, por isso,
es é apresentado em %
Análise Numérica – Teoria de erros - DEC 9
Relações entre os e.m.a. e o e.m.r.
I. Determinação do e.m.r. conhecido o e.m.a..
(2) δ
se prática na
(1) δεδ
aaa
aa
aaaa
A
∆=
⇓<<∆
=∆−∆≤=
II. Determinação do e.m.a. conhecido o e.m.r..
( )
(4) δ 1 δ se prática na
(3) δ1δ
δ Aδε
aaaa
aaaa
aaaa
⋅=∆
⇓<<
−⋅=∆
∆=∆+⋅≤⋅=
c
Arredondar a por defeito
Arredondar a por excesso
Notar que (1) ⇔⁄ (3) mas (2) ⇔ (4)
e.m.a. e.m.r.
A=a ± ∆a ⇔ A= a ⋅ (1 ± δa)
Exemplo 7: A=(6.5±0.02)m2 ⇔ A=6.5m2 (1±0.31%)
Análise Numérica – Teoria de erros - DEC 10
Como se apresenta o erro? E o valor aproximado?
Algumas noções:
• Algarismos significativos (a.s.) de um número são todos os dígitos usados na escrita com excepção 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 número 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=3×102+2×101+5×100+0×10-1+9×10-2
E
ap
(R
Salvo raras excepções, quantos mais algarismos
significativos correctos o número aproximado tem
melhor é a aproximação.
xemplo 9 : Considere o valor exacto 2, e os valores
roximados 1.999 e 2.01. Qual é a melhor aproximação ?
esposta: 1.999)
Análise Numérica – Teoria de erros - DEC 11
AN
a
a
Ns
R
R
A melhor aproximação, com t algarismos significativos,
é a que é obtida por arredondamento do valor exacto,
pois, assim, todos os t a.s. são correctos.
presentação dos resultados ão interessa escrever os números aproximados com
lgarismos sem significado. Por isso é suficiente
presentar,
Erros (arredondados por excesso): • com 1 (2 no máximo) a.s;
Valores aproximados (arredondados): • só com o número de a.s.c. (resultados finais) • com o número de a.s.c.+1 (resultados finais ou que.
. vão entrar em cálculos simples) • com o número de a.s.c.+2 (resultados que vão entrar
. em cálculos mais complicados)
OTA: Sempre que possível devem trabalhar equencialmente com a máquina
elação entre e.m.a. e c.d.c.
n c.d.c. ⇒ ⇐ ∆a ≤ 0.5×10-n
elação entre e.m.r. e a.s.c.
d1≈ 1 d1≈ 10
n a.s.c. ⇒ δa≤ 0.5×10-n ou δa≤ 0.5×10-(n-1)
δa≤ 0.5×10-n ⇒ n a.s.c. ou (n+1) a.s.c.
Análise Numérica – Teoria de erros –DEC 12
Propagação dos erros I. Função de uma variável (z=f(x))
Seja f: ℜ → ℜ, contínua num domínio 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 mínimo e
máximo de f em [x0 - ∆ x, x0 + ∆ x], então, como a função
é contínua, z0 ∈ [ fmin , fmax ] e
∆ z = max{ f (x0) - fmin , fmax – f (x0)}.
• Fórmula de Taylor de 1ª ordem (teorema de Lagrange ou Fórmula dos acréscimos finitos)
Seja f contínua e derivável em [x0- ∆ x, x0 + ∆ x] então
∆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 prática
∆z ≈ f ′(x0)⋅ ∆ x ← O (∆ x2)
Análise Numérica – Teoria de erros –DEC 13
Geometricamente
f (x0)
x0 x0 +∆ x x0 - ∆ x
f (x0-∆ x)
f (x0+∆ x)
por excesso ( é e.m.a.)
ε - erro cometido
∆ - erro estimado
por defeito
( não é e.m.a.) Determinação do e.m.r. (δ z) directamente
xxfxf
zzz ∆⋅
′≅
∆=
)()(δ
00
Se f ′(x0) = 0 então, usando a fórmula de Taylor de 2ª
ordem, tem-se:
∆z ≈ 21 f ′′(x0)⋅ ∆ x2 ← O (∆ x3)
c
despreza-se quantidades de 3ª ordem em ∆ x
Análise Numérica – Teoria de erros –DEC 14
II. Função de várias variáveis (z=f(x1, x2, ...,xn)) Seja f : ℜn → ℜ, contínua num domínio D ⊆ ℜn. Seja x0∈ℜn um
valor aproximado de x com um e.m.a. ∆x∈ℜn. Qual o e.m.a.
∆z∈ℜ com que z0 = f (x0) aproxima z = f (x).
• Regra de enquadramento
A determinação de fmin e fmax nem sempre é simples.
Não se utiliza por isso este processo.
• Fórmula de Taylor de 1ª ordem
Seja x0=(x1,x2,...,xn) e ∆x = (∆x1, ∆x2, ..., ∆xn)
Se a função f: D ⊂ ℜn→ℜ, além de ser contínua em D,
tiver derivadas parciais contínuas em D, isto é, f é
continuamente diferenciável em D então
ε
ε∂
+∆⋅
∂
∂++∆⋅
∂
∂+∆⋅
∂
∂=
+∆∂
=
−∆±∆±=−∆±=∆
∑=
nn
ni
i
nnn
xx(fx
x(fx
x(f
(f
xxfxxxxffxfz
xxx
xxx
xx
)))
)
) ..., ,() ..., ,()()(
0
22
0
11
0
1i
0
11100
L
em que ε → 0 quando ∆x → 0, isto é, ε é de 2ª ordem em
∆xi i=1, …, n)
Análise Numérica – Teoria de erros –DEC 15
Por isso, e como
∑ ∆≤∑ ∆==
ni
i
ni
ix
x)x(f
xx
)x(f1i
0
1i
0
∂∂
∂∂
e
tem-s∑ ∆≅∆=
ni
ix
x)x(fz
1i
0
∂∂
Nota: x
)x(fi∂
0∂ é a derivada parcial de f em ordem a xi
e é definida por
i
ninii
ihi hxxxfxhxxf
x)x(f ),,,,(),,,,(
lim 11
0
0 LLLL −+=
→∂∂
Pode usar as regras de derivação de funções de uma
variável, considerando que todas as variáveis diferentes
de xi são constantes.
Aproxima a função pelo hiperplano tangente à superfície no ponto aproximado
Determinação do e.m.r. (δ z) directamente
x)xf(
xx
)xf(
x)xf(
x)xf(
zzz i
n
i
ii
in
i
i δ∂
∂∂
∂
δ ⋅∑⋅=∆⋅∑⋅≅∆
=== 1 0
0
1 0
0
||
Análise Numérica – Teoria de erros – DEC 16
Interpretação geométrica Seja z = f (x,y), x = x0 + ∆x e y = y0 + ∆y
Plano tangente à superfície no ponto (x0,y0)
x
e2
e1
ei
erro estimado (≈∆z)
e.m.a. - ∆z
z 4 z 3 z z 2
z 1 y
y0+∆y
y0
O x0
x0+∆x
Sejam z1, z2, z3 e z4 4 funções de uma variável, obtidas pela
intersecção da superfície z = f (x,y), com 4 planos verticais
paralelos a O x z e O y z.
a) z1 = f (x,y0) funções de x
b) z2 = f (x,y0+∆y)
c) z3 = f (x0,y) funções de y
d) z4 = f (x0+∆x,y)
Usando as funções z1 e z4
210000 ),(),( eeyxfyyxxfz +=−∆+∆+=ε
Usando a fórmula de Taylor de 1ª ordem:
Análise Numérica – Teoria de erros – DEC 17
( ) ( )
( ) ( ) yy
yxxfydy
yzde
xx
yxfxdx
xzde
∆⋅∂∆+∂
=∆⋅≅
∆⋅∂
∂=∆⋅≅
00042
00011
,
,
Como ∆x e ∆y são quantidades pequenas e as derivadas
parciais são contínuas
( ) ( )y
yxfy
yxxf∂
∂≈
∂∆+∂ 0000 ,,
e
( ) ( ) yy
yxfxx
yxfz ∆⋅∂
∂+∆⋅
∂∂
≅∆ 0000 ,,
A função é substituída pelo
hiperplano tangente à superfície no
ponto aproximado
Análise Numérica – Teoria de erros – DEC 18
Regras práticas
Expressões de erros mais simples: (e.m.a.) yxz ∆+∆=∆±=−Ι
(e.m.r.) zxzxyxz δδδ +==⋅=−ΙΙ
(e.m.r.) xxz p δδ p=z(=−ΙΙΙ
yz
yxz
exacto) p
e
Como o e.m.a. está relacionado com c.d.c. e o e.m.r.
está relacionado com a.s.c., tem-se:
Sejam
e
dois val
Adições c.d.
Produtos a.s.
Divisões a.s.
Potências a.s.
x0= 475.54 (∆x=0.5×10-2, 2 c.d.c. e 5 a.s.c. )
y0=0.0768 (∆y=0.5×10-4, 4 c.d.c. e 3 a.s.c.)
ores aproximados de x e y.
xmin=475.535 ≤ x < 475.545 = xmax
ymin=0.07675 ≤ y < 0.07685= ymax
Análise Numérica – Teoria de erros – DEC 19
Adição e subtracção 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
∆(x±y)=0.505×10-2≈0.5×10-2→2 c.d.
• Fórmula de Taylor
∆(x±y)=1⋅∆x + |±1|⋅∆y =0.5 ×10-2 +0.5 ×10-4≈0.5 ×10-2→2 c.d.
x + y = 475.62
x – y = 475.46
• Regra prática
Numa adição algébrica de dois ou mais números
aproximados, o resultado deverá ter tantas casas
decimais quantas as do número com menos casas
decimais correctas. Os restantes números 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
Análise Numérica – Teoria de erros – DEC 20
Produtos e divisões
927083.61910768.0
54.475
521472.360768.054.475
00
00
==
=×=×
yx
yx
• Enquadramento
026059.966133442.8761
45633255.3697311254.36
<<→<<
<×≤
×<×≤×
→
yx
yx
yx
yx
yx
maxymaxxyxminyminx
minmax
maxmin
• Fórmula de Taylor
( )
( ) ( )
a.s.c. 3 correcta, dezenas dascasa 105.04.4
107.0102.6
a.s.c. 3 c.d.c, 1105.01026.0
107.05.36
a.s.c. 3 ou 2105.0107.01071.6
106.6101.1076.0105.0
107.4105.0
1
33
11
3
234
454
2
2
→×<≈
≈×××=
⋅=
∆
→×<×≈
≈××=⋅⋅⋅=⋅∆
→×<×≈×=
×+×=×
+×
×=
=+=
=⋅
−
−−
−
−−−
−−−−
yx
yx
yx
yxyxyx
yxyxyx
δ
δ
δδδδ
31019.6
5.36
×=
=×
yx
yx
Análise Numérica – Teoria de erros – DEC 21
• Regra prática
31019.640625.0768.0
5.
5.365184.360768.05.475
×=
=×→=×
yx
yx
6191475
→=
No produto ou divisão de dois ou mais números
aproximados o resultado deverá ter tantos algarismos
significativos quantos os do número com menos
algarismos significativos correctos. Os restantes
números podem ser arredondados para mais um a.s. do
que os daquele que tem menos.
Potências
• Regra prática
E
Seja z=xp (p∈ℜ).
• Se |p| ≈1 z tem o mesmo número 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.)
xemplo 9:
241117158.1345.4335.49742721.157
a.s. 4 tem158107763.134.4
446635908.2345.4335.4206628108.2
a.s. 3 tem083266666.234.4a)
101010
10
=<≤=
=−
=<≤=
=−
x
x
b)
Análise Numérica – Teoria de erros – DEC 22
• Os números 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.
12π≈12×3.14≈37.7 → 3 a.s.
12+π≈12+3.14=15.14 → 2 c.d.
2 c.d.
De facto, como π=3.14159265..., ∆π=0.2×10-2 e
3.138 ≤ π ≤ 3.142
37.656 ≤ 12π ≤ 37.704
15.138 ≤ 12+π ≤ 15.142
• Quando se faz adições algébricas pode-se perder ou
ganhar a.s.
Exemplo 11:
-Perda de a.s. na subtracção de números próximos
14.719-14.7081 ≈ 0.011→só tem 2 a.s.
- Ganho de algarismos significativos na adição
34.719+83.102=117.821→tem 6 a.s.
Análise Numérica – Teoria de erros- DEC 23
Propagação do erro ⇒
Exemplo 12: Dadas as seguin
calcule os seus valores usando
Interprete e justifique os resul
( )(3
83
13 −=
+
83.28 =
( )383
1
+ 5.04655×10-3 5.050
( 383 − ) 4.913×10-3 5.050
99-35× 8 -5×10-2 5.05
Perda de equivalência
entre expressões
Cancelamento - Expressões com diferença de
números muito próximos perdem os algarismos mais
significativos dos argumentos. Assim, os algarismos
mais significativos do resultado são os menos
significativos dos argumentos que já podem estar
afectados de erros, aumentando muito o erro relativo.
tes expressões equivalentes,
a aproximação 83.28 = .
tados.
) 835998 3×−=
8 (máq) erro a.s.c.
633883×10-3 4.1×10-6 3
633887×10-3 1.4×10-4 1
06341×10-3 5.5×10-2 0
Análise Numérica – Teoria de erros- DEC 24
Aritmética em vírgula flutuante Mesmo quando os dados são exactos, ao longo do cálculo
com uma máquina de calcular em vírgula flutuante ocorrem
erros que, quando se adiciona números, podem fazer com
que a precisão do resultado piore. De facto, a máquina
trabalha com um número 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 máquina com t=4, β=10, com os
expoentes máximo e mínimo respectivamente 9 e –9 e que
arredonda o resultado
Os erros introduzidos são particularmente graves na:
• Adição de números de ordem de grandeza diferente
Exemplo 13: Calcule
S=3.567+0.0004985+0.0004821+0.0004789+0.0004657
I. Começar por adicionar os maiores
0.3567 ×10
+ 0.00004985 ×10
0.35674985 ×10 →fl(S)= 0.3567×10 → S= 3.567
Análise Numérica – Teoria de erros- DEC 25
II. Começar 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.3569×10 →
Explicação teórica – A máquina ao manter um n
a.s. comete um erro relativo δi ao efectuar qualqu
ao calcular (x+y+z), obtém o resultado:
fl(x+y+z) = (x+y)(1+δ1)+z)(1+δ2)=
=((x+y)+ (x+y)δ1+z)(1+δ2)=
=(x+y+z)+ (x+y)δ1+( x+y+z)δ2+(x+y)δ1δ2=
desprezá
=(x+y+z) + [(x+y) (δ1+δ2)+z δ2]
Na pior das hipóteses os erros acumulam-se e,
geral, |δ1+δ2| > |δ2|. Assim, se a soma das prime
for menor, o erro tem maior probabilidade de s
Quando ocorre? Por exemplo, quando se som
de uma série lentamente convergente.
Que fazer? Começar por somar os termos mai
S= 3.569
úmero fixo de
er operação e,
vel
de um modo
iras parcelas
er menor
a os termos
s pequenos.
Análise Numérica – Teoria de erros- DEC 26
• Diferença de números muito próximos
Tal como vimos anteriormente, se os números estiverem
afectados de erro há uma perda de a.s.
Exemplo 14: Calcular 3774+5.874-3779. (Números exactos)
I. fl(3774+5.874)=3780 (aprox., arredondado de 3779.874 )
fl(3780-3779)=1 ( 0105.015.087.013.0
×<==δ →0 ou 1 a.s.)
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 cálculos em precisão dupla. Mesmo
assim nem todos os casos ficam resolvidos.
Exemplo 15: Determine as raízes de x2-14x+0.01=0
I. 00.14999.6799.48701.04971 ≅+≅+=−+=x (1 a.s.) 001.0999.672 =−≅x
II. 00.1401.04971 ≅−+=x ( )( )
( ) a.s.) (4 107143.000.1401.0
99.48701.04949
01.049701.049701.0497
3
2
−×≅≅+
−−=
=−+
−+−−=x
Raízes dadas pela máquina: x1=13.9999286 e x2=7.143222×10-4
Análise Numérica – Teoria de erros- DEC 27
Como evitar overflows?
Exemplo 16: Calcular 22 ba +=c para a=108 e b=1.
Seja s=max{|a|, |b|}=108. Então
882
88
22
10011010
1110 =+=
+=
+
=
c
sb
sasc
Problemas bem e mal condicionados.
Quando se resolve um problema pode interpretar-se que o
algoritmo obtém a solução exacta de um problema
aproximado.
Um problema diz-se mal condicionado se uma pequena
variação nos dados provoca uma grande variação nos
resultados.
Exemplo 17: Calculo dos zeros de uma função.
mal condicionado bem condicionado
Análise Numérica – Teoria de erros- DEC 28
Chama-se número de condição ao erro relativo do
resultado por unidade de erro relativo nos dados. Dá uma
informação acerca do número de a.s. que se espera perder
ou ganhar.
( )( )
( )( )
⋅⋅′
=⋅⋅′
==xf
xxfxfcondxxf
xxfzxfz )( e ),( Se δδ
Exemplo 18:
a) Se 1101)()( 10 <== xfcondxxf função bem
condicionada.
b) Se xxxfcondxxf
−−
=−=1
)(1)(
Se x≈1 o número de condição é grande e f (x) é mal condicionada Se 1)(
21 =≈ xfcondx e f (x) é bem condicionada
Algoritmos estáveis e instáveis
Os algoritmos estáveis garantem que a solução que obtêm é
de um problema próximo do problema dado.
Exemplo 19: O algoritmo I do exemplo 15 (problema
bem condicionado) deu a solução exacta da equação
x2-14.001x+0.014=0 (significativamente afastada da
equação original) O erro foi devido à instabilidade do
algoritmo. ( 0.014 ≈ 0.01 com um erro relativo = 40%).
Análise Numérica – Métodos Iterativos – DEC 29
Métodos Iterativos Método do ponto fixo
)(0)( xxxf ϕ=⇔=
S
S a
0 <conv
I)
II) 1 <− ϕconver
Dado x0 → )(1 nxnx ϕ=+
e é convergente ( ) xxn →
e ε<− nxx o processo pár
( ) 1<′ xϕ
x1 x2 x
x0
y = ϕ (x)
y = x ergente
( ) 0<′ x
x1 x2 x
x3 x0
y = x
gente
y = ϕ (x)
Análise Numérica – Métodos Iterativos – DEC 30
III)
x0 x
x3 x2 x1
y =ϕ(x)
y = x ( ) 1>′ xϕ divergente
IV)
Exemplo 20: Determine 2 como raiz da equação 022 =−x
a) Como x
xxx 2020 2 =⇔=−≠ e, dado um x0 qualquer,
01
2x
x = e 00
12 2
22 xxx
x =⋅
== ⇒ o método entra em ciclo.
Análise Numérica – Métodos Iterativos – DEC 31
b) Como 0≠x
+=⇔
−−=⇔=
−⇔=−
xxx
xxxx
xxx 2
21
220
2202
222
e i xi
0 1.5
1 1.416666667
2 1.414215686
3 1.414213562
Valor da máquina 414213562.12 = .
Porquê estes resultados?
a) ( ) 12e2)(2)( 2 −=′−=′→= ϕϕx
xx
xϕ
b) ( ) ( )
−=′→
+= 2
21212
21
xx
xxx ϕϕ
e ( ) ( ) 011212 =−=′ϕ
É necessário estudar a função na vizinhança da raiz.
⇓
Onde está a raiz ?
Quando se pára?
Análise Numérica – Métodos Iterativos – DEC 32
Separação das raízes – Obter intervalos disjuntos com
uma só raiz, tantos quantas as raízes.
Métodos gráficos
analíticos
Método analítico – Números de Rolle
Teorema 1 – Se é contínua em [ ] têm
sinais contrários então:
f ( ) ( )bfafba ee,
] [ ( ) 0:, =∈∃ cfbac
+
Teorema 2 (de Rolle)– Se é contínua em [ ]
derivável em , então
f
) =
ba, e
] [ ( ) ( 0e, = bfafba
] [ ( ) 0:, =′∈∃ cfbac
⇓
N
S
S
S
Entre dois zeros consecutivos de há no máximo um
zero de .
f ′
f
úmeros de Rolle ( ){ } { }fDdefronteirapontosf ∪=′ 0: αα=
eja α :1 iii ∀>+ α
e ( ) ( ) ] [ ( ) 0:,0 11 =∈∃/> ++ xfxff iiii αααα
e ( ) ( ) ] [ ( ) 0:,0 11
1 =∈∃< ++ xfxff iiii αααα
Análise Numérica – Métodos Iterativos – DEC 33
Método gráfico
( ) ( ) ( )xfxfxf 210 =⇔=
y = f2(x)
y = f1(x) y = f(x)
Estreitar o intervalo (→ erro = amplitude do intervalo)
• Método das bissecções sucessivas
• Métodos das tentativas lógicas
Método das bissecções sucessivas
Se é contínua em [ , pelo teorema 1, tem-se: f ]ba,
( ) ( ) ] [ ( ) 0:,0 =∈∃⇒<⋅ xfbaxbfaf
Deste modo se 2
ba +=c podem ocorrer 3 casos:
1. é zero de f (caso raro) ( ) cxcf =⇒= 0
2. (metade da amplitude de ]a, b[) ( ) ( ) ] caxcfaf ,0 ∈⇒<⋅ [[3. (metade da amplitude de ]a, b[) ( ) ( ) ] bcxcfaf ,0 ∈⇒>⋅
Repetindo sucessivamente o processo, seja o ponto
médio ao fim de iterações. Então tem-se:nx
n nnabx
2−
≤− x
Análise Numérica- Métodos Iterativos – DEC 34
O método das bissecções sucessivas pode falhar se se exigir
um erro inferior ao da precisão da máquina.
Exemplo 21: Considere a máquina anterior com 4 a.s., se se
tivesse exigido um erro inferior a 10-3 e se, numa dada iteração, se
tivesse a = 72.13 e b=72.14 então c=72.135 que a máquina
arredonda para 72.14 = b e o erro de 10-3 nunca é atingido.
Pode-se melhorar o processo? Sim.
Método da Falsa posição Equação da recta
( )bxab
afbfbfy −−−
=−)()()(
Intersecção com o eixo do x
( )bcab
afbfbf −′−−
=−)()()(0
( )abafbf
bfbc −−
−=′)()(
)(
b a
c′
Método das tentativas lógicas
2
ba +=c
c* →ponto a tentar
b a
f3
f2
f1
c* c
Análise Numérica – Métodos Iterativos – DEC 35
Método da Falsa Posição Se se usar a intersecção da recta com o eixo de xx para, tal como
no método das bissecções sucessivas, estreitar o intervalo que
contém 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
método se comporta?
Condição suficiente de convergência
Seja [a, b] um intervalo que contém uma raiz da equação
f (x ) = 0 e seja X essa raiz. Se f é contínua, duas vezes
derivável e f ″ tem sinal constante em [a, b] e se β ∈ [a, b]
satisfaz a condição f (β )⋅f ″(β ) > 0 então a fórmula de
recorrência:
( )ββ
−−
−=+ nn
nnn x
fxfxfxx
)()()(
1
é convergente para a raiz ∀x0∈ [a, b].
De facto, vamos ver que, se f ″ tem sinal constante, a sucessão
gerada pela fórmula de recorrência é monótona e limitada logo
convergente (xn)→L. Por outro lado como f é contínua
( ) )()()(
)(lim 1 βββ
≠−−
−==+∞→
LLfLf
LfLLxnn
e f (L)=0 pois L≠β. Logo L é raiz de f (x)=0.
Análise Numérica – Métodos Iterativos – DEC 36
f ′′ tem sinal constante
⇓ sucessão monótona limitada por (zero de ) X f
f ″> 0 ⇔ função convexa A recta que une dois quaisquer pontos (x1,f(x1)), (x2,f(x2)) toma um valor superior à função entre os dois pontos e um valor inferior fora desse intervalo
Analiticamente: ( )( ) 1 se)(1)())1((
10 se)(1)())1((
2121
2121
<−+≥−+
≤≤−+≤−+
λλλλλ
λλλλλ
xfxfxxfxfxfxxf
(x2,f(x2))
(x1,f(x1))
Isto garante que f(x0)⋅f(x1) > 0 com x1∈(x0, x) ( ⇔ ]x0, x[ ou ]x, x0[ )
f ″< 0 ⇔ função côncava A recta que une dois quaisquer pontos (x1,f(x1)), (x2,f(x2)) toma um valor inferior à função entre os dois pontos e um valor superior fora desse intervalo
Analiticamente: ( )( ) 1 se)(1)())1((
10 se)(1)())1((
2121
2121
<−+≤−+
≤≤−+≥−+
λλλλλ
λλλλλ
xfxfxxfxfxfxxf
(x2,f(x2))
(x1,f(x1))
X x0 x1
β
Logo a sucessão é monótona e
limitada por X.
• (xn) é monótona decrescente
limitada inferiormente por X
• ( ) é monótona crescente limitada superiormente por X
Análise Numérica – Métodos Iterativos – DEC 37
Outros casos
f ″> 0 f ″< 0 f ″< 0
x0 x0 x1 x1
x1 x0
β β β
Estimativa do erro ( =− nxX ?)
Como f (X) = 0 e
( )( ) ( )
( )
( ) ( )( ) ( )
( )
( )11
1
1
1
11
11
)()(
−−
−
−
−
−−
−−
−⋅
′
−−
=
−⋅′
−
⇓
−−
−=
nnn
n
n
n
nn
nnn
xx
fx
fxf
xfxff
xfxf
xfxx
X
X44 344 21
44 344 21
ϕ
ββ
ξ
ββ
(1)
onde, pelos teoremas dos acréscimos finitos e de Lagrange,
ξ∈(X, xn-1) e ϕ∈(β, xn-1).
E vem:
( ) ( )
( )( ) ( ) ( )
( ) ( )( ) ( )1
11
(1)por 11
−
−−
−−
−′
′−′=
−−−⋅′′
=
=−−−=−
nn
nnnn
nnnn
xxf
ff
xxxxff
xxxx XX
ξξϕ
ξϕ
(2)
Análise Numérica – Métodos Iterativos – DEC 38
Como (X, xn-1) ∪ (β, xn-1).⊂ [a, b], se f ′ tiver sinal
constante em [a, b]
[ ]( )
[ ]( )xfmxfM
xxm
mMxXx
baxbax
nnnn
′=′=
−⋅−
≤−=∆
∈∈
−
,1
,1
11
11
min emax
Como converge o método?
A ordem do método diz-nos como.
onde
N
t
S
e
Definição: Chama-se ordem do método a k tal que:
∆xn
0lim1≠=∆
=−∞→
Cxnn k
C∈ℜ\{0}
o caso do método da Falsa posição, pela relação (1),
em-se: ( )( ) ( )11 −− −⋅′′
=− nnn xffxx X
ϕξ
ubstituindo em (2) vem:
( ) ( )( )
( )( ) ( )
( ) ( )( ) 1
0
1
−
≠
−
−⋅′
′−′=−
−⋅′′
⋅′
′−′=−
nn
nn
xf
ffx
xff
fffx
XX
XX
4434421ϕ
ξϕ
ϕξ
ξξϕ
∆xn ≈ | C |⋅∆xn-1 ⇒ Método de 1ª ordem
Análise Numérica – Métodos Iterativos – DEC 39
O que significa um método ser de 1ª ordem?
Para uma análise mais formal, como o simétrico do
logaritmo do erro relativo nos dá aproximadamente o
número de algarismos significativos de valor aproximado
(≈ simétrico do expoente da potência de 10 do erro relativo
normalizado), considere-se a relação entre os erros
relativos:
δxn ≈ | C |⋅δxn-1.
Então -log δxn ≈ -log | C | - log δxn-1.
constante
isto é, o ganho de algarismos significativos por iteração
é quase constante.
c
• Será
De fa
algar
• Será
men
Método linearmente convergente.
divergente se | C | > 1.
cto, nesse caso, -log | C | < 0 e há uma perda de
ismos significativos.
tanto mais rapidamente convergente quanto
or for | C |.
Análise Numérica – Métodos Iterativos – DEC 40
Método de Newton Equação da tangente
y – f (x0) = f ′(x0)⋅(x – x0)
cuja intersecção com o eixo dos x é:
0 – f (x0) = f ′(x0)⋅(x1– x0)
( )( )0
001 xf
xfxx′
−=
f ″ > 0
? x3
X x2 x1 x0
Fórmula de recorrência
( )( )n
nnn xf
xfxx′
−=+1
Condições suficientes de convergência
• f ″ sinal constante em [a, b]
⇒ (xn) → X • f ′ sinal constante em [a, b]
• x0 : f (x0)⋅f ″(x0) > 0
Geometricamente
x1 x1 x0 x0
x1 x0
f ″ < 0 f ″ < 0
f ″ > 0
Análise Numérica – Métodos 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 sucessão monótona
limitada por X.
Logo (xn) → L e como f e f ′ são contínuas
XLLfLfLfLLxn
n≡=⇒
′−==+
∞→e0)(
)()(lim 1
Ordem do método
De acordo com a fórmula de Taylor de 2ª ordem
0 = f(X) = f (xn+(X - xn)) = f (xn) + f ′(xn)⋅(X - xn) + R2⋅ (3)
onde, ( ) ( )22 21R nxf X −⋅′′= ξ
Como f ′(xn) ≠ 0, se dividirmos (3) por f ′(xn) vem:
( )( )
( )( ) ( )
( )( )
2n
nn
nn
nxn
nn
xxf
fx
xxf
fxfxfx
XX
XX
−⋅′′′
⋅−=−
−⋅′′′
−=
′
−−
≠
+
+=
43421
4434421
0
1
2
1
21
21
ξ
ξ
Método de 2ª ordem
Este método só é convergente se
( )( ) 1
21
<−⋅′′′
⋅− nn
xxf
fX
ξ
isto é, a convergência do método depende da escolha de x0.
Análise Numérica – Métodos Iterativos – DEC 42
O que significa um método ser de 2ª ordem?
De modo semelhante ao que foi feito para o método da
Falsa Posição, se se escrever a expressão dos erros relativos
tem-se:
( )( )
nn
ldesprezávenn
nnn
n
xx
Kxx
xKxxf
fx X
δδ
δδ
δδξ
δ
log2log
loglog2log21
1
1
221
−≅−
−−≅−
≅⋅′
⋅′′⋅−=
+
+
+
321 Então
( )∞=− xδlog
isto é, o ganho de a.s. por iteração é cerca
iteração anterior e, nas proximidades da ra
aproximadamente o dobro dos algarismos signific
c
Método quadraticamente converg
Estimativa do erro
Usando alguns artifícios e a fórmula de Tay
demonstrar-se que ( )( ) ( ) ( )
( )xxm
MxX nnn −≤− ++2
112
1 2
[ ]( )
[ ](fminmxfmaxM
xxxffxX
baxbax
Xnnnn
′=′′=
∈−⋅′′′
⋅−=−
∈∈
+++
,1
,2
12
11
e
,,21
ϕηϕη
Então
com
n
do dobro da
iz, tem
ativos de .
1+nx
nx
ente
lor consegue
(
)x
xx nn∈ +1, )
Análise Numérica – Métodos Iterativos – DEC 43
Método da secante Se, no método de Newton, se aproximar a derivada por um
valor gn, teremos um método chamado quasi-Newton
Há vários métodos quasi-Newton. O método da secante é
um deles
( )11
1 )()()(
−−
+ −−
−= nnnn
nnn xx
xfxfxfxx
Geometricamente tem-se:
x1 x2 x4
x3
X x0
x0 x2 x3
x1
Consegue-se demonstrar que, se x0 e x1 estiverem
suficientemente próximos da raiz X, a sucessão anterior é
convergente para X e
0lim1
≠=−
−
−∞→C
xx
pn
nn X
X
com ...618.12
51=
+=p ← método superlinear
Assim em cada iteração espera-se ganhar cerca de 1.6 vezes
o número de a.s. ganhos na iteração anterior.
Análise Numérica – Métodos Iterativos – DEC 44
Método Iterativo simples Os métodos iterativos podem ser considerados como
casos particulares do método iterativo simples. A raiz da
equação f (x)=0 é o ponto fixo de ϕ(x), isto é, o ponto
que verifica a equação x = ϕ(x).
Condição suficiente de convergência
Teorema: Se f ,ϕ e ϕ′ forem funções contínuas num
intervalo I e se
( ) 1max <′=∈
xqIx
ϕ
então a sucessão definida pela fórmula de recorrência
( ) [ ] Ibaxxx nn ⊆∈∀=+ ,01 ϕ
é convergente para a única raiz X ∈[a, b].
Demonstração
( )
( ) ( ) ( ) ( ) ( nnnn
XX )(
1
=
+
ϕ
)nn
xxxx
xx
XXXX ,,
1
∈−⋅′=−=−
=+
ξξϕϕϕ
ϕ Pelo teorema dos acréscimos finitos
e ( ) 11 nn xx XX −⋅′=− + ξϕ (3)
Método de 1ªordem
Análise Numérica – Métodos Iterativos – DEC 45
• se ϕ′(ξ)<1, o erro diminui;
• se ϕ′(ξ)>1, o erro aumenta;
• se ϕ′(ξ) > 0, xn e xn+1 estão do mesmo lado de X;
• se ϕ′(ξ) < 0, xn e xn+1 estão em lados opostos a X;
(ver interpretação geométrica, páginas 29 e 30)
Se ϕ′(x)<1 ∀x∈I (I terá que conter todos os pontos xn e X )
então as sucessões geradas pela fórmula de recorrência são (ou
têm subsucessões) monótonas e limitadas por X, logo
convergentes (xn → L). Como ϕ é contínua
( ) LLLxx nn
nn
⇔=⇔
=
∞→+
∞→ϕϕ limlim 1 é raiz.
A raiz é única Por redução ao absurdo sejam L e X duas raízes em I. Então
L–X=ϕ( L )- ϕ(X) ⇔ L–X=ϕ′(η)⋅( L–X) ⇔ (L–X)⋅(1-ϕ′(η))=0
onde η∈(L, X) ⊂ I. Logo ϕ′(η) ≠ 1 e L≡X.
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]
Análise Numérica – Métodos Iterativos – DEC 46
Estimativa do erro Seja ( )xq
Ixϕ′=
∈max . Então de (3) vem:
∆xn ≤ q⋅∆xn-1 ≤ q2⋅∆xn-2 ≤ … ≤ qn-1⋅∆x1 ≤ qn⋅∆x0
( Se ∆x0 não for muito afastado da realidade podemos estimar
quantas iterações são necessárias para obter uma dada
precisão qn⋅∆x0 < ε ).
Se se quiser o erro à custa de (xn-xn-1), vem:
( )
( ) ( ) ( 21211
21
1
,
)(
−+−+−+−+−++
−+−+
−++
∈−⋅′=−
=−
=
kikikikikiki
kiki
kiki
xxxxxx
xx
xx
ζζϕ
ϕ
ϕ
)
∴ |xi+k- xi+k-1| ≤ q⋅|xi+k-1- xi+k-2| ≤ … ≤ qk⋅|xi – xi -1|
Como npnp
n xxxX −=− +∞→
lim
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|
então 11
1 1 −=
−+ −−−
=∑−≤− nn
pp
k
knnnpn xx
qqqqxxxx
e lim +∞→
=− npnp
xx 11 −−−
≤− nnn xxq
qxX
ou
011xx
qqx
n
nX −−
≤−
Análise Numérica – Métodos Iterativos – DEC 47
A convergência do método nem sempre é de ordem 1.
De facto, como
( )Xn
nn x
xϕ′=
∆∆ +
∞→1lim
se ϕ′(X) = 0, o método tem convergência de ordem
superior à 1ª. A ordem do método será k se
0 = ϕ′(X) = ϕ″(X) = … = ϕ(k-1)(X) ≠ ϕ(k) (X)
Exemplo: No caso do método de Newton
( )
( ) ( ) ( )( )
( )( )
( ) ( )( )X
XX
XX
XXX
ff
ff
ffxfxfxx
′′′
=′′
≠′=′
′′⋅=′
′−=
ϕ
ϕ
ϕ
e
00como
)()(
2
o método é pelo menos de convergência quadrática. Só
terá ordem superior à quadrática quando f ″(X) = 0
Como determinar uma “boa” fórmula (de 1ª ordem )?
Pretende-se que ϕ′(X) = 0. Como
( )43421
x
xfxxxfxfϕ
θθθ )(0)(0)(
0⋅+=⇔=⋅⇔=
≠
Pode determinar-se θ:
( ) ( ) ( ) ( )Xxxf
xfx ≈′
−=⇔=′⋅+=′ 101 θθϕ
Análise Numérica – Sistemas Lineares -.DEC 48
Resolução de sistemas lineares Sistemas triangulares
Triangular inferior Triangular superior
=
∀≠=
nnnnnn
ii
b
bb
x
xx
ibxL
MM
lLll
OMM
ll
l
l
2
1
2
1
21
2221
11
0
=
∀≠=
nnnn
n
n
ii
b
bb
x
xx
u
uuuuu
iubxU
MMMO
L
L
2
1
2
1
222
11211
0
Substituição para a frente Substituição para trás
kk
k
jjkjk
k
xbx
,n,,k
l
l
K
∑−
=
=−
=
1
1
21 Para
kk
n
kjjkjk
k u
xubx
,,n,nk
∑−
=
−=
+= 1
11 Para K
Sistemas não triangulares: A x = b
• Método de Eliminação de Gauss – usa operações
elementares que transformam o sistema num sistema
triangular superior.
Operações elementares
• Multiplicar equações por uma constante diferente
de zero
• Substituir uma equação pela soma dessa equação
com outra ou outras.
Análise Numérica – Sistemas Lineares -.DEC 49
Algoritmo No cálculo exacto
• elemento da diagonal ≠ 0.
No cálculo aproximado
• elemento da diagonal suficientemente grande
• elemento da diagonal vai ter um papel fundamental nos
cálculos a efectuar e por isso chama-se pivot.
Se a11 for suficientemente grande, vai ser usado para anular todos os
elementos ai1, alterando a equação i do seguinte modo ( ): ijij aa =)1(
resolver a 1ª equação emordem a x1 e substituir oseu valor nas restantesequações
{←)2(
ija {
{⇔⋅− )1(
1)1(11
)1(1)1(
ji
ij aaa
a
linha a alterar
linha pivot factor
Ao fim de k iterações:
=
= −−
−−
−−
−−−
−
−
)(
)(
)1(1
)2(2
)1(1
)()1(,1
)1(,1
)1(1,1
)2(2
)2(2
)2(1,2
)2(22
)1(1
)1(1
)1(1,1
)1(12
)1(11
)( e
000
00000
0
kn
kk
kk
kknk
kkk
kkk
nkk
nkk
k
b
bb
bb
baaa
aaaaaaaaa
A
M
M
L
MLMM
L
LL
MMMMOMM
LL
LL
)()(
)()(
knn
knk
kkn
kkk
aa
aa
L
MOM
L
kiba
abb
kjiaa
aaa
kkk
kkik
ik
i
kjkk
kk
kkik
ijk
ij
≥∀−=
≥∀−=
−−−
−−−
−−−
−−
−−−
)1(1)1(
)1(1,)1()(
)1(,1)1(
1,1
)1(1,)1()( ,
Matriz reduzida
com
kk −− 1,1
e
Análise Numérica – Sistemas Lineares -.DEC 50
Propagação de erros Exemplo: Resolva o seguinte sistema com uma máquina
em vírgula flutuante com 4 a.s.:
=−=+
018.1436.23454.0569.1566.10003.0
21
21
xxxx
(1)
(Solução exacta: x1=10; x2=1)
I. Usar para pivot a11:
II. Usa
Pode pe
já a11=3
.1151
0003.0
3454.0
−↓
×−
==
→
−−
↓
−
001.1333.3
180518040569.1566.10003.0
018.1436.23454.0569.1566.10003.0
2
1
xx
r para pivot a21: (trocar a 1ª com a 2ª linha)
0008686.0
3454.0
0003.0
−↓
×−
==
→
−↓
−
000.100.10
568.1568.10018.1436.23454.0
569.1566.10003.0018.1436.23454.0
2
1
xx
Porquê estes resultados?
nsar-se que é por 0.0003 ser pequeno. Mas se se fizer:
=−×=×+
018.1436.23454.010.156910.15663
21
21
xxxx
(2)
é grande e, no entanto, o resultado é igual ao caso I.
Análise Numérica – Sistemas Lineares -.DEC 51
Caso I )2(
22a = -2.436-1151.×1.566 = -2.436-1802.= -1804.
)2(2b = 1.018-1151.×1.569 = 1.018-1806.= -1805.
e
333.30003.0
568.1569.10003.0
001.1566.1569.1
001.1.1804.1805
1
2
=−
=×−
=
=−−
=
x
x
Só o 1º a.s. da equação a substituir afectou o resultado
Caso II )2(
22a = 1.566+2.436×0.0008686 = 1.566+0.002116=1.568
)2(2b = 1.569-1.018×0.0008686 = 1.569-0.0008842= 1.568
e
00.103454.0454.3
3454.0000.1436.2018.1
000.1568.1568.1
1
2
==×−
=
==
x
x
Conclusão
• Caso I – não é estável ⇔
• Caso II – é estável ⇔
• Caso I - pivot =0.0003 <<0.
• Caso II - pivot = 0.3454 >> 0
problema resolvido afastado
do problema dado
problema resolvido próximo
do problema dado
3454 e <<1.566
.0003 e ≈ 2.436
Análise Numérica – Sistemas Lineares -.DEC 52
Escolha do pivot • Escolha parcial: o pivot de ordem k é o elemento
da 1ª coluna da matriz reduzida com maior valor
absoluto.
)(kska
)()( kikki
ksk amaxa
≥=
Se a ordem de grandeza dos elementos das linhas for muito
diferente, a escolha parcial pode não 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
elemento da 1ª coluna da matriz reduzida tal que: )(kska
ijnj
ii
kik
kis
ksk amaxd
da
maxd
a≤≤≥
==1
)()(onde
• Escolha total: o pivot de ordem k é o elemento a da
matriz reduzida com maior valor absoluto.
)(ksr
)(,
)( kijkji
ksk amaxa
≥=
Caso III
569.1566.10003.0
−
Este ca
=
=→
−
↓ −
000.1
00.10
018.1436.23454.0
224.202224.0
018.1436.23454.0
2
1
x
x
×
− 436.2566.1
so é estável mas mais trabalhoso do que o caso II.
Análise Numérica – Sistemas Lineares – DEC 53
Condição de um sistema Exemplo:
=+=+
→=
=+=+
→=
595.499.0
595.498.0
21
212
21
211
xxxx
bxA
xxxx
bxA
A2 ≈ A1, isto é, A2 = A1+∆A1 e, os elementos de ∆A1 são pequenos
e no entanto as soluções são muito diferentes.
⇓
Interpretação geométrica
Solução exacta (2.5,2.5)
Solução exacta (0,5)
Sistema mal condicionado
Representação geométrica
do sistema anterior
Sistema mal condicionado Sistema bem condicionado
Análise Numérica – Sistemas Lineares – DEC 54
Outras interpretações
Ao resolver Ax=b obtém-se x~ tal que:
I. ( ) εε +=∴=+ xxbxA ~~
II. bxA ~~~ =
Nos métodos estáveis ( )0com~~ ≈∆∆+=≈ AAAAAA e
• se o sistema é bem condicionado xx ≈~ (ε pequeno)
• se o sistema é mal condicionado ε pode ser grande e
xx ≠~
Nos métodos instáveis ( )0~ ≠∆≠ AAA e
• quer o sistema seja bem ou mal condicionado xx ≠~
Como se mede a condição?
Se b é exacto pode mostrar-se que:
[ ]AA
AAxx
kAcond
∆⋅⋅≤
∆
=
−
43421
1
Demonstração:
Se A é não singular bxAbAxbAx ==⇔= − ~~ e 1
( ) ( )
⋅∆
⋅⋅≤−
→⋅∆⋅≤−→⋅∆⋅=−
⋅−⋅+=⋅−+⋅=⋅⋅=∴
−−−
−−−
AA
AAx
xxxAAxxxAAxx
xAAAxxAAAAxAAx
111
111
~~
~~~~
~~~~~~~
Se b não é exacto
∆+
∆⋅
∆⋅−
≤∆
bb
AA
AA
k
kxx
1
Análise Numérica – Sistemas Lineares – DEC 55
Propriedades das normas (A e B matrizes)
• AA ⋅= αα
• BABA +≤+
• BABA ×≤×
Normas compatíveis (entre vectores e matrizes)
xAAx 1
max=
=
Exemplos de normas compatíveis:
Vector Matriz
∑==i
ie xxx 22 )(2 AAA H ⋅= ρ
∑=i
ixx 1 ∑=i
ijj
aA max1
ii
xx max=∞ ∑=∞ jij
iaA max
? ∑=ij
ije aA 2
p
i
pip xx
1
= ∑ ?
)( AAH ⋅ρ - raio espectral = maior valor próprio de AH⋅A (se A é real
AH=AT)
Análise Numérica – Sistemas Lineares – DEC 56
Refinamento da solução Seja x~ a solução aproximada de Ax=b
( ) rxAbAbAxAbxA =−=⇔=+⇔=+ ~~~ εεε
e ε~~ +≈ xx onde ε~ é a solução aproximada do sistema
anterior.
Recursivamente )()()1( nnn xx ε+=+
onde )(nε é a solução aproximada do sistema:
)()()( com nnn xAbrrA −==ε
Critério de paragem
≤−
=+
+
+ )1(
)()1(
)1(
)(
n
nn
n
n
x
xx
x
ε tolerância (=10-t→ ≈ t a.s.)
Resolução de sistemas Métodos directos - Factorização
• Decomposição LU
A=L⋅U
Ax=b ⇔ ( )
==
⇔==
yUxbLy
bxULy321
⇔
resíduo
L – matriz triangular inferior
U – matriz triangular superior
Resolução de 1 sistema quadrado
Resolução de 2 sistemas triangulares
Análise Numérica – Sistemas Lineares – DEC 57
Decomposição LU
×
=
=
nn
n
n
nnnnnnnn
n
n
u
uu
uuu
aaa
aaa
aaa
A
L
MOMM
L
L
lLll
MOMM
Lll
Ll
L
MOMM
L
L
00
00
00
222
11211
21
2221
11
21
22221
11211
⇓
⇓ • Se uii = 1 ∀i → Decomposição de Crout
• Se lii = 1 ∀i → Decomposição de Doolittle
• Se lii = uii ∀i → Decomposição de Choleski (A=LLT) (A simética e definida positiva)
- Se A só for simétrica A=LDLT Algoritmo de Doolittle Para j = 1 até n faça jj au 11 ← Para i = 2 até n faça 1111 aaii ←l Para i = 2 até n-1 faça
∑−←−
=
1
1
i
kkiikiiii uau l
Para j = i+1 até n faça
ii
i
kkijkjiji
i
kkjikijij
uua
uau
∑−←
∑−←
−
=
−
=1
1
1
1
ll
l
∑−←−
=
1
1
n
kknnknnnn uau l
Problema indeterminado
L e U podem ser guardados na mesma matriz
nnnn
n
n
u
uu
uuu
Lll
MOMM
Ll
L
21
22221
11211
U
L
Análise Numérica – Sistemas lineares – DEC 58
Resolução de sistemas lineares – Métodos Iterativos
Dado o sistema A x = b:
• nos Métodos directos inverte-se A (directa ou
indirectamente)
• nos Métodos iterativos inverte-se M ≠ A tal que
A = M – N e M facilmente invertível
A x = b ⇔ (M – N) x = b ⇔ x=M –1 (N x + b) (1)
Teorema do ponto fixo
Considere-se a equação 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 sequência
( ))1()( −= kk xx ϕ
e x(k)∈V, então existe um único ponto Vx∈ tal que
( )xx ϕ= e ( ){ } xx n → ( x - ponto fixo) sendo:
)0()1()1()()(
)1()(
11xxxxxx
xxxx
kkkk
kk
−−
≤−−
≤−
−≤−
−
−
λλ
λλ
λ
e
Análise Numérica – Sistemas lineares – DEC 59
Aplicando o teorema do ponto fixo a (1) tem-se:
( ) ( ) ( )
yxNM
yxNMbyNMbxNM
−⋅≤
−=+⋅−+⋅
−
−−−
1
111
Logo, se || M -1N || < 1, a sequência definida por
( ) dxCbxNMx kkk +=+⋅= −−− )1()1(1)(
converge para o ponto fixo x , solução do sistema A x = b
∀ x(0) ∈ ℜn e )1(1)( −− −⋅≤− kk xxNMxx
Os métodos diferem no modo como definem M e N.
Os métodos mais comuns usam os elementos da parte
triangular inferior (L), da diagonal (D) e da parte triangular
superior (U) de A tal que
=
=
=
++=
000
000
00
0000
0
00000
2
112
22
11
21
21
L
MOMM
L
L
L
MOMM
L
L
L
MOMM
L
L
n
n
nnnn
aaa
U
a
aa
D
aa
aL
UDLA
NOTA: Não confundir com as matrizes L e U da decomposição LU.
Análise Numérica – Sistemas lineares – DEC 60
Método de Jacobi Método de Gauss-Seidel
M = D N = - ( L+U ) M = L+D N = - U
Condição suficiente de convergência
|| M-1N || = || D-1⋅(L+U) || < 1 || M-1N || = || (L+D)-1⋅U || < 1
Fórmula de recorrência
dxCx kk += − )1()( dxCx kk += − )1()(
C=-D-1(L+U)
d=D-1b ( ) ( )bxUDLx kk +⋅−+= −− )1(1)(
isto é ou
iii
i
ii
ijij
abd
jiaa
jic
=
≠−
== se
se 0
( )
( )bxUxLDx
bxUxLxD
bxUxDL
kkk
kkk
kk
+−−=
+−−=
+−=⋅+
−−
−
−
)1()(1)(
)1()()(
)1()(
Ao usar a fórmula (2) para o método de Gauss-Seidel,
estamos a substituir o valor das componentes de x(k) já
calculadas no cálculo das novas componentes usando as
mesmas matrizes C e d do método de Jacobi. Deste modo
não se tem que inverter L. (L é invertida indirectamente usando
o método de substituição para a frente: Lz =e ⇔ z =L-1e. Isto só é
possível porque jiij ≤∀= ,0l )
(2)
Análise Numérica – Sistemas lineares – DEC 61
Controlo do erro no método de Jacobi
)1()()(
)1()(
1−
−
−−
≤−
−⋅≤−
kkk
kk
xxC
Cxx
xxCxx
Estas fórmulas indicam que, quanto mais próximo de zero estiver
||C|| (≈ 0), mais rapidamente convergente é o método. Pela
definição de C, quanto maiores forem os elementos da diagonal de
A menores, em valor absoluto, são os elementos de C. Logo, há
vantagem em transformar o sistema num sistema com matriz
diagonal dominante.
Definição-Uma matriz é estritamente diagonal dominante por
linhas (colunas) se
∑>∑>≠≠ ij
jiiiij
ijii aaaa .
Se a matriz A é Positiva Definida (PD), isto é xTAx >0 ∀x ≠ 0, também os
métodos se comportam bem. → Transformar o sistema num sistema
equivalente com matriz PD.
Teorema: Se A é não singular Ax=b ⇔ ATAx=ATb e A =ATA é uma matriz PD.
Demonstração: xT A x = xT ATAx = (Ax)TAx =||Ax||2>0 se Ax≠0⇔x≠0 pois A
é não singular.
Como o controlo do erro é complicado, usam-se apenas critérios de
paragem:
• ε<− − )1()( kk xx δ<− −
)(
)1()(
k
kk
x
xx •
Análise Numérica – Interpolação – DEC 62
Interpolação Dada uma tabela {(xi, yi), i=0, …, n} tal que
yi = f(xi) e xi ≠ xj se i ≠ j,
a interpolação fornece para valor aproximado de f(x*) o
valor de F(x*) onde F é uma função fácil de calcular e tal
que F(xi) = f(xi) ∀i = 0, …, n.
• Se x*∈[x0, xn] - interpolação
• Se x*∉[x0, xn] - extrapolação
Interpolação polinomial
( ) ( ) ∑=++++=≡=
n
i
ii
nnn xaxaxaxaaxPxF
0
2210 L
Base = (1, x, x2,…, xn)
Teorema ( de existência e unicidade)
Seja dada a tabela {(xi, yi), i=0, …, n} tal que xi ≠ xj ∀ i ≠ j.
Então
∃1 Pn(x) tal que Pn(xi) = yi , i=0, …, n.
Nota: Grau de Pn(x) ≤ n.
Análise Numérica – Interpolação – DEC 63
Algumas propriedades dos polinómios
• A soma de dois polinómios de grau n é um polinómio
de grau ≤ n.
• O produto de um polinómio de grau m por um
polinómio de grau n é um polinómio de grau m + n.
O produto de n polinómios de grau 1 é um
polinómio de grau n, isto é, ( ) ( ) ( ) ( )nn xxxaxP ααα −××−×−×= L21
(Nota: este polinómio tem precisamente n raízes
reais α1, α2,…, αn.)
• Se α é raiz de Pn(x) então Pn(x) é divisível por (x-α) e
( ))( α−x
xPn é um polinómio de grau n-1.
• Um polinómio de grau n tem no máximo n raízes
reais.
• Um polinómio que se anula em n pontos tem pelo
menos grau n.
Análise Numérica – Interpolação – DEC 64
Técnicas para obter Pn(x).
Resolução de um sistema (pouco eficiente)
Determinar ai i=0,…, n de tal modo que Pn(xi) = yi.
=+++
=+++
=+++
nnnnn
nn
nn
yxaxaa
yxaxaa
yxaxaa
L
M
L
L
10
11110
00010
(1)
Este sistema é determinado pois, se xi ≠ xj ∀i ≠ j
0
1
1
1
11
00
≠
nnn
n
n
xx
xx
xx
L
MOMM
L
L
←determinante de Vandermonde
Muitas vezes o sistema é mal condicionado
.Exemplo: Determine o polinómio de 2º grau que passa
pelos pontos de abcissa x0 =100, x1=101 e x2=102.
• O sistema tem o aspecto:
=
⋅
2
1
0
2
1
0
104021021102011011100001001
yyy
aaa
cuja condição da matriz é aproximadamente 108,
portanto mal condicionada.
Análise Numérica – Interpolação – DEC 65
• Se se fizer uma mudança de unidades das abcissas
02.1e01.1,1 210 === xxx vem
5100402.102.110201.101.11111
cond =
isto é, o sistema apesar de melhor condicionado ainda é mal
condicionado
• Se se escrever o polinómio noutra base = (1, (x-x2), (x-x2)2): P2(x) = b0+b1(x-x2)+b2(x-x2)2
o sistema tem o aspecto: ( ) ( )( ) ( )( ) ( )
=
⋅
−−
=
⋅
−−−−
−−
2
1
0
2
1
0
2
1
0
2
1
0
22222
22121
22020
001111421
111
yyy
bbb
yyy
bbb
xxxxxxxxxxxx
A condição do sistema é 28 (|| ||∞), portanto bem condicionado.
Conhecidos os coeficientes, se quisermos calcular o polinómio
devemos usar a forma
( )( )( )( )( )( ) 0121
012
21
1axaxaxaxaaxaxaxaxaxP
nnn
nn
nn
nnn
++++==+++++=
−−
−−
−−
LL
L
Deste modo o número de operações a efectuar são n multiplicações
e n adições.
No entanto o número de operações necessárias para resolver o
sistema é grande O(n3). Vejamos outros métodos mais eficientes.
Análise Numérica – Interpolação – DEC 66
Método de Lagrange
( ) ( )∑==
n
kkn xLxP
0
onde Lk(x) é um polinómio de grau n tal que:
Lk(xk) = yk e Lk(xi) = 0 se i ≠ k
x5 x4 x3 x2 x1 x0
L3(x)
L0(x)
y3
y0
Pn(x) é o polinómio interpolador ?
Por definição, Lk(x) é um polinómio de grau n e
( ) ( ) ( ) ( ) niyxLxLxLxP in
ikk
ik
iyii
n
kikin ,,0
0
00K
43421
321==∑+=∑=
=
≠===
Logo, pelo teorema de existência e unicidade, Pn(x) é o
polinómio de grau ≤ n que passa pelos n+1 pontos
tabelados.
Análise Numérica – Interpolação – DEC 67
Determinação de Lk(x)
Como xi ∀i ≠ k é raiz de Lk(x) então
( ) { ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) (
( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( )
)
knkkkkkk
nkkk
nkkk
yxxxxxxxx
xxxxxxxxxL
xxxxxxxxaxL
nxkxkxkxkxkxxkxakykxkL
⋅−××−⋅−××−
−××−⋅−××−⋅=
⇓
−××−×−××−⋅=
+−
+−
+−
−××+−⋅−−××−⋅==
110
110
110?
110
LL
LL
LL
LL
( ) ( )( ) k
n
k
n
kii ik
in y
xxxxxP ⋅
−−
= ∑ ∏=
≠=0 0
e
Os polinómios
( ) ( )( ) nk
xxxxx
n
kii ik
ik ,,0
0Kl =∏
−−
=
≠=
chamam-se polinómios de Lagrange
Os polinómios de Lagrange são invariantes por uma
transformação linear x=a+bt (a e b constantes).
De facto
x-xi = (a+bt) - (a+bti) = b⋅ (t – ti )
e ( ) ( )( )
( )( ) ( ) nkt
tttt
ttbttbx k
n
kii ik
in
kii ik
ik ,,0
00Kl ==∏
−−
=∏−
−=
≠=
≠=
l
Análise Numérica – Interpolação – 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 interpolação polinomial cúbica, f(323.5). Usando a fórmula de Lagrange vem:
P (323.5) = (323.5 - 322.8)(323.5 - 324.2)(323.5 - 325)(321- 322.8)(321- 324.2)(321- 325)
(323.5 - 321))(323.5 - 324.2)(323.5 - 325)(322.8 - 321)(322.8 - 324.2)(322.8 - 325)
(323.5 - 321)(323.5 - 322.8)(323.5 - 325)(324.2 - 321)(324.2 - 322.8)(324.2 - 325)
(323.5 - 321)(323.5 - 322.8)(323.5 - 324.2)(325 - 321)(325 - 322.8)(325 - 324.2)
=
3 2 50651
2 50893
2 51081
2 51188
0 0799602 8 118794 0 183897 2 0 437081 4
.
.
.
.
. ( ) . ( ) . ( ) . (
+
+ +
+ +
+ =
− + + −= 2 50987 1. ( )
) =
Fazendo a mudança de variável x= 0.2 t + 321 podemos apresentar os cálculos no quadro:
)1(50987.2 )4(437081.0)2(83897.1)0(18794.1)8(0799602.0=
51188.216)-9)(20-0)(20-(20
16)-9)(12.5-0)(12.5-(12.5
51081.220)-9)(12.5-0)(16-(16
20)-9)(12.5-0)(12.5-(12.5
50893.220)-16)(9-0)(9-(9
20)-16)(12.5-0)(12.5-(12.5
50651.220)-16)(0-9)(0-(0
20)-16)(12.5-9)(12.5-(12.5=(12.5)P3
==−++−
=+
++
++
+
Análise Numérica – Interpolação – DEC 69
Método de Newton (para a frente)
Pn(x) = Pn-1(x) + an (x - x0)⋅…⋅(x – xn-1)
onde Pn-1(x) é o polinómio que passa pelos pontos de
abcissas x0,…,xn-1.
Pn(x) é um polinómio 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 ? • Polinómio de grau 0 que passa por (x0, y0)
P0(x) = a0 → P0(x0) = y0 logo a0 = y0 e P0(x) = y0
• Polinómio 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
e 0101
1 xxyya
−−
=
• Polinómio de grau 2 que passa por (x0, y0), (x1, y1) e (x2, y2) →
a5 (x - x0)⋅…⋅(x – x5-1) →
x0 x1 x2 x3 x4 x5
P5-1(x)
P5(x)
complicado
Análise Numérica – Interpolação – DEC 70
Dada uma tabela {(xi, yi), i=0, …, n}
Diferença dividida
De 1ª ordem
[ ] [ ] [ ] 1,,0,,, 11
111 −==
−−
== ++
+++ nixx
xxyyxxxxf ii
ii
iiiiii K
De 2ª ordem
[ ] [ ] [ ] [ ] 2,,0,,,,,,2
1212121 −=
−−
==+
+++++++ ni
xxxxxxxxxxxxf
iiiiii
iiiiii K
De ordem k
[ ] [ ] [ ] knixx
xxxxxxxiki
kiikiikiii −=
−−
=+
−+++++ ,,0,,,,,,, 11
1 KKK
K
Lema: A diferença dividida de ordem n+1 de um
polinómio de grau n é identicamente nula
Demonstração: Seja P(x) um polinómio de grau n, xi (i=0,...,n )
n+1 pontos e x umponto qualquer do domínio de P(x).
[ ] ( ) ( ) [ ]00
00 ,, xxP
xxxPxPxx ≡
−−
= → polinómio de grau n-1
[ ] [ ] [ ] [ ]101
10010 ,,,,,, xxxP
xxxxPxxPxxx ≡
−−
= →polinómio de grau n-2
por indução
[ ] [ ]1010 ,,,,,, −− ≡ kk xxxPxxx KK →polinómio de grau n-k
logo [ ] [ ] constxxxPxxx nn =≡ −− 1010 ,,,,,, KK →polinómio de grau n-n=0
e [ ] [ ] 0,,,,,, 00 =−−
=≡n
nn xxconstconstxxxPxxx KK
Análise Numérica – Interpolação – DEC 71
Fórmula de Newton (para a frente)
A partir das diferenças divididas tem-se:
1ª ordem
[ ] ( ) ( ) ( ) ( ) [ ] ( )0000
00 ,, xxxxPxPxP
xxxPxPxxP −⋅+=⇔
−−
=
ordem k+1
[ ] [ ] [ ]
[ ] [ ] [ ] ( )kkkk
kkk
k
xxxxxPxxPxxxP
xxxxPxxxPxxxP
−⋅+=
−−
=
−
−
,,,,,,,,
,,,,,,,,
0010
0100
KKK
KKK
c
Por recorrência: ( ) ( ) [ ] ( )
( ) [ ] [ ] ( )( ) ( )( ) [ ] ( ) [ ] ( ) ( )
( ) [ ] ( ) [ ] ( ) ( )[ ] ( ) ( )
[ ] ( ) ( )nn
nnxxxxxxxxP
xxxxxxxPxxxxxxxPxxxxPxP
xxxxxxxPxxxxPxPxxxxxxxPxxPxP
xxxxPxPxP
−⋅⋅−⋅++−⋅⋅−⋅++
+−⋅−⋅+−⋅+=
=−⋅−⋅+−⋅+==−⋅−⋅++=
=−⋅+=
=
−L
444 3444 21K
LKL
M
0010
1010
102100100
10100100
0110100
000
,,,,,,,
,,,
,,,,,,
,
Como P(xi)=yi então [ ] [ ]kk xxxxxxP ,,,,,, 1010 KK ≡ e vem:
( ) [ ] ( ) [ ] ( ) ( )[ ] ( ) ( )1010
102100100
,,,,,,
−−⋅⋅−⋅+++−⋅−⋅+−⋅+=
nn
n
xxxxxxxxxxxxxxxxxxyxP
LKL
Fórmula de Newton (para a frente)
Análise Numérica – Interpolação – DEC 72
Estimativa do Limite Superior do Erro Seja R x f x P xn n( ) ( ) ( )= − o erro com que P xn ( ) aproxima f x( ) Se x xi≠ então [ ]P x P x x x x x f xn n n n+ += + =1 0 1( ) ( ) , ,..., ( ) ( ) Π e [ ]R x x x x x xn n n( ) , , , ( ) ( )= =+0 1L k n+1Π Π y = ?
desconhecido
Se [ ]f C a bn∈ +1 , , tal que [ ] x x x a,bn, , ,0 L ∈ , então seja
u x f x P x xn( ) ( ) ( ) ( )= − − k n+1Π onde k é uma constante tal que u x( ) = 0
u x( ) tem pelo menos n+2 zeros: x x xn, , ,0 L
(pelo teorema de Rolle) ⇓ ′u x( ) tem pelo menos n+1 zeros, um em cada intervalo
] [ ] [ ] [ ] [x x x x x x x xk k n n0 1 1 1, ,..., , , , ,..., ,+ −
⇓ ′′u x( ) tem pelo menos n+2-2=n zeros
M u xn( ) ( )+1 tem pelo menos n+2-(n+1)=1 zero: [ ]ξ ∈ a b,
Como [ ]f C a bn∈ +1 ,
u x f xn n( ) ( )( ) ( ) (+ += − −1 1 0 k n + 1)!
pois ( )P x x x P nnn
nn n n
nn( ) ( ) ( ) ( )
( ) ( ) ( )!+++ + + ∗ +
= = + = + +111 1 1 1
0 1 0 e Π
logo
u f fn nn
( ) ( )( )
( ) ( ) ( ( )(
+ ++
= − ⇒1 11
ξ ξ ξk n + 1)! = 0 k = n + 1)!
Análise Numérica – Interpolação – DEC 73
( ) ( ) [ ] ( ) ( )( )
( )( ) ( ) [ ] [ ]nnn
n
xn
nnnn
xxxxxxn
f
xxxxxxxxPxfxR
,se,!1
,,,)(
001
)1(1
00
∈∈Π+
=
−⋅⋅−⋅=−=
+
++Π=
ξξ
444 3444 21LK
Significado da diferença dividida
Da relação anterior conclui-se que
[ ] ( ) [ ]kk
k xxk
fxx ,!
,, 0)(
0 ∈=⋅ ζζK
se os pontos forem todos iguais a x , aplicando limites vem
[ ] ( )!
,,)(
vezes1k
xfxxk
k
=⋅+
43421K
Assim conhecendo todas as derivadas de f até à ordem k num
ponto xi, tem-se k+1 pontos iguais a xi na tabela das diferenças
divididas e usando uma fórmula semelhante à de Newton pode
obter-se um polinómio interpolador.
Em particular, se se conhecer f′ (xi) para todos os n+1 pontos de
uma tabela, tem-se o chamado polinómio de Hermite
( ) [ ] ( ) [ ] ( )[ ] ( ) ( ) ( )
( ) ( )( ) ( ) ( ) [ ]( )nnn
n
n
nnn
n
xxCfxxxxn
fxR
xxxxxxxxxxxx
xxxxxxxxxyxP
, se!22
,,,,,,
,,,
02222
0
)22(
12
21
201100
20100000012
+
+
+
+
∈−⋅⋅−+
=
−⋅⋅−⋅−⋅+
++−⋅+−⋅+=
L
LK
L
ξ
onde [ ]nxx ,0∈ξ .
Logo
Se f∈Cn+1( [x0, xn] )
Análise Numérica – Interpolação – DEC 74
Interpolação segmentada Nem sempre o polinómio interpolador tende para a função
quando n→∞.
Exemplo de Runge
Aproximar a função ( ) 211x
xf+
= no intervalo [-5,5]
Interpolação com pontos equidistantes
O erro nos extremos do intervalo [-5,5] vai aumentando
com n.
Análise Numérica – Interpolação – DEC 75
Pontos de Chebyshev Se escolhermos os pontos por onde passa o polinómio
interpolador de modo a minimizar o valor máximo de Πn+1(x),
teremos os pontos de Chebyshev
( ) nin
inxi ,,1,0,22
12cos K=
++−
= π
Polinómio ( )∏=
+ −=Πn
iin xxx
01 )(
-1 -0.8 -0.6 -0.4 -0.2 0 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
1x 10
-3 n=16
xi pontos de Chebyshev
xi equidistantes
Interpolação de Chebyshev
Análise Numérica – Interpolação – DEC 76
Nem sempre a interpolação de Chebyshev tem um comportamento tão bom
como o anterior. Consegue-se normalmente melhores resultados se se usar
interpolação segmentada com polinómios interpoladores de grau não
superior ao cúbico.
Interpolação segmentada (usa n+1 pontos)
Interpolação linear segmentada
Interpolação spline cúbica
Análise Numérica – Interpolação – DEC 77
Na interpolação spline cúbica em cada intervalo [xk, xk+1]
(0≤k≤n-1) a função é aproximada por um polinómio cúbico sk(x)
tal que sk(xk)=yk. Então
( ) ( ) kkkkkkkk yxxcxxbxxaxs +−+−+−= 23 )()(
cujas 3n incógnitas ak, bk, ck são determinadas de modo a que
satisfaçam:
• n condições → sk(xk+1)=yk+1 0≤k≤n-1
• n-1 condições → s′k+1 (xk)= s′k(xk) 1≤k≤n-1 3n-2 condições
• n-1 condições → s′′k+1 (xk)= s′′k(xk) 1≤k≤n-1
As duas condições que faltam podem ser:
• s′′0 (x0) = s′′n-1(xn) = 0 → spline natural
• s′0 (x0) = y′0, s′n-1(xn) = y′n → spline completo
Para obter o spline é necessário resolver um sistema obtido pela
imposição das condições anteriores
A interpolação spline cúbica tem a vantagem de ter a 1ª e
2ª derivadas contínuas.
Análise Numérica – Método dos Mínimos Quadrados – DEC 78
Método dos Mínimos Quadrados
A teoria de interpolação permite aproximar funções f(x) mais ou menos
complicadas por outras mais simples, obrigando a função interpoladora
(normalmente um polinómio de grau n) a passar por n+1 pontos
conhecidos. Quando os valores tabelados são em número superior ao
necessário são considerados apenas n+1 pontos, normalmente os que têm
abcissas mais próximas do ponto a interpolar.
Quando os valores tabelados são resultado da observação directa de um
fenómeno físico, os valores vêm afectados de erros de observação difíceis
de quantificar. Para diminuir o efeito desses erros é comum efectuar um
grande número de observações e não se deve desprezar nenhuma delas.
Como normalmente é impossível obrigar a função aproximante ϕ(x) a
passar por todos esses pontos, o problema consiste em determinar a função
que melhor se ajusta à tabela.
Ajustamento Linear
O problema do ajuste de curvas no caso linear consiste em determinar uma
combinação linear de funções g1(x), g2(x),..., gn(x) previamente escolhidas
(que podem não ser lineares, por exemplo, g1(x)=ex , g2(x)=x4, ...) de tal
modo que
∑=
=n
1iii )x(g)x( αϕ
seja a “melhor” aproximação de f(x) para alguns pontos, caso discreto, ou
num dado intervalo, caso contínuo, consoante o conhecimento de f(x). O
caso mais comum e o único que vamos tratar é o caso discreto.
Análise Numérica – Método dos Mínimos Quadrados – DEC 79
A escolha das funções gi(x) pode ser feita a partir do gráfico dos pontos
tabelados.
Exemplos
Ajuste parabólico a passar pela origem (ϕ(x)=α x2)
Ajuste linear (ϕ(x)=α0+α1 x)
Análise Numérica – Método dos Mínimos 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 possível nesses
pontos.
Como m é grande comparado com n (número de incógnitas) não é possível
obrigar a função ϕ(x) a passar por todos os pontos e o que se faz é impor
que o desvio
m...,,2,1i )ix()ix(f)ix(ir mínimo seja =∀−= ϕ
Existem várias formas de determinar esse mínimo dependendo da métrica
usada ( por exemplo minimizar a soma dos módulos ) dos vários processos
o mais usado é o Método dos Mínimos Quadrados que consiste em 2
m
1i
n
1jijji
m
1i)i
2in21 )x(g)x(fx(r),...,,( F ∑ ∑∑
= ==
−== ααααmin
Condições necessárias de optimalidade
Vai ser dado em Análise, mas é mais ou menos intuitivo que um mínimo
α*= (α1, α2, ..., αn) deve satisfazer à condição
F(α*) ≤ F(α) ∀α∈ℜ n
Como F : ℜn →ℜ é continuamente diferenciável, se usarmos a fórmula de
Taylor de primeira ordem vem:
))((F)(21)()(F)(F)(F *2T**T** ααξααααααα −∇−+−×∇+=
Análise Numérica – Método dos Mínimos Quadrados – DEC 81
onde ∇F (α*) é o gradiente de F no ponto α* e ∇2F (ξ) é a matriz hessiana
de F no ponto ξ∈(α,α*).
∂∂
∂∂
=∇
n
1
)(F
)(F
)(F
αα
αα
α M
e
[ ]
∂∂∂
∂∂∂
∂∂∂
∂∂∂
=∇=∇
)(F)(F
)(F)(F
)(F)(F
nn
2
1n
2
n1
2
11
2
2ij
2
ααα
ααα
ααα
ααα
αα
L
MOM
L
F continuamente diferenciável ⇒ ∇2 F(α) simétrica
Nas proximidades de α*
)()(F)(F)(F *T** ααααα −×∇+≈ (1)
Se o ponto α* é um mínimo então, para pequenas variações ∆α=(α-
α*), tem-se:
Análise Numérica – Método dos Mínimos Quadrados – DEC 82
Aproximação de 1ª ordem
∇F (α*)T ∆α = in
1i i
*)(F α∆αα∑
= ∂∂ ≥ 0 ∀∆α
c
c
i0*)(F
i∀=
∂∂
αα
Condição necessária de 1ª ordem ∇f (α*) = 0
Esta condição caracteriza pontos estacionários (mínimos, máximos e
pontos sela)
mínimo local
máximo local
ponto sela
No nosso caso teremos
=∂
∂
=∂
∂
=∂
∂
⇔=∇
0)(F
0)(F
0)(F
0)(F
n
*
2
*1
*
*
αα
αααα
αM
Sistema das equações normais
Se as funções gi(x) (i=1,...n) forem linearmente independentes, então o
sistema anterior tem uma só solução que é o mínimo global da função F(α)
pois consegue-se provar que o termo de 2ª ordem da fórmula de Taylor é
sempre positivo.
Análise Numérica – Método dos Mínimos Quadrados – DEC 83
Função Polinomial Se as funções gi(x) (i=1,...n+1) forem a base canónica dos polinómios de
grau n então teremos:
( )
( ) nkxxxxf
xxxfF
xxxx
ki
m
i
ninii
m
i
ninii
n
j
jj
nn
,...0 )()(2F
e
)()()(
)(
110
k
2
110
010
=∀+++−−=∂∂
+++−=
=+++=
∑
∑
∑
=
=
=
αααα
αααα
ααααϕ
L
L
L
Logo o sistema das equações normais toma a forma:
=+++
=+++
=+++
∑ ∑ ∑∑
∑ ∑ ∑∑∑ ∑ ∑
+
+
nii
n2in
1ni1
ni0
ii1n
in2i1i0
inini10
x)x(fxxx
x)x(fxxx)x(fxxm
ααα
αααααα
L
M
L
L
Exercícios 1. Considere a tabela:
x 0 1 2.4 2.7
y 3.3 3.6 3.2 2
determine o polinómio do 2º grau que, pelo métodos dos mínimos
quadrados, melhor aproxima os dados da tabela.
(Resposta: 3.22 + x- 0.49 x2 )
2. Os resultados de uma experiência forneceram-nos a seguinte
tabela:
x 1 2 3 5
y 3 4 2.5 0.5
Procure a função linear que, segundo o método dos mínimos quadrados,
melhor aproxime os pontos tabelados.
(Resposta: -26/35+159/35 x )
Análise Numérica – Método dos Mínimos Quadrados – DEC 84
Caso não linear Nem sempre o melhor ajuste é feito por uma combinação linear de funções,
isto é, a função ϕ(x) não é linear nos parâmetros a1 , ... , an .
Nesses casos é necessário fazer uma linearização do problema fazendo uma
transformação da variável. Constrói-se a tabela para esta nova variável e
aplica-se, tal como nos casos anteriores, o método dos mínimos quadrados.
Na seguinte tabela são dados alguns exemplos de linearização:
Função φ(x)≈ y Transformação Forma linear ϕ(x)≈ z
xaeay 21≈ )yln(z =
==
⇒
+≈
22
11
21
a)aln(xa)aln(z
αα
xaay
21
1+
≈ y1z =
==
⇒
+≈
22
11
21
aa
xaaz
αα
xaay 21≈ )yln(z =
==
⇒
+≈
)aln()aln(
x)aln()aln(z
22
11
21
αα
21axay ≈ )
==
⇒
+≈
22
11
21
a)aln(
)xln(a)aln(z
αα
ln( yz =
Análise Numérica – Integração Numérica – DEC 85
Integração Numérica ( ) ( )
( ) ( )4342143421
∫+∫=∫=
+=ba n
ba n
ba
nn
dxxRdxxPdxxfI
xRxPxf
)(
)(
Quadratura ↓
Integração numérica
Erro de truncatura
Operação estável
a b
+-Pn(x) f(x)
Tipos de métodos I. Métodos de Newton-Cotes – As abcissas dos pontos
por onde o polinómio de grau n passa são equidistantes:
xi = x0 + i h
• Fórmulas fechadas:
nabhbxax n
−=== e,0
O polinómio interpolador de grau ≤n
passa pelos pontos de abcissas xi i=0,...,n a b
• Fórmulas abertas:
2+−
=n
abh
O polinómio interpolador de grau ≤n
passa pelos pontos de abcissas xi i=1,...,n+1 a b
Análise Numérica – Integração Numérica – DEC 86
Os métodos de Newton- Cotes só permitem integrar
exactamente funções polinomiais de grau ≤ n ou n+1.
II. Métodos de Gauss – Os pontos por onde o
polinómio intepolador de grau ≤n
são escolhidos de modo a que a
fórmula de quadratura integre
exactamente polinómios de grau
2n+1
a b
Fórmula de Quadratura A escolha de pontos vai permitir definir a fórmula de
quadratura qualquer que seja f(x) pois, pela fórmula de
Lagrange, tem-se:
( )
( ) ( )( ) nk
xxxx
xfxx
n
kii ik
ik
n
kkkn
x
P
,,0
)()(
0
0
Kl
l
=−−
=
=
∏
∑
≠=
=
com
e
( ) ( )
( ) ( )
( ) nn
kkk
ba nk
n
kk
ba n
ba
n
kkk
ba
Exfw
Edxxxf
dxxRdxxfxdxxf
+=
+=
+
=
∑
∫∑
∫∫ ∑∫
=
=
=
0
0
0)()(
l
l
Análise Numérica – Integração Numérica – DEC 87
onde os coeficientes não dependem de f
mas apenas dos pontos x
( )∫= ba kk dxxw l
i. São, por isso, calculados uma
única vez.
Cálculo dos wk, k=0,1, ...,n
As n+1 incógnitas wk podem ser determinadas impondo
n+1 restrições : a fórmula tem que integrar exactamente
f(x)=xk, k=0, ...,n.(base dos polinómios de grau n)
Exemplo: Determine a fórmula de quadratura do tipo:
( ) ( ) ( )
[ ]
311
410e
31
3)( Se
211
210e
21
2)( Se
1111e
111)( Se
1210
210
1
0
310
22
210
1
0
210
210
10
10
21010
=⋅+⋅+⋅
=
==
=⋅+⋅+⋅
=
==
=⋅+⋅+⋅
===
+
+≅
∫
∫
∫
∫
www
xdxxxxf
www
xdxxxxf
www
xdxxf
fwfwfwdxxf
Análise Numérica – Integração Numérica – DEC 88
Isto é,
=
=
=
⇔
=⋅+⋅+⋅
=⋅+⋅+⋅
=⋅+⋅+⋅
613261
311
410
211
210
1111
2
1
0
210
210
210
w
w
w
www
www
www
e ( ) ( ) ( )
+
+≅∫ 1
2140
611
0 fffdxxf
Se se pretender faz-se a seguinte mudança de
variável:
( )dxxfba∫
x = a+(b-a) y
dx = (b-a) dy
( ) ( )( ) ( ) ( )
+
+
+−
≅
−+−= ∫∫
bfbafafab
dyyabafabdxxfba
24
6
)()( 10
(1)
Fórmulas de Newton-Cotes Fechadas
Regra dos trapézios
o
f(x)
b≡x1a≡x0
Polinómio interpolador de grau 1
que passa por (x0, f(x0)) e (x1, f(x1)).
Pela fórmula de Lagrange:
( ) ( ) ( )101
00
10
11 xf
xxxxxf
xxxxxP
−−
+−−
=
trapézi
Análise Numérica – Integração Numérica – DEC 89
Fazendo a mudança de variável t = x-x0, como
x1-x0= h =1
ab −
tem-se: x-x1=t+ x0-x1
e ( ) ( ) ( ) ( ) ( ) ( )( )010101 xfxfhtxfxf
htxf
hhttP −+=+
−−
= =-h
Com a mudança de variável a ≡ x0→0 e b ≡ x1→h vem:
( ) ( ) ( )[ ] ( ) ( )( )010
2
000 1 210
xfxfh
ttxfdttPdxxfh
hhxx −
+=≅∫∫
Regra do trapézio
área do trapézio
( ) ( ) ( )( )102xfxfhdxxfb
a +≅∫
Cálculo do erro - ET ( ) ( )( )( )( )∫∫ −−
′′== b
abaT dxbxaxxfdxxRE
!21ξ
Para x∈[a, b], (x-a) (x-b) ≤ 0, isto é, tem sinal constante
pelo que se aplica o seguinte teorema:
Teorema da média do cálculo integral
Sejam f e g funções reais definidas e contínuas no intervalo [a, b].
Se g(x) não muda de sinal em [a, b] então ∃ θ ∈[a, b] tal que:
( ) ( ) ( ) ( )∫∫ = ba
ba dxxgfdxxgxf θ
Análise Numérica – Integração Numérica – DEC 90
Se f∈C2([a, b]), então:
( ) ( ) ( )( ) [ ]
( ) ( ) ( )
( )θ
θθ
θθ
fhE
httfdthttf
badxbxaxfdxxR
T
hh
ba
ba
′′−=
−
′′=−
′′=
∈−−′′
=
∫
∫∫
12
23!2!2
,!2
3
0
23
0
1
Por mudança de variável t= x-a
Regra de Simpson Polinómio do 2º grau que
passa pelos pontos de
abcissas x0≡a, x1=x0+h,
x1= x0+2h≡b
−
=2
abh a≡x0 b≡x2 x1
- +
P2(x) f(x)
( ) ( ) ( ) ( ) ( )( )2102
04
3)( xfxfxfhdxxxfdxxf b
a kk
kba ++≅= ∫∑∫
=l
Regra de Simpson por (1)
Cálculo do erro – ES
( ) ( )( )( )( )( )∫∫ −−−′′′
== ba
baS dxbxxxaxxfdxxRE 12 !2
ξ
Se f∈C4([a, b]) pode demonstrar-se (ver Conte, pag 303) que
( )( ) [ ]bafhES ,90
45
∈−= θθ
Regra de Simpson é exactaquando f(x)≡P3(x)área + = área -
Análise Numérica – Integração Numérica-DEC 91
Fórmulas fechadas [ ]ban
abhbxax n ,,,,0 ∈−
=== θ
grau nome fórmula Erro de truncatura
1 Regra dos trapézios
( ) ( )( )102xfxfh
+ ( )θfh ′′−12
3
2 Regra de
Simpson ( )31 ( ) ( ) ( )( )210 4
3xfxfxfh
++ ( )( )θ45
90fh
−
3 Regra 8
3
de Simpson
( ) ( ) ( )
))(
33(83
3
210
xf
xfxfxfh
+
+++ ( )( )θ4
5
803 fh
−
4 Regra de Boole
( ) ( ) ( )
( ) ( ))732
12327(452
43
210
xfxf
xfxfxfh
++
+++ ( )( )θ67
9458 fh
−
5 ( ) ( ) ( )
( ) ( ) ))5(19475350
250175019(2885
xfxfxf
xfxfxfh
+++
+++ ( )( )θ612096
7275f
h−
Fórmulas abertas [ ]ban
abhhbxhax n ,,2
,,0 ∈+−
=−=+= θ
grau nome fórmula Erro de truncatura
0 Regra do ponto médio
( )02 xhf ( )θfh ′′3
3
1 ( ) ( )( )1023 xfxfh
+ ( )θfh ′′4
3 3
2 ( ) ( ) ( )( )210 223
4 xfxfxfh+− ( )( )θ4
5
4514 fh
3 ( ) ( ) ( ) ( ))( 31121011
245 xfxfxfxfh
+++
( )( )θ4
5
14495 fh
• É vantajoso usar polinómios interpoladores de grau par.
• Para o mesmo h e para o mesmo grau do polinómio interpolador as
fórmulas fechadas são melhores do que as abertas.
Análise Numérica – Integração Numérica-DEC 92
Fórmulas Compostas -usam interpolação segmentada dividindo o intervalo [a, b]
em m subintervalos iguais. Regra dos Trapézios (composta)
∫∫∫∫−
+++== mm
xx
xx
xx
ba dxxfdxxfdxxfdxxfI
121
10
)()()()( L
Usando n+1 pontos equidistantes de n
abh −= , com n = m,
então pela regra dos trapézios:
( ) ( )( ) ( ) nihfxfxfhdxxf iii
xx
ii
,,1122
)( 311
K=′′
−+= −∫−
θ
onde θi∈[xi-1, xi]. Logo
( ) ( ) ( ) ( ) ( )( ) ( )hExfxfxfxfxfhdxxfI Tmmba ++++++== −∫ 11102
)( L
( ) ( ) ( ) ( )hExfxfxfhT
hT
n
knk +
∑ ++=
=
−
= 44444 344444 21)(
1
10 2
2
onde ( ) ( )∑ ′′−==
n
iiT fhhE
1
3
12θ se f∈C2([xi-1, xi]) ∀i=1,...,n.
Análise Numérica – Integração Numérica-DEC 93
Se f∈C2([a, b]), então ( )
n
fn
ii∑ ′′
=1θ
(média) toma um valor
entre o valor máximo e o valor mínimo de f′′ (x) em [a, b],
mas, como f′′ é contínua, então ∃ um ponto ξ∈[a, b] :
( )( )
n
ff
n
ii∑ ′′
=′′ =1θ
ξ
Logo, como n
abh −= ,
( ) ( )
( ) ( ) ( )ξξ
ξ
fnabfabhhE
fnhhE
T
T
′′⋅−
−=′′⋅−⋅−=
′′⋅⋅−=
2
32
3
12)()(
12
12
Regra de Simpson ( composta)
∫++∫+∫=∫=−
mm
xx
xx
xx
ba dxxfdxxfdxxfdxxfI 2
2242
20
)()()()( L
Usando n+1 pontos equidistantes de n
abh −= , com n = 2m,
então pela regra de Simpson:
( ) ( ) ( )( )( )( ) mihfxfxfxfhdxxf i
iiixx
ii
,,190
43
)( 54
21222222
K=−++=∫ −−−
θ
onde θi∈[x2i-2, x2i].
Análise Numérica – Integração Numérica-DEC 94
Logo
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )hExfxfxf
xfxfxfxfxfxfhdxxfI
Smmm
ba
+++++
++++++==
−−
∫
)4
44(3
)(
21222
432210
L
( ) ( ) ( )hExfxfbfafhI S
hS
m
k
m
kkk +
∑ ∑+++==
−
=−
44444444 344444444 21)(
1
1
1212 24)()(
3
onde ( ) ( )∑−==
m
iiS fhhE
1
)4(5
90θ se f∈C4([x2i-2, x2i]) ∀i=1,...,m.
Se f∈C4([a, b]), f(4)(x) é contínua em [a, b], e ∃ ξ∈[a, b] :
( )( )
m
ff
n
ii∑
= =1
)4()4(
θξ
Logo, como n
abh −= e n = 2m,
( ) ( ) ( )
( ) ( ) ( )ξξ
ξξ
)4(4
5)4(
4
)4(5
)4(5
180)()(
180
18090
fnabfabhhE
fnhfmhhE
S
S
⋅−
−=⋅−⋅−=
⋅⋅−=⋅⋅−=
Análise Numérica – Integração Numérica-DEC 95
Limite superior do erro
Regra dos trapézios Regra de Simpson
( )
[ ]( )xfM
MnabE
bax
T
′′=
⋅−
≤
∈ ,2
22
3
max
12
( )
[ ]( )xfM
MnabE
bax
S
)4(,
4
44
5
max
180
∈=
⋅−
≤
Estimativa do erro Regra dos trapézios Regra de Simpson
( ) ( )( )
constante) ( 12
)(
2
2
KhK
hhfabhET
⋅≈
⋅′′−−= ξ
)41(2
)(2
0
22
)(
2
2
2
−
+−
=
+
=
+=−
hKhThT
hKhTI
KhhTI
( ) ( )( )
constante) ( 180
)(
4
4)4(
KhK
hhfabhES
⋅≈
⋅−
−= ξ
)21(2
)(2
0
22
)(
44
4
4
−
+−
=
+
=
+=−
hKhShS
hKhSI
hKhSI
3
)(2
22
2 hThThKhET
−
=
≅
15
)(2
22
4 hShShKhES
−
=
≅
Supõe que f(4)(ξ) não depende de h Supõe que f′′(ξ) não depende de h
Análise Numérica – Integração Numérica –DEC 96
Tratamento de singularidades (ver Stewart) Quando a função f(x) é singular num ou nos dois extremos
do intervalo, não se pode usar as fórmulas fechadas de
Newton-Cotes.
Exemplo: ∈∀≅∫ xx
cxfdxxf )( com)(10 V0
Alternativas
- usar as fórmulas abertas de Newton-Cotes ou
Quadratura Gaussiana. Dá maus resultados, pois f(x)
é irregular em 0.
- incorporar a singularidade na quadratura definindo
∈∀≅= xcxfxxg )()( V0
e obter uma fórmula de quadratura substituindo a
função g(x), que é regular em todo o intervalo de
integração, por um polinómio interpolador. Isto é
( ) ( )∑ ⋅=∫ ⋅⋅∑=
∫=∫
=
−
=
−
n
kkkk
n
kk xgwdxxxxg
dxxxgdxxf
0
10
21
0
10
21
10
)(
)()(
l
> 0 ∀x∈[0,1] função peso
Análise Numérica – Integração Numérica –DEC 97
Exemplo: Usar o método dos coeficientes indeterminados
para determinar as quadraturas:
⋅+
⋅≅∫ ⋅
⋅+
⋅≅∫
−
43
41)( ii)
43
41)( i)
1010
21
1010
gWgWdxxxg
fAfAdxxf
Resolução:
[ ]
=
=⇔
=⋅+⋅
=⋅+⋅
=⋅+⋅
=
==
=⋅+⋅
===
∫
∫
2121
21
43
41
111
21
43
41e
21
2)( Se
111e
111)( Se i)
1
0
10
10
10
1
0
210
10
10
10
A
A
AA
AA
AA
xdxxxxf
AA
xdxxf
Logo
e
+
⋅≅∫ 4
341
21)( 1
0 ffdxxf
Análise Numérica – Integração Numérica –DEC 98
=
=⇔
=⋅+⋅
=⋅+⋅
=⋅+⋅
=
=∫ ⋅=
=⋅+⋅
=
=∫ ⋅=
−
−
3135
32
43
41
211
32
43
41e
32
32)( Se
211e
2211)( Se ii)
1
0
10
10
10
1
0
23
10
21
10
1
0
21
10
21
W
W
WW
WW
WW
xdxxxxxg
WW
xdxxxg
Logo
e
+
⋅⋅≅∫ ⋅
−
43
415
31)( 1
021
ggdxxxg
Exemplo: Calcular ∫
−1.0
0 sen 2cos dxxx
xx usando as
duas quadraturas anteriores.
Resolução
Como as quadraturas anteriores são para determinar
integrais entre 0 e 1, vai-se ter que fazer uma mudança de
variável 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:
Análise Numérica – Integração Numérica –DEC 99
i)
×+
×⋅≅×= ∫∫
431.0
411.0
21.0)1.0(1.0)( 1
01.0
0 ffdyyfdxxf
onde
−= xx
xxxf sen
2cos)( , logo
2479.043.0
41.0
21.0)( 1.0
0 ≅
+
⋅≅∫ ffdxxf
ii)
∫ ⋅∫ =−1.0
021
1.00 )( )( dxxxgdxxf
onde
−= xxxxg sen
2cos)( e
( )
3151.043.0
41.05
31.0)1.0(1.0
)1.0(1.0)1.0()(
10
21
10 2
11.0
021
≅
+
××≅×⋅=
×=⋅
∫−
∫−
∫−
ggdyyyg
dyyygdxxxg
Valor exacto
[ ] ...3146479444.0cossen 2cos
1.0
0
1.00 =∫ =
− xxdxxx
xx
Conclui-se que o valor obtido em ii), com o peso
21
)(−
= xx w , é melhor.
Análise Numérica – Integração Numérica –DEC 100
Quadratura Gaussiana Os n+1 pontos por onde o polinómio interpolador de grau
≤n passa são escolhidos de modo a que a quadratura seja
exacta para funções polinomiais de grau 2n+1.
A fórmula de quadratura
( )∑=
∫ ≅n
iii
ba xfwdxxf
0)(
tem 2n+2 incógnitas (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 aplicação do método dos
coeficientes indeterminados, neste caso, resulta num sistema não
linear em x, mal condicionado.
Exemplo:
( ) ( ) ( )
[ ]
311
300
1
0
410
33
211
200
1
0
310
22
1100
1
0
210
1010
10
110010
41
4)( Se
31
3)( Se
21
2)( Se
11111)( Se
xwxwxdxxxxf
xwxwxdxxxxf
xwxwxdxxxxf
wwxdxxf
xfwxfwdxxf
⋅+⋅==
==
⋅+⋅==
==
⋅+⋅==
==
⋅+⋅====
+≅
∫
∫
∫
∫
∫
Vamos por isso ver que os xi vão ser os zeros do polinómio de
grau n+1 de uma família de polinómios ortogonais.
Análise Numérica – Integração Numérica –DEC 101
Polinómios Ortogonais
Noção de ortogonalidade
A noção de ortogonalidade está associada à noção de
produto escalar.
Sejam f e g duas funções reais de variável real. Se:
• o conjunto de pontos é discreto, o produto escalar com
pesos pi (pi > 0) é dado por
( ) ( ) iin
ii pxgxfgf ⋅⋅∑=
=0,
e f e g são ortogonais para os pontos xi com pesos pi se
0, =gf
• o conjunto de pontos é contínuo, o produto escalar
com pesos w(x) (w(x)> 0 ∀x∈[a, b]) é dado por
( ) ( ) dxxwxgxfgf ba∫ ⋅⋅= )(,
e f e g são ortogonais no intervalo [a, b] com peso w(x)
se
0, =gf
Uma família de polinómios ortogonais é uma sequência
de polinómios p{ } =0iip ∞i com grau i tal que i ≠ j ⇒
⇒ 0=jp,ip
Análise Numérica – Integração Numérica –DEC 102
Propriedades dos polinómios ortogonais Seja pk(x) , k=0,1,..., uma família de polinómios ortogonais
definida pela condição de ortogonalidade
( ) ( ) jijidxxwxpxpba ji ≠∀=∫ ⋅⋅ :,0)(
1. Os primeiros n+1 polinómios ortogonais formam uma
base para o espaço vectorial dos polinómios de grau ≤n.
2. Cada polinómio pk(x), da família de polinómios
ortogonais no intervalo [a, b], tem k raízes reais e
distintas em [a, b], isto é,
pk(x)=ak⋅(x-α1)…(x-αk), αi ≠ αj se i≠j e αi∈[a, b] ∀i
3. Qualquer polinómio de grau <n é ortogonal com o
polinómio ortogonal de grau n de uma família de
polinómios ortogonais.
4. Todos os polinómios ortogonais satisfazem uma relação
de recorrência com 3 termos. (Esta relação permite
gerar facilmente a família a partir de 2 termos)
A quadratura gaussiana, que se vai estudar, usa a família
de polinómios ortogonais de Legendre:
Análise Numérica – Integração Numérica –DEC 103
Os Polinómios de Legendre são definidos pelo condição
de ortogonalidade
( ) ( ) 011 =∫ ⋅⋅− dxxpxp ji
Esta condição não define univocamente os polinómios. Os
polinómios de Legendre são normalizados de modo a
também satisfazerem a condição pi(1)=1, que é
equivalente a
Polinómios de Legendre
( ) ( )
=+
≠=∫ ⋅⋅− ji
n
jidxxpxp ji se
122
se011
c
( ) ( ) ( ) ( )
( )( ) xxp
xp
kk
xpkxpxkxp kkk
==
≥+
−+= −
+
1
0
11
1
11
12
Exercício
Determine os 3 primeiros polinómios de Legendre pela
definição.
Análise Numérica – Integração Numérica –DEC 104
Quadratura Gaussiana de Legendre
O que se pretende é determinar wi e xi com i=0,1,...,n de
tal modo que quando f(x) é
um polinómio de grau 2n+1 ou inferior. Para isso vamos
considerar para x
( ) ( ) ( )fGxfwdxxf nin
ii ≡=⋅ ∑
=∫−
01
1
i os zeros do polinómio de Legendre de
grau n+1 (xi ∈[-1, 1]) e vamos demonstrar que nessas
condições a igualdade anterior se verifica.
Como qualquer quadratura que use um polinómio
interpolador de grau n integra exactamente funções
polinomiais de grau ≤ n, podemos escrever
f(x) ≡ P2n+1(x) = pn+1(x)×q(x)+r(x)
onde pn+1(x) é o polinómio ortogonal tal que pn+1(xi)=0 e os
graus de q(x) e r(x) são ≤ n.
Então
( ) ( ) ( ) ( ) ( )( )
( ) ( )( )( ) ( ) ( )
( ) ( ) ( )( ) ( ) ( )( )( )
( ) dxxf
dxxrrG
xpxrw
xrxqxpwxfwfG
nx qg
dxxqxpdxxrxqxp
nx rgrG
nn
n
n
inin
ii
iiinn
iii
n
iin
∫−
− +− +
∫−
+∑=
+∑=
∑=
⋅=
=
⋅==
==
+×==
≤
=∫ ⋅×∫ ⋅+×
≤
11
11 1
11 1
11
10
100
)(rau
0 pois
)(rauexacta é pois
0 pois
Análise Numérica – Integração Numérica –DEC 105
Como os valores de xi são difíceis de obter e são independentes de
f existem tabelas que os fornecem assim como aos wi para
diferentes valores de n. Deste modo
Quadratura Gaussiana
( ) ( ) ( )fGxfwdxxf nin
ii ==⋅ ∑
=∫−
01
1
Dados na tabela (ver formulário)
Quando, no caso geral, se pretende o integral , faz-se a
mudança de variável
( ) dxxfba∫ ⋅
dtabdxtababx222−
=⇒−
++
=
e
( )
+=⋅
+=⋅
−+−+−∑=
∫−∫ in
ii
ba tfwdttfdxxf ababababab
22222 01
1
Dados na tabela
(ver formulário) Se f(x)∈C2n+2([a, b]) pode demonstrar-se que
( ) ( )( )( ) ( )( )
( )( ) [ ]bafnnnabE n
n
G ,!2232!1 223
432∈
+++−
= ++
ξξ
Outras Quadraturas Gaussianas
• Gauss-Chebyshev dxx
xf∫ −−
11 21
1)(
• Gauss-Laguerre dxexf x∫ ∞ −0 )(
• Gauss-Hermite dxexf x∫ ∞
∞−− 2
)(
Análise Numérica – Diferenciação Numérica – DEC 106
Diferenciação Numérica Por interpolação polinomial tem-se:
f(x) = Pn(x) + Rn(x)
onde
( ) ( )( )( ) ( ) [ ] ( )xxxxfxn
xfxR nnnn
n 101)1(
,,,!1 ++
+Π=Π
+= K
ξ
Derivada numérica (processo pouco estável)
f′ (x) = Pn′(x) + Rn′(x)
valor aproximado erro cometido
Cálculo do erro
Derivada de diferenças divididas ( ver Conte pag 64 ...)
Se f∈C(n+k+1)
[ ]
[ ]( )
( ) ( )
( ) [ ] [ ]( )
[ ]( )
( )( )( )!1
!,,,,,!
,,!,,,
!!,,
)(,,,
)1(
vezes10
vezes10
)(
vezes1
0
++==
===
==
≡
++
+
+
+
knxfkxxxxfk
xxgkxxxfdxdxg
dxd
k
xgdxd
kxgxxg
xgxxxf
kn
kn
knk
k
k
k
k
k
k
k
n
ξ321KK
43421KK
43421K
K
Análise Numérica – Diferenciação Numérica – DEC 107
Erro cometido
( ) [ ] ( )( )
[ ] ( ) [ ] ( )( )
( ) ( ) ( )( ) ( )
[ ] ibaxx
xn
fxn
f
xxxxfxxxxxf
xxxxfdxdxR
i
nn
nn
nnnn
nnn
∀∈
Π′+
+Π+
=
=Π′+Π=
=Π=′
++
++
++
+
, , ,, !1!2
,,,,,,,
,,,
1)1(
1)2(
1010
10
ηξ
ηξ
KK
K
As expressões 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. Além disso, se x for um
dos pontos usados para definir o polinómio interpolador,
Πn+1(x) = 0 e o erro anterior reduz-se à 2ª parcela. Pode
também verificar-se que se, para definir o polinómio
interpolador, não for usado x mas for usado um número n
par de pontos colocados simetricamente relativamente a x,
então Π′n+1(x) = 0 e o método é exacto para funções
polinomiais de grau n+1.
Análise Numérica – Diferenciação Numérica – DEC 108
Cálculo da 1ª derivada em xi
Exemplos:
• Polinómio interpolador do 1º grau
− a passar por xi, xi+1
( ) ( )
( ) iii
iii
i
yh
yyxP
xxh
yyyxP
′=−
=′
−−
+=
+
+
11
11
cujo erro de truncatura é
( ) ( )( )( ) ( )(( ) ( ))
( ) ( ) [ ] [ ]( )1,211
100
11
e2
,
!2!3
++
−=+
==+
∈′′==′ ∈
−+−′′
+−−′′′
=′
ixixii
hiiiiiiiii
Cffh- xR xxi
xxxxfxxxxfxR
ηη
ηξ4342143421444 3444 21
− a passar por xi-1, xi+1
( ) ( )
( ) iii
iii
i
yh
yyxP
xxh
yyyxP
′=−
=′
−−
+=
−+
−−+
−
2
211
1
111
11
cujo erro de truncatura é
( ) ( )( )( ) ( ) ( ) (( )
Quando comparamos estas duas fórmulas, a fórmula (2) é
melhor do que a fórmula (1) pois, quer o erro de truncatura
quer o erro de arredondamento são menores.
)
( ) ( )1 !32
′′′=′ fh-xR i ξ [ ] [ ]( )1,13
11
011111
e,
!2!3
+−+−
=+−
−=+
=−
∈∈
−+−′′
+−−′′′
=′
ixixii
iiiihii
hiii
Cfxx
xxxxfxxxxfxR
ξ
ηξ4444 34444 214342143421
(2)
(1)
Análise Numérica – Diferenciação Numérica – DEC 109
De facto se considerar que o valor exacto ( ) iii yxf ε+= , com
ii ∀≤ εε , então
( )
( )hh
hhii
a
iia
εεεε
εεεε
≤−
=
≤−
=
−+
+
22
21
11
1
Geometricamente
1/h 1/h
ε ε
Exemplo numérico: Determinar (ex)′, no ponto xi=1, para
diferentes valor de h, usando as fórmulas anteriores e uma máquina
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.5×10-4 2.718354 2.718294 0.5×10-5 2.7182 2.71826 0.5×10-6 2.718 2.7182 0.5×10-7 2.71 2.718 0.5×10-8 2.72 2.71 0.5×10-9 2 2.7 0.5×10-10 0 0
Análise Numérica – Diferenciação Numérica – DEC 110
• Polinómio interpolador do 2º grau
− a passar por xi-1 , xi , xi+1
( ) ( ) ( )(
( )
)
( )
hyy
xxxxh
yyyh
yyxPy
xxxxh
hyy
hyy
xxh
yyyxP
ii
hiiii
iiiiii
ii
iiii
iii
i
2
)(22
2
11
1
02
11121
1
11
11
12
)(
−+
=−
=
−++
−
−+
−+
−
−=
−+−+−
+−
=′=′
−−
−−
−
+−−
+=
4342143421
cujo erro de truncatura é
( ) ( ) ( ) ( )(( )( ) )
( ) ( )2
2 !3′′′=′ i fh-xR η [ ] [ ]( )1,111
110
3)4(
2
3,
0!3!4
e +−+−
−=+
=−
=
∈∈
+−−′′′
+Π=′
ixixii
hii
hiiii
Cfxx
xxxxfxfxR
η
ηξ4342143421321
)pois ( ) ( ) ( ) ( iiiiii xxxxxxxxxxxxx −−+−−+−−=Π′ −+−+ )()()( 11113
Esta fórmula é igual a (2)
Cálculo da 2ª derivada
f′′ (x) = Pn′′ (x) + Rn′′ (x)
Erro cometido
( ) [ ] ( )( )
[ ] ( ) [ ] ( )
[ ] ( )xxxxf
xxxxxfxxxxxxf
xxxxfdxdxR
nn
nnnn
nnn
10
1010
102
2
,,,
,,,,2,,,,,2
,,,
+
++
+
Π ′′+
+Π′+Π=
=Π=′′
K
KK
K
Análise Numérica – Diferenciação Numérica – DEC 111
Cálculo da 2ª derivada em xi.
Exemplo:
• Polinómio interpolador do 2º grau
− a passar por xi-1 , xi , xi+1
( ) ( ) (( )
12111
2 22 xxxxh
yyyh
yyxP iiiiiii
−−++ −+−
+−+
−=′ )
( ) 211
212h
yyyxPy iiii
−+ +−=′′=′′
cujo erro truncatura é
( ) ( ) ( ) ( )(( )( ) )
( ) ( ) ( ))
( ) ( ))4(2
2 12=′′ i fh-xR η [ ] [ ]( )1,1
411
0
11
11)4(
03
)5(2
e,
(2!3
0!4
2!5
2
+−+−
=−=
+=
−
−=+
=−
=
∈∈
−+−′′′
+
++−−+Π=′′
ixixii
hii
hii
hii
hiiii
Cfxx
xxxxf
xxxxfxfxR
η
ζ
ηξ
4444 34444 21
4342143421
4342143421321
pois ( ) ( ) ( ) ( )11113 )()()( −−++ −+−+−+−+−+−=Π ′′ iiiiii xxxxxxxxxxxxx
e o erro de arredondamento é
( ) 22121 41
hhiii
aεεεε
ε ≤+
= −−+
isto é, cresce quadraticamente com 1/h.
Análise Numérica - Equações Diferenciais – DEC 112
Integração Numérica de Equações Diferenciais Definições:
Chama-se equação diferencial a uma equação que
estabelece uma relação entre a variável independente x, a
variável dependente y = y(x) ( y(x) desconhecida) e as suas
derivadas y′, y′′, …,y(n), isto é,
( ) .0,,,,, )( =′′′ nyyyyxF K
Deduzir da equação diferencial a relação y = y(x) é o que
se chama integrar a equação diferencial.
A equação diferencial diz-se
- ordinária se x∈ℜ
- de ordem n se n for a ordem da derivada mais
elevada.
Exemplos:
- y′-2xy+5=0 → equação de 1ª ordem
- y′′-2y′-3y- sen x=0 → equação de 2ª ordem
Equações diferenciais ordinárias de 1ª ordem ( ) ( yxfyyyxF ,0,, =′⇐=′ )
Solução da equação diferencial é uma função y(x)
contínua e diferenciável em [a, b] tal que ( ) ( )( ) [ ]baxxyxfxy ,, ∈∀=′
Análise Numérica - Equações Diferenciais – DEC 113
Na realidade existe uma família de soluções da equação
diferencial, y(x,C) chamada solução geral.
Exemplo: Determine as linhas planas de equação y = y(x)
tais que o coeficiente angular da tangente, em cada ponto,
seja igual à ordenada, i.e.,
yyydxdy
=′⇔=
Solução geral y = C ex.
Pode determinar-se uma
solução particular (linha L0)
que passe por um ponto (x0, y0),
isto é, a solução particular
que satisfaça a condição
inicial y(x0) = y0. x0
y0
L0
Problema com valor inicial ( ) ( )( ) [ ]( ) [ ]baxyxy
baxxyxfxy,
,,
000 ∈=∈∀=′
(1)
Teorema de existência e unicidade
Se a função f(x, y) é contínua para x∈[a, b] e y∈ℜ e satisfizer a
condição de Lipschitz:
∃L ≥ 0 :f(x, y)- f(x, z)≤ Ly-z ∀y,z∈ℜ e ∀x∈[a, b]
então
∃1 y(x) em [a, b] : y′= f(x, y) e y(x0)=y0 ∀y0∈ℜ e ∀x0∈[a, b]
Análise Numérica - Equações Diferenciais – DEC 114
Métodos de variável discreta Os métodos que vamos descrever são chamados métodos de
variável discreta pois apenas fornecem o valor da função num
conjunto de pontos discreto x0, x1, x2, ... da variável independente
x, i.e., a solução 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 não variar com i, e yi
≈ y(xi).
Este tipo de métodos pode ser divididos em duas classes:
métodos de passo único e métodos de passo múltiplo. Nos
métodos de passo único, o valor de yi é determinado apenas à
custa de yi-1. Nos métodos de passo múltiplo, o valor de yi é
determinado à custa de yi-1, yi-2,..., yi-k.
Métodos de passo único
• Fórmula de Taylor
Se f(x,y), além de satisfazer a condição de Lipschitz,
tiver derivadas contínuas, relativamente a x e y, até à
ordem n, então pode desenvolver-se y(x), solução do
problema (1), na fórmula de Taylor:
( )( ) ( ) ( ) ( ) ( )
( )( ) ( ) ] [xxxxn
y
xxn
xyxxxyxxxyyxy
nn
nn
,!1
!!2)(
01
0)1(
00
)(2
00
000
∈−+
+
−++−′′
+−′+=
++
ξξ
L
Análise Numérica - Equações Diferenciais – DEC 115
As derivadas neste desenvolvimento são calculadas pela regra
da cadeia:
( ) ( )
M
fffffffffff
dxdyfff
yfff
xy
fffdxdyyxf
yyxf
xy
yxfy
yyyxyxyyxxx
yxyx
yx
22
),(),(
),(
+++++=
=⋅+∂∂
++∂∂
=′′′
+=⋅∂∂
+∂∂
=′′
=′
Como se pode ver, na maior parte dos casos, o cálculo destas
derivadas torna-se bastante complexo. Se n=1 o método
anterior é bastante simples e é chamado método de Euler.
Método de Euler Determina o valor de yi, valor aproximado de y(xi) (xi=xi-1+h), à
custa de yi-1, usando a fórmula de Taylor de 1ª ordem, através
do seguinte algoritmo:
Algoritmo Para determinar a solução da equação 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
Análise Numérica - Equações Diferenciais – DEC 116
Exemplo 1: Calcular, no intervalo [0,1], a solução da equação diferencial
y′=2y + ex que passa por (0,0) (solução exacta: y=e2x - ex )
Se considerarmos h=0.2
i xi yi y′i 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 y∈C2([a,b]) então, pela fórmula de Taylor
( ) ] [1
2
1 ,2
)()()( ++ ∈′′+′+= iiiii xxyhxyhxyxy ξξ
erro local onde . ))(,()( iii xyxfxy =′
Quando definimos yi+1 = yi+h f(xi,yi), yi+1 aproxima y(xi+1)
com um erro que é dado por:
( ) ( )ξyhyxfxyxfheyxye iiiiiiii ′′+−+=−= +++ 2),())(,()(
2
111
e, pela condição de Lipschitz,
[ ]( )
′′=++≤
∈+ xyMMhehLee
baxiii
,22
2
1 max2
isto é, se as parcelas forem do mesmo sinal, o erro vai-se
agravando.
Análise Numérica - Equações Diferenciais – DEC 117
Interpretação geométrica
y(x2)
y2
L1
ε global ε local
ε local
L0
O erro global é dado pelo erro local , pelo erro acumulado
em iterações anteriores e pelo erro no cálculo 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 teríamos:
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 ei≈Ch. Neste
exemplo, ao dividir h por 2, tem-se 1.69/1.008=1.7≈2 e
1.008/0.659=1.53≈2 (a 2ª derivada ainda varia significativamente)
Análise Numérica - Equações Diferenciais – DEC 118
Métodos de passo único
• Métodos de Runge-Kutta O uso da fórmula de Taylor de ordem superior à 1ª iria
melhorar a pouca precisão do método de Euler, mas é pouco
prático, pois obrigava ao cálculo de derivadas de f.
Os métodos de Runge-Kutta são desenvolvidos de
modo a serem equivalentes a uma fórmula de Taylor,
mas sem calcular derivadas. Para isso calculam f(x,y)
em vários pontos definidos à custa de (xi, yi), usando
uma fórmula do tipo: ( )
4444 34444 21declives depesada soma
1 ,∑+ +++=j
jijijii hbyhaxfhyy α
onde αj, aj, bj , j=1,...,p são determinados de modo a
anular os primeiros termos do erro de truncatura. Existe
uma relação entre o número p de cálculos do valor da
função e a ordem máxima da fórmula de Taylor a
aproximar (ver Atinkson pag 424).
Exemplo ( método de Euler melhorado) O método de Euler pode ser visto como o resultado da
integração de entre [x))(,( xyxfy =′
)( dxxgba ≅∫
i, xi+1] usando a regra
dos rectângulos ( ), e vem: )()( agab ×−
Análise Numérica - Equações Diferenciais – DEC 119
),(
))(,(
1
11
iiii
xx
xx
yxfhyy
dxxyxfdxy ii
ii
≅−
=′
+
∫∫ ++
Se, no cálculo do 2º integral de (1), se usa
trapézios usando para valor de y(xi+1) o valor
método de Euler (2), tem-se:
(44444444444 21 )( de saproximado valoresde média
1 2(,(),(
′
+++
+≅
xy
iiiiiii
xfhyxfyxfhyy
Esta é a fórmula do método de Runge-
ordem, também conhecido por Método
melhorado.
Consegue-se demonstrar que o erro local de
da ordem de h3 (O(h3)), enquanto o erro tota
de h2.
Algoritmo: Método de Runge Kutta de 2ª o
Determinar o valor aproximado de y(xi+1)
)(2 211 kkhyy ii ++=+ i=0,1,…
onde ( )
),(),(
12
1
00
hkyhxfkyxfk
xyy
ii
ii++=
==
(1)
(2)
r a regra dos
yi+1 dado pelo
)43
1 e em
)),
+ii xx
iy (3)
Kutta de 2ª
de Euler
ste método é
l é da ordem
rdem
,n-1
Análise Numérica - Equações Diferenciais – DEC 120
Exercício3: Se resolvermos o exercício 1: "Calcular, no intervalo [0,1], a solução da equação diferencial y′=2y + ex
que passa por (0,0) (solução exacta: y=e2x - ex )"
por este método, teremos:
Se considerarmos h=0.2
i xi yi k1 K2 (k1+k2)/2 y(xi) y(xi)-yi 0 0 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 5 1 4.442584 11.60345 4.670774 0.228
Enquanto pelo método de Euler: i xi yi y′i 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 esforço computacional por iteração é superior no
método de Runge-Kutta de 2ª ordem, mas a precisão do resultado é
bastante melhor do que no método de Euler
Se tivesse usado outros valores de h teríamos:
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
Análise Numérica - Equações Diferenciais – DEC 121
O método de Runge-Kutta mais usado é o de 4ª ordem.
Algoritmo: Método de Runge Kutta de 4ª ordem
Determinar o valor aproximado de y(xi+1)
)22(6 43211 kkkkhyy ii ++++=+ i=0,1,…,n-1
onde ( )
),(
)2
,2
(
)2
,2
(
),(
34
23
12
1
00
hkyhxfk
khyhxfk
khyhxfk
yxfkxyy
ii
ii
ii
ii
++=
++=
++=
==
O erro de truncatura local neste método é O(h5). O erro de
truncatura global é O(h4).
Métodos de passo múltiplo
• Métodos preditores-correctores
Se tal, como no método de Euler melhorado, integrarmos
entre [x))(,( xyxfy =′ j, xi+1] tem-se
dxxyxfyy
dxxyxfdxy
ij
ij
ij
xxji
xx
xx
∫+
∫∫
+
++
+=
=′
1
11
))(,(
))(,(
1
e determina-se o integral usando um método Newton-
Cotes.
Análise Numérica - Equações Diferenciais – DEC 122
Para o preditor usa-se uma fórmula de quadratura que
não entre com o ponto (xi+1, yi+1).
Para o corrector usa-se uma fórmula de quadratura que
entre com o ponto (xi+1, yi+1) obtido pelo preditor.
Exemplo:
Fórmula preditora
Se se usar para preditor a regra do ponto médio tem-se:
),(2
))(,(
11
11 11
iiipi
xxii
yxhfyy
dxxyxfyy ii
+=
+=
−+
∫−+ +−
cujo erro local é ( )pyhξ′′′
3
3 onde ξ ] [11, +−∈ iip xx
Fórmula correctora
Se se usar para corrector a regra dos trapézios tem-se:
( )piiiii
ci
xxii
yxfyxfhyy
dxxyxfyy ii
111
1
,(),(2
))(,(1
+++
+
++=
+= ∫ +
cujo erro local é - ( cyhξ′′′
12
3) onde ξ ] [1, +∈ iic xx
Estes métodos não são auto-suficientes. De facto, se
analisarmos a fórmula preditora, como no início só
conhecemos y(x0)=y0, ela não permite determinar y1. Logo
este valor tem que ser obtido por outro tipo de métodos. Se
usarmos a fórmula de Taylor, para mantermos um erro da
Análise Numérica - Equações Diferenciais – DEC 123
ordem de h3, teremos de usar a fórmula de Taylor de 2ª
ordem
( )ξyhyhyhyy p ′′′+′′+′+=!32
30
2001
e o seguinte algoritmo:
Um algoritmo preditor corrector
Determinar o valor aproximado de y(xi+1): c
iy 1+
),(211cii
ci
pi yxhfyy += −+ i=1,…,n-1
com
×
∂∂
+∂∂
++= ),(),(),(2
),( 0000002
0001 yxfyxyfyx
xfhyxfhyy p
e ( )),(),(
2 111pii
cii
ci
ci yxfyxfhyy +++ ++= i=0,…,n-1
NOTA: Todas as fórmulas que definem yi à custa de ele próprio
podem ser usadas num processo iterativo. Neste caso pode-se usar
um processo iterativo para obter sucessivos valores correctores do
seguinte modo:
( ) mjyxfyxfhyy
yy
jii
cii
ci
ji
pii
...,,1,(),(2
1111
10
1
=++=
=
−+++
++
parando o processo quando
mi
cim
i
mi
mi yy
y
yy11
1
111
+++
−++ =⇒≤
−ε
Análise Numérica - Equações Diferenciais – DEC 124
Exercício 4: Resolver o exercício 1 com este método
usando o método anterior. Método preditor-corrector Euler melhorado i xi p
iy ciy y(xi) c
ii yxy −)( yi y(xi)-yi 0 0 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 5 1 4.611631 4.727072 4.670774 -0.0563 4.442584 0.2282
Resolução:
( )( )( )
( )
( )( )( )
( )( )( ) 514506.1)464363.12()0.7418662(
22.00.741866
,),(2
464363.1)0.7418662(2.020.274140),(2
0.741866)707873.02()0.2741402(22.00.274140
,),(2
707873.0)741402.02(2.020),(2
0.274140)26.02()02(22.00
,),(2
26.0)02(222.0)02(2.00
),(),(),(2
),(
2
6.04.0
332223
4.02213
4.02.0
221112
2.01102
2.00
110001
002
0
0000002
0001
=×++×++=
++=
=×+××+=+=
=×++×++=
++=
=×+××+=+=
=×++×++=
++=
=×+×++×+×+=
=
×+++=
+=′
∂∂
∂∂
ee
yxfyxfhyy
eyxhfyy
ee
yxfyxfhyy
eyxhfyy
ee
yxfyxfhyy
eee
yxfyxyxhyxhfyy
yey
pccc
ccp
pccc
cp
pc
yf
xfp
x
)(xy ′′′Como tem sinal constante, então os erros do preditor e do
corrector são de sinais contrários e o valor exacto está entre eles.