Mat 4 CNM - Erros

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 53

MINISTÉRIO DA EDUCAÇÃO

SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA


INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA
BACHARELADO EM ENGENHARIA MECÂNICA
DISCIPLINA: CÁLCULO NUMÉRICO

CÁLCULO NUMÉRICO
(Continuação)

Prof. Rogério da Silva


Prof.ª: Vilma Gisele Karsburg (Elaborado pela Prof.)

1
2. Erros

A representação de números e a aritmética em


computadores levam aos chamados erros de
arredondamento e de truncamento.

2.1. Sistema de numeração e mudança de base

Usualmente, utilizamos o sistema de numeração


decimal para representar números. Esse é um
sistema de numeração posicional onde a posição do
dígito indica a potência de 10 que o dígito está
representando.
2.1. Sistema de numeração e mudança
de base

Exemplo 1. O número 293 é decomposto


como:

O sistema de numeração posicional também


pode ser usado com outras bases.
Definição 2.1.1(Sistema de numeração de base b)

Dado um número natural b > 1 e o conjunto de


símbolos {+ - , 0, 1, 2, …, b - 1}, a sequência
de símbolos

representa o número positivo:

Para representar números negativos usamos


o símbolo − a esquerda do numeral.
Obs. ( b ≥ 10)

Para sistemas de numeração com base b ≥


10 é usual utilizar as seguintes notações:
• No sistema de numeração decimal ( b = 10),
costumamos representar o número sem os
parênteses e o subíndice, ou seja,

• Se b > 10, usamos as letras A, B, C, ... para


denotar os algarismos: A = 10, B = 11, C =
12, D = 13, E = 14, F = 15.
Exemplo 2 (Sistema binário)

O sistema de numeração em base dois é


chamado de binário e os algarismos
binários são conhecidos como bits (do
inglês binary digits ). Um bit pode assumir
dois valores distintos: 0 ou 1. Por exemplo:
No Scilab podemos converter o número
(1001,101)2 para a base decimal
computando:

Agora, tente você!


Converta o número (11010,1)2 para a
base decimal no Scilab!
Exemplo 3 (Sistema quaternário)

No sistema quaternário a base b é igual a


4 e, portanto, temos o seguinte conjunto
de algarismos { 0 , 1 , 2 , 3 } . Por
exemplo:

Verifique no Scilab!
Exemplo 4 (Sistema octal)

No sistema octal a base é b = 8. Por


exemplo:

Verifique no computador!
Exemplo 5 (Sistema hexadecimal)

O sistema de numeração cuja a base é b = 16 é


chamado de sistema hexadecimal. Neste, temos o
conjunto de algarismos { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,
B, C, D, E, F} . Convertendo o número ( E 2 AC )16
para a base 10 temos:

Verifique no computador!
Obs.

O Scilab oferece algumas funções para a


conversão de números inteiros em dada base
para a base decimal. Por exemplo, temos:
Exemplo 6.

Vamos converter o número 9,625 para a base binária


(b=2). Primeiramente, decompomos 9 , 625 na soma
de suas partes inteira e fracionária: 9,625 = 9 + 0,625.
Resolução. Conversão da parte inteira . Para converter
a parte inteira, fazemos sucessivas divisões por b = 2
obtendo: 9 = (1001)2.
No Scilab, podemos usar os comandos fix
(truncamento) e módulo (resto da divisão) para
computar esta conversão da seguinte forma:
--> dec2base(9,2) Confira!
Continuação da resolução:

Conversão da parte fracionária: Para converter


a parte fracionária, fazemos sucessivas
multiplicações por b = 2 obtendo:

Ou seja, temos que 0,625 = (0,101)2 . No


Scilab, podemos computar esta conversão da
parte fracionária da seguinte forma:
--> x = 0.625
--> d = fix ( 2*x ) , x = 2*x - d
--> d = fix (...) até x=0.
Confira!
Conclusão

Da conversão das partes inteira e


fracionária de 9,625, obtemos 9 = (1001)2
e 0,625 = (0,101)2. Logo, concluímos que
9,625 = (1001,101)2.
Obs.
O Scilab oferece algumas funções para a
conversão de números inteiros em base
decimal para uma dada base. Por
exemplo, temos:
IMPORTANTE!

Para converter um número para a base


decimal, devemos fazer as
multiplicações pelas respectivas
potências das bases;
Para converter da base decimal para
outra base devemos efetuar as
sucessivas divisões.
Exercícios

1. Obtenha a representação do
número 125,583ത na base 6. 325,33

2. Obtenha a representação na base


4 do número (101,01)2 .

11,1
2.2 Notação científica e notação
normalizada

