Você está na página 1de 22

Mtodos Numricos

Anlise dos Erros


Sensibilidade e Condicionamento
Aritmtica Computacional
Captulo 1 - Erros e Aritmtica Computacional
Carlos Balsa
balsa@ipb.pt
Departamento de Matemtica
Escola Superior de Tecnologia e Gesto de Bragana
2
o
Ano - Eng. Civil, Electrotcnica e Mecnica
Carlos Balsa Mtodos Numricos 1/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Outline
1
Mtodos Numricos
Denio
Aproximaes
2
Anlise dos Erros
Tipos de Erros
3
Sensibilidade e Condicionamento
Nmero de Condio
Estabilidade e Exactido
4
Aritmtica Computacional
Notao de Virgula Flutuante
Carlos Balsa Mtodos Numricos 2/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Denio
Aproximaes
Mtodos Numricos
O que a computao cientca (tradicionalmente anlise
numrica)?
Concepo e anlise de algoritmos para a resoluo
numrica problemas matemticos oriundos da cincia e da
engenharia
Lida com quantidades contnuas
Tem em conta as aproximaes
Nos mtodos numricos concentramos a nossa ateno nos
principais mtodos de clculo usados na computao cientca
Para que serve a computao cientca?
Simular fenmenos naturais
Conceber prottipos virtuais concebidos pela engenharia
Carlos Balsa Mtodos Numricos 3/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Denio
Aproximaes
Origem das aproximaes
Antes da computao
Modelao
Medies empricas
Computaes anteriores
Durante a computao
Truncatura ou discretizao
Arredondamentos
A exactido dos resultados nais reecte todas as aproximaes
A incerteza dos dados introduzidos (input ) pode ser amplicada
pelo problema
Perturbaes durante a computao podem ser amplicadas
pelo algoritmo
Carlos Balsa Mtodos Numricos 4/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Denio
Aproximaes
Exemplo 1: aproximaes
Calcular a superfcie terrestre atravs da formula utilizando a
formula A = 4r
2
envolve vrias aproximaes
A Terra modelada como uma esfera, idealizando a sua
forma ideal
O valor do raio baseado em medidas empricas e em
computaes anteriores
O valor de requer a truncatura de processos innitos
O valor dos inputs assim como das operaes aritmticas
so arredondadas no computador
Carlos Balsa Mtodos Numricos 5/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Erro Absoluto e Erro Relativo
Erro absoluto = valor aproximado - valor exacto
Erro relativo =
erro absoluto
valor exacto
Ou, valor aproximado = valor exacto (1+ erro rel.)
Valor exacto, normalmente desconhecido, pelo que estimado
ou limitado atravs de um erro mximo
Erro relativo geralmente calculado com base no valor
aproximado em vez do valor exacto (desconhecido)
Carlos Balsa Mtodos Numricos 6/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Erros de dados e erros de computao
Problema tpico: calcular o valor da funo f : IRIRpara um
dado argumento
x valor exacto do argumento
f (x) valor pretendido

x valor aproximado do input

f valor aproximado da funo a calcular


Erro total =

f (

x) f (x)
= (

f (

x) f (

x)) + (f (

x) f (x))
= erro computacional + erro propagado
O algoritmo no tem efeito no erro propagado
Carlos Balsa Mtodos Numricos 7/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Erro de truncatura e erro de arredondamento
Erro de truncatura: diferena entre o resultado exacto (para o
input actual) e o resultado produzido pelo algoritmo usando uma
aritmtica exacta
Devido a aproximaes tais como a truncatura de sries
innitas ou ns de processos iterativos antes de se vericar
a convergncia
Erro de arredondamento: diferena entre o resultado produzido
pelo algoritmo usando aritmtica innita e o resultado produzido
pelo mesmo algoritmo usando uma aritmtica de preciso
limitada
Devido a representao inexacta de nmeros reais e s
operaes inexactas sobre esses nmeros
Os erros computacionais so a soma dos erros de truncatura e
dos erros de arredondamento, normalmente, um destes
dominante
Carlos Balsa Mtodos Numricos 8/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Erro anterior (backward error) e erro posterior (forward error)
Supondo que queremos calcular y = f (x), com f : IRIR, mas
obtemos o valor aproximado

