SlideShare uma empresa Scribd logo
ERROS COMPUTACIONAIS
Introdu¸c˜ao
O C´alculo Num´erico consiste na obten¸c˜ao de solu¸c˜oes aproximadas de problemas matem´aticos, utilizando m´etodos
num´ericos.
Com a populariza¸c˜ao dos computadores praticamente todas as atividades de Engenharia tem feito uso intensivo
dos m´etodos computacionais na resolu¸c˜ao de problemas reais, para os quais as solu¸c˜oes manuais s˜ao invi´aveis. O
uso do computador como ferramenta de trabalho de c´alculo num´erico requer o entendimento dos seus princ´ıpios de
opera¸c˜ao e de como eles interferem nos resultados obtidos. Geralmente, ´e aceito como verdade que computadores n˜ao
erram e que s˜ao os usu´arios que cometem enganos. Na realidade, o computador, como dispositivo de c´alculo num´erico,
“comete” erros devido `as suas caracter´ısticas intr´ınsecas e o papel do usu´ario ´e quantificar esses erros.
Quando realizamos c´alculos manualmente, os erros de arredondamento da calculadora s˜ao desprez´ıveis, porque
a quantidade de c´alculo que podemos operar ´e pequena. No computador, geralmente, a quantidade de opera¸c˜oes
aritm´eticas que se pode realizar ´e muito maior do que aquelas realizadas manualmente, de forma que o erro de
arredondamento do dispositivo de c´alculo se torna importante. Outro problema ´e que no c´alculo manual temos
controle da propaga¸c˜ao do erro porque, visualmente, estamos conferindo o resultado de cada opera¸c˜ao aritm´etica ao
digit´a-lo na calculadora. No computador n˜ao temos como checar cada opera¸c˜ao, tendo em vista a velocidade com que
elas s˜ao realizadas e a quantidade de c´alculos executados. Desta forma, a verifica¸c˜ao dos resultados e o controle sobre
a propaga¸c˜ao de erros em programas de computador ´e essencial para se atingir resultados consistentes e confi´aveis.
As seguintes considera¸c˜oes tem que ser levadas em conta ao se realizar c´alculos num´ericos no computador:
• A aritm´etica computacional n˜ao funciona da mesma forma que a aritm´etica que praticamos manualmente. No
c´alculo manual ´e sempre poss´ıvel monitorar os resultados intermedi´arios e ajustar a precis˜ao dos c´alculos. Na
aritm´etica computacional, cada n´umero tem uma quantidade de algarismos fixas que muitas vezes podem ser
inadequadas para o c´alculo repetitivo;
• Usualmente, o c´alculo manual ´e feito para um pequeno n´umero de opera¸c˜oes aritm´eticas, enquanto que o c´alculo
computacional pode envolver bilh˜oes de opera¸c˜oes aritm´eticas. Pequenos erros que poderiam passar desperce-
bidos no c´alculo manual, podem arruinar completamente o resultado do c´alculo computacional, por causa da
acumula¸c˜ao e propaga¸c˜ao de erros.
Erros na Fase da Modelagem
S˜ao os erros decorrentes de simplifica¸c˜oes, muitas vezes necess´arias, para que o fenˆomeno da natureza possa ser
resolvido por um modelo matem´atico.
1
C´alculo Num´erico 2016/2 Erros Computacionais
Erros na Fase de Resolu¸c˜ao
S˜ao erros provenientes da utiliza¸c˜ao de algum equipamento, por exemplo, um computador, para processarmos os
c´alculos necess´arios `a obten¸c˜ao de uma solu¸c˜ao para o modelo matem´atico. Tais erros ocorrem pois os equipamentos
tem capacidade limitada de armazenar os d´ıgitos significativos de valores num´ericos utilizados nas opera¸c˜oes elemen-
tares de adi¸c˜ao, multiplica¸c˜ao, subtra¸c˜ao e divis˜ao.
As leis que regem as opera¸c˜oes aritm´eticas, quando executadas em um computador, n˜ao obedecem `a mesma
estrutura dos n´umeros reais. Usualmente, representamos os n´umeros por meio de um sistema de base 10, isto ´e,
um sistema decimal. Entretanto, no computador digital um n´umero ´e representado, internamente, por meio de uma
sequˆencia de impulsos el´etricos que indicam dois estados: 0 ou 1. Chamamos a esta representa¸c˜ao de sistema de base
2 ou sistema bin´ario.
Note h´a uma intera¸c˜ao entre o usu´ario e o computador, portanto os dados de entrada s˜ao enviado ao computador
pelo usu´ario no sistema decimal, os quais s˜ao convertidos para o sistema bin´ario, e as opera¸c˜oes todas s˜ao efetuadas
neste sistema. Os resultados finais, s˜ao ent˜ao, convertidos para o sistema decimal e, ent˜ao, transmitidos ao usu´ario.
Todo este processo de convers˜ao ´e uma fonte de erros que afetam o resultado final dos c´alculos.
Erros na Mudan¸ca de Base
Dado um n´umero real, N, ´e sempre poss´ıvel represent´a-lo em qualquer base b, da seguinte forma:
Nb =
m∑
i=n
ai × bi
(1)
onde ai ∈ {0, 1, 2, 3, ..., (b − 1)}, com m e n inteiros.
Assim, a base bin´aria ´e da forma
N2 =
m∑
i=n
ai × 2i
, ai ∈ {0, 1} (2)
e a base decimal
N10 =
m∑
i=n
ai × 10i
, ai ∈ {0, 1, . . . , 9}. (3)
Exemplo 1.
a) (1011)2
b) (111, 01)2
c) (231)10
d) (231, 35)10
Assim, dado um n´umero real qualquer numa base b, podemos escrevˆe-lo em uma outra base b′
, a partir de adequa¸c˜ao
conveniente de seus coeficientes ai ∈ {0, 1, 2, 3, ..., (b − 1)} e de uma potˆencia adequada na nova base b′
.
Mudan¸ca de base bin´aria para a base decimal
Procedimento: multiplicar o d´ıgito bin´ario por uma potˆencia adequada de 2.
Exemplo 2.
a) (1011)2 = ( )10
b) (111, 011)2 = ( )10
c) (11, 01)2 = ( )10
Profa
Elisˆangela P. F. Bagatini 2
C´alculo Num´erico 2016/2 Erros Computacionais
Mudan¸ca de base decimal para a base bin´aria
Procedimento: deve-se aplicar um processo para a parte inteira e outra para a parte fracion´aria. Deve-se utilizar
o m´etodo das divis˜oes sucessivas, que pode ser resumido da seguinte maneira:
1. Dividir o n´umero por 2.
2. Divide-se por 2 o quociente encontrado.
3. Repetir o processo at´e que o ´ultimo quociente seja 1.
4. O n´umero bin´ario ser´a formado pela concatena¸c˜ao do ´ultimo quociente com os restos das divis˜oes lidos em sentido
inverso ao que foram obtidos.
Exemplo 3.
a) (18)10 = ( )2
b) (11)10 = ( )2
c) (25)10 = ( )2
J´a, para transformar um n´umero fracion´ario na base 10 para a base 2 utiliza-se o m´etodo das multiplica¸c˜oes
sucessivas.
1. Multiplica-se o n´umero fracion´ario por 2.
2. Do resultado do passo “1.”, a parte inteira ´e o primeiro d´ıgito bin´ario.
3. Do resultado do passo “2.”, a parte fracion´aria ´e novamente multiplicada por 2.
4. Continua-se o processo at´e que a parte fracion´aria seja nula.
a) (0, 1875)10 = ( )2
b) (0, 6)10 = ( )2
c) (13, 25)10 = ( )2
Todo o n´umero inteiro decimal pode ser representado exatamente por um n´umero inteiro bin´ario; por´em, isto n˜ao
´e verdadeiro para n´umeros fracion´arios. Mesmo fra¸c˜oes decimais comuns, tal como o n´umero decimal 0, 6, n˜ao podem
ser representadas exatamente no sistema bin´ario (0,6 ´e uma fra¸c˜ao bin´aria repetitiva com per´ıodo de 4 bits).
Na realidade, todo o n´umero decimal irracional tamb´em ser´a irracional no sistema bin´ario. No sistema bin´ario,
apenas n´umeros racionais que podem ser representados na forma p
q , no qual q ´e uma potˆencia inteira de 2, podem ser
expressos exatamente com um n´umero de bits finito.
Uma das consequˆencias do que foi descrito acima ´e que pequenos erros de representa¸c˜ao dos n´umeros decimais,
no sistema bin´ario, se propagar˜ao nos c´alculos computacionais, podendo comprometer significativamente o resultado
final.
Profa
Elisˆangela P. F. Bagatini 3
C´alculo Num´erico 2016/2 Erros Computacionais
Erro Relativo e Erro Absoluto
A diferen¸ca entre o valor exato e o valor aproximado no c´alculo computacional pode ser medida pelo erro absoluto ou
pelo erro relativo.
O erro absoluto EA ´e definido como
EA = |x − ¯x| (4)
e o erro relativo ER
ER =
|x − ¯x|
|x|
(5)
onde x ´e o valor verdadeiro e ¯x ´e o valor aproximado.
O relativo, normalmente ´e expresso como erro percentual, multiplicando-se o erro relativo por 100, ou seja:
erro percentual = erro percentual × 100 (6)
Erro de Arredondamento
Os erros de arredondamento s˜ao causados pela limita¸c˜ao dos dispositivos empregados no c´alculo num´erico como, por
exemplo, uma r´egua de c´alculo que possui uma limita¸c˜ao geom´etrica, uma calculadora eletrˆonica com n´umero de
d´ıgitos limitado no “display” ou mesmo um computador com o erro de representa¸c˜ao de um n´umero decimal no seu
equivalente bin´ario.
Exemplo 4. Consideremos o n´umero decimal exato 0, 110 cujo equivalente bin´ario ´e representado pela d´ızima 0, 00011001100112 .
Para um computador com tamanho de palavra de 16 bits, o n´umero decimal 0, 110 ´e armazenado como:
0, 110 = 0, 00011001100110012 = 0, 09999084410
de modo que o erro de arredondamento ´e dado por:
erro absoluto = |0, 1 − 0, 099990844| = 0, 000009155 ≈ 9 · 10−6
Erro por Estouro de Mem´oria (“Overflow” e “Underflow”)
A vari´avel num´erica real em precis˜ao simples pode conter no m´aximo 1038
e no m´ınimo 10−38
. O erro de “overflow”
ocorre quando o resultado de uma opera¸c˜ao aritm´etica excede o valor de 3, 4028235 · 1038
. Analogamente, o erro de
“underflow” ocorre para uma vari´avel real com precis˜ao inferior a 1, 1754944 · 10−38
.
A multiplica¸c˜ao e a divis˜ao podem acarretar erro de “overflow” como de “underflow”. O caso mais extremo de
“overflow” na divis˜ao acontece quando ocorre uma divis˜ao por zero, mas, geralmente, tal tentativa provoca uma
interrup¸c˜ao na execu¸c˜ao do programa com a emiss˜ao de um aviso pelo programa de “overflow”.
Erro de Truncamento
S˜ao erro provenientes da utiliza¸c˜ao de processos que deveriam ser infinitos ou muito grandes para a determina¸c˜ao de
um valor e que, por raz˜oes pr´aticas, s˜ao truncados.
Exemplo 5. Considere a expans˜ao da fun¸c˜ao exponencial em s´eries de potˆencia da forma:
ex
= 1 + x +
x2
2!
+
x3
3!
+ . . . (7)
Profa
Elisˆangela P. F. Bagatini 4
C´alculo Num´erico 2016/2 Erros Computacionais
Por se tratar de uma s´erie infinita, devemos escolher um n´umero de termos limitado da s´erie para que possamos
computar o valor num´erico da fun¸c˜ao ex
. Escolhemos aproximar a s´erie infinita por uma s´erie contendo trˆes termos,
ou seja:
ex
≈ 1 + x +
x2
2!
(8)
N˜ao importa a quantidade de algarismos significativos que utilizemos no c´alculo de ex
pela s´erie truncada, o
resultado ser´a sempre aproximado e, portanto, sempre ter´a um erro, chamado erro de truncamento.
Exemplo 6. Calcule o valor num´erico de e1
= e (n´umero de Euler), empregando a s´erie truncada de 2a
ordem e
calcule os erros absoluto e relativo sabendo que o valor exato do n´umero de Euler com quatro algarismo significativos
´e igual a 2, 718. (Resp.: 0, 218 e 8%)
Exerc´ıcios
Efetue as seguintes convers˜oes de base:
a) (125)10 = ( )2
b) (0, 1875)10 = ( )2
c) (51, 98)10 = ( )2
d) (11100101)2 = ( )10
c) (0, 100111)2 = ( )10
2. Encontre a representa¸c˜ao decimal (com dez casas depois da v´ırgula) da soma fracion´aria abaixo, para um compu-
tador com 10 bits de precis˜ao, ou seja, que escreva suas representa¸c˜oes bin´arias com uma matissa de 10 bits.
3
5
+
2
5
Calcule, a seguir, o valor do erro absoluto e relativo de arredondamento.
3. Utilize os 6 primeiros termos das s´eries abaixo para calcular as aproxima¸c˜oes de e1
, cos(2) e ln(1, 5). Em seguida,
determine o erro absoluto, erro relativo e erro percentual cometido nas aproxima¸c˜oes. Use o Matlab para obter o
valores exatos e aproximados. Use 5 casas ap´os a v´ırgula.
a) ex
=
∞∑
n=0
xn
n!
, ∀x
b) cos x =
∞∑
n=0
(−1)n
(2n)!
x2n
, ∀x
c) ln(1 + x) =
∞∑
n=0
(−1)n
n + 1
xn+1
, para |x| < 1
Profa
Elisˆangela P. F. Bagatini 5
REFERˆENCIAS BIBLIOGR´AFICAS
[1] ARENALES, Selma; DAREZZO, Artur. C´alculo num´erico: aprendizagem com apoio de software . 1 ed. S˜ao Paulo: Cengage Learning, 2008.
[2] FRANCO, Neide Bertoldi. C´alculo num´erico. 1 ed.. S˜ao Paulo: Pearson Prentice Hall, 2006.
[3] RUGGIERO, M´arcia A. Gomes; LOPES, Vera L´ucia da Rocha. C´alculo num´erico: aspectos te´oricos e computacionais . 2 ed.. S˜ao Paulo:
Pearson Education do Brasil, 1997.
[4] COELHO, Sandro, 2014. Material de Aula, C´alculo Num´erico.
6

Mais conteúdo relacionado

Mais procurados

Conceitos basicos 2013_2014
Conceitos basicos 2013_2014Conceitos basicos 2013_2014
Conceitos basicos 2013_2014Nuno Bastos
 
1ª lista de_algoritmos
1ª lista de_algoritmos1ª lista de_algoritmos
1ª lista de_algoritmos
Nathalia Salomao Damiao
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 09Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
Carlos Padilla Severo
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
Mauro Pereira
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06Construcao de Algoritmos - Aula 06

Mais procurados (11)

Conceitos basicos 2013_2014
Conceitos basicos 2013_2014Conceitos basicos 2013_2014
Conceitos basicos 2013_2014
 
Cassio manual
Cassio manualCassio manual
Cassio manual
 
1ª lista de_algoritmos
1ª lista de_algoritmos1ª lista de_algoritmos
1ª lista de_algoritmos
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 09Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 09
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06Construcao de Algoritmos - Aula 06
Construcao de Algoritmos - Aula 06
 

Semelhante a Erros computationais

Aula 3 - Erros.ppt
Aula 3 - Erros.pptAula 3 - Erros.ppt
Aula 3 - Erros.ppt
Joely14
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
Alexandre Grossi
 
Calculo numérico
Calculo numéricoCalculo numérico
Calculo numérico
Diego Paniago
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
ADEMARALVESTRINDADE
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1Thalles Anderson
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios Resolvidos
Flavio Gomes Lima
 
Algoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.pptAlgoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.ppt
RobertoPereiradePaiv
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
Alexandre Grossi
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
CN C01 Sistemas em Ponto Flutuante
CN C01 Sistemas em Ponto FlutuanteCN C01 Sistemas em Ponto Flutuante
CN C01 Sistemas em Ponto Flutuante
Paulo Nascimento
 
Introducao Computacao Slide 1
Introducao Computacao Slide 1Introducao Computacao Slide 1
Introducao Computacao Slide 1Duílio Andrade
 
Calculadora 82ms
Calculadora 82msCalculadora 82ms
Calculadora 82ms
Luiz Medeiros Junior
 
Cálculo Numérico
Cálculo NuméricoCálculo Numérico
Cálculo NuméricoSandro Lima
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuante
Felipe Belarmino
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
Jailson Torquato
 
PPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdfPPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdf
JosianeRezende11
 
Matematicafinanceiracomhp12c 120309062459-phpapp01
Matematicafinanceiracomhp12c 120309062459-phpapp01Matematicafinanceiracomhp12c 120309062459-phpapp01
Matematicafinanceiracomhp12c 120309062459-phpapp01
everton galvao de neiva
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de Bases
Leandro Costa
 

Semelhante a Erros computationais (20)

Aula 3 - Erros.ppt
Aula 3 - Erros.pptAula 3 - Erros.ppt
Aula 3 - Erros.ppt
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
Calculo numérico
Calculo numéricoCalculo numérico
Calculo numérico
 
Arquitetura 4
Arquitetura 4Arquitetura 4
Arquitetura 4
 
Arquitetura 4
Arquitetura 4Arquitetura 4
Arquitetura 4
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios Resolvidos
 
Algoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.pptAlgoritmos-SlidesA1_2016_03_01.ppt
Algoritmos-SlidesA1_2016_03_01.ppt
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
CN C01 Sistemas em Ponto Flutuante
CN C01 Sistemas em Ponto FlutuanteCN C01 Sistemas em Ponto Flutuante
CN C01 Sistemas em Ponto Flutuante
 
Introducao Computacao Slide 1
Introducao Computacao Slide 1Introducao Computacao Slide 1
Introducao Computacao Slide 1
 
Calculadora 82ms
Calculadora 82msCalculadora 82ms
Calculadora 82ms
 
Cálculo Numérico
Cálculo NuméricoCálculo Numérico
Cálculo Numérico
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuante
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
PPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdfPPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdf
 
Matematicafinanceiracomhp12c 120309062459-phpapp01
Matematicafinanceiracomhp12c 120309062459-phpapp01Matematicafinanceiracomhp12c 120309062459-phpapp01
Matematicafinanceiracomhp12c 120309062459-phpapp01
 
Sistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de BasesSistemas de Numeração e Conversão de Bases
Sistemas de Numeração e Conversão de Bases
 

Erros computationais

  • 1. ERROS COMPUTACIONAIS Introdu¸c˜ao O C´alculo Num´erico consiste na obten¸c˜ao de solu¸c˜oes aproximadas de problemas matem´aticos, utilizando m´etodos num´ericos. Com a populariza¸c˜ao dos computadores praticamente todas as atividades de Engenharia tem feito uso intensivo dos m´etodos computacionais na resolu¸c˜ao de problemas reais, para os quais as solu¸c˜oes manuais s˜ao invi´aveis. O uso do computador como ferramenta de trabalho de c´alculo num´erico requer o entendimento dos seus princ´ıpios de opera¸c˜ao e de como eles interferem nos resultados obtidos. Geralmente, ´e aceito como verdade que computadores n˜ao erram e que s˜ao os usu´arios que cometem enganos. Na realidade, o computador, como dispositivo de c´alculo num´erico, “comete” erros devido `as suas caracter´ısticas intr´ınsecas e o papel do usu´ario ´e quantificar esses erros. Quando realizamos c´alculos manualmente, os erros de arredondamento da calculadora s˜ao desprez´ıveis, porque a quantidade de c´alculo que podemos operar ´e pequena. No computador, geralmente, a quantidade de opera¸c˜oes aritm´eticas que se pode realizar ´e muito maior do que aquelas realizadas manualmente, de forma que o erro de arredondamento do dispositivo de c´alculo se torna importante. Outro problema ´e que no c´alculo manual temos controle da propaga¸c˜ao do erro porque, visualmente, estamos conferindo o resultado de cada opera¸c˜ao aritm´etica ao digit´a-lo na calculadora. No computador n˜ao temos como checar cada opera¸c˜ao, tendo em vista a velocidade com que elas s˜ao realizadas e a quantidade de c´alculos executados. Desta forma, a verifica¸c˜ao dos resultados e o controle sobre a propaga¸c˜ao de erros em programas de computador ´e essencial para se atingir resultados consistentes e confi´aveis. As seguintes considera¸c˜oes tem que ser levadas em conta ao se realizar c´alculos num´ericos no computador: • A aritm´etica computacional n˜ao funciona da mesma forma que a aritm´etica que praticamos manualmente. No c´alculo manual ´e sempre poss´ıvel monitorar os resultados intermedi´arios e ajustar a precis˜ao dos c´alculos. Na aritm´etica computacional, cada n´umero tem uma quantidade de algarismos fixas que muitas vezes podem ser inadequadas para o c´alculo repetitivo; • Usualmente, o c´alculo manual ´e feito para um pequeno n´umero de opera¸c˜oes aritm´eticas, enquanto que o c´alculo computacional pode envolver bilh˜oes de opera¸c˜oes aritm´eticas. Pequenos erros que poderiam passar desperce- bidos no c´alculo manual, podem arruinar completamente o resultado do c´alculo computacional, por causa da acumula¸c˜ao e propaga¸c˜ao de erros. Erros na Fase da Modelagem S˜ao os erros decorrentes de simplifica¸c˜oes, muitas vezes necess´arias, para que o fenˆomeno da natureza possa ser resolvido por um modelo matem´atico. 1
  • 2. C´alculo Num´erico 2016/2 Erros Computacionais Erros na Fase de Resolu¸c˜ao S˜ao erros provenientes da utiliza¸c˜ao de algum equipamento, por exemplo, um computador, para processarmos os c´alculos necess´arios `a obten¸c˜ao de uma solu¸c˜ao para o modelo matem´atico. Tais erros ocorrem pois os equipamentos tem capacidade limitada de armazenar os d´ıgitos significativos de valores num´ericos utilizados nas opera¸c˜oes elemen- tares de adi¸c˜ao, multiplica¸c˜ao, subtra¸c˜ao e divis˜ao. As leis que regem as opera¸c˜oes aritm´eticas, quando executadas em um computador, n˜ao obedecem `a mesma estrutura dos n´umeros reais. Usualmente, representamos os n´umeros por meio de um sistema de base 10, isto ´e, um sistema decimal. Entretanto, no computador digital um n´umero ´e representado, internamente, por meio de uma sequˆencia de impulsos el´etricos que indicam dois estados: 0 ou 1. Chamamos a esta representa¸c˜ao de sistema de base 2 ou sistema bin´ario. Note h´a uma intera¸c˜ao entre o usu´ario e o computador, portanto os dados de entrada s˜ao enviado ao computador pelo usu´ario no sistema decimal, os quais s˜ao convertidos para o sistema bin´ario, e as opera¸c˜oes todas s˜ao efetuadas neste sistema. Os resultados finais, s˜ao ent˜ao, convertidos para o sistema decimal e, ent˜ao, transmitidos ao usu´ario. Todo este processo de convers˜ao ´e uma fonte de erros que afetam o resultado final dos c´alculos. Erros na Mudan¸ca de Base Dado um n´umero real, N, ´e sempre poss´ıvel represent´a-lo em qualquer base b, da seguinte forma: Nb = m∑ i=n ai × bi (1) onde ai ∈ {0, 1, 2, 3, ..., (b − 1)}, com m e n inteiros. Assim, a base bin´aria ´e da forma N2 = m∑ i=n ai × 2i , ai ∈ {0, 1} (2) e a base decimal N10 = m∑ i=n ai × 10i , ai ∈ {0, 1, . . . , 9}. (3) Exemplo 1. a) (1011)2 b) (111, 01)2 c) (231)10 d) (231, 35)10 Assim, dado um n´umero real qualquer numa base b, podemos escrevˆe-lo em uma outra base b′ , a partir de adequa¸c˜ao conveniente de seus coeficientes ai ∈ {0, 1, 2, 3, ..., (b − 1)} e de uma potˆencia adequada na nova base b′ . Mudan¸ca de base bin´aria para a base decimal Procedimento: multiplicar o d´ıgito bin´ario por uma potˆencia adequada de 2. Exemplo 2. a) (1011)2 = ( )10 b) (111, 011)2 = ( )10 c) (11, 01)2 = ( )10 Profa Elisˆangela P. F. Bagatini 2
  • 3. C´alculo Num´erico 2016/2 Erros Computacionais Mudan¸ca de base decimal para a base bin´aria Procedimento: deve-se aplicar um processo para a parte inteira e outra para a parte fracion´aria. Deve-se utilizar o m´etodo das divis˜oes sucessivas, que pode ser resumido da seguinte maneira: 1. Dividir o n´umero por 2. 2. Divide-se por 2 o quociente encontrado. 3. Repetir o processo at´e que o ´ultimo quociente seja 1. 4. O n´umero bin´ario ser´a formado pela concatena¸c˜ao do ´ultimo quociente com os restos das divis˜oes lidos em sentido inverso ao que foram obtidos. Exemplo 3. a) (18)10 = ( )2 b) (11)10 = ( )2 c) (25)10 = ( )2 J´a, para transformar um n´umero fracion´ario na base 10 para a base 2 utiliza-se o m´etodo das multiplica¸c˜oes sucessivas. 1. Multiplica-se o n´umero fracion´ario por 2. 2. Do resultado do passo “1.”, a parte inteira ´e o primeiro d´ıgito bin´ario. 3. Do resultado do passo “2.”, a parte fracion´aria ´e novamente multiplicada por 2. 4. Continua-se o processo at´e que a parte fracion´aria seja nula. a) (0, 1875)10 = ( )2 b) (0, 6)10 = ( )2 c) (13, 25)10 = ( )2 Todo o n´umero inteiro decimal pode ser representado exatamente por um n´umero inteiro bin´ario; por´em, isto n˜ao ´e verdadeiro para n´umeros fracion´arios. Mesmo fra¸c˜oes decimais comuns, tal como o n´umero decimal 0, 6, n˜ao podem ser representadas exatamente no sistema bin´ario (0,6 ´e uma fra¸c˜ao bin´aria repetitiva com per´ıodo de 4 bits). Na realidade, todo o n´umero decimal irracional tamb´em ser´a irracional no sistema bin´ario. No sistema bin´ario, apenas n´umeros racionais que podem ser representados na forma p q , no qual q ´e uma potˆencia inteira de 2, podem ser expressos exatamente com um n´umero de bits finito. Uma das consequˆencias do que foi descrito acima ´e que pequenos erros de representa¸c˜ao dos n´umeros decimais, no sistema bin´ario, se propagar˜ao nos c´alculos computacionais, podendo comprometer significativamente o resultado final. Profa Elisˆangela P. F. Bagatini 3
  • 4. C´alculo Num´erico 2016/2 Erros Computacionais Erro Relativo e Erro Absoluto A diferen¸ca entre o valor exato e o valor aproximado no c´alculo computacional pode ser medida pelo erro absoluto ou pelo erro relativo. O erro absoluto EA ´e definido como EA = |x − ¯x| (4) e o erro relativo ER ER = |x − ¯x| |x| (5) onde x ´e o valor verdadeiro e ¯x ´e o valor aproximado. O relativo, normalmente ´e expresso como erro percentual, multiplicando-se o erro relativo por 100, ou seja: erro percentual = erro percentual × 100 (6) Erro de Arredondamento Os erros de arredondamento s˜ao causados pela limita¸c˜ao dos dispositivos empregados no c´alculo num´erico como, por exemplo, uma r´egua de c´alculo que possui uma limita¸c˜ao geom´etrica, uma calculadora eletrˆonica com n´umero de d´ıgitos limitado no “display” ou mesmo um computador com o erro de representa¸c˜ao de um n´umero decimal no seu equivalente bin´ario. Exemplo 4. Consideremos o n´umero decimal exato 0, 110 cujo equivalente bin´ario ´e representado pela d´ızima 0, 00011001100112 . Para um computador com tamanho de palavra de 16 bits, o n´umero decimal 0, 110 ´e armazenado como: 0, 110 = 0, 00011001100110012 = 0, 09999084410 de modo que o erro de arredondamento ´e dado por: erro absoluto = |0, 1 − 0, 099990844| = 0, 000009155 ≈ 9 · 10−6 Erro por Estouro de Mem´oria (“Overflow” e “Underflow”) A vari´avel num´erica real em precis˜ao simples pode conter no m´aximo 1038 e no m´ınimo 10−38 . O erro de “overflow” ocorre quando o resultado de uma opera¸c˜ao aritm´etica excede o valor de 3, 4028235 · 1038 . Analogamente, o erro de “underflow” ocorre para uma vari´avel real com precis˜ao inferior a 1, 1754944 · 10−38 . A multiplica¸c˜ao e a divis˜ao podem acarretar erro de “overflow” como de “underflow”. O caso mais extremo de “overflow” na divis˜ao acontece quando ocorre uma divis˜ao por zero, mas, geralmente, tal tentativa provoca uma interrup¸c˜ao na execu¸c˜ao do programa com a emiss˜ao de um aviso pelo programa de “overflow”. Erro de Truncamento S˜ao erro provenientes da utiliza¸c˜ao de processos que deveriam ser infinitos ou muito grandes para a determina¸c˜ao de um valor e que, por raz˜oes pr´aticas, s˜ao truncados. Exemplo 5. Considere a expans˜ao da fun¸c˜ao exponencial em s´eries de potˆencia da forma: ex = 1 + x + x2 2! + x3 3! + . . . (7) Profa Elisˆangela P. F. Bagatini 4
  • 5. C´alculo Num´erico 2016/2 Erros Computacionais Por se tratar de uma s´erie infinita, devemos escolher um n´umero de termos limitado da s´erie para que possamos computar o valor num´erico da fun¸c˜ao ex . Escolhemos aproximar a s´erie infinita por uma s´erie contendo trˆes termos, ou seja: ex ≈ 1 + x + x2 2! (8) N˜ao importa a quantidade de algarismos significativos que utilizemos no c´alculo de ex pela s´erie truncada, o resultado ser´a sempre aproximado e, portanto, sempre ter´a um erro, chamado erro de truncamento. Exemplo 6. Calcule o valor num´erico de e1 = e (n´umero de Euler), empregando a s´erie truncada de 2a ordem e calcule os erros absoluto e relativo sabendo que o valor exato do n´umero de Euler com quatro algarismo significativos ´e igual a 2, 718. (Resp.: 0, 218 e 8%) Exerc´ıcios Efetue as seguintes convers˜oes de base: a) (125)10 = ( )2 b) (0, 1875)10 = ( )2 c) (51, 98)10 = ( )2 d) (11100101)2 = ( )10 c) (0, 100111)2 = ( )10 2. Encontre a representa¸c˜ao decimal (com dez casas depois da v´ırgula) da soma fracion´aria abaixo, para um compu- tador com 10 bits de precis˜ao, ou seja, que escreva suas representa¸c˜oes bin´arias com uma matissa de 10 bits. 3 5 + 2 5 Calcule, a seguir, o valor do erro absoluto e relativo de arredondamento. 3. Utilize os 6 primeiros termos das s´eries abaixo para calcular as aproxima¸c˜oes de e1 , cos(2) e ln(1, 5). Em seguida, determine o erro absoluto, erro relativo e erro percentual cometido nas aproxima¸c˜oes. Use o Matlab para obter o valores exatos e aproximados. Use 5 casas ap´os a v´ırgula. a) ex = ∞∑ n=0 xn n! , ∀x b) cos x = ∞∑ n=0 (−1)n (2n)! x2n , ∀x c) ln(1 + x) = ∞∑ n=0 (−1)n n + 1 xn+1 , para |x| < 1 Profa Elisˆangela P. F. Bagatini 5
  • 6. REFERˆENCIAS BIBLIOGR´AFICAS [1] ARENALES, Selma; DAREZZO, Artur. C´alculo num´erico: aprendizagem com apoio de software . 1 ed. S˜ao Paulo: Cengage Learning, 2008. [2] FRANCO, Neide Bertoldi. C´alculo num´erico. 1 ed.. S˜ao Paulo: Pearson Prentice Hall, 2006. [3] RUGGIERO, M´arcia A. Gomes; LOPES, Vera L´ucia da Rocha. C´alculo num´erico: aspectos te´oricos e computacionais . 2 ed.. S˜ao Paulo: Pearson Education do Brasil, 1997. [4] COELHO, Sandro, 2014. Material de Aula, C´alculo Num´erico. 6