Beruflich Dokumente
Kultur Dokumente
Modelagem
Resoluo
Modelagem Fase de obteno de um modelo matemtico que descreve o comportamento do problema que se quer estudar. Resoluo Fase de obteno da soluo do modelo matemtico atravs da aplicao de mtodos numricos. Obs: Ambas as fases acima estao passveis de erros. De forma mais detalhada temos:
Problema real Levantamento de dados real
No raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resoluo tenham sido realizadas corretamente. Os resultados obtidos dependem tambm: a) da preciso dos dados de entrada b) da forma como esses dados so representados no computador c) das operaes numricas efetuadas
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling 1
(N)B = (dndn-1dn-2 ....d0,d-1d-2 .... d-m) = dnn + dn-1n-1 + dn-2n-2 + ....+ d00 + d-1-1 + d-2-2 + d-m-m Onde os dgitos dj pertencem aos nmeros naturais e satisfazem a condio: 0 dj (-1)
Portanto, a partir de uma seqncia de 0s e de 1s podemos expressar qualquer nmero decimal. Sera?
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling 2
2345 2 1 1172 2 Resposta: (x)2 = (100100101001)2 0 586 2 0 293 2 1 146 2 0 73 2 1 36 2 0 18 2 0 9 2 1 4 2 Leitura 0 2 2 0 1 Dividir at que o ltimo quociente
seja menor que a base
Para nmeros fracionrios utilizamos a regra da multiplicao. Ex5. (0,1875)10 (x)2 0,1875 x 2 0,3750
Leitura
0,3750 x 2 0,750
0,750 x 2 1, 50
0,50 x 2 1, 00
0,2 x 2 0,4
0,4 x 2 0, 8
0,8 x 2 1,6
0,6 x 2 1,2
0,2 x 2 0,4
...........
Nesse caso conclumos que o nmero (0,1)10 NO tem representao binria finita !!! Por mais moderno que seja o computador ele nunca vai saber exatamente o que significa o numero (0,1)10 pois sua converso para binrio sempre acarretar numa aproximao (truncamento u arredondamento) Obs. O fato de um nmero no ter representao finita no sistema binrio pode acarretar a ocorrncia de erros aparentemente inexplicveis nos clculos dos dispositivos eletrnicos.
Parte inteira: Mtodo da diviso sucessiva
Ex8. (10111)2 (x)10 (10111)2 = 1x24 + 0x23 + 1x22 + 1x21 +1x20 = 23 = (23)10
16 + 0 d4 d0 d1 + 4 + 2 + 1
Ex9. (110,11)2 (x)10 (110,11)2 = 1x22 + 1x21 + 0x20 + 1x2-1 +1x2-2 = 6,75 = (6,75)10
4 d2 d -1 d0 + 2 + 0 + 1/2 + 1/4
Obs. Um numero inteiro decimal pode sempre ser representado exatamente por um inteiro binrio. Mas isso no verdade para os nmeros fracionrios. Pois, j vimos que: (0,1)10 = (0,00011001100110011............)2
Repeties
(0,11)10 = (0,000111000010100011110101110000101000111101............)2
Repeties
Explicando: Os nmeros binrios so 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 binrio 10, o resultado 0 (zero) e passa-se o outro 1 para a "frente", ou seja, para ser somado com o prximo elemento, conforme assinalado pelo asterisco,como no exemplo acima.
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling 4
B) Subtrao de binrios.
Propriedades: 0-0=0 0-1= 1 e vai 1 (para subtrair ao digito imediatamente esquerda) 1-0=1 1-1=0 Ex12: 1 111 1101110 10111 ------1010111
Explicando: Quando temos 0 menos 1, precisamos "pedir emprestado" do elemento vizinho. Esse emprstimo vem valendo 2 (dois), pelo fato de ser um nmero binrio. Ento, no caso da coluna 0 - 1 = 1, porque na verdade a operao feita foi 2 - 1 = 1. Esse processo se repete e o elemento que cedeu o "emprstimo" 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 no pode "emprestar" para ningum, ento o "pedido" passa para o prximo elemento e esse zero recebe o valor de 1.
C) Multiplicao de binrios
A multiplicao entre binrios similar realizada com nmeros decimais. A nica diferena est no momento de somar os termos resultantes da operao: Ex13: 1 0 1 1 x 1 0 1 0 --------0 0 0 0 + 1 1 0 1 1 + 0 0 0 0 + 1 0 1 1 --------------= 1 1 0 1 1 1 0 Ex14: 1 1 1 x 1 1 1 --------1 1 1 1 1 1 1 + 1 1 1 1 + 1 1 1 1 --------------= 1 1 0 0 0 1
C) Diviso de binrios
Essa operao tambm similar quela realizada entre nmeros decimais: Ex15: 110 - 10 010 - 10 00 10 11
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
Exerccios: 1) converta os nmeros decimais em sua forma binria: a) 2 b)10 c) 7550 d)13,25 e) 0,4217 2) Converta os nmeros binrios em sua forma decimal: b) (1101)2 c)(0,1101)2 d) (11101,01)2 a) (10100)2
m = ,d1d2d3... dt e
sendo dis : dgitos da parte fracionria, d1 0, 0 di -1 : base (em geral 2, 10 ou 16), t: no de dgitos na mantissa. e: expoente inteiro.
Ex. x=34,2 (decimal); =10; t=4 x=0,3420 102 x=0,1 (decimal) ; =2; t=9 x=0,110011001 2-3
Equivalente :
(0,00011001100110011............)2
Nas maquinas digitais, um digito binrio denominado BIT (do ingls, binary digit). Um grupo de oito bits corresponde a 1 byte. Dessa forma, percebemos que a representao dos nmeros binrios num computador feita com um nmero finito de bits. A esse tamanho finito de bits dado o nome palavra de computador. O tamanho da palavra do computador depende de caractersticas internas arquitetura do mesmo. Em geral, os microcomputadores padro PC tem tamanho de palavra de 16 e 32 bits. Computadores modernos tem palavras de 64 bits ou mais. Quanto maior o tamanho da palavra do computador mais veloz e mais preciso ser o computador. Uma mquina digital (que opera em base 2) armazena um nmero internamente da seguinte forma esquematizada abaixo:
(N)10 Not. Ponto flutuante (exp)10 Converso para binrio (exp)2 Palavra do (mantissa)10 (mantissa)2 Computador 01010010101010101 exp mantissa
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
Parmetros de aritmticas de ponto flutuante utilizadas em alguns computadores digitais. Mquina e Aritmtica Cray-1 Preciso Simples Cray-1 Preciso Dupla DEC VAX formato G Dupla DEC VAX formato D Dupla Calculadoras HP 28 e 48G IBM 3090 Preciso Simples IBM 3090 Preciso Dupla IBM 3090 Preciso Extendida IEEE Preciso Simples IEEE Preciso Dupla PDP 11 Control Data 6600
t
e min
e max
2 2 2 2 10 16 16 16 2 2 2 2
48 96 53 56 12 6 14 28 24 53 24 48
-8192 -8192 -1023 -127 -499 -64 -64 -64 -126 -1022 -128 -976
3 2
Alem desses nmeros, os seus respectivos nmeros negativos e o numero zero tambm sero representados.
5.1 - O nmero total de elementos de uma aritmtica de ponto flutuante dado por:
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
Para o exemplo anterior temos que o nmero de elementos 17. (8 positivos, 8 negativos e o zero). O conjunto dos nmeros de ponto flutuante discreto, e no contnuo como os nmeros reais. No temos mais o conceito que entre dois nmeros sempre existe um outro. Esse fato pode ter conseqncia desastrosa!
3,0
Overflow
Underflow
Overflow
Ex1: Considere uma aritmtica de ponto flutuante F(10,2,-5,5) -overflow: Sejam x =875 e y=3172 . Calcular x y. Primeiro, deve-se arredondar os nmeros e armazena-los no formato indicado. A operao de multiplicao efetuada usando 2t dgitos. x = 0.88x 10 3 e y =0 .32 x 104, xy = 0.2816 x 10 7 Como o expoente maior que 5, resulta em overflow -underflow: Sejam x =0,0064 e y=7312 Calcular x y. Primeiro, deve-se arredondar os nmeros e armazen-los no formato indicado. A operao de diviso efetuada usando 2t dgitos. x = 0.64x 10 -2 e y = 0.73 x 104, xy = 0.8767 x 10 -6 O resultado dessa operao resultou em um valor menor que o computador pode armazenar, ou seja, resulta em underflow
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
Mantissa representando um nmero finito de nmeros ( t 1 m t 1 ) Ex1. Seja uma mquina que opere com apenas 6 dgitos na mantissa, ou seja, que seja capaz de armazenar nmeros no formato m = 0,d1d2d3d4d5d6 x 10e. Como armazenaramos nmero (0,11)10 = (0,000111000010100011110101110000101000111101............)2 nesta maquina? Como o nmero (0,11)10 que no tem representao binria finita, teremos neste caso: (0,11)10 (0,000111)2 (0,109375)10
Para de armazenar. Repeties
Ex2. Considere a representao binria de 0,6 e 0,7. 0,6=0,100110011001... 0,7=0,1011001100110... Se esses dois nmeros forem representados na aritmtica F(2,2,-1,2 ) eles sero representados igualmente por 0.10 20. Esse nmero equivale a 0,5 em decimal. Portanto, tanto o 0,6 quanto o 0,7 sero considerados 0,5. Ex3. Operaes em F(10,2,-5,5). - Sejam x =4,32 e y=0,064 Calcular x + y. A adio aritmtica de PF requer o alinhamento dos pontos decimais dos dois nmeros. x = 0.43x 10 1 e y = 0.0064 x 101 x+y = 0.4364 x 10 1 Resultado com 2 dgitos : x+y = 0.44 x 10 1 - Sejam x =372 e y=371 Calcular x - y. x = 0.37x 10 3 e y = 0.37 x 103 x-y = 0.00 x 10 0 Resultado com 2 digitos x-y = 0.00 x 10 0 - Sejam x =691 e y=2,71 Calcular x + y. x = 0.69x 10 3 e y = 0.0027 x 103 x+y = 0.6927 x 10 3 Resultado com 2 dgitos : x+y = 0.69 x 10 1
6 Erros
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
EAx =| x x |
Cota para o erro.
ERx =
EAx xx = x x
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
10
6.4 Outras fontes de erros numa maquina digital A) Erros relacionados aproximaes dos clculos (nmeros de iteraes).
Existem dois tipos de erros por arredondamento. O arredondamento truncado e o arredondamento simtrico (ou arredondamento propriamente dito).
Regra para o truncamento: Desprezam-se os algarismos que ficam acima da (t+1)-sima casa decimal. Onde t representa o numero de dgitos da mantissa. Regras para o arredondamento:
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
11
Ex.
UNDERFLOW OVERFLOW
< 10-t+1
no caso do truncamento.
onde t = nmero de dgitos da mantissa. Maiores detalhes podem ser obtidos no livro texto.
< 10-t+1
no caso do arredondamento.
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
12
Concluindo, o erro relativo final das operaes obtido a partir da combinao dos erros relativos da operao adicionado ao erro devido a tipo de armazenamento numrico ():
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
13
Ex.
Um coreano ganhou de presente do pai uma mquina de calcular super moderna, capaz de armazenar 4 dgitos na mantissa utilizando arredondamento. Muito satisfeito, o ansioso rapaz efetuou duas operaes em sua maquina nova envolvendo os nmeros de arvores da plantao de seu pai (x=17534) e o nmero mdio de frutas de cada arvore (y=21178). a) Calcule os erros absolutos e relativos envolvido no processo de utilizao da mquina digital para cada nmero x e y? Resp: Devido ao tamanho da mantissa e ao arredondaremos termos: x = 0,1753 x 105 e y = 0,2118 x 105 a) Calcule o erro absoluto e relativos das variveis x e y. Resp. EAx = x x = |17534-17530|= 4
EAy = y y = |21178-21180|= 2
ERx =
ER y =
a) Aps realizar as operaes x+y e xy percebeu que uma das duas operaes resultava no erro relativo final maior. Qual foi? Resp: ER x + y =
= (17530/ 38710) 2.281E-4 + (21180/ 38710) 9.442E-5 + 10-4+1 =1.0329E-4 + 5.1661e-5 + 5E-4 = 6.5495E-4
ERxy = ERx + ER y + ,
Resp: ERxx = ERx = ERx + ERx + , onde = 10-t+1 (arredondamento) ERxx = ERx = ERx + ERx + = 3ERx + 2 ERxx = ERx = ERx + ERx + = 4 ERx + 3
2 2 3 2 3 4 3
logo,
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
14
Exerccios Resolvidos
1- Considere uma maquina cujo sistema de representao de nmeros definido por: base decimal, 4 dgitos na mantissa (t=4), e expoentes no intervalo (-5,5). Pede-se: A) Qual o menor e o maior nmero, em mdulo, representados nesta maquina? Resp. m=0.100010-5 = 10-6 M=0.9999105 = 99990 B) Como ser representado o nmero 73.758 nesta maquina, se for usado o arredondamento? E se for usado o truncamento? Resp. 0.7375102 (trucamento) e 0.7376102 (arredondamento) C) Se a=42450 e b=3 qual o resultado de a+b? Resp. a+b= 0.4245105 + 0.00003105 = 0.42453105
(NAS OPERAES ENVOLVENDO NMEROS PONTO FLUTUANTES ESTES DEVEM TER A POTNCIA DO MAIOR DELES)
3
k=1
10
e S2=
3 + 42450
k=1
10
nesta maquina?
Obs. Obviamente o resultado deveria ser o mesmo. Contudo, as operaes devem ser ralizadas na ordem em que aparecem as parcelas, o que conuzir a resultados distintos. S1= 42450 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 = 0.4245105 + 0.00003105 = 0.42453105 0.4245105 (representado na mantissa com 4 dgitos) depois teremos 0.4245105 + 0.00003105 = 0.42453105 (idem) depois teremos 0.4245105 + 0.00003105 = 0.42453105 .... at terminar a ltima soma individual S1 = 0.4245105 Resp. S2 = 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 42450 = 0.3000101 + 0.3000101 = 0.6000101 = 0.6000101 + 0.3000101 =0.9000101 = 0.9000101 + 0.3000101 =1.2000101 = 0.1200102 = 0.1200102 + 0.03000102 = 0.1500102 .... ate terminar o ultimo 3 que resultara no numero 0.3000102. Depois feita a soma com o nmero 42450 e no final teremos: 0.3000102 0.0003105 S2=0.0003105 + 0.4245105 = 0.4248105
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
15
Exerccio Proposto
1- Seja um sistema de aritmtica de ponto flutuante de quatro dgitos e base decimal. Dados os nmeros: x= 0,7237104 , y = 0.214510-3 e z = 0.258510-1 efetue as operaes x+y+z e (xy)/z e obtenha o erro relativo em cada caso, supondo que x, y e z esto exatamente representados (Ea=Eb=Ec=0)
I Erros e Precises em Mquinas Digitais Clculo Numrico Prof. Dr. Sergio Pilling
16