Buscar

Aritmética de Ponto Flutuante, Representação de Números e Erros

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTADUAL PAULISTA 
“JÚLIO DE MESQUITA FILHO” 
FACULDADE DE ENGENHARIA 
Campus de Guaratinguetá 
 
 
Notas de Aula de Cálculo Numérico 
 
 
Prof. G. J. de Sena - Depto. de Matemática – Ed. 2016 
 
 
Capítulo 1 
 
 
SISTEMAS DE ARITMÉTICA DE PONTO FLUTUANTE, 
REPRESENTAÇÃO DE NÚMEROS E ERROS 
 
 
 
1.1. Representação de Números num Sistema de Aritmética de Ponto Flutuante 
 
O Sistema Computacional de Aritmética de Ponto Flutuante é utilizado por calculadoras e 
computadores na representação dos números e execução das operações. Um número qualquer 
na base  em aritmética de ponto flutuante de t dígitos tem a forma: 
eddd t   )...(. 21 
onde 
  tddd .... 21 é a mantissa, 10  jd , tj ,1 ; 
 e é um expoente num intervalo  Mm, . 
 
Observações: 
 Os parâmetros m, M dependem da máquina utilizada. 
 Um número em aritmética de ponto flutuante está normalizado se 01 d . 
 O número máximo de dígitos da mantissa (t) é definido em termos do comprimento da 
palavra do computador. 
 Dado um número N, sua representação em aritmética de ponto flutuante de t dígitos é 
efetuada por truncamento ou arredondamento. 
 Erros decorrentes da impossibilidade de se representar um número dado: 
"Overflow" se Me  
"Underflow" se me  
Preservamos o máximo de exatidão normalizando todos os resultados. 
 
 
Exemplo: Considere o sistema de aritmética de ponto flutuante: 
4,4,3,10  mMt 
 
 
 2
 
 REPRESENTAÇÃO 
x ARREDONDAMENTO TRUNCAMENTO 
1,25 
2,71828 
-238,15 
0,000007 
718235,82 
0.125  10 
0.272  10 
-0.238  103 
- 
- 
0.125  10 
0.271  10 
-0.238  103 
- 
- 
 
Uma representação com t dígitos na mantissa é dada estar em precisão simples. Um sistema de 
precisão dupla é um sistema de aritmética de ponto flutuante com aproximadamente o dobro 
de dígitos disponíveis para a mantissa. 
 
 
Exemplo [FRANCO, 2006]: 
Seja um sistema de aritmética de ponto flutuante com as seguintes características: 
 = 2, t = 3, m = -1, M = 2 
Quantos números podem ser representados neste sistema? Quais são estes números? 
 
Resolução: 
Os números abaixo de cada elemento da representação indicam o número de possibilidades na 
respectiva posição: 
  
42
3
2
2
1
1
2
.0 eddd  
Assim, a quantidade de números que pode ser representada é dada por: 
 3242212 Representação do zero = 33 números. 
 
A tabela a seguir apresenta os números positivos possíveis neste sistema e a representação do 
zero. 
 
12100.0  12101.0  12110.0  12111.0  
02100.0  02101.0  02110.0  02111.0  
12100.0  12101.0  12110.0  12111.0  
22100.0  22101.0  22110.0  22111.0  
 ZERO = 12000.0  
 
Exemplo: 
Representar, no sistema de aritmética de ponto flutuante anterior, os seguintes números: 
 
 3
38.01 x , 3.52 x e 15.03 x (números na base 10) 
 
Resolução: 
a) 38.01 x 
Como a base do sistema é 2, é preciso converter os números para esta base1. 
210 011000010.038.0  
1
1 2110.0
 x 
 
b) 3.52 x 
210 1015  210 0100110011.03.0  
 210 0100110011.1013.5  
3
2 2101.0  x (não pode ser representado: overflow). 
 
c) 15.03 x 
210 10010011001.015.0  
2
3 2100.0
 x (não pode ser representado: underflow). 
 