Exemplo 7.
a) O número 602,2141 em notação científica
pode ser escrito como

b) O número (1010,10)2 pode ser escrito em


notação científica como (10,1010)2× 22 ?
Definição 2.2.1.
Um número x na base b é dito estar
representado em notação (científica)
normalizada quando está escrito na forma
𝑥 = −1 𝑠 (𝑀)𝑏 × 𝑏 𝐸

Onde (𝑀)𝑏 = (𝑑1 , 𝑑−1 𝑑−2 𝑑−3 … )𝑏 , com 𝑑1 ≠ 0,


s é 0 para positivo e 1 para negativo, E é o
expoente.
Exemplo 8.
Vejamos os seguintes casos:

a) O número 602,2141 em notação


(científica) normalizada é representado
por
6,022141 × 102 .

b) O número (1010,10)2 escrito em


notação normalizada é (1,01010)2×23.
Obs.

No Scilab, a representação em ponto


flutuante decimal com 8 dígitos é a
padrão, por exemplo:
-->-%pi
ans =
- 3.14159D+00
Podemos controlar a impressão de
números com o comando format. Por
exemplo:
Exercícios

3. Represente os seguintes números


em notação científica normalizada:
2.3 Representação decimal
finita
Em computadores, é usual
representarmos números usando uma
quantidade de dígitos finita.
Porém, dízimas infinitas e números
irracionais não são usualmente
representados de forma exata em
computadores. Esta questão nos leva
aos conceitos de número de dígitos
significativos e arredondamento.
Definição 2.3.1
(Número de dígitos significativos) . Um
número decimal
x = ±d 1 ,d −1 ... d −i d −i−1 ... d−i−n d −i−n−1×10 E

é dito ter n dígitos significativos quando


d j = 0 para j ≥ −i e j ≤ −i − n − 1 .

Exemplo 9. O número 0,0602100×10−3 tem


4 dígitos significativos.
2.3.1 Arredondamento de
números

Quando representamos um número x com


uma quantidade de dígitos menor que a de
dígitos significativos acabamos com uma
aproximação deste. Este procedimento é
chamado arredondamento de um número.
1. Arredondamento por truncamento
Aproximamos x por
𝑥ҧ = ±𝑑0 , 𝑑1 𝑑2 … 𝑑𝑘 × 10𝑒
simplesmente descartando os dígitos 𝑑𝑗
com 𝑗 > 𝑘.
2. Arredondamento por proximidade:
Se 𝑑𝑘+1 < 5 aproximamos x por
𝑥ҧ = ±𝑑0 , 𝑑1 𝑑2 … 𝑑𝑘 × 10𝑒
senão aproximamos x por
𝑥ҧ = ±(𝑑0 , 𝑑1 𝑑2 … 𝑑𝑘 + 10−𝑘 ) × 10𝑒
Exemplo 10.

Represente os números x1=0,567, x2=0,233,


x3=−0,675 e x4 = 0,314159265...×101 com
dois dígitos significativos por truncamento e
arredondamento.
Obs.

Observe que o arredondamento pode


mudar todos os dígitos e o expoente da
representação em ponto flutuante de um
número dado. Por exemplo, o
arredondamento de 0,9999 × 10−1 com 3
dígitos significativos é 0,1×10 0 .
2.4 Representação de
números em máquina

Os computadores representam os números


com uma quantidade fixa de bits, o que se
traduz em um conjunto finito de números
representáveis. Os demais números são
tomados por proximidade àqueles
conhecidos, gerando erros de
arredondamento.
2.4.1 Números inteiros

Tipicamente, um número inteiro é


armazenado em um computador como
uma sequência de dígitos binários de
comprimento fixo denominado registro .
Em um registro com 8 bits, teremos os
números:

Note que todo registro começando como 1


será um número negativo.
2.4.2 Sistema de ponto fixo

O sistema de ponto fixo representa as


partes inteira e fracionária do número
com uma quantidade fixa de dígitos.
2.4.3 Sistema de ponto
flutuante

O sistema de ponto flutuante não possui


quantidade fixa de dígitos para as
partes inteira e fracionária do número.
Obs. O menor número positivo, o maior
número e o menor número
subnormal representáveis no Scilab são:
-->MINR=number_properties('tiny')
-->MAXR=number_properties('huge')
-->number_properties('tiniest')
2.4.5 Distribuição dos
números

Utilizando uma máquina em ponto


flutuante, temos um número finito de
números que podemos representar.
Um número muito pequeno geralmente é
aproximado por zero ( underflow ) e um
número muito grande ( overflow )
geralmente faz o cálculo parar.
Exercício
4. Usando a representação
complemento de dois de números
inteiros com 8 bits , escreva o número
decimal que corresponde aos
seguintes barramentos:
2.5 Tipos de erros

