erro na aritmética de ponto flutuante

6
1 ERRO NA ARITMÉTICA DE PONTO FLUTUANTE ALEXANDRE GROSSI 1 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 [email protected] 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

Upload: alexandre-grossi

Post on 09-Feb-2017

24 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Erro na aritmética de ponto flutuante

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 [email protected] 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

Page 2: Erro na aritmética de ponto flutuante

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:

Page 3: Erro na aritmética de ponto flutuante

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… .𝑑𝑡)𝛽 ∗ 𝛽

𝑒 → |𝑔𝑥| <12⁄

(0, 𝑑1𝑑2𝑑3… . 𝑑𝑡 + 1)𝛽 ∗ 𝛽𝑒 → |𝑔𝑥| ≥

12⁄

Page 4: Erro na aritmética de ponto flutuante

4

𝐸𝐴(𝑋) =

{ |𝑔𝑥| ∗ 𝛽

𝑒−𝑡 → |𝑔𝑥| <12⁄

|𝑔𝑥 − 1| ∗ 𝛽𝑒−𝑡 → |𝑔𝑥| ≥

12⁄(< 1 2⁄ ∗ 𝛽𝑒−𝑡)

𝐸𝑅(𝑋)

=

{

12⁄ ∗ 𝛽𝑒−𝑡

(0, 𝑑1𝑑2𝑑3… . 𝑑𝑡)𝛽 ∗ 𝛽𝑒, → |𝑔𝑥| <

12⁄

12⁄ ∗ 𝛽𝑒−𝑡

(0, 𝑑1𝑑2𝑑3… . 𝑑𝑡 + 1)𝛽 ∗ 𝛽𝑒, → |𝑔𝑥| ≥

12⁄

(≤ 12⁄ ∗ 𝛽𝑒−𝑡

(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;

Page 5: Erro na aritmética de ponto flutuante

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 𝑔𝑥 <12⁄ ,

assim:

𝐸𝐴(𝑥) = |𝑔𝑥| ∗ 𝛽𝑒−𝑡 = 0,89 ∗ 10−3

𝐸𝑅(𝑥) = 12⁄ ∗ 𝛽−𝑡+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.

Page 6: Erro na aritmética de ponto flutuante

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]';