Exercícios [FRANCO, 2006]: 
1) Considere o sistema de aritmética de ponto flutuante: 
 = 10, t = 3, m = -5, M = 5 
Efetue as operações indicadas: 
a) (1.386 – 0.987) + 7.6485 
b) 1.386 – (0.987 – 7.6485) 
c) 
577.4
038.2338.1  
d) 










577.4
038.2
577.4
338.1 
 
2) Para a expressão a seguir: 
85.1716.3
617.9
471.3
678.17 2

x , pede-se: 
a) Calcular x diretamente com o auxílio de uma calculadora (ou seja, sem utilizar um 
sistema de aritmética de ponto flutuante específico). 
b) Calcular x considerando o sistema: 
  = 10, t = 3, m = -4, M = 3 (arredondamento) 
 
1 Para maiores detalhes sobre o processo de conversão, veja o apêndice no final do capítulo. 
 
 4
 
3) Considere o polinômio a seguir: 
2.28.16.03.2)( 22  xxxxP 
Seja calcular o valor numérico de )(xP para 61.1x . Ped-se: 
a) Calcular )61.1(P usando uma calculadora. 
b) Calcular )61.1(P considerando o sistema: 
  = 10, t = 3, m = -4, M = 3 (arredondamento) 
 
 
1.2. ERROS ABSOLUTOS E RELATIVOS 
 
Erro absoluto: é a diferença entre o valor exato de um número x e seu valor aproximado x : 
 
xxEAX  
 
 
Exemplo:  15.3,14.3 ,  um valor tomado dentro deste intervalo: 
01.0 EA (limitante superior p/ o módulo do erro). 
 
 
Exemplo: 
 
1.0
2113,8.2112
9.2112



xEA
x
x
 
 
1.0
4.5,2.5
3.5



yEA
y
y
 
 
Erro relativo: É o quociente do erro absoluto pelo valor aproximado: 
x
xx
x
EAER xx

 
 
 
Exemplo: 
 
1.0
107.4
9.2112
1.0
9.2112
5




x
x
x
EA
x
EA
ER
x
 
 
 
 5
1.0
02.0
3.5
1.0
3.5



y
y
y
EA
y
EA
ER
y
 
 
Portando, o erro relativo fornece uma indicação do grau de precisão da representação. 
 
 
1.3. ERROS DE ARREDONDAMENTO E TRUNCAMENTO EM UM SISTEMA DE 
ARITMÉTICA DE PONTO FLUTUANTE 
 
Se um dado número x não tem representação finita na base numérica empregada numa 
máquina, ou se o comprimento da palavra não comporta x, uma aproximação será obtida por 
arredondamento ou por truncamento. Seja um sistema de aritmética de ponto flutuante de t 
dígitos (base 10); x pode ser escrito na forma: 
 
 
.10 11.01010   xx
te
x
e
x gefondegfx 
 
Exemplo: 
7.02345.0
107.0102345.0
57.234,4
13




xx gef
x
xt
 
 
 
Truncamento: 
 
O termo dodespreza é10 texg
 . Portanto, exfx 10 : 
1
x
10
101.0
10
10
10
)1|g| (pois1010










t
e
te
e
x
te
xx
x
tete
xx
f
g
x
EA
ER
gxxEA
 
(Pois 0.1 é o menor valor que xf pode assumir). 
 
Arredondamento: 
 
Arredondamento simétrico: 










2
1,1010
2
1,10
x
tee
x
x
e
x
gsef
gsef
x 
 
 
 6
110
2
1
101.0
1021
10
10
10
2
110
:
2
1












t
e
te
e
x
te
xx
x
tete
xx
x
f
g
x
EA
ER
gxxEA
gSe
 
 
Se :21xg 
   
  tetex
tete
x
tee
x
te
x
e
xx
g
g
fgfxxEA






10
2
1101 
1010 
10101010
 
 
 
10
2
1
101.0
1021
10
1021
1010
1021 1











 te
te
e
x
te
tee
x
te
x
x ffx
EA
ER
 
Resumindo, para um sistema de base 10, temos: 
 
Truncamento: 
110
10




t
x
te
x
ER
EA
 
Arredondamento: 
110
2
1
10
2
1




t
x
te
x
ER
EA
 
 
 
Exemplo: 
2
4
101272.0
? 
10937.0



y
yx
x
 
 
Resolução: 
A mantissa do número de menor expoente deve ser deslocada para a direita de um número de 
casas igual à diferença entre os dois expoentes. 
 

4
24
4 10127200.010937.0 

yx 
  
exato resultado
44 10938272.010)001272.0937.0(  yx 
Para um sistema com t = 4: 
4109382.0  yx (truncamento) 
4109383.0 yx (arredondamento) 
 
Para o caso de arredondamento: 
 
 7
5109841.2
9383.0
9383.0938272.0)()( 
 





yx
yxyxER yx
4141 10510
2
110
2
1   t 
 
 
Exemplo: 
1
2
1
103290.0
101246.0


x
x
 
 
)( 101278.
101278.10003290.1246. 103290.101246.
1
111
21
otruncamentyx
xx

 
 
 
 
Exemplo: x.y = ? 
6624 100.1191864100.1272)(0.937)10(0.1272)10(0.937. yx 
6101191.0.  yx (truncamento); 6101192.0. yx (arredondamento). 
 
 
O zero em ponto flutuante é, em geral, representado com o menor expoente possível da 
máquina. O exemplo a seguir ilustra a razão desta necessidade. 
 
 
Exemplo: 
24 101234.0100000.0  yx 
44 10001234.010)001234.00000.0(  yx 
4100012.0  yx 
Exemplo de zero de ponto flutuante: 50100000.0  . 
 
 
1.4. PROPAGAÇÃO DE ERRO 
 
1.4.1. Expressões de Erros para as Operações Aritméticas 
 
Obtenção de expressões para os erros absoluto e relativo no resultado de cada uma das quatro 
operações aritméticas, como funções de seus operandos e de seus erros. 
 
(a) Adição (x+y) 
)()()()( yxyx EAEAyxEAyEAxyx  
 yxyx EAEAEA  
















  yx
y
y
EA
yx
x
x
EA
yx
EA
ER yxyxyx . 
 
 8
 













 yx
yER
yx
xERER yxyx . 
 
(b) Subtração (x-y) 
yxyx EAEAEA  














 yx
yER
yx
xERER yxyx . 
 
(c) Multiplicação: (x.y) 
 xyyx EAyEAxyxEAyEAxyx )).((. 
 xyyx EAyEAxER ...  
y
EA
x
EA
yx
EAyEAx
ER yxxyyx 


.
..
. 
 yxyx ERERER . 
 
(d) Divisão (x/y) 
 
x
y
x EA
y EA
x EA
y EA
y
x EA
y
EA
y
x
y
x
y
x y





















.
1
1
1
1
 
Aproximação do binômio: 
1/,1)1(  rpnrr n 









y
EA
y
EAx
y
x yx 1. 

y
EAx
y
EAyx
y
x
2
 
2
.
y
EAx
y
EA
y
x
y
x yx  
2/
.
y
EAx
y
EAEA yxyx   2/
..
y
EAxEAy
EA yxyx

 
 
y
EA
x
EA
x
y
y
EAxEAy
ER yxyxyx 

 .
.
2/ 
y
EA
x
EAER yxyx  /  yxyx ERERER / 
 
 
 9
Exemplo: 
Sistema de aritmética de ponto flutuante 
10=
4=t

 









1
3
4
102585.0
102145.0
107237.0
z
y
x
 números representados exatamente. 
Efetuar as operações e obter o erro relativo no resultado (arredondamento) 
(a) x + y + z (d) (x y)/z 
(b) x - y -z (e) x (y/z) 
(c) x/y 
 
Resolução de (b): 


2
1
s
s
zyxw  
4
1
44
1 107237.01072369998.010)00000002.07237.0(  syxs 
 
 
4
2
44
12
314
1
107234.0107234415.010)0002585.07237.0(
10
2
110
2
1

 
szss
ERs
 








zs
sERsERs
1
1
12 .
z
s z
RA
1






 
143
2 102
1
7234.0
7237.010
2
1   ERs 32 100002.1
 ERs 
 
34 100002.1107234.0   zyxERzyx 
 
 
Exercício: 
Supondo que x é representado num computador por x , onde x é obtido por arredondamento, 
obtenha os limites superiores para os erros relativos de xu 2 e xxw  . 
Respostas: 
1
1
10
10




t
t
ERw
ERu
 
 
 
Exercício: 
 
 10
Idem para xu 3 e xxxw  
Respostas: 
11 10
3
410   tt ERweERu 
 
 
Exercício: 
Sejam x e y as representações de x e y obtidas por arredondamento em um computador. 
Deduza expressões de limite de erro para mostrar que o limite do erro relativo de yxu 3 é 
menor que o limite do erro relativo de  yxxxw  . 
Respostas: 
11 10
3
7102   tw
t
u ERER 
 
 
Exemplo: 
Resolução do item (d) do exemplo anterior: 


2
1
/).(
s
s
zyxw  
1
1
134
1 101552.010152336.0102145.07237.0(. 
 syxs 
 
 
6004.06003868.010)2585.01552.0(
10
2
1
10
2
110
2
110
2
1
2
11
12
3
1
3141
1






szss
ERs
ERs t
 
 
 
 
     ERs
2
3 3 31
2
10
1
2
10 10 
 
( . ) / .
( . ) /
x y z
ER x y z



0 6004
10 3 
 
 
Resolução do item (e): 


2
1
)/(.
s
s
zyxw  
4
1
413
1 108298.0108297872.010)2585.02145.0(
  szys 
 
 11
 
 
6005.06005262.010)8298.07237.0(. 2
44
12 
 ssxs 
ERs2  ERs RA ERs1 2
3 31
2
10 1
2
10    
 
 32 10
 ERs 
 

3
10)/(
6005.0)/(



zyERx
zyx
 
 
 
Exemplo: 
Implementação com dígito de proteção ou dígito de guarda: (imediatamente à direita da 
mantissa do número de menor expoente). 
 
  3321
2
2
3
1
1007467.1003173.1064.
103173.
101064.



xx
x
x
 
Com dígito de guarda: 221 107467. xxx  
Sem digito de guarda: 221 107460. xxx  
 
 
Exemplo: 
 1
21
2
21
2
2
2
1
106550.100655.
101976102631


xxxx
.x.x
 
Note-se, neste caso, que o “zero” introduzido devido ao processo de normalização do 
resultado não é significativo. 
 
 
Exemplo: 
Sejam 992
99
1 109999.109999.  xx , ambos correspondendo ao maior valor possível de 
representação numa dada máquina: 
99
21 109998.1  xx 
(Overflow de ponto flutuante, causando uma interrupção pelo sistema operacional) 
 
 
1.4.2. Cálculo de Erros por Diferenciação de Funções Compostas 
 
Suponha que uma grandeza z dependa de duas outras, x e y, por uma determinada “lei”, ou 
seja: 
 
 
 12
),( yxfz  
 
O erro incorrido em um cálculo de z, zEA , será expresso como uma função dos erros xEA e 
yEA , das grandezas x e y respectivamente, de acordo com a equação: 
 
),(),( yxfEAyEAxfEA yxz  
 
que pode assumir a forma [Maurer, 1968]: 
 
yxyxz EAEAEAy
fEA
x
fEA 21  




 
 
onde o binômio yx EAEA 21   corresponde a um infinitésimo de ordem superior em relação a 
xEA e yEA . De uma forma geral, o erro absoluto de z, zEA , será obtido com uma 
aproximação suficiente pela diferencial total da função f, ou seja: 
 
yxz EAy
fEA
x
fEA





 
 
No caso geral, se z é uma função de n variáveis, nxxx ,,, 21  , segundo uma determinada 
“lei”, ou seja: 
 
),,( 21 nxxxfz  
 
com os erros absolutos das variáveis nxxx ,,, 21  sendo dados por nxxx EAEAEA ,,, 21  , o 
erro absoluto no cálculo de z, zEA , será obtido a partir da diferencial total: 
 
nx
n
xxz EAx
fEA
x
fEA
x
fEA








 
21
21
 
 
 
Exemplo: determinar o valor de g a partir da fórmula do pêndulo simples, que é dada por: 
g
lT 2 
 
a partir dos valores medidos para l e T . Considerar cml 100 , com cmEAl 05.0 , e 
sT 2 , com sEAT 01.0 [Maurer, 1968]. 
 
Resolução: 
 
g
lT 2  2
24
T
lg  
 
 
 13
Como g é função de l e T , diferenciando-se em relação a estas variáveis, obtém-se: 
 
Tlg EAT
l
T
EA
T
l
l
EA 















 2
2
2
2 44 
Tl EAT
lEA
T 3
2
2
2 84 
 
 
Substituindo os valores de l e T , e dos respectivos erros absolutos, considerando a situação 
de máximo erro possível, obtém-se: 
 
 01.0
2
100805.0
2
43
2
2
2


gEA  363.10gEA 
 
O erro relativo para o valor aproximado de g pode ser calculado facilmente a partir da 
definição de erro relativo. Inicialmente calcula-se o valor aproximado2 de g para os valores de 
l e T dados: 
 
222
2
2
2
86961.9961.986
2
10044
s
m
s
cm
T
lg   
0105.0
961.986
363.10

g
EA
ER gg ou %05.1gER 
 
 
Exercício: 
Considere o problema de cálculo do seno de um ângulo de um triângulo retângulo. Obter uma 
expressão para o erro absoluto incorrido no cálculo do seno, a partir dos valores das medidas 
da hipotenusa e do cateto oposto e dos respectivos erros absolutos. Aplicar para os seguintes 
valores de medidas: cm5 (hipotenusa) e cm4 (cateto oposto), admitindo um erro absoluto 
nas medidas de mm5.0 (em módulo). 
Resp.: 0.018 
(Adaptado de [Maurer, 1968]). 
 
 
Exercício: 
Considere o problema de se determinar a distância c entre dois pontos A e B, a partir de um 
ponto de observação C, como mostra a figura a seguir: 
 
 B 
 
 a 
 c 
 
 
 A b C 
 
 
2 O cálculo apresentado aqui não considera um sistema de aritmética de ponto flutuante específico, dado que a 
ênfase é obter os valores dos erros envolvidos. 
 
 14
Para o triângulo ABC mostrado medem-se a hipotenusa a, o cateto b e o ângulo  cujo valor 
é de 45. A distância c pode ser calculada por uma das três fórmulas a seguir: a) 
22 bac  ; b) senac  ; c) tgbc  . Supondo que o processo de medição dos lados 
está sujeito a um erro de 1% e a do ângulo, a um erro de 2%, verificar qual das três fórmulas 
é a melhor para o cálculo de c. 
 
