MATEMÁTICA COMPUTACIONAL · Bibliografia I “Acetatos”, Isabel Reis dos Santos, Análise...

Preview:

Citation preview

MATEMÁTICACOMPUTACIONAL

Isabel Reis dos Santos

19 de Setembro de 2016

Apresentação

Porquê utilizar Métodos Numéricos?I Para resolver problemas que não podem ser resolvidos

exactamente

2 / 358

IntroduçãoPorquê utilizar Métodos Numéricos?

I Para resolver problemas intratáveis

θ′′ +gC

sin θ = 0, θ(0) =π

6, θ′(0) = 0

sn(x ; k) é a função Jacobiana elíptica com módulo k = sin(θ0/2)g ≈ 9.81m/s2

3 / 358

Apresentação

Métodos numéricos sãotécnicas baseadas em matemáticaque utilizam os computadorespara permitir resolverproblemas de engenhariaque não são de fácil resoluçãoou não têm solução analítica.

4 / 358

Método de Avaliação

I Provas Escritas (75%) e dois Trabalhos Computacionais(25%, em Matlab).

I Nota final: NF = 3/4N + 1/4C,I Trabalhos: C = C1 + C2I Testes: N = maxT 1,T1rep+ maxT 2,T2rep ≥ 8.5I Exame: N = (T 1rep + T 2rep) ≥ 8.5 (renuncia a T 1 e T 2)

onde 0 ≤ Ti ≤ 10 e 0 ≤ Ci ≤ 10.

I maxT1,T 1rep ≥ 3.7 ∧maxT2,T 2rep ≥ 3.7.

I Não se conservam as notas de inscrições anteriores.

I NF ≥ 18⇒ prova oral.

I Época especial: NF = 3/4E + 1/4C

I Datas: T 1 = 17 Nov , T 2 = 21 Dez, Rep = 16 Jan

5 / 358

Bibliografia

I “Acetatos”, Isabel Reis dos Santos, Análise Numérica 2016

I “Matemática Computacional”, Isabel Reis dos Santos,Departamento de Matemática 2011/2012

I “Matemática Computacional: Exercícios”, Lista de exercícios

I “Numerical Analysis”, Richard Burden e Douglas Faires, 9a edição,Brooks/Cole

I “An Introduction to Numerical Methods: A MATLABApproach”, Abdelwahab Kharab e Ronald Guenther, Chapman &Hall/CRC

I Aulas teóricas com resolução de exercícios

6 / 358

Introdução

I Teoria dos erros (precisão finita)I Equações não lineares (zeros de funções)I Sistemas de equações (lineares e não lineares)I Ajuste de curvas (aproximação de funções):

I Interpolação polinomial (nos pontos)I Regressão (próximo dos pontos)

I Integração (cálculo de áreas)I Equações diferenciais ordinárias (p.e. evolução no tempo)

7 / 358

Objectivos

I Deduzir fórmulas de erro no cálculo de funções emprecisão finita, verificar o condicionamento de funções eestabilidade dos algoritmos.

I Derivar métodos numéricos apropriados para:I resolver equações algébricas e transcendentais;I resolver sistemas de equações lineares e não lineares;I aproximar uma função;I calcular um integral definido;I resolver uma equação diferencial.

I Para um determinado método numérico:I realizar a análise do erro;I demonstrar a validade dos resultados obtidos.

I Utilizar e realizar em Matlab/... alguns métodos numéricos.

8 / 358

Capítulos

1. Teoria dos erros

2. Equações não lineares

3. Normas e condicionamento de matrizes

4. Sistemas de equações lineares

5. Sistemas de equações não lineares

6. Método dos mínimos quadrados

7. Interpolação polinomial

8. Integração

9. Equações diferenciais ordinárias

I Matlab (Octave)

9 / 358

Exemplos de aplicação(dois por capítulo)

10 / 358

Teoria dos erros

I f (x) = 1− cos(x), x = 0.01, ±0. ×10t

Algoritmo : z1 = cos(x), z2 = 1− z1

z1 = cos(x) = 0.999950000416... ≈ 0.1000× 101 = z1z2 = 1− z1 ≈ 1− z1 = 0

|δz | =

∣∣∣∣ f (0.01)− z2

f (0.01)

∣∣∣∣ = 1 ⇒ 100% erro

no casas % erro4 1005 0.002

10 0.00003

11 / 358

Teoria dos erros

format longsum = 0for i = 1:100000

sum = sum + 0.1;end

Retorna sum = 10000.0000000188 em vez de 10000.δ = 1.88× 10−2 (erro relativo)

Dízima infinita no sistema binário:

(0.1)10 = (0.00011001100110011 . . .)2

12 / 358

Equações não lineares

I Qual é a parte da bola que fica debaixo de água?

Diâmetro = 11 cm e Raio = 5.5 cm

x3 − 0.165x2 + 3.993× 10−4 = 0

x1 = 0.1464..., x2 = 0.0624..., x3 = −0.0437..., 0 ≤ xi ≤ 0.11

13 / 358

Equações não lineares

I Determinar a taxa de crescimento λ de uma populaçãoque inicialmente tem 1000000 indivíduos, imigraram435000 e no final do primeiro ano tem 1564000 indivíduos.

1564000 = 1000000eλ +435000

λ(eλ − 1)

λ = 0.1009979296857495

14 / 358

Sistemas de equações lineares

v(t) = 11.73t2 − 128.77t + 456.71

15 / 358

Sistemas de equações lineares

I Pontes treliças são estruturas leves.I A soma das componentes horizontais e verticais das

forças em cada junta tem de dar zero.I Numa ponte com n nós a matriz tem 2n linhas (e colunas).

I Utilizam-se métodos iterativos para resolver sistemaslineares com matrizes esparsas.

16 / 358

Sistemas de equações não lineares

(x1 − 2)2 + (x2 − 1)2 = 4(x1 − 3)2 + (x2 − 2)2 = 1

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

3.5

x1

x2

( a )

17 / 358

Sistemas de equações não linearesI Modelo de uma fábrica de peças de automóvel: relacionar

o tempo médio entre chegadas com o tempo médio nosistema, y = f (x ; θ) + ε

Método dos mínimos quadrados com função a minimizar

SSE =n∑

i=1

[yi − θ1 − θ2artg(θ3xi + θ4)]2

Sistema não linear:∂SSE∂θ1

= 0 ∧ ∂SSE∂θ2

= 0 ∧ ∂SSE∂θ3

= 0 ∧ ∂SSE∂θ4

= 0

18 / 358

Método dos mínimos quadradosI Coeficiente de expansão térmica

α(T ) = −1.2278× 10−5T 2 + 6.1946× 10−3T + 6.0150

19 / 358

Método dos mínimos quadradosI Rede de processamento e encaminhamento de pacotesI Construir um modelo que relacione o tempo médio no

sistema, Y , com o tempo médio entre chegadas, X .

20 / 358

Integração

21 / 358

Integração

I Ponte basculante, mancal, munhão (eixo) e vigaI A contracção necessária no munhão é 0.38 mm ou mais.

22 / 358

Integração

α(T ) = −1.2278× 10−5T 2 + 6.1946× 10−3T + 6.0150

23 / 358

Interpolação polinomialI Qual é a velocidade do fogetão após 7 segundos?I v(t) = 11.73t2 − 128.77t + 456.71, v(7) ≈ 130.09 m/s

24 / 358

Equações diferenciais ordináriasI Uma vítima de homicídio é encontrada às 18h.I Pretende-se saber a hora da morte.

θ′(t) = −k(θ(t)− θa), θ(t) = Ae−kt + θa

θa = 22.2 oC ⇒ k = 0.26005, A = 776.683

25 / 358

Equações diferenciais ordináriasI Movimento de um pêndulo oscilatório

θ′′ +gC

sin θ = 0, θ(0) =π

6, θ′(0) = 0

26 / 358

Dúvidas

46

Duvidas?

27 / 358

Capítulo 1

Teoria dos erros

I Números em precisão finitaI Representação em vírgula flutuanteI ArredondamentoI Condicionamento e estabilidade

28 / 358

Números em precisão finita

I os computadores realizam operações sobrenúmeros cuja precisão é finita;

I os computadores usam o sistema binário enão o decimal para representar os números;

I memória disponível para guardar umnúmero é fixa;

I os números representam-se com umnúmero fixo de dígitos.

29 / 358

Números em precisão finita

