Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO Departamento de Matemática Aplicada Algoritmos Numéricos Prof. Santina Arantes santina3564@yahoo.com.br CURSO: Bacharelado em Engenharia Química. CÓDIGO: DMA06100 EMENTA 1. Erros. 2. Aproximação. 3. Integração numérica. 4. Equações não-lineares. 5. Sistemas de equações Lineares. 6. Equações diferenciais ordinárias. CONTEÚDO PROGRAMÁTICO 1. Erros: Erro de arredondamento, erro de truncamento, erro de modelagem, erro grosseiro. 2. Sistemas de equações lineares: Métodos diretos, sistemas triangulares, eliminação de Gauss, decomposição LU, decomposição de Cholesky. Métodos iterativos, método de Jacobi, método de Gauss-Seidel, método da sobre-relaxação sucessiva, análise de erro. 3. Interpolação polinomial: Polinômios interpoladores de Lagrange, de Newton e de Gregory-Newton. Erro de interpolação. Splines cúbicos. Aplicações. 4. Ajuste de curvas: Regressão linear simples, métodos do quadrados mínimos, coeficiente de determinação, variância residual, regressão linear múltipla, regressão não polinomial, transformações não lineares, aplicações. CONTEÚDO PROGRAMÁTICO 5. Integração numérica: Regra do trapézio e regras de Simpson simples e compostas, estimativas de erro. Quadratura de Gauss-Legendre. 6. Raízes de equações: Método da bisseção, método da secante, método de Newton, método de Brent, métodos de Schroder, convergência. Aplicações. 7. Equações diferenciais ordinárias: Método de Euler. OBJETIVOS Preparar o aluno para resolver problemas de matemática aplicada utilizando técnicas numéricas. CRITÉRIOS DE AVALIAÇÃO Serão aplicadas duas ou três avaliações. O aluno que obtiver média parcial (MP) maior ou igual a sete estará aprovado. Caso contrário, ele fará uma prova final (PF). A média final (MF) é calculada como MF=(MP+PF)/2. Se a média final for maior ou igual a cinco ele estará aprovado. Caso contrário, ele estará reprovado por nota. OBS: O aluno que obtiver frequência inferior a 75% das aulas previstas estará reprovado por falta, independente de suas avaliações. Referências Bibliográficas 1. CAMPOS FILHO, Frederico Ferreira. Algoritmos Numéricos, LTC, 2001. 2. Franco, N. B.. Algoritmos Numéricos, LTC, 2001. 3. Ruggiero, M. A. G e Lopes, V. L. R.. Cálculo Numérico – Aspectos Teóricos e Computacionais, McGraw-Hill, 2a Ed, 1999. 4. Burdens, R. L., e Faires, J. D.. Análise Numérica, CENGAGE, 2008. COMPUTAÇÃO NUMÉRICA Metodologia para resolver problemas matemáticos por intermédio de um computador usado por engenheiros e cientistas. Uma solução numérica muitas vezes é uma aproximação que pode ser obtida em grau crescente. Uma solução numérica é calculada mesmo quando o problema não tem solução analítica, fato comum nas equações diferenciais. COMPUTAÇÃO NUMÉRICA Com grande aplicação na estatística, esta integral não pode ser representada explicitamente por funções elementares. A área sob a curva descrita por de a até b pode ser determinada por meio de algoritmos numéricos que são aplicáveis a qualquer outro integrando. ETAPAS DA SOLUÇÃO DE UM PROBLEMA Dado um problema como resolvê-lo no computador usando as técnicas de Cálculo numérico? 1. Definição do problema 2. Modelagem matemática 3. Solução Numérica 4. Análise de resultados PROBLEMA FÍSICO MODELO MATEMÁTICO SOLUÇÃORESOLUÇÃOMODELAGEM DEFINIÇÃO DO PROBLEMA Nesta etapa define-se qual o problema real a ser resolvido. Como por exemplo calcular √a, a>0 usando apenas as quatro operações aritméticas. MODELAGEM MATEMÁTICA O problema real é transformado no problema original através de uma formulação matemática. x = √a ---> x2 = a ---> f(x) = x2 - a = 0 O problema real √a, a>0, foi transformado no problema original, que é determinar uma raiz de uma equação algébrica de grau 2. SOLUÇÃO NUMÉRICA Nesta etapa é feita a escolha do método numérico mais apropriado para resolver o problema original oriundo da modelagem matemática. Esta etapa pode ser dividida em três fases: Elaboração do algoritmo Codificação do programa Processamento do programa. ELABORAÇÃO DO ALGORITMO Um algoritmo é a descrição de um conjunto de comandos, que ativados, resultam em uma sucessão finita de acontecimentos. Abstração de detalhes das linguagens usando notação algoritmica. Facilidade de implementação em qualquer linguagem. Para Casa ler seção 1.2 Notação algoritmica do livro do Frederico F. C., Filho. CODIFICAÇÃO DO PROGRAMA Os aspectos matemáticos do método já foram pensados na fase de elaboraçãodo algoritmo. Nesta fase o algoritmo é implementado na linguagem de programação escolhida. C, C++, Java, FORTRAN, Pascal, MATLAB, etc. PROCESSAMENTO DO PROGRAMA Execução do código do programa no computador. Fase de codificação pode ocorrer erro de sintaxe. Fase de execução pode ocorrer erro de lógica, execução do programa produz resultados inesperados. ANÁLISE DE RESULTADOS Adequação da solução numérica ao problema real é verificada nesta última etapa. Se a solução não se mostrar satisfatória deve se obter um novo problema original por intermédio de uma nova formulação matemática e determinar uma nova solução numérica. ERROS É a diferença entre o valor obtido através de métodos numéricos e o valor real. Os erros são oriundos de várias fontes durante o processo de solução. Erros de modelagem Erros de arredondamento Erros de truncamento Propagação de Erros ERROS DE MODELAGEM Erros que ocorrem muitas vezes por obtenção incorreta ou imprecisa de dados experimentais. A expressão matemática não reflete perfeitamente o fenômeno físico. Mudanças grandes nos resultados devido a pequenas variações de entrada é um indício de um malcondicionamento do modelo proposto. ERROS DE ARREDONDAMENTO Erro causado pelo fato do computador ter um número finito de bits. A conversão de números decimais em binários causam esse tipo de erro, dado que alguns números com uma quantidade de digitos muito grandes podem não ser representados em uma estrutura de dados no computador. ERROS DE TRUNCAMENTO Erros gerados a partir de cálculos de expressões muito grandes e que precisam ser truncadas em determinado momento. Neste caso deve-se executar o algoritmo até um que seja satisfatório, porém não será a solução exata. sen(x) = PROPAGAÇÃO DE ERROS Um pequeno erro no início pode gerar uma solução totalmente equivocada se este for levado a diante. Para o exemplo abaixo sendo feito em uma máquina com 4 dígitos significativos, o erro está no arredondamento feito a operação (x2 + x1) cujo resultado tem 8 dígitos, porém a máquina armazena apenas 4 dígitos, os menos significativos foram desprezados. DICA PARA UM BOM DESEMPENHO NÃO DEIXE ACUMULAR MATÉRIA PARA ESTUDAR. ESTUDAR PEQUENAS PARTES A MEDIDA QUE FOREM ENSINADAS É MUITO MAIS FÁCIL DO QUE TENTAR APRENDER TODO O CONTEÚDO DE UMA VEZ OU EM GRANDES BLOCOS. PRATIQUE MUITO!!! 1. ERRO 1.1 EXISTÊNCIA A noção de erro está presente em todos os campos do Cálculo Numérico. Os dados, em si, não são exatos; As operações sobre valores não exatos propagam esses erros a seus resultados. Os métodos numéricos buscam resultados o mais próximo possível do que seriam os valores exatos. 1.1.1 NOÇÕES FUNDAMENTAIS: I. Toda medida é um intervalo e não um número exato, decorrente do: Do processo de medição; Do erro do medidor; Da incerteza do valor. Exemplo: Um medida de comprimento de 45,7cm é possivelmente, (45,70,1)cm, isto é, algo no intervalo 45,6cm a 45,8cm. II. Quando se opera com um valor, carrega-se sua incerteza para o resultado das operações. Chama-se a esse processo, propagação de erro. III. Os métodos numéricos, freqüentemente iterativos, se propõem a obter resultados aproximados, diminuindo o erro a cada iteração, num processo de aproximação sucessiva. IV. O computador ao representar números reais com um número finito de dígitos, será forçado a aproximá-los quando os números reais exigirem mais dígitos. Exemplo: Ao representarmos o número exato . 1.1.2 ALGUMAS OBSERVAÇÕES: Quando se representa um valor tem-se (m ); para > 0 e << m, para uma medida bem feita. Assim, o valor m é expressivo diante de . A medida 23.537m 2m, significa que o valor está entre 23.535m e 23.539m. Essa medida teria sido feita com boa precisão; embora com certa margem de erro, como sempre. Porém, um comprimento de 10m 5m, logo sabe muito pouco sobre o valor, que poderia variar desde 5m até 15m. Essa medida não tem boa precisão. Chama-se desvio absoluto, ou erro absoluto, ao valor de ; Chama-se desvio relativo, ou erro relativo, à relação )m(abs onde, abs(m) é o valor absoluto de m. 1.2 PROPAGAÇÃO Vamos aos exemplos: Dados a=50 3 e b=211, calcular a soma (a+b), a subtração (a–b) e o produto (axb). a pode variar de 47 a 53 e b de 20 a 22. Assim o menor valor da soma seria 47 + 20 = 67 e o maior valor seria 53 + 22 = 75. (a + b) = (50 + 21 ) 4 = 71 4, variando de 67 a 75. 2 Menor valor da subtração seria 47 - 22 = 25 e o maior valor da subtração seria 53 - 20 = 33. (a – b) = (50 – 21) 4 = 29 4, variando de 25 a 33. Na subtração, os erros absolutos se somam, pois sempre se admite o pior caso; nunca se subtraem erros, contando com a sorte; prevê-se, sempre, o caso mais desfavorável. Menor valor do produto seria 47 x 20 = 940. e o maior valor do produto seria 53 x 22 = 1166. (a x b) = (50 3) x (21 1) 1050 (3 x 21 + 50 x 1) (a x b) 1050 113. Despreza-se o produto 3 x 1, por ser muito pequeno diante de (3 x 21 + 50 x 1 ) = 113. Assim, o produto ficaria entre 937 e 1163, ligeiramente diferente do verdadeiro intervalo, exatamente pelo abandono do produto 1x3, considerado desprezível, Quando efetuamos operações sobre números sujeitos a erros, esses se propagam aos resultados das operações, que vão refletir a incerteza dos números que compõem a operação. Assim: (a ea) + (b eb) = a + b (ea + eb) (a ea) - (b eb) = a - b (ea + eb) (a ea) x (b eb) a x b (a.eb + b.ea) Estamos admitindo a, b, ea , eb sempre positivos. Se negativos tomaremos (– a ), (– b ) etc. 3 Analisando os erros relativos dessas operações. Erro relativo da soma Esoma Erro relativo da subtração Esub Erro relativo do produto Eprod Erro relativo de a Ea Erro relativo de b Eb Erro Relativo da Soma: Soma: esoma = ea + eb b) (a e b) (a e b) (a e E basomasoma Multiplicando e dividindo o primeiro termo por a e o segundo termo por b, temos: b) (a b b e b) (a a a e b b b) (a e a a b) (a e E babasoma b) (a bE b) (a aE E basoma Assim, o erro relativo da soma é a soma dos erros relativos de cada parcela, ponderada pela participação da parcela no total da soma. Exemplo: Sendo a = 50 ± 3 e b = 21 ± 1. A soma a + b = 71 ± 4 Erro relativo de a: Ea = 3/50 = 0,06; Erro relativo de b: Eb = 1/21 = 0,05 Erro relativo de (a + b): Esoma = 0,06 x 50/71 + 0,05 x 21/71 = 0,057 4/71 4 Erro Relativo da Subtração: Subtração: esub = ea + eb b)-(a e b)-(a e b)-(a )e (e b)-(a e E babasubsub Multiplicando de dividindo o primeiro termo por a e o segundo termo por b, temos: b) (a b b e b) (a a a e b b b)-(a e a a b)-(a e E babasub b) (a bE b) - (a aE E basub Assim o erro relativo da subtração é a soma dos erros relativos do minuendo com o erro relativo do subtraendo, ponderados pela participação de cada um no resultado da subtração. Exemplo: Sendo a = 50 ± 3 e b = 21 ± 1. A subtração (a – b) = 29 ± 4 Erro relativo de a: Ea = 3/50 = 0,06. Erro relativo de b: Eb = 1/21 = 0,05 Erro relativo de (a – b): Esub = 0,06 . 50/29 + 0,05 . 21/29 = 0,14 4/29 Erro Relativo do Produto: Produto: prod (a ± ea) x (b ± eb) a x b ± (a x eb + b x ea) eprod = a x eb + b x ea 5 a e b e (a.b) e E abprodprod Assim o erro relativo do produto é a soma dos erros relativos dos fatores. Exemplo: Sendo a = 50 ± 3 e b = 21 ± 1. O produto (a x b) = 1050 ± 113 Erro relativo de a: Ea = 3/50 = 0,06; Erro relativo de b: Eb = 1/21 = 0,05 Erro relativo de (a x b): Epro = 0,06 + 0,05 = 0,11 113/1050 Divisão )e(b )e(a b a Analisando incialmente a fração: 1/( b ± eb) 1/( b ± eb) = 1/b.(1 ± eb/b) = 1/b . 1/(1 ± eb/b) Por outro lado, a série binomial (1+x)-1 é dada por: (1+x)-1 1 - x + x2 - x3 + x4 -… abandonando-se os termos em x2, x3, x4..., temos: ,/be 1 /b)e 1 ( 1 b b Divisão .a/(b.b)] e/b[ea/b/b)e/b).(1e(a/b )e(b )e(a baba b a Erro Relativo da Divisão: div 6 b e a e b a b.b .ae b e E ba ba div Assim o erro relativo da divisão é a soma dos erros relativos do dividendo e do divisor. Exemplo: Sendo a = 50 ± 3 e b = 21 ± 1. A divisão estará entre 47/22 = 2,14 e 53/20 = 2,65. A divisão a/b = 2,38 ± (3/21 + 1x50/(21x21)) a/b = 2,38 ± 0,26, isto é, entre 2,12 e 2,64. Erro relativo de a/b: Ediv = 0,06 + 0,05 = 0,11 Ediv 0,26/2,38 RESUMO Propagação de Erros Erro relativo da soma é a soma dos erros relativos de cada parcela, ponderada pela participação da parcela no total da soma. Erro relativo da subtração é a soma dos erros relativos do minuendo com o erro relativo do subtraendo, ponderados pela participação de cada um no resultado da subtração. Erro relativo do produto é a soma dos erros relativos dos fatores. Erro relativo da divisão é a soma dos erros relativos do dividendo e do divisor. 7 1.1.2 Cálculo Numérico O cálculo numérico compreende: ¾ A análise dos processos que resolvem problemas matemáticos por meio de operações aritméticas; ¾ O desenvolvimento de uma seqüência de operações aritméticas que levem às respostas numéricas desejadas (Desenvolvimento de algoritmos); ¾ O uso de computadores para obtenção das respostas numéricas, o que implica em escrever o método numérico como um programa de computador Espera-se, com isso, obter respostas confiáveis para problemas matemáticos. No entanto, não é raro acontecer que os resultados obtidos estejam distantes do que se esperaria obter. 1.1.3 Fontes de erros Suponha que você está diante do seguinte problema: você está em cima de um edifício que não sabe a altura, mas precisa determiná-la. Tudo que tem em mãos é uma bola de metal e um cronômetro. O que fazer? Conhecemos também a equação onde: • s é a posição final; • s0 é a posição inicial; • v0 é a velocidade inicial; • t é o tempo percorrido; • g é a aceleração gravitacional. A bolinha foi solta do topo do edifício e marcou-se no cronômetro que ela levou 2 segundos para atingir o solo. Com isso podemos conclui a partir da equação acima que a altura do edifício é de 19,6 metros. Essa resposta é confiável? Onde estão os erros? Erros de modelagem: − Resistência do ar, − Velocidade do vento, − Forma do objeto, etc. Estes erros estão associados, em geral, à simplificação do modelo matemático. Erros de resolução: − Precisão dos dados de entrada (Ex. Precisão na leitura do cronômetro. p/ t = 2,3 segundos, h = 25,92 metros, gravidade); − Forma como os dados são armazenados; − Operações numéricas efetuadas; − Erro de truncamento (troca de uma série infinita por uma série finita). 1.2 Representação numérica Motivação: Exemplo 1: Calcular a área de uma circunferência de raio 100 metros. a) 31140 m2 b) 31416 m2 c) 31415,92654 m2 Exemplo 2: Calcular ∑= 30001 ixS para 5.0=ix e para 11.0=ix S para 5.0=ix S para 11.0=ix Calculadora 15000 3300 Computador 15000 3299,99691 Por que das diferenças? No caso do Exemplo 1 foram admitidos três valores diferentes para o número π : a) π =3,14 b) π =3,1416 c) π =3,141592654 Dependência da aproximação escolhida para π . Aumentando-se o número de dígitos aumentamos a precisão. Nunca conseguiremos um valor exato. No caso do Exemplo 2 as diferenças podem ter ocorrido em função da base utilizada, da forma como os números são armazenados, ou em virtude dos erros cometidos nas operações aritméticas. O conjunto dos números representáveis em qualquer máquina é finito, e portanto, discreto, ou seja não é possível representar em uma máquina todos os números de um dado intervalo [a,b]. A representação de um número depende da BASE escolhida e do número máximo de dígitos usados na sua representação. Qual a base utilizada no nosso dia-a-dia? Base decimal (Utiliza-se os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). Existem outras bases: 8 (base octal), 12, 60, porém, a base utilizada pela maioria dos computadores é a base binária, onde se utiliza os algarismos 0 e 1. Os computadores recebem a informação numérica na base decimal, fazem a conversão para sua base (a base binária) e fazem nova conversão para exibir os resultados na base decimal para o usuário. Exemplos: (100110)2 = (38)10 (11001)2 = (25)10 1.2.1 Representação de um número inteiro Em princípio, representação de um número inteiro no computador não apresenta qualquer dificuldade. Qualquer computador trabalha internamente com uma base fixa β , onde β é um inteiro 2≥ ; e é escolhido como uma potência de 2. Assim dado um número inteiro 0≠x , ele possui uma única representação, )...()...( 00 1 1 1 10121 ββββ dddddddddx nnnnnn ++++±=±= −−− onde id é um dígito da base em questão, no caso de uma base binária 1=nd e 01,...,ddn− são iguais a 1 ou 0 que são os dígitos da base binária. Exemplos: a) Como seria a representação do número 1100 numa base 2=β 0123 2 20202121)1100( ×+×+×+×= Portanto 22 )1100()1100( = . b) Como seria a representação do número 1997 em uma base 10=β ? 0123 1071091091011997 ×+×+×+×= Logo, 1997 = 10)1997( . 1.2.2 Representação de um número real Se o número real x tem parte inteira ix , sua parte fracionária xf = x - xi pode ser escrita como uma soma de frações binárias: )...()...( )1(1 2 2 1 10121 n n n nnnf ddbbbbbbbx ββββ ++++±=±= −−−−−− Assim o número real será representado juntando as partes inteiras e fracionárias, ou seja, onde, x possui n+1 algarismos na parte inteira e m+1 algarismos na parte fracionária. Exemplo: a) Como seria a representação do número 39,28 em uma base decimal? )108102()109103()28,39( 210110 −− ×+×+×+×= 1010 )28,39()28,39( = b) Como seria a representação do número 210 (?))375,14( = em uma base binária? 210 )011,1110()375,14( = Precisamos saber fazer a conversão de bases que é o tópico seguinte. 1.3 Conversão entre as bases Conforme dito anteriormente, a maioria dos computadores trabalha na base β , onde β é um inteiro 2≥ ; normalmente escolhido como uma potência de 2. 1.3.1 Binária para Decimal Exemplos: a) 10 0123 2 )13(104821202121)1101( =+++=×+×+×+×= b) 10 01234 2 )25(1008162120202121)11001( =++++=×+×+×+×+×= 1.3.2 Decimal para Binária Na conversão de um número escrito em base decimal para uma base binária são utilizados: o método das divisões sucessivas para a parte inteira e o método das multiplicações sucessivas para conversão da parte fracionária do número em questão. - Método das divisões sucessivas (parte inteira do número) a) Divide-se o número (inteiro) por 2; b) Divide-se por 2, o quociente da divisão anterior; c) Repete-se o processo até o último quociente ser igual a 1. O número binário é então formado pela concatenação do último quociente com os restos das divisões, lidos em sentido inverso. - Método das multiplicações sucessivas (parte fracionária do número) a) Multiplica-se o número (fracionário) por 2; b) Do resultado, a parte inteira será o primeiro dígito do número na base binária e a parte fracionária é novamente multiplicada por 2; c) O processo é repetido até que a parte fracionária do último produto seja igual a zero Exemplos: a) 210 (?))13( = Quociente Resto 13/2 6 1 6/2 3 0 3/2 1 1 Resultado: 210 )1101()13( = b) 210 (?))25( = Quociente Resto 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 Resultado: 210 )11001()25( = c) 210 (?))375,0( = 0,375 x 2 0,750 0,750 x 2 1,500 0,500 x 2 1,000 (0,375)10=(0,011)2 c) 210 (?))25,13( = Converte-se inicialmente a parte inteira do número: Quociente Resto 13/2 6 1 7/2 3 0 3/2 1 1 ... em seguida converte-se a parte fracionária: 210 )01,0()25,0( = Resultado: 210 )01,1101()25,13( = Atenção: Nem todo número real na base decimal possui uma representação finita na base binária. Tente fazer a conversão de 10)1,0( . Esta situação ilustra bem o caso de erro de arredondamento nos dados. 1.3.3 Exercícios Propostos Faça as conversões indicadas abaixo: a) 102 (?))100110( = b) 102 (?))1100101( = c) 210 (?))28,40( = d) 102 (?))01,110( = e) 210 (?))8,3( = 1.4 Arrredondamento e aritmética de ponto flutuante Um número é representado, internamente, num computador ou máquina de calcular através de uma seqüência de impulsos elétricos que indicam dois estados: 0 ou 1, ou seja, os números são representados na base binária. 0,25 0,50 x 2 x 2 0,50 1,0 De uma maneira geral, um número x é representado na base β por: e t tddddx βββββ ....3 3 2 21 ++++±= onde: id - são números inteiros contidos no intervalo tidi ,..,2,1;10 =−≤≤ β ; e - representa o expoente de β e assume valores entre SeI ≤≤ onde SI , - são, respectivamente, limite inferior e superior para a variação do expoente; ++++ tt dddd ββββ ...3 3 2 21 é a chamada mantissa e é a parte do número que representa seus dígitos significativos e t é o número de dígitos significativos do sistema de representação, comumente chamado de precisão da máquina. Um número real x no sistema de aritmética de ponto flutuante pode ser escrito também na forma: e tddddx β)....,0( 321±= com 01 ≠d , pois é o primeiro algarismo significativo de x. Exemplos: a) Escrever os números reais 35.01 =x , 172.52 −=x , 0123.02 =x , 0003.04 =x , e 3.53915 =x onde estão todos na base 10=β em notação de um sistema de aritmética de ponto flutuante. Solução: 0021 1035.010)105103(35.0 ×=×+×= −− x 114321 105172.010)102107101105(172.5 ×−=××+×+×+×−=− −−−− 11321 10123.010)103102101(0123.0 −−−−− ×=××+×+×= 4454321 1053913.010)103101109103105(3.5391 ×=××+×+×+×+×= −−−−− 331 103.010)103(0003.0 −−− ×=××= b) Considerando agora que estamos diante de uma máquina que utilize apenas três dígitos significativos e que tenha como limite inferior e superior para o expoente, respectivamente, -2 e 2, como seriam representados nesta máquina os números do exemplo a)? Solução: Temos então para esta máquina 3=t , 2−=I e 2−=S . Desta forma 22 ≤≤− e . Sendo assim temos: 010350.035.0 ×= 110517.0172.5 ×−=− 110123.00123.0 −×= 41053913.03.5391 ×= Não pode ser representado por esta máquina. Erro de overflow. 3103.00003.0 −×== Não pode ser representado por esta máquina. Erro de underflow. Um erro de overflow ocorre quando o número é muito grande para ser representado, já um erro de underflow ocorre na condição contrária, ou seja, quando um número é pequeno demais para ser representado. 13UNIDADE I NOÇÕES BÁSICAS SOBRE ERROSNOÇÕES BÁSICAS SOBRE ERROS 1.11.1– Introdução A maioria dos problemas na matemática surge da necessidade de resolver problemas da vida real, isto porque tais problemas podem ser descritos através do uso de modelos matemáticos. Assim: PROBLEMA ⇒ MODELO MATEMÁTICO ⇒ SOLUÇÃO Não é raro acontecer que os resultados fi nais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução tenham sido realizadas corretamente. Os resultados obtidos dependem também: • da precisão dos dados de entrada; • da forma como estes dados são representados no computador; • das operações numéricas efetuadas. 1.21.2 – Representação de Números Exemplo 1. Calcule a área de uma circunferência de raio 100m. Para π igual a: a) 3,14 área = 31400m2 b) 3,1416 área = 31416m2 c) 3,141592654 área = 31415,92654m2 - Como justifi car as diferenças entre os resultados? - É possível obter “exatamente” esta área? Exemplo 2. Efetuar os somatórios seguintes em uma calculadora e em um computador. , para xi = 0,5 e para xi = 0,11. Resultados obtidos: i) para xi = 0,5: na calculadora: S = 15000 no computador: S = 15000 i) para xi = 0,11: na calculadora: S = 3300 no computador: S = 3299,99691 (operando em base 2) Como justifi car a diferença entre os resultados obtidos pela calculadora e pelo computador para xi = 0,11? Os erros ocorridos nos dois problemas dependem da representação dos números na máquina utilizada. A re- presentação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na sua representação. 14 O número π, por exemplo, não pode ser representado através de um número fi nito de dígitos decimais. No exemplo 1, foi escrito como 3,14; 3,1416 e 3,141592654, respectivamente nos casos (a), (b) e (c). Em cada um deles foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximação escolhida para π. Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que π é um nú- mero irracional. Conversão de Números nos Sistemas Decimal e Binário 1) Represente os números que estão na base 2 na base 10: a) (11101)2 = 1x2 4 + 1x23 + 1x22 + 0x21 + 1x20 = 16 + 8 + 4 + 0 + 1 = 29 b) (10111)2 = 1x2 4 + 0x23 + 1x22 + 1x21 + 1x20 = 16 + 0 + 4 + 2 + 1 = 23 c) (10001)2 = 1x2 4 + 0x23 + 0x22 + 0x21 + 1x20 = 16 + 0 + 0 + 0 + 1 = 17 d) (0,1101)2 = 1x2 -1 + 1x2-2 + 0x2-3+ 1x2-4 = 1/2 + 1/4 + 0 + 1/16 = 0,5 + 0,25 + 0,0625 = 0,8125 e) (10,001)2 = 1x2 1 + 0x20 + 0x2-1 + 0x2-2 + 1x2-3 = 2 + 0 + 0 + 0 + 1/8 = 2 + 0,125 = 2,125 2) Represente os números que estão na base 10 na base 2. a) 20 b) 33 c) 0,8125 0,8125 x 2 = 1,625 0,625 x 2 = 1,25 (0,8125)10 = (0,1101)2 0,25 x 2 = 0,5 0,5 x 2 = 1,0 d) 5,125 Calculando a parte inteira, temos: Calculando a parte decimal, temos: 0,125 x 2 = 0,250 0,250 x 2 = 0,5 (0,125)10 = (0,001)2 0,5 x 2 = 1,0 15 Escrevendo as duas partes juntas, temos: (5,125)10 = (101,001)2 e) 0,11 = (0,000111000010100011110101110000101000111101...)2 0,11 x 2 = 0,22 0,22 x 2 = 0,44 0,44 x 2 = 0,88 0,88 x 2 = 1,76 0,76 x 2 = 1,52 0,52 x 2 = 1,04 0,04 x 2 = 0,08 0,08 x 2 = 0,16 0,16 x 2 = 0,32 0,32 x 2 = 0,64 0,64 x 2 = 1,28 0,28 x 2 = 0,56 0,56 x 2 = 1,12 0,12 x 2 = 0,24 0,24 x 2 = 0,48 0,48 x 2 = 0,96 0,96 x 2 = 1,92 0,92 x 2 = 1,84 0,84 x 2 = 1,68 0,68 x 2 = 1,36 0,36 x 2 = 0,72 0,72 x 2 = 1,44 0,44 x 2 = 0,88 0,88 x 2 = 1,76 0,76 x 2 = 1,52 0,52 x 2 = 1,04 0,04 x 2 = 0,08 0,08 x 2 = 0,16 0,16 x 2 = 0,32 período - 01110000101000111101 Podemos ver que o número (0,11)10 não tem representação binária fi nita. Um computador que operar no siste- ma binário irá armazenar uma aproximação para (0,11)10, uma vez que possui uma quantidade fi xa de posições para guardar os dígitos da mantissa de um número, e esta aproximação será usada para realizar os cálculos. Não se pode, portanto, esperar um resultado exato. Podemos agora entender melhor por que o resultado da operação: não é obtido exatamente num computador quando opera em base 2. Aritmética de Ponto Flutuante Um computador ou calculadora representa um número real no sistema denominado aritmética de ponto fl utu- ante. Neste sistema, o número x será representado na forma: O modo usual de representar um sistema F de ponto fl utuante é: , onde: • β é a base em que a máquina opera; • t é o número de dígitos da mantissa; ; j = 1, 2,..., t; Começa a repetir
Compartilhar