2003 – 2004 - paginas.fe.up.pt · impossível conhecer o valor do erro absoluto. ... No exemplo 1...

125
Análise Numérica Departamento de Engenharia Civil 2003 – 2004 Ana Maria Faustino

Transcript of 2003 – 2004 - paginas.fe.up.pt · impossível conhecer o valor do erro absoluto. ... No exemplo 1...

Análise Numérica

Departamento de Engenharia Civil

2003 – 2004

Ana Maria Faustino

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

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.