Ω = n ∈ Z : n = a1a2a3,ai ∈ N0, (#Ω = 1000)

0 0 0 0 0 1 0 0 2 . . . 9 9 8 9 9 9

Impossível expressar certos conjuntos importantes de números:

1. Números maiores do que 999;

2. Números negativos;

3. Fracções;

4. Números irracionais;

5. Números complexos.

30 / 358

Números em precisão finitaZ é fechado com respeito à adição, subtracção e multiplicação:

n,m ∈ Z⇐ n + m,n −m,n ×m ∈ Z

Z não é fechado com respeito à divisão:

∃n,m ∈ Z tal que n/m /∈ Z (p.ex . n = 7 e m = 2)

Números em precisão finita não são fechados em relação anenhuma destas operações básicas. Por Exemplo paran,m ∈ Ω tem-se:

600 + 600 = 1200 (muito grande, Overflow)

003− 005 = −2 (negativo, muito pequeno, Underflow)

050× 050 = 2500 (muito grande, Overflow)

007/002 = 3.5 (não é inteiro, n/m /∈ Ω)

31 / 358

Números em precisão finitaPropriedade associativa: a + (b − c) = (a + b)− ca = 800, b = 500 e c = 400.

800 + (500− 400) = (800 + 500) − 400 =

800 + 100 1300 − 400 Overflow

900

Propriedade distributiva: a× (b − c) = a× b − a× ca = 5, b = 210 e c = 195.

5 × (210− 195) = 5× 210 − 5× 195 =

5 × 15 1050 − 975 Overflow

75

32 / 358

Representação em vírgula flutuanteRepresentação de x ∈ R.

Notação científica: x = ±0.a1a2 . . . an . . .× 10t , a1 6= 0.

(sinal, mantissa e expoente em base decimal)ai ∈ 0, 1, . . . , 9

Sistema de vírgula flutuante: VF (β,n, t1, t2)

x = ±0.a1a2 . . . an×βt , a1 6= 0, β−1 ≤ m ≤ 1−β−n t1 ≤ t ≤ t2

O zero é representado à parte.

Nos computadores β = 2 e a1 = 1.

I Overflow: se t > t2I Underflow: se t < t1

Vírgula Flutuante IEEE Standard 754 (1985)

33 / 358

Representação em vírgula flutuante

VF (10,3,−99,99)

x = ±0.a1a2a3×10t , a1 6= 0, 0.1 ≤ m ≤ 0.999, −99 ≤ t ≤ 99

I Os números reais formam um contínuo.I Densidade: ∀x , y ∈ R, x+y

2 ∈ R.34 / 358

Representação em vírgula flutuante

x = ±0.a1a2a3×10t , a1 6= 0, 0.1 ≤ m ≤ 0.999, −99 ≤ t ≤ 99

35 / 358

ArredondamentoArmazenar x = ±0.a1a2 . . . anan+1 . . .× 10t , a1 6= 0, no sistemaVF (10,n, t1, t2).

I Arredondamento por corte: fl(x) = ±0.a1a2 . . . an × 10t

I Arredondamento simétrico: fl(x) = ±0.a′1a′2 . . . a′n × 10t ′

Se 0 ≤ an+1 < 5, então a′i = ai e t = t ′.

Se 5 ≤ an+1 < 10, então fl(x) = ±(0.a1a2 . . . an + 10−n)× 10t

Exemplo: n = 3 (10−n = 10−3 = 0.001) e t = −5.

0. 1 4 5 6 2 × 10−5

0.14562×10−5 =

0.145× 10−5 a.c

(0.145 + 0.001)× 10−5 = 0.146× 10−5 a.s

36 / 358

Arredondamento

x - valor exacto, x - valor aproximado

Erro : ex = x − xErro absoluto : |ex | = |x − x |

Erro relativo : |δx | =|x − x ||x |

, x 6= 0

Erro de arredondamento é o erro causado por representar umnúmero aproximadamente

13≈ 0.333333 = fl

(13

)√

2 =≈ 1.4142 = fl(√

2)

37 / 358

Arredondamento simétricoMajorações dos erros de arredondamento

Erro absoluto:

|x−x | ≤ 0.5(0.101−0.100)×10t = 0.5×10−3×10t = 0.5× 10t−3

|x | = 0.a1a2...× 10t

0.100 ≤ 0.a1a2... ≤ 0.101 ⇔ 10.101

≤ 10.a1a2...

≤ 10.1

= 10

1|x |

=1

0.a1a2...× 10−t ≤ 10× 10−t = 101−t

Erro relativo:|x − x ||x |

≤ 0.5× 10t−3×101−t = 0.5× 101−3

38 / 358

Arredondamento simétrico

Erro absoluto:|x − x | ≤ 0.5× 10t−n

Erro relativo:|x − x ||x |

≤ 0.5× 101−n = u

u - unidade de arredondamento

39 / 358

Arredondamento simétricoProblema:

I Sabe-se que 31.4 resultou de arredondamento simétrico.I Qual é o majorante dos seus erros absoluto e relativo?

Determinação dos valores de t e de n

x = 31.4 = 0.314× 102, t = 2, n = 3

Erro absoluto

|x − x | ≤ 0.5× 10t−n = 0.5× 102−3 = 0.5× 10−1

Erro relativo

|x − x ||x |

≤ 0.5× 101−n = 0.5× 101−3 = 0.5× 10−2

40 / 358

Propagação de erros. Condicionamento

I Nos métodos numéricos os cálculosnão são feitos com números exactos.

I Como é que estes erros se propagamao longo dos cálculos?

41 / 358

Propagação de erros. Condicionamento

Erro de propagação causado pelo erro de input numa função.

Pretende-se prever o erro relativo em f (x) face ao valorcorrecto f (x).

f (x) = f (x) + f ′(x)ex +e2

x2!

f ′′(ξ), ξ ∈ int [x , x ]

ef (x) = f (x)− f (x) ≈ f ′(x)ex

δf (x) =f (x)− f (x)

f (x)≈ xf ′(x)

f (x)δx = pf (x)δx

pf (x) − número de condição de f em x(factor de ampliação do erro δx )

42 / 358

Propagação de erros. Condicionamento

Problema:I O valor 1.21 resulta de um arredondamento simétrico.I Calcule o valor de tan(1.21) e dê uma estimativa do erro.

x = 0.121× 101, t = 1, n = 3, |ex | ≤ 0.5× 101−3

tan(1.21) = 2.65032459497060...

ef = f ′(x)ex =1

cos2(x)ex

|ef | ≤1

cos2(1.21)0.5× 101−3 = 0.0412

tan(1.21) = 2.65± 0.0443 / 358

Propagação de erros nas operaçõesI Subtracção f (x , y) = x − y

Considerando

x = π = 3.14159265...y = 2199/700 = 3.14142857...

determinar x − y com 4 dígitos na mantissa:

x = 3.142y = 3.141x − y ≈ x − y = 3.142− 3.141 = 0.1000× 10−2

Calcular os erros absoluto e relativo.

|ef | = |(π − 2199/700)− 0.1000× 10−2| = 8.36× 10−4

|δf | =

∣∣∣∣(π − 2199/700)− 0.1000× 10−2

(π − 2199/700)

∣∣∣∣ = 5.09 ⇒ 509%erro

44 / 358

Propagação de erros nas operaçõesI Subtracção f (x , y) = x − y

Considerando

x = π = 3.14159265...y = 2199/700 = 3.14142857...

determinar x − y com 6 dígitos na mantissa:

x = 3.14159y = 3.14143x − y ≈ x − y = 3.14159− 3.14143 = 0.160000× 10−3

Calcular os erros absoluto e relativo.

|ef | = |π − 2199/700− 0.16× 10−3| = 4.08× 10−6

|δf | =

∣∣∣∣π − 2199/700− 0.16× 10−3

π − 2199/700

∣∣∣∣ = 0.0249 ⇒ 2.49%erro

45 / 358

Propagação de erros nas operaçõesI Subtracção f (x , y) = x − y

Considerando

x = π = 3.14159265...y = 2199/700 = 3.14142857...

determinar x − y com 8 dígitos na mantissa:

x = 3.1415927y = 3.1414286x − y ≈ x − y = 3.1415927− 3.1414286 = 0.16410000× 10−3

Calcular os erros absoluto e relativo.

|ef | = |π − 2199/700− 0.1641× 10−3| = 1.78× 10−8

|δf | =

∣∣∣∣π − 2199/700− 0.1641× 10−3

π − 2199/700

∣∣∣∣ = 1.09×10−4 ⇒ 0.019%erro

46 / 358

Propagação de erros. Condicionamento

Uma variável:ef = f ′(x)ex , δf =

xf ′(x)

f (x)δx

Duas variáveis:

ef =∂f (x , y)

∂xex +

∂f (x , y)

∂yey , δf =

x ∂f (x ,y)∂x

f (x , y)δx +

y ∂f (x ,y)∂y

f (x , y)δy

Subtracção:

f (x , y) = x − y ,∂f (x , y)

∂x= 1,

∂f (x , y)

∂y= −1

ef = ex − ey

δf =x

x − yδx −

yx − y

δy

Para x ≈ y :I Cancelamento subtractivoI Problema mal condicionado

47 / 358

Propagação de erros. Condicionamento

ef (x) =n∑

i=1

∂f (x)

∂xiexi

δf (x) =n∑

i=1

xi

f (x)

∂f (x)

∂xiδxi =

n∑i=1

pxi δxi

Se todos os factores

pxi =xi

f (x)

∂f (x)

∂xi

forem majoradas razoavelmente, então o problema diz-se bemcondicionado. Caso contrário, ele é mal condicionado.

48 / 358

Propagação de erros nas operações

1. Soma e subtracção f (x , y) = x ± y(cancelamento subtractivo...)

δf =x

x ± yδx ±

yx ± y

δy

2. Produto f (x , y) = x × y

δf =xxy

yδx +yxy

xδy = δx + δy

3. Divisão f (x , y) = x/y , y 6= 0

δf =xxy

1yδx +

yxy

(− 1

y2

)δy = δx − δy

4. Potência f (x) = xp, p > 0, x > 0(raízes bem condicionadas)

δf =xxp pxp−1δx = pδx

49 / 358

Condicionamento e Estabilidade

Definição: Um problema diz-se bem condicionadoquando pequenos erros relativos nos dadosproduzem pequenos erros relativos no resultado.Caso contrário diz-se mal condicionado.

I mau condicionamento - pxi elevado

50 / 358

Propagação de erros. Condicionamento.

Exemplo: A função f (x) = 1− cos(x) é bem ou mal condicionada?

δf =xf ′(x)

f (x)δx =

x sin(x)

1− cos(x)δx = pxδx

limx→0

px = limx→0

sin(x) + x cos(x)

sin(x)= lim

x→0

(1 +

x cos(x)

sin(x)

)=

= 1 + limx→0

cos(x)− x sin(x)

cos(x)=

= 1 +1− 0

1= 2⇒ problema bem condicionado

Problema bem condicionado se x ≈ 0.

51 / 358

Propagação de erros. Estabilidade

Definição: É uma sequência de passos que permiteatingir a solução a partir de um estado inicial.

Definição: Um algoritmo diz-se ser numericamenteestável se a pequenos erros dos dados, e a pequenoserros de arredondamento dos cálculos intermédios,corresponder um pequeno erro relativo nos resultados.Caso contrário, diz-se numericamente instável.

Instabilidade:I pxi elevados;I grande propagação dos erros de arredondamento

dos cálculos intermédios.

52 / 358

Propagação de erros

Exemplo:f (x) = 1− cos(x), x = 0.0001

VF (10,4, t1, t2), x = x , ±0. ×10t

z1 = cos(x) = cos(x) = 0.999999995 ≈ 1.000 = z1

z2 = 1− z1 ≈ 1− z1 = 0 = z2

|δarr1 | =|z1 − z1||z1|

= 0.5× 10−8

|δarr2 | =|z2 − z2||z2|

= 0

|δz | =|f (0.0001)− z2||f (0.0001)|

= 1⇒ 100 % erro

53 / 358

Propagação de erros

Exercício 6 da Lista: Ao calcular-se a expressão

f (x) = x −√

x2 − 1

numa máquina usando o sistema de vírgula flutuanteVF (10,6,−30,30) com arredondamento simétrico, verificou-seque para valores de x muito grandes o erro relativo eratambém muito grande.

(a) Verifique que o erro relativo é 100% para x = 2000.

(b) Qual a razão desse erro relativo grande: o problema é malcondicionado ou há instabilidade numérica? Justifique eapresente uma forma de calcular f (x) que não apresente errosrelativos tão grandes.

54 / 358

Propagação de erros

f (x) = x −√

x2 − 1, x = 0.200000× 104

sistema VF (10,6,−30,30) ⇒ x = x

z1 = x2 = 0.4000000× 107 ≈ 0.400000× 107 = z1

z2 = z1 − 1 ≈ z1 − 1 = 0.3999999× 107 ≈ 0.400000× 107 = z2

z3 =√

z2 ≈√

z2 = 2000 = z3

z4 = x − z3 ≈ x − z3 = 0

|δz | =|2.5 . . .× 10−4 − 0||2.5 . . .× 10−4|

= 1⇒ 100 % erro

I Má aproximação porquê?I Condicionamento ou estabilidade?I δx = 0

55 / 358

Propagação de erros

Será que a função f (x) = x −√

x2 − 1 é bem condicionadapara x = 2000?

δf = x1− 2x

2√

x2−1

x −√

x2 − 1δx =

x√

x2−1−x√x2−1

x −√

x2 − 1δx = − x√

x2 − 1δx

p2000 = − 2000√20002 − 1

= −1.000000125

Se x2 − 1 ≈ x2 então

px ≈ −x√x2

= −1⇒ prob. bem cond.

56 / 358

Propagação de erros

I Como evitar o cancelamento subtractivo para x2 − 1 ≈ x2?I Diferença de quadrados (a− b)(a + b) = a2 − b2 com

a = x e b =√

x2 − 1

f (x) = x−√

x2 − 1 =(x −

√x2 − 1)(x +

√x2 − 1)

x +√

x2 − 1=

1x +√

x2 − 1

I Novo algoritmo:z1 = x2

z2 = z1 − 1z3 =

√z2

z4 = x + z3z5 = 1/z4

px ≈ −x√x2

= −1⇒ prob. bem cond.

57 / 358

Propagação de erros

f (x) =1

x +√

x2 − 1, x = 2000, VF (10,6,−30,30)

z1 = x2 = 0.4000000× 107 ≈ 0.400000× 107 = z1

z2 = z1 − 1 ≈ z1 − 1 = 0.3999999× 107 ≈ 0.400000× 107 = z2

z3 =√

z2 ≈√

z2 = 2000 = z3

z4 = x + z3 ≈ x + z3 = 4000

z5 = 1/z4 ≈ 1/z4 = 0.25000000 . . .× 10−3 ≈ 0.250000× 10−3

|δz | =|2.500000156250020 . . .× 10−4 − 0.250000× 10−3|

|2.500000156250020 . . .× 10−4|

|δz | ≈ 6.25× 10−8 ⇒ 6.25× 10−6 % erro

58 / 358

Propagação de erros.

I Como evitar o cancelamento subtractivo no cálculo def (x) = 1− cos(x) para x ≈ 0?

f (x) = 1− cos(x) = 2 sin2(x/2)

δf = xcos(x/2)

sin(x/2)δx

limx→0

px = limx→0

cos(x/2)− x/2 sin(x/2)

0.5 cos(x/2)= 2,

I Novo algoritmo:z1 = x/2z2 = sin(z1)z3 = z2

2z4 = 2z3

Problema bem condicionado e algoritmo numericamente estável.

59 / 358

Propagação de erros

f (x) = 1−cos(x) = 2 sin2(x/2), x = 0.0001, VF (10,4, t1, t2)

z1 = x/2 = x/2 = 0.5000× 10−4

z2 = sin(z1) = 0.49999999979...× 10−4 ≈ 0.5000...× 10−4

z3 = z22 ≈ 0.2500× 10−8

z4 = 2z3 ≈ 0.5000× 10−8

|δz | =|f (0.0001)− z4||f (0.0001)|

= 8.3× 10−10

60 / 358

Propagação de erros

Exemplo: Calcular f (x) = 1− cos(x) usando a série de Maclaurinde cos x num sistema VF (10,4, t1, t2) com x = 0.0001

f (x) = f (x0) + f ′(x0)(x − x0) +f ′′(x0)

2!(x − x0)2 + . . .

cos x = 1− x2

2!+

x4

4!− x6

6!+ . . .

1− cos x =x2

2!− x4

4!+

x6

6!+ . . .

Algoritmo:|δz | = 8.3× 10−10

z1 = x2 = 0.100000...× 10−7 = 0.1000× 10−7

z2 = z1/2 = 0.50000...× 10−8 = 0.5000× 10−8

z3 = x4 = 0.10000...× 10−15 = 0.1000× 10−15

z4 = z3/24 = 0.416666...× 10−17 ≈ 0.4200× 10−17

z5 = z2 − z4 = 0.49999...× 10−8 ≈ 0.5000× 10−8

61 / 358

Propagação de erros

Exemplo: Cálculo de f (x) = 1− cos(x) de várias formas numsistema VF (10,4, t1, t2) com x = 0.0001

Fórmula % erro

1− cos(x) 100

x2/2!− x4/4! + ... 8.3× 10−10

2 sin2(x/2) 8.3× 10−10

62 / 358

Propagação de errosExemplo: Fórmula de Leibniz para π = 3.141592653589793 . . .

1− 13

+15− 1

7+

19− . . . =

π

4, π = 4

∞∑n=0

(−1)n

2n + 1

no de termos da série Aproximação π |eπ| |δπ|1 4.000000000000000 0.858 0.2732 2.666666666666667 0.475 0.1513 3.466666666666667 0.325 0.1034 2.895238095238096 0.246 0.0785 3.339682539682540 0.198 0.0636 2.976046176046177 0.166 0.0537 3.283738483738484 0.142 0.0458 3.017071817071818 0.125 0.0409 3.252365934718877 0.111 0.03510 3.041839618929403 0.100 0.03216 3.079153394197428 0.062 0.02017 3.200365515409549 0.059 0.01918 3.086079801123835 0.056 0.01819 3.194187909231943 0.053 0.01720 3.091623806667840 0.050 0.016

63 / 358

Propagação de errosno de termos da série Aproximação π |eπ| |δπ|

......

......

100 3.131592903558554 1.00× 10−2 3.18× 10−3

101 3.151493401070991 9.90× 10−3 3.15× 10−3

102 3.131788967573455 0.009803686 0.003120610...

......

...20000 3.141542653589825 5.00× 10−5 1.59× 10−5

......

......

100000 3.141582653589720 1.00× 10−5 3.18× 10−6

......

......

π = 3.141592653589793 . . .

x0 = 4, xn = xn−1 + 4(−1)n

2n + 1, n = 1,2, . . .

Convergência sub-linear: limn→∞|en+1||en| = 1

64 / 358

Capítulo 2

Equações não lineares

I Método da bissecçãoI Método de NewtonI Método do ponto fixo

65 / 358

Métodos iterativos para equações não lineares

Objectivo: Calcular zeros de funções não lineares.

f (x) = 0

I 2x + 3 = 0 (equação linear)I x4 − 2x3 − x + 4 = 0 (equação não linear algébrica)I 2ex − x sin(x + 1) = 0 (equação não linear transcendental)

66 / 358

Base do método da bissecção

I Pesquisa BináriaI Teorema de Bolzano

67 / 358

Base do método da bissecção

Teorema de Bolzano – existência de raizSeja f ∈ C0[a;b].Se f (a)f (b) < 0 então existe pelo menos uma raiz daequação f (x) = 0 no intervalo ]a;b[.

b

a

x

f(x)

Existe pelo menos uma raiz entre dois pontos onde umafunção contínua troca de sinal.

68 / 358

Base do método da bissecção

Se a função f (x) troca de sinal entre dois pontos entãopode existir mais do que uma raiz da equação f (x) = 0entre os dois pontos.

b

a x

f(x)

69 / 358

Base do método da bissecção

Teorema – existência e unicidadeSe

1. f é contínua em [a;b];2. f (a)f (b) < 0;3. f ′(x) 6= 0 em [a;b],

entãoexiste uma e uma só raiz da equação f (x) = 0no intervalo [a;b].

f(x)

x

a

b

70 / 358

Base do método da bissecção

Problema: Localizar graficamente as raízes da equação

f (x) = |x | − ex = 0

Note-se que f (x) = 0⇔ |x | = ex

O único ponto de intercepção situa-se no intervalo [−0.9;−0.1].

1. f é contínua em [−0.9;−0.1];2. f (−0.9)f (−0.1) = (0.493)(−0.804) = −0.397 < 03. f ′(x) = −1− ex , se x < 0, logo f ′(x) < 0 se x ∈ [−0.9;−0.1].

71 / 358

Processo iterativo do método da bissecção

Dado um intervalo [a; b] tal que

f (a)f (b) < 0 ∧ f ′(x) 6= 0, ∀x ∈ [a; b]

estimar a raiz como o ponto médio do intervalo [a; b]:

xm =a + b

2

I se f (xm) = 0 (z = xm) então parar.I se f (a)f (xm) < 0 (z ∈ [a; xm]) então a = a , b = xm

I se f (a)f (xm) > 0 (z ∈ [xm; b]) então a = xm, b = b

Condição de paragem:1. (b − a)/2 < ε.2. Número máximo de iteradas atingido e (b − a)/2 ≥ ε

(solução não encontada).72 / 358

Método da bissecção

Problema: Usar o método da bissecção para descobrir, numautoclismo, qual é a parte da bola que fica debaixo de água?

Diâmetro = 11 cm e Raio = 5.5 cm

x3 − 0.165x2 + 3.993× 10−4 = 0

Da física do problema a bola ficará submergida entrex = 0 e x = Diâmetro: 0 ≤ x ≤ 0.11m

73 / 358

Método da bissecção

Escolher um intervalo onde exista uma raiz única da equação

x3 − 0.165x2 + 3.993× 10−4 = 0

f ′(x) = 3x2 − 2× 0.165x = 3x(x − 0.11)

f ′(x) = 0⇔ x = 0 ∨ x = 0.11

f (0.01)f (0.10) = (3.84×10−4)(−2.51×10−4) = −9.62×10−8 < 0

No intervalo [0.01; 0.10] a função:I é contínua,I troca de sinal eI a derivada é sempre diferente de zero.

74 / 358

Método da bissecção, 1a iterada

a = 0.01, b = 0.10

Critério de paragem: |z − xm| ≤ (b − a)/2 < 2× 10−2

x1 =a + b

2=

0.01 + 0.102

= 0.055

|e1| = |z − x1| ≤0.10− 0.01

2= 4.5× 10−2 > 2× 10−2

75 / 358

Método da bissecção, 2a iterada

Escolher novo intervalo: f (a)f (x1) = f (0.01)f (0.055) =(3.8× 10−4)(6.7× 10−5) = 2.6× 10−8 > 0

Conclusão: z ∈ [0.055; 0.10], logo a = 0.055 e b = 0.10

x2 =a + b

2=

0.055 + 0.102

= 0.0775

|e2| = |z − x2| ≤0.10− 0.055

2= 2.25× 10−2 > 2× 10−2

76 / 358

Método da bissecção, 3a iterada

Escolher novo intervalo: f (a)f (x2) = f (0.055)f (0.0775) =(6.7× 10−5)(−1.3× 10−4) = −8.4× 10−9 < 0

Conclusão: z ∈ [0.055; 0.0775], logo a = 0.055 e b = 0.0775

x3 =a + b

2=

0.055 + 0.07752

= 0.06625

|e3| = |z−x3| ≤0.0775− 0.055

2= 1.125×10−2 < 2×10−2 Parar

z ≈ 0.06625

77 / 358

Método da bissecção

m a b (b − a)/2 xm f (xm)

1 0.0100000 0.1000000 4.6× 10−2 0.0550000 6.7× 10−5

2 0.0550000 0.1000000 2.6× 10−2 0.0775000 −1.3× 10−4

3 0.0550000 0.0775000 1.1× 10−2 0.0662500 −3.4× 10−5

4 0.0550000 0.0662500 5.6× 10−3 0.0606250 1.6× 10−5

5 0.0606250 0.0662500 2.8× 10−3 0.0634375 −9.4× 10−6

6 0.0606250 0.0634375 1.5× 10−3 0.0620313 3.1× 10−6

7 0.0620313 0.0634375 7.0× 10−4 0.0627344 −3.2× 10−6

8 0.0620313 0.0627344 3.5× 10−4 0.0623828 −4.7× 10−8

9 0.0620313 0.0623828 1.8× 10−4 0.0622070 1.5× 10−6

10 0.0622070 0.0623828 7.9× 10−6 0.0622949 7.4× 10−7

11 0.0622949 0.0623828 3.9× 10−6 0.0623389 3.5× 10−7

z ≈ 0.062

Critério de paragem: (b − a)/2 < 10−4.

78 / 358

Vantagens do método da bissecção

I Converge sempre desde que a função seja contínuae troque de sinal.

I Em cada iterada o comprimento do intervalo quecontém a raiz passa a metade do anterior, ou seja,o majorante do erro fica metade do anterior.

79 / 358

Desvantagens do método da bissecção

I Convergência lenta.I Se um dos extremos do intervalo inicial está próximo

da raiz, então a convergência é muito lenta.

I Se a função f (x) é tal que apenas toca o eixo dos x ’snum ponto, então se consegue descobrir um intervaloinicial [a;b]; p.e. f (x) = x2.

f(x)

x80 / 358

Desvantagens do método da bissecção

I A função muda de sinal mas a raiz não existe.

81 / 358

Método da bissecção. Erro

2211 e = z - xe = z - x

(b - a)/4(b - a)/2

2x 1xz ba1 bxza

|e1| = |z − x1| ≤b − a

21

|e2| = |z − x2| ≤b − a

22

...

|en| = |z − xn| ≤b − a

2n

82 / 358

Método da bissecção. Erro

Número mínimo de iteradas para que |en| < ε:

|en| ≤b − a

2n < ε

b − a2n < ε⇔ 2n >

b − aε⇔ n >

ln[(b − a)/ε]ln 2

n =

⌈ln((b − a)/ε)

ln 2

83 / 358

Método da bissecção

Exercício 1 da Lista: Considere a equação

sin(x)− e−x = 0

(a) Prove que esta equação tem uma e uma só raizz ∈ [0.5;0.7].

(b) Efectue três iterações pelo método da bissecção eindique um majorante do erro dessa aproximação.

(c) Determine o número m de iterações necessárias paragarantir |z − xm| < 10−6.

84 / 358

Método da bissecção(a) f ∈ C0[a; b], f (a)f (b) < 0 f (x) = sin(x)− e−x

f (0.5) = −0.127 < 0 ∧ f (0.7) = 0.147 > 0⇒ f (0.5)f (0.7) < 0,donde ∃ z ∈ [0.5; 0.7] : f (z) = 0

f ′(x) = cos(x) + e−x 6= 0, ∀x ∈ [0.5; 0.7]⇒ raiz única.

(b)x1 = (0.5 + 0.7)/2 = 0.6 f (0.5)f (x1) < 0⇒ z ∈ [0.5; 0.6]

x2 = (0.5 + 0.6)/2 = 0.55 f (0.5)f (x2) > 0⇒ z ∈ [0.55; 0.6]

x3 = (0.55 + 0.6)/2 = 0.575 f (0.55)f (x3) > 0⇒ z ∈ [0.575; 0.6]

-f(x)0.70.60.5750.550.5

ba

+-- + sinal de f(x)

2 3 1xx x

85 / 358

Método da bissecção

(c) Número mínimo de iteradas para que |en| < 10−6:

|em| ≤b − a

2m < ε

0.7− 0.52m < 10−6 ⇔ 2m >

0.7− 0.510−6 ⇔

⇔ m >ln[(0.7− 0.5)/10−6]

ln 2= 17.6

São precisas 18 iteradaspara garantir que o erro seja menor que 10−6

86 / 358

Método da Bissecção. Convergência.Diz-se que um método tem convergência linear quando

|en| = Cn|en−1|, 0 < Cn < 1

Aplicando o método da bissecção com

f (x) = x3 − 3x + 2 = (x + 2)(x − 1)2, I = [−2.5;−1.8]

obtém-se:

|en| = |z − xn| = |(−2)− xn|

|e1| = 0.1500

|e2| = 0.0250 = 0.17 |e1|, o erro diminuiu de x1 para x2

|e3| = 0.0625 = 2.5 |e2|, o erro aumentou de x2 para x3

|e4| = 0.01875 = 0.3 |e3|, o erro diminuiu de x3 para x4

...

logo o método da bissecção não tem convergência linear87 / 358

Método da Bissecção. Convergência.Num método com convergência linear tém-se

|en| = Cn|en−1|, 0 < Cn < 1 (1)

Logo, |en| = Cn|en−1| ≤ C|en−1| ≤ C2|en−2| ≤ . . . ≤ Cn|e0|,com 0 < Cn ≤ C < 1. Como |e0| ≤ (b − a) vem

|en| ≤ Cn(b − a) (2)

Esta condição é necessária (mas não suficiente) para aconvergência ser linear. Para o método da bissecção,

|en| ≤12n (b − a)

Por conseguinte, a condição (2) é satisfeita com C = 1/2, maspor observação do exemplo anterior vemos que o método dabissecção não tem convergência linear, isto é, a condição (1)não se verifica para todos os passos.

88 / 358

Métodos iterativos para equações não lineares

Método iterativoI x0 aproximação inicialI obter xn+1 a partir de xn

89 / 358

Métodos iterativos para equações não linearesExemplo: f (x) = x2 − 2 = 0

xn+1 =12

(xn +

2xn

), lim

n→∞xn =

√2

x0 = 1, |e0| = |√

2−1| = 0.4142

x1 =12

(x0 +

2x0

)= 1.5, |e1| = |

√2−1.5| = 0.08578

x2 =12

(x1 +

2x1

)= 1.416666666666667, |e2| = 0.002453

x3 =12

(x2 +

2x2

)= 1.414215686274510, |e3| = 2.12×10−6

x4 =12

(x3 +

2x3

)= 1.414213562374690, |e4| = 1.59×10−12

...

90 / 358

Método de Newton

Recta tangente no ponto x0: Tx0(x) = f (x0) + f ′(x0)(x − x0)

Tx0(x1) = f (x0) + f ′(x0)(x1 − x0)

Tx0(x1) = 0⇔ x1 = x0 −f (x0)

f ′(x0)

91 / 358

Processo iterativo do método de Newton

x0 ∈ R

xn+1 = xn −f (xn)

f ′(xn), n = 0,1,2, . . .

Condição de de paragem:1. A distância entre iteradas sucessivas é suficientemente

pequena: |xn+1 − xn| < ε

2. Número máximo de iteradas atingido e a condição 1. nãose verificou.

92 / 358

Método de NewtonProblema: Pretende-se calcular a raiz positiva da equação

f (x) = x2 − 2 = 0

pelo método de Newton com critério de paragem

|xn+1 − xn| < 10−5

93 / 358

Método de Newton

xn+1 = xn −f (xn)

f ′(xn)= xn −

x2n − 22xn

, z ∈ [1; 2]

Critério de paragem: |xn+1 − xn| < 10−5

x0 = 1,

x1 = x0−x2

0 − 22x0

= 1.5, |x1−x0| = 0.5

x2 = x1−x2

1 − 22x1

= 1.416666666666667, |x2−x1| = 8.3×10−2

x3 = x2−x2

2 − 22x2

= 1.414215686274510, |x3−x2| = 2.5×10−3

x4 = x3−x2

3 − 22x3

= 1.414213562374690, |x4−x3| = 2.1×10−6

z ≈ 1.4142194 / 358

Vantagens do método de Newton

I Quando converge, converge rapidamente;em geral tem convergência quadrática

en+1 = Cne2n

I Precisa de apenas um valor inicial.

95 / 358

Convergência linear e quadrática

xn = 3 +12n , yn = 3 +

122n−1 , lim

n→∞xn = lim

n→∞yn = 3

en = 3− xn, εn = 3− yn

limn→∞

|en+1||en|

= limn→∞

2n

2n+1 =12

limn→∞

|εn+1||εn|

= limn→∞

22n−1

22n+1−1= 0

limn→∞

|εn+1||εn|2

= limn→∞

(22n−1)2

22n+1−1=

12

xn converge linearmenteyn converge quadraticamente

96 / 358

Desvantagens do método de NewtonI Divergência nos pontos de inflexão:

uma aproximação inicial x0, ou uma iterada, próxima deum ponto de inflexão de f (x) pode dar origem a que asucessão comece a afastar-se da raiz (divergência).

f (x) = (x − 1)3 + 0.729 = 0

Método de Newton:

xn+1 = xn −(xn − 1)3 + 0.729

3(xn − 1)2

O método começa a divergir na 4a iterada porque a iteradaanterior x3 = 0.96728 está muito próxima do ponto deinflexão x = 1; f ′′(x) = 0⇔ x = 1.(f ′′(x) < 0 se x < 1 e f ′′(x) > 0 se x > 1).

Após 22 iteradas o método acaba por convergir para a raizz = 0.1.

97 / 358

Desvantagens do método de Newton

98 / 358

Desvantagens do método de NewtonI Divergência nos pontos de inflexão:

O método de Newton pode mesmo não convergir quandohá pontos de inflexão.

f (x) = 5x − x3 = 0, xn+1 = xn −5xn − x3

n

5− 3x2n

99 / 358

Desvantagens do método de NewtonI Divisão por zero:

Exemplo: f (x) = x2 − 1 com x0 = 0.

xn+1 = xn −x2

n − 12xn

= 0− −10

Exemplo: f (x) = x3 − 0.03x2 + 2.4× 10−6 = 0 com x0 = 0ou x0 = 0.02; note-se que f ′(x) = 3x(x − 0.02).

100 / 358

Desvantagens do método de Newton

I Derivada indefinida na raiz:

Exemplo: f (x) = x1/3. Derivada indefinida em z = 0.

xn+1 = xn −x1/3

n

13x

13−1

n

= −2xn

Diverge. Duplica o erro em cada iterada.

101 / 358

Desvantagens do método de Newton

I Saltos entre as raízes:

Quando a função oscila e tem várias raízes podemosescolher uma aproximação inicial perto de uma raiz e ométodo convergir para outra raiz mais distante.

102 / 358

Método de Newton

Teorema (Condições suficientes de convergência)Seja f ∈ C2[a; b] tal que

(i) f (a)f (b) ≤ 0

(ii) f ′(x) 6= 0, ∀x ∈ [a; b]

(iii) f ′′(x) > 0 ou f ′′(x) < 0, ∀x ∈ [a; b]

(iv) |f (a)/f ′(a)| < |b − a| e |f (b)/f ′(b)| < |b − a|

então a equação f (x) = 0 tem uma única solução z ∈ [a; b] e ométodo de Newton converge quadraticamente para z.

103 / 358

Método de Newton

Teorema (Condições suficientes de convergência)Seja f ∈ C2[a; b] tal que

(i) f (a)f (b) ≤ 0

(ii) f ′(x) 6= 0, ∀x ∈ [a; b]

(iii) f ′′(x) > 0 ou f ′′(x) < 0, ∀x ∈ [a; b]

(iv’) f (x0)f ′′(x) ≥ 0, ∀x ∈ [a; b]

então a equação f (x) = 0 tem uma única solução z ∈ [a; b] e ométodo de Newton converge monótona e quadraticamente para z.

Se a condição

(iv) |f (a)/f ′(a)| < |b − a| e |f (b)/f ′(b)| < |b − a|

se verificar então x1 verifica (iv’) havendo convergência∀x0 ∈ [a; b]

104 / 358

Erro no Método de Newton. Convergência quadrática

Pela série de Taylor tem-se

f (z) = f (xn) + f ′(xn)(z − xn) +12

f ′′(ξ)(z − xn)2, ξ ∈ [z; xn]

0 =f (xn)

f ′(xn)+ (z − xn) +

12

f ′′(ξ)

f ′(xn)(z − xn)2

z −(

xn −f (xn)

f ′(xn)

)= −1

2f ′′(ξ)

f ′(xn)(z − xn)2

en+1 = −12

f ′′(ξ)

f ′(xn)e2

n

|en+1| ≤ K |en|2, K =max |f ′′(x)|2 min |f ′(x)|

105 / 358

Método de NewtonProposição (Convergência local)Seja f ∈ C2(Vz), onde Vz é uma vizinhança de z.Se f ′(z) 6= 0 e f ′′(z) 6= 0, então o método de Newton convergepara z, desde que x0 ∈ Vz , e a convergência é quadrática,

limn→∞

|en+1||en|2

=|f ′′(z)|2|f ′(z)|

|en| ≤1K

(K |e0|)2n, K =

max |f ′′(x)|2 min |f ′(x)|

Observação:Se f ′(z) = 0 (p.ex. raízes duplas) então a convergência é linear.

f (x) = (x − z)kh(x), k > 1, g′(z) = 1− 1/k 6= 0.

106 / 358

Método de Newton

Exercício 16 da Lista: −x3 + 14x − 1− ex = 0

(a) Mostre que se x0 ∈ [2.6; 3] estão asseguradas as condiçõesde convergência do método de Newton.

f (x) = −x3 + 14x − 1− ex , f ∈ C2(I)

f ′(x) = −3x2 + 14− ex

f ′′(x) = −6x − ex

(i) f (a)f (b) < 0

f (2.6) = 4.36 ∧ f (3) = −6.09⇒ f (2.6)f (3) < 0

107 / 358

Método de Newton

−x3 + 14x − 1− ex = 0

(ii) f ′(x) 6= 0 ∀x ∈ I

f ′(x) = 0⇔ −3x2 + 14− ex = 0 equação não linear

f ′′(x) < 0 ∀x ∈ I ⇒ f ′ decrescente em I

f ′(2.6) = −19.7 < 0f ′(3.0) = −33.1 < 0 ⇒ f ′(x) < 0 ∀x ∈ I ⇒ f ′(x) 6= 0 ∀x ∈ If ′(x) decrescente

(iii) f ′′(x) ≥ 0 ou f ′′(x) ≤ 0, ∀x ∈ I

f ′′(x) = −6x − ex < 0 ∀x ∈ I

(iv′) |f (a)/f ′(a)| < |b − a| e |f (b)/f ′(b)| < |b − a|

0.22 =

∣∣∣∣ f (2.6)

f ′(2.6)

∣∣∣∣ < |3−2.6| = 0.4 ∧ 0.18 =

∣∣∣∣ f (3)

f ′(3)

∣∣∣∣ < |3−2.6| = 0.4

108 / 358

Método de Newton

−x3 + 14x − 1− ex = 0

(b) Efectue três iterações pelo método de Newton.

xn+1 = xn −f (xn)

f ′(xn)= xn −

−x3n + 14xn − 1− exn

−3x2n + 14− exn

x0 = 2.6

x1 = 2.820842778468213

x2 = 2.792897971089660

x3 = 2.792389513065817

109 / 358

Método de Newton

f (x) = −x3 + 14x − 1− ex = 0, I = [2.6; 3]

(c) Determine um majorante do erro de x3.

|en| ≤1K

(K |e0|)2n ≤ 1K

(K (b − a))2n, K =

max |f ′′(x)|2 min |f ′(x)|

|e3| ≤1

0.965(0.965(3− 2.6))23 ≈ 5.1× 10−4

f ′(x) = −3x2 + 14− ex

f ′′(x) = −6x − ex < 0⇒ f ′ decrescente em I

f ′′′(x) = −6− ex < 0⇒ f ′′ decrescente em I

x 2.6 3 K = 38.0855/(2(19.74)) = 0.965f ′(x) −19.74 −33.0855f ′′(x) −29.06 −38.0855

110 / 358

Método de Newton

Alternativa para calcular o majorante do erro de x3,

|e3| = |z − x3| ≤ ?

|en| ≤ K |en−1|2, K =maxx∈I |f ′′(x)|2 minx∈I |f ′(x)|

|e1| ≤ K |e0|2 ≤ K (b − a)2

|e2| ≤ K |e1|2 ≤ K (K (b − a)2)2 = K 3(b − a)4

|e3| ≤ K |e2|2 ≤ K (K 3(b − a)4)2 = K 7(b − a)8

|e3| ≤ K 7(b − a)8 = 0.9657(3− 2.6)8 = 5.1× 10−4

111 / 358

Método do ponto fixo

f (x) = 0⇔ x = g(x)

f (z) = 0⇔ z é zero de f (x)

z = g(z)⇔ z é ponto fixo de g(x)

Método iterativo do ponto fixoI Escolher x0 ∈ RI Iterar xn+1 = g(xn), n = 0,1,2, . . .

112 / 358

Método do ponto fixo

Escolher a função iteradora g(x) tal que f (x) = 0⇔ x = g(x)

Exemplo: f (x) = x2 − x − 2

(a) f (x) = 0⇔ x = x2 − 2

g(x) = x2 − 2

(b) f (x) = 0⇔ x2 = 2 + x ⇔ x = ±√

2 + x

g(x) =√

2 + x

(c) f (x) = 0⇔ x2 = 2 + x ⇔ x = 2+xx ⇔ x = 1 + 2

x

g(x) = 1 +2x

113 / 358

Método do ponto fixo

1X X2 X03X

y = x

y = g(x)

-1 < g’(z) < 0

x

y

Z

Convergência alternada

114 / 358

Método do ponto fixo

1XX2 X03X

Convergência monótona

x

y

Z

y = g(x)

0 < g’(z) < 1 y = x

115 / 358

Método do ponto fixo

1XX2 X03X

y = x

y = g(x)

g’(z) > 1

x

y

Z

Divergência

116 / 358

Método do ponto fixo

X3 0X 2XX1 Z

y

x

Divergência

y = xg’(z) < -1

y = g(x)

117 / 358

Método do ponto fixoDefinição:Uma função g contínua em [a; b] diz-se Lipschitziana seexistir L ≥ 0 tal que

|g(x)− g(y)| ≤ L|x − y |, ∀x , y ∈ [a; b]

Se L < 1 a função diz-se Contractiva.

Proposição:g ∈ C1[a; b] com |g′(x)| ≤ L < 1, ∀x ∈ [a; b]⇒ g é contractivaem [a; b].

Dem: g(x)− g(y) = g′(ξ)(x − y), ξ ∈ int [x , y ] ⊂ [a; b](Teorema de Lagrange)

|g(x)− g(y)| ≤ maxx∈[a;b]

|g′(x)||x − y | ≤ L|x − y |

118 / 358

Método do ponto fixo

Teorema do ponto fixo em [a; b]

Seja g uma função contínua em [a; b]

Se g for contractiva em [a; b] e g([a; b]) ⊆ [a; b] então:I g tem um e um só ponto fixo z em [a; b]

I a sucessão xn+1 = g(xn) converge para z, ∀x0 ∈ [a; b]

Dem:• Existência (do ponto fixo)Seja h(x) = g(x)− x ∈ C[a; b]

Como g([a; b]) ⊆ [a; b] temos g(a) ≥ a e g(b) ≤ b.Logo h(a)h(b) < 0.Logo, pelo T. valor intermédio, ∃ z : h(z) = 0, ou seja z = g(z).

119 / 358

Método do ponto fixo

• Unicidade (do ponto fixo)Seja g é contractiva e z e w pontos fixos de g em [a; b]. Então|z − w | = |g(z)− g(w)| ≤ L|z − w |, logo (1− L)|z − w | ≤ 0.Como L < 1 vem |z − w | = 0, ou seja z = w .

• Convergênciag([a; b]) ⊆ [a; b] (xn ∈ [a; b]⇒ xn+1 = g(xn) ∈ [a; b])|z − xn| = |g(z)− g(xn−1)| ≤ L|z − xn−1| ≤ L2|z − xn−2| ≤ . . .. . . ≤ Ln|z − x0| ≤ Ln|b − a|

|en| ≤ Ln|b − a|

Como L < 1 tem-se limn→∞ |en| = 0 2

120 / 358

Método do ponto fixo

Majorações de erro:

|en| ≤ Ln|b − a|

|en| ≤L

1− L|xn − xn−1|

|en| ≤Ln

1− L|x1 − x0|

121 / 358

Método do ponto fixo

CorolárioSeja g ∈ C1[a; b]. Se

(i) g([a; b]) ⊆ [a; b],

(ii) L = maxx∈[a;b] |g′(x)| < 1

então as condições do teorema do ponto fixo verificam-se e

I g tem um e um só ponto fixo z ∈ [a; b]

I A sucessão xn+1 = g(xn) converge para z, qualquer queseja x0 ∈ [a; b]

Observação:

I 0 < g′(z) < 1 convergência monótonaI −1 < g′(z) < 0 convergência alternada

122 / 358

Método do ponto fixo. Convergência alternada

1 4 2 0z

3xx x xx

|e1| ≤|x1 − x0|

2

|e2| ≤|x2 − x1|

2

|e3| ≤|x3 − x2|

2...

|en| ≤|xn − xn−1|

2

123 / 358

Método do ponto fixo. ObservaçãoDemonstrar a condição g([a; b]) ⊂ [a; b]

1. g é monótona.

g(a) ≤ g(x) ≤ g(b) ∀x ∈ [a; b] crescente

g(b) ≤ g(x) ≤ g(a) ∀x ∈ [a; b] decrescente

Neste caso prova-se que:

• g′(x) 6= 0 ∀x ∈ [a; b]

• g(a),g(b) ∈ [a; b]

2. g não é monótona.

g′(x) = 0⇔ x = c1 ∨ . . . ∨ x = ck

Neste caso prova-se que:

• g e monotona nos intervalos [a; c1], [c1; c2], . . . [ck ; b]

• g(a),g(c1), . . .g(ck ),g(b) ∈ [a; b]

124 / 358

Método do ponto fixo. ObservaçãoDemonstrar a condição L = maxx∈[a;b] |g′(x)| < 1

1. g′ é monótona.Neste caso prova-se que:

• g′′(x) 6= 0 ∀x ∈ [a; b]

• L = maxx∈[a;b]

|g′(x)| = max|g′(a)|, |g′(b)| = . . . < 1

2. g′ não é monótona.

g′′(x) = 0⇔ x = c1 ∨ . . . ∨ x = ck

Neste caso prova-se que:

• g′ e monotona nos intervalos [a; c1], [c1; c2], . . . [ck ; b]

• L = max|g′(a)|, |g′(c1)|, . . . , |g′(ck )|, |g′(b)| = . . . < 1

125 / 358

Método do ponto fixo

Teorema (Divergência)Seja g ∈ C1[a; b] tal que minx∈[a;b] |g′(x)| > 1Então a sucessão xn+1 = g(xn) não pode convergir para oponto fixo z de g situado em [a; b].

Teorema (Convergência local)Seja z um ponto fixo de g, função diferenciável numavizinhança de z tal que |g′(z)| < 1Então a sucessão xn+1 = g(xn) converge para z desde que x0

esteja suficientemente próximo de z.

126 / 358

Método do ponto fixoExercício 3 da Lista:

g(x) =1 + ex + x3

14, xn+1 = g(xn), I ≡ [0; 1]

(a) Mostre que esta sucessão tem limite z ∈ [0; 1], ∀x0 ∈ [0; 1].

g ∈ C1(I)

(i) g(I) ⊂ Ig(0) = 0.1429 ∈ Ig(1) = 0.3370 ∈ I ⇒ g(I) ⊂ Ig′(x) = (ex + 3x2)/14 > 0⇒ g(x) crescente

(ii) L = maxx∈I |g′(x)| < 1

g′′(x) =ex + 6x

14> 0⇒ g′(x) crescente

x 0 1 L = 0.4084 < 1g′(x) 0.0714 0.4084

127 / 358

Método do ponto fixo

g(x) =1 + ex + x3

14, x0 = 0

(b) Calcule x5 e determine um majorante de |z − x5|.

xn+1 = g(xn) =1 + exn + x3

n14

x1 = (1 + ex0 + x30 )/14 = 0.142857142857143

x2 = (1 + ex1 + x31 )/14 = 0.154034317627868

x3 = (1 + ex2 + x32 )/14 = 0.155013258917159

x4 = (1 + ex3 + x33 )/14 = 0.155099876700439

x5 = (1 + ex4 + x34 )/14 = 0.155107547643310

|e5| ≤ L5(b − a) = 0.40845(1− 0) = 0.01136

|e5| ≤L

1− L|x5 − x4| = 5.29× 10−6

128 / 358

Método do ponto fixo

g(x) =1 + ex + x3

14(c) Verifique que g tem um único ponto fixo em [2; 3].

x = g(x)⇔ x =1 + ex + x3

14⇔ 14x = 1 + ex + x3 ⇔

⇔ 1 + ex + x3 − 14x = 0⇔ f (x) = 0

f (2) = −11.6 < 0 ∧ f (3) = 6.09 > 0⇒ f (2)f (3) < 0 existencia

f ′(x) = ex + 3x2 − 14

f ′′(x) = ex + 6x > 0⇒ f ′(x) crescente

f ′(x) crescentef ′(2) = 5.389 > 0 ⇒ f ′(x) > 0 ∀x ∈ I ⇒ f ′(x) 6= 0 ∀x ∈ I unicidadef ′(3) = 33.09 > 0

129 / 358

Método do ponto fixo

g(x) =1 + ex + x3

14(d) Poderá usar, para a sua determinação, o método iterativobaseado na função iteradora g?

g ∈ C1[2; 3] e g′′(x) =ex + 6x

14> 0⇒ g′(x) crescente

x 2 3 minx∈I |g′(x)| = 1.4 > 1g′(x) 1.3849 3.3632

Logo a sucessão xn+1 = g(xn) não pode convergir para z ∈ [2; 3]

130 / 358

Método do ponto fixoExercício 4 da Lista: xn+1 = 1 + arctan(xn)

g(x) = 1 + arctan(x), g ∈ C1(I)

(a) Indique um intervalo onde as condições do teorema doponto fixo sejam válidas para a função g.

x = g(x)⇔ x − g(x) = 0⇔ x − 1− arctan(x) = 0⇔ f (x) = 0

f (2)f (3) < 0⇔ z ∈ [2; 3] ≡ I

(i) g(I) ⊂ Ig(2) = 2.11 ∈ Ig(3) = 2.25 ∈ I ⇒ g(I) ⊂ Ig′(x) = (1 + x2)−1 > 0⇒ g(x) crescente

(ii) L = maxx∈I |g′(x)| < 1

g′′(x) = − 2x(1 + x2)2 < 0⇒ g′(x) decrescente

x 2 3g′(x) 0.2 0.1 L = 0.2 < 1 131 / 358

Método do ponto fixo

xn+1 = 1 + arctan(xn)

g(x) = 1 + arctan(x)

(b) Aproxime o ponto fixo de g com erro inferior a 10−6.

|en| ≤ Ln(b − a) < 10−6

Ln(b − a) < 10−6 ⇔ n >ln(10−6/(3− 2))

ln(0.2)⇔ n > 8.6⇒ n=9

x1 = 1 + arctan(x0) = 2.107148717794090x2 = 1 + arctan(x1) = 2.127694849140536

...x9 = 1 + arctan(x8) = 2.132267696896791

132 / 358

Método do ponto fixo. Ordem de convergência

Definição: Ordem de convergência p é o maior número realtal que o limite

limn→∞

|en+1||en|p

= K∞ (0 < K∞ < +∞)

existe e é diferente de zero; pode não existir e não ser inteiro.K∞ é o coeficiente assimptótico de convergência.

I Se p = 1 e 0 < K∞ < 1 a convergência diz-se linear.I Se p = 1 e K∞ = 1 a convergência diz-se sub-linear.I Se p = 2 a convergência diz-se quadrática.I Se p > 1 a convergência diz-se supra-linear.

133 / 358

Convergência linear e quadrática

xn = 3 +12n , yn = 3 +

122n−1 , lim

n→∞xn = lim

n→∞yn = 3

en = 3− xn, εn = 3− yn

limn→∞

|en+1||en|

= limn→∞

2n

2n+1 =12

limn→∞

|εn+1||εn|

= limn→∞

22n−1

22n+1−1= 0

limn→∞

|εn+1||εn|2

= limn→∞

(22n−1)2

22n+1−1=

12

xn converge linearmenteyn converge quadraticamente

134 / 358

Método do ponto fixo

Proposição (Convergência linear)Nas condições do teorema do ponto fixo, se g′(z) 6= 0 entãoa convergência é linear e K∞ = |g′(z)|.Dem:Pelo T. Lagrange

|z − xn+1| = |g(z)− g(xn)| = |g′(ξn)||z − xn|, ξn ∈ int [z; xn]

|en+1| = |g′(ξn)||en|

limn→∞

|en+1||en|

= |g′(z)| = K∞

(xn → z logo ξ → z) 2

Observação: z ∈ [a; b] ∧ g′(x) 6= 0 ∀x ∈ [a; b]⇒ g′(z) 6= 0

135 / 358

Método do ponto fixoTeorema (Convergência Supra-linear)Seja g ∈ Cp(Vz), Vz é uma vizinhança de z, z = g(z).

Se g′(z) = . . . = g(p−1)(z) = 0 ∧ g(p)(z) 6= 0,

então o método do ponto fixo tem ordem de convergência p

limn→∞

|en+1||en|p

=|g(p)(z)|

p!

Dem:Série de Taylor

en+1 = g(z)− g(xn) = g(z)− g(xn − z + z) = g(z)− g(z − en)

= g(z)− [g(z)− eng′(z) +12

e2ng′′(z) + . . .]

= eng′(z)− 12

e2ng′′(z) . . .

(−1)p−1

p!ep

ng(p)(ξ)

en+1 =(−1)p−1

p!g(p)(ξ)ep

n

. . . 2 136 / 358

Método do ponto fixo

|en+1| ≈ C|en|p ∧ |en| ≈ C|en−1|p

|en+1||en|

≈(|en||en−1|

)p

ln|en+1||en|

≈ p ln|en||en−1|

p ≈ ln(|en+1|/|en|)ln(|en|/|en−1|)

limn→∞

ln(|en+1|/|en|)ln(|en|/|en−1|)

= p

137 / 358

Método do ponto fixoxn |en| ≈ |x50 − xn| |en+1/en| pn = ln |en+1/en|

ln |en/en−1|x0 |e0|

x1 |e1| |e1/e0|

x2 |e2| |e2/e1| p1

x3 |e3| |e3/e2| p2

x4 |e4| |e4/e3| p3

x5 |e5| |e5/e4| p4...

......

...x49 |e49| |e49/e48| p48

x50

limn→∞

pn = p

138 / 358

Método do ponto fixo

Exercício 4 da Lista: xn+1 = 1 + arctan(xn)

g(x) = 1 + arctan(x)

(c) Qual é a ordem de convergência do método?

g′′(x) = −2x/(1 + x2)2 < 0⇒ g′(x) decrescente

g′(2) = 0.2 > 0g′(3) = 0.1 > 0 ⇒ g′(x) > 0 ∀x ∈ Ig′(x) decrescente

g′(x) > 0 ∀x ∈ I ∧ z ∈ I ⇒ g′(z) 6= 0⇒ p = 1

Convergência linear

139 / 358

Método do ponto fixoExercício 5 da Lista: Mostre que o seguinte método tem ordemde convergência p = 3 (z =

√10).

xn+1 =30xn + x3

n

10 + 3x2n

g(x) =30x + x3

10 + 3x2

g′(z) = g′′(z) = 0 ∧ g′′′(z) 6= 0⇒ p = 3

g′(x) =(30 + 3x2)(10 + 3x2)− 6x(30 + x3)

(10 + 3x2)2

g′(√

10) =(30 + 3(

√10)2)(10 + 3(

√10)2)− 6x(30 + (

√10)3)

(10 + 3(√

10)2)2= 0

...140 / 358

Método de Newton. Ordem de convergência

f (x) = x3 − 3x + 2 = (x + 2)(x − 1)2

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2−4

−3

−2

−1

0

1

2

3

4

5

141 / 358

Método de Newton. Ordem de convergênciaExemplo: f (x) = (x + 2)(x − 1)2, h(x) = (x − 1)(x + 2)

n xn com f (x) xn com h(x)

0 2.000000000000000 2.0000000000000001 1.555555555555556 1.2000000000000002 1.297906602254428 1.0117647058823533 1.155390199213767 1.0000457770656904 1.079562210414361 1.0000000006984925 1.040288435171016 1.0000000000000006 1.0202768097867347 1.0101723234314228 1.0050947410932719 1.00254952808282310 1.001275305026235

Convergência lenta

142 / 358

Método de Newton. Convergência LinearExemplo: Encontrar a raiz de f (x) = (x − 1)2.

en+1 = 1− xn+1 = 1− xn +(xn − 1)2

2(xn − 1)= 1− xn +

xn − 12

=

=2− 2xn + xn − 1

2=

12

(1− xn) =12

en

en+1 =12

en

Exemplo: Encontrar a raiz de f (x) = (x − 1)m.

en+1 = 1− xn+1 = 1− xn +(xn − 1)m

m(xn − 1)m−1 = 1− xn +xn − 1

m=

=m −mxn + xn − 1

m=

m − 1m

(1− xn) =m − 1

men

en+1 =m − 1

men

143 / 358

Método de Newton. Convergência Linear

TeoremaSeja f ∈ Cm+1([a,b]) e z ∈ (a,b). Se

f (z) = f ′(z) = f ′′(z) = . . . = f (m−1)(z) = 0 ∧ f (m)(z) 6= 0

i.e., se f tiver um zero com multiplicidade m > 1, então ométodo de Newton tem convergência linear desde quex0 ∈ [a; b] esteja suficientemente próximo de z. Além disso,

limn→∞

en+1

en=

m − 1m

144 / 358

Método de Newton. Convergência LinearDem:Diz-se que f tem um zero com multiplicidade m se

f (x) = (x − z)mh(x), h(z) 6= 0

f ′(x) = (x − z)mh′(x) + m(x − z)m−1h(x)

g(x) = x− (x − z)mh(x)

(x − z)mh′(x) + m(x − z)m−1h(x)= x− (x − z)h(x)

(x − z)h′(x) + mh(x)

g′(x) = 1− h(x)

(x − z)h′(x) + mh(x)−(x−z)

ddx

[h(x)

(x − z)h′(x) + mh(x)

]

g′(z) = 1− 1m6= 0, m > 1

Convergência linear. 2145 / 358

Método de Newton. Ordem de convergência

Observação:

g(x) = 1− f (x)

f ′(x), g′(x) =

f (x)f ′′(x)

[f ′(x)]2

g′′(x) =f ′′(x)

f ′(x)+ f (x)

f ′′′(x)f ′(x)− 2[f ′′(x)]2

[f ′(x)]3

Se f (z) = 0, f ′(z) 6= 0 (zero simples) e f ′′(z) 6= 0 então

g′(z) = 0 ∧ g′′(z) =f ′′(z)

f ′(z)6= 0

Convergência quadrática.

146 / 358

Método de Newton. Ordem de convergênciaTeoremaSeja f ∈ Cp(Vz), Vz é uma vizinhança de z, f (z) = 0.

Se f ′(z) 6= 0 ∧ f ′′(z) = . . . = f (p−1)(z) = 0 ∧ f (p)(z) 6= 0,

então o método de Newton tem ordem de convergência p

limn→∞

|en+1||en|p

=1p!

|f (p)(z)||f ′(z)|

Dem: aplicar o teorema da convergência supra-linear dométodo do ponto fixo com g(x) = x − f (x)/f ′(x).

g′(z) =f (z)f ′′(z)

(f ′(z))2 , g′′(z) =f ′′(z)

f ′(z), g′′′(z) = 2

f ′′′(z)

f ′(z),

g(4)(z) = 3f (4)(z)

f ′(z), g(5)(z) = 4

f (5)(z)

f ′(z), . . . g(p)(z) = (p−1)

f (p)(z)

f ′(z)

147 / 358

Observação: zeros de funçõesMostre que a equação 3x2 − ex = 0 tem apenas 3 raízes eindique intervalos de comprimento unitário que as contenham.

g′ tem n zeros em R⇒ g tem no máximo n + 1 zeros em R

f (x) = 3x2 − ex = 0

f ′(x) = 6x − ex

f ′′(x) = 6− ex , f ′′(x) = 0⇔ ex = 6⇔ x = ln(6)

f ′′ tem 1 zero em R⇒ f ′ tem no máximo 2 zeros em R

⇒ f tem no máximo 3 zeros em R

f (−1) = 2.6 ∧ f (0) = −1⇒ f (−1)f (0) < 0⇒ z1 ∈ [−1; 0]

f (0) = −1 ∧ f (1) = 0.3⇒ f (0)f (1) < 0⇒ z2 ∈ [0; 1]

f (3) = 6.3 ∧ f (4) = −6.6⇒ f (3)f (4) < 0⇒ z3 ∈ [3; 4]

148 / 358

Observação: zeros de equações algébricas

TeoremaSe f for uma função contínua e diferenciável em [a;b] ese a e b são dois zeros consecutivos de f ′, então existeno máximo um z tal que f (z) = 0.

Entre dois zeros consecutivos da derivada de umafunção, existe no máximo um zero dessa função.

149 / 358

Observação: zeros de equações algébricasProblema: Localize graficamente as raízes reais de

f (x) = x3 − 2x − 5

Os zeros da derivada f ′(x) = 3x2 − 2 são −√

2/3 e +√

2/3.

xi −∞ −√

2/3 +√

2/3 +∞f (xi) − − − +

Única raiz real no intervalo ] +√

