Escolar Documentos
Profissional Documentos
Cultura Documentos
MC Aula 2
MC Aula 2
Aula 2
Departamento de Matemática
Instituto Superior Técnico
2023/2024
1
CAPÍTULO 1 – Conceitos básicos da teoria dos erros
2
revisão
x = σ (0.a1 a2 · · · an )β · β t , a1 6= 0, σ ∈ {+, −} .
3
propagação de erros em cálculos com funções
Pretende-se calcular o valor de uma função f num ponto x que não tem
representação exata no computador.
Seja x̃ = f l(x) o valor arredondado de x. Qual é o erro de f (x̃) em relação
ao valor exato f (x)?
Se x for próximo de x̃, e x̃ 6= x, será que f (x) é próximo de f (x̃)?
Tem-se
f (x) − f (x̃)
ef (x̃) := f (x) − f (x̃) = (x − x̃) ≈ f 0 (x)(x − x̃) = f 0 (x) ex̃ .
x − x̃ | {z }
ex̃
4
propagação de erros em cálculos com funções
x f 0 (x)
|δf (x̃) | ≈ |δx̃ | .
f (x)
5
propagação de erros em cálculos com funções
Definição: 1 Seja
x f 0 (x)
pf (x) = .
f (x)
Diz-se que condf (x) = |pf (x)| é número de condição (relativa) de f em x.
• Nas restantes situações deverá ser feita uma análise caso a caso.
7
propagação de erros em cálculos com funções
√
Exemplo 1: Seja f (x) = x. O número de condição de f em x é
x 1
condf (x) = √ √ = 1/2 ∀x ⇒ |δf (x̃) | ≈ |δx̃ | .
2 x x 2
8
propagação de erros em cálculos com funções
x
lim condf (x) = lim − = ∞.
x→a x→a a−x
x − x̃
|δf (x̃) | ≈ condf (0.22221) |δx̃ | = 0.22221 · 105 ·
x
0.00001
= 0.22221 · 105 × =1 (100%)
0.22221
9
propagação de erros em cálculos com funções
A função f é linear pelo que o valor obtido pela fórmula (2) coincide com o
valor exato do erro relativo:
a − x − (a − x̃) −0.00001
|δf (x̃) | = = =1 (100%) .
a−x 0.00001
10
generalização para funções reais de variável vetorial
e, se f (x) 6= 0 e x 6= 0,
N
ef (x̃) X
δf (x̃) = ≈ pf,k (x) δx̃k .
f (x)
k=1
O número
∂f
xk ∂xk
(x)
condf,k (x) = |pf,k (x)| = ,
f (x)
diz-se número de condição de f em x em relação a xk .
11
generalização para funções reais de variável vetorial
3. f (x, y) = x ± y. Temos
x y f (x, y) − f (x̃, ỹ)
δf (x̃,ỹ) = δx̃ ± δỹ = .
x±y x±y f (x, y)
12
generalização para funções reais de variável vetorial
Exemplo 5: As funções exp, log, sin, cos, tan, sinh, cosh, ..., são funções
elementares assim como as operações aritméticas +, −, ∗, /.
14
propagação de erro em algoritmos
15
propagação de erro em algoritmos
√
Exemplo 6: Seja f (x) = x − x2 − 1. Para calcularmos z = f (1000),
podemos, por exemplo, optar pela sequência de passos (algoritmo):
√
x = 1000, z1 = x2 , z2 = z1 − 1, z3 = z2 , z = x − z3 . (3)
1 − √2x2
2 x −1 x
condf (x) = x √ = −√ ≈ 1.0000005 .
x − x2 − 1 x2 − 1
16
propagação de erro em algoritmos
• z1 = x2 = 106
• z2 = z1 − 1 = 999 999
√ √
• z3 = z2 = 999 999 ≈ 999.999499999875
• z = 1000 − z3 ≈ 0.500000125 · 10−3 .
17
propagação de erro em algoritmos
• z̃ = 1000 − z̃3 = 0.
18
propagação de erro em algoritmos
20
estabilidade de algoritmos
21
estabilidade de algoritmos
1 1
Exemplo: Considere a função φ(x) = 1+x
− x
para valores grandes de x.
Determinemos o número de condição de φ(x):
1 1
xφ0 (x) x − (1+x) 2 + x2
condφ (x) = = 1 =
φ(x) 1+x
− x1
1 1 x
=x + = 1+ → 2, quando x→∞
1+x x 1+x
Temos
z1 = f l(10001) = 0.100 · 105 , z2 = 0.100 · 10−3 ,
z3 = 0.100 · 10−3 , z = 0.
| − 0.999900009999 · 10−8 − 0|
= 1 = 100% .
| − 0.999900009999 · 10−8 |
23
estabilidade de algoritmos
1 1
Note-se que no algoritmo associado à expressão φ(x) = − ocorre
1+x x
cancelamento subtrativo quando x 1, pois, neste caso, x + 1 ≈ x.
z1 = 1 + x, z2 = x z1 , z = −1/z2 .
24
estabilidade de algoritmos
Efetuando os cálculos:
z1 = f l(1 + 10000) = 0.100 · 105 ,
z = −0.100 · 10−7
25