Resp.: Erro no cálculo de c: a) 0.03; b) 0.026; c) 0.041. Portanto a fórmula (b) é a melhor para 
o cálculo. 
(Adaptado de [Maurer, 1968]). 
 
 
1.5. EFEITOS NUMÉRICOS 
 
Nos processos em que métodos numéricos são aplicados, o seguintes efeitos podem ser 
observados [FRANCO, 2006]: 
 Cancelamento subtrativo; 
 Propagação de erros; 
 Instabilidade Numérica; 
 Mal condicionamento. 
 
Os efeitos da propagação de erros nas operações foram estudados na seção anterior. Nesta 
seção consideramos os outros efeitos, conforme discutidos em [FRANCO, 2006]. 
 
 
a) Cancelamento subtrativo 
 
Exemplo: 
Seja calcular 9876 - 9875 , em um sistema com 10 e .10t 
 
2109937806599.09876  2109937303457.09875  
 
Portanto, 
2100000503142.098759876  
 
Normalizando: 

2100000503142.098759876 
ivossignificat
nãozeros
 
 
Observe-se que se os quatro dígitos significativos após a décima casa decimal não fossem 
“perdidos”, o resultado seria: 
 
2105031418680.098759876  
 
Para este exemplo, em particular, pode-se obter um resultado mais preciso, utilizando-se da 
transformação mostrada a seguir [FRANCO, 2006]: 
 
 
 15
  