y
Erro posterior y =

y y
Erro anterior x =

x x, com f (

x) =

y
Carlos Balsa Mtodos Numricos 9/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Exemplo 2: erro anterior e erro posterior
Como aproximao a

2,

y = 1.4 tem como erro absoluto
posterior
|y| = |

y y| = |1.4 1.41421| 0.0142


que corresponde a um erro relativo posterior de cerca de 1%
Uma vez que

1.96 = 1.4, o erro absoluto anterior


|x| = |

x x| = |1.96 2| 0.04
que corresponde a um erro relativo anterior de cerca de 2%
Carlos Balsa Mtodos Numricos 10/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Anlise do erro anterior
Ideia: soluo aproximada a soluo exacta do problema
modicado
De quanto deve ser modicado o problema original para originar
o resultado obtido?
Quanto que o os erros nos inputs podem explicar todos os
erros nos resultados calculados?
A soluo aproximada boa se for a soluo exacta de um
problema prximo do original
O erro anterior por vezes mais fcil de estimar do que o erro
posterior
Carlos Balsa Mtodos Numricos 11/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Tipos de Erros
Exemplo 3: anlise do erro anterior
Vamos aproximar a funo cosseno f (x) = cos(x) atravs da
srie de Taylor truncada a partir dos 3 primeiros termos

y =

f (x) = 1 x
2
/2
O erro posterior dado por
y =

y y =

f f = 1 x
2
/2 cos(x)
Para determinar o erro anterior, necessitamos do valor

x tal que
f (

x) =

f (x)
Para a funo cosseno,

x = arccos(

f (x)) = arccos(

y)
Carlos Balsa Mtodos Numricos 12/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Nmero de Condio
Estabilidade e Exactido
Sensibilidade e Condicionamento
Um problema insensvel ou bem condicionado se mudanas
relativas no input provocam mudanas relativas semelhantes na
soluo
Um problema sensvel ou mal condicionado se mudanas
relativas no input provocam muito maiores mudanas relativas
na soluo
Nmero de condio
Cond =
|Mud. relativa na sol.|
|Mud. relativa nos inputs|
=
|[f (

x) f (x)] /f (x)|
|(

x x) /x|
=

y/y
x/x

O problema sensvel ou mal condicionado se Cond 1


Carlos Balsa Mtodos Numricos 13/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Nmero de Condio
Estabilidade e Exactido
Nmero de Condio
O nmero de condio um factor de ampliao do erro
anterior em relao ao erro posterior
|Erro relativo posterior| = cond |Erro relativo anterior|
Normalmente o numero de condio no exactamente
conhecido e pode variar com o input, pelo que se usa uma
aproximao ou um limite mximo para o valor de Cond
|Erro relativo posterior| cond |Erro relativo anterior|
Carlos Balsa Mtodos Numricos 14/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Nmero de Condio
Estabilidade e Exactido
Exemplo 4: Nmero de Condio de uma funo
Calcular uma funo para o input aproximado

x = x + x em
vez de x
Erro absoluto posterior: f (x + x) f (x) f

(x)x
Erro relativo posterior:
f (x+x)f (x)
f (x)

f

(x)x
f (x)
Nmero de condio: cond

(x)x/f (x)
x/x

xf

(x)
f (x)

Erro relativo no valor da funo pode ser muito menor ou muito


