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

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

Unidade 1: O Computador

Sistemas de Vírgula Flutuante

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

OPERAÇÕES COM FRAÇÕES

UNIMINAS Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: Sinal do expoente: -(na realidade, háh

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

Sistemas Numéricos. Tiago Alves de Oliveira

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

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

Figura 4.1: Diagrama de representação de uma função de 2 variáveis

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

AULA 07 Distribuições Discretas de Probabilidade

Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS

Adição de probabilidades. O número de elementos da união dos conjuntos A e B n(aub) = n(a B) Dividindo os dois membros por n(e):

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Inteligência Artificial

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

TEORIA 5: EQUAÇÕES E SISTEMAS DO 1º GRAU MATEMÁTICA BÁSICA

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

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

Resumo: Estudo do Comportamento das Funções. 1º - Explicitar o domínio da função estudada

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Universidade Federal de Goiás Campus Catalão Departamento de Matemática

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

POTENCIAÇÃO, RADICIAÇÃO E LOGARITMAÇÂO NOS NÚMEROS REAIS. Potenciação 1

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

Módulo de Princípios Básicos de Contagem. Segundo ano

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

0.1 Introdução Conceitos básicos

M =C J, fórmula do montante

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

Emparelhamentos Bilineares Sobre Curvas

Usando potências de 10

Física Experimental III

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

a) 2 b) 3 c) 4 d) 5 e) 6

C U R S O T É C N I C O E M S E G U R A N Ç A D O T R A B A L H O. matemática. Calculando volume de sólidos geométricos. Elizabete Alves de Freitas

Sejam P1(x1,y1) e P2(x2,y2) pontos pertencentes ao plano. A equação da reta pode ser expressa como: ou

Probabilidade. Luiz Carlos Terra

Conteúdo programático por disciplina Matemática 6 o ano

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

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA DEPARTAMENTO DE ENGENHARIA QUÍMICA ENG 008 Fenômenos de Transporte I A Profª Fátima Lopes

Experiência 04: Comandos para testes e identificação do computador na rede.

ATIVIDADES PRÁTICAS SUPERVISIONADAS

EXERCÍCIOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA (sistemas de equações lineares e outros exercícios)

Processamento Digital de Sinais. Conversão A/D e D/A. Prof. Dr. Carlos Alberto Ynoguti

Matrizes de Transferência de Forças e Deslocamentos para Seções Intermediárias de Elementos de Barra

Prof. José Maurício S. Pinheiro - UGB

2.1 - Triângulo Equilátero: é todo triângulo que apresenta os três lados com a mesma medida. Nesse caso dizemos que os três lados são congruentes.

PRINCÍPIOS DA MULTIPLICAÇÃO, DA ADIÇÃO E DA INCLUSÃO-

I. Conjunto Elemento Pertinência

Lista de Exercícios Critérios de Divisibilidade

Organização e Arquitetura de Computadores I

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Seu pé direito nas melhores Faculdades

Introdução à Informática

Se inicialmente, o tanque estava com 100 litros, pode-se afirmar que ao final do dia o mesmo conterá.

Prática. Exercícios didáticos ( I)

Obtenção Experimental de Modelos Matemáticos Através da Reposta ao Degrau

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

4.4 Limite e continuidade

MODELAGENS. Modelagem Estratégica

Um pouco da História dos Logaritmos

Redes de Computadores

Fundamentos de Programação. Diagrama de blocos

Aula 6 Propagação de erros

SISTEMAS DISTRIBUÍDOS

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Flávia Rodrigues. Silves, 26 de Abril de 2010

7. A importância do aterramento na Qualidade da Energia.

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

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

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

CURSO DE INSTRUMENTAÇÃO. Erros de Medição. Cedtec 2007/2. Sem equivalente na Apostila 1 Pressão e Nível

Banco de Dados I. Prof. Edson Thizon

Ondas EM no Espaço Livre (Vácuo)

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

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

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

2. Representação Numérica

Representação de Dados

12 26, 62, 34, , , 65

Ficha Prática 5: Cap 3.Princípios Elementares de Contagem

2 Conceitos de transmissão de dados

Primeira Lista de Exercícios de Métodos Numéricos II Primeiro semestre de 2015

Corrente elétrica, potência, resistores e leis de Ohm

Computação Gráfica - 12

Representações de caracteres

Exercício. Exercício

O Plano. Equação Geral do Plano:

Coeficiente de Assimetria e Curtose. Rinaldo Artes. Padronização., tem as seguintes propriedades: Momentos

Prova de Fundamentos de Bancos de Dados 1 a Prova

Probabilidade. Evento (E) é o acontecimento que deve ser analisado.

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann

Como Elaborar uma Proposta de Projeto