2/3; +∞[

150 / 358

Capítulo 3

Normas e condicionamento de matrizes

I Normas de vectores e matrizes:I norma 1I norma∞I norma Euclidiana

I Valores própriosI Número de condição

151 / 358

Normas de matrizesI Se A é m × n podemos pensar na matriz como um vector

com mn entradas e usar uma qualquer norma vectorial.Mas em geral isso não ajuda muito...

I Se pensarmos em A como uma transformação, então asua norma é uma medida de quanto é que A consegueescalar os vectores.

I Dada uma norma ‖.‖p e uma matriz A, então a normainduzida ‖A‖p define-se como

‖A‖p = supx 6=0

‖Ax‖p‖x‖p

Observação: Sejam A e B matrizes quadradas e x ∈ Rn, então

I ‖Ax‖p ≤ ‖A‖p‖x‖p

I ‖AB‖p ≤ ‖A‖p‖B‖p152 / 358

Normas de matrizes

Norma infinito (linhas) : ‖x‖∞ = maxi=1:n

|xi |, ‖A‖∞ = maxi=1:n

n∑j=1

|aij |

x = (1,−3)T , A =

[1 −7−2 −3

]‖x‖∞ = max(|1|, | − 3|) = 3

‖A‖∞ = max(|1|+ | − 7|, | − 2|+ | − 3|) = max(8,5) = 8

x = (1,−3,−7)T , A =

1 −3 −72 5 −1−4 6 8

‖x‖∞ = max(|1|, | − 3|, | − 7|) = 7

‖A‖∞ = max(|1|+ |−3|+ |−7|, |2|+ |5|+ |−1|, |−4|+ |6|+ |8|) =

= max(11,8,18) = 18153 / 358

Normas de matrizes

Norma 1 (colunas) : ‖x‖1 =n∑

i=1

|xi |, ‖A‖1 = maxj=1:n

n∑i=1

|aij |

x = (1,−3)T , A =

[1 −7−2 −3

]‖x‖1 = |1|+ | − 3| = 4

‖A‖1 = max(|1|+ | − 2|, | − 7|+ | − 3|) = max(3,10) = 10

x = (1,−3,−7)T , A =

1 −3 −72 5 −1−4 6 8

‖x‖1 = |1|+ | − 3|+ | − 7| = 11

‖A‖1 = max(|1|+ |2|+ |−4|, |−3|+ |5|+ |6|, |−7|+ |−1|+ |8|) =

= max(7,14,16) = 16154 / 358

Normas de matrizes

Norma Euclidiana : ‖x‖2 =

√√√√ n∑i=1

x2i , ‖A‖2 =

√ρ(AT A)

ρ(A) é o raio espectral da matriz A.ρ(A) = maxi=1:n |λi |, onde λi ’s são os valores próprios de A.Se A = AT (simétrica), então ‖A‖2 = ρ(A).

x = (1,−3,−7)T , A =

1 −3 −72 5 −1−4 6 8

AT A =

21 −23 −41−23 49 67−41 67 114

‖x‖2 =

√|1|2 + | − 3|2 + | − 7|2 = 7.6811

‖A‖2 =√

max(|4.4501|, |8.8518|, |170.6981|) =

=√

170.6981 = 13.0651155 / 358

Normas de matrizes

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

‖x‖ = 1 nas normas 1, 2 e∞.

156 / 358

Normas de matrizes

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

Escalamento com a norma∞ usando A = [1 2; 0 2]

157 / 358

Normas de matrizes

Norma∞A =

[1 20 2

], ‖A‖∞ = 3

A[−11

]=

[12

], ‖(1,2)T‖∞ = 2

A[

11

]=

[32

], ‖(3,2)T‖∞ = 3

A[−1−1

]=

[−3−2

], ‖(−3,−2)T‖∞ = 3

A[

1−1

]=

[−1−2

], ‖(−1,−2)T‖∞ = 2

158 / 358

Normas de matrizes

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−1.5

−1

−0.5

0

0.5

1

1.5

2

Escalamento com a norma 1 usando A = [1 2; 0 2]

159 / 358

Normas de matrizes

Norma 1

A =

[1 20 2

], ‖A‖1 = 4

A[−10

]=

[−10

], ‖(−1,0)T‖1 = 1

A[

01

]=

[22

], ‖(2,2)T‖1 = 4

A[

10

]=

[10

], ‖(1,0)T‖1 = 1

A[

0−1

]=

[−2−2

], ‖(−2,−2)T‖1 = 4

160 / 358

Normas de matrizes

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

Escalamento com a norma 2 usando A = [1 2; 0 2]

161 / 358

Normas de matrizes

Norma 2

A =

[1 20 2

], ‖A‖2 = 2.9208

A[

0.25890.9659

]=

[2.19071.9318

], ‖(2.1907,1.9318)T‖2 = 2.9208

162 / 358

Normas de matrizes

Teorema: Seja A uma matriz quadrada.I Para qualquer norma matricial, tem-se

ρ(A) ≤ ‖A‖p

I Para qualquer ε > 0 existe uma norma induzida tal que

‖A‖p ≤ ρ(A) + ε

(o raio espectral é o ínfimo do conjunto das normasinduzidas de uma matriz)

163 / 358

Valores próprios

λ é valor próprio de A⇔ ∃ vector próprio v 6= 0 tal que

(A− λI)v = 0, i.e, A− λI é singular (não invertível), ou seja,

det(A− λI) = 0

p(λ) = det(A− λI) é denominado polinómio característico.

164 / 358

Valores próprios

Exemplo:

A =

[2 13 4

]det(A− λI) = det

[2− λ 1

3 4− λ

]=

= (2− λ)(4− λ)− 3 = λ2 − 6λ+ 5

Valores próprios (raízes do polinómio característico):

λ1 =6 +√

36− 4× 1× 52× 1

= 5 e λ2 =6−√

36− 4× 1× 52× 1

= 1

ρ(A) = max(|1|, |5|) = 5

165 / 358

Número de condição de uma matriz

I Problemas de condicionamento e de estabilidadenumérica ao resolver Ax = b.

I Estabilidade numérica←→ algoritmo utilizado(p.e., para evitar os problemas de instabilidade numérica,é usual considerar o método de eliminação de Gauss compesquisa de pivot)

I Um problema mal condicionado é sempre numericamenteinstável.

I Identificar quais os sistemas que nos podem trazerproblemas de condicionamento.

166 / 358

Número de condição de uma matriz

Definição: O número de condição de uma matriz define-se por

condp(A) = ‖A‖p‖A−1‖pO número de condição de uma matriz não invertível é definidocom∞.Observação:1. condp(A) mede a sensibilidade da solução de um sistema aerros nos dados.

2. condp(A) ≈ 1⇒ matriz bem condicionada.1 = ‖In‖p = ‖AA−1‖p ≤ ‖A‖p‖A−1‖p = condp(A)⇒condp(A) ≥ 1

3. condp(AB) ≤ condp(A) condp(B)

condp(AB) = ‖AB‖p‖(AB)−1‖p = ‖AB‖p‖B−1A−1‖p≤ ‖A‖p‖B‖p‖B−1‖p‖A−1‖p = ‖A‖p‖A−1‖p‖B‖p‖B−1‖p= condp(A)condp(B)

167 / 358

Número de condição de uma matriz

Ax = b, Ax = b, Ax = b

Erro absoluto de x : ‖ex‖p = ‖x− x‖p

Erro relativo de x : ‖δx‖p =‖x− x‖p‖x‖p

Teorema (Desigualdades para o erro absoluto):

‖eb‖p‖A‖−1p ≤ ‖ex‖p ≤ ‖A−1‖p‖eb‖p

1condp(A)

‖δb‖p ≤ ‖δx‖p ≤ condp(A)‖δb‖p

‖x− x‖p‖x‖p

≤condp(A)

1− ‖A−1(A− A)‖p

(‖b− b‖p‖b‖p

+‖A− A‖p‖A‖p

)

168 / 358

Número de condiçãoExemplo:

A =

[2 31 −1

]A−1 =

1−2− 3

[−1 −3−1 2

]=

[1/5 3/51/5 −2/5

]‖A‖1 = max(|2|+ |1|, |3|+ | − 1|) = 4

‖A−1‖1 = max(|1/5|+ |1/5|, |3/5|+ | − 2/5|) = 1

cond1(A) = ‖A‖1‖A−1‖1 = 4× 1 = 4

Observação:

A =

[a11 a12a21 a22

]A−1 =

1det(A)

[a22 −a12−a21 a11

]=

1a11a22 − a12a21

[a22 −a12−a21 a11

]169 / 358

Número de condiçãoExemplo:

A =

−3 0 00 4 00 0 2

A−1 =

−13 0 00 1

4 00 0 1

2

‖A‖∞ = max(| − 3|, |4|, |2|) = 4

‖A−1‖∞ = max(| − 1/3|, |1/4|, |1/2|) = 1/2

cond∞(A) = ‖A‖∞‖A−1‖∞ = 4× 12

= 2

Observação:

A =

a11 0 00 a22 00 0 a33

A−1 =

1

a110 0

0 1a22

00 0 1

a33

170 / 358

Número de condiçãoExemplo:

A =

[2.0 0.01/2 3/2

]AT A =

[17/4 3/4

3/4 9/4

], λ1 = 2, , λ2 = 4.5

A−1 =

[1/2 0−1/6 2/3

](A−1)T A−1 =

[5/18 −1/9−1/9 4/9

], λ1 = 2/9, , λ2 = 1/2

‖A‖2 =√ρ(AT A) = 2.1213

‖A−1‖2 =√ρ((A−1)T A−1

)= 0.7071

cond2(A) = ‖A‖2‖A−1‖2 = 1.5000

171 / 358

Número de condiçãoExemplo: A = AT

A =

[2 00 3

], λ1 = 2, , λ2 = 3

A−1 =

[ 12 00 1

3

], λ1 =

12, , λ2 =

13

‖A‖2 = ρ(A) = max |λi | = 3

‖A−1‖2 = ρ(A−1) = max |λi | =1

min |λi |=

12

cond2(A) = ‖A‖2‖A−1‖2 =max |λi |min |λi |

=32

Observação: Se A é invertível então

λ v .p. de A ⇔ 1λ

v .p. de A−1

172 / 358

Capítulo 4

Sistemas de equações lineares

I Método iterativos geraisI Método de JacobiI Método de Gauss-Seidel

173 / 358

Métodos iterativos para sistemas lineares

Ax = b, A = M + N

Ax = b⇔ Mx + Nx = b⇔ Mx = b− Nx

x = −M−1Nx + M−1b

hipótese: M é invertível.

x(0) ∈ Rn

x(k+1) = M−1(b− Nx(k))

I Método de JacobiI Método de Gauss-Seidel

174 / 358

Métodos iterativos para sistemas lineares

A = L + D + U

L é a parte triangular de baixo da matriz A,D é a matriz diagonal que contém a diagonal de AU é a parte triangular de cima da matriz A.

A =

1 2 6−1 4 −5

3 1 7

L =

0 0 0−1 0 0

3 1 0

, D =

1 0 00 4 00 0 7

e U =

0 2 60 0 −50 0 0

175 / 358

Métodos iterativos para sistemas lineares

• Resolver o sistema Ax = b usando uma matriz não singular Mpré-condicionadora,

M−1Ax = M−1b

• Propriedades de convergência baseadas em M−1A em vez de A.

• condp(M−1A) < condp(A).

• Compromisso entre o custo de aplicar M−1 e o melhoramentodas propriedades de convergência. Casos extremos:

I M = A, perfeito condicionamento, condp(M−1A) = 1I M = I, não faz nada, M−1A = A.

• Jacobi: M = D é muito simples e barato mas em geral não ésuficiente.

176 / 358

Métodos iterativos para sistemas lineares

• Método de Jacobi : M = D e N = L + U;

x(k+1) = D−1[b− (L + U)x(k)] =

x (k+1)i =

1aii

bi −n∑

j=1,j 6=i

aijx(k)j

• Método de Gauss-Seidel: M = L + D e N = U;

x(k+1) = (L + D)−1(b− Ux(k)) =

x (k+1)i =

1aii

bi −i−1∑j=1

aijx(k+1)j −

n∑j=i+1

aijx(k)j

177 / 358

Métodos iterativos para sistemas linearesExemplo:

x1 + 3x2 − x3 = 24x1 + 2x2 + x3 = 1−x1 − 1

4x2 + 3x3 = −3

x1 = 2− 3x2 + x3x2 = (1− 4x1 − x3)/2x3 = (−3 + x1 + 1

4x2)/3

Jacobi x (k+1)

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

3x (k+1)

2 = (1− 4x (k)1 − x (k)

3 )/2x (k+1)

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

4x (k)2 )/3

