Capítulo 1 - Erros e Aritmética Computacional

Documentos relacionados
Capítulo 1 - Erros e Aritmética Computacional

Capítulo 1 - Erros e Aritmética Computacional

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álculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Capítulo 2. Representação de números em vírgula flutuante

1. 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.

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:

Cálculo Numérico Noções básicas sobre erros

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Representação de números Conversão de base b para base 10

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Capítulo 6 - Equações Não-Lineares

Capítulo 4 - Equações Não-Lineares

Representação de números - Conversão de base b para base 10

Resolução do Exame Tipo

Erros e Aritmética de ponto flutuante

Métodos Numéricos - Notas de Aula

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

Aproximações e Erros

6.Elaboração de algoritmos...13

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

Aula 11. A Informação e sua Representação Ponto-Flutuante. Prof. Dr. Dilermando Piva Jr.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Cálculo Numérico. Erros em processamento Numéricos

UNIVERSIDADE EDUARDO MONDLANE MANUAL TEÓRICO

Noções sobre Erros em Matemática Computacional

Matemática Computacional. Edgard Jamhour

Modelagem Computacional. Parte 1 2

Erros em computações numéricas

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

Matemática Computacional Ficha 1: Capítulo /19

Números binários e erros

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

Capítulo 5 - Interpolação Polinomial

Matemática Computacional Ficha 1: Teoria dos erros (Capítulo 1) 1s-2017/18, MEEC

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

Capítulo 7 - Equações Diferenciais Ordinárias

Lista 1 de Exercícios de MAT Cálculo Numérico /II

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

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti

INSTITUTO SUPERIOR TÉCNICO Mestrado em Engenharia Electrotécnica e de Computadores Ano Lectivo: 2007/2008 Semestre: 2 o

CCI-22. Erros Erros de arredondamento, representação e de cálculo

UNIVERSIDADE FEDERAL DO PARANÁ DISCIPLINA DE MÉTODOS NUMÉRICOS 2º SEMESTRE 2004 Professora Aurora T. R. Pozo 1ª LISTA DE EXERCÍCIOS

ERRO DE ARREDONDAMENTO E TRUNCAMENTO

Sistemas Digitais INE 5406

Capítulo 4 - Interpolação Polinomial

Fundamentos IV. Introdução a análise de erros. Clarimar J. Coelho. August 14, Departamento de Computação

ARQUITETURA DE COMPUTADORES

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Arquitetura e Organização de Computadores

Organização e Arquitetura de Computadores I

Tópicos. - Cálculo numérico. - Representação de números. - Análise e representação de erros

Cálculo Numérico Conceitos Básicos

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Lista de Exercícios 1

INTRODUÇÃO. O processo de modelagem matemática para resolver problemas reais pode ser visto pelas seguintes etapas: Escolha de um Método Adequado

Cálculo Numérico. Profº Ms Ademilson Teixeira IFSC

Estudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução:

Sistemas numéricos e a Representação Interna dos Dado no Computador

Erros, Precisão Numérica e Ponto Flutuante

ARQUITETURA DE COMPUTADORES

Home 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:

CCI - 22 Matemática Computacional

Erros numéricos por Mílton Procópio de Borba

CÁLCULO NUMÉRICO (CN)

Números Binários. Apêndice A V1.0

Aula 2 - Representação e arredondamento

Capítulo 6 - Integração e Diferenciação Numérica

Ponto Fixo e Ponto Flutuante

Análise Numérica. Introdução. Teoria de Erros

Apontamentos de Matemática Computacional

Prof. Daniel G. Alfaro Vigo DCC IM UFRJ

Capítulo 6 - Integração e Diferenciação Numérica

Capítulo 5 - Integração e Diferenciação Numérica

Matemática Computacional - Exercícios

Matemática Computacional - Exercícios

Transcrição:

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 Métodos Numéricos 1 Métodos Numéricos Definição Aproximações 2 Tipos de Erros 3 Número de Condição Estabilidade e Exactidão 4 Notação de Virgula Flutuante Carlos Balsa Métodos Numéricos 2/ 21

Definição Aproximações Métodos Numéricos O que é a computação científica (tradicionalmente análise numérica)? Desenho e análise de algoritmos para a resolução numérica de problemas matemáticos oriundos da ciência e da engenharia Lida com quantidades contínuas Tem em conta as aproximações Nos métodos numéricos concentramos a nossa atenção nos principais métodos de cálculo usados na computação científica Para que serve a computação científica? Simular fenómenos naturais Conceber protótipos virtuais concebidos pela engenharia Carlos Balsa Métodos Numéricos 3/ 21