yx
yx
yx
yx
yxyx





 
 
310060.19875110
1
98759876
9875987698759876




 
 
-2105031418680.098759876  
 
 
b) Instabilidade Numérica 
 
Algoritmos estáveis são os algoritmos cujos erros intermediários ocorridos nos cálculos têm 
um efeito desprezível no resultado final, podendo até mesmo, em alguns casos, se cancelarem 
mutuamente, pelo menos em parte. Diz-se que uma instabilidade numérica ocorre se os erros 
intermediários têm uma influência muito grande no resultado final. 
 
 
Exemplo [FRANCO, 2006]: 
Seja resolver: 
 

1
0
1 dxexeI xnn 
 
Resolução: 
Fórmula de recorrência para nI : 
Aplicando-se a relação de integração por partes:   vduuvudv , produz-se: 
 
  1
1
0
111
1
0
11
0
1 1 
 






 n
xnxnxn
n nIdxexneeedxenxexeI 
 
,2,1,1 1   nnII nn 
6321.01)1( 11
1
0
1
0 
 eeedxeeI x 
 
Conhecendo-se o valor 0I , calculam-se os demais valores da seqüência: 
0.36796321.011 01  II 
2642.03679.02121 12  II 
2160.01120.01480.01704.02074.0 76543  IIIII 
 
Observa-se que o valor obtido para 7I está errado, pois a seqüência nI é decrescente. 
Observe-se que: 
 
 
 16
1
1)max(
1
0
10
1
1
0
1




n
IdxxeedxexeI n
n
x
xxn
n  
125.0
17
1
7 
 I 
 
Diz-se que neste caso ocorreu uma instabilidade numérica. Observe-se se considerássemos 5 
casas decimais nos cálculos, a instabilidade iria ocorrer no cálculo de 9I : 
 
n nI n nI 
0 0.63212 5 0.14560 
1 0.36788 6 0.12640 
2 0.26424 7 0.11520 
3 0.20728 8 0.07840 
4 0.17088 9 0.29440 
 
Vamos supor que 0I seja afetado por um erro inicial 0 e que todas as operações 
subseqüentes sejam calculadas exatamente. Assim, o erro no cálculo de nI pode ser calculado 
como indicado a seguir: 
 
    )1(11 11111
1
 

nnnnnnnn nIInInnIII
n


 
Já o cálculo de 1n é efetuado como indicado a seguir: 
 
     
2
2222111 111)1(1

 
n
nnnnnnn IInInInII

 
   11 21   nn n  
 
De modo análogo, obtém-se para 2n : 
   12 32   nn n  
 
Ou seja: 
          
       n
nnnn
nnn
nnnnnn
11221
121111
0
3
3
2
21

 




 
  0!1  n
n
n  
 
Observa-se, portanto, que, o crescimento do erro é dado pelo fatorial do número de passos 
considerados. 
 
Um relação de recorrência instável na direção crescente de n não é necessariamente instável 
também na direção decrescente de n. Por exemplo, a partir da relação para cálculo de nI : 
 
 
 17
11  nn nII , 
 
obtém-se: 
 
n
II nn


1
1 
 
Observe-se que 0nI quando n . Assumindo 020 I , obtém-se, utilizando a expressão 
acima: 
 
n nI n nI n nI n nI 
19 0,05000 14 0,06273 9 0,09161 4 0,17089 
18 0,05000 13 0,06695 8 0,10093 3 0,20728 
17 0,05278 12 0,07177 7 0,11238 2 0,26424 
16 0,05572 11 0,07735 6 0,12680 1 0,36788 
15 0,05902 10 0,08388 5 0,14553 0 0,63212 
 
 
c) Mal condicionamento 
 