maior do que o erro no input, dependendo de x e de f
Carlos Balsa Mtodos Numricos 15/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Nmero de Condio
Estabilidade e Exactido
Exemplo 5: sensibilidade
A funo tangente sensvel para argumentos prximos de /2
tan(1.57079) 1.58058 10
5
tan(1.57078) 6.12490 10
4
Mudana relativa no output um quarto de milho maior do que
a mudana relativa no input
Para x = 1.57079, cond 2.48275 10
5
Carlos Balsa Mtodos Numricos 16/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Nmero de Condio
Estabilidade e Exactido
Estabilidade e Exactido
Um algoritmo estvel se o resultado produzido for
relativamente insensvel a perturbaes durante a computao
Estabilidade de um algoritmo anloga ao condicionamento do
problema original
Exactido: proximidade da soluo calculada da soluo exacta
do problema
Exactido depende do condicionamento do problema assim
como da estabilidade do algoritmo
A inexactido pode resultar de aplicar algoritmos estveis a
problemas mal condicionados ou algoritmos instveis a
problemas bem condicionados
Carlos Balsa Mtodos Numricos 17/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Notao de Virgula Flutuante
Notao de Virgula Flutuante
Nos computadores os nmeros so representados por um
sistema de nmeros de vrgula (ou ponto) utuante da forma
x = f
x
b
E
em que
f
x
: mantissa (fraco)
b: base
E: expoente
Maior parte dos computadores modernos so concebidos de
acordo o sistema de ponto utuante do IEEE, em que a base
binria (b = 2)
Os computadores convertem os inputs, na base decimal
(b = 10), para a base binria antes de efectuar as operaes
pedidas, posteriormente convertem tambm os resultados para
a base decimal antes de serem apresentados
Carlos Balsa Mtodos Numricos 18/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Notao de Virgula Flutuante
Notao Cientca e Notao Normalizada
A forma padro de representar um numero em computador
atravs da notao cientca
x = f
x
10
E
em que 1 f
x
< 10 (todos os dgitos de f
x
so signicativos)
Na notao cientca normalizada tem-se 0.1 f
x
< 1
Em anlise de erros esta notao til pois verica a
relao m = E t , em que m o numero de posies
dcimas, t o nmero de dgitos signicativos e E o
expoente na base 10 quando x est representado nesta
notao
Por exemplo x = 0.0003450
x = 3.450 10
4
ou x = 3.450E 4: notao cientca
x = 0.3450 10
3
ou x = 0.3450E 3: not. normalizada
Carlos Balsa Mtodos Numricos 19/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Notao de Virgula Flutuante
Preciso Mquina
A exactido do sistema de ponto utuante caracterizado pela
unidade de arredondamento (ou preciso mquina),
representada por
maq
Corresponde ao nmero de dgitos de preciso com que um
nmero real representado no sistema de ponto utuante
o erro relativo mximo que se comete ao representar um
nmero real no sistema de ponto utuante
No sistema IEEE de preciso simples
maq
10
7
e no sistema
IEEE de preciso dupla
maq
10
16
Carlos Balsa Mtodos Numricos 20/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Notao de Virgula Flutuante
Underow e Overow
O valor mnimo (em valor absoluto) que possvel representar
no sistema de ponto utuante designado por underow
O valor mximo (em valor absoluto) que possvel representar
no sistema de ponto utuante designado por overow
No decorrer da execuo de um algoritmo se o overow ocorre
verica-se um erro fatal responsvel pelo m precipitado da
execuo
No confundir underow com
maq
, embora ambos sejam
pequenos, a preciso mquina depende do nmero de dgitos
na mantissa (f
x
) enquanto que o underow determinado pelo
nmero de dgitos no campo do expoente (E)
Num sistema de ponto utuante temos
0 < underow <
maq
< overow
Carlos Balsa Mtodos Numricos 21/ 22
Mtodos Numricos
Anlise dos Erros
Sensibilidade e Condicionamento
Aritmtica Computacional
Notao de Virgula Flutuante
Exerccio
I Considere x = 0.005471.
1
Quantas posies decimais tem x?
2
Quantos dgitos signicativos tem x?
3
Arredonde x a trs posies decimais e determine o erro
absoluto cometido.
4
Arredonde x a trs dgitos signicativos e determine o
relativo cometido.
5
Escreva x em notao cientca e em notao cientca
normalizada.
II Considere o nmero correctamente arredondo (obtido por
arredondamento simtrico)

a = 0.067.
1
Que nmeros com 4 posies decimais poderiam ter
originado

a?
2
Estime um majorante para o erro absoluto?
3
Estime um majorante para o erro relativo?
4
Escreva

a em notao cientca normalizada.
Carlos Balsa Mtodos Numricos 22/ 22