Em geral, os números não são


representados de forma exata nos
computadores. Isto nos leva ao
chamado erro de arredondamento.
Quando resolvemos problemas com
técnicas numéricas estamos sujeitos a
este e outros tipos de erros.
1. Incerteza de dados
2. Erro de arredondamento
3. Erro de truncamento
Definição 2.5.1. Seja x um número real e 𝑥ҧ
sua aproximação. O erro absoluto da
aproximação 𝑥ҧ é definido como:
𝑥 − 𝑥ҧ
O erro relativo da aproximação 𝑥ҧ é definido
como:
𝑥 − 𝑥ҧ
, 𝑥 ≠ 0.
𝑥
Obs. O erro relativo é adimensional e, muitas
vezes, é dado em porcentagem. Mais
precisamente, o erro relativo em
porcentagem da aproximação 𝑥ҧ é dado por:
𝑥 − 𝑥ҧ
× 100%
𝑥
Exemplo 11. Sejam 𝑥 = 123456,789 e
sua aproximação xത = 123000. Determine
o valor dos erros absolutos e relativos.

Exemplo 12. Sejam 𝑦 = 1,23456789 e


𝑦ത = 1,13. Vamos definir o valor do seu
erro absoluto e relativo.
Exercício
5. Calcule os erros absoluto e relativo das
aproximações 𝑥ҧ para 𝑥.
a) 𝑥 = 𝜋 = 3,14159265358979 … 𝑒 𝑥ҧ = 3,141
b) 𝑥 = 1,00001 𝑒 𝑥ҧ = 1
c) 𝑥 = 100001 𝑒 𝑥ҧ = 100000
2.6 Erros nas operações elementares

O erro relativo presente nas operações elementares


de adição, subtração, multiplicação e divisão é da
ordem do épsilon de máquina. Se estivermos
usando uma máquina com 64 bits, temos que
Este erro é bem pequeno!
Assumindo que x e y são representados com
todos dígitos corretos, temos aproximadamente
15 dígitos significativos corretos quando fazemos
uma das operações x + y, x − y, x × y ou x/y.

Mesmo que fizéssemos, por exemplo, 1000


operações elementares em ponto flutuante
sucessivas, teríamos, no pior dos casos,
acumulado todos esses erros e perdido 3 casas
decimais.
2.7 Cancelamento catastrófico

Quando fazemos subtrações com números


muito próximos entre si ocorre o cancelamento
catastrófico, onde podemos perder vários dígitos
de precisão em uma única subtração.
Exemplo 13. Efetue a operação 0,987624687925
− 0,987624 usando arredondamento com seis
dígitos significativos e observe a diferença se
comparado com resultado sem arredondamento.

Exemplo 14. Considere o problema de encontrar


as raízes da equação de segundo grau x ² + 300 x
− 0,014 = 0, usando seis dígitos significativos.
2.8 Condicionamento de um problema

Nesta seção, utilizaremos a seguinte descrição


abstrata para o conceito de “resolver um
problema”: dado um conjunto de dados de
entrada, encontrar os dados de saída. Se
denotamos pela variável x os dados de entrada e
pela variável y os dados de saída, resolver o
problema significa encontrar y dado x. Em termos
matemáticos, a resolução de um problema é
realizada pela solução de y = f(x).
Definição 2.8.1.

Seja f uma função diferenciável. O número de


condicionamento de um problema é definido como

e fornece uma estimativa de quanto os erros


relativos na entrada

serão amplificados na saída


Exemplo 15. Considere o problema de
calcular 𝑥 em x = 2. Se usarmos x* = 1,999,
quanto será o erro relativo na saída?

Exemplo 16. Considere o seguinte processo:


1
𝑥0 =
3
𝑥𝑛+1 = 4𝑥𝑛 − 1, n ∈ 𝑁.
•A sequência efetivamente calculada no
computador é:
•Exemplo 17. Observe a seguinte
identidade:
1+𝑥 −1
𝑓 𝑥 = =1
𝑥
Calcule o valor da expressão à esquerda
para 𝑥 = 10−12 , 𝑥 = 10−13 , 𝑥 = 10−14 , 𝑥
= 10−15 , 𝑥 = 10−16 𝑒 𝑥 = 10−17 . Observe
que quando x se aproxima do 𝜀 de
máquina a expressão perde o significado.
Observe no próximo slide o gráfico de f(x)
em escala logarítmica.
Exemplo 18. Neste exemplo, estamos
interessados em compreender mais
detalhadamente o comportamento da
expressão:

• Número de Euler

Você também pode gostar