Problemas mal condicionados ou críticos são problemas que possuem infinitas soluções ou 
que não possuem nenhuma solução. 
 
 
Exemplo: 
Seja resolver o sistema linear: 
 





01.201.1
2
yx
yx
 Solução: 1x , 1y . 
 
Alterando-se o sistema para: 
 





02.201.1
2
yx
yx
 Solução: 0x , 2y . 
 
Observa-se, portanto, que uma pequena modificação em um dos coeficientes implica em uma 
grande mudança na solução do sistema. 
 
Apresenta-se, a seguir, a interpretação geométrica, para o primeiro sistema. As equações das 
retas são as seguintes: 
 
 xy  2 
01.1
01.2 xy  
 
 18
 
Plotando-se as duas retas, obtém-se o gráfico mostrado a seguir; 
 
 
 
 
Exemplo: 
Seja resolver o problema de valor inicial: 








by
ay
yy
)0(
)0( a, b: constantes. 
 
Resolução: 
xx eCeCxy  21)( 
xx eCeCxy  21)( 
 
Para 1a e 1b , as equações das condições iniciais se tornam: 





1)0(
1)0(
21
21
CCy
CCy
  01 C e 12 C 
 
xexy  )( 
 
Observe-se que 0)( xy quando x . 
 
Para 1a e  1b , com  arbitrariamente pequeno, o sistema para determinação das 
constantes 1C e 2C se torna: 





1
1
21
21
CC
CC
 
 
cuja solução é: 
21

C e 
2
12

C . Substituindo na equação de )(xy , obtém-se: 
 
 19
 
  




 





 


222
1
2
)(
xx
xxxxxx eeeeeeeexy xexy x senh)(   
 
Observe-se que neste caso )(xy quando x . Ou seja, houve uma grande mudança na 
característica matemática da solução. 
 
 
1.6. REPRESENTAÇÕES EM DIFERENTES SISTEMAS DE NUMERAÇÃO 
 
a) Sistema decimal flutuante 
 
