Teoria de erros. Computação Teoria de erros Porquê?

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

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

Erros e Aritmética de ponto flutuante

Noções sobre Erros em Matemática Computacional

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

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

UNIVERSIDADE EDUARDO MONDLANE MANUAL TEÓRICO

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.

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

Fundamentos. Capítulo 1

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

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

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

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

Matemática Computacional. Edgard Jamhour

Fundamentos IV. Introdução a análise de erros. Gustavo Vinhal. August 12, Escola de Ciências Exatas e Computação

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

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. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

Métodos Numéricos - Notas de Aula

Números binários e erros

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

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

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

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

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

Capítulo 1 - Erros e Aritmética Computacional

ERRO DE ARREDONDAMENTO E TRUNCAMENTO

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

Representação de Números em Ponto Flutuante

Representação e erros numéricos

Representação e erros numéricos

2004/2005. Erros PROBLEMAS

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

Cálculo Numérico. Prof. Sérgio Queiroz 03/04/2014. Aula 2 Erros e Aritmética de Ponto Flutuante

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

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Modelagem Computacional. Parte 1 2

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:

Representação e erros numéricos

Sistemas de Computação. Sistemas de numeração

Representação e erros numéricos

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

Disciplina: Introdução à Engenharia da Computação

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

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Erros, Precisão Numérica e Ponto Flutuante

Universidade Federal de Santa Catarina - Centro Tecnológico - Depto. de Informática e Estatística INE5202 Cálculo Numérico

Introdução à Computação

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

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

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

ARQUITETURA DE COMPUTADORES

Cálculo Numérico Prof. Guilherme Amorim 24/10/2013. Aula 2 Erros e Aritmética de Ponto Flutuante

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

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

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

Sistemas Digitais INE 5406

Capítulo 1 - Erros e Aritmética Computacional

Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

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

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva

ERROS. Representação de Números

Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO

Aproximações e Erros

Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.

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

Arquitetura e Organização de Computadores

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

Métodos Numéricos - Notas de Aula

Universidade Federal do Espírito Santo - UFES

Projecto de Sistemas Digitais. Introdução

DURAÇÃO DA PROVA: 2 horas

Resolução do Exame Tipo

Cálculo Numérico Conceitos Básicos

INSTITUTO SUPERIOR TÉCNICO LEFT LEBL LQ LEAM LEMAT Ano Lectivo: 2006/2007 Semestre: 2 o

ARQUITETURA DE COMPUTADORES

a base da potência usada coincide com a base do sistema de numeração.

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua

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

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

Organização e Arquitetura de Computadores I

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

Conceitos e Princípios Gerais

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

Ponto Flutuante IEEE 754

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

Sistemas de Computação. Representação em Ponto Flutuante

Arquitetura e Organização de Computadores

ANÁLISE NUMÉRICA DEC /97

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

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

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

CÁLCULO NUMÉRICO (CN)

Transcrição:

Teoria de erros Computação 003-004 Teoria de erros Porquê? Exemplos 0.^0 -.e-0= 5.698788845643e-06 f(x,y)=333.75y 6 +x (x y -y 6 -y 4 -)+5.5y 8 +x/(y) Matlab f(7767,33096) y -.806e+0 (Matlab) Maple f(7767,33096) = -0.873960599468 (40 Digits) f(7767,33096) = 0. 0 8 (30 Digits) Resultado exacto = -0.873960599468

Erros computacionais Números em vírgula flutuante (float) Float= sinal mantissa base expoente Mantissa (< e 0.) com t dígitos, expoente com k dígitos (+). Números representados pela máquina overflow underflow -x max -x min 0 x min x max (só um conjunto finito de pontos x i =x i- (+epsilon)) Epsilon=ε M =b -t+ overflow 3 Erros computacionais Exemplos: (3.4) 0 +0.34 0 c (3 0 - + 0 - +4 0-3 ) 0 (-0.) -0. 0 4 c ( - +0 - + -3 + -4 + -5 + -6 ) 4 4

