Você está na página 1de 46

UNIVERSIDADE FEDERAL DE ALAGOAS

CAMPUS DO SERTO
EIXO DE TECNOLOGIA

SISTEMAS DE NUMERAO

ERROS NUMRICOS
Modelagem do Problema Real

Problema Real

Modelagem Modelo Matemtico

Implementao Computacional Escolha do Mtodo Numrico


do Mtodo Numrico Adequado
q

Soluo obtida pelo Anlise dos Resultados


Mtodo Numrico

S l do
Soluo d Problema
P bl
Modelagem do Problema Real

Modelo Matemtico
Problema Real
Soluo
2
d g
2
+ sen ( ) = 0
dt L
<< 1 sen ( )
2 Resoluo
d g Procedimentos analticos ou numricos
2
+ =0 Confronto com situaes experimentais
Modelagem dt L P
Para validao
lid dod modelo
d l matemtico
t ti
Observao do fenmeno
Levantamento dos efeitos dominantes (idealizaes)
Conhecimentos fsicos e matemticos
Modelagem do Problema Real

Aplicao: considere a acelerao da gravidade g = 10m/s2,


comprimento do
d pndulo
d l L = 20cm
20 e deslocamento
d l iniciall do
d
pndulo 0 = 10.
Fontes de Erros

Na busca da soluo do modelo matemtico os


erros surgem de vrias fontes:
Erros no estabelecimento do modelo matemtico;
Erros nos dados de entrada;
Erros de arredondamento durante a computao;
Erros de truncamento.
O primeiro tipo de erro conhecido como erro de
modelagem e os demais, erros de resoluo.
Fontes de Erros

Suponha que voc est diante do seguinte problema: voc


est em cima de um edifcio q que no sabe a altura,, mas
precisa determin-la. Tudo que tem em mos uma bola de
metal e um cronmetro. O que fazer?

Equao que governa o problema:


1
S = S0 + v 0 t + g t 2
2
onde:
Fontes de Erros

Suponha que voc est diante do seguinte problema: voc


est em cima de um edifcio q que no sabe a altura,, mas
precisa determin-la. Tudo que tem em mos uma bola de
metal e um cronmetro. O que fazer?
Solta-se a bola do topo do edifcio e mede o tempo que a
mesma gasta para tocar o solo, ou seja, 3 segundos.
Levando esse tempo para a equao, obtm
obtm-se:
se:

1 1
S = S0 + v 0 t + g t 2 = 0 + 0 3 + 9,8 32 = 44,1 m
2 2
Esse resultado confivel?
Onde se encontram os erros?
Fontes de Erros

Erros de Modelagem
Desprezou-se:
Resistncia do ar;
Velocidade do vento;
Forma do objeto, etc.

Esses erros esto associados, em geral, simplificao do


modelo matemtico adotado (imposio de idealizaes).
Fontes de Erros

Erros de Resoluo
Preciso dos dados de entrada (preciso na leitura do
cronmetro);
Forma como os dados so armazenados;
Operaes numricas efetuadas;
Erro de truncamento (troca de uma srie
infinita por uma
srie finita).
Fontes de Erros

Erros de Resoluo
Preciso dos dados de entrada (preciso na leitura do
cronmetro)
1 2 1
Sexato = g t exato Saprox = g (t exato+ t)
2

2 2
t perturba o
1 2 1
Sexato Saprox g t exato g ((t exato + t))2
2 t t + t 2
Erro = =2 2 = exato
Sexato 1 2 t 2
g t exato exato
2
De quanto seria o erro se o tempo exato fosse 2,5s e a perturbao fosse 0,5s?
Representao Numrica

Definio: conjunto de regras que definem uma


maneira de representar quantidades matemticas.
matemticas

Motivao:
i Deseja-se calcular
l l a rea
interna de
d
uma circunferncia de raio igual a 100m.
Resultados:
31400 m
m possvel encontrar a rea exata?
31416 m Por que os resultados diferem?