Transcrição:

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 O Cálculo Numérico tem por objetivo estudar e aplicar algoritmos numéricos para a solução de problemas, visando o menor "custo" e confiabilidade do resultado (observar tempo de execução, número de operações aritméticas, quantidade de memória, propagação do erro, etc). Um bom algoritmo numérico deve se caracterizado por: a) Independência da máquina: a execução do programa pode ser realizada em diferentes máquinas; b) Inexistência de Erro Aritmético: problemas de overflow e underflow devem ser detectados a priori; c) Inexistência de Erro Lógico: previsão de tudo o que poderá ocorrer durante o processo (divisão por zero, por exemplo); d) Quantidade finita de cálculos; e) Existência de um critério de exatidão; f) O erro deve convergir para zero com precisão infinita. g) Eficiência: produzir a resposta correta com economia. Ao se trabalhar com um computador (ou qualquer outra máquina digital) algumas dificuldades numéricas podem ocorrer. Podem ocorrer erros devido ao processo de tradução de números decimais para números binários. 1

1.1 - Processo de Modelagem de um Fenômeno da natureza 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. Todas as fases acima estão passíveis de erros. Muitas vezes os resultados finais estão distantes do que se poderia esperar, ou que todas as fases de resolução tenham sido realizadas corretamente. Os resultados obtidos também dependem: 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 Estudaremos algoritmos numéricos a fim de obter uma solução numérica do problema, a qual, geralmente, difere da solução exata. Possíveis fontes de erro que geram essa diferença: a) Simplificação do modelo matemático (algumas variáveis envolvidas são desprezadas); b) Erro nos dados de entrada ( com frequência provindos de dados experimentais); c) Truncamento (por exemplo, substituição de um processo infinito por um finito e linearizações); d) Erro de arredondamento em aritmética de ponto flutuante. Aula 1 - Representação de números 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 sequencia 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. Decomposição de um número num sistema de bases. 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: 2

Onde os dígitos d j pertencem aos números naturais e satisfazem a condição: 0 d j (β-1) Sistema de Numeração decimal ou base 10. Todos os múltiplos e submúltiplos de um número são escritos com potências de 10. Exemplos: Sistema de numeração binário ou base 2. Todos os múltiplos e submúltiplos de um número são escritos com potencias de 2. Exemplos: 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). Aula 1 Conversão de números Decimal para 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). Exemplos: 3

Para números fracionários, usar a regra da multiplicação. Exemplos: Concluímos então que os números (0,1) 10 e (0,11) 10 NÃO têm representação binária finita!!! independente do computador, ele nunca vai saber o que significa esses números exatamente pois a conversão para binário sempre acarretará numa aproximação (truncamento ou arredondamento) Obs. O fato de um número não ter representação finita no sistema binário pode acarretar a ocorrência de erros aparentemente inexplicáveis nos cálculos dos dispositivos eletrônicos. 4

Um número inteiro sempre pode ser representado exatamente por um inteiro binário, mas isso não é verdade para os números fracionários. Binário para decimal: Exemplos: Exercícios: 1) converta os números decimais em sua forma binária: a) 2 b)10 c) 7550 d)13,25 e) 0,4217 2) Converta os números binários em sua forma decimal: a) (10100) 2 b) (1101) 2 c)(0,1101) 2 d) (11101,01) 2 5

Aula 1 - Aritmética de ponto flutuante A representação de números reais mais utilizada em máquinas é a do ponto flutuante. Esse número tem três partes: o sinal, a parte fracionária (mantissa) e o expoente: Sendo: Exemplo: Nas maquinas digitais, um digito binário é denominado BIT (do inglês, binary digit). Um grupo de oito bits corresponde a 1 byte. Dessa forma, percebemos que a representação dos números binários em um computador é feita com um número finito de bits. A esse tamanho finito de bits é dado o nome palavra de computador. O tamanho da palavra do computador depende de características internas à arquitetura do mesmo (Ex: 32 e 64 bits). Quanto maior o tamanho da palavra do computador mais veloz e mais preciso será o computador. Uma aritmética de ponto flutuante F é caracterizada por quatro números inteiros (F é um subconjunto dos números reais): Exemplo: Considere F(2,2,-1,2 ), com número normalizado, isto é, d1 0. Os números serão: ±,10 2 e ou ±,11 2 e, sendo -1 e 2. Convertendo para decimal, temos:,10 = ½ e,11 = ¾ 6

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 (reta real, base 10): Além desses números os seus respectivos números negativos e o número zero também serão representados. O número total de elementos de uma aritmética de ponto flutuante é dado por: Para o exemplo acima, o número de elementos é igual a 2(2-1)2 2-1 (2-(-1)+1) + 1 = 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 consequência desastrosa! Exemplo: Se a máquina opera no sistema: β=10; t=3; e [-5,5] Os números são representados como: 0,d 1 d 2 d 3 x 10 e, 0 dj 9, d1 0, e [-5,5] O menor número representado nesta máquina em valor absoluto: m=0,100 x 10-5 = 10-6 O maior número representado nesta máquina em valor absoluto: M=0,999 x 10 5 = 99900 7