Gauss-Seidelx (k+1)

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

3x (k+1)

2 = (1− 4x (k+1)1 − x (k)

3 )/2x (k+1)

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

4x (k+1)2 )/3

178 / 358

Jacobi com x(0) = (0,0,0)T

• 1a iterada:x (1)

1 = 2− 3x (0)2 + x (0)

3 = 2x (1)

2 = (1− 4x (0)1 − x (0)

3 )/2 = 1/2x (1)

3 = (−3 + x (0)1 + 1

4x (0)2 )/3 = −1

• 2a iterada:x (2)

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

3 = 2− 3(1/2) + (−1) = −1/2x (2)

2 = (1− 4x (1)1 − x (1)

3 )/2 = (1− 4(2)− (−1))/2 = −3x (2)

3 = (−3 + x (1)1 + 1

4x (1)2 )/3 = (−3 + (2) + 1

4(1/2))/3 = −7/24

• 3a iterada:x (3)

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

3 = 257/24x (3)

2 = (1− 4x (2)1 − x (2)

3 )/2 = 79/48x (3)

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

4x (2)2 )/3 = −17/12

179 / 358

Gauss-Seidel com x(0) = (0,0,0)T

• 1a iterada:x (1)

1 = 2− 3x (0)2 + x (0)

3 = 2x (1)

2 = (1− 4x (1)1 − x (0)

3 )/2 = (1− 4(2)− 0)/2 = −7/2x (1)

3 = (−3 + x (1)1 + 1

4x (1)2 )/3 = (−3 + (2) + 1

4(−7/2))/3 = −5/8

• 2a iterada:

x (2)1 = 2− 3x (1)

2 + x (1)3 = 2− 3(−7/2) + (−5/8) = 95/8

x (2)2 = (1− 4x (2)

1 − x (1)3 )/2 = (1− 4(95/8)− (−5/8))/2 =

= −367/16x (2)

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

4x (2)2 )/3 = (−3 + (95/8) + 1

4(−367/16))/3 == 67/64

• 3a iterada:x (3)

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

3 = 4599/64x (3)

2 = (1− 4x (3)1 − x (2)

3 )/2 = −18399/128x (3)

3 = (−3 + x (3)1 + 1

4x (3)2 )/3 = 2162/197

180 / 358

Métodos iterativos para sistemas lineares.Convergência

x = −M−1Nx + M−1b x− x(k) = −M−1N(x− x(k−1))

x(k) = −M−1Nx(k−1) + M−1b

e(k) = C e(k−1), C = −M−1N

e(k) = C1e(k−1) = C2e(k−2) = . . . = Cαe(k−α) = . . . = Cke(0)

k − α = 0⇔ α = k , k − α = 1⇔ α = k − 1, . . .

e(k) = Cke(0), e(k) = Ck−1e(1)

‖e(k)‖p ≤ ‖C‖kp‖e(0)‖p, ‖e(k)‖p ≤ ‖C‖k−1p ‖e(1)‖p

Observação: Se existir uma norma tal que ‖C‖p < 1 então oerro tende para zero qualquer que seja e(0),

limk→∞

‖e(k)‖p ≤ limk→∞

‖C‖kp‖e(0)‖p = 0

181 / 358

Métodos iterativos para sistemas lineares.Convergência

e(k) = Cke(0), Cvi = λivi , i = 1, . . . ,n

Ckvi = Ck−1(Cvi) = Ck−1λivi = λiCk−2(Cvi) = λ2i Ck−2vi = . . . = λk

i vi

C tem full rank⇒ v1, . . . , vn é uma base de Rn

e(0) = α1v1 + α2v2 + . . .+ αnvn

e(k) = Cke(0) = Ck (α1v1 + α2v2 + . . .+ αnvn)

= α1Ckv1 + α2Ckv2 + . . .+ αnCkvn

= α1λk1v1 + α2λ

k2v2 + . . .+ αnλ

knvn

|λi | < 1⇒ converge

A convergência, o número de iterações tem tudo a ver com osvalores próprios da matriz C...

182 / 358

Métodos iterativos para sistemas lineares.Convergência

|λ1| > |λ2| ≥ λ3 ≥ . . . ≥ |λn|

e(0) =n∑

i=1

αivi

e(k) = Cke(0) =n∑

i=1

αiλki vi

e(k) = λk1

[α1v1 +

n∑i=2

αi

(λi

λ1

)k

vi

]Como (

λi

λ1

)k

−→ 0

a taxa de convergência é determinada por |λ1|k183 / 358

Métodos iterativos para sistemas lineares.Convergência

Para k grande temos

e(k) ≈ λk1α1v1

Logo

‖e(k+1)‖p‖e(k)‖p

=‖λk+1α1v1‖p‖λkα1v1‖p

=|λ1|k+1

|λ1|k‖α1v1‖p‖α1v1‖p

= |λ1| = ρ(C)

x(k+1) = C1x(k) + M−11 b (1), x(k+1) = C2x(k) + M−1

2 b (2)

O método (2) converge mais rapidamente que o método (1)⇔

ρ(C2) < ρ(C1)

184 / 358

Métodos iterativos para sistemas lineares.Convergência

Teorema (Condições necessárias e suficientes de convergência):O método x(k) = Cx(k−1) + M−1b converge, ∀x(0) ∈ Rn,

I sse ρ(C) < 1I sse existir uma norma tal que ‖C‖p < 1

onde C = −M−1N.

Observação:Jacobi: C = −D−1(L + U),Gauss-Seidel: C = −(L + D)−1U.

185 / 358

Métodos iterativos para sistemas lineares

Exercício 1 da Lista: O sistema de equações lineares Ax = b,[1 −a−a 1

]x = b

pode, sob certas condições, ser resolvido pelo método[1 0−ωa 1

]x(k+1) =

[1− ω ωa

0 1− ω

]x(k) + ωb

(a) Para que valores de a o método do converge se ω = 1?

x(k) = Cx(k−1) + M−1b converge, ∀x(0) ∈ Rn ⇔ ρ(C) < 1

C = −M−1N

186 / 358

Métodos iterativos para sistemas linearesConsiderar ω = 1.[

1 0−ωa 1

]x(k+1) =

[1− ω ωa

0 1− ω

]x(k) + ωb

[1 0−a 1

]x(k+1) =

[0 a0 0

]x(k) + b

M x(k+1) = −N x(k) + b

x(k+1) = −M−1N x(k) + M−1b

M =

[1 0−a 1

], −N =

[0 a0 0

], A =

[1 −a−a 1

]

Método de Gauss-Seidel: M = L + D e N = U.187 / 358

Métodos iterativos para sistemas lineares

Cálculo de M−1

M =

[1 0−a 1

], M M−1 = I, M

[y11 y12y21 y22

]=

[1 00 1

]1a coluna de M−1 [

1 0−a 1

] [y11y21

]=

