









Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Contém vários exercícios de métodos numéricos
Tipologia: Exercícios
1 / 16
Esta página não é visível na pré-visualização
Não perca as partes importantes!










Faculdade de Engenharia, Arquiteturas e Urbanismo – FEAU
Prof. Dr. Sergio Pilling (IPD/ Física e Astronomia)
Objetivos: Alertar o aluno sobre as dificuldades numéricas que podem ocorrer ao se trabalhar com um computador (ou qualquer outra maquina digital); Erros inerentes ao processo de tradução de números decimais para números binários.
Modelagem – Fase de obtenção de um modelo matemático que descreve o comportamento do problema que se quer estudar. Resolução – Fase de obtenção da solução do modelo matemático através da aplicação de métodos numéricos. Obs: Ambas as fases acima estao passíveis de erros.
De forma mais detalhada temos:
Não é raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução tenham sido realizadas corretamente. Os resultados obtidos dependem também: a) da precisão dos dados de entrada b) da forma como esses dados são representados no computador c) das operações numéricas efetuadas
I – Representação dos números, aritmética de ponto flutuante e erros em máquinas digitais.
Problema ou fenômeno
Modelo Modelagem matemático^ Resolução Solução
Levantamento de dados real
Problema real
Construção do modelo matemático
Escolha do método numérico adequado
Implementação computacional deste
Análise dos resultados
Se necessário: reformular o modelo matemático e/ou escolher novo método numérico
Os números empregados no calculo computacional podem ser de dois tipos: números inteiros e números em “ponto flutuante” (números reais da matemática, por exemplo 3.56 → 0.356 x 10 -1). Os computadores atuais representam os números internamente no formato binário, como uma seqüência de 0s e 1s. Apesar dessa representação ser conveniente para as maquinas é antinatural para os seres humanos, cujo sistema de numeração é o decimal. Obs. No passado o nosso sistema de numeração já foi também na base 12 (ex. contar nas falanges dos dedos) na base 60 (ex. sistema horário).
Em geral qualquer numero pode ser decomposto numa soma dos dígitos que o constitui (d) vezes potências da sua base (β) conforme indicado abaixo:
(N) (^) B = (dnd (^) n-1d (^) n-2 ....d (^) 0,d (^) -1d (^) -2 .... d (^) -m)β = d (^) nβn^ + d (^) n-1βn-1^ + d (^) n-2βn-2^ + ....+ d 0 β^0 + d (^) -1β-1^ + d (^) -2β-2^ + d (^) -mβ-m
Onde os dígitos dj pertencem aos números naturais e satisfazem a condição: 0 ≤ d (^) j ≤ (β-1)
Nesse caso todos os múltiplos e submúltiplos de um número são escritos com potencias de 10.
Ex1. 1537 = (1537) 10 = 1 x 10 3 + 5 x 10^2 + 3 x 10 1 + 7 x 10^0 36,189 = (36,189) 10 = 3 x 10 1 + 6 x 10 0 + 1 x 10 -1^ + 8 x 10 -2^ + 9 x 10 - 6,032x10 23 = (6,032x10^23 ) 10 = 6 x 10 23 + 0 x 10 22 + 3 x 10 21 + 2 x 10 20
Nesse caso todos os múltiplos e submúltiplos de um número são escritos com potencias de 2.
Ex2. (10111) 2 = 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 (10,1) 2 = 1 x 2 1 + 0 x 2 0 + 1 x 2 - Obs. Os computadores digitais operam basicamente com dois tipos de sinais de tensão: Alto e baixo. Matematicamente, pode-se expressar esses valores por 0 (baixo) e 1 (alto).
Para convertermos um numero decimal para um numero binário devemos aplicar um método para a parte inteira (divisões sucessivas) e um método para a parte fracionaria, se houver (multiplicações sucessivas).
Ex3. (23) 10 → (x) 2 Usando o método das divisões sucessivas.
23 2 1 11 2 Resposta: (x) 2 = (10111) 2 1 5 2 1 2 2 0 1
Portanto, a partir de uma seqüência de 0s e de 1s podemos expressar “qualquer” número decimal. Sera?
Leitura
Dividir até que o último quociente seja menor que a base
Atenção!
Ex8. (10111) 2 → (x) 10
(10111) 2 = 1x2 4 + 0x2 3 + 1x2^2 + 1x2^1 +1x2 0 = 23 = (23) 10
Ex9. (110,11) 2 → (x) 10
(110,11) 2 = 1x2 2 + 1x2^1 + 0x2 0 + 1x2 -1^ +1x2 -2^ = 6,75 = (6,75) (^10)
Obs. Um numero inteiro decimal pode sempre ser representado exatamente por um inteiro binário. Mas isso não é verdade para os números fracionários. Pois, já vimos que:
(0,1) 10 = (0,00011001100110011............) 2
A) Adição de binários.
Ex10: 1 1100
= 10011
Explicando: Os números binários são base 2, ou seja, há apenas dois algarismos: 0 (zero) ou 1 (um). Na soma de 0 com 1 o total é 1. Quando se soma 1 com 1, o resultado é 2, mas como 2 em binário é 10, o resultado é 0 (zero) e passa-se o outro 1 para a "frente", ou seja, para ser somado com o próximo elemento, conforme assinalado pelo asterisco,como no exemplo acima.
16 + 0 + 4 + 2 + 1
d
d
4 + 2 + 0 + 1/2 + 1/
d
d
d (^) -
d
Repetições
Repetições
Propriedades: 0+0= 0+1= 1+0= 1+1= 0 e vai 1 (para somar ao digito imediatamente à esquerda)
Ex11: 11 1100
= 11011
B) Subtração de binários.
Ex12: 1 111 1101110
= 1010111
Explicando: Quando temos 0 menos 1, precisamos "pedir emprestado" do elemento vizinho. Esse empréstimo vem valendo 2 (dois), pelo fato de ser um número binário. Então, no caso da coluna 0 - 1 = 1, porque na verdade a operação feita foi 2 - 1 = 1. Esse processo se repete e o elemento que cedeu o "empréstimo" e valia 1 passa a valer 0. Os asteriscos marcam os elementos que "emprestaram" para seus vizinhos. Perceba, que, logicamente, quando o valor for zero, ele não pode "emprestar" para ninguém, então o "pedido" passa para o próximo elemento e esse zero recebe o valor de 1.
C) Multiplicação de binários
A multiplicação entre binários é similar à realizada com números decimais. A única diferença está no momento de somar os termos resultantes da operação:
Ex13:
1 0 1 1 x 1 0 1 0
0 0 0 0
= 1 1 0 1 1 1 0
C) Divisão de binários
Essa operação também é similar àquela realizada entre números decimais:
Ex15:
110 10
010
Propriedades: 0-0= 0-1= 1 e vai 1 (para subtrair ao digito imediatamente à esquerda) 1-0= 1-1=
Ex14: 1 1 1 x 1 1 1
1 1 1 1 1 1 1
= 1 1 0 0 0 1
Parâmetros de aritméticas de ponto flutuante utilizadas em alguns computadores digitais.
Máquina e Aritmética^ β^ t e (^) min e max Cray-1 Precisão Simples 2 48 -8192 8191 Cray-1 Precisão Dupla 2 96 -8192 8191 DEC VAX formato G Dupla
DEC VAX formato D Dupla
Calculadoras HP 28 e 48G 10 12 -499 499 IBM 3090 Precisão Simples 16 6 -64 63 IBM 3090 Precisão Dupla 16 14 -64 63 IBM 3090 Precisão Extendida
IEEE Precisão Simples 2 24 -126 127 IEEE Precisão Dupla 2 53 -1022 1023 PDP 11 2 24 -128 127 Control Data 6600 2 48 -976 1070
Uma aritmética de ponto flutuante F é caracterizada por quatro números inteiros: F( β , t , e min , e max). Pode-se observar que F é um subconjunto dos números reais, ou seja F ⊂ℜ.
Ex: Considere F (2,2,-1,2 ), com número normalizado, isto é, d 1 ≠ 0. Os números serão: ±. 10 × 2 e^ ou ±. 11 × 2 e^ , sendo -1≤ e ≤ 2.
Convertendo para decimal, temos:
. 10 = ½ e_._ 11 = ¾
Com isso, os únicos números positivos representáveis nesse computador são: Mantissa Expoentes 1/2 × 2 e 3/4 × 2 e^ para e= -1, 0, 1 e 2
Ou seja, ¼, ½, 1, 2, 3/8, 3/4, 3/2 e 3, que podem ser representados na reta numerada:
4
1 8
3 2
1 4
2
Alem desses números, os seus respectivos números negativos e o numero zero também serão representados.
n. deelementos = 2 (β− 1 ) β t −^1 ( e max− e min+ 1 )+ 1
Para contabiliza os números negativos Para o numero zero
Para o exemplo anterior temos que o número de elementos é 17. (8 positivos, 8 negativos e o zero).
O conjunto dos números de ponto flutuante é discreto, e não contínuo como os números reais. Não temos mais o conceito que entre dois números sempre existe um outro. Esse fato pode ter conseqüência desastrosa!
5.2 - Erros na representação dos números O conjunto de números de números reais é infinito, entretanto, a sua representação em um sistema de ponto flutuante é limitada, pois é um sistema finito. Essa limitação tem duas origens:
A) a faixa dos expoentes é limitada ( e min (^) ≤ e ≤ e max ); B) a mantissa representa um número finito de números ( β t −^^1 ≤ m ≤ β t −^1 )
Faixa dos expoentes é limitada ( e min (^) ≤ e ≤ e max );
Sempre que uma operação aritmética produz um número com expoente superior ao expoente máximo, tem-se o fenômeno de “ overflow ”. De forma similar, operações que resultem em expoente inferior ao expoente mínimo tem-se o fenômeno de “ underflow ”.
No caso do exemplo dado, pode-se observar qual as regiões que ocorrem o overflow e o underflow. Neste caso, considera-se a parte positiva e negativa da aritmética do exemplo.
-3,0 - 41 0 41 3,
Overflow Underflow Overflow
Ex1: Considere uma aritmética de ponto flutuante F (10,2,-5,5)
6.2 Erro absoluto
Cota para o erro.
6.3 Erro relativo
EAx =| x − x |
x
x x
x
EA ER (^) x x
− = =
6.4 Outras fontes de erros numa maquina digital
A) Erros relacionados à aproximações dos cálculos (números de iterações).
B) Erros devido ao armazenamento.
Existem dois tipos de erros por arredondamento. O arredondamento truncado e o arredondamento simétrico (ou arredondamento propriamente dito).
B) Propagação dos erros relativos.
Concluindo, o erro relativo final das operações é obtido a partir da combinação dos erros
onde t = número de dígitos da mantissa.
Ex. Um coreano ganhou de presente do pai uma máquina de calcular super moderna, capaz de armazenar 4 dígitos na mantissa utilizando arredondamento. Muito satisfeito, o ansioso rapaz efetuou duas operações em sua maquina nova envolvendo os números de arvores da plantação de seu pai (x=17534) e o número médio de frutas de cada arvore (y=21178). a) Calcule os erros absolutos e relativos envolvido no processo de utilização da máquina digital para cada número x e y? Resp : Devido ao tamanho da mantissa e ao arredondaremos termos: x = 0,1753 x 10^5 e y = 0,211 8 x 10 5 a) Calcule o erro absoluto e relativos das variáveis x e y. Resp.
EA (^) y = y − y = |21178-21180|= 2
y
a) Após realizar as operações x+y e x×y percebeu que uma das duas operações resultava no erro relativo final maior. Qual foi?
=1.0329E-4 + 5.1661e-5 + 5E-4 = 6.5495E-
-t+1 (^) (arredondamento)
= 2.281E-4 + 9.442E-5 + 5E-4 = 8.2242E-
Logo a operação xy apresentara o maior erro relativo final.
d) Calcule o erro relativo envolvido na operação x^4? Resp: ERxx^ =^ ERx 2 = ERx + ERx +^ δ, onde δ = ½ 10 -t+1^ (arredondamento)
logo,
Repita este exercício considerando o truncamento.
1- Seja um sistema de aritmética de ponto flutuante de quatro dígitos e base decimal. Dados os números: x= 0,7237×10 4 , y = 0.2145×10 -3^ e z = 0.2585×10 -1^ efetue as operações x+y+z e (xy)/z e obtenha o erro relativo em cada caso, supondo que x, y e z estão exatamente representados (Ea=Eb=Ec=0)