Definição Aproximações Origem das aproximações Antes da computação Modelação Medições empíricas Computações anteriores Durante a computação Truncatura ou discretização Arredondamentos A exactidão dos resultados finais reflecte todas as aproximações A incerteza dos dados introduzidos (input) pode ser amplificada pelo problema Perturbações durante a computação podem ser amplificadas pelo algoritmo Carlos Balsa Métodos Numéricos 4/ 21

Definição Aproximações Exemplo 1: aproximações Calcular a superfície terrestre através da formula utilizando a formula A = 4πr 2 envolve várias aproximações A Terra é modelada como uma esfera, idealizando a sua forma ideal O valor do raio é baseado em medidas empíricas e em computações anteriores O valor de π requer a truncatura de processos infinitos O valor dos inputs assim como das operações aritméticas são arredondadas no computador Carlos Balsa Métodos Numéricos 5/ 21

Tipos de Erros Erro Absoluto e Erro Relativo Erro absoluto = valor aproximado - valor exacto Erro relativo = erro absoluto valor exacto Ou, valor aproximado = valor exacto (1+ erro rel.) Valor exacto, normalmente desconhecido, pelo que é estimado ou limitado através de um erro máximo Erro relativo é geralmente baseado no valor aproximado em vez do valor exacto (desconhecido) Carlos Balsa Métodos Numéricos 6/ 21

Tipos de Erros Erros de dados e erros de computação Problema típico: calcular o valor da função f : IR IRpara os argumentos x valor exacto do argumento f (x) valor pretendido ˆx valor aproximado do input ˆf valor aproximado da função a calcular Erro total = ˆf (ˆx) f (x) = (ˆf (ˆx) f (ˆx)) + (f (ˆx) f (x)) = erro computacional + erro propagado O algoritmo não tem efeito no erro propagado Carlos Balsa Métodos Numéricos 7/ 21

Tipos de Erros Erro de truncatura e erro de arredondamento Erro de truncatura: diferença entre o resultado exacto (para o input actual) e o resultado produzido pelo algoritmo usando uma aritmética exacta Devido a aproximações tais como a truncatura de séries infinitas ou fins de processos iterativos antes de se verificar a convergência Erro de arredondamento: diferença entre o resultado produzido pelo algoritmo usando aritmética infinita e o resultado produzido pelo mesmo algoritmo usando uma aritmética de precisão limitada Devido a representação inexacta de números reais e às operações inexactas sobre esses números Os erros computacionais são a soma dos erros de truncatura e dos erros de arredondamento, normalmente, um destes é dominante Carlos Balsa Métodos Numéricos 8/ 21

Tipos de Erros Erro anterior (backward error) e erro posterior (forward error) Supondo que queremos calcular y = f (x), com f : IR IR, mas obtemos o valor aproximado ŷ Erro posterior (final) y = ŷ y, com ŷ = ˆf (x) Erro anterior (inicial) x = ˆx x Carlos Balsa Métodos Numéricos 9/ 21

Tipos de Erros Exemplo 2: erro anterior e erro posterior Como aproximação a 2, ŷ = 1.4 tem como erro absoluto posterior y = ŷ y = 1.4 1.41421 0.0142 que corresponde a um erro relativo posterior de cerca de 1% Uma vez que 1.96 = 1.4, o erro absoluto anterior é x = ˆx x = 1.96 2 0.04 que corresponde a um erro relativo anterior de cerca de 2% Carlos Balsa Métodos Numéricos 10/ 21

Análise do erro anterior Tipos de Erros Ideia: solução aproximada é a solução exacta do problema modificado De quanto deve ser modificado o problema original para originar o resultado obtido? Quanto é que o os erros nos inputs podem explicar todos os erros nos resultados calculados? A solução aproximada é boa se for a solução exacta de um problema próximo do original O erro anterior é por vezes mais fácil de estimar do que o erro à posterior Carlos Balsa Métodos Numéricos 11/ 21

Tipos de Erros Exemplo 3: análise do erro anterior Vamos aproximar a função cosseno f (x) = cos(x) através da série de Taylor truncada a partir dos 3 primeiros termos O erro posterior é dado por ŷ = ˆf (x) = 1 x 2 /2 y = ŷ y = ˆf f = 1 x 2 /2 cos(x) Para determinar o erro anterior, necessitamos do valor ˆx tal que f (ˆx) = ˆf (x) Para a função cosseno, ˆx = arccos(ˆf (x)) = arccos(ŷ) Carlos Balsa Métodos Numéricos 12/ 21

Número de Condição Estabilidade e Exactidão Um problema é insensível ou bem condicionado se mudanças relativas no input provocam mudanças relativas semelhantes na solução Um problema é sensível ou mal condicionado se mudanças relativas no input provocam muito maiores mudanças relativas na solução Número de condição Mud. relativa na sol. Cond = Mud. relativa nos inputs [f (ˆx) f (x)] /f (x) = = y/y (ˆx x) /x x/x O problema é sensível ou mal condicionado se Cond 1 Carlos Balsa Métodos Numéricos 13/ 21