Aula 1 - Erros em máquinas digitais Erros na representação dos números. O conjunto 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. (a) A faixa dos expoentes é limitada (e min e e max ) Fenômeno de overflow : sempre que uma operação aritmética produz um número com expoente superior ao expoente máximo. Fenômeno de underflow : ocorre sempre que uma operação resulta em um expoente inferior ao expoente mínimo. Representação do conjunto na reta real (para o caso do exemplo dado): Exemplo 1: Considere uma aritmética de ponto flutuante F(10,2,-5,5) Sejam x = 875 e y = 3172. Calcular x * y. Primeiro, deve-se arredondar os números e armazená-los no formato indicado. A operação de multiplicação é efetuada usando 2t dígitos. x = 0,88x 10 3 e y =0,32 x 10 4, x*y = 0,2816 x 10 7 Como o expoente é maior que 5, resulta em OVERFLOW. Sejam x =0,0064 e y=7312 Calcular x y. Primeiro, deve-se arredondar os números e armazená-los no formato indicado. A operação de divisão é efetuada usando 2t dígitos. x = 0,64x 10-2 e y = 0,73 x 10 4, x y = 0,8767 x 10-6 O resultado dessa operação resulta em um valor menor que o computador pode armazenar, ou seja,resulta em UNDERFLOW. (b) A mantissa representa um número finito de números Exemplo 1. Seja uma máquina que opere com apenas 6 dígitos na mantissa, ou seja, capaz de armazenar números no formato m = ± 0,d 1 d 2 d 3 d 4 d 5 d 6 x 10 e. Como armazenaríamos o número: 8

(0,11) 10 = (0,000111000010100011110101110000101000111101...) 2 nesta maquina? Como o número (0,11) 10 não tem representação binária finita, teremos neste caso: (0,11) 10 (0,000111) 2 (0,109375) 10 Para de armazenar Exemplo 2. Considere a representação binária de 0,6 e 0,7. 0,6=0,100110011001... 0,7=0,1011001100110... Se esses dois números forem representados na aritmética F(2,2,-1,2), eles serão representados igualmente por 0.10 2 0. Esse número equivale a 0,5 em decimal. Portanto, tanto o 0,6 quanto o 0,7 serão considerados 0,5. Exemplo 3. Operações em F(10,2,-5,5). Sejam x =4,32 e y=0,064. Calcular x + y. A adição aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números. x = 0,43 x 10 1 e y = 0,0064 x 10 1 x+y = 0,4364 x 10 1 Resultado com 2 dígitos : x+y = 0,44 x 10 1 Sejam x =372 e y=371 Calcular x - y. x = 0,37 x 10 3 e y = 0,37 x 10 3 x-y = 0,00 x 10 3 Resultado com 2 dígitos: x-y = 0,00 x 10 3 Sejam x =691 e y=2,71 Calcular x + y. x = 0,69 x 10 3 e y = 0,0027 x 10 3 x+y = 0,6927 x 10 3 Resultado com 2 dígitos : x+y = 0,69 x 10 3 ERROS A análise dos erros obtidos através de um método numérico representa uma etapa fundamental no processo de soluções numéricas. Exemplo: Calcule a área de uma circunferência de raio 100m. Alguns resultados obtidos: a) A=31400m 2 b) A=31416m 2 c) A=31415,92654 m 2 Como justificar as diferenças entre os resultados? É possível obter "exatamente" esta área? Os erros ocorridos dependem da representação dos números na máquina utilizada. A representação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na sua representação. 9

O número π, por exemplo, não pode ser representado através de um número finito de dígitos decimais. Em (a), o número π foi escrito como 3,14, em (b), como 3,1416, em (c) como 3,141592654. Em cada um foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximação escolhida para π. Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que π é um número irracional. 1- Número aproximado Um número é dito uma aproximação para o número exato se existe uma pequena diferença entre eles. Geralmente, nos cálculos os números exatos não são conhecidos e deste modo são substituídos por suas aproximações. Se > temos uma aproximação por excesso do valor exato. Se < temos uma aproximação por falta do valor exato. Exemplo: Como 1,41 < < 1,42 tempo uma 1,41 é uma aproximação por falta e 1,42 é uma aproximação por excesso. 2- Erro Absoluto EA Diferença entre um valor exato e sua aproximação. Cota para o erro: Muitas vezes o valor exato não é conhecido, logo EAx também não será conhecido. Solução: determinar uma cota para o erro ao invés de determinar o erro. Isso permitirá saber que, mesmo não conhecendo o erro, ele estará entre dois valores conhecidos. Dizemos que um número є > 0 é uma cota para o erro se EAx < є: Assim, mesmo não conhecendo o valor exato, podemos afirmar que ele está entre e, que são valores conhecidos. Uma cota є só tem algum valor prático se. 3- Erro Relativo ER Exemplo: ; e ; Assim: EAx=0,1 e EAy=0,0002. 10

