Você está na página 1de 30

Introdução

Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Erros nas aproximações numéricas


{Parte 02}

Rafaela Souza Alcântara

Departamento de Ciência da Computação


Instituto de Matemática
Universidade Federal da Bahia

September 9, 2018

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Introdução

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Introdução

Como já sabemos, o conjunto de números representados por


uma máquina é finito
Não conseguimos representar todos os números em um
intervalo [a,b]
Erros gerados nas operações aritméticas

Objetivos:
Análise dos erros durante a representação de um número em
ponto flutuante
Análise da propagação dos erros nas operações aritméticas

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros Erro Absoluto
Erros de Truncamento e Arredondamento Erro Relativo
Erros em operações

Tipos de Erros

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros Erro Absoluto
Erros de Truncamento e Arredondamento Erro Relativo
Erros em operações

Erro Absoluto

Erro absoluto é a diferença entre x e seu valor aproximado x


EAx = |x − x|

Normalmente, conhecemos apenas o valor aproximado x


Utilização de aproximações
Limite superior do erro absoluto (∆x )
EAx = |x − x| ≤ ∆x

x − ∆x ≤ x ≤ x + ∆x

EA nem sempre é adequado para precisão


Depende da ordem de grandeza do número

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros Erro Absoluto
Erros de Truncamento e Arredondamento Erro Relativo
Erros em operações

Erro Relativo

Erro relativo é o EA dividido pelo valor aproximado de x


EA
ERx = x

Esse tipo de erro é geralmente utilizado em métodos


iterativos, pois a medida que o método vai sendo aplicado o
valor na iteração atual i será mais próximo do valor exato da
solução do que o valor previamente calculado na iteração i-1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros Erro Absoluto
Erros de Truncamento e Arredondamento Erro Relativo
Erros em operações

Exemplo

Assumindo que o EAx = 0.1 e EAy = 0.1, temos:

EAx
x = 2112.9 → ERx = 2112.9 = 4.7 × 10−5
EAy
y = 5.3e → ERy = 5.3 = 0.02
Agora podemos perceber que a precisão de x > y .

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erros de Truncamento e
Arredondamento

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Introdução

Podemos reescrever um número x da seguinte maneira:


x = fx × 10e + gx × 10e−t , 0.1 ≤ fx < 1 e 0 ≤ gx < 1

Exemplo: x = 234.57 e t = 4

x = 0.2345 × 103 + 0.7 × 103−4


x = 0.2345 × 103 + 0.7 × 10−1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Truncamento

Os digı́tos que estão acima de t são desprezados


Os valores de gx × 10e−t são desprezados
x = fx × 10e

O erro absoluto nesse caso será dado por:

|EAx | = |x − x| = |(fx × 10e + gx × 10e−t ) − fx × 10e |


|EAx | = |gx × 10e−t |
|EAx | = |gx × 10e−t | < 10e−t , sendo que |gx | < 1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Truncamento

O erro relativo para o truncamento, será dado por:


|EAx | |gx ×10e−t |
|ERx | = |x| = |fx ×10e |

|gx ×10e−t | 10e−t


|fx ×10e | < 0.1×10e

< 10−t+1

Onde o menor valor que fx pode assumir é 0.1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Arredondamento

Arredondamento simétrico

fx × 10e , se |gx | < 12



x=
fx × 10e + 10e−t , se |gx | ≥ 21

Se o valor do digı́to, na posição (t + 1) for < 5, desprezamos os


digı́tos depois da t-ésima posição
Se o valor do digı́to, na posição (t + 1) for ≥ 5, somamos 1 no
último digı́to e desprezamos os digı́tos depois da t-ésima posição

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Arredondamento

Para gx < 12 :
1
O erro absoluto será dado por |EAx | < 2 × 10e−t
O erro relativo será dado por:
|EAx | |gx ×10e−t |
|ERx | = |x| = |fx ×10e |

|gx ×10e−t | 0.5×10e−t


|fx ×10e | < 0.1×10e

|ERx | < 1
2 × 10−t+1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Arredondamento

Para gx ≥ 12 :
O erro absoluto será dado por:

|EAx | = |x − x| = |(fx × 10e + gx × 10e−t ) − (fx × 10e + 10e−t )|


|EAx | = |gx × 10e−t − 10e−t |
1
|EAx | = |gx − 1| × 10e−t ≤ 2 × 10e−t
1
|EAx | ≤ 2 × 10e−t

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Introdução
Tipos de Erros
Erro de Truncamento
Erros de Truncamento e Arredondamento
Erro de Arredondamento
Erros em operações

Erro de Arredondamento

O erro relativo será dado por:


|EAx | 0.5×10e−t
|ERx | = x = |fx ×10e +10e−t |

0.5×10e−t 0.5×10e−t
|ERx | = |fx ×10e +10e−t |
< |fx ×10e |

0.5×10e−t 0.5×10e−t
|ERx | = |fx ×10e | < |0.1×10e |

|ERx | < 1
2 × 10−t+1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Erros em operações

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Erros em operações

Erro se propaga ao longo das operações

O erro será o resultado das somas dos erros das parcelas + o


erro do próprio resultado

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Erro nas operações

Além dos erros de arredondamento decorrentes das


aproximações numéricas ao longo das operações, outros
fatores podem influenciar na alteração desse valor exato,
como:
Cancelamento
Propagação do erro
Mal condicionamento
Instabilidade

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do EA

Dado que o valor exato x = x + EAx e o valor de


y = y + EAy , temos que:
Adição:

x + y = (x + EAx ) + (y + EAy )
x + y = (x + y ) + (EAx + EAy )
EAx+y = EAx + EAy
Subtração:
x − y = (x + EAx ) − (y + EAy )
x − y = (x − y ) + (EAx − EAy )
EAx−y = EAx − EAy

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do EA

Dado que o valor exato x = x + EAx e o valor de


y = y + EAy , temos que:
Multiplicação

x × y = (x + EAx ) × (y + EAy )
x × y = x × y + x × EAy + y EAx + EAx × EAy

Consideramos que EAx × EAy é um valor muito pequeno,


tendendo à zero

(x × y ) − (x × y ) ≈ x × EAy + y EAx

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do EA

Dado que o valor exato x = x + EAx e o valor de


y = y + EAy , temos que:
Divisão:

x (x+EAx ) 1
y = (y +EAy ) = (x + EAx ) EA
y (1+ y y )

Através da aproximação da Série Geométrica, podemos afirmar


que:

1 EAy
EA ≈ (1 − y )
1+ y y

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do EA

Voltando para a equação anterior, teremos:


x x+EAx EAy xy +y EAx −xEAy −EAx ×EAy
y = y (1 − y ) = y2

EAx × EAy ≈ 0
x xy y EAx xEAy
y = y2
+ y2
− y2

x x EAx xEAy
y − y = y − y2

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do ER

Calculando a propagação do erro para o Erro Relativo, temos:


Adição:
EAx+y
ERx+y = x+y

EAy y
ERx+y = [ EA
x ×
x x
x+y ] +[ y × x+y ]

x y
ERx+y = ERx × x+y + ERy × x+y

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do ER

Subtração:
EAx−y
ERx−y = x−y

EAy y
ERx−y = [ EA
x ×
x x
x−y ] −[ y × x−y ]

x y
ERx−y = ERx × x−y − ERy × x−y

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do ER

Calculando a propagação do erro para o Erro Relativo, temos:


Multiplicação
x×EAy +y ×EAx
ERx×y = x×y

EAx EAy
ERx×y = x + y

ERx×y = ERx + ERy

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Propagação do ER

Calculando a propagação do erro para o Erro Relativo, temos:


Divisão:
EA x EAy
y EAx
ER yx = x = x − y = ERx − ERy
y

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Exemplo

Supondo que x, y, z e t estejam representados exatamente,


qual o erro total da operação u = (x + y )z − t ?
OBS.: RA será o erro relativo de arredondamento do
resultado da operação

Vamos chamar a operação s = (x + y ), assim, o ER será:


x y
ERs = ERx ( x+y ) + ERy ( x+y ) + RA
Como os números estão representados de maneira exata →
Não houve aproximação
ERx = 0 e ERy = 0, então → 0 + RA = RA
ERs < 1
2 × 10−t+1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Exemplo

Calcularemos agora, a próxima operação: m = s × z


EAz
ERm = ERs + ERz + RA = ERs + z + RA
ERm = RAs + 0 + RA
ERm < 1
2 × 10−t+1 + 1
2 × 10−t+1 = 10−t+1

Rafaela Souza Alcântara Erros nas aproximações numéricas


Introdução
Tipos de Erros
Erros de Truncamento e Arredondamento
Erros em operações

Exemplo

Calcularemos agora, a última operação: u = m − t


m t
ERu = ERm ( m−t ) − ERt ( m−t ) + RA
(ERm ×m)−(ERt ×t)
ERu = m−t
+ RA
Como os números estão representados de maneira exata →
Não houve aproximação, ERt = 0
(ERm ×m)
ERu = m−t
+ RA

Por fim, o erro relativo será:


ERu < 10−t+1 m−t
m
+ 1
2 × 10−t+1

Rafaela Souza Alcântara Erros nas aproximações numéricas

Você também pode gostar