e
xfx 10 110
1
 xf 
 
110  txER (truncamento) 
110
2
1  txER (arredondamento) 
 
b) Sistema Binário de ponto flutuante 
 
e
xfx 2 12
1
 xf 
 
t
xER
 2 (arredondamento) 
12  txER (truncamento) 
 
c) Sistema Hexadecimal de Ponto Flutuante 
 
e
xfx 16 116
1
 xf 
 
t
xER
 168 (arredondamento) 
t
xER
 1616 (truncamento) 
 
 
Exercício: obter as expressões dos erros relativos para os sistemas binário e hexadecimal. 
 
Diz-se que um computador digital tem uma precisão de t dígitos se há t dígitos na mantissa no 
número de ponto flutuante. A precisão está relacionada com o número de algarismos 
significativos. Também se diz que um computador tem t dígitos significativos se, quando os 
números são truncados, o limite do erro relativo é 10 1 t . 
 
 
 20
 
Exemplo: Nos computadores IBM 360 e 370, a mantissa possui 6 dígitos hexadecimais. 
Pergunta-se qual é a precisão p (dígitos significativos) correspondente, no sistema decimal. 
 
Resolução: 
Sist. decimal = 11 1010   ptd Sist. hexadecimal = 56 1616161616   th 
 
51 1610   p 
  7