Erros computacionais Qual a causa dos erros? Nem todos os números podem ser representados A adição (+) e a multiplicação ( ) não são operações internas no conjunto dos números em vírgula flutuante 5 Causas dos erros Suponhamos uma máquina com b=0, t=4 e k= 0-0 x <0 9 Overflow x > xmax 0.935 0 6 0.347 0 4 =0.34573 0 0 >0 9 erro? Underflow x < xmin 0.543 0 6.046035 0 0 0 0 5 = < 0? 0.593 mantissa com mais do que t dígitos 0.347 0 +0.830 0 =0.78 0 guarda só 0.935 0-0.347 0 3 =0.34573 0 4 dígitos 6 3

Como é guardado o número? Truncando 0.d d d t d t+ d n β k 0.d d d t β k Arredondando 0.d d d t d t+ d n β k 0.d d d* t β k d t d * t = d t + se se d < t + β d + t β 7 Resultado Truncando Arredondando 0.78 0 0.78 0 0.78 0 0.34573 0 0.345 0 0.346 0 Erros computacionais No Matlab (b=) x min realmin = -0 y.5e-308 (aceita até () -074 =eps*realmin y4.9407e-34) x max realmax =(-eps). 04 y.7977e+308 ε M =eps=.e-06= -5 (t=53) (K=0) +epsk overflow Inf underflow 0 (se x<eps +x=) 8 4

Teoria de erros Mudança de base a b Se x é inteiro Resto= β ( x) ( x) Exemplo 0 a a ( b) = β b (5) 0 =(00) =( 4 + 3 +0 +0 + 0 ) 0 = n i= β b a i i Fr + n i= Q β b i i 5 05 0 6 0 3 9 Teoria de erros Mudança de base a b Se x é fraccionário ( x) = Exemplo 0 a n i = β b ( x) ( b) = β + βb (0.6875) 0 =(0.0) =( - +0 - + -3 + -4 ) 0 i i a a i i = Int n Fr ( i ) 0.6875.3750 0.375 0.750 0. 75. 50 0.5.0 0 5

Teoria de erros Como aparecem erros? (0.) 0 = (0.0(00)) período Com 53 dígitos como em Matlab (0.) 0 0.00000000000000000000000000000.09999999999999999673373 Erro=0.-0.09999999999999999673373 0.8 0-7 Como se representa os erros? Erro absoluto = valor exacto - valor aproximado Erro relativo = valor exacto - valor aproximado valor exacto Exemplo.7 aproxima e=.78888... com: erro absoluto erro relativo e-7.7 0.7 0 - e.7 0.063% e O erro absoluto vem nas unidades do valor exacto. O erro relativo não tem unidades e, por isso, muitas vezes é apresentado em % 6

Algumas noções. Algarismos significativos (a.s.) de um número são todos os dígitos usados na escrita com excepção dos zeros para atingir a casa das unidades. (exemplo: 0.059 tem 3 a.s.) Algarismos significativos correctos (a.s.c.) (ou exactos) Um a.s. de um número aproximado a de uma quantidade exacta A diz-se correcto se erro absoluto ε= A-a 0.5 0 -m onde m está associado à casa decimal (c.d.) ocupada pelo algarismo. 3 Algumas noções. Casas decimais (c.d.) Algarismos significativos (a.s.) Exemplos: 36.089 tem 3 c.d. e 5 a.s. 0.00356 tem 5 c.d. e 3 a.s. 3.570 0-4 tem 3+4 c.d. e 4 a.s. c.d. depende das unidades (0-4 ) a.s. não depende das unidades 4 7

Algumas noções. Algarismos significativos correctos (a.s.c.) Regras de arredondamento Exemplos: Arredondar para 4a.s.c.: 9.634 9.63 8.9773 8.98 0.67495 0.6750 Erro absoluto = 0.4 0 - ( c.d.c.) = 0.7 0-3 (3 c.d.c.) = 0.5 0-4 (4 c.d.c.) Erro relativo 0.8 0-4 (4 a.s.c.) 0.33 0-4 (4 a.s.c.) 0.74 0-4 (4 a.s.c.) 5 Relações entre os erros e os a.c. c.d.c. e erro absoluto ε. n cd.. c ε 0.5 0 n a.s.c. e erro relativo δ. δ 0.5 0 n n a. s. c. 6 8