[10

]y11 = 1 ∧ −ay11 + y21 = 0⇔ y21 = a.

2a coluna de M−1 [1 0−a 1

] [y12y22

]=

[01

]y12 = 0 ∧ −ay12 + y22 = 0⇔ y22 = 1.

188 / 358

Métodos iterativos para sistemas lineares

x(k) = Cx(k−1) + M−1b converge, ∀x(0) ∈ Rn ⇔ ρ(C) < 1

C = −M−1N

C = −M−1N =

[1 0a 1

] [0 a0 0

]=

[0 a0 a2

]

det(C−λI) = 0⇔∣∣∣∣ −λ a

0 a2 − λ

∣∣∣∣ = 0⇔ −λ(a2−λ) = 0⇔ λ = 0 ∨λ = a2

ρ(C) = max(|0|, |a2|) = a2

ρ(C) < 1⇔ a2 < 1⇔ a ∈ ]− 1; 1[

189 / 358

Métodos iterativos para sistemas lineares

(b) Se a = −1/2 e ω = 1/2 o método do converge?

x(k) = Cx(k−1) + M−1b converge, ∀x(0) ∈ Rn ⇔

⇔ existe uma norma tal que ‖C‖p < 1, C = −M−1N[1 0−ωa 1

]x(k+1) =

[1− ω ωa

0 1− ω

]x(k) + ωb

[1 014 1

]x(k+1) =

[ 12 −1

40 1

2

]x(k) +

12

b

M x(k+1) = −N x(k) + b

2[

1 014 1

]x(k+1) = 2

[ 12 −1

40 1

2

]x(k) +

22

b

190 / 358

Métodos iterativos para sistemas lineares

C = −M−1N =

(2[

1 014 1

])−1(2[ 1

2 −14

0 12

])=

=

[1 0−1

4 1

] [ 12 −1

40 1

2

]=

[ 12 −1

4−1

89

16

]

‖C‖∞ = max(∣∣∣∣12

∣∣∣∣+

∣∣∣∣−14

∣∣∣∣ , ∣∣∣∣−18

∣∣∣∣+

∣∣∣∣ 916

∣∣∣∣) = max(

34,1116

)=

34< 1

191 / 358

Métodos iterativos para sistemas lineares.Majorações para os erros

‖e(k)‖p ≤ ‖C‖p‖e(k−1)‖p

‖e(k)‖p ≤ ‖C‖kp‖e(0)‖p

‖e(k)‖p ≤‖C‖p

1− ‖C‖p‖x(k) − x(k−1)‖p

‖e(k)‖p ≤‖C‖kp

1− ‖C‖p‖x(1) − x(0)‖p

Observação: Estes métodos iterativos têm convergência linear.

192 / 358

Métodos iterativos para sistemas lineares.Convergência

Em geral não podemos dizer nada sobre a comparação dosmétodos de Jacobi e Gauss-Seidel

A =

1 2 −21 1 12 2 1

, ρ(CJ) < 1 < ρ(CGS)

B =

2 −1 12 2 2−1 −1 2

, ρ(CGS) < 1 < ρ(CJ)

193 / 358

Métodos iterativos para sistemas lineares.Convergência

Corolário: Se aij ≤ ∀i 6= 0, aii > 0∀i = 1, . . . ,n, então sóacontece uma única das seguintes coisas:

1. 0 ≤ ρ(CG) < ρ(CJ) < 1 (GS conv. + rap.)2. 1 < ρ(CJ) < ρ(CG) (GS div. + rap.)3. ρ(CJ) = ρ(CG) = 04. ρ(CJ) = ρ(CG) = 1 (erro const.)

Observação: ∀‖.‖p e ε, ρ(C) ≤ ‖C‖p ≤ ρ(C) + ε.

‖e(k)‖p ≤ ‖C‖p‖e(k−1)‖p‖e(k)‖p ≈ ρ(C)‖pe(k−1)‖pQuanto mais pequeno for o raio espectral mais rapidamente ométodo converge.

194 / 358

Métodos iterativos para sistemas lineares.Convergência

I C = −M−1N = −M−1(A−M) = I−M−1A, ou seja,quanto mais perto estiver M de A, mais próxima damatriz zero estará C e, consequentemente, maisrápida será a convergência.

I No método de Gauss-Seidel M está “mais perto” de Ado que no Jacobi. Logo, em geral, o Gauss-Seidelconverge mais rapidamente.

195 / 358

Métodos iterativos para sistemas lineares.Convergência

Método de Jacobi

C = −D−1(L + U) =

0 −a12a11

−a13a11

−a21a22

0 −a23a22

−a31a33

−a32a33

0

‖C‖∞ = max

(∣∣∣∣a12

a11

∣∣∣∣+

∣∣∣∣a13

a11

∣∣∣∣ , ∣∣∣∣a21

a22

∣∣∣∣+

∣∣∣∣a23

a22

∣∣∣∣ , ∣∣∣∣a31

a33

∣∣∣∣+

∣∣∣∣a32

a33

∣∣∣∣)Se|a11| > |a12|+ |a13| A matriz A do sistema Ax = b tem a

|a22| > |a21|+ |a23| diagonal estritamente

|a33| > |a31|+ |a32| dominante por linhasentão∣∣∣∣a12

a11

∣∣∣∣+

∣∣∣∣a13

a11

∣∣∣∣ < 1 ∧∣∣∣∣a21

a22

∣∣∣∣+

∣∣∣∣a23

a22

∣∣∣∣ < 1 ∧∣∣∣∣a31

a33

∣∣∣∣+

∣∣∣∣a32

a33

∣∣∣∣ < 1

e, consequentemente, ‖C‖∞ < 1.196 / 358

Métodos iterativos para sistemas lineares.Convergência

Definição:A matriz A tem a diagonal estritamente dominante por linhas se

|aii | >n∑

j=1,j 6=i

|aij |, ∀i = 1, . . . ,n

A matriz A tem a diagonal estritamente dominante por colunasse

|ajj | >n∑

i=1,i 6=j

|aij |, ∀j = 1, . . . ,n

Teorema (Condição suficiente de convergência):Se a matriz A tiver a diagonal estritamente dominante porlinhas ou por colunas, então os métodos de Jacobi e deGauss-Seidel convergem, para qualquer x(0) escolhido.

197 / 358

Métodos iterativos para sistemas lineares

Só para os métodos de Jacobi e de Gauss Seidel:

• A tem a diag. estrit. dom. por linhas ⇒ ‖C‖∞ < 1⇒ converge

• A tem a diag. estrit. dom. por colunas⇒ ‖C‖1 < 1 ⇒ converge

198 / 358

Métodos iterativos para sistemas linearesExemplo:

A =

5 2 3−1 4 −2−3 1 7

Tem a diagonal estritamente dominante por linhas? Não

|5| > |2|+ |3| ×

|4| > | − 1|+ | − 2| ok

|7| > | − 3|+ |1| ok

Tem a diagonal estritamente dominante por colunas? Sim|5| > | − 1|+ | − 3| ok

|4| > |2|+ |1| ok

|7| > | − 2|+ |3| ok

199 / 358

Métodos iterativos para sistemas lineares

Exemplo:

B =

[5 −4−1 3

]Tem a diagonal estritamente dominante por linhas? Sim

|5| > | − 4| ok

|3| > | − 1| ok

Tem a diagonal estritamente dominante por colunas? Não|5| > | − 1| ok

|3| > | − 4| ×

200 / 358

Métodos iterativos para sistemas lineares

Exercício 8 da Lista:Considere o sistema linear Ax = b com

A =

2 ω 01 2 2ω0 1 2

b =

101

ω ∈ R

(a) Mostre que tanto o método iterativo de Jacobi como o deGauss-Seidel convergem para a solução deste sistema,qualquer que seja a aproxiação inicial x(0) ∈ R3, se e só se|ω| < 4

3 .

Jacobi + Gauss Seidel convergem ⇔ |ω| < 43

201 / 358

Métodos iterativos para sistemas lineares

Jacobi :

C = −

2 0 00 2 00 0 2

−1 0 ω 01 0 2ω0 1 0

=

0 −ω2 0

−12 0 −ω

0 −12 0

det(C−λI) =

∣∣∣∣∣∣−λ −ω

2 0−1

2 −λ −ω0 −1

2 −λ

∣∣∣∣∣∣ = −λ∣∣∣∣ −λ −ω−1

2 −λ

∣∣∣∣+12

∣∣∣∣ −ω2 0−1

2 −λ

∣∣∣∣ =

= −λ(λ2 − ω

2

)+

12λω

2

202 / 358

Métodos iterativos para sistemas lineares

det(C− λI) = λ

(3ω4− λ2

)

det(C− λI) = 0⇔ λ = 0 ∨ λ = ±√

3ω4

ρ(C) = max

(|0|,

∣∣∣∣∣√

3ω4

∣∣∣∣∣)

=

∣∣∣∣∣√

3ω4

∣∣∣∣∣ρ(C) < 1⇔

∣∣∣∣3ω4∣∣∣∣ < 1⇔ |ω| < 4

3

203 / 358

Métodos iterativos para sistemas lineares

Gauss− Seidel:

C = −

2 0 01 2 00 1 2

−1 0 ω 00 0 2ω0 0 0

=

0 −ω2 0

0 ω4 −ω

0 −ω8

ω2

det(C− λI) =

∣∣∣∣∣∣−λ −ω

2 00 ω

4 − λ −ω0 −ω

8ω2 − λ

∣∣∣∣∣∣ = −λ∣∣∣∣ ω

4 − λ −ω−ω

8ω2 − λ

∣∣∣∣ =

= −λ[(ω

4− λ)(ω

2− λ)− ω2

8

]= λ2

(λ− 3

)

204 / 358

Métodos iterativos para sistemas lineares

det(C− λI) = λ2(λ− 3

)det(C− λI) = 0⇔ λ = 0 ∨ λ− 3

4ω = 0⇔ λ = 0 ∨ λ =

34ω

ρ(C) = max(|0|,∣∣∣∣34ω

∣∣∣∣) =

∣∣∣∣34ω∣∣∣∣

ρ(C) < 1⇔∣∣∣∣34ω

∣∣∣∣ < 1⇔ |ω| < 43

205 / 358

Métodos iterativos para sistemas lineares

Prove que o método de Gauss-Seidel converge maisrapidamente, desde que |ω| 6= 0.

ρ(CJ) =

∣∣∣∣∣√

34ω

∣∣∣∣∣ , ρ(CGS) =

∣∣∣∣34ω∣∣∣∣

∣∣∣∣∣√

34ω

∣∣∣∣∣ >∣∣∣∣34ω

∣∣∣∣⇒ GS converge mais rapidamente

206 / 358

Métodos iterativos para sistemas lineares

Como é que os dois métodos convergem quando ω = 0?

e(n) = Cne(0)

Jacobi converge na 3a iterada

CJ =

0 0 0−1

2 0 00 −1

2 0

, C2J =

0 0 00 0 014 0 0

, C3J =

0 0 00 0 00 0 0

e(3) = C3e(0) = 0

Gauss-Seidel converge na 1a iterada

CGS =

0 0 00 0 00 0 0

, e(1) = CGSe(0) = 0

207 / 358

Métodos iterativos para sistemas lineares

Jacobik x(k)

1 x(k)2 x(k)

30 0.0000000000000000 0.0000000000000000 0.00000000000000001 0.5000000000000000 0.0000000000000000 0.50000000000000002 0.5000000000000000 −0.2500000000000000 0.50000000000000003 0.5000000000000000 −0.2500000000000000 0.62500000000000004 0.5000000000000000 −0.2500000000000000 0.62500000000000005 0.5000000000000000 −0.2500000000000000 0.6250000000000000...

......

...

Gauss-Seidelk x(k)

1 x(k)2 x(k)

30 0.0000000000000000 0.0000000000000000 0.00000000000000001 0.5000000000000000 −0.2500000000000000 0.62500000000000002 0.5000000000000000 −0.2500000000000000 0.62500000000000003 0.5000000000000000 −0.2500000000000000 0.6250000000000000...

......

...

208 / 358

Métodos iterativos para sistemas lineares

(b) Seja ω = 12 e x(0) = (0,0,0)T .

Calcule as três primeiras iteradas pelo método deGauss-Seidel.

A =

2 ω 01 2 2ω0 1 2

=

2 0.5 01 2 10 1 2

b =

101

2 x1 + 0.5x2 = 1x1 + 2 x2 + x3 = 0

x2 + 2 x3 = 1⇒

x (k+1)

1 = (1− 0.5x (k)2 )/2

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

1 + x (k)3 )/2

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

2 )/2

209 / 358

Métodos iterativos para sistemas lineares

x(0) = (0,0,0)Tx (1)

1 = (1− 0.5x (0)2 )/2 = 1/2 = 0.5000

x (1)2 = −(x (1)

1 + x (0)3 )/2 = −1/4 = −0.2500

x (1)3 = (1− x (1)

2 )/2 = 5/8 = 0.6250x (2)

1 = (1− 0.5x (1)2 )/2 = 9/16 = 0.5625

x (2)2 = −(x (2)

1 + x (1)3 )/2 = −19/32 = −0.5938

x (2)3 = (1− x (2)

2 )/2 = 51/64 = 0.7969x (3)

1 = (1− 0.5x (2)2 )/2 = 83/128 = 0.6484

x (3)2 = −(x (3)

1 + x (2)3 )/2 = −185/256 = −0.7227

x (3)3 = (1− x (3)

2 )/2 = 441/512 = 0.8613

210 / 358

Métodos iterativos para sistemas linearesω = 1

2

Obtenha uma estimativa para o erro ‖x− x(3)‖∞

‖e(3)‖∞ ≤‖C‖∞

1− ‖C‖∞‖x(3)−x(2)‖∞ =

1016

1− 1016

33256

= 0.21484375

C =

0 −ω2 0

0 ω4 −ω

0 −ω8

ω2

=

0 −14 0

0 18 −1

20 − 1

1614

‖C‖∞ = max

(14,18

+12,

116

+14

)= max

(416,1016,

516

)=

1016

‖x(3)−x(2)‖∞ = max(∣∣∣x (3)

1 − x (2)1

∣∣∣ , ∣∣∣x (3)2 − x (2)

2

∣∣∣ , ∣∣∣x (3)3 − x (2)

3

∣∣∣) =

= max(∣∣∣∣ 83

128− 9

16

∣∣∣∣ , ∣∣∣∣−185256

+1932

∣∣∣∣ , ∣∣∣∣441512− 51

64

∣∣∣∣) =33

256

211 / 358

Capítulo 5

Sistemas de equações não lineares

I Método de Newton generalizado

212 / 358

Sistemas não lineares.Método de Newton generalizado

1

2X

X0

3

2

1

4321

(x1 − 2)2 + (x2 − 1)2 = 4 ∧ (x1 − 3)2 + (x2 − 2)2 = 1

x2 = 2±√

1− (x1 − 3)2

(x1 − 2)2 +

(2 +

√1− (x1 − 3)2 − 1

)2

= 4

x ≈ (2.5886, 2.9114)T

213 / 358

Sistemas não lineares.Método de Newton generalizado[

f1(x1, x2)f2(x1, x2)

]=

[00

]fi (x1, x2) = fi (x

(0)1 , x (0)

2 )+∂fi (x

(0)1 , x (0)

2 )

∂x1(x1−x (0)

1 )+∂fi (x

(0)1 , x (0)

2 )

∂x2(x2−x (0)

2 )+. . .

[f1(x1, x2)f2(x1, x2)

]≈

[f1(x (0)

1 , x (0)2 )

f2(x (0)1 , x (0)

2 )

]+

∂f1(x(0)1 ,x (0)

2 )

∂x1

∂f1(x(0)1 ,x (0)

2 )

∂x2∂f2(x

(0)1 ,x (0)

2 )

∂x1

∂f2(x(0)1 ,x (0)

2 )

∂x2

[ x1 − x (0)1

x2 − x (0)2

]

0 = f(z) ≈ f(x(0)) + Jf (x(0))(z− x(0))

x(0) ∈ Rn

x(n+1) = x(n) − Jf (x(n))−1f(x(n)), n = 0,1,2, . . .

x(n+1) = g(x(n)), g(x) = x−Jf (x)−1f(x) Metodo do ponto fixo214 / 358

Sistemas não lineares.Método de Newton generalizado

Substitui-se o cálculo pesado da inversa da matriz Jacobianapela resolução de um sistema.

Em cada passo, resolve-se o sistema de equações lineares emordem a ∆x(n) e faz-se uma soma de vectores:

x(0) ∈ Rn

Jf (x(n))∆x(n) = −f(x(n))

x(n+1) = x(n) + ∆x(n), n = 0,1,2, . . .

Observação:

Se det[Jf (z)] 6= 0 então a convergência é quadrática com

‖z− x(n+1)‖p ≤ K‖z− x(n)‖2p, K > 0

215 / 358

Sistemas não lineares.Método de Newton generalizado

Exemplo:

f1(x1, x2) = (x1 − 2)2 + (x2 − 1)2 − 4 = 0f2(x1, x2) = (x1 − 3)2 + (x2 − 2)2 − 1 = 0

Critério de paragem: ‖∆x(0)‖∞ < 10−6 ∧ ‖f(x(1))‖∞ < 10−6

Aproximação inicial: x(0) = (2,3)T

A matriz Jacobiana do sistema é

Jf (x) =

[2x1 − 4 2x2 − 22x1 − 6 2x2 − 4

]

216 / 358

Sistemas não lineares.Método de Newton generalizado

x(0) ∈ Rn

Jf (x(n))∆x(n) = −f(x(n))

x(n+1) = x(n) + ∆x(n), n = 0,1,2, . . .[x (0)

1x (0)

2

]=

[23

][

2x (n)1 − 4 2x (n)

2 − 22x (n)

1 − 6 2x (n)2 − 4

][∆x (n)

1∆x (n)

2

]= −

[(x (n)

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

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

2 − 2)2 − 1

][

x (n+1)1

x (n+1)2

]=

[x (n)

1x (n)

2

]+

[∆x (n)

1∆x (n)

2

], n = 0,1,2, . . .

217 / 358

Sistemas não lineares.Método de Newton generalizado

Aproximação inicial: x(0) = (2,3)T

I Cálculo da primeira iterada, x(1):

Jf (x(0))∆x(0) = −f(x(0))⇐⇒[

0 4−2 2

]∆x(0) = −

[01

]∆x(0) = (5.0000× 10−1,0)T

x(1) = x(0) + ∆x(0) = (2.5,3)T

‖∆x(0)‖∞ = 0.5 > 10−6 ∧ ‖f(x(1))‖∞ = 0.25 > 10−6

218 / 358

Sistemas não lineares.Método de Newton generalizado

I Cálculo da segunda iterada, x(2):

Jf (x(1))∆x(1) = −f(x(1))⇐⇒[

1 4−1 2

]∆x(1) = −

[0.250.25

]∆x(1) = (0.083333,−0.083333)T

x(2) = x(1) + ∆x(1) = (2.58333,2.91667)T

‖∆x(1)‖∞ = 0.08 > 10−6 ∧ ‖f(x(2))‖∞ = 0.013 > 10−6

...

219 / 358

Sistemas não lineares.Método de Newton generalizado

...I Cálculo da quinta iterada, x(5):

Jf (x(4))∆x(4) = −f(x(4))⇐⇒[1.1771 3.8229−0.82288 1.8229

]∆x(4) = −

[8.4093× 10−10

8.4093× 10−10

]∆x(4) = (3.1784× 10−10,−3.1784× 10−10)T e,

x(5) = x(4) + ∆x(4) = (2.58856,2.91144)T

‖∆x(4)‖∞ = 3.2×10−10 < 10−6∧‖f(x(5))‖∞ = 5.7×10−6 < 10−6

Parar a sucessão de iteradas!

220 / 358

Capítulo 6

Método dos mínimos quadrados

I aproximação com polinómiosI aproximação com outras funções

221 / 358

Método dos mínimos quadrados. Linearidade.

g(x) = a0φ0(x) + a1φ1(x) + . . .+ akφk (x)

g(x) = a0ex + a1e−x , φ0(x) = ex , φ1(x) = e−x linear

g(x) = a0 + a1x3, φ0(x) = 1, φ1(x) = x3 linear

g(x) =a0x

1 + a1x2 nao linear

g(x) =1

a0x + a1nao linear

g(x) = a− x + bx2 nao linear

g(x) + x = a + bx2 linear

g(x) =a + bx2

x + 1= a

11 + x

+ bx2

x + 1linear

g(x) = a + b sin(x) + c cos(x) linear

g(x) = aebx2nao linear

g(x) = a0 + a1x + a2x2 + a3x3 linear222 / 358

Método dos mínimos quadrados

Exemplo (Interpolação polinomial): xi 3 5f (xi ) 2.5 3.5

g(x) = a0 + a1xa0 + a1x0 = f (x0)a0 + a1x1 = f (x1)

⇐⇒

a0 + 3a1 = 2.5a0 + 5a1 = 3.5

g(x) = 1 + 0.5x

2 2.5 3 3.5 4 4.5 5 5.5 62

2.2

2.4

2.6

2.8

3

3.2

3.4

3.6

3.8

4

X

Y

223 / 358

Método dos mínimos quadradosxi x0 x1

f (xi ) f (x0) f (x1)g(x) = a0 + a1x

a0 + a1x0 = f (x0)a0 + a1x1 = f (x1)[

1 x01 x1

] [a0a1

]=

[f (x0)f (x1)

]

a0 =

∣∣∣∣ f (x0) x0f (x1) x1

∣∣∣∣∣∣∣∣ 1 x01 x1

∣∣∣∣ =x1f (x0)− x0f (x1)

x1 − x0

a1 =

∣∣∣∣ 1 f (x0)1 f (x1)

∣∣∣∣∣∣∣∣ 1 x01 x1

∣∣∣∣ =f (x1)− f (x0)

x1 − x0

224 / 358

Método dos mínimos quadrados

g(x) =x1f (x0)− x0f (x1)

x1 − x0+

f (x1)− f (x0)

x1 − x0x

Base usual : 1, x

g(x) = f (x0)x − x1

x0 − x1+ f (x1)

x − x0

x1 − x0

Base de Lagrange :

x − x1

x0 − x1,

x − x0

x1 − x0

= l0(x), l1(x)

225 / 358

Método dos mínimos quadrados

xi x0 x1 x2

f (xi ) f (x0) f (x1) f (x2)g(x) = a0 + a1x