Será que a aproximação é melhor que a? Devemos verificar que as grandezas dos números envolvidos são muito diferentes! O Erro Relativo é definido por: Logo, conclui-se que a aproximação é melhor que a, pois ERx < ERy. 4- Erros relacionados a aproximação de cálculos Ocorrem quando utilizamos num processo algorítmico infinito apenas uma parte finita do processo. Exemplo: Podemos usar como uma aproximação finita para o valor exato Para isso truncamos uma série infinita utilizando apenas uma parte finita dela. Neste exemplo utilizamos, para aproximação, apenas quatro termos da série: que é uma aproximação muito pobre para. 5- Erros devido ao armazenamento. Erros originados pela representação dos números reais utilizando-se apenas um número finito de casas decimais para representar um número real (em linguagem de programação número real é chamado de número de ponto flutuante). Os equipamentos eletrônicos utilizam nos cálculos a chamada aritmética finita. Existem dois tipos de erros por arredondamento: 11

a) Arredondamento truncado Regra: Desprezam-se os algarismos que ficam acima da (t+1)-ésima casa decimal, onde t representa o número de dígitos da mantissa. b) Arredondamento simétrico (ou arredondamento apenas) Regras: Se o valor do algarismo que fica na (t+1)-ésima casa decimal for menor do que 5, arredondamos o número e desprezamos todos os algarismos após a t-ésima casa decimal; Se for maior ou igual a 5, somamos 1 ao algarismo na t-ésima casa decimal e desprezamos os algarismos restantes. Exemplo: 12

EXERCÍCIOS RESOLVIDOS: 1- Uma máquina é capaz de armazenar quatro dígitos na mantissa usando arredondamento. Considere x=17534 e y=21178. Calcule os erros absolutos e relativos das variáveis x e y. Solução: Repita o exercício usando truncamento. 2- Considere uma maquina cujo sistema de representação de números é definido por: base decimal, 4 dígitos na mantissa (t=4), e expoentes no intervalo (-5,5). Pede-se: a) Qual o menor e o maior número, em módulo, representados nesta maquina? Solução: m=0,1000 10-5 = 10-6 M=0,9999 10 5 = 99990 b) Como será representado o número 73,758 nesta maquina, se for usado o arredondamento? E se for usado o truncamento? Solução: Truncamento: 0,7375 10 2 Arredondamento: 0,7376 10 2 c) Se a=42450 e b=3 qual o resultado de a+b? Solução: a+b= 0,4245 10 5 + 0,00003 10 5 = 0,42453 10 5 (NAS OPERAÇÕES ENVOLVENDO NÚMEROS PONTO FLUTUANTES ESTES DEVEM TER A POTÊNCIA DO MAIOR DELES) Mas o resultado será armazenado com 4 dígitos na mantissa, portanto a+b=0,4245 10 5. d) Qual o resultado da soma 13

nesta máquina? Solução: e) d) Qual o resultado da soma nesta máquina? Solução: Será que o resultado deve ser o mesmo? As operações devem ser realizadas na ordem em que aparecem as parcelas, o que conduzirá a resultados distintos....até terminar o número 3 que resultará no número 0.3000x10 2. Depois é feita a soma com o número 42450 e no final teremos: 0.3000 10 2 0.0003 10 5 S2=0.0003 10 5 + 0.4245 10 5 = 0.4248 10 5 14

3- Represente os números: 0.35, 5391 e 0.0003 no sistema F (10; 3; 2; 2). Solução: b) Para o número 5391, temos: 5391 = (5x10-1 + 3x10-2 + 9X10-3 ) x 10 4 (overflow) c) Para o número 0.0003, temos: 0.0003 = (3x10-1 + 0x10-2 + 0X10-3 ) x 10-3 (underflow) Exercício proposto: 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. 15

Referências: 1- Livro. Cálculo numérico. Márcia Ruggiero e Vera Lopes. 1- Apostila. Cálculo Numérico. Faculdade de Engenharia, Arquitetura e urbanismo. Prof. Dr. Sérgio Pilling. 3- Apostila. Cálculo Numérico. Eliete Biasotto Hauser. 16