Número de Condição Número de Condição Estabilidade e Exactidão O número de condição é um factor de ampliação do erro anterior em relação ao erro posterior Erro relativo posterior = cond Erro relativo anterior Normalmente o numero de condição não é exactamente conhecido e pode variar com o input, pelo que se usa uma aproximação ou um limite máximo para o valor de Cond Erro relativo posterior cond Erro relativo anterior Carlos Balsa Métodos Numéricos 14/ 21

Número de Condição Estabilidade e Exactidão Exemplo 4: Cálculo de uma função Calcular uma função para o input aproximado ˆx = x + x em vez de x Erro absoluto posterior: f (x + x) f (x) f (x) x Erro relativo posterior: Número de condição: cond f (x+ x) f (x) f (x) f (x) x f (x) f (x) x/f (x) x/x = xf (x) f (x) Erro relativo no valor da função pode ser muito menor ou muito maior do que o erro no input, dependendo de x e de f Carlos Balsa Métodos Numéricos 15/ 21

Exemplo 5: sensibilidade Número de Condição Estabilidade e Exactidão A função tangente é sensível para argumentos próximos de π/2 tan(1.57079) 1.58058 10 5 tan(1.57078) 6.12490 10 4 Mudança relativa no output é um quarto de milhão maior do que a mudança relativa no input Para x = 1.57079, cond 2.48275 10 5 Carlos Balsa Métodos Numéricos 16/ 21

Estabilidade e Exactidão Número de Condição Estabilidade e Exactidão Um algoritmo é estável se o resultado produzido for relativamente insensível a perturbações durante a computação Estabilidade de um algoritmo é análoga ao condicionamento do problema original Exactidão: proximidade da solução calculada da solução exacta do problema Exactidão depende do condicionamento do problema assim como da estabilidade do algoritmo A inexactidão pode resultar de aplicar algoritmos estáveis a problemas mal condicionados ou algoritmos instáveis a problemas bem condicionados Carlos Balsa Métodos Numéricos 17/ 21

Notação de Virgula Flutuante Notação de Virgula Flutuante Nos computadores os números são representados por um sistema de números de vírgula (ou ponto) flutuante da forma x = ±f x b E em que f x : mantissa (fracção) b: base E: expoente Maior parte dos computadores modernos são concebidos de acordo o sistema de ponto flutuante do IEEE, em que a base é binária (b = 2) Os computadores convertem os inputs, na base decimal (b = 10), para a base binária antes de efectuar as operações pedidas, posteriormente convertem também os resultados para a base decimal antes de serem apresentados Carlos Balsa Métodos Numéricos 18/ 21

Notação de Virgula Flutuante A forma padrão de representar um numero em computador é através da notação científica x = ±f x 10 E em que 1 f x < 10 (todos os dígitos de f x são significativos) Na notação científica normalizada tem-se 0.1 f x < 1 Em análise de erros esta notação é útil pois verifica a relação m = E t, em que m é o numero de posições décimas, t é o número de dígitos significativos e E é o expoente na base 10 quando x está representado nesta notação Por exemplo x = 0.0003450 x = 3.450 10 4 ou x = 3.450E 4: notação científica x = 0.3450 10 3 ou x = 0.3450E 3: not. normalizada Carlos Balsa Métodos Numéricos 19/ 21

Notação de Virgula Flutuante A exactidão do sistema de ponto flutuante é caracterizado pela unidade de arredondamento (ou precisão máquina), representada por ɛ maq Corresponde ao número de dígitos de precisão com que um número real é representado no sistema de ponto flutuante É o erro relativo máximo que se comete ao representar um número real no sistema de ponto flutuante No sistema IEEE de precisão simples ɛ maq 10 7 e no sistema IEEE de precisão dupla ɛ maq 10 16 Carlos Balsa Métodos Numéricos 20/ 21

Notação de Virgula Flutuante O valor mínimo (em valor absoluto) que é possível representar no sistema de ponto flutuante é designado por underflow O valor máximo (em valor absoluto) que é possível representar no sistema de ponto flutuante é designado por overflow No decorrer da execução de um algoritmo se o overflow ocorre verifica-se um erro fatal responsável pelo fim precipitado da execução Não confundir underflow com ɛ maq, embora ambos sejam pequenos, a precisão máquina depende do número de dígitos na mantissa (f x ) enquanto que o underflow é determinado pelo número de dígitos no campo do expoente (E) Num sistema de ponto flutuante temos 0 < underflow < ɛ maq < overflow Carlos Balsa Métodos Numéricos 21/ 21