a0 + a1x0 = f (x0)a0 + a1x1 = f (x1)a0 + a1x2 = f (x2)

Impossível, excepto se (xi , f (xi)) forem colineares.

226 / 358

Método dos mínimos quadradosxi 2 3 4

f (xi ) 2.44 1.04 1.64 g(xi) = a0 + a1xi ≈ f (xi)

Calcular a0 e a1 que dá um bom ajuste.Decidir qual o critério de aproximação ou função de erro.Minimizar a função de erro:

SSE(a0,a1) =2∑

i=0

(f (xi)− g(xi))2 =2∑

i=0

(f (xi)− a0 − a1xi)2

1 1.5 2 2.5 3 3.5 4 4.5 50.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

X

Y

227 / 358

Método dos mínimos quadrados

xi 2 3 4f (xi ) 2.44 1.04 1.64

SSE(a0,a1) = (2.44−a0−2a1)2+(1.04−a0−3a1)2+(1.64−a0−4a1)2

∂a1SSE(a0,a1) = 0 ∧ ∂

∂a0SSE(a0,a1) = 0

(2.44− a0 − 2a1) + (1.04− a0 − 3a1) + (1.64− a0 − 4a1) = 02(2.44− a0 − 2a1) + 3(1.04− a0 − 3a1) + 4(1.64− a0 − 4a1) = 0

3a0 + 9a1 = 5.129a0 + 29a1 = 14.56

Duas equações a duas incógnitas com solução únicaa0 = 2.9067 e a1 = −0.4.

228 / 358

Método dos mínimos quadrados

40 45 50 55 60 65 70 75 8060

70

80

90

100

110

120

Idade

Massa M

uscula

r

Função a minimizar para que g(xi) ≈ f (xi):

SSE(a0,a1) =15∑

i=0

[f (xi)− g(xi)]2 =n∑

i=1

[f (xi)− (a0 + a1xi)]2

229 / 358

Método dos mínimos quadradosRegressão linear simples: g(x) = a0 + a1x

SSE(a0,a1) =n∑

i=1

[f (xi)− g(xi)]2 =n∑

i=1

[f (xi)− (a0 + a1xi)]2

∂a1SSE(a0,a1) = 0 ∧ ∂

∂a0SSE(a0,a1) = 0

−2n∑

i=1

[f (xi)−(a0+a1xi)]xi = 0 ∧ −2n∑

i=1

[f (xi)−(a0+a1xi)] = 0

a0

n∑i=1

1+a1

n∑i=1

xi =n∑

i=1

f (xi) ∧ a0

n∑i=1

xi+a1

n∑i=1

x2i =

n∑i=1

xi f (xi)

Sistema de equações normais[n

∑xi∑

xi∑

x2i

] [a0a1

]=

[ ∑f (xi)∑

xi f (xi)

]230 / 358

Método dos mínimos quadrados

X =

1 x01 x1...

...1 xn

(XT X)

[a0a1

]= XT f

[a0a1

]= (XT X)−1XT f

Produto interno:(f ,h) =

n∑i=1

f (xi)h(xi)

g(x) = a0 + a1x = a0φ0(x) + a1φ1(x), φ0(x) = 1, φ1(x) = x[(φ0, φ0) (φ0, φ1)(φ1, φ0) (φ1, φ1)

] [a0a1

]=

[(φ0, y)(φ1, y)

][

(1,1) (1, x)(x ,1) (x , x)

] [a0a1

]=

[(1, f )(x , f )

][

n∑

xi∑xi

∑x2

i

] [a0a1

]=

[ ∑f (xi)∑

xi f (xi)

]231 / 358

Método dos mínimos quadrados

Exemplo: xi Hora 6 7 8 9 10 11 12f (xi ) Temperatura 9 13 12 18 19 24 23

g(x) = a0 + a1x = a0φ0(x) + a1φ1(x), φ0(x) = 1, φ1(x) = x

(φ0, φ0) =∑6

i=0 1 = 6− 0 + 1 = 7

(φ0, φ1) =∑6

i=0 xi = 6 + 7 + 8 + 9 + 10 + 11 + 12 = 63

(φ0, φ1) = (φ1, φ0)

(φ1, φ1) =∑6

i=0 x2i = 62 + 72 + 82 + 92 + 102 + 112 + 122 = 595

(φ0, f ) =∑6

i=0 f (xi) = 9 + 13 + 12 + 18 + 19 + 24 + 23 = 118

(φ1, f ) =∑6

i=0 xi f (xi) = 6× 9 + 7× 13 + . . .+ 12× 23 = 1133[7 6363 595

] [a0a1

]=

[118

1133

]a0 = −5.9643 ∧ a1 = 2.5357, g(x) = −5.9643 + 2.5357x

232 / 358

Método dos mínimos quadrados

6 7 8 9 10 11 128

10

12

14

16

18

20

22

24

26

Tempo em horas (x)

Te

mp

era

tura

em

gra

us (

y)

233 / 358

Método dos mínimos quadrados

Regressão linear geral: g(x) = a0φ0(x) + . . .+ amφm(x)

SSE = d2(f ,g) = ‖f − g‖22 =n∑

i=1

[f (xi)− g(xi)]2

∂ajSSE = 0, j = 0,1,2, . . . ,m.

−2n∑

i=1

[f (xi)− g(xi)]∂

∂ajg(xi) = 0

∂ajg(xi) = φj(xi)

n∑i=1

[f (xi)− g(xi)]φj(xi) = 0

234 / 358

Método dos mínimos quadrados

a0

n∑i=1

φ0(xi)φj(xi) + . . .+ am

n∑i=1

φm(xi)φj(xi) =n∑

i=1

f (xi)φj(xi)

(f ,h) =n∑

i=1

f (xi)h(xi)

a0(φ0, φj) + a1(φ1, φj) + . . .+ am(φm, φj) = (f , φj)

(φ0, φ0) (φ0, φ1) . . . (φ0, φm)(φ1, φ0) (φ1, φ1) . . . (φ1, φm)

......

...(φm, φ0) (φm, φ1) . . . (φm, φm)

a0a1...

am

=

(f , φ0)(f , φ1)

...(f , φm)

235 / 358

Método dos mínimos quadrados

g(x) = a0 + a1x + a2x2 + . . .+ amxm

φ0(x) = 1, φ1(x) = x , φ2(x) = x2, , . . . φm(x) = xm

(f ,h) =n∑

i=1

f (xi)h(xi)

(φj , φk ) = (x j , xk ) =n∑

i=1

x j+ki

n

∑ni=1 xi . . .

∑ni=1 xm

i∑ni=1 xi

∑ni=1 x2

i . . .∑n

i=1 xm+1i

......

...∑ni=1 xm

i∑n

i=1 xm+1i . . .

∑ni=1 x2m

i

a0a1...

am

=

∑n

i=1 yi∑ni=1 xiyi

...∑ni=1 xm

i yi

236 / 358

Método dos mínimos quadrados

Melhorar as propriedades numéricas: centrar e escalar xi ’s

xi =xi − xσx

onde

x =1n

n∑i=1

xi , σx =1

n − 1

n∑i=1

(xi − x)2

I evita mal condicionamentoI observações ficam em pé de igualdade em relação à

variação dos dados

Normas da matriz do sistema com e sem transformação de dados

norma∞ norma 1 norma 2

A com x 57.4595 57.4595 40.8433

A com x 1.8680× 104 1.8680× 104 1.1603× 104

237 / 358

Método dos mínimos quadrados

p(x) = a0 + a1x + a2x2 + a3x3

i xi yi i xi yi

1 1.00 26.0000 8 1.40 46.61702 1.05 19.6880 9 1.50 69.09383 1.10 32.6642 10 1.60 74.40544 1.15 22.9469 11 1.70 98.70415 1.20 41.5549 12 1.80 102.63956 1.25 28.5068 13 1.90 131.85777 1.30 45.8218 14 2.00 149.0000

A =

14.000 19.950 29.838 46.70719.950 29.838 46.707 76.13929.838 46.707 76.139 128.4646.707 76.139 128.46 222.95

, cond2(A) = 3.375× 106

x = 1.425, σx = 0.329

A =

14.000 0.0000 13.000 4.85670.0000 13.000 4.8567 22.11613.000 4.8567 22.116 17.8344.8567 22.116 17.834 48.185

, cond2(A) = 45.88

238 / 358

Método dos mínimos quadrados

Exemplo: g(x) = a0 sin(πx/2) + a1 cos(πx/2)

xi -2 -1 0 1 2 φ0(x) = sin(πx/2)yi 1 2 -1 0 1 φ1(x) = cos(πx/2)

(φ0, φ0) =∑5

i=1(sin(πxi/2))2 = 2

(φ0, φ1) =∑5

i=1 sin(πxi/2) cos(πxi/2) = 0

(φ1, φ0) = (φ0, φ1)

(φ1, φ1) =∑5

i=1(cos(πxi/2))2 = 3

(φ0, y) =∑5

i=1 yi sin(πxi/2) = −2

(φ1, y) =∑5

i=1 yi cos(πxi/2) = −3

[2 00 3

] [a0a1

]=

[−2−3

]g(x) = − sin(πx/2)− cos(πx/2)

239 / 358

Método dos mínimos quadrados

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−1.5

−1

−0.5

0

0.5

1

1.5

2

x

y

f(x)p

3(x)

g(x)

SSE(g) = 2 SSE(p3) = 2.0571...240 / 358

Método dos mínimos quadrados não lineares

Exemplo: g(x) = a + b ecx

SSE(a,b, c) =n∑

i=1

(f (xi)− a− becxi )2

Sistema não linear (método de Newton generalizado):

∂SSE∂a

(a,b, c) = −2n∑

i=1

(f (xi)− a− becxi ) = 0

∂SSE∂b

(a,b, c) = −2n∑

i=1

(f (xi)− a− becxi ) ecxi = 0

∂SSE∂c

(a,b, c) = −2n∑

i=1

(f (xi)− a− becxi ) bxiecxi = 0

241 / 358

Método dos mínimos quadrados não linearesxi 0.0 0.5 1.0 1.5 2.0 2.5 3.0

f (xi ) −3.00 −1.89 −1.03 −0.36 0.16 0.57 0.88

SSE(a,b, c) =6∑

i=0

(f (xi )− a− becxi )2, g(x) = a + b ecx

6∑i=0

(f (xi )− a− becxi ) = 0

6∑i=0

(f (xi )− a− becxi ) ecxi = 0

6∑i=0

(f (xi )− a− becxi ) bxiecxi = 0

Com x0 = (1,−5,−0.5)T , o método de Newton generalizadoconverge para a solução do sistema a = 1.982, b = −4.982 ec = −0.5033 ao fim de 5 iteradas com critério de paragem‖x(k+1) − x(k)‖2 ≤ 10−10 com SSE(g) = 1.861× 10−5.

242 / 358

Método dos mínimos quadrados não lineares.

Exemplo (Linearização):

xi −1.0 −0.5 0.0 0.5 1.0f (xi ) 0.262 1.20 2.83 1.34 0.131

Minimizar : SSE(a,b) =4∑

i=0

(f (xi)− aebx2

i

)2, g(x) = aebx2

ln g(x) = ln a + bx2 = a0 + a1x2, a0 = ln a, a1 = b

f (x) ↔ g(x)ln f (x) ↔ ln g(x)

xi −1.0 −0.5 0.0 0.5 1.0ln f (xi ) −1.34 0.182 1.04 0.293 −2.03

Minimizar : SSE(a0,a1) =4∑

i=0

(ln f (xi)− a0 − a1x2

i

)2

243 / 358

Método dos mínimos quadrados não lineares.φ0(x) = 1, φ1(x) = x2

xi −1.0 −0.5 0.0 0.5 1.0ln f (xi ) −1.34 0.182 1.04 0.293 −2.03[

n∑

x2i∑

x2i∑

x4i

] [a0a1

]=

[ ∑ln f (xi)∑

x2i ln f (xi)

][

5 2.52.5 2.125

] [a0a1

]=

[−1.8567−3.2532

]a0 = 0.9572, a1 = −2.6570

SSE(0.9572,−2.6570) =4∑

i=0

(ln f (xi )− 0.9572 + 2.6570x2

i)2

= 0.2597

ln a = a0 ⇔ a = ea0 = 2.6044, b = a1 = −2.6570

SSE(2.6044,−2.6570) =4∑

i=0

(f (xi )− 2.6044e−2.6570x2

i

)2= 0.0796

244 / 358

Capítulo 7

Interpolação polinomial

I Método de VandermondeI Método de LagrangeI Método de Newton

245 / 358

Interpolação

f(x)

X3210 xxxxObjectivo: Dado um conjunto de pontos (xi , yi), i = 0,1, . . . ,n,pretende-se encontrar uma função, habitualmente umpolinómio, que passe em todos estes pontos.

246 / 358

InterpolaçãoOs polinómios aproximam uniformemente funçõescontínuas.

Dada uma função contínua num intervalo [a;b], existesempre um polinómio que está tão próximo quantoqueiramos da função (Teorema de Weierstrass)

X

f(x)

247 / 358

InterpolaçãoPolinómios de Taylor aproximam bem localmente.

Exemplo:

ex = 1 + x +x2

2!+

x3

3!+ . . .+

xk

k !+ . . .

0 0.5 1 1.5 2 2.51

2

3

4

5

6

7

8

9

X

ex

p1(x)

p2(x)

p3(x)

p4(x)

248 / 358

InterpolaçãoPolinómios de Taylor aproximam bem localmente.

Exemplo:

f (x) =1x

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

1 1.2 1.4 1.6 1.8 2 2.2 2.4−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

X

f(x)

p1(x)

p2(x)

p3(x)

p4(x)

p5(x)

p6(x)

249 / 358

Interpolação. Método de Vandermonde

xi 0 4 9yi 0 −64 81

Objectivo: Encontrar o polinómio de grau menor ou igual a doisque interpola os pontos desta tabela, ou seja, tal quep2(xi) = yi , com p2(x) = a2x2 + a1x + a0

a0 = 0a0 + 4a1 + 16a2 = −64a0 + 9a1 + 81a2 = 81

1 0 01 4 161 9 81

a0a1a2

=

0−64

81

p2(x) = 5x2 − 36x

250 / 358

Interpolação. Método de Vandermonde

xi x0 x1 . . . xnyi y0 y1 . . . yn

Objectivo:Encontrar o polinómio pn ∈ Pn, pn(x) = a0 + a1x + . . .+ anxn

que interpola os pontos desta tabela1 x0 x2

0 . . . xn0

1 x1 x21 . . . xn

1...

......

...1 xn x2

n . . . xnn

a0a1...

an

=

f (x0)f (x1)

...f (xn)

251 / 358

Interpolação

Teorema Dados x0, x1, ..., xn pontos distintos, então existe umúnico polinómio interpolador pn(x) com grau menor ou igual an que passa nos n + 1 pontos (x0, y0), (x1, y1), ..., (xn, yn), ondexi , yi ∈ R.

Dem:Suponha-se que p(x) e q(x) são dois polinómios de grau ≤ nque passam nos pontos da tabela, com x1, ..., xn distintos.O polinómio r(x) = p(x)− q(x) ∈ Pn e tem (n + 1) raízesporque r(xi) = 0 para i = 0,1, . . . ,n.Contudo, um polinómio de grau n não pode ter (n + 1) raízes amenos que seja o polinómio nulo. 2

252 / 358

Interpolação. Método de Lagrange

Base de Lagrange para Pn: l0(x), l1(x), . . . , ln(x)

li(x) =n∏

j=0,j 6=i

x − xj

xi − xj=

x − x0

xi − x0. . .

x − xi−1

xi − xi−1

x − xi+1

xi − xi+1. . .

x − xn

xi − xn

Para k 6= i obtemos

li(xk ) =n∏

j=0,j 6=i

xk − xj

xi − xj=

xk − x0

xi − x0. . .

xk − xk

xi − xk. . .

xk − xn

xi − xn= 0

Para k = i obtemos

li(xi) =n∏

j=0,j 6=i

xi − xj

xi − xj=

xi − x0

xi − x0. . .

xi − xn

xi − xn= 1

li(xk ) = δik =

1, se i = k0, se i 6= k

253 / 358

Interpolação

pn(xi) = f (xi), pn(x) = a0l0(x) + a1l1(x) + . . .+ anln(x)1 0 . . . 0 00 1 . . . 0 0...

......

...0 0 . . . 0 1

a0a1...

an

=

f (x0)f (x1)

...f (xn)

Polinómio interpolador de Lagrange

pn(x) =n∑

i=0

f (xi)li(x)

254 / 358

Interpolação

Exemplo:

xi −0.8 0.8yi −2 4

p1(x) = f (x0)l0(x) + f (x1)l1(x)

l0(x) =x − x1

x0 − x1=

x − 0.8−0.8− 0.8

= −18

(5x − 4)

l1(x) =x − x0

x1 − x0=

x − (−0.8)

0.8− (−0.8)=

18

(5x + 4)

p1(x) =28

(5x−4)+48

(5x +4) =14

(5x−4)+12

(5x +4) =154

x +1

255 / 358

Interpolação

Exemplo:xi −0.8 0.0 1.5yi −1.02 0.00 14.10

p2(x) = f (x0)l0(x) + f (x1)l1(x) + f (x2)l2(x)

l0(x) =x − x1

x0 − x1· x − x2

x0 − x2=

x − 0−0.8− 0

· x − 1.5−0.8− 1.5

l1(x) =x − x0

x1 − x0· x − x2

x1 − x2=

x − (−0.8)

0− (−0.8)· x − 1.5

0− 1.5

l2(x) =x − x0

x2 − x0· x − x1

x2 − x1=

x − (−0.8)

1.5− (−0.8)· x − 0

1.5− 0

p2(x) = (−1.02)x − 0−0.8− 0

· x − 1.5−0.8− 1.5

+(0)x − (−0.8)

0− (−0.8)·x − 1.50− 1.5

+

+(14.10)x − (−0.8)

1.5− (−0.8)· x − 0

1.5− 0

256 / 358

Interpolação. Método de Newton

Base de Newton para Pn:

1, (x − x0), (x − x0)(x − x1), . . . , (x − x0)(x − x1) . . . (x − xn−1)

pn(x) = c0 + c1(x − x0) + c2(x − x0)(x − x1) + . . .

. . .+ cn(x − x0)(x − x1) . . . (x − xn−1)

pn(x0) = c0 + c1(x0 − x0) + c2(x0 − x0)(x0 − x1) + . . .

. . .+ cn(x0 − x0)(x0 − x1) . . . (x0 − xn−1) = c0

pn(x1) = c0 + c1(x1 − x0) + c2(x1 − x0)(x1 − x1) + . . .

. . .+ cn(x1− x0)(x1− x1) . . . (x1− xn−1) = c0 + c1(x1− x0)

257 / 358

Interpolação. Método de Newton

A =

1 0 0 . . . 01 (x1 − x0) 0 . . . 01 (x2 − x0) (x2 − x0)(x2 − x1) . . . 0...

......

...1 (xn − x0) (xn − x0)(xn − x1) . . . (xn − x0) . . . (xn − xn−1)

A

c0c1c2...

cn

=

f (x0)f (x1)f (x2)

...f (xn)

Observação: A adição de novos pontos não afecta oscoeficientes anteriormente calculados.

258 / 358

Interpolação. Método de Newton (diferenças divididas)

• c0 = f (x0)⇔ f [x0] = f (x0)

• c0 + c1(x1 − x0) = f (x1)⇔ c1 = f (x1)−c0x1−x0

f [x0, x1] =f (x1)− f (x0)

x1 − x0

• c0 + c1(x2 − x0) + c2(x2 − x0)(x2 − x1) = f (x2)

c2 =

f (x2)−f (x1)x2−x1

− f (x1)−f (x0)x1−x0

x2 − x0

f [x0, x1, x2] =f [x1, x2]− f [x0, x1]

x2 − x0

259 / 358

Interpolação. Método de Newton

Exemplo:

p2(x) = f (x0) + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)

p2(x) = −1.02 + 1.275 (x + 0.8) + 3.5326 (x + 0.8)(x − 0.0)

xi f (xi) f [xi , xi+1] f [xi , xi+1, xi+2]

x0 = −0.8 f (x0) = −1.02f [x0, x1] = 1.275

x1 = 0.0 f (x1) = 0.00 f [x0, x1, x2] = 3.5326f [x1, x2] = 9.400

x2 = 1.5 f (x2) = 14.10

f [x0, x1] =f (x1)− f (x0)

x1 − x0=

0.00− (−1.02)

0.0− (−0.8)= 1.2750

f [x1, x2] =f (x2)− f (x1)

x2 − x1=

14.10− 0.001.5− 0.0

= 9.4000

f [x0, x1, x2] =f [x1, x2]− f [x0, x1]

x2 − x0=

9.400− 1.2751.5− (−0.8)

= 3.5326260 / 358

Interpolação. Método de Newton

Exemplo:

xi f (xi) f [xi , xi+1] f [xi , xi+1, xi+2]

−0.8 −1.021.275

0.0 0.00 3.53269.400

1.5 14.10

p2(x) = f (x2) + f [x1, x2](x − x2) + f [x0, x1, x2](x − x2)(x − x1)

p2(x) = 14.1 + 9.4 (x − 1.5) + 3.5326 (x − 1.5)(x − 0)

261 / 358

Interpolação. Método de Newton

Exemplo:

xi f (xi) f [xi , xi+1] f [xi , . . . , xi+2] f [xi , . . . , xi+3] f [xi , . . . , xi+4]

x0 f (x0)

×x1 f (x1) ×

⊗ ×x2 f (x2) • ×

× •x3 f (x3) •

⊗x4 f (x4)

f [x1, x2, x3, x4] =f [x2, x3, x4]− f [x1, x2, x3]

x4 − x1

262 / 358

Interpolação. Método de Newton

Exemplo:

xi f (xi) f [xi , xi+1] f [xi , . . . , xi+2] f [xi , . . . , xi+3] f [xi , . . . , xi+4]

x0 f (x0)

×x1 f (x1) ×

• ×x2 f (x2) • ×

• ×x3 f (x3) ×

×x4 f (x4)

f [x1, x2, x3] =f [x2, x3]− f [x1, x2]

x3 − x1

263 / 358

Interpolação. Método de Newton

Exemplo:

