Upload
others
View
5
Download
0
Embed Size (px)
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
4ω
)
204 / 358
Métodos iterativos para sistemas lineares
det(C− λI) = λ2(λ− 3
4ω
)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