Propagação de erros Calcule a soma de dois valores A=a+ε a e B=b+ε b A+B=(a+b)+(ε a +ε b ) soma =(a+b) ε soma = (ε a +ε b ) Exemplo: Somar π+e usando os valores aproximados 3.46 e.7 respectivamente. 3.46+.7=5.866 (c.d.c.) π+e=5.8599 ( 5.8599-5.866 0. 0 - ) 7 Propagação de erros Calcule a área de um rectângulo de lados, A=a+ε a e B=b+ε b b ε b a a b a ε b ε a area= a b b ε a ε area a ε b + a ε b ε a ε b δ area δ a + δ b 8 9

Propagação de erros Exemplos: Calcular pois 3.35 π 3.45 37.6 π 37.74 5.35 + π 5.45 π e + π com π 3.4 π 3.4 = 37.68 3 a.s. + π = +3.4 =5.4 c.d. 9 - Regras Práticas. Adições c.d. Numa adição o resultado deverá ter tantas casas decimais quantas as da parcela com menos casas decimais correctas. Produtos a.s. No produto (ou divisão) o resultado deverá ter tantos algarismos significativos quantos os do número com menos algarismos significativos correctos. Os números exactos têm um número infinito de c.d. e de a.s.. 0 0

- Aritmética em vírgula flutuante. O erro relativo cometido é ε M. Logo, se só se fizer produtos ( ), os t a.s. Podem considerar-se correctos ( ). O erro absoluto vai depender da ordem de grandeza do número. Logo, nas adições, alguns dos t a.s. podem deixar de ser correctos. Quando se faz adições e produtos, os erros introduzidos pelas adições podem fazer com que os produtos também percam a.s.. - Aritmética em vírgula flutuante. Exemplos: máquina com b=0, t=4, k=. Adição de números de ordem de grandeza diferente. Prop. comutativa não é válida. 0.3567 0 0.4985 0-3 0.3567 0 +0.48 0-3 0.356748 0 fl(soma)=0.3567 0 0.48 0-3 0.4985 0-3 0.9806 0-3 +0.3567 0 0.35679806 0 fl(soma)= 0.3568 0 É vantajoso começar por adicionar as parcelas mais pequenas.

- Aritmética em vírgula flutuante. Calcular 3774+5.874-3779. (Números exactos) fl(3774+5.874)=3780( 3779.874 ) fl(3780-3779)= ( a.s. (a.s.c)) fl(3774-3779)= - 5 (exacto) fl(5.874-5) = 0.874 (exacto) Número aproximado com 0 c.d.c. Diferença de números aproximados muito próximos faz perder a.s. Calcular (3774+5.874-3779) 7.53. (Números exactos) fl( 7.53)= 7.53 ( a.s.) fl(0.874 7.53)= 6.339 (4 a.s.c.) 7.53-6.339 0.9 (0 a.s.c.) 3 Exercício: Determinar e pela n expressão e = lim + n Programa- ficheiro limite.m n % calculo de e atraves de lim ki=input(' valor inicial de n '); k=56; e=exp(); for i=ki:5:k n=^i; % n vai ser uma potência de b=+/n; % b=+^-i c=b^n; fprintf('%d %.6f %.6f %6.f \n',i, b, c, e); end 4

Exercício: Determinar e usando limites. >> limite valor inicial de n 35 35.000000000090380.78888494890.7888845904550 40.00000000000090950.788884578090.7888845904550 45.0000000000000840.7888845900650.7888845904550 50.00000000000000090.7888845904380.7888845904550 55.00000000000000000.00000000000000000.7888845904550 >> limite valor inicial de n 5 5.0000000000000000.7888845904460.7888845904550 >> limite valor inicial de n 53 53.00000000000000000.00000000000000000.7888845904550 5 Como evitar alguns problemas de programação Exercício 5.4 Ficheiro exer54.m %(extremo inicial extremo final <) h=input('array de alturas: ); intsup=[.55:0.05:.95 Inf]; intsup=intsup-eps*; %3ª inst ocorrencias=zeros(0,); for i=:length(h) j=; while h(i)>=intsup(j) j=j+; end ocorrencias(j)=ocorrencias(j)+; end disp([(:0)' ocorrencias]) >> exer54 array de alturas: [.5;.7;.75;.73;.87] Corrida sem a 3ª instrução 0 3 0 4 5 6 7 0 8 9 0 0 0 Corrida com a 3ª instrução 0 3 0 4 0 5 6 7 0 8 9 0 0 0 intsup(4)-h()=.04e-06 6 3