UNIVERSIDADE EDUARDO MONDLANE MÉTODOS NUMÉRICOS MANUAL TEÓRICO José A. Nhavoto, MSc Julho de 2011
Conteúdo 1 Noções básicas sobre erros 4 1.1 Introdução a erros.................................. 4 1.2 Representação em Virgula Flutuante........................ 4 1.2.1 Notação científica............................... 4 1.2.2 Vírgula Flutuante............................... 5 1.3 Erro absoluto, erro relativo e erro percentual................... 5 1.3.1 Erro absoluto................................. 5 1.3.2 Erro relativo.................................. 5 1.3.3 Erro percentual................................ 5 1.4 Tipos de Erro e Arredondamento.......................... 6 1.4.1 Erro de Arredondamento........................... 6 1.4.2 Erro de Truncamento............................. 6 1.4.3 Arredondamento por falta.......................... 7 1.4.4 Arredondamento por excesso......................... 7 1.4.5 Arredondamento simétrico.......................... 7 1.5 Algarismos significativos e exactos.......................... 8 1.5.1 Algarismos significativos........................... 8 1.5.2 Algarismos exactos.............................. 8 1.6 Aritmética de Ponto Flutuante........................... 8 1.7 Propagação dos erros................................. 9
1.7.1 Fórmula fundamental do cálculo de erros.................. 10 1.7.2 Algumas aplicações.............................. 11 3
Capítulo 1 Noções básicas sobre erros 1.1 Introdução a erros A Análise Numérica trata do estudo da aproximação de problemas por cálculo aproximado, onde os erros associados a essa aproximação, se podem classificar: Erros Inerentes: São os erros contidos nos próprios dados. Ao resolvermos um problema, se os dados que possuímos estiverem afectados de erros, esses erros transmitem-se aos resultados finais. Erros do Método: Outro tipo de erros, que derivam da utilização de determinado método que aproxima o problema. Erros Computacionais: São os erros específicos resultantes da utilização de uma máquina finita (ver nota de rodapé). Ainda que os dados sejam correctos e que o método seja exacto, certas operações efectuadas pela máquina não podem ser executadas com exactidão, gerando-se este tipo de erros. 1.2 Representação em Virgula Flutuante 1.2.1 Notação científica Começamos por ver como representamos um qualquer número real. Um número real é uma classe de equivalência de sucessões de Cauchy de racionais. Como tal, pode admitir várias representações, mas normalmente tomamos como representante dessa classe uma sucessão de racionais que são múltiplos de uma potência de 10 (base decimal): x = ±0; a 1 a 2 : : : a n : : : 10 t
No caso da notação científica, um número representa-se através do sinal, da mantissa e do expoente, na base decimal. O primeiro dígito da mantissa deve ser diferente de zero (o zero é representado à parte) e os outros variam entre 0 e 9. 1.2.2 Vírgula Flutuante A representação do número na forma de vírgula flutuante é: V F (10; n; t 1 ; t 2 ) e é o conjunto dos números x = ±0; a 1 a 2 : : : a n : : : 10 t onde t varia em {t 1 ; : : : ; t 2 } e que inclui o zero. Os números assim representados estão limitados por: Overflow: Acontece se o valor do expoente t é superior a t 2. Underflow: Acontece se o valor do expoente t é inferior a t 1. 1.3 Erro absoluto, erro relativo e erro percentual Seja x o valor exato de um número e seja x o valor aproximado do mesmo número, então, tem-se que: 1.3.1 Erro absoluto E a é a diferença entre o valor exacto de um número e o seu valor aproximado, ou seja: E a = x x 1.3.2 Erro relativo E r é a razão entre o erro absoluto e o valor exato x ou, na prática, o valor aproximado de um número x. Logo se tem que: 1.3.3 Erro percentual E r = E a x ou E r = E a x : Erro percentual é a representação percentual do erro relativo. Logo, temos: E p = (E r 100)% م م ى ف م م قف م م ك ف 00002. = 0, x م = 0, 00003 x :فيمس 1.1. Exemplo. ف مك م Solução: 5
E a = 0, 00003 0, 00002 = 0, 00001 E r = 0, 00001 0, 00002 = 0, 5 E p = (0, 5 100)% = 50% 1.4 Tipos de Erro e Arredondamento Arredondar um número é proceder ao truncamento desse número, na posição desejada, de acordo com a precisão requerida. 1.4.1 Erro de Arredondamento Arredondar um número na casa d i é desconsiderar as casas d i+j (j = 1; : : : ; ) de tal forma que: d i seja a última casa se d i+1 < 5; d i + 1 seja a última casa se d i+1 5. Exemplo 1.2. Arredondar na quarta casa decimal, sendo que = 3; 1415926535 : : : Solução: = 3; 1416 1.4.2 Erro de Truncamento Truncar um número na casa d i é desconsiderar as casas d i+j (j = 1; : : : ; ). Exemplo 1.3. Aproximar truncando na quarta casa decimal, sendo que = 3; 1415926535 : : : Solução: = 3; 1415 O erro de truncatura surge cada vez que se substitui um procedimento matemático infinito por um processo finito ou discreto. Exemplo 1.4. A Série de Taylor da função f(x) = e x em torno de x = 0 é expressa por: e x = 1 + x 1! + x2 2! + : : : + xn n! + : : : : Então e 1 = 1 + 1 1 + 1 2 + : : : + 1 n! + : : : : Utilizando os 5 primeiros termos da série, tem-se: e 1 = 2:708 Utilizando os 30 primeiros termos da série, tem-se: e 1 = 2:71828182845905 6
1.4.3 Arredondamento por falta Quando é feito o simples truncamento de um número, considerando-se apenas algumas casas decimais. 1.4.4 Arredondamento por excesso Quando se trunca um número na posição desejada e, então, acrescenta-se 1 (uma unidade) ao algarismo final. 1.4.5 Arredondamento simétrico Tem-se que considerar, agora, 3 situações diversas, sendo: 1. Quando o primeiro algarismo após a cisão for menor do que 4, é procedido o arredondamento por falta. 2. Quando este primeiro algarismo, após a cisão, for maior que 4, procede-se o arredondamento por excesso. 3. Quando este primeiro algarismo após a cisão for igual a 4, o arredondamento dependerá do segundo algarismo após a cisão. Exemplo 1.5..ف فن ىه عل ٦ ف ف ٩ مل ١٤٣٥٦ ٤٥٦٧ مل لم ء.١. ف م ف ١٤٣٥٦ ٤٥٦٧ مل لف ى ف ف Solução: ١٤٣٥٦ ٤. مك م ىه عل ٨ ف ف ١٠ مل ١ ٨٧٣٤٣٢٥٧٦ مل لم ء.٢. ف م ف ١ ٨٧٣٤٣٢٥٧٦ مل لف ى ف ف Solução: ١ ٨٧٣٤٣٢٦.م م فكى م ى ىه عل ٦ ف ف ٩ مل ٢ ٨٥٣٢٣٣٤٣ مل لم ء.٣. ف م ف ٢ ٨٥٣٢٣٣٤٣ مل لف ى ف ف Solução: ٢ ٨٥٣٢٣.م م فكى م ى ىه عل ٦ ف ف ٨ مل ٣ ٢٥٦٢٥٥٤ مل لم ء.٤. ف م ف ٣ ٢٥٦٢٥٥٤ مل لف ى ف ف Solução: ٣ ٢٥٦٢٦.م م فكى م ى ىه عل ٤ ف ف ٩ مل ٤ ٢٦٤٤٢٥٢٤ مل لم ء.٥. ف م ف ٤ ٢٦٤٤٢٥٢٤ مل لف ى ف ف Solução: ٤ ٢٦٤ لف ى ف ف ٥ ١٧٤ : فﷺكچ س.م م فكى م ى ىه عل ٤ ف ف ٩ مل ٥ ١٧٤٣٢٥٢٤ مل لم ء.٦. ف م ف ٥ ١٧٤٣٢٥٢٤ مل 7
1.5 Algarismos significativos e exactos 1.5.1 Algarismos significativos Chama-se algarismos significativos de uma dízima, a todo o algarismo dessa dízima que é diferente de zero, ou tem à sua esquerda pelo menos um algarismo diferente de zero. Exemplo 1.6. 2; 35 3 0; 042 2 0; 2340 4 0; 457 10 2 3 1.5.2 Algarismos exactos Diz-se que um dado valor aproximado x de um número x, tem m algarismos exactos sse o erro absoluto desse número for inferior a 0:5 10 m+i, onde i é o número de dígitos da parte inteira. Podemos a partir da fórmula do erro absoluto, deduzir a fórmula que relaciona o erro relativo com o número de algarismos exactos: x x 0:5 10 m+i x 10 m+i onde é o primeiro algarismo significativo do número 1.6 Aritmética de Ponto Flutuante Para um dado sistema de representação numérica, temos agora que definir as operações aritméticas elementares neste sistema. Qualquer que seja a definição final, estas operações têm que ser compatíveis com as operações aritméticas conhecidas, em particular, para números que são exactamente representáveis no nosso sistema, estas têm que coincidir com as operações aritméticas clássicas. O problema é que, por exemplo, dados dois números x; y F P (b; n; m; ), pode acontecer que x + y F P (b; n; m; ). E esta afirmação é válida para as outras operações aritmeticas. A solução deste problema envolve uma aproximação (normalmente, a mesma aproximação que é feita para a representação), logo, introduz mais erros, que têm de ser contabilizados para termos uma ideia de quão fiáveis são estas operações. 8
A definição geral é a seguinte: dada uma operação aritmética {+; ; ; =} e x; y F P (b; n; m; ), definimos: fl(x) fl(y) = fl(x y) Ou seja, dados dois números pertencentes ao sistema, primeiro calculamos o resultado da operação aritmética com os algoritmos habituais. Em geral, o resultado não está normalizado, nem vai pertencer ao sistema, por isso, normalizamos e voltamos a aplicar o processo de aproximação. Exemplo 1.7. Calcular, em V F (10; 4; 2; T ), x + y, para x = 1:256879 e y = 0:985441. Temos x = 1:256 e y = 0:9854, logo z = x + y = 0:1256 + 0:9854 = 1:111. Então z = 0:1111. 1.7 Propagação dos erros Em métodos numéricos, os cálculos não são feitos com números exatos. Como essas imprecisões podem-se propagar nos cálculos? Voltemos ás operações aritméticas: Multiplicaão: Então: f(x; y) = xy. Os números de condição são p x = x f x xy xy x + y = xy xy = 1 e p y = 1. Divisão: f(x; y) = x y. Temos p x = x f x x=y = 1 e py = 1. Então: x y x + y Soma e subtracção: f(x; y) = x ± y. Temos p x = x x ± y e p y = y x ± y. Então: { } x x±y max x ± y ; y x ± y ( x + y ) Note-se que, apesar da semelhança destas expressões, o comportamento em termos de erros relativos da subtracção é distinto do da soma. Se x e y forem aproximadamente iguais, então os números de condicionamento da subtracção podem ser muito elevados. Esta é uma das manifestações do fenómeno de cancelamento subtractivo. Exemplo 1.8. Encontre os limites de propagação de erro na soma de dois números. exemplo, se os números são: x = 1:5 ± 0:05 Por y = 3:4 ± 0:04 9
Solução: Valor máximo possível de x = 1:55 e y = 3:44 Valor máximo possível de x + y = 1:55 + 3:44 = 4:99 Valor mínimo possível de x = 1:45 e y = 3:36. Valor máximo possível de x + x = 1:45 + 3:36 = 4:81 Então: 4:81 x + y 4:99: Exemplo 1.9. Determinar o número de algarismos significativos do resultado de cada uma das operações xy, x, x + y e x y, sabendo que x = 1010 e y = 1000 (todos os algarismos são y significativos). Solução: Temos x < 0:5 e y < 0:5, logo x = x x x x 0:495 10 3 e y le0:5 10 3. Utilizando as expressões deduzidas acima: xy x + y = 0:995 10 3 x y x + y = 0:995 10 3 Dado que xy = 1:010 10 6 e x y = 1:010, temos Da mesma maneira, obtemos xy = xy xy xy xy 1:005 10 3 : x/y = x/y x=y x/y x=y 1:005 10 3 : Então a multiplicação e divisão têm, pelo menos, 3 dígitos significativos. Para a soma e subtracção, temos: x±y x + y 0:5 + 0:5 = 1: Sendo os resultados aproximados x + y = 2010 (3 algarismos significativos) e x y = 10 (1 algarismo significativo). 1.7.1 Fórmula fundamental do cálculo de erros Se f é uma função com várias variáveis x 1 ; x 2 ; x 3 ; : : : ; x n então o máximo erro possível em f é: f @f x 1 @x 1 + @f x 2 @x 2 + : : : + @f x n @x n Exemplo 1.10. Considere a seguinte fórmula para determinar o esforço axial num determinado 10
material: " = F h 2 E onde: F = 72 ± 0:9 N; h = 4 ± 0:1 mm e E = 70 ± 1:5 GPa. Determine o máximo possível erro na medida do esforço. Solução: " = 72 (4 10 3 ) 2 (70 10 9 ) = 64:286 10 6 = 64:286. " = @" @F F + @" @h h + @" @E E : Mas como, então @" @F = 1 h 2 E ; @" @h = 2F h 3 E ; @" @E = F h 2 E ; 2 " = 1 h 2 E F + 2F h 3 E h + F h 2 E E 2 = 1 (4 10 3 )(70 10 9 ) 0:9 + 2 72 (4 10 3 ) 3 (70 10 9 ) 0:0001 + + 72 1:5 (4 10 3 ) 2 (70 10 9 109 ) 2 = 5:3955: Portanto, " = (64:286 ± 5:3955): 1.7.2 Algumas aplicações Nesta secção, vamos calcular as estimativas do erro para as operações aritméticas elementares. Soma: y = x 1 + x 2. Temos: x1 +x 2 x1 + x2 Subtracção: y = x 1 x 2. Temos: x1 x 2 x1 + x2 Produto: y = x 1 x 2. Temos: x1 x2 max x 1 ; x 2 ( x 1 + x 2 ) 11
Divisão: y = x 1 x 2. Temos: { 1 x 1 max x 2 x 2 } ; x 1 ( x1 + x2 ) x 2 Note que a propagação dos erros para a soma e a subtracção são dadas pelas mesmas expressões. Isto parece contradizer o exemplo dado no início deste capítulo, onde falámos do fenómeno de cancelamento subtractivo. Todavia, é preciso não esqueçer que, por enquanto, estamos apenas a falar de erros absolutos. Mais adiante, veremos que estes erros transportam apenas parte da informação necessária. Logo, não existe aqui nenhuma contradição. Como motivação para o uso desta medida de erro, considere o exemplo seguinte: Exemplo 1.11. x = 2112:9, com x 0:1. Podemos garantir que x [2112:8; 2113]. Da mesma forma, dado y = 5:3 com y 0:1, temos y [5:2; 5:4]. 12