Capítulo 1. Introdução. 1.1 Sistemas numéricos



Documentos relacionados
Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

COMPUTAÇÕES NUMÉRICAS. 1.0 Representação

Organização e Arquitetura de Computadores I

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Aritmética de Ponto Flutuante e Noções de Erro. Ana Paula

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

1. Introdução 2. Representação de números 2.1. Conversão Numérica 2.2. Aritmética de ponto flutuante 3. Erros 3.1 Erros Absolutos e Relativos

Exemplo de Subtração Binária

2. Representação Numérica

Erros. Cálculo Numérico

Universidade Federal de São João Del Rei - UFSJ

Aula 9. Introdução à Computação. ADS IFBA

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Aritmética Binária e. Bernardo Nunes Gonçalves

Como aparecem os erros? Quais os seus efeitos? Como controlar esses efeitos?

Aula 6 Aritmética Computacional

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Aritmética de Ponto Fixo

Capítulo 1 Erros e representação numérica

Representação de Dados

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

CAPÍTULO 6 ARITMÉTICA DIGITAL

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Operações aritméticas

Prof. Luís Caldas Sistemas de Numeração e Transformação de Base NUMERAÇÃO, BASE NUMÉRICA E TRANSFORMAÇÃO DE UMA BASE

Unidade 5: Sistemas de Representação

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Representação de Dados

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Cálculo Numérico. ECA / 4 créditos / 60 h Introdução, Erros e Matlab. Ricardo Antonello.

Cálculo numérico. ln 1 = 0. Representação numérica. Exemplo. Exemplos. Professor Walter Cunha. ln 1. I s

Aula 1 Representação e Operações Aritméticas em Ponto Flutuante.

Representação Binária de Números

Projeto e Desenvolvimento de Algoritmos

Circuitos Digitais Cap. 5

Aritmética de Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Aula 2 - Cálculo Numérico

CÁLCULO DE ZEROS DE FUNÇÕES REAIS

Hardware de Computadores

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

Representação de Dados e Sistemas de Numeração

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Lista de Exercícios Sistemas de Numeração

Números base 2, 8, 10, 16. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

CCI-22 CCI-22. 2) Erros de arredondamento. Matemática Computacional

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

13 Números Reais - Tipo float

Conversão de Bases e Aritmética Binária

Arquitetura de Computadores

Sistemas de Numeração

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

Índice de conteúdos. Índice de conteúdos. Capítulo 2. Representação de Números e Erros Representação de números em diferentes bases...

Aula 3 - Sistemas de Numeração

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

Capítulo UM Bases Numéricas

Estrutura de Repetição Simples

Medidas e Incertezas

Cálculo Numérico / Métodos Numéricos. Representação de números em computadores Mudança de base 14:05

Representação de Dados Inteiros com sinal

3 Sistemas de Numeração:

SISTEMAS DE NUMERAÇÃO

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros

Sistemas de Numerações.

Métodos Numéricos. Turma CI-202-X. Josiney de Souza.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Critérios de Avaliação. Sobre a Disciplina. Por que estudar Arquitetura? SIM NÃO 20/04/ provas. 01 trabalho

Noções Básicas de Erros

ARQUITETURA DE COMPUTADORES

Métodos Numéricos e Estatísticos Parte I-Métodos Numéricos Teoria de Erros

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Conversões em Sistemas de Numeração. José Gustavo de Souza Paiva

1. Sistemas de numeração

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Sistemas de Numeração

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

CAP. I ERROS EM CÁLCULO NUMÉRICO

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Introdução à Engenharia de

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

PRONATEC FUNDAMENTOS DE HARDWARE. Prof. Kilmer Pereira

Aula 2 Modelo Simplificado de Computador

Vamos exemplificar o conceito de sistema posicional. Seja o número 1303, representado na base 10, escrito da seguinte forma:

(b) (1,0 ponto) Reciprocamente, mostre que, se um número x R possui representação infinita em toda base β, então x é irracional.

Sistemas Numéricos Eletrônica Digital PROFESSOR LUCAS KOEPSEL ROSA

Transcrição:

EQE-358 MÉTODOS NUMÉRICOS EM ENGENHARIA QUÍMICA PROFS. EVARISTO E ARGIMIRO Capítulo 1 Introdução O objetivo desta disciplina é discutir e aplicar técnicas e métodos numéricos para a resolução de problemas em processos químicos, bioquímicos e indústrias de alimentos. Os métodos apresentados estão presentes em praticamente todas as ferramentas computacionais usadas pelos engenheiros para sintetizar, analisar, controlar e otimizar tais processos. Esperase que ao final da disciplina o aluno domine estes métodos para fazer bom uso destas ferramentas ou para desenvolver novas ferramentas. Geralmente os métodos numéricos são implementados nestas ferramentas através de uma linguagem de programação, usualmente FORTRAN, C ou C++. Muitos deles podem ser encontrados em bibliotecas (ou pacotes) numéricos, tais como: LAPACK (http://www.netlib.org/lapack) público BLAS (Basic Linear Algebra Subprograms) público IMSL (International Mathematical and Statistical Libraries) comercial NAG (Numerical Algorithms Group) comercial Mas também estão disponíveis em ambientes dedicados à resolução de problemas genéricos, tais como: MATLAB, SCILAB, MAPLE, MAXIMA e MATHCAD. 1.1 Sistemas numéricos Como a aritmética em calculadoras e computadores emprega apenas números com uma quantidade finita de dígitos, os cálculos são eecutados com valores aproimados dos números verdadeiros. Para entender esta aritmética, primeiro trataremos da transformação da base decimal para a binária, usada nos processadores numéricos. 1º Caso: Número Inteiro N Algoritmo 1: a) Identificação da maior potência de 2 contida em N, isto é, determinação de n tal que 2 n N < 2 n+1 :

2 1. INTRODUÇÃO onde int() é a parte inteira de. n = int [log 2 (N)] b) Determinação dos coeficientes a i, para i = 0, 1,..., n, tais que: n N a 2 i0 i i P N Para i = 0, 1,..., n, faça M P/2 P int(m) a i 2 (M P) Nota: a operação 2 [P/2 int(p/2)] é definida como P mod 2 ou mod(p,2) ou ainda P % 2 e resulta no resto da divisão inteira de P por 2. Algoritmo 2: a) Identificação da maior potência de 2 contida em N, isto é, determinação de n tal que 2 n N < 2 n+1 : n 0 pot 1 Enquanto pot N faça n n + 1 pot 2 pot n n 1 b) Determinação dos coeficientes a i, para i = 0, 1,..., n, tais que: n N a 2 i0 i i pot 2 n a n 1 M N pot Para i = 1, 2,..., n, faça pot pot / 2 se M < pot faça a n-i 0 senão faça a n-i 1 e M M pot Eemplo: N = 97 (na base decimal) Algoritmo 1a: n = int [log 2 (97)] = int[6,6] = 6

1.1 SISTEMAS NUMÉRICOS 3 Algoritmo 1b: i 0 1 2 3 4 5 6 M 48,5 24 12 6 3 1,5 0,5 a i a 0 = 1 a 1 = 0 a 2 = 0 a 3 = 0 a 4 = 0 a 5 = 1 a 6 = 1 Algoritmo 2a: n 0 1 2 3 4 5 6 7 6 pot 1 2 4 8 16 32 64 128 Algoritmo 2b: i 0 1 2 3 4 5 6 pot 64 32 16 8 4 2 1 M 33 1 1 1 1 1 0 a n-i a 6 = 1 a 5 = 1 a 4 = 0 a 3 = 0 a 2 = 0 a 1 = 0 a 0 = 1 Assim: 97 1100001 2 6 2 5 2 0 10 2 10 Eercício: aplicar o Algoritmo 1 para N = 85 Algoritmo 1a: n = int [log 2 (85)] = int[6,4] = 6 Algoritmo 1b: i 0 1 2 3 4 5 6 M 42,5 21 10,5 5 2,5 1 0,5 a i a 0 = 1 a 1 = 0 a 2 = 1 a 3 = 0 a 4 = 1 a 5 = 0 a 6 = 1 Assim: 85 1010101 2 6 2 4 2 2 2 0 10 2 10 Generalizando para qualquer base: n int[log base (N)] P N Para i = 0, 1, 2,..., n, faça M P/base P int(m) a i base (M P) Nota: a operação base [P/base int(p/base)] é definida como P mod base ou mod(p,base) ou ainda P % base e resulta no resto da divisão inteira de P por base. 2º Caso: Número fracionário,, entre 0 e 1 a) Especificar o número de dígitos (N dig )