31415,92654 m
Representao Numrica

30000
Motivao: Deseja-se calcular a somatria S = x
i=1
i

para xi= 0.5


0 5 e para xi= 0.11
0 11

Resultados:
xi =0.5
05 xi= 0.11
0 11
Calculadora 15000 3300
Computador 15000 3299 99691
3299,99691

Por que os resultados diferem?


Representao Numrica

Motivao:
Os erros ocorridos nos dois problemas dependem da
representao dos nmeros na mquina utilizada
base da mquina.
mquina
Cada computador possui uma preciso numrica
diferente (nmero mximo de dgitos);
Essa ppreciso dependente
p do hardware,, sistema
operacional, compilador, etc.;
Um nmero pode ter representao finita em uma
base e no-finita em outras.
Representao Numrica

Um computador normalmente opera no sistema ou


base binria (zeros e uns).
Qual a base utilizada em nosso dia-a-dia?
Base decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

Exemplos:
(100110)2 = (38)10
(11001)2 = (25)10
Representao Numrica

Representao de um nmero inteiro


Dado
d um nmero
inteiro x0, este possui uma nica

representao, dada, de forma genrica, por:

n 1
x = (dndn1 ...d2d1d0 ) = (dn + dn1 + ...+ d1 + d0 )
n 1 0

onde d i um dgito da base em questo. No caso de uma base


bi i ( = 2) d n = 1 e d n 1 , d n 2 ,..., d 0 so
binria iguais
i i a 1 ou 0 que
so os dgitos da base binria.
Representao Numrica

Representao de um nmero inteiro


Exemplos:
Como seria a representao do nmero 1100 na base = 2?
(1100 ) = 1 2 3 + 1 2 2 + 0 21 + 0 2 0
(1100 ) = (1100 ) 2

Como seria a representao do nmero 2011 na base = 10?


( 2011 ) = 2 10 3 + 0 10 2 + 1 10 1 + 1 10 0
( 2011 ) = ( 2011 )10
Representao Numrica

Representao de um nmero real


Se o nmero
S reall x tem
t parte
t inteira
i t i x i, sua parte
t
fracionria x f = x x i pode ser escrita como uma soma
de fraes binrias:

x f = (b n b n 1 ... b 2 b1b 0 ) = (b1 1 + b 2 2 + ... + b n 1 (n 1) + b n n )

Dessa forma, o nmero real ser representado juntando


as partes inteiras e fracionrias,
f ou seja,
x = (a n a n 1 ... a 2 a 1a 0 , b m b m 1 ... b 2 b1b 0 )
onde, x possui n+1 algarismos na parte inteira e m+1 algarismos
na parte fracionria.
Representao Numrica

Representao de um nmero real


E
Exemplo:
l
Como seria a representao do nmero 39,28 em uma base
decimal?

39,28 = (3 101 + 9 100 ) + (2 101 + 8 102 )


39,28 = (39,28)10

Como seria a representao do nmero 100,01


