Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gladys Castillo Universidade de Aveiro, 2010 1 1. Tipos de Erros em Cálculo Numérico Existem dois tipos de erros fundamentais associados ao cálculo computacional: • Erros de arredondamento os números reais são representados nos computadores e máquinas de calcular com precisão finita • Erros de truncatura a maioria dos métodos de cálculos fornecem soluções aproximadas, não exactas (ex: a utilização de um número finito de termos de uma série para calcular o valor de uma função) 2. Definições de Erros Seja x ∈ ℜ o valor exacto de um número e x uma aproximação de x . • Erro: xxx −=ε • Erro Absoluto: xxx −=Δ • Erro Relativo: x xx rx −= • Percentagem de erro: 100×xr % Exemplo 1: a) 000005.0 , 000006.0 == xx Erro Absoluto: 000001.0000005.0000006.0 =−=Δ x Erro Relativo: 2.0 000006.0 000001.0 ≈=−= x xx rx Percentagem de erro: 20 % Apesar de o erro absoluto ser pequeno um erro relativo de 20% não é aceitável. Gladys Castillo Universidade de Aveiro, 2010 2 b) 606000 , 600000 == xx Erro Absoluto: 6000606000600000 =−=Δ x Erro Relativo: 01.0 600000 6000 ≈=−= x xx rx Percentagem de erro: 1 % Apesar do erro absoluto de b) ser largamente maior, o erro relativo correspondente é pequeno (1%). Como os valores são de grande magnitude, apesar do erro absoluto ser elevado, a aproximação pode ser considerada boa. A importância de um erro é melhor observada quando quantificada em termos relativos. O erro relativo fornece mais informação do que o erro absoluto pois é uma medida da aproximação x a x, tendo em conta a ordem de grandeza do valor de x. 3. Aproximações por defeito e por excesso Seja x ∈ ℜ o valor exacto de um número e x uma aproximação de x . Def 1: x é uma aproximação por defeito se xx < . Def 2: x é uma aproximação por excesso se xx > . Exemplo 1: a) 000005.0 , 000006.0 == xx ⇒ xx < ⇒ x é uma aproximação por defeito b) 606000 , 600000 == xx ⇒ xx > ⇒ x é uma aproximação por excesso Gladys Castillo Universidade de Aveiro, 2010 3 4. Casas decimais correctas e algarismos significativos Definições informais: 9 um número x se encontra representado com d casas decimais correctas quando a sua parte decimal apresenta decimais e resulta de um arredondamento correctamente efectuado sobre um outro número. Exemplo: supondo que o número x=0.00354 está correctamente arredondado, então possui 5 casas decimais correctas (d=5) 9 um número x se encontra representado com k algarismos (ou dígitos) significativos quando está representado por k algarismos, contados da esquerda para a direita, a partir do primeiro algarismo diferente de zero. Exemplo: supondo que o número x=0.00354 está correctamente arredondado, então possui três algarismos significativos (k=3). Seja x ∈ ℜ o valor exacto de um número e x uma aproximação de x . Def 3: x é uma aproximação de x com pelo menos d casas decimais correctas se: d x xx −×≤−=Δ 105.0 Para determinar o número de algarismos significativos da aproximação x pode-se utilizar este resultado importante1: Proposição 1: Se Nkr kx ∈×≤ − ,105.0 então x tem pelo menos k algarismos significativos Exemplo 2: (exercício 3 (a) FP1) 7182.2 , 71828182.2 == xx 34 105.010)8182.0(7182.2 71828182.2 −− ×<=−=Δ x ⇒ x tem pelo menos 3 casas decimais correctas 1 A prova deste resultado pode ser encontrada na página 86 do livro “Introdução à Análise Numérica de Jorge Sá Esteves Gladys Castillo Universidade de Aveiro, 2010 4 44 4 105.0103.0 71828182.2 10)8182.0( −−− ×<×≈=−= x xx rx ⇒ x tem pelo menos 4 algarismos significativos 5. Computação em Ponto Flutuante (estudar acetatos 1-19 capítulo 1) O Sistema de representação em ponto flutuante FP (b, p, q) com b – base do sistema p - número de dígitos da mantissa q – número de dígitos do expoente contém todos os números reais da forma: tmbx ±= onde m ≥ 0 é a mantissa e t é o expoente Dado que um número neste formato pode ser representado de diferentes formas que são equivalentes, devemos estabelecer uma única representação. Por isso é habitual trabalhar com números normalizados. Por exemplo, na base b=10, o número 10.75 pode ser expressado como mantissa expoente 10.75 x 100 → não normalizado 1.075 x 101 → não normalizado 0.1075 x 102 = + (.1075)10+2 → normalizado Assim, para um número decimal representado em sistema de ponto flutuante FP(b, p, q) verificasse ainda (por definição) que 0.1 ≤ m ≤ 1-10-p . Gladys Castillo Universidade de Aveiro, 2010 5 Exemplo 3: Determine uma representação de x=0.001329 em formato de ponto flutuante FP(10, 4, 2). Podemos representar em FP(10, 4, 2) todos os números reais da forma 2101 )....(. 421 ttdddx −−−±= 4 dígitos para a mantissa , 2 dígitos para o expoente com 0 ≤ d-i ≤ 9, i=1,…,4; d-1 ≠ 0 (← normalizado); 0 ≤ t1 , t2 ≤ 9 Para x=0.001329 → fl(x) = + (.1329) 10-2 Neste caso x tem representação exacta em FP(10, 4, 2). Exemplo 4: Determine uma representação de π=3.14159265… em formato de ponto flutuante FP(10, 5, 2). Como neste caso π não tem representação exacta em FP(10, 5, 2) podemos determinar uma aproximação de π por truncatura ou arredondamento. 6. Aproximações obtidas por truncatura e arredondamento Seja x ∈ ℜ e fl(x) a representação de x no sistema de ponto flutuante FP(b, p, q) 9 se x = fl(x), então x tem representação exacta em FP(b, p, q) 9 se x ≠ fl(x), então podemos determinar uma aproximação x de x por: • truncatura: desprezando os dígitos d-p-1, d–p-2, … da mantissa m Exemplo 4 (continuação): π=3.14159265…, fl(π) = + (.31415)1001 em FP(10, 5, 2, T) • arredondamento: aproximando pelo número do sistema FP(b, p, q) que está mais próximo de x em valores absolutos • se o primeiro algarismo da parte eliminada for inferior a 5, o número obtido é a verdadeira representação, após arredondamento, do número dado; • se o primeiro algarismo da parte eliminada for não inferior a 5, adiciona-se uma unidade ao algarismo da última ordem decimal conservada. • se o primeiro algarismo da parte eliminada for igual a 5 podemos arredondar para cima (adiciona-se 1 ao algarismo da última ordem decimal conservada) ou utilizar arredondamento simétrico (aproxima-se pelo algarismo par mais próximo) Gladys Castillo Universidade de Aveiro, 2010 6 Exemplo 5: (exercício 4, (d), FP1) Determine uma representação de x = -83785 em formato de ponto flutuante com arredondamento FP(10, 4, 2, A) . x ≈ fl(x) = - (.8379)105 - arredondamento para cima x ≈ fl(x) = - (.8378)105 - arredondamento simétrico (aproxima-se pelo algarismo par mais próximo, neste caso 8) 7. Algarismos significativos em computação em ponto flutuante Seja x ∈ ℜ e x =± 0. d-1 d-2 …d-k d-k-1…d-k-m x 10p ∈ ℜ uma aproximação de x. Def 3: x é uma aproximação de x com pelo menos d casas decimais correctas se: (repetida) d x xx −×≤−=Δ 105.0 Def 4: x é uma aproximação de x com pelo menos k algarismos significativos se: pk x xx +−×≤−=Δ 105.0 adicionalmente, se 1105.0 −+−×>−=Δ pkx xx então x é uma aproximação de x com exactamente k algarismos significativos Exemplo 2: (exercício 3 (a) FP1, revisto) 7182.2 , 71828182.2 == xx Podemos representar a aproximação 7182.2=x obtida de x por corte em formato de ponto flutuante 1º. Determinar o expoente p2: 7182.2=x = (.27182)101 ⇒ p = 1 2º. Determinar d: 34 105.010)8182(.7182.2 71828182.2 −− ×<=−=Δ x ⇒ d = 3 ⇒ x tem pelo menos 3 casas decimais correctas 2 Note que a partir de aqui é utilizada a letra “p” para representar o expoente no formato de FP em vez de t Gladys Castillo Universidade de Aveiro, 2010 7 3º. Determinar k: Pela def 3 e def 4 vem: - d = - k + p ⇔ -3 = -k + 1 ⇔ k = 3 + 1 ⇒ k = 4 ⇒ x tem pelo menos 4 algarismos significativos Como adicionalmente verifica-se que: 111444 105.0105.0105.0108182.0 −+−−+−−− ×=×=×>×=−=Δ pkx xx ⇒ x tem exactamente 4 algarismos significativos ( x = 2.7182 ) Exemplo 6: Determinar o número de algarismos significativos para a aproximação 000125.0=x obtida de x=0.0001256723 por corte em FP(10, 6, 2, T) 1º. Determinar p: 000125.0=x = (.125) 10-3 ⇒ p = -3 2º. Determinar d: 56 105.0106723.0 −− ×≤×=−=Δ xxx ⇒ d= 5 ⇒ x tem pelo menos 5 casas decimais correctas 3º. Determinar k: Pela def 3 e def 4 vem: - d = - k + p ⇔ -5 = -k – 3 ⇔ k = 5 – 3 ⇔ k = 2 ⇒ x tem pelo menos 2 algarismos significativos Como adicionalmente verifica-se que: 113266 105.0105.0105.0106723.0 −+−−−−−− ×=×=×>×=−=Δ pkx xx ⇒ x tem exactamente 2 algarismos significativos ( x = 0.000125 ) Utilizando agora o resultado da proposição 1 podemos determinar o número de algarismos significativos utilizando o majorante do erro relativo. Se Nkr kx ∈×≤ − ,105.0 então x tem pelo menos k algarismos significativos Como 12 105.0105349.0 −− ×<×≈xr então x tem pelo menos 1 algarismo significativo (neste caso particular mostramos que tem exactamente 2 algarismos significativos) Gladys Castillo Universidade de Aveiro, 2010 8 Exemplo 7 Considere as aproximações para o valor deπ , tπ = .3141(1001) em FP(10, 4, 2, T) (por corte) e aπ = .3142(1001) em FP(10, 4, 2, A) (por arredondamento). Tomando como “exacto” o valor de π dado pela sua máquina de calcular, calcule o erro absoluto e o erro relativo de cada uma das aproximações, e, diga, justificando, quantos algarismos significativos possui tπ e aπ . Em Matlab: » p=pi p = 3.141592653589793e+000 » pt=3.141 pt = 3.141000000000000e+000 » pa=3.142 pa = 3.142000000000000e+000 » err_abs_pt = abs(p-pt) err_abs_pt = 5.926535897931018e-004 » err_abs_pa = abs(p-pa) err_abs_pa = 4.073464102067881e-004 » err_rel_pt = abs((p-pt)/p) err_rel_pt = 1.886474967134572e-004 » err_rel_pa = abs((p-pa)/p) err_rel_pa = 1.296623894702984e-004 tπ =0.3141(1001) em FP(10, 4, 2, T) 1º. Determinar p: tπ =0.3141(1001) ⇒ p = 1 2º. Determinar d: 23 105.010592653.0 −− ×≤×≈− tππ ⇒ d = 2 ⇒ tπ tem pelo menos 2 casas decimais correctas. 3º. Determinar k: Pela def 3 e def 4 vem: - d = - k + p ⇔ -2 = -k + 1 ⇔ k = 2 + 1 ⇔ k = 3 ⇒ tπ tem pelo menos 3 alg. sign. Adicionalmente como: 33 105.010592653.0 −− ×>×≈− tππ ⇒ tπ tem exactamente 3 algarismos aπ = 0.3142(1001) em FP(10, 4, 2, A) 1º. Determinar p: aπ = 0.3142(1001) ⇒ p = 1 2º. Determinar d: 33 105.010407346.0 −− ×≤×≈− aππ ⇒ d = 3 ⇒ aπ tem pelo menos 3 casas decimais correctas. 3º. Determinar k: Pela def 3 e def 4 vem: - d = - k + p ⇔ -3 = -k + 1 ⇔ k = 3 + 1 ⇔ k = 4 ⇒ aπ tem pelo menos 4 alg. sign. Adicionalmente como: 43 105.010407346.0 −− ×>×≈− aππ ⇒ aπ tem exactamente 4 alg. sign. ⇒ aπ = 3.142 Gladys Castillo Universidade de Aveiro, 2010 9 Referencias 1. Heitor Pina, Métodos Numéricos, McGraw-Hill, 1995. 2. Jorge Sá Esteves, Introdução à Análise Numérica, Vol. I, Universidade de Aveiro, 1996 3. Isabel Cação, Acetatos de Métodos Numéricos 10/11, Introdução à computação numérica 4. Rosália Rodrigues, Capítulo I – Representação de números e erros, disponível em: http://www2.mat.ua.pt/rosalia/cadeiras/AN/TPcap1.pdf. 5. Balsa e A. Santos, Capítulo I – Erros e Aritmética Computacional, disponível on-line em: http://www.ipb.pt/~balsa/teaching/MN08/Cap1.pdf
Compartilhar