4 1. INTRODUÇÃO b) Determinar os coeficientes b i, para i = 1, 2,..., N dig, tais que: M 2 [ int()] Para i = 1, 2,..., N dig, faça P int(m) M 2 (M P) b i P Ndig bi i i1 2 Eemplo: = 0,8 a) N dig = 8 b) i 1 2 3 4 5 6 7 8 M 1,6 1,2 0,4 0,8 1,6 1,2 0,4 0,8 b i b 1 = 1 b 2 = 1 b 3 = 0 b 4 = 0 b 5 = 1 b 6 = 1 b 7 = 0 b 8 = 0 1 1 1 1 Assim: 0, 8 0, 11001100 0 796875 1 2 5 6, 2 2 2 2 10 2 10 10 Eercício: = 0,1 a) N dig = 8 b) i 1 2 3 4 5 6 7 8 M 0,2 0,4 0,8 1,6 1,2 0,4 0,8 1,6 b i b 1 = 0 b 2 = 0 b 3 = 0 b 4 = 1 b 5 = 1 b 6 = 0 b 7 = 0 b 8 = 1 1 1 1 Assim: 0, 1 0, 00011001 0 0976525 4 5 8, 2 2 2 10 2 10 10 A representação da aritmética de ponto flutuante em computação foi normalizada em 1985 pelo IEEE (Institute for Electrical and Electronic Engineering) através da Norma 754-1985. Definições: bit dígito binário byte conjunto de 8 bits word ou palavra, é o espaço no computador para armazenar o número. Atualmente na maioria dos computadores: 1 word = 32 bits = 4 bytes ou 1 word = 64 bits = 8 bytes.

1.1 SISTEMAS NUMÉRICOS 5 Armazenamento de números inteiros: bit 0: indica o sinal do número, se igual a 0(zero) número positivo e se igual a 1 número negativo; bits 1 a 31: codificação do número na base binária quando 1 word = 32 bits. bits 1 a 63: codificação do número na base binária quando 1 word = 64 bits. Desta forma o maior número inteiro possível é: 2 31 1 = 2147483647 2 10 9 ou 2 63 1 9 10 18 Armazenamento de números reais a) Precisão simples 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 bit 0 (s): indica o sinal do número, se igual a 0(zero) número positivo e se igual a 1 número negativo; bits 1 a 8 (c): codificação do epoente (ou característica) de 2 do número (igual ao valor representado em binário menos 127, desta forma o maior epoente é 127 = 11111110 127 e o menor epoente é 126 = 00000001 127. Esta codificação pode ser lida removendo o bit 1 e somando o seu valor ao bit 8 para os epoentes positivos e a representação complementar para os números negativos, com o primeiro bit representando o sinal negativo. A codificação 11111111 é reservada para infinito e 00000000 para indicar que o número não está normalizado, ou seja, que o número antes da vírgula é zero e não 1); bits 9 a 31 (f): codificação da mantissa do número (parte fracionária do número no sistema binário). Eemplos: 127 ( 1) s c r 2 (1 f ), quando c 0 s r ( 1) 2 127 f, quando c = 0 (forma não-normalizada) 1 armazenamento (normalizado) de 3.5 11.1 (1.11 2 ) 10 2 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 b) Precisão dupla 0 1 2 3 4 5 6 7 8 9 10 11 12 63 bit 0 (s): indica o sinal do número, se igual a 0(zero) número positivo e se igual a 1 número negativo bits 1 a 11 (c): codificação do epoente de 2 do número (igual ao valor representado em binário menos 1023, desta forma o maior epoente é 1023 = 11111111110 1023 e o menor epoente é 1022 = 00000000001 1023); bits 12 a 63 (f): codificação da mantissa do número (parte fracionária do número no sistema binário).