100 01 em uma base
binria?
, = ((1 22 + 0 21 + 0 20 ) + ((0 21 + 1 22 )
100,01

100 ,01 = (100 ,01) 2


Representao Numrica

Interao entre usurio e computador:

Usurio Computador Usurio


Dados de entrada Operaes no Dados de sada
sistema decimal sistema binrio sistema decimal

Como fazer a converso entre os sistemas ou bases?


Converso entre as Bases

Binria para Decimal


(1101) 2 = 1 23 + 1 2 2 + 0 21 + 1 20 = 8 + 4 + 0 + 1 = (13)10

(11001) 2 = 1 2 4 + 1 23 + 0 2 2 + 0 21 + 1 20 = (25)10

Decimal para Binria


Na converso de um nmero escrito em base decimal
para uma base binria so utilizados:
Mtodo das divises sucessivas para a parte inteira;
Mtodo das multiplicaes sucessivas para converso da
parte fracionria do nmero em questo.
Converso entre as Bases

Decimal para Binria


Mtodo das divises sucessivas (parte inteira)
Divide-se o nmero (inteiro) por 2;

Divide-se por 2, o quociente da diviso anterior;


Repete-se o processo at que o ltimo quociente seja igual a 1.
1

O nmero
bi i ento
binrio t formado
f d pela l concatenao
t dod
ltimo quociente com os restos das divises, lidos em sentido
inverso.
inverso
Converso entre as Bases

Decimal para Binria


Exemplo: converter o nmero
(13)10 (?)2
((13))10 = ((?))2
Quociente Resto
13/2 6 1
6/2 3 0
3/2 1 1

Resultado:
(13)10 = (1101) 2
Converso entre as Bases

Decimal para Binria


Mtodo das multiplicaes sucessivas (parte fracionria)
Multiplica-se o nmero (parte fracionria) por 2;

Do resultado, a parte inteira ser o primeiro dgito do nmero na


base binria e a parte fracionria novamente multiplicada por 2;

O processo repetido at que a parte fracionria do ltimo


produto seja igual a zero.
Converso entre as Bases

Decimal para Binria


Exemplo: converter o nmero
(0,375)10 (?)2
)10 = ((?)) 2
((0,375)
,

Resultado:
(0,375)10 = (0,011) 2
Converso entre as Bases

Decimal para Binria


Exemplo: converter o nmero
(13,375)10 (?)2
(13,375))10 = ((?)) 2
Quociente Resto
13/2 6 1
Converte-se inicialmente a parte inteira:
6/2 3 0
3/2 1 1
... em seguida
g ap
parte fracionria:

Resultado:
(13,375)10 = (1101,011) 2
Converso entre as Bases

Ateno: Nem todo nmero real na base decimal possui uma


representao
p finita na base binria. Tente fazer a converso
de (0,11)10 (?)2. Esta situao ilustra bem o caso de erro de
arredondamento nos dados.
(0,11)10 = (0,000111000010100011110101110001101000111101) 2
Um computador
p que opera
q p no sistema binrio ir armazenar uma
aproximao para (0.11)10
30000
S= 0,11
0 11
i =1
Agora
g podemos entender p
p por q
que a somatria feita
no computador no foi obtida exatamente

Supondo
p um computador
p que trabalhe com 6 dgitos:
q g ((0,11)
, )10
seria armazenado (0,000111)2 e este nmero representa
exatamente (0,109375)10
Aritmtica de Ponto Flutuante

Um nmero representado, internamente, num computador


ou mquina
q de calcular atravs de uma sequncia
q de
impulsos eltricos que indicam dois estados: 0 ou 1, ou seja,
os nmeros so representados na base binria.
De uma maneira geral, um nmero x representado na base
p
por:
d1 d 2 d 3 dt e
x = + 2 + 3 + + t

Aritmtica de Ponto Flutuante

d1 d 2 d 3 dt e
x = + 2 + 3 + + t

onde:
d i so nmeros contidos no intervalo 0 d i ; i = 1,2,...t
e - representa o expoente de e assume valores entre I e S
onde I, S - so, respectivamente, limite inferior e superior para a
variao
do expoente
p
d1 d 2 d 3 dt e
+ 2 + 3 + + t

a chamada mantissa e a parte do nmero que representa seus


dgitos significativos e t o nmero de dgitos significativos do
sistema de representao, comumente chamado de preciso da
mquina.
Aritmtica de Ponto Flutuante

Tambm podemos representar um nmero real x no sistema de


aritmtica de ponto flutuante na forma normalizada:
x = (0,
(0 d1d 2 d 3 d t ) e

com d1 0 , pois o primeiro algarismo significativo de x.


x

Sinal
S a Posio
os o do po
ponto
to = e
expoente
poe te e Dgitos
g tos = mantissa
a t ssa
Aritmtica de Ponto Flutuante

Exemplos:
Escrever os nmeros reais -5.172, 5391.3 e 0.0003 que
esto na base =10 em notao de um sistema de
aritmtica de ponto flutuante
5.172 = (5 10 1 + 110 2 + 7 10 3 + 2 10 4 ) 101 = 0.5172 101
5391.3 = (5 101 + 3 102 + 9 103 + 1 104 + 3 105 ) 104 = 0.53913 105
0.0003 = (3 101 ) 103 = 0.3 103
Nmero na base Representao em Mantissa Base Expoente
decimal ponto flutuante
-5,172 -0,5172 x 101 0,5172 10 1
5391,3 0,53913 x 105 0,53913 10 5
0,0003 0,3 x 10-3 0,3 10 -3
Aritmtica de Ponto Flutuante

Exemplos:
Considerando agora que estamos diante de uma mquina que
utilize apenas trs dgitos significativos e que tenha como limite
inferior e superior para o expoente,
expoente respectivamente,
respectivamente -2
2 e 2,
2
como seriam representados nesta mquina os nmeros do
exemplo anterior?
Temos ento para esta mquina t = 3, I = -2 e S = 2. Desta forma -2 e
2. Sendo assim temos:

5.172 = 0.517 101


5391 3 = 0.539
5391.3 0 539104 (e = 4 no pode ser representado nesta mquina overflow)

0.0003 = 0.3 10 3 (e= -3 no pode ser representado nesta mquina underflow)


Aritmtica de Ponto Flutuante

Um erro de overflow ocorre quando o nmero muito


grande p
g para ser representado,
p , jj um erro de underflow
ocorre na condio contrria, ou seja, quando um nmero
pequeno demais para ser representado.
Aritmtica de Ponto Flutuante

Algumas linguagens de programao permitem a declarao


de variveis em p
preciso dupla:
p
Varivel representada no sistema de aritmtica de ponto
flutuante com aproximadamente
p o dobro de dgitos
g disponveis
p
na mantissa;
Em contrapartida, o tempo de execuo aumenta de forma
significativa.
Aritmtica de Ponto Flutuante

Aplicao
Considerando uma mquina com capacidade para armazenar
um nmero com quatro dgitos significativos, com limites
inferior e superior para o expoente de -15 e 15,
respectivamente. Como representado o nmero (25)10 neste
sistema? Qual o menor e o maior nmero, em valor absoluto,
representados nesta mquina?

Soluo no quadro!
Erros Numricos

Na aplicao de Mtodos Numricos para resolver um


problema, trabalhamos com aproximaes. Assim,
precisamos estabelecer maneiras de delimitar os erros.
Ab l t : diferena
Erro Absoluto
E dif entre o valor
l exato de
d um
nmero x e seu valor aproximado x :

EA x = x x

Em g
geral,, apenas
p x conhecido,, e o qque se faz assumir um limitante
superior ou uma estimativa para o mdulo do erro absoluto.
Erros Numricos

Exemplos
se que = (3,14;3,15
Sabendo-se
Sabendo 3 14;3 15) tomaremos para um valor
dentro deste intervalo e teremos, ento, EA = < 0,01

Seja x representado por x = 2112,9 de forma que EA x < 0,1


podemos dizer que x ((2112,8;21
, ; 13))

Seja y representado por y = 5,3


5 3 de forma que EA y < 0,1
0 1,
podemos dizer que y (5,2;5,4)

Os valores para os erros absolutos nos dois ltimos exemplos foram


idnticos. Os valores de x e y foram representados com a mesma preciso?
Erros Numricos

Erro Relativo
Erro Relativo Exato: erro absoluto dividido pelo valor
exato:
EA x x x
ERe x = =
x x
Erro Relativo Aproximado: erro absoluto dividido pelo
valor aproximado:
EA x x x
ERa x = =
x x
Em geral, conhecemos apenas um valor aproximado e um limitante
superior para o erro absoluto.
Erros Numricos

Exemplos
Nos dois
No doi ltimos
ltimo exemplos
e emplo queramos
q e mo saber
be se
e os
o valores
lo e
de x e y foram representados com a mesma preciso.
C l l d os erros relativos:
Calculando l ti
EA x 0,1
ERa x = = 4,7 x 10 5
x 2112,99
2112
EA y 0,1
ERa y = = 0,02
0 02
y 5,3
O nmero x representado com maior preciso do que y.

Concluindo: o erro absoluto no suficiente para descrever a preciso de


um clculo. Da a maior utilizao do conceito de erro relativo.
Erros Numricos

Erro Relativo Percentual

o erro relativo em termos percentuais:

EPe x (%) = ERe x 100 EPa x (%) = ERa x 100

Exemplos - calculando os erros relativos percentuais para:

ERa x 4,7 x 10 5 EPa x (%) = 4,7 10 5 10 2 0,0047%

ERa y 0,02 EPa y (%) = 0,02 10 2 2%


Arredondamento x Truncamento

Arredondamento
Substituio de um nmero x por um nmero de mquina
mais prximo.
Exemplo: dado o nmero x = 2,71828...,
2 71828 determinar usando
arredondamento um nmero aproximado com duas casas
decimais.
Soluo : x = 2,72
2 72

Truncamento
Acontece quando os dgitos de um nmero simplesmente
so descartados.
Exemplo: no exemplo anterior, truncar o nmero em quatro
casas decimais. Soluo : x = 2,7182
Arredondamento x Truncamento

Aplicao
Dar a representao dos nmeros a seguir em um
sistema de aritmtica de ponto flutuante de trs dgitos
para
pa a = 10,
0, I = -4 e S = 4.
x Representao por Arredondamento Representao por Truncamento
1 25
1,25
10,053
-238,15
238,15
1,2152...
0,000007
718235,82
Arredondamento x Truncamento

Consideraes
No arredondamento os erros cometidos so menores que
no truncamento, no entanto, o arredondamento requer
um maior tempo de execuo,
execuo e por esta razo o
truncamento mais utilizado.
A demonstrao
d t de d que no arredondamento
d d t incorremos
i
em erros menores que no truncamento pode ser
encontrada no livro de Clculo Numrico das autoras
Mrcia Ruggiero e Vera Lopes.
Propagao de Erros
2
z
Dada uma sequncia de operaes como: x + y w

importante conhecer como os erros se propagam nas
operaes matemticas realizadas.
Para o exemplo abaixo considere: sistema de aritmtica
de
ponto flutuante de quatro dgitos e base 10.
Dados x1 = 0.93710 e x 2 = 0.1272 10 , obter:
4 0

(x 2 + x1 ) x1
x 2 + (x1 x1 )
Propagao de Erros

A adio em aritmtica de ponto flutuante requer o


alinhamento dos pontos decimais dos dois nmeros:
A mantissa do nmero de menor expoente deve ser
deslocada
des o ada papara
a d
direita
e a de uum nmero
e o de casas
asas de
decimais
as
igual a diferena dos dois expoentes

x1 = 0.937
0 937 104 x 2 = 0.
0 0000104
(x 2 + x1 ) x1 = (0.0000 + 0.937)104 0.937 104
(x 2 + x1 ) x1 = (0.937 0.937)104
(x 2 + x1 ) x1 = 0.0000
Propagao de Erros

A adio em aritmtica de ponto flutuante requer o


alinhamento dos pontos decimais dos dois nmeros:

x 2 + (x1 x1 ) = x 2 + (0.937 0.937)10 4

x 2 + (x1 x1 ) = 0.1272102
Propagao de Erros

Consideraes:

A causa da diferena nas operaes foi um arredondamento


que foi feito na adio x1 + x2 no primeiro caso, cujo resultado
tem oito dgitos. Como a mquina s armazena 4 dgitos, os
menos significativos foram desprezados.

Ao se utilizar uma mquina de calcular deve-se est atento a


essas particularidades causadas pelo erro de arredondamento,
arredondamento
no s na adio, mas tambm nas demais operaes.

Você também pode gostar