SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
1
ERRO NA ARITMÉTICA DE PONTO FLUTUANTE
ALEXANDRE GROSSI1
Resumo – Intuitivamente “errar é humano” e
quando isso acontece podemos ter
consequências às vezes impensáveis sobre
isso. O erro também está associado a
máquinas (computadores, calculadoras entre
outros). Com este trabalho busca-se fazer
uma leitura do erro e suas ocorrências. Faz-
se uma leitura de representação numérica do
erro e trazemos alguns exemplos como parte
prática do trabalho
Introdução
Quando pensamos no nosso trabalho do
dia-a-dia o reconhecimento de problemas não é
uma tarefa fácil. Os problemas estão ligados a
áreas de exatas, humanas, biológicas,
econômicas, sociais, entre outras. Também
estão associados à qualidade de vida,
linguísticas, qualidade total, práticas educativas,
leitura e escrita, avaliação em saúde e até
problema de bioética.
Em (Hilbert, 2003) coloca-se a ideia que as
questões relacionadas à matemática também
precisam soluções a seus problemas. Em
(Ruggiero, 1996) pondera que se em todas as
fases de solução de problema sua iterações
tenham sidas realizadas corretamente, não é raro
acontecer que os resultados finais estejam
distantes do que se espera acontecer. Ainda em
(Filho, 2001) o autor alega que os resultados
obtidos podem surgir por várias fontes de erros.
Avaliar estes resultados e a existência do
erro é verificar as operações numéricas
efetuadas, suas representações e precisões
obtidas. Para ambos os autores (Filho, 2001) e
(Ruggiero, 1996) é de importância fundamental
conhecer as causas do erro encontrado com o
intuito de minimizar suas consequências.
Na representação dos números, existe um
modo de armazená-los em uma forma
padronizada, onde as operações são realizadas
de forma organizada, dentro de uma estrutura de
máquina. Nos anos de 1970 a 1980, foi
levantada a necessidade de termos uma
padronização no intuito de tornar invariáveis os
resultados obtidos por um mesmo programa
1
alexandregrossi15@gmail.com Aluno do PPGEL –
Programa de Pós Graduação de Engenharia Elétrica
da UFSJ – Universidade Federal de São João del Rei
computacional executado por diferentes
máquinas.
Criou-se então um grupo, conhecido por
IEEEp754, cujas as metas passavam também
por padronizar o arredondamento nas operações
numéricas realizadas por esses programas em
uma base, que para estes caso tornou-se uma
base binária
Entende-se que se há uma distância do que
se espera acontecer, o seu resultado tem um
erro. Propõe-se então tratar da análise dos erros
em processo numéricos com o estudo destes e
suas noções que surgem de suas representações
além de apresentar os tipos de erros que possam
surgir junto às operações efetuadas.
Representação numérica
Em determinadas situações reais algumas
soluções são impraticáveis, onde problemas são
medidas físicas.
Peguemos o exemplo na guerra do Golfo
em que uma falha no sistema de rastreamento e
intercepção de mísseis do sistema de defesa
Patriot, levou a 28 americanos mortos. A falha
ocorreu devido a uma limitação numérica,
levando a um erro de 0,34s no cálculo do tempo
de lançamento.
O sistema do míssil Patriot usava um
conjunto de 24 bits para sua representação.
Devido ao truncamento na unidade de tempo de
incremento do relógio, ao final de 100 h de
funcionamento gerou-se um acúmulo no seu
incremento um erro físico de 687 metros.
Baseado em (Ruggiero, 1996) a
representação de um número depende, portanto
da base escolhida ou disponibilidade na
máquina em uso e do número máximo de
dígitos usados em sua representação. O número
π é um exemplo que não é possível sua
representação por um número finito de dígitos.
Como dito anteriormente, outra observação
na representação de números é a sua conversão
computacional. A entrada de dados é feita por
um usuário no sistema decimal. As operações
são realizadas pelo computador no sistema
binário e resultados entregues ao operador na
tela convertidos ao sistema decimal. É
ressaltado que em uma base um número pode
ter uma representação finita e em outra
representação infinita.
Um computador que opera no sistema
binário irá armazenar sempre uma aproximação
de um número, uma vez que possui quantidade
fixas de posições e é esta aproximação que será
usada para realizar os cálculos.
Ao se tentar representar um número real
normalmente ele é arredondado, de modo a
poder ser escrito no número finito de bits onde
2
precisa ser armazenado. Dessa forma, é,
automaticamente, introduzido um erro e ele não
mais representa o número desejado.
Para uma melhor compreensão do efeito
destes erros, faz-se necessário entender como os
números são armazenados dentro do
computador. Atualmente estes representam
número na base binária, realizando suas
operações aritméticas nessa base.
Um número inteiro é facilmente
armazenado em computadores digitais.
Tipicamente é armazenado em um computador
como uma sequencia de dígitos binários de
comprimento fixo. Assim um número inteiro
(𝑛 / 𝑘) possui sua representação, sendo:
𝑛 = ±(𝑛−𝑘 𝑛−𝑘+1 … 𝑛−1 𝑛0)
= ±(𝑛0 𝛽0
+ 𝑛−1 𝛽1
+ ⋯ + 𝑛−𝑘 𝛽 𝑘
)
onde β é uma base fixa ≥ 2
Já um número real pode ser representado
por um ponto fixo ou por pontos flutuantes.
Para pontos fixos podemos representar o
mesmo por:
𝑥 = ∑ 𝑥𝑖 𝛽−1𝑛
𝑖=𝑘 , para 𝑥 inteiro
O sistema de ponto flutuante normalizado
(aqui chamamos de 𝑓) é definido como um
conjunto de número, incluindo o zero, número
qualquer de base β, na análise do ponto
flutuante que possui t dígitos de precisão e
expoente 𝑒 de intervalo [m,M], pode ser
representado por:
𝑋 = ± (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒
;
Onde ainda podemos representar por
(Diniz, 2006):
#𝑓(𝛽, 𝑡, 𝑚, 𝑀)
E sua cardinalidade dada por (Cardona,
2010):
#𝑓(𝛽, 𝑡, 𝑚, 𝑀) = 2(𝛽 − 1)𝛽 𝑡−1(𝑀 − 𝑚 + 1) + 1
Como já comentado, durante as etapas de
solução de problemas, surgem várias fontes de
erros que podem alterar profundamente os
resultados obtidos. Uma fonte clara de erro
neste momento é a limitação devido ao número
de bits da máquina. É de importância principal
avaliar sua origem para tornar mínimos seus
resultados.
Estudo de erros
Erro absoluto e erro relativo
Imaginem que queremos estudar uma
situação real, tarefas de nosso dia-a-dia. Como
dito no início deste estudo, imagine que
queremos entender uma ocorrência na área de
exatas, uma análise do SEP (Sistema Elétrico de
Potência).
Vista a complexidade do SEP não é
possível simplesmente reproduzirmos o mesmo
com seus equipamentos e puramente
simularmos situações físicas buscando seu
entendimento. Isso é inviável fisicamente. A fim
de prever o comportamento destes grandes
sistemas faz-se necessário simularmos os
mesmos. Pode-se então simular sistemas através
de seus modelos.
A modelagem matemática consiste na
tentativa de se descrever matematicamente um
fenômeno (Wikipédia). Estes modelos se
utilizam de leis e/ou fenômenos (físicas,
biológicas entre outros), bem como dados
experimentais que venham a representar, de
forma aproximada, problemas físicos. Como
raramente se tem uma representação exata
destes fenômenos (Diniz, 2006) ou
experimentos, possíveis simplificações podem
levar a um modelo falso à realidade. Neste
momento, ao confrontar os dados reais aos
resultados obtidos na validação do modelo, pode
estar sendo gerado um erro.
Buscar uma solução de um problema passa
por algumas fases de interpretação do mesmo.
Estabelecer um modelo matemático,
metodologia destinada a resolver o modelo e sua
validação são itens que trazem esta solução.
Erros e incertezas adentrados em cada etapa
contaminam o resultado esperado.
Na análise de erro numérico, podemos
inicialmente entender duas medidas
relacionadas entre si: erro absoluto e erro
relativo.
Seja 𝑋, o valor exato, mas não conhecido,
de um número e 𝑉𝐴(𝑋) o seu valor aproximado,
conhecido por sua representação de ponto
flutuante (Gaelzer, 2011). Podemos definir:
𝐸𝐴(𝑋) = |𝑋 − 𝑉𝐴(𝑋)|,
sendo 𝐸𝐴(𝑋) o erro absoluto (estimável).
Conhecendo 𝑉𝐴(𝑋) e 𝐸𝐴(𝑋) podemos afirmar
que:
𝑋 = 𝑉𝐴(𝑋) ± 𝐸𝐴(𝑋)
Assim o erro relativo 𝐸𝑅(𝑋) fica definido
como:
3
𝐸𝑅(𝑋) = |
𝑋 − 𝑉𝐴(𝑋)
𝑉𝐴(𝑋)
|
Arredondamento e truncamento
Pode-se conceituar arredondamento de uma
forma simples e direta. Diz-se que
arredondamento é o processo mediante o qual se
eliminam algarismos de menor significância a
um número.
Pode-se ainda explicar que o
arredondamento de casas decimais é a alteração
matemática de um número por outro que seja
aproximadamente equivalente em que se busca
um número adequado de algarismos
significativos.
Em (Crespo, 2009) o autor nos diz que
muitas vezes é apropriado eliminar unidades
inferiores as de determinadas ordem e ainda cita
a resolução número 886/66 da fundação IBGE
como referência de um método para
arredondamento de um número. Assim temos:
1. Quando número < 5 – conserva-se
o algarismo a ser arredondado
2. Quando número > 5 – aumentou
uma unidade no algarismo a ser
arredondado
3. Igual a 5:
 Seguido de outros algarismos onde
pelo menos 1 é diferente de zero,
aumentamos uma unidade no algarismo
a ser arredondado;
 Seguido de zeros conservamos o
algarismo a ser arredondado se ele for
par ou aumentamos se ele for ímpar.
Da mesma forma simples que definimos o
arredondamento de um número, o truncamento
em seu conceito seria a ação de omitir um
determinado valor em suas casas decimais. Dá-
se principalmente quando se quer ignorar
valores de um determinado cálculo.
Um método bastante interessante de
arredondamento foi apresentado em (Vilela,
2011) e iremos aqui utiliza-lo como método
dentro de nossa proposta.
Dado X seja X−
sua representação em
#f(β, t, m, M). Se 𝑋 ≠ 0, então escolhemos 𝑠 e
𝑒 tais que:
|𝑋| = 𝑠 ∗ 𝛽 𝑒
;
𝛽−1
(1 − 1
2⁄ 𝛽−𝑡
) ≤ 𝑠 ≤ (1 − 1
2⁄ 𝛽−𝑡
)
Onde analisamos quais os valores
permitidos para 𝑠.
Se 𝑒 ∈ [−𝑚, 𝑀] então calcula-se
|𝑋| = 𝑠 + 1
2⁄ 𝛽−𝑡
;
E truncamos em 𝑡 dígitos.
Erro de máquina
Vamos então definir alguns erros
envolvidos na representação de ponto flutuante
e suas operações algébricas.
Como já definido, ao tentarmos representar
números em um computador, estes provocam
erros, não só em sua representação, mas também
em seus métodos algébricos. Ainda em
(Gaelzer, 2011) é dado uma definição da regra
de arredondamento e truncamento diante da
representação de suas aproximações.
Dado 𝑋, representado em sua forma:
#𝑓(𝛽, 𝑡, 𝑚, 𝑀)
E um intervalo
𝑋− ≤ 𝑋 ≤ 𝑋−
Pode-se escrever 𝑋 como sendo:
𝑋 = (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒
+ 𝑔 𝑥 ∗ 𝛽 𝑒−𝑡
;
Onde 0 ≤ 𝑔 𝑥 < 1 é a parcela de 𝑋que não
pode ser incluída na sua representação.
No truncamento a ideia é simplesmente
ignorar 𝑔 𝑥. Assim:
𝐸𝐴(𝑋) = |𝑋 − 𝑉𝐴(𝑋)|,
𝐸𝐴(𝑋) = 𝑔 𝑥 ∗ 𝛽 𝑒−𝑡
,
e
𝐸𝑅(𝑋) = |
𝑋 − 𝑉𝐴(𝑋)
𝑉𝐴(𝑋)
|
𝐸𝑅(𝑋) = |
𝑔 𝑥 ∗ 𝛽 𝑒−𝑡
,
(0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒
| <
𝛽−𝑡
(0,1) 𝛽
𝐸𝑅(𝑋) = 𝛽−𝑡+1
No arredondamento, executam-se as
seguintes operações:
𝑉𝐴(𝑋)
= {
(0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒
→ |𝑔 𝑥| < 1
2⁄
(0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡 + 1) 𝛽 ∗ 𝛽 𝑒
→ |𝑔 𝑥| ≥ 1
2⁄
4
𝐸𝐴(𝑋) =
{
|𝑔 𝑥| ∗ 𝛽 𝑒−𝑡
→ |𝑔 𝑥| < 1
2⁄
|𝑔 𝑥 − 1| ∗ 𝛽 𝑒−𝑡
→ |𝑔 𝑥| ≥ 1
2⁄
(< 1
2⁄ ∗ 𝛽 𝑒−𝑡
)
𝐸𝑅(𝑋)
=
{
1
2⁄ ∗ 𝛽 𝑒−𝑡
(0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒
, → |𝑔 𝑥| < 1
2⁄
1
2⁄ ∗ 𝛽 𝑒−𝑡
(0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡 + 1) 𝛽 ∗ 𝛽 𝑒
, → |𝑔 𝑥| ≥ 1
2⁄
(≤
1
2⁄ ∗ 𝛽 𝑒−𝑡
(0,1) 𝛽 ∗ 𝛽 𝑒
= 1
2⁄ ∗ 𝛽−𝑡+1
Definir precisão acena ao quão próximo um
número representado no computador refere-se
ao número que realmente encontra-se nos
números reais. Relaciona-se a este a quantidade
de dígitos empregados em sua álgebra. Exemplo
disso é o número em 8 bytes diferentemente
representado em 4 bytes. Em geral, adota-se o
uso do erro relativo 𝐸𝑅(𝑋) para estimar a
precisão de uma aproximação, levando em
consideração a ordem de grandeza do valor de
𝑋.
Podemos ainda buscar uma verificação de
quão próximo estamos do valor correto que se
deseja representar. Este conceito de
proximidade ou acurácia (Gaelzer, 2011) está
ligados aos erros de truncamento e
arredondamento empregados no método
utilizado.
A necessidade de se verificar a acurácia de
um número se dá devido a um número não ter
representação finita em um sistema de análise
do ponto flutuante, ou não termos o número de
bits suficiente para sua concepção.
Há outra verificação importante que aqui
iremos somente citar, pois não é o objetivo
central do trabalho. A propagação de erros é um
fator a se considerar, pois é através deste estudo
que se determina a sensibilidade de um
determinado problema. Entramos aqui com o
conceito de condicionamento do problema.
Pensando em uma pequena variação nos
dados de entrada de um problema levar a uma
grande diferença no resultado final, temos então
o conceito de mal condicionamento, levando
assim a uma grande propagação de erros.
O contrário também é verdade quando
pensamos que uma pequena variação nos dados
de entrada leva a uma pequena diferença no
resultado, sendo assim essa operação numérica
bem condicionada.
Desenvolvimento do trabalho
O trabalho foi desenvolvido utilizando um
polinômio teste retirado de (Júnior, 2001). O
artigo referência propõe determinar estratégias
ótimas de irrigação para cultura de melancia,
considerando a água o fator limitante da
produção.
A função da produção utilizada tem a
seguinte configuração do segundo grau:
𝑦(𝑥) = 𝑐 + 𝑏𝑥 − 𝑎𝑥2
𝑦(𝑥) = 3,137 + 228,614𝑥 − 0,32089𝑥2
Onde 𝑦(𝑥) é a produção de frutos (Kg/ha) e
𝑥é a lamina de irrigação (mm).
Para determinados valores do preço do
produto, foram apresentados 3 valores de lâmina
entre máxima, ótima e equivalentes. Decidiu-se
por analisar duas condições de preço:
P/ 0,05 (US$/Kg) – x=[356,2;260,2;190,2]
P/ 0,35 (US$/Kg) – x=[356,2;36,0;3,6]
Para que fosse feito o estudo proposto,
optou-se pelo arredondamento da função
produção. A representação do ponto flutuante
#𝑓(10, 3, −1,4) foi escolhido aleatório para que
fossem permitidos os cálculos propostos.
1. Verificar valores permitidos para
s;
2. Verificar se o valor de 𝑒 ∈
[−𝑚, 𝑀];
Em ambos os itens foi utilizado às equações
propostas no estudo de arredondamento e
truncamento. Iremos aqui arredondar o índice 𝑎
como modelo e sua forma foi replicado aos
demais índices.
𝑎 = 0,32089 → 0,32089𝑥100
𝑒 = 0; 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [−1,4]
|𝑎| = 0,32089 + 1
2⁄ ∗ 10−3
= 0,32139
|𝑎| = 0,321𝑥100
3. Avaliar o erro da máquina
E ainda propõe definir:
4. Estimar novos valores para os
coeficientes da função teste após o
arredondamento e truncamento;
5
5. Definir resultados para EA(x) e
ER(x)
Resultados
Inicialmente verificou os valores permitidos
para 𝑠, obteve:
0,09995 ≤ 𝑠 ≤ 0,9995
Para os valores a, b e c da função teste, foi
testado se e ∈ [−m, M] e verificado que todos
estavam dentro do intervalo proposto. Os
cálculos foram efetuados e assim obteve uma
nova função teste, sendo:
𝑧(𝑥) = 3,14 + 229𝑥 − 0,321𝑥2
𝑧(𝑥) = 0,314 ∗ 101
+ 0,229 ∗ 103
𝑥 − 0,321
∗ 100
𝑥2
No polinômio acima, com valores de
coeficientes normalizados, verificou que os
valores de s estavam dentro do esperado e os
valores de 𝑒 estavam dentro do intervalo do
ponto flutuante proposto [-1,4]
Para que facilitasse a obtenção dos
resultados elaborou uma rotina em MATLAB
R10, em anexo, e executou o programa. Os
dados de entrada foram apresentados acima.
Buscou-se então verificar os valores de
produção, onde dentro dos resultados
encontrados, efetuou-se o truncamento em t=3.
Valores p/Y Valores p/Z EA ER
40721.421
7769.109
1876.990
40844.960
37862.135
31946.431
123.539
3.0256
69.440
0.302
0.245
0.217
Tab.1 – Resultados para 0,05 (US$/kg) e
x=[356,2;260,2;190,2]
Valores p/Y Valores p/Z EA ER
40721.421
7817.367
821.988
40844.960
7831.124
823.379
123.539
13.7561
1.391
0.302
0.175
0.168
Tab.2 – Resultados para 0,35 (US$/kg) e x=[356,2;36,0;3,6]
Nas tabelas 1 e 2, os valores para Y são os
valores exatos da expressão, e os valores de Z
são valores encontrados após os coeficientes
normalizados.
Em um segundo momento, buscou-se
avaliar o erro de máquina. Neste caso definiu-se
considerar somente o coeficiente 𝑎 da função.
Não analisamos os outros coeficientes, pois os
mesmos encontravam dentro da proposição de
t=3.
𝑎 = 0,320 ∗ 100
+ 0,89 ∗ 100−3
;
𝑔 𝑥 = 0,89 ∗ 10−3
Por truncamento, ignora-se 𝑔 𝑥 e obtém:
𝐸𝐴(𝑥) = |𝑔 𝑥| ∗ 𝛽 𝑒−𝑡
= 0,89 ∗ 10−3
𝐸𝑅(𝑥) = 𝛽−𝑡+1
= 0,01
No estudo de arredondamento do erro de
máquina, observou inicialmente que 𝑔 𝑥 < 1
2⁄ ,
assim:
𝐸𝐴(𝑥) = |𝑔 𝑥| ∗ 𝛽 𝑒−𝑡
= 0,89 ∗ 10−3
𝐸𝑅(𝑥) = 1
2⁄ ∗ 𝛽−𝑡+1
= 0,005
Conclusões
O grande objetivo deste trabalho era
verificar a existência de erros dentro do conceito
de ponto flutuante e avaliar seu
equacionamento. Estas foram avaliadas na base
𝛽 = 10 e verificado sua validade.
Dentro dos resultados obtidos esta seria
nossa menor preocupação, uma vez que foi
verificada a manipulação das equações.
Este sim foi o verdadeiro ganho deste
trabalho, onde podemos comprovar que uma vez
que os números da função foram readequados
dentro dos conceitos de arredondamento e
truncamento, erros puderam ser observados.
Bibliografia
Cardona, A. V. (2010). Pontifícia
Universidade Católica /Rio Grande do Sul.
Fonte:
http://www.pucrs.br/famat/augusto/logica_mate
matica/SistemaPtFlut.pdf
Crespo, A. A. (2009). Estatística Fácil. São
Paulo: Saraiva.
Diniz, G. L. Estudo de erros. In: Cálculo
Numérico. Matemática - ICET - UFMT.
Frederico Ferreira Campos, F. (2001).
Algoritmos Numéricos. Rio de Janeiro: LTC.
Gaelzer, R. (2011). Representação de
Números e Erros. IFM/UFPel.
6
Hilbert, D. (2003). Problemas Matemáticos.
RBHM , III, 5-12.
Júnior, A. S. (2001). Estratégias ótimas de
irrigação para a cultura da melancia. Pesq.
agropec. bras. , 36, 301-305.
Ruggiero, M. A. (1996). Cálculo Numérico
- Aspectos Teóricos e Computacionais. São
Paulo: Pearson Makron Books.
Vilela, P. Apostila de Métodos Numéricos
Para Engenharia I. Piracicaba: Engenharia de
Controle e Automação - Anhaguera.
Wikipédia. (s.d.). Fonte:
http://pt.wikipedia.org/wiki/Modelagem_matem
%C3%A1tica
Anexo
clc, clear all
% rotina para verificação dos valores de erro
relativo
% e erro absoluto a partir de uma função teste
% y(i) - função teste
% z(i) - função modificada a partir do
arredondamento de y(i)
% EA(i) - Erro Absoluto
% ER(i) - Erro Relativo
% x - Dados de entrada relacionado a lâmina de
irrigação
format long g;
x=[356.2 36.0 3.6];
%x=[356.2 260.3 190.2];
for i=1:length(x)
y(i)=3.137+(228.614*x(i))-(0.32089*x(i)^2);
z(i)=3.14+(229*x(i))-(0.321*x(i)^2);
EA(i)=z(i)-y(i);
ER(i)=(EA(i)/z(i))*100;
end
resultado=[y;z;EA;ER]';

Mais conteúdo relacionado

Destaque

Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteAlexandre Grossi
 
CASE - Diagnóstico de Falhas em Cabos MT
CASE - Diagnóstico de Falhas em Cabos MTCASE - Diagnóstico de Falhas em Cabos MT
CASE - Diagnóstico de Falhas em Cabos MTAlexandre Grossi
 
Plano de manutenção transformadores 13.8 kv
Plano de manutenção   transformadores 13.8 kvPlano de manutenção   transformadores 13.8 kv
Plano de manutenção transformadores 13.8 kvAlexandre Grossi
 
Espec painel distribuição media tensão
Espec painel distribuição media tensãoEspec painel distribuição media tensão
Espec painel distribuição media tensãoAlexandre Grossi
 
Relatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensRelatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensAlexandre Grossi
 
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...Alexandre Grossi
 
Plano de Manutenção - Transformadores 13.8 kv
Plano de Manutenção - Transformadores 13.8 kvPlano de Manutenção - Transformadores 13.8 kv
Plano de Manutenção - Transformadores 13.8 kvAlexandre Grossi
 
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoDiagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoAlexandre Grossi
 
Utilização do SAP/R3 no planejamento de Planos de Manutenção
Utilização do SAP/R3 no planejamento de Planos de ManutençãoUtilização do SAP/R3 no planejamento de Planos de Manutenção
Utilização do SAP/R3 no planejamento de Planos de ManutençãoAlexandre Grossi
 
Proficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiProficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiAlexandre Grossi
 
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
Técnicas de Inspeção e Procedimentos para Testes - Cabos ElétricosAlexandre Grossi
 
Plano de manutenção painéis MT/AT
Plano de manutenção   painéis MT/ATPlano de manutenção   painéis MT/AT
Plano de manutenção painéis MT/ATAlexandre Grossi
 
Descargas Parciais - Conceitos e Aplicações
Descargas Parciais - Conceitos e AplicaçõesDescargas Parciais - Conceitos e Aplicações
Descargas Parciais - Conceitos e AplicaçõesAlexandre Grossi
 

Destaque (13)

Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
CASE - Diagnóstico de Falhas em Cabos MT
CASE - Diagnóstico de Falhas em Cabos MTCASE - Diagnóstico de Falhas em Cabos MT
CASE - Diagnóstico de Falhas em Cabos MT
 
Plano de manutenção transformadores 13.8 kv
Plano de manutenção   transformadores 13.8 kvPlano de manutenção   transformadores 13.8 kv
Plano de manutenção transformadores 13.8 kv
 
Espec painel distribuição media tensão
Espec painel distribuição media tensãoEspec painel distribuição media tensão
Espec painel distribuição media tensão
 
Relatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemensRelatorio inspeçao e testes disjuntores mdvp4 siemens
Relatorio inspeçao e testes disjuntores mdvp4 siemens
 
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...
Manutenção preventiva Disjuntores MT / Merlin Gerin - Parada Operacional - Co...
 
Plano de Manutenção - Transformadores 13.8 kv
Plano de Manutenção - Transformadores 13.8 kvPlano de Manutenção - Transformadores 13.8 kv
Plano de Manutenção - Transformadores 13.8 kv
 
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer TécnicoDiagnóstico de Falhas em Cabos MT - Parecer Técnico
Diagnóstico de Falhas em Cabos MT - Parecer Técnico
 
Utilização do SAP/R3 no planejamento de Planos de Manutenção
Utilização do SAP/R3 no planejamento de Planos de ManutençãoUtilização do SAP/R3 no planejamento de Planos de Manutenção
Utilização do SAP/R3 no planejamento de Planos de Manutenção
 
Proficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre GrossiProficiência Engenheiro Eletricista - Alexandre Grossi
Proficiência Engenheiro Eletricista - Alexandre Grossi
 
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
Técnicas de Inspeção e Procedimentos para Testes - Cabos Elétricos
 
Plano de manutenção painéis MT/AT
Plano de manutenção   painéis MT/ATPlano de manutenção   painéis MT/AT
Plano de manutenção painéis MT/AT
 
Descargas Parciais - Conceitos e Aplicações
Descargas Parciais - Conceitos e AplicaçõesDescargas Parciais - Conceitos e Aplicações
Descargas Parciais - Conceitos e Aplicações
 

Semelhante a Erros na aritmética de ponto flutuante

Numerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsNumerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsMichel Alves
 
Aula a1 precisão, incertezas e erros em medidas
Aula a1   precisão, incertezas e erros em medidasAula a1   precisão, incertezas e erros em medidas
Aula a1 precisão, incertezas e erros em medidasJoão Marcos
 
CALCULO NUMERICO.pdf
CALCULO NUMERICO.pdfCALCULO NUMERICO.pdf
CALCULO NUMERICO.pdfJeanPiter2
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosFlavio Gomes Lima
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Rodrigo Rodrigues
 
Algorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxAlgorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxCristiano Borges
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................AnabelaAlferes
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1gastaovalle
 
Aula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoAula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoSérgio Souza Costa
 
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjjMarcioNascimento873348
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
Cálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaCálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaGleiton Kunde
 

Semelhante a Erros na aritmética de ponto flutuante (20)

Numerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential EquationsNumerical Methods for Solving Linear Ordinary Differential Equations
Numerical Methods for Solving Linear Ordinary Differential Equations
 
Aula a1 precisão, incertezas e erros em medidas
Aula a1   precisão, incertezas e erros em medidasAula a1   precisão, incertezas e erros em medidas
Aula a1 precisão, incertezas e erros em medidas
 
CALCULO NUMERICO.pdf
CALCULO NUMERICO.pdfCALCULO NUMERICO.pdf
CALCULO NUMERICO.pdf
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios Resolvidos
 
Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais
 
Algorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptxAlgorítmos e Lógica de Programação1.pptx
Algorítmos e Lógica de Programação1.pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
Pensamento Computacional.................................
Pensamento Computacional.................................Pensamento Computacional.................................
Pensamento Computacional.................................
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1
 
Aula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computaçãoAula 1 - introdução a fundamentos de computação
Aula 1 - introdução a fundamentos de computação
 
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj
1.0_aula_ Medidas SI.ppt jjjjjjjjjjjjjjjj
 
Aula1
Aula1Aula1
Aula1
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Cálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaCálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanica
 

Mais de Alexandre Grossi

O algoritmo PageRank do Google
O algoritmo PageRank do GoogleO algoritmo PageRank do Google
O algoritmo PageRank do GoogleAlexandre Grossi
 
Procedimentos de rotina para recuperação, verificação e substituição de ater...
Procedimentos de rotina para recuperação, verificação e substituição  de ater...Procedimentos de rotina para recuperação, verificação e substituição  de ater...
Procedimentos de rotina para recuperação, verificação e substituição de ater...Alexandre Grossi
 
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Alexandre Grossi
 
Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Alexandre Grossi
 
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteDTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteAlexandre Grossi
 
Estudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTEstudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTAlexandre Grossi
 
Pinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTPinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTAlexandre Grossi
 
Programação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisProgramação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisAlexandre Grossi
 
Produtividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaProdutividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaAlexandre Grossi
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAlexandre Grossi
 
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesDimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesAlexandre Grossi
 
Simulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseSimulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseAlexandre Grossi
 
Nr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeNr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeAlexandre Grossi
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central Alexandre Grossi
 
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOMEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOAlexandre Grossi
 

Mais de Alexandre Grossi (17)

O algoritmo PageRank do Google
O algoritmo PageRank do GoogleO algoritmo PageRank do Google
O algoritmo PageRank do Google
 
Procedimentos de rotina para recuperação, verificação e substituição de ater...
Procedimentos de rotina para recuperação, verificação e substituição  de ater...Procedimentos de rotina para recuperação, verificação e substituição  de ater...
Procedimentos de rotina para recuperação, verificação e substituição de ater...
 
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
Parecer técnico - Retrofit (Quadro de Distribuição de Força de 460 VCA)
 
Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão Análise preditiva em cabos de média tensão
Análise preditiva em cabos de média tensão
 
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de SuporteDTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
DTMC - Equipamentos Elétricos / SE - Células Funcionais e de Suporte
 
Estudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BTEstudo Técnico - Retrofit Painel BT
Estudo Técnico - Retrofit Painel BT
 
Pinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MTPinturas Intumescentes em cabos MT
Pinturas Intumescentes em cabos MT
 
Programação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionaisProgramação para engenharia - aspectos teóricos e computacionais
Programação para engenharia - aspectos teóricos e computacionais
 
Produtividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demandaProdutividade: uma relação da capacidade produtiva e previsão de demanda
Produtividade: uma relação da capacidade produtiva e previsão de demanda
 
Disjuntor / Chave Joslyn
Disjuntor / Chave Joslyn Disjuntor / Chave Joslyn
Disjuntor / Chave Joslyn
 
Análise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modeladosAnálise de Falhas em Sistemas modelados
Análise de Falhas em Sistemas modelados
 
Modelamento de uma FTA
Modelamento de uma FTAModelamento de uma FTA
Modelamento de uma FTA
 
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de SubestaçõesDimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
Dimensionamento Ótimo de Reserva Técnica de Transformadores de Subestações
 
Simulated Annealing- Uma Análise
Simulated Annealing- Uma AnáliseSimulated Annealing- Uma Análise
Simulated Annealing- Uma Análise
 
Nr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidadeNr10/SEP - Segurança em instalações e serviços com eletricidade
Nr10/SEP - Segurança em instalações e serviços com eletricidade
 
Relatório técnico Iluminação Oficina Central
Relatório técnico   Iluminação Oficina Central Relatório técnico   Iluminação Oficina Central
Relatório técnico Iluminação Oficina Central
 
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPOMEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
MEDIÇÃO DE ISOLAÇÃO DE MOTORES NO CAMPO
 

Erros na aritmética de ponto flutuante

  • 1. 1 ERRO NA ARITMÉTICA DE PONTO FLUTUANTE ALEXANDRE GROSSI1 Resumo – Intuitivamente “errar é humano” e quando isso acontece podemos ter consequências às vezes impensáveis sobre isso. O erro também está associado a máquinas (computadores, calculadoras entre outros). Com este trabalho busca-se fazer uma leitura do erro e suas ocorrências. Faz- se uma leitura de representação numérica do erro e trazemos alguns exemplos como parte prática do trabalho Introdução Quando pensamos no nosso trabalho do dia-a-dia o reconhecimento de problemas não é uma tarefa fácil. Os problemas estão ligados a áreas de exatas, humanas, biológicas, econômicas, sociais, entre outras. Também estão associados à qualidade de vida, linguísticas, qualidade total, práticas educativas, leitura e escrita, avaliação em saúde e até problema de bioética. Em (Hilbert, 2003) coloca-se a ideia que as questões relacionadas à matemática também precisam soluções a seus problemas. Em (Ruggiero, 1996) pondera que se em todas as fases de solução de problema sua iterações tenham sidas realizadas corretamente, não é raro acontecer que os resultados finais estejam distantes do que se espera acontecer. Ainda em (Filho, 2001) o autor alega que os resultados obtidos podem surgir por várias fontes de erros. Avaliar estes resultados e a existência do erro é verificar as operações numéricas efetuadas, suas representações e precisões obtidas. Para ambos os autores (Filho, 2001) e (Ruggiero, 1996) é de importância fundamental conhecer as causas do erro encontrado com o intuito de minimizar suas consequências. Na representação dos números, existe um modo de armazená-los em uma forma padronizada, onde as operações são realizadas de forma organizada, dentro de uma estrutura de máquina. Nos anos de 1970 a 1980, foi levantada a necessidade de termos uma padronização no intuito de tornar invariáveis os resultados obtidos por um mesmo programa 1 alexandregrossi15@gmail.com Aluno do PPGEL – Programa de Pós Graduação de Engenharia Elétrica da UFSJ – Universidade Federal de São João del Rei computacional executado por diferentes máquinas. Criou-se então um grupo, conhecido por IEEEp754, cujas as metas passavam também por padronizar o arredondamento nas operações numéricas realizadas por esses programas em uma base, que para estes caso tornou-se uma base binária Entende-se que se há uma distância do que se espera acontecer, o seu resultado tem um erro. Propõe-se então tratar da análise dos erros em processo numéricos com o estudo destes e suas noções que surgem de suas representações além de apresentar os tipos de erros que possam surgir junto às operações efetuadas. Representação numérica Em determinadas situações reais algumas soluções são impraticáveis, onde problemas são medidas físicas. Peguemos o exemplo na guerra do Golfo em que uma falha no sistema de rastreamento e intercepção de mísseis do sistema de defesa Patriot, levou a 28 americanos mortos. A falha ocorreu devido a uma limitação numérica, levando a um erro de 0,34s no cálculo do tempo de lançamento. O sistema do míssil Patriot usava um conjunto de 24 bits para sua representação. Devido ao truncamento na unidade de tempo de incremento do relógio, ao final de 100 h de funcionamento gerou-se um acúmulo no seu incremento um erro físico de 687 metros. Baseado em (Ruggiero, 1996) a representação de um número depende, portanto da base escolhida ou disponibilidade na máquina em uso e do número máximo de dígitos usados em sua representação. O número π é um exemplo que não é possível sua representação por um número finito de dígitos. Como dito anteriormente, outra observação na representação de números é a sua conversão computacional. A entrada de dados é feita por um usuário no sistema decimal. As operações são realizadas pelo computador no sistema binário e resultados entregues ao operador na tela convertidos ao sistema decimal. É ressaltado que em uma base um número pode ter uma representação finita e em outra representação infinita. Um computador que opera no sistema binário irá armazenar sempre uma aproximação de um número, uma vez que possui quantidade fixas de posições e é esta aproximação que será usada para realizar os cálculos. Ao se tentar representar um número real normalmente ele é arredondado, de modo a poder ser escrito no número finito de bits onde
  • 2. 2 precisa ser armazenado. Dessa forma, é, automaticamente, introduzido um erro e ele não mais representa o número desejado. Para uma melhor compreensão do efeito destes erros, faz-se necessário entender como os números são armazenados dentro do computador. Atualmente estes representam número na base binária, realizando suas operações aritméticas nessa base. Um número inteiro é facilmente armazenado em computadores digitais. Tipicamente é armazenado em um computador como uma sequencia de dígitos binários de comprimento fixo. Assim um número inteiro (𝑛 / 𝑘) possui sua representação, sendo: 𝑛 = ±(𝑛−𝑘 𝑛−𝑘+1 … 𝑛−1 𝑛0) = ±(𝑛0 𝛽0 + 𝑛−1 𝛽1 + ⋯ + 𝑛−𝑘 𝛽 𝑘 ) onde β é uma base fixa ≥ 2 Já um número real pode ser representado por um ponto fixo ou por pontos flutuantes. Para pontos fixos podemos representar o mesmo por: 𝑥 = ∑ 𝑥𝑖 𝛽−1𝑛 𝑖=𝑘 , para 𝑥 inteiro O sistema de ponto flutuante normalizado (aqui chamamos de 𝑓) é definido como um conjunto de número, incluindo o zero, número qualquer de base β, na análise do ponto flutuante que possui t dígitos de precisão e expoente 𝑒 de intervalo [m,M], pode ser representado por: 𝑋 = ± (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒 ; Onde ainda podemos representar por (Diniz, 2006): #𝑓(𝛽, 𝑡, 𝑚, 𝑀) E sua cardinalidade dada por (Cardona, 2010): #𝑓(𝛽, 𝑡, 𝑚, 𝑀) = 2(𝛽 − 1)𝛽 𝑡−1(𝑀 − 𝑚 + 1) + 1 Como já comentado, durante as etapas de solução de problemas, surgem várias fontes de erros que podem alterar profundamente os resultados obtidos. Uma fonte clara de erro neste momento é a limitação devido ao número de bits da máquina. É de importância principal avaliar sua origem para tornar mínimos seus resultados. Estudo de erros Erro absoluto e erro relativo Imaginem que queremos estudar uma situação real, tarefas de nosso dia-a-dia. Como dito no início deste estudo, imagine que queremos entender uma ocorrência na área de exatas, uma análise do SEP (Sistema Elétrico de Potência). Vista a complexidade do SEP não é possível simplesmente reproduzirmos o mesmo com seus equipamentos e puramente simularmos situações físicas buscando seu entendimento. Isso é inviável fisicamente. A fim de prever o comportamento destes grandes sistemas faz-se necessário simularmos os mesmos. Pode-se então simular sistemas através de seus modelos. A modelagem matemática consiste na tentativa de se descrever matematicamente um fenômeno (Wikipédia). Estes modelos se utilizam de leis e/ou fenômenos (físicas, biológicas entre outros), bem como dados experimentais que venham a representar, de forma aproximada, problemas físicos. Como raramente se tem uma representação exata destes fenômenos (Diniz, 2006) ou experimentos, possíveis simplificações podem levar a um modelo falso à realidade. Neste momento, ao confrontar os dados reais aos resultados obtidos na validação do modelo, pode estar sendo gerado um erro. Buscar uma solução de um problema passa por algumas fases de interpretação do mesmo. Estabelecer um modelo matemático, metodologia destinada a resolver o modelo e sua validação são itens que trazem esta solução. Erros e incertezas adentrados em cada etapa contaminam o resultado esperado. Na análise de erro numérico, podemos inicialmente entender duas medidas relacionadas entre si: erro absoluto e erro relativo. Seja 𝑋, o valor exato, mas não conhecido, de um número e 𝑉𝐴(𝑋) o seu valor aproximado, conhecido por sua representação de ponto flutuante (Gaelzer, 2011). Podemos definir: 𝐸𝐴(𝑋) = |𝑋 − 𝑉𝐴(𝑋)|, sendo 𝐸𝐴(𝑋) o erro absoluto (estimável). Conhecendo 𝑉𝐴(𝑋) e 𝐸𝐴(𝑋) podemos afirmar que: 𝑋 = 𝑉𝐴(𝑋) ± 𝐸𝐴(𝑋) Assim o erro relativo 𝐸𝑅(𝑋) fica definido como:
  • 3. 3 𝐸𝑅(𝑋) = | 𝑋 − 𝑉𝐴(𝑋) 𝑉𝐴(𝑋) | Arredondamento e truncamento Pode-se conceituar arredondamento de uma forma simples e direta. Diz-se que arredondamento é o processo mediante o qual se eliminam algarismos de menor significância a um número. Pode-se ainda explicar que o arredondamento de casas decimais é a alteração matemática de um número por outro que seja aproximadamente equivalente em que se busca um número adequado de algarismos significativos. Em (Crespo, 2009) o autor nos diz que muitas vezes é apropriado eliminar unidades inferiores as de determinadas ordem e ainda cita a resolução número 886/66 da fundação IBGE como referência de um método para arredondamento de um número. Assim temos: 1. Quando número < 5 – conserva-se o algarismo a ser arredondado 2. Quando número > 5 – aumentou uma unidade no algarismo a ser arredondado 3. Igual a 5:  Seguido de outros algarismos onde pelo menos 1 é diferente de zero, aumentamos uma unidade no algarismo a ser arredondado;  Seguido de zeros conservamos o algarismo a ser arredondado se ele for par ou aumentamos se ele for ímpar. Da mesma forma simples que definimos o arredondamento de um número, o truncamento em seu conceito seria a ação de omitir um determinado valor em suas casas decimais. Dá- se principalmente quando se quer ignorar valores de um determinado cálculo. Um método bastante interessante de arredondamento foi apresentado em (Vilela, 2011) e iremos aqui utiliza-lo como método dentro de nossa proposta. Dado X seja X− sua representação em #f(β, t, m, M). Se 𝑋 ≠ 0, então escolhemos 𝑠 e 𝑒 tais que: |𝑋| = 𝑠 ∗ 𝛽 𝑒 ; 𝛽−1 (1 − 1 2⁄ 𝛽−𝑡 ) ≤ 𝑠 ≤ (1 − 1 2⁄ 𝛽−𝑡 ) Onde analisamos quais os valores permitidos para 𝑠. Se 𝑒 ∈ [−𝑚, 𝑀] então calcula-se |𝑋| = 𝑠 + 1 2⁄ 𝛽−𝑡 ; E truncamos em 𝑡 dígitos. Erro de máquina Vamos então definir alguns erros envolvidos na representação de ponto flutuante e suas operações algébricas. Como já definido, ao tentarmos representar números em um computador, estes provocam erros, não só em sua representação, mas também em seus métodos algébricos. Ainda em (Gaelzer, 2011) é dado uma definição da regra de arredondamento e truncamento diante da representação de suas aproximações. Dado 𝑋, representado em sua forma: #𝑓(𝛽, 𝑡, 𝑚, 𝑀) E um intervalo 𝑋− ≤ 𝑋 ≤ 𝑋− Pode-se escrever 𝑋 como sendo: 𝑋 = (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒 + 𝑔 𝑥 ∗ 𝛽 𝑒−𝑡 ; Onde 0 ≤ 𝑔 𝑥 < 1 é a parcela de 𝑋que não pode ser incluída na sua representação. No truncamento a ideia é simplesmente ignorar 𝑔 𝑥. Assim: 𝐸𝐴(𝑋) = |𝑋 − 𝑉𝐴(𝑋)|, 𝐸𝐴(𝑋) = 𝑔 𝑥 ∗ 𝛽 𝑒−𝑡 , e 𝐸𝑅(𝑋) = | 𝑋 − 𝑉𝐴(𝑋) 𝑉𝐴(𝑋) | 𝐸𝑅(𝑋) = | 𝑔 𝑥 ∗ 𝛽 𝑒−𝑡 , (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒 | < 𝛽−𝑡 (0,1) 𝛽 𝐸𝑅(𝑋) = 𝛽−𝑡+1 No arredondamento, executam-se as seguintes operações: 𝑉𝐴(𝑋) = { (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒 → |𝑔 𝑥| < 1 2⁄ (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡 + 1) 𝛽 ∗ 𝛽 𝑒 → |𝑔 𝑥| ≥ 1 2⁄
  • 4. 4 𝐸𝐴(𝑋) = { |𝑔 𝑥| ∗ 𝛽 𝑒−𝑡 → |𝑔 𝑥| < 1 2⁄ |𝑔 𝑥 − 1| ∗ 𝛽 𝑒−𝑡 → |𝑔 𝑥| ≥ 1 2⁄ (< 1 2⁄ ∗ 𝛽 𝑒−𝑡 ) 𝐸𝑅(𝑋) = { 1 2⁄ ∗ 𝛽 𝑒−𝑡 (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡) 𝛽 ∗ 𝛽 𝑒 , → |𝑔 𝑥| < 1 2⁄ 1 2⁄ ∗ 𝛽 𝑒−𝑡 (0, 𝑑1 𝑑2 𝑑3 … . 𝑑 𝑡 + 1) 𝛽 ∗ 𝛽 𝑒 , → |𝑔 𝑥| ≥ 1 2⁄ (≤ 1 2⁄ ∗ 𝛽 𝑒−𝑡 (0,1) 𝛽 ∗ 𝛽 𝑒 = 1 2⁄ ∗ 𝛽−𝑡+1 Definir precisão acena ao quão próximo um número representado no computador refere-se ao número que realmente encontra-se nos números reais. Relaciona-se a este a quantidade de dígitos empregados em sua álgebra. Exemplo disso é o número em 8 bytes diferentemente representado em 4 bytes. Em geral, adota-se o uso do erro relativo 𝐸𝑅(𝑋) para estimar a precisão de uma aproximação, levando em consideração a ordem de grandeza do valor de 𝑋. Podemos ainda buscar uma verificação de quão próximo estamos do valor correto que se deseja representar. Este conceito de proximidade ou acurácia (Gaelzer, 2011) está ligados aos erros de truncamento e arredondamento empregados no método utilizado. A necessidade de se verificar a acurácia de um número se dá devido a um número não ter representação finita em um sistema de análise do ponto flutuante, ou não termos o número de bits suficiente para sua concepção. Há outra verificação importante que aqui iremos somente citar, pois não é o objetivo central do trabalho. A propagação de erros é um fator a se considerar, pois é através deste estudo que se determina a sensibilidade de um determinado problema. Entramos aqui com o conceito de condicionamento do problema. Pensando em uma pequena variação nos dados de entrada de um problema levar a uma grande diferença no resultado final, temos então o conceito de mal condicionamento, levando assim a uma grande propagação de erros. O contrário também é verdade quando pensamos que uma pequena variação nos dados de entrada leva a uma pequena diferença no resultado, sendo assim essa operação numérica bem condicionada. Desenvolvimento do trabalho O trabalho foi desenvolvido utilizando um polinômio teste retirado de (Júnior, 2001). O artigo referência propõe determinar estratégias ótimas de irrigação para cultura de melancia, considerando a água o fator limitante da produção. A função da produção utilizada tem a seguinte configuração do segundo grau: 𝑦(𝑥) = 𝑐 + 𝑏𝑥 − 𝑎𝑥2 𝑦(𝑥) = 3,137 + 228,614𝑥 − 0,32089𝑥2 Onde 𝑦(𝑥) é a produção de frutos (Kg/ha) e 𝑥é a lamina de irrigação (mm). Para determinados valores do preço do produto, foram apresentados 3 valores de lâmina entre máxima, ótima e equivalentes. Decidiu-se por analisar duas condições de preço: P/ 0,05 (US$/Kg) – x=[356,2;260,2;190,2] P/ 0,35 (US$/Kg) – x=[356,2;36,0;3,6] Para que fosse feito o estudo proposto, optou-se pelo arredondamento da função produção. A representação do ponto flutuante #𝑓(10, 3, −1,4) foi escolhido aleatório para que fossem permitidos os cálculos propostos. 1. Verificar valores permitidos para s; 2. Verificar se o valor de 𝑒 ∈ [−𝑚, 𝑀]; Em ambos os itens foi utilizado às equações propostas no estudo de arredondamento e truncamento. Iremos aqui arredondar o índice 𝑎 como modelo e sua forma foi replicado aos demais índices. 𝑎 = 0,32089 → 0,32089𝑥100 𝑒 = 0; 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [−1,4] |𝑎| = 0,32089 + 1 2⁄ ∗ 10−3 = 0,32139 |𝑎| = 0,321𝑥100 3. Avaliar o erro da máquina E ainda propõe definir: 4. Estimar novos valores para os coeficientes da função teste após o arredondamento e truncamento;
  • 5. 5 5. Definir resultados para EA(x) e ER(x) Resultados Inicialmente verificou os valores permitidos para 𝑠, obteve: 0,09995 ≤ 𝑠 ≤ 0,9995 Para os valores a, b e c da função teste, foi testado se e ∈ [−m, M] e verificado que todos estavam dentro do intervalo proposto. Os cálculos foram efetuados e assim obteve uma nova função teste, sendo: 𝑧(𝑥) = 3,14 + 229𝑥 − 0,321𝑥2 𝑧(𝑥) = 0,314 ∗ 101 + 0,229 ∗ 103 𝑥 − 0,321 ∗ 100 𝑥2 No polinômio acima, com valores de coeficientes normalizados, verificou que os valores de s estavam dentro do esperado e os valores de 𝑒 estavam dentro do intervalo do ponto flutuante proposto [-1,4] Para que facilitasse a obtenção dos resultados elaborou uma rotina em MATLAB R10, em anexo, e executou o programa. Os dados de entrada foram apresentados acima. Buscou-se então verificar os valores de produção, onde dentro dos resultados encontrados, efetuou-se o truncamento em t=3. Valores p/Y Valores p/Z EA ER 40721.421 7769.109 1876.990 40844.960 37862.135 31946.431 123.539 3.0256 69.440 0.302 0.245 0.217 Tab.1 – Resultados para 0,05 (US$/kg) e x=[356,2;260,2;190,2] Valores p/Y Valores p/Z EA ER 40721.421 7817.367 821.988 40844.960 7831.124 823.379 123.539 13.7561 1.391 0.302 0.175 0.168 Tab.2 – Resultados para 0,35 (US$/kg) e x=[356,2;36,0;3,6] Nas tabelas 1 e 2, os valores para Y são os valores exatos da expressão, e os valores de Z são valores encontrados após os coeficientes normalizados. Em um segundo momento, buscou-se avaliar o erro de máquina. Neste caso definiu-se considerar somente o coeficiente 𝑎 da função. Não analisamos os outros coeficientes, pois os mesmos encontravam dentro da proposição de t=3. 𝑎 = 0,320 ∗ 100 + 0,89 ∗ 100−3 ; 𝑔 𝑥 = 0,89 ∗ 10−3 Por truncamento, ignora-se 𝑔 𝑥 e obtém: 𝐸𝐴(𝑥) = |𝑔 𝑥| ∗ 𝛽 𝑒−𝑡 = 0,89 ∗ 10−3 𝐸𝑅(𝑥) = 𝛽−𝑡+1 = 0,01 No estudo de arredondamento do erro de máquina, observou inicialmente que 𝑔 𝑥 < 1 2⁄ , assim: 𝐸𝐴(𝑥) = |𝑔 𝑥| ∗ 𝛽 𝑒−𝑡 = 0,89 ∗ 10−3 𝐸𝑅(𝑥) = 1 2⁄ ∗ 𝛽−𝑡+1 = 0,005 Conclusões O grande objetivo deste trabalho era verificar a existência de erros dentro do conceito de ponto flutuante e avaliar seu equacionamento. Estas foram avaliadas na base 𝛽 = 10 e verificado sua validade. Dentro dos resultados obtidos esta seria nossa menor preocupação, uma vez que foi verificada a manipulação das equações. Este sim foi o verdadeiro ganho deste trabalho, onde podemos comprovar que uma vez que os números da função foram readequados dentro dos conceitos de arredondamento e truncamento, erros puderam ser observados. Bibliografia Cardona, A. V. (2010). Pontifícia Universidade Católica /Rio Grande do Sul. Fonte: http://www.pucrs.br/famat/augusto/logica_mate matica/SistemaPtFlut.pdf Crespo, A. A. (2009). Estatística Fácil. São Paulo: Saraiva. Diniz, G. L. Estudo de erros. In: Cálculo Numérico. Matemática - ICET - UFMT. Frederico Ferreira Campos, F. (2001). Algoritmos Numéricos. Rio de Janeiro: LTC. Gaelzer, R. (2011). Representação de Números e Erros. IFM/UFPel.
  • 6. 6 Hilbert, D. (2003). Problemas Matemáticos. RBHM , III, 5-12. Júnior, A. S. (2001). Estratégias ótimas de irrigação para a cultura da melancia. Pesq. agropec. bras. , 36, 301-305. Ruggiero, M. A. (1996). Cálculo Numérico - Aspectos Teóricos e Computacionais. São Paulo: Pearson Makron Books. Vilela, P. Apostila de Métodos Numéricos Para Engenharia I. Piracicaba: Engenharia de Controle e Automação - Anhaguera. Wikipédia. (s.d.). Fonte: http://pt.wikipedia.org/wiki/Modelagem_matem %C3%A1tica Anexo clc, clear all % rotina para verificação dos valores de erro relativo % e erro absoluto a partir de uma função teste % y(i) - função teste % z(i) - função modificada a partir do arredondamento de y(i) % EA(i) - Erro Absoluto % ER(i) - Erro Relativo % x - Dados de entrada relacionado a lâmina de irrigação format long g; x=[356.2 36.0 3.6]; %x=[356.2 260.3 190.2]; for i=1:length(x) y(i)=3.137+(228.614*x(i))-(0.32089*x(i)^2); z(i)=3.14+(229*x(i))-(0.321*x(i)^2); EA(i)=z(i)-y(i); ER(i)=(EA(i)/z(i))*100; end resultado=[y;z;EA;ER]';