Capítulo 04 Erros de arredondamento e Truncamento (Parcial) Objetivos do capítulo • Entender a diferença entre acurácia e precisão. • Aprender como quantificar o erro. • Aprender a usar estimativas de erros para decidir quando encerrar um cálculo iterativo. Professor Tenani wwww.professortenani.com.br Acurácia x Precisão Acurácia se refere a quão próximo o valor calculado ou medido está do valor verdadeiro. Precisão se refere a quão próximo os valores individuais calculados ou medidos estão uns dos outros. a) Inacurado e impreciso. b) Acurado e impreciso. c) Inacurado e preciso. d) Acurado e preciso Professor Tenani wwww.professortenani.com.br Definição de Erro Verdadeiro Erros numéricos são causados pelo uso de aproximações para representar operações e quantidades matemáticas exatas. Et valor verdadeiro -aproximação • O t vem do inglês true = verdadeiro. • O erro verdadeiro normalmente é expresso como um valor absoluto e referido com erro absoluto. Professor Tenani wwww.professortenani.com.br Definição de Erro O Erro verdadeiro não leva em conta a ordem de grandeza do valor que está sendo examinado. Podemos definir então o erro relativo percentual verdadeiro. t valor verdadeiro -aproximação 100% valor verdadeiro Professor Tenani wwww.professortenani.com.br Exemplo Considere que você tenha a tarefa de medir os comprimentos de uma ponte e de um rebite e que obteve 9.999 cm e 9 cm, respectivamente. Se os valores verdadeiros forem 10.000 cm e 10 cm, respectivamente, o erro verdadeiro em ambos os casos é 1 cm. Calculando o erro relativo temos: t 10.000-9.999 100% 0,01% 10.000 t 10-9 100% 10% 10 Professor Tenani wwww.professortenani.com.br Erro aproximado • Em situações do mundo real, o valor verdadeiro dificilmente é conhecido, por isso, o cálculo do erro verdadeiro fica prejudicado. • Um dos desafios dos Métodos é determinar estimativas de erro quando se desconhece o valor verdadeiro. • Grande parte dos métodos numéricos utilizam uma abordagem iterativa para calcular as respostas. Isto é, uma aproximação atual é feira com base em uma aproximação anterior. • Assim, podemos definir nosso erro aproximado como: atual - aproximação anterior 100% a aproximaçãoaproximação atual Professor Tenani wwww.professortenani.com.br Erro tolerado • Os sinais nas equações anteriores podem ser positivos ou negativos dependendo se a aproximação é maior ou menor que a aproximação anterior. • Ao realizar cálculos não há preocupações com o sinal do erro. • Estamos interessados em saber se o erro aproximado absoluto é menor que um percentual de tolerância pré-estabelecido 𝜀𝑠 • Isto é, estamos interessados em saber se: a s • Esta relação é chamada de critério de parada. Professor Tenani wwww.professortenani.com.br Critério de Parada • Se o critério de parada for satisfeito, supõe-se que o resultado esteja dentro do nível aceitável pré-estabelecido 𝜀𝑠. a s • É conveniente relacionar esses erros ao número de algarismos significativos da aproximação. • Para ter certeza que o resultado aproximado está correto até pelo menos n algarismos significativos usamos o critério a seguir: s (0,5102n)% Exemplo: Se desejamos 4 algarismos significativos devemos ter tolerância dada por: (0,51024)% (0,5102)% 0,005% s Professor Tenani wwww.professortenani.com.br Critério de Parada • Se o critério de parada for satisfeito, supõe-se que o resultado esteja dentro do nível aceitável pré-estabelecido 𝜀𝑠. a s • É conveniente relacionar esses erros ao número de algarismos significativos da aproximação. • Para ter certeza que o resultado aproximado está correto até pelo menos n algarismos significativos usamos o critério a seguir: s (0,5102n)% Exemplo: Se desejamos 4 algarismos significativos devemos ter tolerância dada por: (0,51024)% (0,5102)% 0,005% s Professor Tenani wwww.professortenani.com.br Exemplo : Estimativa de Erro 2 3 n x x x e x 1 x ... 2 3! n! • Vamos usar a série de Maclaurim para aproximar valores para a função exponencial para x=0,5. • Conforme mais termos forem adicionados a sequência, a estimativa se tornará cada vez mais próxima do valor verdadeiro de exp(x). • Começaremos com 𝑒 𝑥 = 1 e depois de adicionar cada novo termo vamos calcular o erro verdadeiro percentual e o erro relativo percentual estimado. • Adicionaremos termos até que o valor absoluto do erro relativo percentual estimado esteja dentro do critério pré-estabelecido. a s Professor Tenani wwww.professortenani.com.br Exemplo : Estimativa de Erro 2 3 n x x x x e 1 x ... 2 3! n! • Vamos adotar o critério de erro que garante o resultado correto até pelo menos três algarismos significativo. s (0,51023)% 0,05% • Observe que o valor “verdadeiro” de 𝑒 0,5 calculado através do MATLAB é: exp(0.5) = 1.648721270700128 • Olhando para a série acima, podemos adotar como uma primeira aproximação como 1. e Professor Tenani 0,5 1 wwww.professortenani.com.br Exemplo : Estimativa de Erro 2 3 n x x x e x 1 x ... 2 3! n! Estimativa 02 Estimativa 03 ex 1 x e0.5 1 0.5 1.5 2 2 0,5 x x 0.5 e 1 x 2 e 1 0.5 1.625 2 t 1,6487211,5 x100% 9,02% 1,648721 a 1,5 1 x100% 33,3% 0,05% 1,5 Professor Tenani t 1,6487211,625 x100% 1,44% 1,648721 a 1,625 1,5 x100% 7,69% 0,05% 1,625 wwww.professortenani.com.br Exemplo : Estimativa de Erro 2 3 n x x x e x 1 x ... 2 3! n! Estimativa 02 Estimativa 03 ex 1 x e0.5 1 0.5 1.5 2 2 0,5 x x 0.5 e 1 x 2 e 1 0.5 1.625 2 t 1,6487211,5 x100% 9,02% 1,648721 a 1,5 1 x100% 33,3% 0,05% 1,5 Professor Tenani t 1,6487211,625 x100% 1,44% 1,648721 a 1,625 1,5 x100% 7,69% 0,05% 1,625 wwww.professortenani.com.br Exemplo : Estimativa de Erro 2 3 n x x x e x 1 x ... 2 3! n! Resumindo... Termos Resultados Erro Verdadeiro(%) 1 1 39,3 2 1,5 9,02 33,3 3 1,625 1,44 7,69 4 1,645833333 0,175 1,27 5 1,648437500 0,0172 0,158 6 1,648697917 0,00142 0,0158 < 0,05 Professor Tenani Erro Aproximado(%) wwww.professortenani.com.br Estimativa de Erro - Algoritmo 2 3 n x x x e x 1 x ... 2 3! n! • A implementação computacional envolve laços. • A maior parte das soluções iterativas envolvem laços condicionais ( while ). • O processo é repetido até que o erro aproximado fique abaixo de um critério de parada (es). • Sempre devemos fornecer um número máximo de iterações (maxIt) para não corrermos o risco de loop infinito. Professor Tenani wwww.professortenani.com.br Estimativa de Erro – Algoritmo (I) function [ fx, eA, it ] = MetodoIteracao( x, es, maxIt ) % Série de Maclaurin da função exponencial % [ fx, eA, iter ] = MetIt( x, es, maxIt ) % Entradas: % x : valor no qual a série é avaliada % es : Critério de parada ( opcional com padrão = 0.0001) % maxIt : Número máximo de iterações ( opcional com padrão = 50) % Saída: % fx : valor estimado. % eA : erro relativo aproximado (%) % it: número de iterações % padrões Professor Tenani wwww.professortenani.com.br Estimativa de Erro – Algoritmo (II) function [ fx, eA, it ] = MetodoIteracao( x, es, maxIt ) if nargin < 2 es = 0.0001; end if nargin < 3 maxIteracoes= 50; end it = 1; solucao =1; eA = 100; while (eA > es) && (it < maxIt) solucaoAnterior = solucao; solucao = solucao + x^it/factorial(it); if solucao ~= 0 eA = abs( (solucao - solucaoAnterior)/solucao)*100; end it = it + 1; end fx = solucao; end Professor Tenani wwww.professortenani.com.br Exercício 01 O método babilônico, um antigo sistema para aproximação de raiz quadrada de qualquer número positivo a, pode ser formulado como: a x x x 2 Escreva uma função para implementar esse algoritmo, com base no exemplo apresentado anteriormente. Professor Tenani wwww.professortenani.com.br Exercício 01 (Continuação) function [fx,ea,iter] = RaizQuadrada(a,es,maxit) % Entrada: % a = value a ser calculado a raiz % es = criterio de parada (padrão = 0.0001) % maxit = número max iterações (padrão = 50) % output: % fx = valor estimado % ea = erro relativo aproximado (%) % iter = número de iterações >> [fx,ea,iter] = RaizQuadrada(2) fx = 1.414213562373095 ea = 1.127797413072556e-10 iter = 6 Professor Tenani wwww.professortenani.com.br Exercício 02 A expansão em série de Maclaurin para cos(x) é dada por: 2 x 4 x6 x8 x cos x 1 ... 2 4! 6! 8! Começando com uma versão mais simples, cos(x)=1, some termos um a um para estimar cos(x). Depois que cada novo termo for somado, calcule os erros relativos percentuais verdadeiro e aproximado. Some termos até que o valor absoluto da estimativa aproximada de erro fique abaixo de um critério de erro. Use valores padrões caso não sejam informados o critério de erro e o número máximo de iterações. Teste a função para pi/4 e es=0.001. Monte uma tabela com os resultados obtidos. Professor Tenani wwww.professortenani.com.br Exercício 02 ( Continuação) function McCosseno(a,es,maxit) % Entrada: % a = value a ser calculado o cosseno % es = criterio de parada (padrão = 0.0001) % maxit = número max iterações (padrão = 50) >> McCosseno(pi/4) ************************************************************** Iteração Solução Erro V Erro A 1 1.0000000 41.421356 100.000000 2 0.6915749 2.196545 44.597506 3 0.7074292 0.045598 2.241121 4 0.7074256 0.045090 0.000508 5 0.7074256 0.045090 0.000000 ***************************************************************** Professor Tenani wwww.professortenani.com.br Tipos de Erros Erros de Arredondamento Os erros de arredondamento devem-se ao fato de que os computadores digitais não podem representar algumas quantidades de forma exata levando a resultados errados. Os erros de arredondamento estão relacionados à maneira como os números são armazenados no computador. Erros de Truncamento Os erros de truncamento resultam do uso de aproximação no lugar de um procedimento matemático exato. Por exemplo, no capítulo 1 aproximamos a derivada da velocidade do saltador de bungee jumping. dv v v ti 1 v ti dt t t Professor Tenani wwww.professortenani.com.br