10ln
16ln51
10ln
16ln5116ln510ln1  pppp 
 
Exercício: computador binário com 27 bits na mantissa; p = ? (dígitos decimais 
significativos). 
 
Apêndice ao capítulo: breves considerações sobre sistemas de numeração 
 
A tabela a seguir sumariza algumas das características de algumas bases de sistemas de 
numeração: 
 
BASE DÍGITOS DENOMINAÇÃO 
 2 
 8 
 10 
 16 
0,1 
0,1,2,...,7 
0,1,2,...,7,8,9 
0,1,2,...,9,A,B,C,D,E,F, 
binário 
octal 
decimal 
hexadecimal 
 
Considere-se inicialmente o número 2526 (base 10), denotado aqui por 102526 Este número 
pode ser escrito em termos de potências da base como: 
 
0123
10 1061021051022526  
 
 
Mudança de uma base para outra 
 
Para conversão de um número da base 10 para qualquer uma das outras bases, divide-se o 
número pela base, anotando-se o quociente e o resto. Caso o quociente seja diferente de zero, 
este deverá ser dividido pela base, anotando-se os novos valores de quociente e resto. O 
processo deve ser continuado até que se obtenha um quociente igual a 0. O número, na base de 
interesse, terá como dígitos os restos obtidos, justapostos em ordem contrária à de geração. 
 
 
Exemplo: converter 29
10
 para os sistema binários, octal e hexadecimal. 
 