xi f (xi ) f [xi , xi+1] f [xi , . . . , xi+2] f [xi , . . . , xi+3] f [xi , . . . , xi+4] f [xi , . . . , xi+5]

x0 f (x0)

×x1 f (x1) ×

⊗ ×x2 f (x2) ⊗ ×

× • ×x3 f (x3) × •

× •x4 f (x4) ⊗

⊗x5 f (x5)

f [x1, x2, x3, x4, x5] =f [x2, x3, x4, x5]− f [x1, x2, x3, x4]

x5 − x1

264 / 358

Interpolação. Método de Newton

f [x0, x1, . . . , xk ] =f [x1, x2, . . . , xk ]− f [x0, x1, . . . , xk−1]

xk − x0

Proposição: A diferença dividida f [x0, x1, . . . , xk ] é o coeficientedo termo xn do polinómio interpolador pn(x).

Polinómio interpolador de Newton

pn(x) = f (x0)+ f [x0, x1](x−x0)+ f [x0, x1, x2](x−x0)(x−x1)+ . . .

. . .+ f [x0, . . . , xn](x − x0) . . . (x − xn−1)

p0(x) = f (x0)

p1(x) = f (x0) + f [x0, x1](x − x0)

p2(x) = f (x0) + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)

p3(x) = f (x0) + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1) +

+f [x0, x1, x2, x3](x − x0)(x − x1)(x − x2)

...265 / 358

Erro de interpolação

en(x) = f (x)− pn(x)

x é um novo nó

pn+1(y) = pn(y) + f [x0, . . . , xn, x ](y − x0) . . . (y − xn)

Se y = x vem pn+1(x) = f (x) e

f (x) = pn(x) + f [x0, . . . , xn, x ](x − x0) . . . (x − xn)

en(x) = f [x0, . . . , xn, x ](x − x0) . . . (x − xn)

266 / 358

Erro de interpolação

Teorema: Seja f ∈ Cn, x0, . . . , xn, n + 1 nós distintos. Então

