Prof. Daniel G. Alfaro Vigo DCC IM UFRJ
|
|
- Thereza Nobre Palma
- 5 Há anos
- Visualizações:
Transcrição
1 ANOTAÇÕES DE CÁLCULO NUMÉRICO Prof. Daniel G. Alfaro Vigo DCC IM UFRJ
2 Noções básicas sobre erros e aritmética de ponto flutuante 1 Introdução A obtenção de uma solução numérica para um problema físico por meio da aplicação de métodos numéricos, nem sempre fornece resultados que se encaixam dentro de limites razoáveis. Isso se aplica mesmo quando o método é adequado e os cálculos são efetuados de uma maneira correta. Tal diferença ocorre devido aos erros acumulados na conversão dos números para o sistema aritmético da máquina e nas sucessivas operações realizadas, isso é inerente ao processo e, na maioria dos casos, não tem como ser evitado. Para entender um pouco melhor a fonte de erros, no processo de solução de um problema físico, por meio da aplicação de métodos computacionais, este processo pode ser representado num diagrama simplificado (figura 1). Problema físico validação modelagem Modelo matemático resolução Solução Figura 1: Diagrama para a resolução de problemas reais. Essencialmente, três fases podem ser identificadas no diagrama acima, a saber: I) a modelagem; II) a resolução e III) a validação. A modelagem é a fase de obtenção do modelo matemático que representa o comportamento do sistema físico em estudo. A resolução é a fase em que obtemos a solução do modelo matemático, que no escopo do presente texto, estaremos procurando uma aproximação da solução através de métodos numéricos. A validação é a fase em que analisamos os resultados e os confrontamos com os dados reais, para verificar se o modelo matemático se comporta de acordo com o esperado, ou se o método numérico adotado apresenta resultados compatíveis com a realidade do problema original. 1.1 Erros na fase de modelagem Ao se tentar representar um fenômeno do mundo real por meio de um modelo matemático, raramente se tem uma descrição exata do fenômeno. Muitas vezes, são feitas simplificações da realidade para que se obtenha um modelo matemático com o qual se possa trabalhar. Assim, ao obtermos os resultados numéricos, é primordial uma análise destes em relação à realidade (validação!). Às vezes, determinadas simplificação do problema podem conduzir a um modelo falso da realidade, neste caso, devemos procurar um outro modelo que esteja mais adequado a realidade. 1
3 1.2 Erros na fase de resolução Na resolução dos modelos matemáticos, muitas vezes é necessário o uso de instrumentos de cálculo (uma calculadora científica, ou mesmo um computador), que necessitam para seu funcionamento, de uma série de aproximações. Tais aproximações podem gerar erros que são propagados a cada operação que se realiza. Um exemplo é o sistema binário utilizado para a representação numérica, na maioria dos computadores. 2 Erros em processos de cálculo 2.1 Erros absoluto e relativo Começamos introduzindo como são avaliados de forma geral os erros cometidos num processo de aproximação. Seja x um número real e considere uma aproximação x para x. A diferença entre o valor exato e o aproximado E x = x x é chamada de erro absoluto. Nas aplicações é importante conhecer limitantes (estimativas) para o valor absoluto desse erro E x, sem importar se a aproximação foi para cima ou para baixo. Esta forma de definir o erro está relacionada com a distância entre os valores exato e aproximado. Quando x e x representam os valores de uma grandeza física, terão associados uma unidade, e o erro absoluto estará determinado na mesma unidade. Se mudamos a unidade de medição, os valores das grandezas e o erro também mudarão. Outra forma de medir o erro cometido, é através do erro relativo definido por ε x = E x x = x x x. Esta definição é mais apropriada quando estamos interessados em avaliar a qualidade da aproximação em relação ao número de dígitos corretamente aproximados. Em muitos casos o erro relativo pode ser aproximado como Ẽx x em que Ẽx é uma aproximação do erro absoluto. Alternativamente usá-se uma medida do erro relativo que não considera o sinal: x x x. Note que mesmo quando x e x representam os valores de uma grandeza que possui unidade física, o erro relativo ε x sempre será um número sem unidades. Muitas vezes o erro relativo é dado como uma porcentagem calculada como 100 ε x. Em muitas aplicações os erros são consequência do processo de aquisição de dados ou representam os erros acumulados devido a operações anteriores. Exemplo 1. Considere as seguintes aproximações a) x = 2, x = 1.41 = E x = , e ε x = b) x = 2011, x = = E x = , e ε x = Note que os erros absolutos nos dois casos são muito próximos, mas os erros relativos tem diferentes ordens de grandeza. Isto acontece porque no caso b) temos uma aproximação com maior precisão do que em a) (4 dígitos exatos no primeiro caso e apenas 3 no segundo caso). 2
4 Propagação do erro nas operações aritméticas A seguir estudamos como se propagam os erros quando realizamos operações aritméticas com números aproximados. Sejam x, y R e considere as aproximações x, ỹ. Se E x, E y, ε x, ε y representam os erros absolutos e relativos correspondentes a estas aproximações, vamos ter então que E x = xε x, E y = yε y, e x = x(1 ε x ), ỹ = y(1 ε y ). (1) Adição/Subtração. Da definição segue que para o erro absoluto E x+y vamos ter que E x+y = x + y ( x + ỹ) = (x x) + (y ỹ) logo E x+y = E x + E y E para o erro relativo chegamos em ε x+y = E x + E y x + y = xε x + yε y x + y = x x + y ε x + y x + y ε y Procedendo de maneira analoga no caso da subtração, temos em geral que E x±y = E x ± E y (2) e Multiplicação. Neste caso temos que ε x±y = x x ± y ε x ± y x ± y ε y, (3) x ỹ = x(1 ε x ) y(1 ε y ) = x y (1 ε x )(1 ε y ) = x y (1 ε x ε y + ε x ε y ) e então Logo ε x y = ε x + ε y ε x ε y. (4) E x y = y E x + x E y E x E y. (5) 3
5 Divisão. Neste caso, x ỹ = x(1 ε x) y(1 ε y ) ( ) 1 εx e então temos que Para o erro absoluto vamos ter que = x y 1 ε y = x ( ε ) x 1 y 1 ε y = x ( 1 ε ) x ε y y 1 ε y ε x/y = ε x ε y 1 ε y. (6) E x/y = y E x x E y y 2 y E y (7) Observação 2.1. Quando os erros ε x e ε y são pequenos vamos ter as aproximações ε x y ε x + ε y E x y y E x + x E y ε x/y ε x ε y E x/y y E x x E y y 2. Afirmação 2.1. Sejam dados os números reais x, y, e suas aproximações x, ỹ com erros relativos ε x, ε y tais que max{ ε x, ε y } = ɛ. Então: i). quando x e y possuem o mesmo sinal, ε x+y ɛ ii). quando x e y possuem sinais diferentes, ε x y ɛ iii). ε x y 2ɛ + ɛ 2 iv). quando y 0 e ɛ < 1, ε x/y 2ɛ 1 ɛ v). quando adicionalmente às condições dos itens anteriores o ɛ é pequeno, temos as seguintes aproximações 1 ε x y 2ɛ, ε x/y 2ɛ. Demonstração. i). De fato, x ε x+y = x + y ε x + y x + y ε y x x + y ε y x + x + y ε x y = x + y ε y x + x + y ε y ( ) x x + y ɛ + y x + y ɛ = x x + y + y x + y ɛ ε x+y ɛ. 1 Essas desigualdades aproximadas indicam que serão válidas desigualdades semelhantes mas com os valores das constantes ligeiramente maiores. 4
6 ii). É consequência do item anterior, usando que x y = x + ( y). iii). Neste caso, iv). Temos que ε x y = ε x + ε y + ε x ε y ε x + ε y + ε x ε y 2ɛ + ɛ 2. ε x/y = ε x ε y 1 + ε y mas ε y ɛ portanto 1 ε y 1 ɛ > 0, logo ε x + ε y 1 ε y 2ɛ 1 ε y ε x/y 2ɛ 1 ɛ. v). Sob a hipotese de ɛ pequeno o termo ɛ 2 será desprezível em iii) e chegamos em (2 + ɛ) ɛ 2ɛ. Em iv) como 2ɛ 1 ɛ observando que 1 2ɛ 1 ɛ 1 obtemos que 1 ɛ 2ɛ Logo na adição de números com o mesmo sinal o erro relativo não será amplificado, e também nas operações de multiplicação e divisão os erros pequenos não serão amplificados substancialmente. Em geral, apesar de que os erros podem se cancelar por causa dos seus sinais, quando fazemos uma sequência longa de cálculo eles se propagarão provocando aos poucos perdas na precisão do resultado. Por outro lado, quando subtraímos números com sinais iguais (ou somamos números com sinais diferentes) em algumas situações pode acontecer uma perda considerável da precisão. Veja que na equação (3) para o erro, temos os fatores x/(x y) e y/(x y) multiplicando os erros iniciais ε x e ε y. Se x e y são números muito próximos então o denominador nesses fatores fica próximo de zero. Logo, estes fatores podem alcançar valores muito grandes e provocar a amplificação dos erros inicias. Este fenômeno é conhecido como cancelamento catastrófico. Como conclusão podemos dizer que na subtração de dois números com o mesmo sinal (ou na soma de dois números com sinais diferentes) o erro pode ser amplificado e provocar uma grande perda da precisão. Isto acontece quando x e y são números muito próximos. Nas outras operações aritméticas erros pequenos são apenas ligeramente amplificados. 3 Aritmética de ponto flutuante Num computador é impossível representar todo o conjunto dos números reais R, pois a maior parte deles precisaria do uso de uma quantidade infinita de memória. No computador podemos apenas representar um subconjunto finito de R. 5
7 A maioria dos computadores modernos segue a norma IEEE 754, que especifica como deve ser feita a representação de números reais e como devem ser realizadas as operações aritméticas envolvendo esses números. Por causa das limitações físicas na representação dos números pode ser usada apenas uma quantidade finita de informação, e portanto será necessario fazer aproximações. O mostraremos um modelo simplificado da representação dos números no computador que nos ajudará a entender e avaliar os erros que aparecem nos processos computacionais. 3.1 Representação de números reais No dia a dia estamos acostumados a usar a representação decimal dos números (inteiros e reais), mas no computador usa-se frequentemente a representação binária. O uso da representação binária é muito apropriado em dispositivos eletrônicos. De modo geral, podemos fazer a representação de um número em qualquer base β 2 (β inteiro). De fato, todo número real pode ser representado na forma: ±(d e d e 1... d 0, d 1 d 2... ) β, onde e 0 é um inteiro, os dígitos d j {0, 1,..., β 1} e o sinal poderá ser + ou. A representação acima corresponde ao número real x = ± ( d e β e + d e 1 β e d 0 β 0 + d 1 β 1 + d 2 β 2 + ). Por exemplo para o número 4 3 (quatro terços) temos as seguintes representações decimal e binária: (1, ) 10, (1, ) 2. Mostramos a seguir, como fazer a representação (ou conversão) de um número real x em uma base qualquer β. Note primeiramente que o número x pode ser decomposto na forma onde N 0 é inteiro, e 0 f < 1 é real, ou seja x = N + f, N = parte inteira( x ), e f = parte fracionária( x ), portanto temos que N = (d e d e 1... d 0 ) β, f = (0, d 1 d 2... ) β. É claro que basta obter as representações de N e f na base β, e depois junta-las. Começamos com a parte inteira. Considerando a divisão com resto de N por β, temos por outro lado N = β N 0 + r 0, N = d e β e + d e 1 β e d 1 β + d 0 = β [d e β e 1 + d e 1 β e d 1 ] + d 0 e como 0 d 0 β 1 comparando a pripeira e a última expressão obtemos que N 0 = d e β e 1 + d e 1 β e d 1 = (d e d e 1... d 1 ) β 6
8 e r 0 = d 0. Identificamos o dígito das unidades d 0 como o resto na divisão de N por β. Note que então d 1 passa a ser o dígito das unidades para N 0, logo coincide com o resto na divisão de N 0 por β, e assim por diante. Temos então N = β N 0 + r 0, = d 0 = r 0 N 0 = β N 1 + r 1, = d 1 = r 1 N e 2 = β N e 1 + r e 1, = d e 1 = r e 1 N e 1 = β N e + r e, = d e = r e, N e = 0. Como N e = 0, não é preciso continuar aplicando a divisão com resto pois chegaríamos em d e+1 = d e+2 = = 0. Então, aplicando a divisão com resto recursivamente vamos obter a representação de N, após um número finito de passos. Passamos a obter a representação de f. Note que β f = β [d 1 β 1 + d 2 β 2 + ] = d 1 + d 2 β 1 + d 3 β 2 = d 1 + f 1. onde f 1 = d 2 β 1 + d 3 β 2. Como d 1 0 é inteiro e 0 f 1 < 1 temos que d 1 e f 1 correspondem às partes inteira e fracionária de β f, respectivamente. Da mesma forma temos que β f 1 = β [d 2 β 1 + d 3 β 2 + ] = d 2 + d 3 β 1 + d 4 β 2 = d 2 + f 2. onde d 2 e f 2 = d 3 β 1 +d 4 β 2 são as partes inteira e fracionária de β f 1, respectivamente. Logo a identificação dos dígitos de f é feita através do seguinte processo d 1 = parte inteira(β f), f 1 = parte fracionária(β f) d 2 = parte inteira(β f 1 ), f 2 = parte fracionária(β f 1 ) d 3 = parte inteira(β f 2 ), f 3 = parte fracionária(β f 2 ) Note que como f pode conter um número infinito de dígitos, para concluir esse processo podemos precisar de um número infinito de passos. Para concluir a representação do número x juntamos as representações obtidas e colocamos o sinal correspondente. Exemplo 2. Determine a representação binária dos números a) x = 23 4 e b) x = 4 5. a) Devemos achar a representação de x = Note que 23 4 = , e começamos pela representação da parte inteira N = 5. Como β = 2 temos que 5 = = d 0 = 1 2 = = d 1 = 0 1 = = d 2 = 1 7
9 logo 5 = (101) 2. Por outro lado como f = 3/4 obtemos 2 3/4 = 3/2 = 1 + 1/2 = d 1 = 1 2 1/2 = = d 2 = = = d 3 = d 4 = = 0 e então 3/4 = (0, 11) 2. Finalmente chegamos em x = 23/4 = (101, 11) 2. b) Neste caso como 0 < x < 1 temos que N = 0 e f = 4/5, logo 2 4/5 = 8/5 = 1 + 3/5 = d 1 = 1 2 3/5 = 6/5 = 1 + 1/5 = d 2 = 1 2 1/5 = 2/5 = 0 + 2/5 = d 3 = 0 2 2/5 = 4/5 = 0 + 4/5 = d 4 = 0. Note que f 4 = f e então a representação de f será periodica, portanto chegamos em 4/5 = (0, ) Sistemas de números de ponto flutuante Para entender como é feita esta representação considere um número real x 0 e uma base β 2. Como já vimos, este número pode ser escrito na forma x = ± [d e β e + d e 1 β e 1 ] = ± j e d j β j onde d e 0. Equivalentemente podemos escreve-lo como o produto x = ± [d e + d e 1 β d e j β j + ] β e. Isto no leva a seguinte representação para o número x = ( 1) s (d e, d e 1 d e 2... ) β β e = ( 1) s m β e onde m = (d e, d e 1 d e 2... ) β é chamado de mantissa, o número inteiro e é chamado de expoente, e o número s {0, 1} corresponde ao sinal do número (s = 0 + e s = 1 ). Essa forma de representar o número x é chamada de representação de ponto flutuante. Como d e 0, temos que 1 m < β e dizemos que a mantissa está normalizada ou que a representação de ponto flutuante está normalizada. Podemos considerar também representações não normalizadas. Por exemplo (8, 0) , (0, 8) , (0, 08) , (80, 0) são representações do número quatro quintos, mas apenas a primeira está normalizada. Exemplo 3. A representação normalizada dos números a) x = 23/4 e b) x = 4/5, na base β = 2 é dada a seguir. a) x = (101, 11) 2 = [ ] = [ ] 2 2 = (1, 0111) Para normalizar (101, 11) 2 a virgula foi deslocada duas posições para a esquerda e portanto temos o expoente e = 2. 8
10 b) x = (0, ) 2 = = [ ] 2 1 = (1, ) Nesse caso, para normalizar (0, ) 2 deslocamos a virgula uma posição para a direita pelo que temos o expoente e = 1. Todo número real diferente de zero possui uma única representação de ponto flutuante normalizada (irreduzível 2 ). Esta simples observação nos indica a grande relevância das representações normalizadas. Em particular, este tipo de representação é a chave para a representação de números reais no computador. De fato, como veremos a seguir, no computador usa-se a representação de ponto flutuante normalizada, mas considerando apenas uma quantidade finita de informação. Dados os números inteiros p > 0, E min e E max, com E min < E max. O conjunto dos números de ponto flutuante (normalizados) na base β, com precisão p e intervalo [E min, E max ] para o expoente consiste do subconjunto dos números reais definido por F = {x = ±(d 0, d 1... d p 1 ) β β e d 0 0, E min e E max } {0}. Notamos que apesar do número 0 (zero) não possuir uma representação normalizada ele está incluído nesse conjunto. Na figura 2 plotamos os 49 números de ponto flutuante correspondentes aos parâmetros β = 2, p = 3, E min = 2 e E max = 3. Os números com maior modulo são ±14, e os números diferentes de zero de menor modulo são ± 1 4. Note que a distância entre os números de ponto flutuante não é sempre constante, esta distância cresce quando o modulo cresce pelo que os números de maior modulo ficam mais separados uns dos outros. Observação 3.1. No caso geral, temos um total de 2(E max E min + 1)β p números e entre aqueles com expoente e, a separação é β e+1 p. O menor número de ponto flutuante (normalizado) diferente de zero em modulo é p dígitos {}}{ x min = ( 1, ) β β E min = β E min, entanto que o maior é p vezes {}}{ x max = ( β 1,... β 1) β β Emax [ = (β 1) β ] β p 1 β Emax ( ) 1 1 β = (β 1) p 1 1 β Emax β ( = β 1 ) β p 1 β Emax < β Emax+1. 2 A representação é reduzível se a mantissa contem uma sequência infinita de dígitos formada apenas por (β 1), em caso contrário dizemos que a representação é irreduzível. Todo número com representação reduzível terá associada uma única representação normalizada com mantissa finita. 9
11 Figura 2: Conjunto F dos números de ponto flutuante (normalizados), quando β = 2, p = 3, E min = 1 e E max = 2. Em a) mostramos todos os números e em b) mostramos um zoom do intervalo [ 5, 5]. Norma IEEE 754. Do ponto de vista interno para representar (físicamente) um número de ponto flutuante no computador temos que considerar seu sinal, sua mantissa e seu expoente. De forma geral, esta representação é feita de acordo com a norma IEEE 754, onde estão definidos diferentes tipos de números de ponto flutuante. Esta norma especifica que deve ser usada a base β = 2. Na tabela 1 apresentamos os valores dos outros parâmetros de acordo com esta norma. Precisão simples Precisão dupla p (Precisão) E min E max t (Bits para o expoente) 8 11 Total de Bits Tabela 1: Parâmetros para dados de ponto flutuante de acordo com a norma internacional IEEE 754. Num primeiro olhar, os dados nesta tabela podem parecer contraditórios! Considere o caso de precisão simples, como p = 24, usando um bit para cada dígito da mantissa mais os 8 bits do expoente, consumimos os 32 bits disponíveis. Então, onde será armazenado o sinal do número? A resposta é simples, notando que os números de ponto flutuante, exceto o zero, estão normalizados e como β = 2, vamos ter que d 0 = 1 (sempre!) e portanto não é necessário armazenar este dígito físicamente. Logo, apenas precisamos armazenar a parte fracionária da mantisssa que contém p 1 dígitos. Isto nos dá então = 31, pelo que temos um bit disponível para armazenar o sinal. Na figura 3, representamos gráficamente como é feito isto no computador para o caso de números de ponto flutuante de precisão simples. Vemos que a parte fracionária da mantissa ocupa os bits do 0 ao 22, o expoente é armazenado usando os bits do 23 ao 30, e o sinal (0 + e 1 ) armazena-se usando apenas o bit 31. Observe que o expoente e pode tomar valores negativos ou positivos. Não entanto, na sua representação interna evita-se usar um bit para o sinal, para isto internamente no espaço reservado para o expoente é armazenado o valor do expoente com excesso e = e E min
12 sinal expoente parte fracionária da mantissa Figura 3: Armazenamento dos números de ponto flutuante (precisão simples) de acordo com a norma IEEE 754. Assim de acordo com a norma IEEE 754, o número de ponto flutuante normalizado com parte fracionária da mantissa e expoente com excesso é armazenado internamente na forma onde x = ±(1 + f) 2 e f = d d d p 1 2 p 1, e = e 1 + e e t 2 t 1, [s e 1 e 2 e t d 1 d 2 d p 1 ] s = { 0, se o sinal de x é +, 1, se o sinal de x é. Vamos escrever então, a representação interna de x em forma compacta como sendo [s e f]. Note que quando E min e E max, temos que 1 e E max = E max E min + 1. Por exemplo, no caso de precisão simples temos que 1 e E max = 254, mas é fácil ver que usando 8 bits é possivel armazenar os números desde o 0 (zero) até o 255 = É natural se questionar: por quê os valores e = 0 e 255 não estão sendo aproveitados? Estos valores do expoente com excesso são aproveitados para representar o número zero que como já foi notado anteriormente, não possui uma representação normalizada, os infinitos ( e + ) e os números subnormalizados. O número zero possui duas representações internas especiais [s e f] com f = 0, e = 0, e s = 0 ou 1. Veja que a norma inclui duas representações para o zero, pois o sinal pode ser positivo ou negativo. Os infinitos são representados como [s e f] com f = 0, e = E max + 1(= 255 em precisão simples), s = 0 para o + e s = 1 para o. Sobre os números subnormalizados falaremos mais na frente (veja o parágrafo 3.3). Observação 3.2. O uso da mantissa normalizada permite uma representação única para cada número diferente de zero, o que é também uma vantagem, por exemplo, quando precisamos ordenar um subconjunto de números. O ordenamento é feito lexicograficamente: primeiro de acordo ao sinal, depois segundo o expoente, e finalmente pelo valor da parte fracionária das mantissas. É fácil ver que a representação especial do número zero conserva a ordem natural entre os números de ponto flutuante. Outra vantagem da base binária, é que temos um bit extra de precisão, ou seja que vamos ter uma precisão igual a p mas físicamente apenas usamos p 1 bits para representar a mantissa. 11
13 3.3 Truncamento e arredondamento No computador é possível apenas realizar operações com números de ponto flutuante, como este conjunto de números é finito existem números reais que não podem ser representados de forma exata. Por isso, é necessário aproximar ou converter um número real x num número de ponto flutuante x aprox. Passamos a discutir as duas formas básicas de fazer esta aproximação: por truncamento ou arredondamento. Vamos considerar o conjunto dos números de ponto flutuante com base β e precisão p (por enquanto não consideramos limites para o expoente). Truncamento (aproximação em direção ao zero). Seja o número real x 0. Como sabemos este número pode ser escrito na forma x = ( 1) s [d 0 + d 1 β d p 1 β (p 1) + d p β p + ] β e = ( 1) s m β e onde d 0 0 e m = (d 0, d 1... d p 1 d p... ) β. O truncamento consiste em usar apenas os p primeiros dígitos da mantissa normalizada m na base β, ou seja que x trunc = ( 1) s (d 0, d 1... d p 1 ) β β e = ( 1) s [d 0 + d 1 β d p 1 β (p 1) ] β e. Temos em particular que se x F \{0} (ou seja x 0 é um número de ponto flutuante) então x trunc = x. Esta simples observação nos ajuda a completar a definição: se x = 0 então x trunc = 0. Uma consequência imediata desta definição é que x = x trunc + ( 1) s g β e p onde g = d p + d p+1 β d p+j β j + satisfaz 0 g β. Arredondamento (aproximação para o número mais próximo). Para o número real x, na base β com precisão p, temos que x = x trunc + ( 1) s g β e p onde e é o expoente de x, s é o sinal, e 0 g β. Definimos então { x trunc, se g < β/2, ou g = β/2 e d p 1 é par x arred = x trunc + ( 1) s β e p+1 (8), se g > β/2, ou g = β/2 e d p 1 é ímpar. No arredondamento aproximamos o número x pelo número de ponto flutuante mais próximo a ele. Note que x está contido no intervalo (fechado) definido pelos números de ponto flutuante x trunc e x trunc + ( 1) s β e p+1, e que no interior desse intervalo não tem nenhum outro número de ponto flutuante. As distâncias entre x e x trunc, e entre x e x trunc + ( 1) s β e p+1 são e l 1 = x x trunc = ( 1) s g β e p = g β e p l 2 = x (x trunc + ( 1) s β e p+1 ) = ( 1) s g β e p ( 1) s β e p+1 = ( 1) s (g β) β e p = (β g) β e p, respectivamente. Portanto, x estará mais próximo de x trunc quando l 1 < l 2 g β e p < (β g) β e p g < β/2 12
14 e nesse caso (g < β/2) usamos x trunc como aproximação. No caso contrário (g > β/2), o outro extremo do intervalo ficará mais próximo de x e usamos x trunc + ( 1) s β e p+1 como aproximação. No caso quando l 1 = l 2, ou seja g = β/2 arredonda-se para o número com o dígito menos significativo par. 3 A seguir estudaremos a representação em ponto flutuante de x arred com ênfase no caso segundo caso em (8). Temos que então x arred = ( 1) s [d 0 + d 1 β d p 1 β (p 1) ] β e + ( 1) s β e p+1 = ( 1) s [d 0 + d 1 β (d p 1 + 1) β (p 1) ] β e = ( 1) s m β e. onde m = d 0 + d 1 β (d p 1 + 1) β (p 1). Obviamente, quando d p 1 β 1 obtemos que x arred = ( 1) s (d 0, d 1... d p ) β β e. }{{} (p 1)-ésimo Considere agora que d j = β 1 para 0 q < j p 1 e d q β 1, ou seja d q+1 = d q+2 = = d p 1 = β 1. Então e então m = d d q β q + d q+1 β (q+1) + + d p 1 β (p 1) + β (p 1) = d d q β q + (β 1) [β (q+1) + + β (p 1) ] + β (p 1) = d d q β q + (β 1) β (p 1) [β (p 1) (q+1) + + 1] + β (p 1) [ ] = d d q β q + (β 1) β (p 1) β p (q+1) 1 + β (p 1) β 1 = d d q 1 β (q 1) + (d q + 1) β q p dígitos {}}{ x arred = ( 1) s ( d 0,... d q 1 d q ) β β e. }{{} q-ésimo Finalmente, quando d j = β 1, para 0 j p 1 temos que m = d d p 1 β (p 1) + β (p 1) = (β 1) [1 + + β (p 1) ] + β (p 1) = (β 1) β (p 1) [β p ] + β (p 1) [ β = (β 1) β (p 1) p ] 1 + β (p 1) β 1 = β, logo p dígitos {}}{ x arred = ( 1) s ( 1, ) β β e+1. 3 Esse procedimento pode ser chamado de regra do dígito par. 13
15 Em conclusão, neste segundo caso definindo q = max{q 0 q p 1, d q β 1} temos que p dígitos {}}{ ( 1) s ( 1, ) β β e+1, se d j = β 1 para 0 j p 1 p dígitos x arred = {}}{ ( 1) s ( d 0,... d q 1 d q ) β β e, em que q = max{q 0 q p 1, d q β 1}. }{{} q-ésimo Exemplo 4. Aproxime os números x = 23/4 e y = 4/5, por truncamento e arredondamento na base β = 2, com precisão a) p = 3 e b) p = 4. a) Precisão p = 3 Para x = 23/4 temos que e para y = 4/5 x = (101, 11) 2 = (1, 0111) x trunc = (1, 01) x arred = [(1, 01) 2 + (0, 01) 2 ] 2 2, pois g = (1, 1) 2 > 2/2 = 1 x arred = (1, 10) b) Precisão p = 4 Underflow e overflow. y = (0, ) 2 = (1, ) y trunc = (1, 10) y arred = (1, 10) 2 1, pois g = (0, ) 2 < 1 x = (101, 11) 2 = (1, 0111) x trunc = (1, 011) x arred = [(1, 011) 2 + (0, 001) 2 ] 2 2, pois g = (1) 2 = 2/2 = 1 e d 3 = 1 x arred = (1, 100) y = (0, ) 2 = (1, ) y trunc = (1, 100) y arred = [(1, 100) 2 + (0, 001) 2 ] 2 1, pois g = (1, ) 2 > 1 y arred = (1, 101) Existem números reais que não podem ser aproximados por números de ponto flutuante, pois ao fazermos o arredondamento ou o truncamento temos uma representação com expoente fora dos limites E min e E max. Quando e < E min temos um underflow e se e > E max um overflow. 14
16 Underflow gradual e números subnormalizados. Na norma IEEE 754 uma forma de aliviar os problemas de underflow, consiste na introdução do underflow gradual mediante o uso de números subnormalizados. Um número subnormalizado possui a representação interna [s e f] com o expoente com excesso e = 0, e está associado ao número real x = ( 1) s f 2 E min. Então, vamos ter que ( 1 x ) ( 2 p 1 2 E min = 1 1 ) 2 p 1 2 E min < x min = 2 E min, portanto os números subnormalizados permitem preencher de uma forma gradual os buracos existentes entre o zero e ±x min. 3.4 Erros na aproximação de ponto flutuante Estudaremos a seguir o comportamento dos erros de truncamento e arredondamento. Considere um sistema de números de ponto flutuante na base β com precisão p (por enquanto não consideramos limites para o expoente). Seja um número real x 0, temos que onde d 0 0. Logo x = ( 1) s [d 0 + d 1 β d p 1 β (p 1) + d p β p + ] β e onde x trunc = ( 1) s (d 0, d 1... d p 1 ) β β e, e 0 g β. x = x trunc + ( 1) s g β e p (9) Erros no truncamento. Neste caso temos que x aprox = x trunc, portanto E x = x x aprox = ( 1) s g β e p. Daí chegamos na seguinte estimativa para o erro absoluto Para o erro relativo temos que ε x = E x x = = E x = g β e p β e p+1. ( 1) s g β e p ( 1) s [d 0 + d 1 β d j β j + ] β e g β p d 0 + d 1 β d j β j + e então como d 0 1 e 0 g β obtemos que 0 ε x ɛ maq = β p+1. O número ɛ maq (= β p+1 ) é conhecido como epsilon da máquina 4, pela norma IEEE 754 em precisão simples temos que ɛ maq = e em precisão dupla ɛ maq = Usualmente o epsilon da máquina é definido como o menor número de ponto flutuante ɛ maq > 0 tal que 1 ɛ maq 1 15
17 Erros no arredondamento. Para o arredondamento temos que { x trunc, se g < β/2, ou g = β/2 e d p 1 é par x aprox = x trunc + ( 1) s β e p+1, se g > β/2, ou g = β/2 e d p 1 é ímpar. Note que no primeiro caso os erros seram iguais que no truncamento. Por outro lado, para o segundo caso usando a equação (9) temos que e então E x = Portanto obtemos que e daí notando que segue que E x = x x aprox = (x trunc + ( 1) s g β e p ) (x trunc + ( 1) s β e p+1 ) = ( 1) s (g β e p β e p+1 ) = ( 1) s (g β)β e p, { ( 1) s g β e p, ( 1) s (β g) β e p, E x = β e p se g < β/2, ou g = β/2 e d p 1 é par se g > β/2, ou g = β/2 e d p 1 é ímpar. { g, se g < β/2, ou g = β/2 e d p 1 é par β g, se g > β/2, ou g = β/2 e d p 1 é ímpar., g β/2 = β g β/2 E x 1 2 βe p+1. Para o erro relativo no segundo caso, quando g > β/2, ou g = β/2 e d p 1 é ímpar, vamos ter que logo ε x = ε x = = Finalmente obtemos a limitante E x ( 1) s [d 0 + d 1 β d j β j + ] β e ( 1) s (g β) β e p ( 1) s [d 0 + d 1 β d j β j + ] β e (β g) β p = d 0 + d 1 β d j β j +, g β p d 0 +d 1 β 1 + +d j β +, j (β g) β p d 0 +d 1 β d j β +, j se g < β/2, ou g = β/2 e d p 1 é par se g > β/2, ou g = β/2 e d p 1 é ímpar. ε x 1 2 ɛ maq = 1 2 β p+1. Resumindo os resultados obtidos nesta seção temos que no truncamento = 0 ε x ɛ maq, (10) no arredondamento = ε x ɛ maq 2. (11) 16
18 Observação 3.3. Note que as estimativas para os erros relativos (no truncamento ou arredondamento) dependem apenas da base β e da precisão p do sistema de números de ponto flutuante escolhido através de ɛ maq. Ou seja que os erros relativos estão uniformemente limitados. Esta é mais uma das razões pela qual o sistema de ponto flutuante é usado nos computadores. Além disso, quando usamos o arredondamento esta limitante diminui pela metade, logo em geral o arredondamento nos dá uma melhor aproximação. 3.5 Operações aritméticas de ponto flutuante As operações aritméticas entre números reais no computador são realizadas de forma aproximada, pois como já sabemos existem números reais que não podem ser representados de forma exata. A norma IEEE 754, indica como essas operações devem ser realizadas. Nesse sentido, o principal objetivo desta norma é garantir a portabilidade dos códigos computacionais que realizam operações de cálculo em ponto flutuante, ou seja, que as operações aritméticas de ponto flutuante gerem os mesmos resultados independentemente da máquina e a linguagem de programação utilizados (sempre que o fabricante do computador e a linguagem adotem as especificações da norma). Por exemplo, para a soma x + y de dois números de ponto flutuante a norma IEEE 754 indica que devemos: 1. calcular z = x + y; 2. aproximar z por um número de ponto flutuante usando arredondamento. Assim, o resultado final da operação será o número de ponto flutuante (x + y) arred. Segundo a norma as outras operações aritméticas elementares devem ser realizadas de forma analoga. Representando a operação de arredondamento de um número real x mediante fl(x), temos a função fl : R F tal que x R, fl(x) = x arred. Dessa forma as operações aritméticas no computador (seguindo a norma IEEE 754) podem ser modeladas através das operações aritméticas de ponto flutuante definidas por x y def = fl(x + y), x, y F x y def = fl(x y), x, y F x y def = fl(x y), x, y F x y def = fl(x/y), x, y F. Observamos então que no computador a operação aritmética x y em que o operador aritmético {+,,, /} e x, y F, será aproximada pelo número x y. Portanto, vamos ter que o erro relativo ε x y quando fazemos a aproximação x y x y está apenas associado ao processo de arredondamento e satisfaz a limitante ε x y ɛ maq /2. Na prática, os problemas com a precisão dos cálculos é causada pela acumulação e a propagação dos erros. Em geral, quando realizamos um cálculo no computador os dados usados não são exatos pois representam valores aproximados. Essas aproximações podem ser resultado do arredondamento dos dados no computador, do processo de aquisição dos dados ou da acumulação dos erros produzidos nas etapas anteriores. 3.6 Acumulação de erros na aritmética de ponto flutuante Nesta seção vamos determinar o erro acumulado após relizadas as operações aritméticas elementares de ponto flutuante, considerando que os dados de entrada (números de ponto flutuante) apenas representam aproximações dos valores exatos. 17
19 Suponha que x, y representam um par números reais que precisamos somar, mas que apenas conhecemos os eus valores aproximados x, ỹ que são números de nosso sistema de ponto flutuante. Nessas condições iremos calcular a aproximação x ỹ x + y. Vamos analisar qual é a forma do erro relativo associado a essa aproximação. Observando que x ỹ = fl( x + ỹ), nesta operação é introduzido o erro relativo ε arred x+ỹ devido ao arredondamento. Temos então que ε acum x+y x ỹ = ( x + ỹ)(1 ε arred x+ỹ ). Por outro lado, x + ỹ representa uma aproximação para x + y, e temos associado um erro relativo ε dados x+y. A forma explicita desse erro foi apresentada em (3), e depende dos valores e erros associados com os dados x, y, e por isso escrevemos a palavra dados nessa notação. De qualquer forma a seguinte expressão é válida x + ỹ = (x + y)(1 ε dados x+y ). A partir daí obtemos que donde segue que x ỹ = ( x + ỹ)(1 ε arred x+ỹ ) = (x + y)(1 ε dados x+y )(1 ε arred x+ỹ ) = (x + y)(1 ε dados x+y ε acum x+y = ε dados x+y + ε arred x+ỹ ε arred x+ỹ + ε dados x+y ε arred x+ỹ ) ε dados x+y ε arred x+ỹ. Resultados semelhantes são válidos para qualquer operação aritmética, ou seja se {+,,, /}, então ε acum x y = ε dados x y + ε arred x ỹ ε dados x y ε arred x ỹ. (12) Levando em conta que o erro de arredondamento é sempre pequeno ( ε arred x ỹ ɛ maq/2) obtemos a aproximação ε acum x y ε dados x y + ε arred x ỹ. Podemos concluir que o erro acumulado poderá crescer descontroladamente apenas quando a operação aritmética usada propaga de forma prejudicial os erros dos dados. Lembramos que o único caso em que pequenos erros nos dados podem ser amplificados descontroladamente em apenas uma operação aritmética, é aquele em que acontece um cancelamento catastrófico. No caso geral, é fácil obter as seguintes estimativas, como consequência imediata da afirmação 2.1 e da equação (12). Afirmação 3.1. Sejam dados os números reais x, y, e as aproximações de ponto flutuante x, ỹ com erros relativos ε x, ε y tais que max{ ε x, ε y } = ɛ. Então: i). quando x e y possuem o mesmo sinal, ε acum x+y 1 2 ɛ maq + ( ɛ maq) ɛ ii). quando x e y possuem sinais diferentes, ε acum x y 1 2 ɛ maq + ( ɛ maq) ɛ iii). ε acum x y 1 2 ɛ maq + ( ɛ maq)(2 + ɛ) ɛ iv). quando y 0 e ɛ < 1, ε acum x/y 1 2 ɛ maq + (2 + ɛ maq ) ɛ 1 ɛ v). quando adicionalmente às condições dos itens anteriores o ɛ é pequeno (da mesma ordem que ɛ maq ), temos as aproximações ε acum x±y 1 2 ɛ maq + ɛ, ε acum x y 1 2 ɛ maq + 2ɛ, ε acum x/y 1 2 ɛ maq + 2ɛ. 18
20 Exemplo 5. Considere o cálculo da função 1 + x 1 f(x) =, x para x > 0. (13) No cálculo do numerador vamos ter um cancelamento catastrófico quando x é pequeno. Uma forma de se evitar está situação consiste em transformar algebricamente a expressão acima em uma equivalente. Como 1 + x 1 vamos ter que x = 1 + x 1 x f(x) = 1 + x x + 1 = x + 1, x + 1. (14) Na tabela 2 comparamos os resultados obtidos com precisão dupla usando as equações (13) e (14) e o resultado com 15 dígitos exatos, para diferentes valores de x. A diferença é notável, o uso da equação (13) dá resultados cada vez menos acurados quando x se aproxima de zero, o erro relativo atinge valores muito grandes comparados com ɛ maq ( ). Na figura 4 os erros relativos divididos por ɛ maq são plotados para diferentes valores de x [10 15, 1]. O exemplo anterior mostra que em algumas situações é possível evitar a amplificação catastrófica dos erros iniciais, transformando apropriadamente as expressões a serem calculadas. x 1+x 1 x x 15 dígitos exatos Tabela 2: Comparação dos resultados para diferentes valores de x, usando as duas expressões acima (os dígitos coloridos podem ser considerados exatos na precisão correspondente). 3.7 Um desastre provocado por erros de arredondamento O 25 de fevereiro de 1991, durante a guerra do Golfo, uma bateria de mísseis (MIM-104 Patriot) americana falhou e não conseguiu rastrear e interceptar um míssil Scud lançado pelas tropas iraquianas. Esse míssil acabou atingindo um quartel do exército e provocando a morte de 28 soldados americanos e ferindo outros 98. No relatório da U. S. General Accounting Office sobre o caso (disponível aqui) prova-se que essa falha foi resultado da perda de precisão nos cálculos realizados pelo software que operava a bateria. A bateria de mísseis era equipada com um radar para a detecção dos alvos e um computador. O computador usado (era baseado em um modelo do ano 1970) possuía capacidade relativamente limitada para realizar cálculos de alta precisão. Assim, quando o software usou a informação do relógio que contava o tempo em décimos de segundos para calcular o tempo em segundos, por causa dos erros de arredondamento o radar procurou na região errada e não conseguiu rastrear o míssil. 19
21 Figura 4: Erro relativo ε f(x) /ɛ maq para diferentes valores de x, (x [10 15, 1]) quando usamos a expressão (13). Os eixos do gráfico são mostrados em uma escala logarítmica. O tempo em segundos foi calculado multiplicando por 1/10, e como o computador não usava a representação de ponto flutuante (IEEE 754), este número foi aproximado pela sua representação binária truncada com 24 dígitos, ou seja que produz o erro 1 10 = (0, ) 2 (0, ) 2, E = (1, ) = 2 20 /10 9, A bateria estava em funcionamento por aproximadamente 100 horas, assim no cálculo do tempo em segundos foi cometido um erro de aproximadamente 0, 34 segundos ( , , 34). Levando em conta que a velocidade de um míssil Scud é aproximadamente de 1676 m/s, o erro propagado no cálculo do posicionamento foi de aproximadamente 570 metros. Portanto, o sistema de rastreamento procurou pelo míssil na posição errada e não foi possível intercepta-lo. Nesta página web são relatados outros desastres atribuídos a erros numéricos. 20
Erros e Aritmética de ponto flutuante
Cálculo Numérico Noções básicas sobre erros Aritmética de ponto flutuante Prof. Daniel G. Alfaro Vigo dgalfaro@dcc.ufrj.br DCC IM UFRJ Parte I Noções básicas sobre erros Introdução Validação Modelagem
Leia maisEstudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução:
MATEMÁTICA ICET UFMT Clculo Numrico Licenciatura Plena em Matemática Prof. Geraldo Lúcio Diniz Estudo de erros 1. Introdução A obtenção de uma solução numérica para um problema físico por meio da aplicação
Leia maisCálculo Numérico Noções básicas sobre erros
Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo
Leia maisHome Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:
Curso de Cálculo Numérico Professor Raymundo de Oliveira Home Programa Exercícios Provas Professor Links Capítulo 2 - Representação binária de números inteiros e reais 2.1 Representação de um número na
Leia maisCálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números
Cálculo Numérico IPRJ/UERJ Sílvia Mara da Costa Campos Victer ÍNDICE Aula 1- Introdução Representação de números Conversão de números Aritmética de ponto flutuante Erros em máquinas digitais Aula 1 - Introdução
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:
Leia maisCálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.
CÁLCULO NUMÉRICO Cálculo Numérico Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações Problema Físico Modelo Matemático Solução Cálculo Numérico
Leia maisERRO DE ARREDONDAMENTO E TRUNCAMENTO
CONCEITO DE ERRO A noção de erro está presente em todos os campos do Cálculo Numérico. De um lado, os dados, em si, nem sempre são exatos e, de outro lado, as operações sobre valores não exatos propagam
Leia maisMétodos Numéricos - Notas de Aula
Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 1. Representação de números reais 1.1. Introdução Cálculo Numérico X Método Numérico CI202 - Métodos Numéricos 1 1. Representação
Leia maisUniversidade Federal do Espírito Santo - UFES
Universidade Federal do Espírito Santo - UFES Centro Universitário Norte do Espírito Santo - CEUNES Departamento de Matemática Aplicada - DMA Prof. Isaac P. Santos - 2018/1 Aula: Erros e Aritmética de
Leia maisCálculo Numérico. Erros em processamento Numéricos
Cálculo Numérico Erros em processamento Numéricos Agenda Introdução a Erros Mudança de Base Erros de representação Erro de arredondamento Erro de absoluto Erro relativo Erro de truncamento Propagação do
Leia maisRepresentação e erros numéricos
Representação e erros numéricos Marina Andretta ICMC-USP 29 de fevereiro de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta (ICMC-USP) sme0500 - cálculo numérico
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 08/2014 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:
Leia maisRepresentação e erros numéricos
Representação e erros numéricos Marina Andretta ICMC-USP 27 de fevereiro de 2013 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta (ICMC-USP) sme0500 - Cálculo Numérico
Leia maisRepresentação e erros numéricos
Representação e erros numéricos Marina Andretta / Franklina Toledo ICMC-USP 25 de fevereiro de 2015 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta / Franklina Toledo
Leia maisMatemática Computacional. Edgard Jamhour
Matemática Computacional Edgard Jamhour Definição A matemática computacional é uma área da matemática e da computação que trata do desenvolvimento de modelos matemáticos, para o tratamento de problemas
Leia maisRepresentação e erros numéricos
Representação e erros numéricos Marina Andretta/Franklina Toledo ICMC-USP 03 de Agosto de 2012 Baseado no livro Análise Numérica, de R. L. Burden e J. D. Faires. Marina Andretta/Franklina Toledo (ICMC-USP)
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano aratadano@utfpr.edu.br Aula 2 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aulas 5 e 6 03/2014 Erros Aritmética no Computador A aritmética executada por uma calculadora ou computador é diferente daquela
Leia maisétodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA
Leia maisMétodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina
Métodos Numéricos Erros Ponto Flutuante Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Representação Numérica O conjunto dos números representáveis em qualquer máquina é finito, e portanto
Leia maisCCI-22. Erros Erros de arredondamento, representação e de cálculo
CCI-22 Matemática Computacional Erros Erros de arredondamento, representação e de cálculo CCI-22 Tipos de erros Sistemas de ponto flutuante Arredondamentos Erros absolutos e relativos Dígitos significativos
Leia mais1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513 g) 923 2. Converta para a base binária, usando os métodos
Leia mais1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.
Computação Científica Folha Prática Computação Numérica 1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513
Leia maisFundamentos IV. Introdução a análise de erros. Gustavo Vinhal. August 12, Escola de Ciências Exatas e Computação
Fundamentos IV Introdução a análise de erros Gustavo Vinhal Escola de Ciências Exatas e Computação August 12, 2016 Como aparecem os erros na matemática? Objetivos da ciência Entender, modelar e simular
Leia maisInterpolação polinomial
Cálculo Numérico Prof. Daniel G. Alfaro Vigo dgalfaro@dcc.ufrj.br Departamento de Ciência da Computação IM UFRJ Motivação: População do Brasil Ano População (milhões) 1960 70, 992343 1970 94, 508583 1980
Leia maisPonto Fixo e Ponto Flutuante
Ponto Fixo e Ponto Flutuante Arquitetura de Computadores Introdução (1/2) É trivial para um computador atual tratar e operar com números inteiros. Entretanto, em muitas aplicações do dia a dia é necessário
Leia maisFolha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:
Computação Científica Folha Prática - Representação de Números e Erros 1. Representar os seguintes números decimais em binário com ponto fixo: a) 24 b) 197 c) 1001 d) 7,65 e) 8,963 f) 266,66 2. Obter os
Leia maisSistemas numéricos e a Representação Interna dos Dado no Computador
Sistemas numéricos e a Representação Interna dos Dado no Computador Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: http://www.inf.ufsc.br~silveira Material elaborado pelo prof
Leia maisTP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante
TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante Prof. Volmir Wilhelm Curitiba, 2015 Representação Numérica No sistema decimal X (10) = d 3 d 2 d 1 d 0 (número inteiro de 4 dígitos)
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Helcio Wagner
Leia maisUNIVERSIDADE EDUARDO MONDLANE MANUAL TEÓRICO
UNIVERSIDADE EDUARDO MONDLANE MÉTODOS NUMÉRICOS MANUAL TEÓRICO José A. Nhavoto, MSc Julho de 2011 Conteúdo 1 Noções básicas sobre erros 4 1.1 Introdução a erros.................................. 4 1.2
Leia maisCálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:
Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.
Leia maisCapítulo 1 - Erros e Aritmética Computacional
Capítulo 1 - Erros e Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa 1/ 26 Sumário 1 Definição
Leia maisConceitos e Princípios Gerais
Conceitos e Princípios Gerais Conceitos e Princípios Gerais Fases na resolução de problemas físicos Resolução do Modelo Matemático Conceitos Básicos de Cálculo Numérico Erros em Processos Numéricos Fases
Leia maisCCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
CCI-22 Matemática Computacional Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CCI-22 2) Erros de arredondamento Erros de representação e de cálculo CCI-22 Tipos de erros Sistemas de ponto flutuante
Leia maisCÁLCULO NUMÉRICO (CN)
CÁLCULO NUMÉRICO (CN) OBJETIVO: O estudo dos métodos de resolução numérica de problemas de matemática. 1. INTRODUÇÃO: A resolução de problemas envolve várias fases que podem ser assim estruturadas: Problema
Leia maisARQUITETURA DE COMPUTADORES
Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 REPRESENTAÇÃO DE DADOS: SÍMBOLO: Marca visual ou gráfica que representa um objeto que desejamos identificar
Leia maisNoções sobre Erros em Matemática Computacional
Noções sobre Erros em Matemática Computacional Sumário Representação de Números em Ponto Flutuante Erros em Expressões Definições Úteis Ponto Flutuante em Computadores Representação de Números em Ponto
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Sílvio Fernandes
Leia maisCálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:
Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.
Leia maisDessa forma pode-se transformar qualquer número em qualquer base para a base 10.
Sistemas de numeração e representação dos números Sistemas de Numeração e Somadores Binários I Base Numérica Um número em uma base qualquer pode ser representado da forma: N = An-1.B n-1 + An-2.B n-2 +...+
Leia maisAula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.
11 Aula 11 A Informação e sua Representação Ponto-Flutuante Prof. Dr. Dilermando Piva Jr. Site Disciplina: http://fundti.blogspot.com.br/ Em alguns tipos de cálculo, a faixa de variação dos números envolvidos
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Leia maisErros numéricos por Mílton Procópio de Borba
Erros numéricos por Mílton Procópio de Borba 1. Alguns problemas ao fazermos contas no computador Os problemas a seguir foram analisados num Pentium, com a ajuda de pequenos programas feitos em QBasic.
Leia maisErros em computações numéricas
Erros em computações numéricas Sérgio Galdino 1 2 1 POLI-UPE Escola Politécnica Universidade de Pernambuco 2 UNICAP Universidade Católica de Pernambuco Disciplinas: (1)Cálculo Numérico - (2)Cálculo Numérico
Leia maisFundamentos IV. Introdução a análise de erros. Clarimar J. Coelho. August 14, Departamento de Computação
Fundamentos IV Introdução a análise de erros Clarimar J. Coelho Departamento de Computação August 14, 2014 Clarimar (Departamento de Computação) Aula 2 August 14, 2014 1 / 40 Como aparecem os erros em
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 4 03/2014 Sistemas Numéricos Algarismos Significativos Os algarismos significativos de um número são aqueles que podem ser
Leia maisAula 9: Estouro e Representação em Ponto Flutuante
Aula 9: Estouro e Representação em Ponto Flutuante Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda
Leia maisAula 9: Estouro e Representação em Ponto Flutuante
Aula 9: Estouro e Representação em Ponto Flutuante Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Estouro e Ponto Flutuante FAC 1 / 43 Revisão
Leia maisPARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?
Leia maisEstouro e Representação em Ponto Flutuante
Estouro e Representação em Ponto Flutuante Cristina Boeres Insituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)
Leia maisRepresentação e Aritmética em Ponto Flutuante. 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227
Representação e Aritmética em Ponto Flutuante 35T12 Sala 3G4 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 Sistemas de Representação de Números no Computador Representação de números inteiros Dado um
Leia maisSME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011
SME0100 - CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS Agosto 2011 SME0100 - Cálculo Numérico I Ementa: 1) Representação de números no computador. Erros em métodos numéricos. 2) Soluções
Leia maisFundamentos. Capítulo 1
Capítulo 1 Fundamentos 1.1 Introdução Sempre que se pretende tratar algum problema cuja solução toma a forma do cálculo de um valor numérico é habitual ter de considerar não só conceitos de carácter mais
Leia maisA = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.
Capítulo 1 Números Reais 1.1 Conjuntos Numéricos Um conjunto é uma coleção de elementos. A relação básica entre um objeto e o conjunto é a relação de pertinência: quando um objeto x é um dos elementos
Leia maisAula 3 - Representação de Dados
Aula 3 - Representação de Dados Marcos A. Guerine Universidade Federal Fluminense mguerine@ic.uff.br Na aula passada... História dos sistemas de numeração Bases de numeração Conversão entre bases Conversão
Leia maisARQUITETURA DE COMPUTADORES
Representação de Dados Professor: Airton Ribeiro de Sousa E-mail: airton.ribeiro@faciplac.edu.br 1 Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos da
Leia maisCálculo Numérico Conceitos Básicos
Cálculo Numérico Conceitos Básicos Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/ 1 Princípios usados
Leia maisCapítulo 1 - Erros e Aritmética Computacional
Capítulo 1 - Erros e Carlos Balsa balsa@ipb.pt Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança 2 o Ano - Eng. Civil e Electrotécnica Carlos Balsa Métodos Numéricos 1/ 21 Sumário
Leia maisCálculo Numérico. Prof. Sérgio Queiroz 03/04/2014. Aula 2 Erros e Aritmética de Ponto Flutuante
Cálculo Numérico Prof. Sérgio Queiroz 03/04/2014 Aula 2 Erros e Aritmética de Ponto Flutuante Slides elaborados pelo Prof. Guilherme Amorim. A eles foram acrescentadas pequenas modificações Noções de Aritmética
Leia maisRepresentação de números Conversão de base b para base 10
Representação de números Conversão de base b para base 0 Números em base 0 0,,,, 8, 9, 0,,,, 9, 0,,, 99, 00, 0,, 47,, 999, 000, 00, 0 dígitos que constituem a base Valor depende da posição dos dígitos
Leia maisMétodo Analítico. Método Numérico
UFRN/CT/DCA Nota de Aula Introdução aos Métodos Computacionais e Estudo dos Erros Prof Anderson Cavalcanti Métodos Computacionais Contextualização Muitos problemas de engenharia consistem em obter uma
Leia maisINTRODUÇÃO. O processo de modelagem matemática para resolver problemas reais pode ser visto pelas seguintes etapas: Escolha de um Método Adequado
1 Métodos Numéricos INTRODUÇÃO O Cálculo Numérico, entendido com uma coletânea de métodos numéricos, consiste de uma poderosa ferramenta que nos auxilia na obtenção de soluções numéricas, em geral aproximadas,
Leia maisNúmeros binários e erros
Números binários e erros Alan Costa de Souza 14 de Agosto de 2017 Alan Costa de Souza Números binários e erros 14 de Agosto de 2017 1 / 1 Introdução Calcular a área de uma circunferência de 100 m de raio.
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 6 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte6.html Organização de Computadores I Aula 6 1/17 Tópicos Representação de números não-inteiros.
Leia maisIntrodução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 21 Representação de Números em
Leia maisRepresentação de números - Conversão de base b para base 10
Representação de números - Conversão de base b para base Números em base 0,,,, 8, 9,,,,, 9, 0,,, 99, 0,,, 47,, 999, 00, 0, dígitos que constituem a base Valor depende da posição dos dígitos centenas unidades
Leia maisRepresentação de números - Conversão de base b para base 10
Representação de números - Conversão de base b para base Números em base 0,,,, 8, 9,,,,, 9, 0,,, 99, 0,,, 47,, 999, 00, 0, dígitos que constituem a base Valor depende da posição dos dígitos centenas unidades
Leia maisErros, Precisão Numérica e Ponto Flutuante
Capítulo 3 Erros, Precisão Numérica e Ponto Flutuante No capítulo anterior introduzimos o conceito de variável em programação. Uma variável é basicamente um nome usado para se referir a algum conteúdo
Leia maisCapítulo 2. Representação de números em vírgula flutuante
Capítulo 2 Representação de números em vírgula flutuante Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Números inteiros Os computadores foram
Leia maisAproximações e Erros
Aproximações e Erros Lucia Catabriga e Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória,
Leia maisMatemática I. 1 Propriedades dos números reais
Matemática I 1 Propriedades dos números reais O conjunto R dos números reais satisfaz algumas propriedades fundamentais: dados quaisquer x, y R, estão definidos a soma x + y e produto xy e tem-se 1 x +
Leia maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Aritmética de Ponto Flutuante. 1. Da aritmética de Inteiros a aritmética de Pontos Flutuantes : Números inteiros deixam de representar uma parte
Leia maisCálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215
Cálculo Numérico - Mat 215 Prof. Dirceu Melo Prof. Dirceu Melo - MAT215 1 1ª AULA Introdução Sistemas Decimal e Binário Conversão de Sistemas de base Sistema Aritmético de Ponto Flutuante INTRODUÇÃO 3
Leia maisDerivadas Parciais Capítulo 14
Derivadas Parciais Capítulo 14 DERIVADAS PARCIAIS 14.2 Limites e Continuidade Nesta seção, aprenderemos sobre: Limites e continuidade de vários tipos de funções. LIMITES E CONTINUIDADE Vamos comparar o
Leia maisPonto Flutuante IEEE 754
Exemplo 1: Converter 25,5 em binário 1ª Etapa: Transformar o número em algo parecido om 1,### x 2 ### Isso é alcançado através de divisões ou multiplicações. No caso do exemplo, divisões, pois o número
Leia maisMAT Laboratório de Matemática I - Diurno Profa. Martha Salerno Monteiro
MAT 1511 - Laboratório de Matemática I - Diurno - 2005 Profa. Martha Salerno Monteiro Representações decimais de números reais Um número real pode ser representado de várias maneiras, sendo a representação
Leia maisCálculo Numérico. Profº Ms Ademilson Teixeira IFSC
1 Cálculo Numérico Profº Ms Ademilson Teixeira Email: ademilson.teixeira@ifsc.edu.br IFSC 2 Cálculo Numérico Introdução O que é o Cálculo Numérico? Cálculo Numérico Introdução 3 O Cálculo Numérico corresponde
Leia maisAula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)
Leia maisCálculo Numérico Prof. Guilherme Amorim 24/10/2013. Aula 2 Erros e Aritmética de Ponto Flutuante
Cálculo Numérico Prof. Guilherme Amorim 24/10/2013 Aula 2 Erros e Aritmética de Ponto Flutuante Noções de Aritmética de Máquina Representação de Números... P = 3.141592653589793238462643383279502884197169399375105820974944
Leia maisInformática I. Aula Aula 22-12/11/2007 1
Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-12/11/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript
Leia maisSemana 3 Erros de Representação
1 CÁLCULO NUMÉRICO Semana 3 Erros de Representação Professor Luciano Nóbrega UNIDADE 1 2 ERROS DE REPRESENTAÇÃO Vejamos alguns erros decorrentes: 1º) Erro na fase de modelagem São os erros que ocorrem
Leia maisMonster. Concursos. Matemática 1 ENCONTRO
Monster Concursos Matemática 1 ENCONTRO CONJUNTOS NUMÉRICOS Conjuntos numéricos podem ser representados de diversas formas. A forma mais simples é dar um nome ao conjunto e expor todos os seus elementos,
Leia maisBaseado nos slides de Anna Tostes SISTEMA NUMÉRICO
Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO 1 Sumário 1. Sistema Numérico 2. Notação Posicional Sistema Decimal Sistema Binário Sistema Octal Sistema Hexadecimal 3. Conversão entre Bases 4. Operações
Leia maisSistemas Digitais INE 5406
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 5406 Aula 10-P Refinamento das especificações
Leia maisErros META OBJETIVOS. 2.1 Erros
Erros META Conceituar o erro, as fontes e formas de expressar estes erros, propagação dos erros em operações aritméticas fórmula geral e problema inverso. OBJETIVOS Resolver problemas práticos de erros
Leia maisCálculo Diferencial e Integral I
Cálculo Diferencial e Integral I Prof. Lino Marcos da Silva Atividade 1 - Números Reais Objetivos De um modo geral, o objetivo dessa atividade é fomentar o estudo de conceitos relacionados aos números
Leia maisPROJETO KALI MATEMÁTICA B AULA 3 FRAÇÕES
PROJETO KALI - 20 MATEMÁTICA B AULA FRAÇÕES Uma ideia sobre as frações Frações são partes de um todo. Imagine que, em uma lanchonete, são vendidos pedaços de pizza. A pizza é cortada em seis pedaços, como
Leia maisf(h) δ h p f(x + h) f(x) (x) = lim
Capítulo 6 Derivação numérica Nesta seção vamos desenvolver métodos para estimar a derivada de uma função f calculada em um ponto x, f (x, a partir de valores conecidos de f em pontos próximos ao ponto
Leia maisConjuntos. Notações e Símbolos
Conjuntos A linguagem de conjuntos é interessante para designar uma coleção de objetos. Quando os estatísticos selecionam indivíduos de uma população eles usam a palavra amostra, frequentemente. Todas
Leia mais3. Limites e Continuidade
3. Limites e Continuidade 1 Conceitos No cálculo de limites, estamos interessados em saber como uma função se comporta quando a variável independente se aproxima de um determinado valor. Em outras palavras,
Leia maisCircuitos Lógicos. Prof. Odilson Tadeu Valle
Representações Binárias Circuitos Lógicos Prof. Odilson Tadeu Valle Instituto Federal de Santa Catarina IFSC Campus São José odilson@ifsc.edu.br 1/33 Conteúdo programático 1 Sistemas de numeração 2 Conversão
Leia maisMAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação
Representação de dados e sistemas de numeração MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação Todo o material
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 9 Aritmética do computador slide 1 Unidade aritmética e lógica Faz os cálculos. Tudo o mais no computador existe para atender
Leia maisMatemática Computacional Ficha 1: Capítulo /19
Matemática Computacional Ficha 1: Capítulo 1 2018/19 I. Notação e revisão da matéria e x = x x (erro de x em relação a x) e x : erro absoluto de x δ x : erro relativo de x em relação a x, onde, para x
Leia maisArquitetura de Computadores
Arquitetura de Computadores Eduardo Albuquerque Adaptado do material do Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritmética Computacional Roteiro Números inteiros
Leia maisSistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração
Sistemas de Numeração Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Um sistema de numeração
Leia maisAULA 1 Introdução aos limites 3. AULA 2 Propriedades dos limites 5. AULA 3 Continuidade de funções 8. AULA 4 Limites infinitos 10
Índice AULA 1 Introdução aos limites 3 AULA 2 Propriedades dos limites 5 AULA 3 Continuidade de funções 8 AULA 4 Limites infinitos 10 AULA 5 Limites quando numerador e denominador tendem a zero 12 AULA
Leia mais