Resolução: 
 
 21
 
29 2 
(1) 14 2 29 1110110 2 
 (0) 7 2 
 (1) 3 2 
 (1) 1 2 
 (1) 0 
 
29 8 
(5) 3 8 29 3510 8 
 (3) 0 
 
 
29 16 
(13) 1 16 29 110 16 D 
 (1) 0 
 
 
Para conversão da representação nas bases 2, 8 e 16, para a base 10, basta utilizar a 
representação do número em termos de potência das bases, como ilustrado no exemplo a 
seguir. 
 
 
Exemplo: mostrar como são convertidos as representações 11101
2
, 35 10
8 16
e para base 10 
 
 
 
  100116
10
01
8
1010
01234
2
29161316110
29858335
29212021212111101



 
 
Para conversão da representação na base 2 para as bases 8 e 16, basta agrupar os bits da 
representação binária em conjuntos de    1624823 43  e bits, respectivamente, como 
ilustrado no exemplo a seguir. 
 
 
Exemplo: obter as representações nas bases 8 e 16 para o número 11101
2
 
Resolução: 
 
 101011 11010001 
322
522
3511101
01
02
82



 
12 
13222
111101
0
023
162


 D
 
 
 
Os exemplos a seguir ilustram a conversão de números fracionários, da base 10 para base 2. 
 
 22
 
Exemplo: obter a representação, na base 2, do número 106875.0 
Resolução: 
 
0.6875  2 =
0.375  2 =
0.75  2 =
0.50  2 =
0.00  2 =
1. 
0. 
1. 
1. 
0. 
375 
75 
50 
00 
00 
 
 0 6785 0101110 2. . 
 
Observar que a conversão para a base 10 segue o mesmo esquema apresentado para inteiros, 
ou seja: 
 
  101043212 6875.0212120211011.0   
 
 
Exemplo: obter a representação, na base 2, do número 101.0 
Resolução: 
 
0.1  2 = 0.2 
0.2  2 = 0.4 
0.4  2 = 0.8 
0.8  2 = 1.6 
0.6  2 = 1.2 
0.2  2 = 0.4 
0.4  2 = 0.8 
0.8  2 = 1.6 
0.6  2 = 1.2 
 . 
...00001100110.01.0 10  
Notar que o número 101.0 não tem representação exata na base 2. 
 
 
BIBLIOGRAFIA 
 
1. BARROSO, L.C. & outros. Cálculo Numérico (com aplicações). Editora Harbra Ltda, 1987. 
2. DORN, W.S. & MAcCRACKEN, D. D. Cálculo Numérico com Estudo de Casos em Fortran IV. 
Campus, 1978. 
3. FRANCO, N. B. Cálculo Numérico. São Paulo: Pearson Prentice Hall, 2006. 
4. MAURER, W. A. Curso de Cálculo Diferencial e Integral: Funções de Várias Variáveis e 
Aplicações. São Paulo: Edgard Blücher Ltda, 1968. 
5. RUGGIERO, M.A.G. & LOPES, V.L.R. Cálculo Numérico Aspectos Teóricos e 
Computacionais. São Paulo: MAKRON Books, 1996.

Outros materiais