6 1. INTRODUÇÃO 1023 ( 1) s c r 2 (1 f ), quando c 0 s r ( 1) 2 1023 f, quando c = 0 (forma não-normalizada). Como 63 12 + 1 = 52 dígitos binários correspondem a algo entre 16 a 17 dígitos decimais (até 2-52 ), então um número representado neste sistema tem uma precisão de pelo menos 16 dígitos decimais. No caso da precisão simples, este número cai para 7 dígitos decimais (até 2-23 ). Eercício: implementar em calculadora ou computador o seguinte algoritmo u 1,0 Enquanto u + 1,0 1,0, faça u u 0,5 u u 2,0 O valor final em u corresponde à precisão da máquina. 1.2 Erros em computação O menor número positivo que pode ser representado na forma normalizada em precisão dupla é: 2 (12 ) 10 1022 52 308 Se os cálculos gerarem números de magnitude menor que este valor, teremos um erro de underflow (além da capacidade mínima da máquina). O maior número positivo que pode ser representado na forma normalizada em precisão dupla é: 2 (112 ) 10 1023 52 308 Se os cálculos gerarem números de magnitude maior que este valor, teremos um erro de overflow (capacidade máima da máquina ecedida). Erros absolutos e relativos : valor eato de um número * : um valor aproimado Erro absoluto: EA = * Erro relativo: ER = EA 1, para 0 Eemplos: 1) Se EA = 0,1 a) com = 2112,9 tem-se: * = ± 0,1 * = 2112,8 ou * = 2113

1.2 ERROS EM COMPUTAÇÃO 7 e ER = 0,1/2112,9 = 4,73283210-5 0,005% b) com = 5,3 tem-se: * = 5,2 ou * = 5,4 e ER = 0,1/5,3 = 0,018868 2% 2) Efeito da magnitude do número a) se = 0,300010 1 e * = 0,310010 1 tem-se EA = 0,1 e ER = 0,03333 3,33% b) se = 0,300010-3 e * = 0,310010-3 tem-se EA = 0,110-4 e ER = 0,03333 3,33% c) se = 0,300010 4 e * = 0,310010 4 tem-se EA = 0,110 3 e ER = 0,03333 3,33% Ou seja, o erro relativo leva em consideração a magnitude dos valores. Diz-se que o número * se aproima do valor com t algarismos significativos se t é o maior valor inteiro não negativo para o qual: ER < 510 -t Eemplo: com 4 algarismos significativos = 0,1 ER = * = EA < 510-5 = 100 ER = * = EA < 0,05 = 10000 ER = * = EA < 5 10: Representando um número em aritmética de ponto flutuante com t dígitos na base = f 10 e + g 10 e-t com 0,1 f < 1 e 0 g < 1 Eemplo: t = 4 e = 234,57, logo = 0,234510 3 + 0.710-1 e = 3, f = 0,2345 e g = 0,7 Se o número for simplesmente truncado, o valor armazenado de será: * = f 10 e, apresentando: Erro de Truncamento Absoluto: EA = g 10 e-t 10 e-t Erro de Truncamento Relativo: et et et g 10 10 10 ER 10 e et e e f 10 g 10 f 10 0, 110 1t. Se o número for arredondado, o valor armazenado de será: 0 se g < 0.5 e f 10, apresentando Erros de Arredondamento Absoluto e et 10 se g 0.5 Relativo: i) se g < 0,5: EA = g 10 e-t 0,510 e-t