∃ξ ∈]x0; xn[: f [x0, . . . , xn] =f (n)(ξ)

n!

Corolário: Seja V = int [x0, . . . , xn, x ] e f ∈ Cn+1(V ).Então o erro de interpolação é

en(x) =f (n+1)(ξ)

(n + 1)!(x − x0) . . . (x − xn), ξ ∈ V

267 / 358

Majoração do erro de interpolação

e1(x) =f ′′(ξ)

2!(x − x0)(x − x1)

w(x) = (x−x0)(x−x1) = x2−(x0+x1)x+x0x1, w ′(x) = 2x−(x0+x1)

w ′(x) = 0⇔ x =x0 + x1

2

w(

x0 + x1

2

)=

x1 − x0

2x0 − x1

2= −h2

4

|e1(x)| ≤ h2

8M, M = max

x∈I|f ′′(x)|

XX

w(x)

10

268 / 358

Majoração do erro de interpolação

e2(x) =f ′′′(ξ)

3!(x − x0)(x − x1)(x − x2)

w(x) = (x − x0)(x − x1)(x − x2), y = x − x1 ⇔ x = y + x1

x − x0 = y + x1 − x0 = y + h, x − x2 = y + x1 − x2 = y − h

w(y) = (y + h)y(y − h) = y(y2 − h2)

w ′(x) = 0⇔ y = ± h√3

w(

h√3

)= − 2h3

3√

3

|e2(x)| ≤ h3

9√

3M, M = max

x∈I|f ′′′(x)|

XXX

w(x)

210

269 / 358

Interpolação. Oscilação polinomial

Descontinuidades

Os polinómios são muito maus para interpolar funções comdescontinuidades.

−4 −3 −2 −1 0 1 2 3 4−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

X

270 / 358

Interpolação. Oscilação polinomial

Não linearidade Uma função não linear que não pode serfacilmente interpolada: função Gaussiana f (x) = e−x2

.Os coeficientes da série de Taylor desta função não caiem tãorapidamente como é usual noutras funções tais como a funçãoexponencial f (x) = ex ou as funções trigonométricas.

−3 −2 −1 0 1 2 3 4 5−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

X

f(x) = e−x

2

p6(x)

271 / 358

Interpolação. Oscilação polinomial

Uma função não linear que não pode ser facilmente interpolada

f (x) = 2 + 0.5 atan(5x)

−3 −2 −1 0 1 2 3 4

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

3

X

f(x) = 2 + 0.5 atan( 5 x )

p4(x)

272 / 358

Capítulo 8

Integração

I Fórmulas de NewtonI Método do ponto médioI Método dos TrapéziosI Método de Simpson

I Construção de fórmulas geraisI Método dos coeficientes indeterminadosI Polinómios de LagrangeI Grau

273 / 358

Integração numérica

Teorema do valor intermédio para integrais:Se f e g são funções contínuas no intervalo [a; b], e

g é não negativa em (a; b), então existe ξ ∈ (a; b) tal que∫ b

af (x)g(x)dx = f (ξ)

∫ b

ag(x)dx

274 / 358

Integração numérica. Método do ponto médio

a X

f(x)

b

f (x) = f (x0) + f ′(x0)(x − x0) +f ′′(ξx )

2!(x − x0)2, ξx ∈ int(x , x0),

x0 = (a + b)/2

275 / 358

Integração numérica. Método do ponto médio

I(f ) =

∫ b

af (x)dx =

∫ b

af (x0)dx +

∫ b

af ′(x0)(x − x0)dx +

+

∫ b

a

f ′′(ξx )

2!(x − x0)2dx

I(f ) = (b−a)f ((a+b)/2)+f ′(x0)

∫ b

a(x−x0)dx+

∫ b

a

f ′′(ξx )

2!(x−x0)2dx

∫ b

a(x − x0)dx = 0

276 / 358

Integração numérica. Método do ponto médiohip: f ∈ C2(a,b)(x − x0)2 não muda de sinal em [a; b]Pelo teorema do valor intermédio para integrais,∫ b

a

f ′′(ξx )

2!(x − x0)2dx =

f ′′(τ)

2

∫ b

a(x − x0)2dx , τ ∈ [a; b]

Transformação de variável: u = x − x0 e du = dx∫ b

a

f ′′(ξx )

2!(x − x0)2dx =

f ′′(τ)

2

∫ b−x0

a−x0

u2dx =h3

24f ′′(τ)

LogoI(f ) = Q(f ) + EPM(f )

Q(f ) = (b − a)f(

a + b2

), EPM(f ) =

h3

24f ′′(τ), h = b − a

277 / 358

Integração numérica. Método dos Trapézios

b X

f(x)

a

f (x) = p1(x) + e1(x)

p1(x) = f (a)l0(x) + f (b)l1(x) = f (a)x − ba− b

+ f (b)x − ab − a

e1(x) =f ′′(ξx )

2!(x − a)(x − b)

278 / 358

Integração numérica

I(f ) =

∫ b

af (x)dx =

∫ b

ap1(x)dx +

∫ b

ae1(x)dx

I(f ) =

∫ b

al0(x)dx f (a) +

∫ b

al1(x)dx f (b) +

∫ b

a

f ′′(ξx )

2!(x−a)(x−b)dx

(x − a)(x − b) não muda de sinal em [a; b]hip: f ∈ C2[a; b]aplica-se o Teorema do valor intermédio para integrais

ET (f ) =

∫ b

a

f ′′(ξx )

2!(x − a)(x − b)dx = −(b − a)3

12f ′′(τ)

I(f ) = T (f ) + ET (f )

Regra dos Trapézios simples:

T (f ) =b − a

2[f (a) + f (b)]

279 / 358

Integração numérica. Método dos Trapézios

T (f ) = A0f (x0) + A1f (x1)

x0 = a, x1 = b, Ai =

∫ b

ali(x)dx

f ∈ P1 ⇒ f (x) = αx + β, f ′′(x) = 0⇒ ET (f ) = 0

Método dos coeficientes indeterminadosObjectivo: Construir uma fórmula que seja exacta para p1 ∈ P1

T (1) = I(1)T (x) = I(x)

A0 + A1 =

∫ ba dx

A0x0 + A1x1 =∫ b

a xdx⇔

A0 + A1 = x |baA0x0 + A1x1 = x2

2 |ba⇔

A0 + A1 = b − aA0a + A1b = b2−a2

2⇔

A0 = A1 =b − a

2280 / 358

Integração numérica. Método dos TrapéziosObservação: T e I são funcionais lineares.

E(αx+β) = 0, ∀α, β ∈ R⇔ T (αx+β) = I(αx+β), ∀α, β ∈ R⇔

αT (x) + βT (1) = αI(x) + βI(1), ∀α, β ∈ R⇔T (1) = I(1)T (x) = I(x)

E(1) = 0E(x) = 0

T (αx + β) = A0(αx0 + β) + A1(αx1 + β)

= αA0x0 + βA0 + αA1x1 + βA1

= α(A0x0 + A1x1) + β(A0 + A1) = αT (x) + βT (1)

I(αx + β) =

∫ b

aαx + βdx

= α

∫ b

axdx + β

∫ b

a1dx = αI(x) + βI(1)

281 / 358

Integração numérica. Método dos Trapézios

f(x)

XX X XXXXX ... nn-1n-23210

I(f ) =

∫ b

af (x)dx =

n∑i=1

∫ xi

xi−1

f (x)dx ≈n∑

i=1

hi

2[f (xi−1)+f (xi)] = Tn(f )

Se hi = xi − xi−1 = h (nós igualmente espaçados), então

Regra dos Trapézios composta

Tn(f ) = h

[f (a) + f (b)

2+

n−1∑i=1

f (xi)

]282 / 358

Integração numérica

ETn (f ) = −

n∑i=1

h3i

12f ′′(ξi), ξi ∈ (xi−1, xi)

Se hi = xi − xi−1 = h (nós igualmente espaçados), então

ETn (f ) = −h3

12

n∑i=1

f ′′(ξi)

Se f ′′ ∈ C[a; b] então ∃ ξ ∈ (a; b) tal que

f ′′(ξ1) + . . .+ f ′′(ξn) = nf ′′(ξ)

ETn (f ) = −

n∑i=1

h3

12nf ′′(ξ) = −(b − a)h2

12f ′′(ξ), n =

b − ah

283 / 358

Integração numérica. Método dos Trapézios

Tn(f ) = h

[f (a) + f (b)

2+

n−1∑i=1

f (xi)

], h =

b − an

, xi = a + ih

Exemplo: (2 subintervalos)

I(f ) =

∫ π

0ex cos(x)dx

h =π − 0

2, x0 = 0, x1 =

π

2, x2 = π

T2(f ) = h[

f (x0) + f (x2)

2+ f (x1)

]T2(f ) =

π

2

[f (0) + f (π)

2+ f (π/2)

]= −17.39

284 / 358

Integração numérica. Método dos Trapézios

Tn(f ) = h

[f (a) + f (b)

2+

n−1∑i=1

f (xi)

], h =

b − an

, xi = a + ih

Exemplo: (4 subintervalos)

I(f ) =

∫ π

0ex cos(x)dx

h =π − 0

4, x0 = 0, x1 =

π

4, x2 =

2π4, x3 =

3π4, x4 = π

T4(f ) = h[

f (x0) + f (x4)

2+ f (x1) + f (x2) + f (x3)

]T4(f ) =

π

4

[f (0) + f (π)

2+ f (π/4) + f (2π/4) + f (3π/4)

]= −13.34

285 / 358

Integração numérica. Método dos Trapézios

Número mínimo de subintervalos para que |ETn (f )| < ε

|ETn (f )| =

∣∣∣∣(b − a)h2

12f ′′(ξ)

∣∣∣∣ ≤ (b − a)3

12n2 M < ε, h =b − a

n

M = maxx∈[a;b]

|f ′′(x)|

n2 >(b − a)3M

12ε⇔ n >

((b − a)3M

12ε

)1/2

n =

⌈((b − a)3M

12ε

)1/2⌉

286 / 358

Integração numérica. Método dos Trapézios

Exemplo: I(f ) =∫ 1

0 ex2dx

Número mínimo de subintervalos para que |ETn (f )| < 10−4

n >(

(b − a)3M12ε

)1/2

f (x) = ex2

f ′′(x) = 2(1 + 2x2)ex2

f ′′′(x) = 12xex2+ 8x3ex2

> 0⇒ f ′′(x) crescente

xi 0 1f ′′(xi) 2 16.3097

M = maxx∈[a;b] |f ′′(x)|

n =

⌈((b − a)3M

12ε

)1/2⌉= d116.58e = 117

287 / 358

Integração numérica. Método de Simpson

a b X

f(x)

S(f ) = A0f (x0) + A1f (x1) + A2f (x2)

x0 = a, x1 =a + b

2, x2 = b, Ai =

∫ b

ali(x)dx

A0 =

∫ b

a

x − x1

x0 − x1

x − x2

x0 − x2dx , ...

A0 = A2 =b − a

6, A1 = 4

b − a6

288 / 358

Integração numérica. Método de SimpsonRegra de Simpson simples:

S(f ) =b − a

6[f (a) + 4f ((a + b)/2) + f (b)]

ES(f ) = −(b − a)5

90f (4)(ξ), ξ ∈ (a; b)

Regra de Simpson composta:

Sn(f ) =h3

[f (a) + f (b) + 4n/2∑i=1

f (x2i−1) + 2n/2−1∑

i=1

f (x2i)],h =b − a

n

ESn (f ) = −(b − a)h4

180f (4)(ξ), ξ ∈ (a; b)

Observação: f ∈ P3 ⇒ f (4)(x) = 0⇒ ET (f ) = 0

289 / 358

Integração numérica. Método de Simpson

Sn(f ) =h3

[f (a) + f (b) + 4n/2∑i=1

f (x2i−1) + 2n/2−1∑

i=1

f (x2i)],h =b − a

n

Exemplo: (2 subintervalos)

I(f ) =

∫ π

0ex cos(x)dx

h =π − 0

2, x0 = 0, x1 =

π

2, x2 = π

S(f ) =π − 0

6[f (0) + 4f (π/2) + f (π)] = −11.592840

290 / 358

Integração numérica. Método de Simpson

Sn(f ) =h3

[f (a) + f (b) + 4n/2∑i=1

f (x2i−1) + 2n/2−1∑

i=1

f (x2i)],h =b − a

n

Exemplo: (4 subintervalos)

I(f ) =

∫ π

0ex cos(x)dx

h =π − 0

4, x0 = 0, x1 =

π

4, x2 =

2π4, x3 =

3π4, x4 = π

S4(f ) =h3

[f (a) + f (b) + 4f (x1) + f (x3)+ 2f (x2)]

S4(f ) =π

12[f (0)+f (π)+4f (π/4)+f (3π/4)+2f (2π/4)] = −11.9849

291 / 358

Integração numérica. Método de Simpson

S(f ) = A0f (x0)+A1f (x1)+A2f (x2), x0 = a, x1 =a + b

2, x2 = b

Método dos coeficientes indeterminados

Objectivo: Construir uma fórmula que seja exacta para p2 ∈ P2

S(1) = I(1)S(x) = I(x)S(x2) = I(x2)

A0 + A1 + A2 =

∫ ba dx

A0x0 + A1x1 + A2x2 =∫ b

a xdxA0x2

0 + A1x21 + A2x2

2 =∫ b

a x2dx⇔

A0 = A2 =b − a

6=

h3, A1 = 4

b − a6

=4h3, h =

b − a2

292 / 358

Integração numérica. Método de Simpson

Definição: Uma fórmula de quadratura Q(f ) tem grau k se

Q(x i) = I(x i), i = 0, . . . , k ∧ Q(xk+1) 6= I(xk+1)

Observação:

• Trapézios tem grau 1 (ETn (p1) = 0, ET

n (p2) 6= 0)

• Simpson tem grau 3 (ESn (p3) = 0, ES

n (p4) 6= 0)

ETn (f ) = −(b − a)h2

12f ′′(ξ), ξ ∈ (a; b)

ESn (f ) = −(b − a)h4

180f (4)(ξ), ξ ∈ (a; b)

293 / 358

Integração numérica. Método de Simpson

Número mínimo de subintervalos para que |ESn (f )| < ε

|ESn (f )| =

∣∣∣∣(b − a)h4

180f (4)(ξ)

∣∣∣∣ ≤ (b − a)5

180n4 M < ε, h =b − a

n

M = maxx∈[a;b]

|f (4)(x)|

n4 >(b − a)5M

180ε∧ n par ⇔ n >

((b − a)5M

180ε

)1/4

∧ n par

294 / 358

Integração numérica. Método de Simpson

Exemplo: I(f ) =∫ 1

0 ex2dx

Número mínimo de subintervalos para que |ESn (f )| < 10−4

n >(

(b − a)5M180ε

)1/4

f (x) = ex2

f (4)(x) = 2(1 + 2x2)ex2

f (5)(x) = 120xex2+160x3ex2

+32x5ex2> 0⇒ f (4)(x) crescente

xi 0 1f (4)(xi) 12 206.5894

M = maxx∈[a;b] |f (4)(x)|

n > 10.35 ∧ n par ⇒ n = 12

295 / 358

Integração numérica.Trapézios (ordem p = 2):

ETn (f ) = −b − a

12h2f ′′(ξ1) ≈ C1h2

Simpson (ordem p = 4):

ESn (f ) = −b − a

180h4f (4)(ξ2) ≈ C2h4

Ordem p : En(f ) ≈ Chp, E2n(f ) ≈ Chp

2p ≈En(f )

2p

p = 2 : ET2n(f ) ≈ En(f )

4p = 4 : ES

2n(f ) ≈ En(f )

16

En(f )

E2n(f )≈ 2p ⇔ p ≈ ln[En(f )/E2n(f )]

ln 2

296 / 358

Integração numérica.Método dos coeficientes indeterminados

Q(f ) =n∑

i=0

Ai f (xi), I(f ) =

∫ b

af (x)dx

O erro é zero para pn ∈ Pn ⇔ Q(pn) = I(pn), ou seja

anQ(xn)+ . . .+a1Q(x)+a0Q(1) = anI(xn)+ . . .+a1I(x)+a0I(1)

isto é,Q(xn) = I(xn)

... =...

Q(x) = I(x)Q(1) = I(1)

297 / 358

Integração numérica.Método dos coeficientes indeterminados

Para que a fórmula de quadratura Q(f ) tenha grau não inferiora n é necessário e suficiente que se verifique o sistemaanterior, ou seja,

n∑i=0

Aixni =

∫ b

axndx

......

n∑i=0

Aixi =

∫ b

axdx

n∑i=0

Ai =

∫ b

adx

298 / 358

Integração numérica.Método dos coeficientes indeterminados

1 1 . . . 1x0 x1 . . . xn...

......

xn0 xn

1 . . . xnn

A0A1...

An

=

b − a

(b2 − a2)/2...

(bn+1 − an+1)/(n + 1)

Observação: Dados os nós de integração distintos x0, x1, ...,xn, existe uma única solução para os pesos A0, A1, ..., An(matriz invertível se os nós forem distintos).

299 / 358

Integração numérica.Método dos coeficientes indeterminados

Exemplo: Q(f ) = A0f (−1) + A1f (0) + A2f (1)

I(f ) =

∫ 2

−2f (x)dx

A0(1) + A1(1) + A2(1) =

∫ 2−2 1dx

A0(−1) + A1(0) + A2(1) =∫ 2−2 xdx

A0(−1)2 + A1(0)2 + A2(1)2 =∫ 2−2 x2dx 1 1 1

−1 0 1(−1)2 02 12

A0A1A2

=

2− (−2)(22 − (−2)2)/2(23 − (−2)3)/3

Q(f ) =

83

f (−1)− 43

f (0) +83

f (1)

300 / 358

Integração numérica.Método dos coeficientes indeterminados

Qual será o grau desta fórmula?Pela forma como foi construída tem pelo menos grau 2.

Q(x3) =83

(−1)3 − 43

(0)3 +83

(1)3 = 0

I(x3) =

∫ 2

−2x3dx =

x4

4

∣∣∣∣2−2

= 0

Q(x4) =83

(−1)4 − 43

(0)4 +83

(1)4 =163

I(x4) =

∫ 2

−2x4dx =

x5

5

∣∣∣∣2−2

=(−2)5 − 25

5= 12.8

ou seja, Q(xk ) = I(xk ) para k = 0,1,2,3 e Q(x4) 6= I(x4), logoa fórmula de quadratura tem grau 3.

301 / 358

Capítulo 9

Equações diferenciais ordinárias

I Métodos de TaylorI Método de Euler (“óiler”)I Método de Taylor de ordem 2

I Métodos de Runge-KuttaI Método de Heun (“óin”)I Método de Euler modificado (método do ponto médio)

302 / 358

Equações diferenciais ordináriasProblema de Cauchy

y ′(x) = f (x , y(x))y(x0) = y0

XX X X

y(x) y

X

4

43210

x0 x1 x2 . . . xn xi = x0 + ih, h = (b − a)/ny0 y1 y2 . . . yn

y(xi) ≈ yi

303 / 358

Equações diferenciais ordinárias

Teorema (Picard-Lindelof)Seja D ⊂ R2, D aberto, e f : D ∈ R2 → R uma função tal que:(i) f é contínua em D(ii) f é Lipshitziana na segunda variável, i.e., existe L:

|f (x , y)− f (x ,w)| ≤ L|y − w |, ∀(x , y), (x ,w) ⊂ D

então, dado qualquer (x0, y0) ∈ D, existe uma única solução doproblema de Cauchy definida numa vizinhança de x0.

Observação: Se num conjunto limitado D, a derivada ∂f/∂yexiste e é contínua então verifica-se a condição (ii).

f (x , y) = f (x ,w) +∂f∂y

(x , ξ)(y − w)

|f (x , y)− f (x ,w)| ≤ max(x ,y)∈D

∣∣∣∣ ∂f∂y

(x , y)

∣∣∣∣ |y − w | = L|y − w |

304 / 358

Métodos de Taylor. Método de Euler (“óiler”)

y

X

y

X

i

i+1iih f(x ,y )

i+1i

y(xi+1) = y(xi+h) = y(xi)+hy ′(xi)+h2

2y ′′(ξ), ξ ∈ [ti ; ti+1] ⊂ [a; b]

y ′(xi) = f (xi , y(xi))⇒ y(xi+1) = y(xi) + hf (xi , y(xi)) +h2

2y ′′(ξ)

yi+1 = yi + hf (xi , yi), Erro local de truncatura: en = h2

2 y ′′(ξ)

305 / 358

Métodos de Taylor. Erro local de truncatura

I Erro local de truncatura (ELT) do método é o erro induzidoem cada passo de tempo devido à truncatura da série deTaylor.

I Para o método de Euler explícito o ELT é O(h2), logo ométodo é de primeira ordem. Em geral, um método comELT de O(hp+1) diz-se de ordem p.

I Métodos de ordem mais elevada fornecem ELT maisbaixos para o mesmo passo h.

306 / 358

Métodos de Taylor. Erro global de truncatura

I O ELT é diferente do erro global |en| que se define como ovalor absoluto da diferença entre a solução exacta e asolução aproximada, i.e., |en| = |ye(xn)− yn|. Em muitoscasos não se conhece a solução exacta, logo não se podecalcular o erro global.

I Desprezando os erros de arredondamento, é razoávelassumir que o erro global no n-ésimo passo é n vezes oELT. Como n é proporcional a 1/h, |en| será proporcional aELT/h. logo para um método de ordem p, o erro global éproporcional a hp.

307 / 358

Métodos de Taylor. Método de EulerExemplo: y ′(x) = y(x)− x + 1 com y(0) = −0.5.

Pretende-se aproximação de y(2) com h = 0.4.

xi = xi−1 + h, x0 = 0, x1 = 0.4, x2 = 0.8, . . . , x10 = 2.0

f (x , y) = y − x + 1, y0 = −0.5, yi+1 = yi + h(yi − xi + 1)

X X X XX X

0.4 2.01.61.20.80

1 54320y1 = y0 + h(y0 − x0 + 1) = −0.5 + 0.4(−0.5− 0 + 1) = −0.3

y2 = y1 + h(y1 − x1 + 1) = −0.3 + 0.4(−0.3− 0.4 + 1) = −0.18

y3 = y2 + h(y2 − x2 + 1) = −0.18 + 0.4(−0.18− 0.8 + 1) = −0.172

y4 = y3 + h(y3 − x3 + 1) = −0.172 + 0.4(−0.172− 1.2 + 1) = −0.3208

y5 = y4 + h(y4 − x4 + 1) = −0.3208 + 0.4(−0.3208− 1.6 + 1) = −0.68912308 / 358

Métodos de Taylor. Método de Euler

0 0.4 0.8 1.2 1.6 2−1

0

1

2

3

4

5

6

7

8

xi

y i

y(0) = −0.5y(0) = 0y(0) = 0.5y(0) = 1

309 / 358

Métodos de Taylor. Erro no método de Euler

Erro no ponto xn: en = y(xn)− yn

y(xn+1) = y(xn) + hf (xn, y(xn)) +h2

2y ′′(ξ)

yn+1 = yn + hf (xn, yn)

y(xn+1)−yn+1 = y(xn)−yn +h[f (xn, y(xn))− f (xn, yn)]+h2

2y ′′(ξ)

f é Lipschitziana com constante de Lipschitz L

L = max(x ,y)∈D

∣∣∣∣ ∂∂yf (x , y)

∣∣∣∣ , M = maxx∈[a;b]

|y ′′(x)|

|en+1| ≤ |en|+ hL|y(xn)− yn|+h2

2M = |en|(1 + Lh) +

h2

2M

310 / 358

Métodos de Taylor. Erro no método de Euler

|en+1| ≤ |en|(1 + Lh) +h2

2M

|e1| ≤ |e0|(1 + Lh) +h2

2M

|e2| ≤ |e1|(1 + Lh) +h2

2M

≤[|e0|(1 + Lh) +

h2

2M]

(1 + Lh) +h2

2M

= |e0|(1 + Lh)2 + [(1 + Lh) + 1]h2

2M

|e3| ≤ |e2|(1 + Lh) +h2

2M

≤ |e0|(1 + Lh)3 + [(1 + hl)2 + (1 + Lh) + 1)h2

2M

...311 / 358

Métodos de Taylor. Erro no método de Euler

|en| ≤ |e0|(1+Lh)n+[(1 + hL)n−1 + . . .+ (1 + hl)2 + (1 + Lh) + 1

] h2

2M

n∑k=1

r k−1 =1− rn

1− r

n∑k=1

(1+hL)k−1 =1− (1 + hL)n

1− (1 + hL)=

1− (1 + hL)n

−hL=

(1 + hL)n − 1hL

|en| ≤ |e0|(1 + Lh)n +(1 + hL)n − 1

hLh2

2M

1 + hL ≤ ehL ⇔ (1 + hL)n ≤ enhL ⇔ (1 + hL)n − 1 ≤ enhL − 1

xn = x0 + nh⇔ xn − x0 = nh

|en| ≤ |e0|(1 + Lh)n +hM2L

[eL(xn−x0) − 1

]312 / 358

Métodos de Taylor. Erro no método de Euler

|en| ≤ |e0|(1 + Lh)n +hM2L

[eL(xn−x0) − 1

]L = max

(x ,y)∈D

∣∣∣∣ ∂∂yf (x , y)

∣∣∣∣ , M = maxx∈[a;b]

|y ′′(x)|

I Se e0 = 0 então en = O(h) (método de ordem 1)

I Se e0 6= 0 então este erro pode propagar-sesignificativamente uma vez que surge multiplicado poruma exponencial.Para valores de tn − t0 muito grandes pode haverinstabilidade numérica com simples erros dearredondamento.

313 / 358

Métodos de Taylor. Erro no método de Euler

Exemplo: y ′(x) = 1− x + 4y(x), 0 ≤ x ≤ 1, com y(0) = 1.

f (x , y) = 1− x + 4y , yn+1 = yn + h(1− xn + 4yn), h = 0.1

y0 = 1, y1 = 1.5, y2 = 2.19 y(0.2) ≈ 2.19

|e2| ≤ |e0|(1 + Lh)2 +hM2L

[eL(x2−x0) − 1

], |e0| = 0

y(x) =x4− 3

16+

1916

e4x , y ′′(x) = 19e4x , y ′′′(x) = 76e4x > 0⇒ y ′′ cres.

M = max |y ′′| = max(19,42.29) = 42.29

∂f∂y

(x , y) = 4⇒ L = 4

|e2| ≤(0.1)(42.29)

(2)(4)

[e4(0.2−0) − 1

]= 0.6478

|e2| = |y(0.2)− 2.19| = 0.3153

314 / 358

Método de Euler e integração numérica

X Xn n+1

y ′(x) = f (x , y(x))∫ xn+1

xn

y ′(x)dx =

∫ xn+1

xn

f (x , y(x))dx

y(xn+1)− y(xn) =

∫ xn+1

xn

f (xn, y(xn)) + (x − xn)dfdx

(ξx , y(ξx ))dx

y(xn+1) = y(xn)+(xn+1−xn)f (xn, y(xn))+y ′′(τ)

∫ xn+1

xn

(x−xn)dx

y(xn+1) = y(xn) + hf (xn, y(xn)) +h2

2y ′′(τ)

315 / 358

Método de Euler explícito

I Um método convergente é aquele em que a soluçãoaproximada se aproxima da solução exacta quando h seaproxima de zero.

I Se não se conhece a solução exacta, então podemosescolher a solução aproximada obtida com um hsuficientemente pequeno e usá-la como “exacta” paraestudar as caracteristicas da convergência.

I O método de Euler explícito diz-se explícito porque yn+1 édado explicitamente em termos de quantidadesconhecidas tais como yn e f (xn, yn).

I Os métodos explícitos são fáceis de implementar, contudoexistem limitações na escolha do h para assegurar aestabilidade numérica.

316 / 358

Método de Euler explícito

y ′(x) = −ay(x), a > 0, y(0) = 1

Solução exacta estável: ye(x) = e−ax , ye(0) = 1 e ye(∞) = 0.

yn+1 = yn + hf (xn, yn) = yn − ahyn

yn+1 = (1−ah)yn = (1−ah)2yn−1 = (1−ah)n+1y0 = (1−ah)n+1

Para prevenir a amplificação dos erros no processo iterativo(i.e., para que haja estabilidade), exigimos que |1− ah| < 1, ouseja 0 < h < 2/a.

y ′(x) = −10y(x), y(0) = 1, ye(x) = e−10x

Critério de estabilidade: h < 0.2Instabilidade numérica quando h ≥ 0.2

317 / 358

Método de Euler explícito. Convergência.

O método é numericamente estável para h = 0.001, 0.01 e 0.05 etorna-se mais preciso à medida que h decresce (h < 0.2).

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

X

Y

exactah = 0.001h = 0.01h = 0.05

318 / 358

Método de Euler explícito. Instabilidade numérica

Para h = 0.2 a instabilidade é oscilatória entre ±1.Para h > 0.2 as oscilações vão aumentando sem limite o queleva a uma instabilidade explosiva.

0 0.5 1 1.5 2 2.5 3−4

−3

−2

−1

0

1

2

3

4

X

Y

exactah = 0.2h = 0.21

319 / 358

Método de Euler implícito

I Característica dos métodos explícitos: estabilidadecondicional, i.e., é a existência de um passo crítico a partirdo qual a instabilidade numérica se manifesta.

I Alternativa: usar métodos implícitos.I A implementação dos métodos implícitos é mais

dispendiosa para problemas não lineares; yn+1 vem emtermos de uma equação não linear implícita.

I O análogo do método de Euler explícito é o método deEuler implícito.

320 / 358

Método de Taylor de ordem 2

y(xn+1) = y(xn) + hy ′(xn) +h2

2!y ′′(xn) +

h3

3!y ′′′(ξ)

y ′(xn) = f (xn, y(xn))

y ′′(xn) =∂f∂x

(xn, y(xn)) + y ′(xn)∂f∂y

(xn, y(xn)) =

=∂f∂x

(xn, y(xn)) + f (xn, y(xn))∂f∂y

(xn, y(xn))

y(xn+1) = y(xn) + hf (xn, y(xn)) +

+h2

2!

[∂f∂x

(xn, y(xn)) + f (xn, y(xn))∂f∂y

(xn, y(xn))

]+

h3

3!y ′′′(ξ)

Método de Taylor de ordem 2

yn+1 = yn + hf (xn, yn) +h2

2!

[∂f∂x

(xn, yn) + f (xn, yn)∂f∂y

(xn, yn)

]Erro local de truncatura : e(xn+1) =

h3

3!y ′′′(ξ)

321 / 358

Método de Taylor de ordem 2Exemplo: y ′(x) = y2(x)− x2 + 1, x ≥ 0, y(0) = 0.5, h = 0.2.

y0 = 0.5, x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1.0

f (x , y) = y2 − x2 + 1,∂f∂x

(x , y) = −2x ,∂f∂y

(x , y) = 2y

yn+1 = yn + hf (xn, yn) +h2

2!

[∂f∂x

(xn, yn) + f (xn, yn)∂f∂y

(xn, yn)

]yn+1 = yn + hf (xn, yn) +

h2

2![−2xn + 2ynf (xn, yn)]

y1 = y0 + hf (x0, y0) + h2

2! [−2x0 + 2y0f (x0, y0)] =

= 0.5 + 0.2f (0,0.5) + h2

2! [−2(0) + 2(0.5)f (0,0.5)] = 0.775y2 = y1 + hf (x1, y1) + h2

2! [−2x1 + 2y1f (x1, y1)] = 1.1275...

y(1.0) ≈ y5 = 4.3912

322 / 358

Método de Taylor

I Vantagens: ordens elevadas; boas precisões com passosrelativamente pequenos. Simplicidade conceptual.

I Desvantagens: diferenciação repetida da equaçãodiferencial. Trabalho analítico prévio. Possível erro dediferenciação. Grandes expressões e muitos cálculos.

323 / 358

Convergência

Convergência Um método converge seε(h) = max |en| = max |y(xn)− yn| → 0 Se ε(h) = O(hp) entãoa convergência é de ordem p.

Estabilidade relaciona-se com a propagação dos erros dearredondamento e com a influência do erro inicial nosresultados.

Resultado: No caso dos métodos unipasso, se f forLipshitziana então o método é estável.

324 / 358

Métodos de Runge-Kutta. Método de Heun (“óin”)

y ′(x) = f (x , y(x))∫ xn+1

xn

y ′(x)dx =

∫ xn+1

xn

f (x , y(x))dx , Trapezios

y(xn+1) = y(xn)+h2

[f (xn, y(xn))+f (xn+1, y(xn+1)]−h3

12d2fdx2 (ξ1, y(ξ1))

y(xn+1) = y(xn) + h f (xn, y(xn)) +h2

2y ′′(ξ2)

y(xn+1) ≈ y(xn)+h2

[f (xn, y(xn)) + f (xn+1, y(xn) + h f (xn, y(xn)))]

yn+1 = yn +h2

[f (xn, yn) + f (xn+1, yn + h f (xn, yn))]

Erro local de truncatura: en = O(h3). Método de ordem 2.

325 / 358

Métodos de Runge-Kutta. Método de Heun (“óin”)Exemplo: y ′(x) = y2(x)− x2 + 1, x ≥ 0, y(0) = 0.5, h = 0.2.

y0 = 0.5, x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1.0

f (x , y) = y2 − x2 + 1

yn+1 = yn +h2

[f (xn, yn) + f (xn+1, yn + h f (xn, yn))]

y1 = y0 + h2 [f (x0, y0) + f (x1, y0 + h f (x0, y0))] =

= 0.5 + 0.22 [f (0,0.5) + f (0.2,0.5 + 0.2f (0,0.5))] = 0.77725

y2 = y1 + h2 [f (x1, y1) + f (x2, y1 + hf (x1, y1))] =

= 0.77725 + 0.22 [f (0.2,0.77725) + f (0.4,0.77725 + 0.2f (0.2,0.77725))] = 1.1485

...y(1.0) ≈ y5 = 4.862799991576362

326 / 358

Métodos de Runge-Kutta. Método de Heun (“óin”)Exemplo: y ′(x) = y2(x)− x2 + 1, x ≥ 0, y(0) = 0.5, h = 0.2.

y0 = 0.5, x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1.0

f (x , y) = y2 − x2 + 1

yn+1 = yn +h2

[f (xn, yn) + f (xn+1, yn + h f (xn, yn))] =

= yn +h2

[y2

n − x2n + 1 + f (xn+1, yn + h(y2

n − x2n + 1))

]=

= yn +h2

[y2

n − x2n + 1 + (yn + h(y2

n − x2n + 1))2 − x2

n+1 + 1]

y1 = y0 + h2

[y2

0 − x20 + 1 + (y0 + h(y2

0 − x20 + 1))2 − x2

1 + 1]

= 0.77725

y2 = y1 + h2

[y2

1 − x21 + 1 + (y1 + h(y2

1 − x21 + 1))2 − x2

2 + 1]

= 1.1485...

y(1.0) ≈ y5 = 4.862799991576362327 / 358

Métodos de Runge-Kutta. Método de Euler modificado

y ′(x) = f (x , y(x))∫ xn+1

xn

y ′(x)dx =

∫ xn+1

xn

f (x , y(x))dx , Ponto medio

y(xn+1) = y(xn)+h f(

xn+1 + xn

2, y(

xn+1 + xn

2

))+

h3

24d2fdx2 (ξ1, y(ξ1))

y(xn+1) ≈ y(xn) + h f(

xn +h2, y(

xn +h2

))y(

xn +h2

)= y(xn)+

h2

y ′(xn)+h2

8y ′′(ξ2) ≈ y(xn) +

h2

f (xn, y(xn))

yn+1 = yn + h f(

xn +h2, yn +

h2

f (xn, yn)

)Erro local de truncatura: en = O(h3). Método de ordem 2.

328 / 358

Métodos de Runge-Kutta. Método de Euler modificadoExemplo: y ′(x) = y2(x)− x2 + 1, x ≥ 0, y(0) = 0.5, h = 0.2.

y0 = 0.5, x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1.0

f (x , y) = y2 − x2 + 1

yn+1 = yn + h f(

xn +h2, yn +

h2

f (xn, yn)

)y1 = y0 + h f

(x0 + h

2 , y0 + h2 f (x0, y0)

)=

= 0.5 + h f(0 + 0.2

2 ,0.5 + 0.22 f (0,0.5)

)= 0.776125

y2 = y1 + h f(x1 + h

2 , y1 + h2 f (x1, y1)

)=

= 0.776125 + 0.2f(0.2 + 0.2

2 ,0.776125 + 0.22 f (0.2,0.776125)

)=

...y(1.0) ≈ y5 = 4.615937319805077

329 / 358

Métodos de Runge-Kutta. Método de Euler modificadoExemplo: y ′(x) = y2(x)− x2 + 1, x ≥ 0, y(0) = 0.5, h = 0.2.

y0 = 0.5, x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1.0

f (x , y) = y2 − x2 + 1

yn+1 = yn + h f(

xn +h2, yn +

h2

f (xn, yn)

)=

= yn + h f(

xn +h2, yn +

h2

(y2n − x2

n + 1)

)=

= yn + h

[(yn +

h2

(y2n − x2

n + 1)

)2

−(

xn +h2

)2

+ 1

]y1 = y0 + h

[(y0 + h

2 (y20 − x2

0 + 1))2 − (x0 + h2 )2 + 1

]= 0.776125

y2 = y1 + h[(y1 + h

2 (y21 − x2

1 + 1))2 − (x1 + h2 )2 + 1

]= 1.13198478

...y(1.0) ≈ y5 = 4.61593731

330 / 358

Apêndice

Matlab (Octave)

I VariáveisI Formas de impressãoI Operadores, controlo e matemática elementarI Vectores e matrizesI PolinómiosI Aproximação pelo método dos mínimos quadrados

331 / 358

MATLAB (Octave)

I ambiente interactivo com linguagem de programaçãoI milhares de rotinas matemáticas incluídas e disponíveis na

netI variáveis não tipificadas criadas na primeira atribuiçãoI variáveis são vectores

332 / 358

Método de Euler (invocação)

333 / 358

Método de Euler

function [y, h, t] = euler(f, y0, t0, tn, n)% EULER encontra soluções de problemas do tipo% Y’ = f(T,Y)% Y(T0) = Y

if t0 > tndisp(’t0 tem de ser menor que tn’);

endh = (tn - t0) / n;y = y0; t = t0;for i=1:n

y = y + h * feval(f,t,y);t = t + h;

end

334 / 358

Variáveis

>> 2*5ans = 10>> ans+12ans = 22

>> h=2;>> l=5;>> area=l*harea = 10

>> f=@(t,y) y-t^2+1;>> e=euler(f,.5, 0, 1, 20)e = 2.590686262170568>> [ z fval ] = fzero(@(x)(cos(x)), 1)z = 1.570796326794897fval = 6.123233995736766e-017

335 / 358

Formatos de impressão

>> a=1/3;>> format short; aa = 0.3333>> format short e; aa = 3.3333e-001>> format long g; aa = 0.333333333333333>> format rat; aa = 1/3

>> n = 12;>> x = input(’Introduza o valor de x:’);>> fprintf(1,’n = %d x = %G\n’, n, x);

336 / 358

Operadores, controlo e matemática elementar

aritméticos + - * / \escalares .+ .- .* ./ .\comparação < > <= >= == ~=lógicos & | ~

controlo if else end while for break continue

trigonométricossin(x) cos(x) tan(x) ...

exponenciaçãoexp(x) log(x) log10(x) log2(x) sqrt(x) ...

arredondamentofloor(x) ceil(x) round(x) ...

337 / 358

Vectores e matrizes

a = [ 1 2 3 4 5 ]; % vector linhab = [ 1; 2; 3; 4; 5 ]; % vector colunac = b’; % vector transposto

x = [ 1 2 ];y = [ 4 1 ];z = [ x; y ]; % = [ 1 2; 4 1 ]

a = zeros(3,4); % 3-linhas 4-colunas com zerosb = ones(3,2); % 3-linhas 2-colunas com unsc = eye(2); % matriz identidade 2x2

size(b,1); % =3 (número de linhas)size(b,2); % =2 (número de colunas)

338 / 358

Vectores e matrizes (2)

a = 1:2:10; % a = [ 1 3 5 7 9 ]a(2) % = 3a(2:4) % = [ 3 5 7 ]a(1) = 4 % a = [ 4 3 5 7 9 ]

a = -2:3; % a = [ -2 -1 0 1 2 3 ]b = [ 1 4 2 1 0 6 ]a + b % ans = [ -1 3 2 2 2 9 ]a - b % ans = [ -3 -5 -2 0 2 -3 ]a * b’ % ans = 13

a = [ 1 6 3; 3 2 1; 1 1 2 ];a - 1 % ans = [ 0 5 2; 2 1 0; 0 0 1 ]2 * a % ans = [ 2 12 6; 6 4 2; 2 2 4 ]diag(a) % ans = [ 1 2 2 ]

339 / 358

Vectores e matrizes (3)

a = [ 1 1 1; 1 5 2; 3 2 6 ];b = [ 2 4 1 ]’;

x = a \ b; % x = [ 33/13; 11/13; -18/13 ];x = inv(a) * b; % x = [ 33/13; 11/13; -18/13 ];

c = [ 4 2 1; 1 2 4; 2 4 1 ];a * c % ans = [ 7 8 6; 13 20 23; 26 34 17 ];c.^2 % ans = [ 16 4 1; 1 4 16; 4 16 1 ];

340 / 358

Polinómios

p = [ 1 -6 11 -6 ]; % p(x) = x^3 - 6x^2 + 11x - 6roots(p) % ans = [ 3 2 1 ]’polyval(p,5) % ans = 24polyval(p, [ 5 6 ]) % ans = [ 24 60 ]conv(conv([1 -1], [1 -2]), [1 -3]) % [ 1 -6 11 -6 ]

[ q r ] = deconv(a, b) % divisão de polinómiosc = conv(b, q) + r % confirmaçãopolyder(a) % derivada

341 / 358

Aproximação pelo método dos mínimos quadrados

x = [ 0 1 3 5 7 10 12 ];y = [ 3 3 2.5 4.5 5 8 10 ];

p1 = polyfit(x, y, 1); % grau 1p2 = polyfit(x, y, 2); % grau 2

z = 0:.1:12;w1 = polyval(p1, z);w2 = polyval(p2, z);

plot(x, y, ’o’, z, w1, ’-’, z, w2, ’--’)xlabel(’x’)ylabel(’y’)legend(’valores’,’grau 1’,’grau 2’)

342 / 358

Aproximação pelo mínimos quadrados (2)

343 / 358

Recommended