8 1. INTRODUÇÃO e g 10 0, 510 0, 510 et et et 1t t ER 0, 510 510 e et e e f10 g 10 f 10 0, 110 ii) se g 0,5: EA = g 10 e-t 10 e-t 0,5 10 e-t 10 e-t 0,510 e-t e et et et g 110 0510, 0510, 1 ER 0, 510 510 e et e e f 10 g 10 f 10 0, 110 t t Resumindo, se: = f 10 e + g 10 e-t com 0,1 f < 1 e 0 g < 1, em que t é o número de dígitos, então: Absoluto: EA 10 Erros de Truncamento: 1 Relativo: ER 10 Absoluto: EA Erros de Arredondamento: Relativo: ER et t 10 2 10 2 et 1t Erros nas operações algébricas fundamentais Sejam e y dois números reais positivos que apresentam erros absolutos máimos a e b, respectivamente. Então os erros numéricos relativos em cada um destes números são: para : a p b e para y: q. y As seguintes operações aplicadas a esses números são definidas: i) Soma o maior valor que a soma ( + y) pode assumir é: ( + y) + (a + b) e o menor valor é: ( + y) (a + b), assim: ( + y) (a + b) ( * + y * ) ( + y) + (a + b). a b Desse modo: EA +y (a + b) e ER y y ii) Subtração o maior valor que a subtração ( y) pode assumir é: ( y) + (a + b) e o menor valor é: ( y) (a + b), assim: ( y) (a + b) ( * y * ) ( y) + (a + b). a b Desse modo: EA y (a + b) e ER y. y iii) Produto o maior valor ( y) pode assumir é: ayb pyqy y1 p1q y1 pq p q

1.2 ERROS EM COMPUTAÇÃO 9 e o menor valor é: a yb y1 p1q y1 pq p q Assim: y 1 p q p q y y 1 p q p q, ou seja: y pq pq y y y pq p q. Permitindo identificar que: EA y pq pq y pq e ER pq pq p q y iv) Divisão o maior valor /y pode assumir é: a p 1 p 1q 1 pq pq 2 e o menor valor é: yb yqy y 1q 1q y 1q a p 1 p 1q 1 pq pq 2. yb yqy y 1q 1q y 1q 1 pq pq 1 pq pq Assim: 2 * 2, ou seja: y 1q y y 1q 1 pq pq 1 pq pq 1 1 2 * 2, rearranjando: y 1q y y y 1q 2 * 2, mas: y 1q y y y 1q 2 2 q p q p q q p q p q 1 e q 2 p q p q p q q 1 2 q p q p q p q q y, logo: pq pq *. Permitindo identificar que: y 1q y y y 1q pq pq EA / y p q e ER / y pq y 1q y 1q. Lista de eercícios 1. Transforme os números reais abaio (todos epressos na base decimal) para a base binária, adotando em todos os eemplos 8 dígitos após a vírgula: (a) 168,995889; (b) 0,34135; (c) 0,021922. 2. Transforme os números binários abaio para a base decimal: (a) 101101; (b) 110101011; (c) 0,1100011; (d) 0,11111111. 3. Ache um número na base 2 que aproime o número com o menor número de dígitos apresentando um erro absoluto não superior a 10-3. Refaça o eemplo para uma aproimação que apresente um erro relativo inferior a 0,01%. Compare e discuta os dois resultados encontrados. 4. Considere que se tem um aparato digital que armazena os números em aritmética de ponto flutuante com quatro dígitos em base decimal. O acumulador (onde são eecutadas as operações) apresenta precisão dupla (8 dígitos portanto!) e simplesmente trunca os

10 1. INTRODUÇÃO números acumulados. Dados os números: = 0,452310 4 ; y = 0,211510-3 e z = 0,258310 1, verifique os resultados das seguintes operações eecutadas neste aparato e apresente, em cada caso, o erro absoluto e o erro relativo resultante: (a) + y + z ; (b) ; (c) y ; (d) y z ; (e) y y ; (f) y ; (g). z z z z Compare e discuta os resultados dos itens (e); (f) e (g). 5. Os números = 2 e y = 1,76 apresentam, respectivamente, os erros absolutos a = 0,5 e b = 0,1. Sorteie um valor de * e um valor de y * que estejam contidos entre os valores mínimos e máimos de e y, respectivamente. Calcule os valores máimos dos erros absolutos e relativos das operações abaio listadas e verifique se os erros destas mesmas operações aplicadas aos valores sorteados de e y estão contidos dentro destes limites. (a) + y; (b) y; (c) y (g) ln(); (h) ; (d) y ; (e) k com k > 0; (f) e ; (i) cos() ; (j) sen(); (k) tg( 1). k com k < 0; 6. Refaça o Eercício 5 sabendo-se que no lugar dos erros absolutos são conhecidos os erros relativos de e y iguais, respectivamente, a 20% e 15%.