CN - 1 Notas de Aulas Erros

Você também pode gostar

Você está na página 1de 48

Cálculo Numérico-Erros Prof.

Carlos Gonçalves [1]

Capítulo 1
Preâmbulo

Definições e Conceitos

Algumas fórmulas, definições, e conceitos do Cálculo serão usados nestas


notas de aulas, de acordo com o contexto.

É suposto aqui que o aluno já os conheça e domine-os com habilidade.

Proposição 1: (Fórmula de Taylor) Seja f uma função real definida,


contínua, com n+1 derivadas contínuas no intervalo fechado [a,b], e seja x
ϵ [a,b]. Então,

′(
(𝑥 − 𝑎)2 ′′ (𝑥 − 𝑎)𝑛 (𝑛)
𝑓(𝑥 ) = 𝑓(𝑎) + (𝑥 − 𝑎)𝑓 𝑎) + 𝑓 (𝑎) + ⋯ + 𝑓 (𝑎)
2! 𝑛!
(𝑥 − 𝑎)𝑛+1 (𝑛+1)
+ 𝑓 (𝜉)
(𝑛 + 1)!
Onde 𝑎 ≤ 𝜉 ≤ 𝑥.

Se na fórmula de Taylor fizermos a=0, temos a fórmula de Maclaurin, i.e.,

′(
𝑥 2 ′′ 𝑥 𝑛 (𝑛)
𝑓(𝑥 ) = 𝑓(0) + 𝑥𝑓 𝑎) + 𝑓 (0) + ⋯ + 𝑓 (0)
2! 𝑛!
𝑥 𝑛+1
+ 𝑓 (𝑛+1) (𝜉)
(𝑛 + 1)!
Onde 𝑎 ≤ 𝜉 ≤ 𝑥.

Ainda como caso particular da fórmula de Taylor, temos o teorema da


média, quando n=0, i.e.,

𝑓 (𝑥 ) = 𝑓(𝑎) + (𝑥 − 𝑎)𝑓 ′ (𝜉 )
Chama-se desigualdade triangular a relação:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [2]

|𝑎 + 𝑏| = |𝑎| + |𝑏|

A derivada parcial de uma função de duas variáveis f(x,y) em relação a y é


representada por:
𝜕𝑓(𝑥, 𝑦)
𝜕𝑦
Assim, seja a seguinte função:

𝑓(𝑥, 𝑦) = 𝑎𝑥 + 𝑏𝑦 2 + 𝑐 ∶ 𝑎, 𝑏, 𝑐 ℝ
Então,
𝜕𝑓(𝑥, 𝑦)
= 2𝑏𝑦
𝜕𝑦
A variável x porta-se como uma constante. Já a derivada da mesma função
em relação à x, daria (o y é visto como constante agora),
𝜕𝑓(𝑥, 𝑦)
=𝑎
𝜕𝑥
Proposição 2: (Teorema de Rolle) Seja f(x) uma função contínua real e
diferenciável no intervalo [a,b]. Se f(a) = f(b) = 0, existe ξ ∈ [𝑎, 𝑏], tal que
f’(ξ)=0.

Corolário: Seja a ≤ x0 < x1 < x2 < … < xn ≤ b e f uma função real definida,
contínua, e com as n primeiras derivadas contínuas no intervalo fechado
[a,b]. Se f(xk) = 0, k = 0,1,...,n, então Ǝ ξ ϵ [a,b], tal que f(n)(ξ) = 0.

Proposição 3: (Teorema da média do cálculo integral) Sejam f e g funções


reais definidas, contínuas, no intervalo fechado [a,b]. Se g(x) ≥ 0, Ǝ ξ ϵ
[a,b], tal que,
𝑏 𝑏
∫ 𝑓 (𝑥 )𝑔(𝑥 ) 𝑑𝑥 = 𝑓(𝜉) ∫ 𝑔(𝑥) 𝑑𝑥
𝑎 𝑎
Cálculo Numérico-Erros Prof. Carlos Gonçalves [3]

Proposição 4: (Condição necessária de mínimo) Seja f uma função real, de


n variáveis reais x1, x2,..., xn, definida nas vizinhanças do ponto
(𝑥̅1 , 𝑥̅2 , ⋯ , 𝑥̅𝑛 ). Se nesse ponto f admite um mínimo e nele existem as
derivadas parciais, então:
𝑑𝑓
(𝑥̅ , 𝑥̅ , ⋯ , 𝑥̅𝑛 ) = 0 ∶ 𝑘 = 1,2, … , 𝑛 ˄ 𝑛 ∈ ℕ
𝑑𝑥𝑘 1 2
Cálculo Numérico-Erros Prof. Carlos Gonçalves [4]

Sistemas de Numeração
Conjunto dos símbolos usados (definidos pela base do sistema) para a
representação de quantidades e as regras que definem a forma de
representação.

Teorema Fundamental da Numeração (TFN)


A base define o valor de cada símbolo de acordo com a sua posição, i.e.,
seja N um número, β a base e di seus símbolos, então sua representação,
segundo a NPS, é dada por:
𝑀

𝑁𝛽 = ∑ 𝑑𝑖 ∙ 𝛽 𝑖
𝑖=−𝑚
Equação 1

onde:

 i: posição em relação à vírgula


 m: nº de dígitos à direita da vírgula
 M: nº de dígitos à esquerda da vírgula -1
 dk: são números inteiros tal que: 0 ≤ dk ≤ β-1; k=1, 2, 3,...

Exemplo: 3,1416 = 3  100 + 1  10-1 + 4  10-2 + 1  10-3 + 6  10-4

 Sistema Binário
Usado internamente pelo hardware dos computadores atuais.
Têm-se dois símbolos: 0 e 1
É um biestado de fácil representação eletrônica.
Vejamos como converter um número binário fracionário para o decimal.
Pelo TFN sabemos que um número binário tem a forma geral:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [5]

𝑁2 = ∑ 𝑑𝑖 ∙ 2𝑖
𝑖=−𝑚
Equação 2

onde:
 di: é 0 ou 1 (elementos do sistema)
 m e M são inteiros, como definidos antes
Exemplo: Converter 11.012 para decimal. Usando-se a expansão:
11.012 = 1∙21 + 1∙20 + 0∙2-1 + 1∙2-2
= 2 + 1 + 0.25
= 3.2510
Para se converter um número decimal fracionário para binário, usamos o
método das divisões sucessivas na parte inteira, e depois o método de
multiplicações sucessivas na parte fracionária.
Exemplo: Seja converter 11.187510 para binário.
Parte inteira:
11 | 2__
(1) 5 | 2__
(1) 2 | 2__
(0) (1)  11 = 10112
Parte fracionária:
0.1875 x 2 = 0.3750
0.375 x 2 = 0.750
0.75 x 2 = 1.50
0.50 x 2 = 1.00  0.187510 = 0.00112
Cálculo Numérico-Erros Prof. Carlos Gonçalves [6]

Então: 11.187510 = 10112 + 0.00112 = 1011. 00112


Exercício: Represente 0.610 em binário. O que se observa no resultado?
Operações aritméticas binárias
 Soma binária: 1 + 1 = 10 !?
Exemplo: Somar 10.12 e 11.012
Temos:
1 (Vai-um) (decimal)
1 0 . 1 .......................................... 2.5
+1 1 . 0 1 .......................................... + 3.25
1 0 1 . 1 1 .......................................... 5.75

 Multiplicação binária
Exemplo: Multiplicar 11.012 e 1.12
Temos:
(Vai-um) (decimal)
1 1 . 0 1 .......................................... 3.25
x 1 . 1 ......................................... x 1.50
1101
__1 1 0 1__
1 0 0 .1 1 1 ........................................... 4.875

 Subtração binária
Exemplo: Subtrair 111.012 e 11.12
Temos:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [7]

22
000 2 (decimal)
1 1 1 . 0 1 .......................................... 7.25
-__1 1 . 1 0 .......................................... - 3.50
1 1 . 1 1 .......................................... 3.75
Prova? Fica como dever de casa.

 Sistema Octal
Usa oito símbolos, i.e.: 0, 1, 2, 3, 4, 5, 6, 7
Aritmética similar aos sistemas binário e decimal.
 Sistema Hexadecimal
Usa 16 símbolos, i.e.: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Atribui-se os seguintes valores absolutos às letras:
Símbolo A B C D E F
Valor 10 11 12 13 14 15

Sua aritmética é semelhante às demais.

Exemplo: Converter 2CA16 para decimal.

Usando a expansão, pelo TFN, vem:

2  162 + C  161 + A  16 = 512 + 192 + 10 = 714

Mudanças de bases

 Conversão decimal-binário
Usa-se divisões sucessivas.
Exemplo: Converter 10 para binário
Cálculo Numérico-Erros Prof. Carlos Gonçalves [8]

10 | 2__
(0) 5 | 2__
(1) 2 | 2__
(0) (1)  10 = 10102

 Conversão decimal-octal
500 | 8__
20 62 | 8__
(4) (6) (7)  500 = 764(8)

 Conversão decimal-hexadecimal
1000 | 16__
40 62 | 16__
(8) (14) (3)  1000 = 3E816

 Conversão hexadecimal-binário
 Para converter um número hexa em binário, substitui-se cada dígito
hexa por sua representação binária com 4 dígitos: 16 = 24.

Dígito hexadecimal Dígito binário Dígito hexadecimal Dígito binário


0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111

Exemplo: 2BC16 = 0010 1011 1100 b


Cálculo Numérico-Erros Prof. Carlos Gonçalves [9]

 Conversão octal-binário
Similar à conversão hexa para binária, usando-se apenas as duas colunas
iniciais da tabela acima, desprezando-se o zero mais a esquerda, pois,
8 = 23.

Exemplo: 1274(8) = 001 010 111 100 b


Obs.: A conversão de binário para octal ou hexa segue o procedimento inverso.

Representação de Números Inteiros

Os computadores digitais usam basicamente quatro métodos para


representar números inteiros:

 Módulo e sinal (MS)


 Complemento de um (C-1)
 Complemento de dois (C-2)
 Excesso de dois elevado a N-1
Usa-se o sistema binário e tem-se número limitado de dígitos (denotado
por N) para cada dado numérico.

 Módulo e sinal (MS)

O bit mais a esquerda indica o sinal: 0 para (+) e 1 para (-). Os demais (N-1)
bits representam o módulo do número.

Exemplo: Representar 10 e -10, com N = 8.

10  0 0 0 0 1 0 1 0 -10  1 0 0 0 1 0 1 0
sinal   módulo  sinal   módulo 
Cálculo Numérico-Erros Prof. Carlos Gonçalves [10]

Amplitude ou faixa de representação

Intervalo de variação  que indica o menor e o maior número que pode ser
representado num dado sistema.

Para o MS com N dígitos tem-se:

-2N-1 + 1    2N-1 - 1

Logo,

 Para 8 bits  -127    127

 Para 16 bits  -32767    32767

 Para 32 bits  -2147483647    2147483647

Vantagem: apresenta faixa simétrica

Desvantagem: Possui duas representações para o zero!! 

+00 0000000 -01 0000000

 Complemento de um (C-1)

Análogo ao MS acima, porém, o simétrico de um número é obtido pelo


complemento de todos os seus dígitos (troca-se 0 por 1 e v.v.), incluindo o
bit de sinal.

Por Exemplo:

10  0 0 0 0 1 0 1 0 -10  1 1 1 1 0 1 0 1
sinal   módulo  sinal   módulo 
Cálculo Numérico-Erros Prof. Carlos Gonçalves [11]

Faixa de representação igual ao MS:

-2N-1 + 1    2N-1 - 1

Vantagem: apresenta faixa simétrica

Desvantagem: Possui duas representações para o zero!! 

+00 0000000 -01 1111111

 Complemento de dois (C-2)

Similar ao MS e ao C-1 acima, porém, o simétrico de um número é obtido


em dois passos:

 P1: Executa-se o C-1.


 P2: Ao resultado obtido em P1 adicionar 1 (em binário), desprezando-
se o último transporte, se existir.

Por Exemplo:

10  0 0 0 0 1 0 1 0
sinal   módulo 

P1 (C-1)  -10  1 1 1 1 0 1 0 1

P2  1 1110101+1=1 1110110

Faixa de representação:

-2N-1    2N-1 - 1

Logo,
Cálculo Numérico-Erros Prof. Carlos Gonçalves [12]

 Para 8 bits  -128    127

 Para 16 bits  -32768    32767

 Para 32 bits  -2147483648    2147483647

Vantagem: Possui única representação para o zero (verifique).

Desvantagem: Não apresenta faixa simétrica. 

 Excesso de 2 elevado a (N-1)

Não usa qualquer bit para sinal, de modo que todos os bits representam
um módulo ou valor que corresponde ao número representado mais um
excesso, que para N bits é igual a 2(N-1).

Exemplo: Para 8 bits o excesso é 128 (= 27 = ), logo, a representação de


10 seria:

 10  10 +  = 138 = 1 0 0 0 1 0 1 0 b

 -10  -10 +  = 118 = 0 1 1 1 0 1 1 0 b


Faixa de representação (mesma de C-2):

-2N-1    2N-1 - 1

Vantagem: Possui única representação para o zero (verifique).

Desvantagem: Não apresenta faixa simétrica. 

Obs.: Todo número representado em Excesso de 2 tem representação


igual em C-2, a menos do bit mais a esquerda, que é oposto.

 O número de bits que representa um número ou informação é


chamado de palavra (que varia com o computador usado), e
Cálculo Numérico-Erros Prof. Carlos Gonçalves [13]

corresponde à quantidade de bits que é transferido numa operação de


E/S.

 Convém notar que para um dado número de bits a soma em C-1 ou C-2
apresentará estouro (overflow, i.e., resultado não pode ser
representado), se, tendo as parcelas mesmo sinal, o resultado tiver
sinal oposto ao das parcelas. De fato,

0 1 0…

+ 0 1 1…

1 0 1…  overflow !

Precisão Finita da Informação


O computador usa o sistema binário como representação interna dos
dados, logo a quantidade de bits que representa um número real é
limitada, de sorte que os números reais sofrem truncamento na sua parte
fracionária. Lembre-se que por usar a vírgula flutuante, nem todos os
números têm representação, razão pela qual são representados de forma
aproximada, acarretando alguns erros de representação.

O Ponto Flutuante
O ponto flutuante surge da necessidade de representar números reais
extremamente grandes e/ou extremamente pequenos numa faixa maior
que a representação em ponto fixo, por exemplo, sendo ainda
independente do número de dígitos significativos.

Usaremos a familiar notação científica da matemática, logo, para um


número real N, tem-se:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [14]

𝑁 = 𝑓 ∙ 𝛽𝑒
Equação 3

onde:

 f: é a mantissa ou fração
 β: é a base do sistema
 e: é o expoente inteiro, positivo ou negativo

Exemplos: No sistema decimal, β=10, logo:

 3.14 = 0.314 ∙ 10-1 = 3.14 ∙ 10-0


 0.000001 = 0.1 ∙ 10-5 = 1.0 ∙ 10-6
 2012 = 0.2012 ∙ 104 = 2.012 ∙ 103

Deslocando-se a vírgula convenientemente, sempre é possível escrever


qualquer número real na forma:

±[0. 𝑑1 𝑑2 𝑑3 ⋯ 𝑑𝑛 ] ∙ 10𝑒
Onde:

 0 ≤ dk ≤ β-1; k=1, 2, 3,..., t


 t é o nº de dígitos significativos do sistema numérico

No caso dos computadores, a precisão é finita, logo, a faixa é definida pelo


nº de dígitos no expoente, e a precisão (t) da máquina pelo nº de dígitos
na fração (ou mantissa).

Como há várias maneiras de representar um número, adota-se uma forma


como padrão (a forma normalizada), com as condições abaixo:

 𝛽 −1 ≤ |f| < 1, (exceto na representação do zero)


 m ≤ e ≤ M, onde m ≤ 0 e M > 0

Assim, tem-se que:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [15]

𝑓 = ±0. 𝑑1 𝑑2 𝑑3 ⋯ 𝑑𝑛 ; com 𝑑𝑖 ∈ {0,1} e 𝑑1 ≠ 0


Equação 4

De acordo com a palavra do computador, pode-se ter:

 A precisão simples (short-precision floating point):

Sinal Expoente Mantissa


± m≤e≤M d1 d2 d3 d4…dn
31 30 23 22 ... 0

 A precisão dupla (extended-precision FP)

Sinal Expoente Mantissa


± m≤e≤M d1 d2 d3 d4…dn
63 62 52 51 ... 0

As seguintes regras são normalmente usadas:

 O expoente é representado nas notações de módulo e sinal (MS), ou


excesso de 2 elevado a N-1, onde (𝑁 − 1) ∈ ℤ.
 A mantissa é um nº real com a vírgula implícita à esquerda
representada em MS, C-1 ou C-2.
 A base, também chamada de radical (radix), é uma potência de 2
definida pelo fabricante.

A faixa de representação no ponto flutuante tem a forma:

mNN MNN 0 mNP MNN

Onde:

mNN é o menor número negativo que podemos representar:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [16]

𝑚𝑁𝑁 = − max (𝑓𝑖 ) ∙ 𝛽 ⌈𝑒⌉


1≤𝑖≤𝑛

MNN é o maior número negativo que podemos representar:

𝑀𝑁𝑁 = − min (𝑓𝑖 ) ∙ 𝛽 ⌊𝑒⌋


1≤𝑖≤𝑛

mNP é o menor número positivo que podemos representar:

𝑚𝑁𝑁 = min (𝑓𝑖 ) ∙ 𝛽 ⌊𝑒⌋


1≤𝑖≤𝑛

MNP é o maior número positivo que podemos representar:

𝑀𝑁𝑃 = max (𝑓𝑖 ) ∙ 𝛽 ⌈𝑒⌉


1≤𝑖≤𝑛

Observe-se que existem 4 zonas de números que não podemos


representar: na vizinhança do zero na parte positiva e na negativa, na zona
de overflow (>MNP), e na zona de undeflow (<mNN).

Além disso, a quantidade de números que podem ser representados é


finita, existindo assim números que não podem ser representados mesmo
nas outras faixas.

Exemplo: Seja um computador que usa o formato abaixo para representar


números em ponto flutuante, com precisão simples:

 O expoente (bit 23 a 30) se representa em excesso de 128, i.e., 28-1.


 A mantissa (bit 0 a 22) normalizada que é representada em C-1.
 O bit 31 é de sinal da mantissa (0 para positivo e 1 para negativo).
 Base igual a 2.
 O valor zero é representado por todos os dígitos = 0.

Pede-se representar o número 12, -12, e calcular a amplitude de


representação deste sistema.

Solução: (a) Converter 12 para binário, 12=11002.


Cálculo Numérico-Erros Prof. Carlos Gonçalves [17]

Normalizando, vem: 0.1100∙24.

Representar o expoente 4 em excesso, 128+4=132=100000100.

Finalmente, tem-se:

Sinal Expoente Mantissa


0 10000100 1100000000000000000000
31 30 23 22 21 ... 0

(b) Para representar -12 note que o expoente é o mesmo do anterior, e a


mantissa em C-1, ou seja:

Sinal Expoente Mantissa


1 10000100 0011111111111111111111
31 30 23 22 21 ... 0

(c) Cálculo das amplitudes de representação:

mNN = -0.1111111111111111111112∙2127 = -2127

Sinal Expoente Mantissa


1 11111111 1111111111111111111111

MNN = -0.100000000000000000000002∙2-128 = -2-129

Sinal Expoente Mantissa


1 00000000 1000000000000000000000

mNP = 0.100000000000000000000002∙2-128 = 2-129

Sinal Expoente Mantissa


0 00000000 1000000000000000000000
Cálculo Numérico-Erros Prof. Carlos Gonçalves [18]

MNP = 0.1111111111111111111112∙2127 = 2127

Sinal Expoente Mantissa


0 11111111 111111111111111111111

A fim de denotar um sistema de números em ponto flutuante


normalizado, com base β, com t dígitos significativos e com limites dos
expoentes m e M, usa-se F(β, t, m, M).

Assim, um número em F(β, t, m, M) tem representação:

±[0. 𝑑1 𝑑2 𝑑3 ⋯ 𝑑𝑡 ] ∙ 𝛽 𝑒
Equação 5

Exemplo: Considere o sistema F(10, 3, 2, 2). Represente neste sistema os


números 0.35, -5.172, 0.0123, 5391.3 e 0.0003.

Solução: Neste sistema um número será representado por

±0. 𝑑1 𝑑2 𝑑3 ∙ 10𝑒
Onde -2 ≤ e ≤ 2. Assim:

a) 0.35 = 0.350 ∙ 100


b) -5.172 = -0.517 ∙ 101
c) 0.0123 = 0.123 ∙ 10-1
d) 5391.3 = 0.539 ∙ 104
e) 0.0003 = 0.300 ∙ 10-3

Observe que os números nas letras (d) e (e) não podem ser representados
neste sistema. Por quê?

Definição de dígitos significativos

Seja β a base de um sistema de representação de números em ponto


flutuante. Dígitos significativos de um número N são todos os algarismos
de 0 a β-1, desde que N esteja na forma normalizada.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [19]

Em se tratando da aritmética puramente decimal, genericamente,


podemos dizer que quaisquer dígitos que não sejam apenas para
posicionar a vírgula decimal são significativos.

Exemplo: O número 0.0034 tem apenas 2 dígitos significativos, já que os


zeros servem só para posicionar a vírgula. Já no número 31.040, todos os
algarismos são significativos.

Um caso especial é quando o último dígito de um número é o zero. Aí se


pode escrever o número em mais de uma forma de unidade numérica (v.
Equação 7 adiante), todas corretas.

O número 𝑁 = 31.400 pode ser escrito nas seguintes formas:

 𝑁 = 31400 ∙ 10−3 , com 5 algarismos significativos.


 𝑁 = 314 ∙ 10−1 , com 3 algarismos significativos.

Exemplo: Seja f(x) uma função contínua real e diferenciável no intervalo


[a,b], a < b, e sejam f(a) < 0 e f(b) > 0. Então, pelo teorema de Rolle (valor
médio), existe a < c < b, tal que f(c)=0. Seja 𝑓(𝑥 ) = 𝑥 3 − 3. Determinar x,
tal que f(x)=0.

Solução: Para a função dada considere t = 10 e β = 10. Resolvendo


analiticamente a equação tem-se que o valor de x é
1.4422495703074083823216383107801.

Ou seja, para o caso:

f(0.1442249570 ∙ 10) = -0.2 ∙ 10-8

f(0.1442249571 ∙ 10) = 0.4 ∙ 10-8

Note que entre 0.1442249570 ∙ 10 e 0.1442249571 ∙ 10 inexiste um


número que possa ser representado no sistema dado, e que f muda de
sinal nos extremos deste intervalo. Logo, esta máquina não contém o x
procurado e como tal a função dada não possui solução.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [20]

Exemplo: Seja o sistema F(10,3,2,2). Quantos números podem ser


representados neste sistema?

Solução: Neste sistema os números têm a forma:

±0. 𝑑1 𝑑2 𝑑3 ∙ 10𝑒
Visto que: β = 10, m = -2, M = 2, logo -2 ≤ e ≤ 2, e t = 3.

Assim, têm-se duas possibilidades para o sinal, nove possibilidade para d1,
10 possibilidades para d2 e d3, respectivamente, e cinco para as formas de
βe, i.e., 2 x 9 x 10 x 10 x 5 = 9000. Logo, neste sistema podemos
representar 9001 números, dado que o zero faz parte de qualquer
sistema.

Ou seja, de forma geral, para um sistema F normalizado, tem-se que o


conjunto de números representáveis é dado por:

2 ∙ (𝛽 − 1)(𝑀 − 𝑚 + 1) ∙ 𝛽 𝑡−1 + 1
Equação 6

Exercício: Considere o sistema de ponto flutuante F(3,2,1,2). Para este


sistema, temos que:

a) x = 1/9 e y = 5 são exatamente representáveis. Verifique se x + y é


exatamente representável em F.
b) x = 4/3 e y = 1 são exatamente representáveis. Verifique se x + y é
também exatamente representável em F.

Padrão de Ponto Flutuante IEEE 754

 Até c. 1980 na indústria não havia padrão ⇒ cada um por si!


 Ao final da década de 70 a IEEE criou comitê para padronização ⇒
boa compatibilidade nos sistemas e aritmética correta no hardware.
 O resultado foi o Padrão de Ponto Flutuante IEEE 754 em 1985.
 Usado pela maioria das CPUs atuais.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [21]

(V. material anexo sobre PPF IEEE 754)

Sugestão: Anexo B do livro de Tanenbaum, Andrew S., Organização


estruturada de computadores. São Paulo: Pearson Prentice-Hall, 5ª ed.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [22]

Erros Em Métodos Numéricos

O erro ocorre quando tomamos um valor aproximado de um número, ao


invés de seu valor exato. Ao assim proceder, devemos avaliar o erro
cometido ao se adotar a aproximação e definir uma valor máximo
aceitável para o erro cometido no arredondamento.

Definição 1: Unidade Numérica é a posição de um algarismo mais à direita


de um número considerado. Todo número real pode ser posto na forma
de unidade numérica:

𝑁 =∝∙ 10𝑢
Equação 7

Onde 𝛼 𝑒 𝑢 ∈ ℤ e 10u é a unidade numérica, que representa a ordem de


grandeza do valor considerado, num sistema de base decimal.

Ex.: O número N = 4,701 pode ser escrito 4701 · 10-3, com 4 dígitos
significativos.

Forma dos Erros

Os erros são classificados quanto a sua forma. Assim, se N é um número


̅ uma aproximação para N, podemos definir:
decimal exato e 𝑁

 Erro absoluto (EA): É a diferença entre o valor exato e o aproximado.


̅
∆𝑁 = 𝑁 − 𝑁
Equação 8

̅=4,1,7. Então o
Exemplo: Seja N = 41,742, e sua aproximação dada por 𝑁
erro absoluto será:
̅ = 41,742 – 41,7 = 0,042
∆𝑁 = 𝑁 − 𝑁

Note que, se:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [23]

> 0, ⇒ 𝑁̅ 𝑓𝑜𝑖 𝑝𝑜𝑟 𝑓𝑎𝑙𝑡𝑎


∆𝑁 {
̅ 𝑓𝑜𝑖 𝑝𝑜𝑟 𝑒𝑥𝑐𝑒𝑠𝑠𝑜
< 0, ⇒ 𝑁

 Erro relativo (ER): É o cociente entre o EA de um número N e o valor


exato N. Vamos denotar por:
̅
∆𝑁
̅=
𝛿𝑁
𝑁
Equação 9

̅ = 4,1.
Exemplo: Seja determinar o ER do número N = 4,12, cujo valor 𝑁
Temos:

𝑁−𝑁̅ 4,12 − 4,1 0,02


̅=
𝛿𝑁 = = ≈ 0,00485
𝑁 4,12 4,12
̅ ≪ 𝑁, então,
Se ocorrer de ∆𝑁
̅
∆𝑁 ̅
∆𝑁 ∆𝑁̅ 𝑁̅
= = ( )
𝑁 ̅ + ∆𝑁
𝑁 ̅ ̅ 𝑁
𝑁 ̅ + ∆𝑁
̅

E usando a fórmula de Taylor, vem que:

𝑁̅ ∆𝑁̅ ∆𝑁̅ 2
=1− +( ) −⋯
̅ + ∆𝑁
𝑁 ̅ ̅
𝑁 ̅
𝑁

Donde,

̅ ∆𝑁
∆𝑁 ̅ ∆𝑁̅ ∆𝑁̅ 2 ∆𝑁̅ ∆𝑁̅ 2
= (1 − + ( ) − ⋯) = +𝑂( )
𝑁 ̅
𝑁 𝑁̅ ̅
𝑁 ̅
𝑁 ̅
𝑁
Equação 10

Na equação acima, ‘O’ denota a soma dos termos com (∆𝑁̅ ⁄𝑁


̅)2 e
maiores potências de ∆𝑁̅ ⁄𝑁
̅. Como consideramos ∆𝑁̅ ⁄𝑁
̅ ≪ 1, (∆𝑁̅ ⁄𝑁
̅)2 é
desprezível comparado com (1 − ∆𝑁 ̅ ⁄𝑁
̅), e podemos escrever que:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [24]

̅ ∆𝑁
∆𝑁 ̅

𝑁 ̅
𝑁
Equação 11

Esta relação é útil quando o valor exato N tem uma quantidade infinita de
algarismos.

Exemplo: Determinar o ER do número π = 3,141592..., considerando uma


aproximação com 2 decimais.

O EA será dado por: ∆𝜋 = 𝜋 − 𝜋̅ = 3,141592...- 3,14 = 0,001592...

Logo, o ER será:
0,001592 …
𝛿𝜋̅ =
3,141592 …
Vê-se que é impossível efetuar esta operação, mas usando a relação
(Equação 11), temos:
0,001592 …
𝛿𝜋̅ =
3,14
Para obter-se uma resposta numérica é preciso limitar o EA, assim:
0,0016
𝛿𝜋̅ = ≈ 0,0005096
3,14
Chama-se cota de erro a um limite imposto para determinado erro. Se o
limite considerado for maior que o erro, chama-se de cota superior ou
simplesmente cota, caso contrário, cota inferior.

Assim, uma cota para o ER de π com uma aproximação de duas decimais


será:
0,0016
𝛿𝜋̅ < ≈ 0,0005096
3,14
Cálculo Numérico-Erros Prof. Carlos Gonçalves [25]

Exercício: Determine uma cota do ER para cada um dos números abaixo,


usando aproximações de três decimais.

a) π = 3,141592...
b) e = 2,718281...
c) √2 = 1,414213...
d) √3 = 1,732050...

Erro Percentual (EP): Definido como 100 vezes o ER e representado por:


̅ = 𝛿𝑁
𝑝𝑁 ̅ ∙ 100%
Equação 12

Dentre os erros, o que melhor dimensiona a precisão de uma medição é o


ER. (Cabe ao aluno investigar por que).

Arredondamento de Números

Vamos definir um critério de tal sorte que o erro assumido fique limitado a
uma forma padrão. Existem duas formas de arredondar as aproximações
dos números: o simétrico e o assimétrico.

Arredondamento simétrico

Seja o número N representado na sua forma decimal, i.e.:

𝑁 = 𝑎1 ∙ 10𝑛 + 𝑎2 ∙ 10𝑛−1 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


Equação 13

Onde 𝑎𝑖 ∈ {0,1,2, ⋯ ,8,9} ˄ 𝑎𝑖 ≠ 0.

Exemplo: Para N=4,73 a sua representação será:

𝑁 = 4 ∙ 100 + 7 ∙ 10−1 + 3 ∙ 10−2


Considere-se uma aproximação de N até o algarismo de ordem m, i.e.,
Cálculo Numérico-Erros Prof. Carlos Gonçalves [26]

̅ = 𝑎1 ∙ 10𝑛 + 𝑎2 ∙ 10𝑛−1 + ⋯ + 𝑎𝑚−1 ∙ 10𝑛−𝑚+2 + 𝑎𝑚 ∙ 10𝑛−𝑚+1


𝑁
Equação 14

O EA cometido entre N e sua aproximação (Equação 13 e Equação 14) tem a


seguinte representação:
̅ =𝑁−𝑁
∆𝑁 ̅=

= 𝑎1 ∙ 10𝑛 + 𝑎2 ∙ 10𝑛−1 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


− (𝑎1 ∙ 10𝑛 + 𝑎2 ∙ 10𝑛−1 + ⋯ + 𝑎𝑚−1 ∙ 10𝑛−𝑚+2 + 𝑎𝑚
∙ 10𝑛−𝑚+1 )
̅ são iguais. Assim, resulta que:
Note-se que até o m-ésimo algarismo, N e 𝑁
̅ = 𝑎𝑚+1 ∙ 10𝑛−𝑚 + 𝑎𝑚+2 ∙ 10𝑛−𝑚−1 + 𝑎𝑚+3 ∙ 10𝑛−𝑚−2 + ⋯
∆𝑁
Equação 15

A relação acima (Equação 15) representa a forma geral do EA.

Vamos determinar uma cota cujo valor representa uma cota padrão para
o EA. Esta cota é determinada em função do 1º algarismo que permanece
em ∆𝑁 ̅, o am+1. Na prática ocorrerá o seguinte: vamos comparar o termo
am+1 com o algarismo 5, que é a metade da base do sistema decimal.

Para tanto, comparamos o EA na Equação 15 com 1⁄2 ∙ 10𝑛−𝑚+1 , que


representa a metade da unidade numérica do último dígito conservado.

Comparar significa verificar se o EA é menor, igual ou maior que


1⁄2 ∙ 10𝑛−𝑚+1 . Assim,
> 1
̅ = 𝑎𝑚+1 ∙ 10𝑛−𝑚 + 𝑎𝑚+2 ∙ 10𝑛−𝑚−1 + ⋯ {=} ∙ 10𝑛−𝑚+1
∆𝑁
< 2
Equação 16

Dividindo ambos os membros da Equação 16 por 10n-m, resulta:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [27]

> 1
−1 −2
𝑎𝑚+1 + 𝑎𝑚+2 ∙ 10 + 𝑎𝑚+3 ∙ 10 ⋯ {=} ∙ 101 = 5
< 2
Equação 17

A princípio não interessa o sinal do erro (falta ou excesso), logo, usaremos


o valor absoluto. Pela desigualdade triangular, a Equação 16 fica:

1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Na Equação 17 todos os elementos do 1º membro a partir do 2º termo,
indicam, respectivamente, a 1ª decimal, a 2ª decimal etc. Como a m+1
representa a parte inteira, basta comparar então com o 5.

O valor 1⁄2 ∙ 10𝑛−𝑚+1 será a cota padrão para o EA.

Então, como arredondar um número para m algarismos, de modo que seu


EA seja inferior ou igual à cota padrão?

Proposição 1: Se o termo de ordem m+1 de

𝑁 = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


For menor que 5 (am+1<5), para que
1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Devemos tomar uma aproximação de N mantendo os mesmos ai,
(i=1,2,...,m).

Prova: A aproximação será representada por:


̅ = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1
𝑁
O EA em módulo será:
̅|
|∆𝑁| = |𝑁 − 𝑁
Cálculo Numérico-Erros Prof. Carlos Gonçalves [28]

Efetuando-se a subtração (observe que todos os termos até a ordem m


são iguais nos dois números), temos:

|∆𝑁| = |𝑎𝑚+1 ∙ 10𝑛−𝑚 + 𝑎𝑚+2 ∙ 10𝑛−𝑚−1 + ⋯ | ∴


|∆𝑁| = |(𝑎𝑚+1 + 𝑎𝑚+2 ∙ 10−1 + ⋯ ) ∙ 10𝑛−𝑚 |
Equação 18

Como, por hipótese, am+1<5 e am+2, am+3 etc. representam a parte decimal
do número, resulta que Equação 18 fica:
1
̅| < |5 ∙ 10𝑛−𝑚 | =
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Como a cota padrão representa a cota máxima, então o erro no
arredondamento está dentro dos limites.

Exemplo: Seja N=42,713 e vamos aproximá-lo para 4 algarismos


significativos. Como o termo de ordem m+1 = 3 (am+1=3), portanto menor
̅ = 42,71. Dessa forma,
que 5, o valor aproximado será 𝑁
̅| = |42,713 − 42,71| = 0,003
|∆𝑁

Que é o EA cometido de fato. O erro admissível seria dado por:


1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Onde:

 n=1, exp. da base na pos. do algarismo 4 em N


 m=4, quantidade de algarismos mantidos

Assim,
1
̅| ≤
|∆𝑁 ∙ 101−4+1 = 0,5 ∙ 10−2 = 0,005
2
Logo, o EA cometido 0,003 < 0,005 erro admissível.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [29]

Exercício: Determine a cota padrão para o EA dos números abaixo,


arredondados para três algarismos significativos.

a) 0,4124
b) 36,728
c) 7,4144
d) 0,9095

Proposição 2: Se o termo de ordem m+1 de:

𝑁 = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


Equação 19

For maior que 5 (am+1>5), para que


1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Devemos preservar os mesmos algarismos de ai, (i=1,2,...,m-1) e acrescer
uma unidade ao algarismo de ordem am, i.e., am + 1.

Prova: A aproximação será representada por:


̅ = 𝑎1 ∙ 10𝑛 + ⋯ + (𝑎𝑚 + 1) ∙ 10𝑛−𝑚+1
𝑁
O EA em módulo será:
̅|
|∆𝑁| = |𝑁 − 𝑁

Efetuando-se a subtração vem:

|∆𝑁| = |𝑎𝑚+1 ∙ 10𝑛−𝑚 + 𝑎𝑚+2 ∙ 10𝑛−𝑚−1 + ⋯ − 10𝑛−𝑚+1 | ∴


|∆𝑁| = |(𝑎𝑚+1 + 𝑎𝑚+2 ∙ 10−1 + ⋯ − 10) ∙ 10𝑛−𝑚 |
Equação 20

Como am+1 > 5, o valor nos parênteses em Equação 20 será um número menor
que 5. Logo, da Equação 20 resulta que:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [30]

1
̅| < 5 ∙ 10𝑛−𝑚 =
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Exemplo: Determine o EA de N quando usamos uma aproximação de
n=18,79 com três algarismos significativos.
̅=18,8, já que am+1=9. Então o EA cometido será:
Solução: Seja 𝑁
̅| = |18,79 − 18,8| = 0,01
|∆𝑁

O erro admissível seria:


1
̅| ≤
|∆𝑁 ∙ 101−3+1 = 0,5 ∙ 10−1 = 0,05
2
Vê-se que aqui também o erro está dentro dos limites.

Exercício: Determine a cota padrão para o EA dos números abaixo,


arredondados para dois algarismos significativos.

a) 6,472
b) 116,61
c) 0,04892

Proposição 3: Se o termo de ordem m+1 de:

𝑁 = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


For igual a 5 (am+1=5), para que
1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Basta que você aplique a proposição 1 ou 2, indiferentemente.

Prova: Já foi feita anteriormente.

Resumindo (Regra prática):


Cálculo Numérico-Erros Prof. Carlos Gonçalves [31]

 Se o valor do algarismo que fica na (m+1)-ésima casa decimal for


menor do que 5, arredondamos o número desprezando-se todos
algarismos após a m-ésima casa decimal.
 Se for maior ou igual a 5, soma-se 1 ao algarismo na m-ésima casa
decimal e desprezam-se os algarismos restantes.

Exemplo: Seja N = 4,75 e vamos arredondá-lo para 2 algarismos


significativos.

Solução: Aqui am+1=5, e depois dele todos os algarismos são nulos,


podemos tomar uma aproximação de N usando a proposição 1. Teremos:
̅| = |4,75 − 4,7| = 0,05
|∆𝑁

Aplicando a proposição 2 temos:


̅| = |4,75 − 4,8| = 0,05
|∆𝑁

O erro admissível vem da relação:


1
̅| <
|∆𝑁 ∙ 100−2+1 = 0,5 ∙ 10−1 = 0,05
2
Como se vê, os erros coincidem.

Exemplo: Arredondar N = 0,03150032 para dois algarismos significativos.

Solução: Neste caso, am+1=5 e am+4 ≠ 0. Logo N = 0,032. Usando a


proposição 2, o EA será:
̅| = |0,03150032 − 0,032| = 0,00049968
|∆𝑁

O erro admissível vem de:


1
̅| ≤
|∆𝑁 ∙ 10−2−2+1 = 0,5 ∙ 10−3 = 0,0005
2
Nota-se que o EA é menor que a cota.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [32]

Exercício: Determinar a cota padrão para os EA dos números abaixo,


arredondados para três algarismos significativos.

a) 1,405
b) 42,3504
c) 6,005
d) 0,027155

Cota padrão para o Erro Relativo

Por definição, sabe-se que:


̅
∆𝑁
̅| = |
|𝛿𝑁 |
𝑁
Equação 21

Já vimos que:
1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
E ainda:
̅ = 𝑎1 ∙ 10𝑛 + 𝑎2 ∙ 10𝑛−1 + ⋯
𝑁
Substituindo estes valores na Equação 21 , temos que:
1
∙ 10𝑛−𝑚+1
̅| ≤
|𝛿𝑁 2
𝑎1 ∙ 10 + 𝑎2 ∙ 10𝑛−1 + ⋯
𝑛

Equação 22

Para majorar Equação 22 vamos manipular o denominador, dado que o


numerador já é um número bem definido. Observe que a1 ≠ 0, logo o
maior valor que obtemos é:
1
∙ 10𝑛−𝑚+1
̅| ≤ 2
|𝛿𝑁
𝑎1 ∙ 10𝑛
Cálculo Numérico-Erros Prof. Carlos Gonçalves [33]

Em particular, quando a1 = 1. Assim, a cota padrão para o ER é dada por:


1
̅| ≤
|𝛿𝑁 ∙ 101−𝑚
2
Equação 23

Exemplo: Determinar a cota padrão para o ER de N = 74,123, onde a


aproximação de N é tomada com três algarismos significativos.

Solução: Como a cota padrão o ER só depende do número (m) de


algarismos significativos considerado, vem:
1
̅| ≤
|𝛿𝑁 ∙ 101−3 = 0,5 ∙ 10−2 = 0,005
2
Que é a cota desejada.

Exercício: Determinar a cota padrão para os ER dos números abaixo,


arredondados para três algarismos significativos.

a) 4,711
b) 0,034182
c) 11711

Arredondamento assimétrico

Neste tipo de arredondamento não é considerado o valor do algarismo de


ordem m+1 no número:

𝑁 = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + 𝑎𝑚+1 ∙ 10𝑛−𝑚 + ⋯


Ao invés disso, todos os elementos a partir da ordem m+1 são
desprezados e o número truncado.

Exemplo: Arredondar assimetricamente para um algarismo significativo o


̅ = 0,3, simplesmente.
número N = 0,384. Neste caso, o 𝑁
Cálculo Numérico-Erros Prof. Carlos Gonçalves [34]

A cota padrão para o EA no arredondamento assimétrico para m


algarismos é dado pela relação:
̅| ≤ 10𝑛−𝑚+1
|∆𝑁

Equivalentemente, para obter a cota padrão do ER no arredondamento


assimétrico, vamos ter:

10𝑛−𝑚+1
̅| ≤
|𝛿𝑁 < 101−𝑚
𝑛
𝑎1 ∙ 10 + 𝑎2 ∙ 10 𝑛−1 +⋯
Exemplo: Qual a cota padrão do EA e do ER de N = 6,438, cuja aproximação
é de três algarismos significativos, arredondados assimetricamente?

Solução: Efetuando os cálculos, temos:


̅| ≤ 10𝑛−𝑚+1 = 100−3+1 = 10−2 = 0,01
|∆𝑁

E,
̅| ≤ 101−𝑚 = 101−3 = 10−2 = 0,01
|𝛿𝑁

Exercício: Para os números abaixo, arredondados assimetricamente com


quatro algarismos significativos, determine a cota padrão para o EA e o ER.

a) 42,7841
b) 6,664312
c) 437,4722
d) 2,511956

Algarismos Significativos Corretos

Diz-se que o número:

𝑁 = 𝑎1 ∙ 10𝑛 + ⋯ + 𝑎𝑚 ∙ 10𝑛−𝑚+1 + ⋯
Cálculo Numérico-Erros Prof. Carlos Gonçalves [35]

Está correto até o algarismo de ordem m, se no arredondamento


simétrico,
1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Caso contrário, diz-se que o algarismo de ordem m é duvidoso.

Por exemplo, se N=4,27 e tomarmos uma aproximação de 𝑁 ̅ = 4.2, vamos


ter que o EA é igual a 0,07, ao passo que o erro admissível será:
1 1
̅| ≤
|∆𝑁 ∙ 100−2+1 = ∙ 10−1 = 0.05
2 2
Logo, o algarismo de ordem m, am = 2, é duvidoso.

Observações Sobre A Aritmética Em Ponto Flutuante

A aritmética em ponto flutuante tem algumas sutilezas, todas devidas ao


arredondamento feito após cada operação aritmética. Assim, algumas
propriedades dos números reais deixam de “funcionar”, e.g., a associação
e a distribuição.

Exemplo: Para fins de exemplo, seja F(10, 3, 5, 5). Efetue as operações


indicadas abaixo, fazendo o arredondamento após cada uma das
operações indicadas.

a) (11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05)


3.18 × 11.4 3.18
b) e ( ) × 11.4
5.05 5.05
c) 3.18 x (5.05 + 11.4) e 3.18 x 5.05 + 3.18 x 11.4

Solução: Obedecendo a ordem de prioridade, temos:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [36]

a) (11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.7


Todavia,
11.4 + (3.18 + 5.05) = 11.4 + 8.23 = 19.6 !
3.18 × 11.4 36.3
b) = = 7.19
5.05 5.05
Todavia,
3.18
( ) × 11.4 = 0.630 × 11.4 = 7.18
5.05
c) 3.18 x (5.05 + 11.4) = 3.18 x 16.5 = 52.3
Todavia,
3.18 x 5.05 + 3.18 x 11.4 = 16.1 + 36.3 = 52.4

O cancelamento (subtrativo) que ocorre na subtração entre dois números


quase iguais, também é uma fonte de erro que deve ser avaliada com
atenção. Sejam x e y dois números com expoente e. Logo, quando
tomamos a diferença entre eles, notamos que no resultado certa
quantidade de dígitos iguais a zero aparecerá ao final da mantissa após
normalização do número. Estes dígitos não têm significado algum.

Exemplo: Seja o sistema F(10, 10, 10, 10). Calcular √9.876 − √9.875.

Solução: Temos que:

√9.876 = 0.9937806599 ∙ 102


E,

√9.875 = 0.9937303457 ∙ 102

Portanto:

√9.876 − √9.875 = 0.0000503142


Normalizando,

0.5031420000 ∙ 10−4
Cálculo Numérico-Erros Prof. Carlos Gonçalves [37]

A pergunta é: podemos aumentar a precisão do resultado? Em alguns


casos isso é possível. Basta considerar a identidade:
𝑥−𝑦
√𝑥 − √𝑦 =
√𝑥 + √𝑦

Donde, para o caso, obtemos:


1
√9.876 − √9.875 = = 0.5031418679 ∙ 10−4
√9.876 + √9.875
Resultado com todos os dígitos corretos.

Propagação de Erros

Até agora se viu como se comporta o erro em um único número. Todavia,


em muitos casos temos expressões das quais desejamos saber o erro
cometido ao usar as aproximações das grandezas envolvidas.

Para fixar ideias, suponha que tenhamos duas grandezas operadas entre si
com as relações usuais soma, subtração, multiplicação ou divisão. Vamos
denotar uma operação qualquer pelo símbolo ⊗. Assim,

𝑁 =𝑎⊗𝑏
Equação 24

Leremos como “a operado com b”.

O erro propagado em uma expressão pode ser classificado na forma direta


ou na forma inversa. Diz-se que o erro se propaga na forma direta quando
se conhece as aproximações para a e b e queremos determinar o EA da
expressão na Equação 24.

Na forma inversa é conhecido o erro geral (EA) da Equação 24, e deseja-se


determinar os valores considerados para a e b.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [38]

Vamos ver como os EA e ER se comportam nas operações de adição e


multiplicação entre dois números.

Adição – EA
̅ = 𝑎̅ + 𝑏̅. Pela definição de
Seja o valor exato N=a + b e sua aproximação 𝑁
EA vamos ter:

̅ =𝑁−𝑁
∆𝑁 ̅ = (𝑎 + 𝑏) − (𝑎 + 𝑏) ∴

̅ = (𝑎 − 𝑎) + (𝑏 − 𝑏) = ∆𝑎̅ + ∆𝑏̅
∆𝑁

Logo, o EA da soma de dois números é igual à soma dos EA das parcelas.

Adição – ER

Sabemos que:

̅
∆𝑁 ∆𝑎̅ + ∆𝑏̅ 𝑎 ∆𝑎 𝑏 ∆𝑏
̅=
𝛿𝑁 = = ∙ + ∙ ∴
𝑁 𝑎̅ + ̅
𝑏 𝑎
̅ + ̅
𝑏 𝑎 𝑎
̅ + ̅
𝑏 ̅
𝑏

𝑎 𝑏
̅=
𝛿𝑁 ∙ 𝛿𝑎̅ + ∙ 𝛿𝑏
𝑎̅ + 𝑏̅ 𝑎̅ + 𝑏̅
Equação 25

Multiplicação – EA

Seja 𝑁 = 𝑎 ∙ 𝑏 e 𝑁 = 𝑎 ∙ 𝑏̅ uma aproximação para N. Da definição:

̅ = 𝑎 ∙ 𝑏 − 𝑎 ∙ 𝑏̅
∆𝑁 = 𝑁 − 𝑁

Mas o valor exato 𝑁 = 𝑁 + ∆𝑁, i.e.,

∆𝑁 = (𝑎̅ + ∆𝑎̅)(𝑏̅ + ∆𝑏̅) ∙ 𝑏 − 𝑎 ∙ 𝑏̅ ∴

∆𝑁 = (𝑎̅∆𝑏̅ + 𝑏̅∆𝑎̅) + ∆𝑎̅∆𝑏̅

Como ∆𝑎̅∆𝑏̅ ≈ 0, resulta que:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [39]

∆𝑁 = 𝑎̅∆𝑏̅ + 𝑏̅∆𝑎̅

Multiplicação – ER

Usando a definição,
̅
∆𝑁 𝑎̅∆𝑏̅ + 𝑏̅∆𝑎̅
̅=
𝛿𝑁 = = 𝛿𝑎̅ + 𝛿𝑏
𝑁 𝑎̅ ∙ 𝑏̅

̅ = 𝛿𝑎̅ + 𝛿𝑏
𝛿𝑁
Equação 26

Exercício: Mostre que os EA e ER nas expressões:

𝑁1 = 𝑎 − 𝑏; 𝑒 𝑁2 = 𝑎⁄𝑏
São dados, respectivamente, por:

̅1 = ∆𝑎̅ − ∆𝑏
∆𝑁
𝑒,
𝑁1
𝑎 𝑏̅
̅
𝛿𝑁 = ∙ 𝛿𝑎̅ − ∙ 𝛿𝑏
{ 1 𝑎̅ − 𝑏̅ 𝑎̅ − 𝑏̅
1 𝑎̅
∆𝑁2 = ∙ ∆𝑎̅ − ∙ ∆𝑏̅
̅ ̅
𝑏 + ∆𝑏 ̅ ̅ ̅̅̅
𝑏(𝑏 + ∆𝑏)
𝑁2 𝑒,
{ 𝛿𝑁2 = 𝛿𝑎̅ − 𝛿𝑏

Fórmula Geral Dos Erros

Considere que:

𝑁 = 𝑓(𝑥1 , 𝑥2 , ⋯ , 𝑥𝑛 )
Equação 27
Cálculo Numérico-Erros Prof. Carlos Gonçalves [40]

Representa uma função de várias quantidades x1, x2,..., xn que estão


sujeitas a erros, respectivamente, ∆𝑥̅1 , ∆𝑥̅2 , ⋯ , ∆𝑥̅𝑛 , e sua aproximação
seria escrita na forma:
̅ = 𝑓(𝑥̅1 , 𝑥̅2 , ⋯ , 𝑥̅𝑛 )
𝑁
Equação 28

Assim, de acordo com a relação dada para o EA, podemos escrever Equação

28 como segue:

̅ + ∆𝑁
𝑁 ̅ = 𝑓(𝑥̅1 + ∆𝑥̅1 , 𝑥̅2 + ∆𝑥̅2 , ⋯ , 𝑥̅𝑛 + ∆𝑥̅𝑛 )
Equação 29

Aplicando a forma de Taylor para várias variáveis ao 2º membro da Equação

29 teremos:

𝜕𝑓 𝜕𝑓
̅ + ∆𝑁
𝑁 ̅ = 𝑓(𝑥̅1 , 𝑥̅2 , ⋯ , 𝑥̅𝑛 ) + ∆𝑥̅1 ∙
+ ⋯ + ∆𝑥̅𝑛 ∙
𝜕𝑥̅1 𝜕𝑥̅𝑛
1 2
𝜕2𝑓 2
𝜕2𝑓 𝜕2𝑓
+ [(∆𝑥̅1 ) ∙ 2 + ⋯ + (∆𝑥̅𝑛 ) ∙ 2 + 2∆𝑥̅1 ∆𝑥̅2 ∙ 2 2
2 𝜕𝑥̅1 𝜕𝑥̅𝑛 𝜕𝑥̅1 𝜕𝑥̅2

+⋯]+⋯

Equação 30

Como na os valores ∆𝑥̅1 , ∆𝑥̅2 , ⋯ , ∆𝑥̅𝑛 são relativamente pequenos,


podemos desprezar seus produtos, seus quadrados etc. Assim, Equação 30
passa a ser escrita na forma:
𝜕𝑓 𝜕𝑓
̅ + ∆𝑁
𝑁 ̅ = 𝑓(𝑥̅1 , 𝑥̅2 , ⋯ , 𝑥̅𝑛 ) + ∆𝑥̅1 ∙ + ⋯ + ∆𝑥̅𝑛 ∙
𝜕𝑥̅1 𝜕𝑥̅𝑛
Equação 31

Substituindo Equação 28 em Equação 31, resulta:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [41]

𝜕𝑓 𝜕𝑓
̅ = ∆𝑥̅1 ∙
∆𝑁 + ⋯ + ∆𝑥̅𝑛 ∙
𝜕𝑥̅1 𝜕𝑥̅𝑛
Equação 32

Passando Equação 32 ao valor absoluto, vamos ter a fórmula geral dos


erros,

𝜕𝑓 𝜕𝑓
̅| ≤ |∆𝑥̅1 | ∙ |
|∆𝑁 | + ⋯ + |∆𝑥̅𝑛 | ∙ | |
𝜕𝑥̅1 𝜕𝑥̅𝑛
Equação 33

Na fórmula acima |∆𝑥̅1 |, |∆𝑥̅2 |, ⋯ , |∆𝑥̅𝑛 | representam as cotas padrões


das parcelas e eventualmente podem ser o próprio erro.

Aplicação Da Fórmula Geral Dos Erros-Forma Direta

Faremos um exemplo na forma direta, onde se conhecem os valores das


̅ |.
parcelas e se deseja determinar a cota padrão para |∆𝑁

Considere 𝑁 = 𝜋⁄√2. Deseja-se determinar o valor aproximado de N, com


todos os algarismos corretos, quando usamos aproximações para 𝜋 e √2
com 2 casas decimais exatas.

Solução: Façamos por etapas a resolução.

1º. Seja 𝑥 = 𝜋 e 𝑦 = √2 . Logo, N=x/y , i.e., N é uma função de x e y


(N=f(x,y)).
2º. A fórmula fundamental tem então duas parcelas, i.e.,
𝜕𝑓 𝜕𝑓
̅| ≤ |∆𝑥̅ | ∙ |
|∆𝑁 | + |∆𝑦̅| ∙ | |
𝜕𝑥 𝜕𝑦
Equação 34

3º. Determine as derivadas parciais em relação a x e y:


Cálculo Numérico-Erros Prof. Carlos Gonçalves [42]

𝜕𝑓 1 𝜕𝑓 𝑥
= ; =− 2
𝜕𝑥 𝑦 𝜕𝑦 𝑦
4º. Calcular as cotas padrões para x e y. Sabemos que:
𝑥 = 𝜋 = 3.141592 …
{
𝑦 = √2 = 1.41421 …
Como são tomadas aproximações com valores exatos até a 2ª
decimal, então 𝜋 e √2 são considerados com três algarismos.

A cota padrão é dada por:


1
̅| ≤
|∆𝑁 ∙ 10𝑛−𝑚+1
2
Assim,
1 1
|∆𝑥̅ | ≤ ∙ 100−3+1 = ∙ 10−2
{ 2 2
1 1
|∆𝑦̅| ≤ ∙ 100−3+1 = ∙ 10−2
2 2
5º. Vamos substituir os valores obtidos até aqui (2ª, 3ª e 4ª etapas):
1 1 𝑥 1
̅| ≤ | | ∙ ∙ 10−2 + |− | ∙ ∙ 10−2
|∆𝑁
𝑦 2 𝑦2 2
Equação 35

Substituímos x e y por valores tais que a desigualdade fique


preservada na Equação 35. Considerando até a 2ª decimal de cada
variável, x = 3.15 e y = 1.41, teremos:
1 1 3.15 1
̅| ≤ |
|∆𝑁 | ∙ ∙ 10−2 + |− | ∙ ∙ 10−2
1.41 2 2
1.41 2

Efetuando as operações e majorando o resultado, sempre que este


não der exato, obtém-se:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [43]

1 1
̅| ≤ 0.71 ∙
|∆𝑁 ∙ 10−2 + 1.59 ∙ ∙ 10−2 =
2 2
1
= 2.30 ∙ ∙ 10−2 = 1.15 ∙ 10−2
2
Equação 36

6º. Como no exemplo queremos determinar uma aproximação para N


com todos os algarismos corretos, devemos procurar uma cota
padrão para o EA na Equação 36. Para tanto, devemos majorar o valor
1.15 dado, a fim de se obter a forma padrão 1⁄2 ∙ 10𝛼 (onde α vai
ser o expoente final). Dessa forma, o majorante mais próximo de
1.15 é 5, daí,
1
̅| ≤ 1.15 ∙ 10−2 < 5 ∙ 10−2 =
|∆𝑁 ∙ 10−1
2
Ou seja,
1
̅| ≤
|∆𝑁 ∙ 10−1
2
Equação 37

Pela definição de algarismos significativos corretos, a relação acima nos diz


que no cálculo final da expressão, só serão considerados como valores
exatos os algarismos até a 1ª decimal, por causa do -1 no expoente.

Portanto, o resultado final será:


𝜋 3.14
𝑁= = = 2.226950 …
√2 1,41

Para este cálculo π e √2 foram arredondados de acordo com o enunciado


do problema. Finalmente, da Equação 37 vem que N = 2.2.

No problema direto arredondamos assimetricamente, já que o terceiro


dois resultante do cociente é duvidoso.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [44]

Uma cota para o ER

Usando a cota obtida em Equação 36, teremos:

1.15 ∙ 10−2 1.15 ∙ 10−2


̅| ≤
|𝛿𝑁 = < 0.53 ∙ 10−2
3.14⁄1.42 2.21
Note que a desigualdade deve ser preservada, logo:
̅| ≤ 0.53 ∙ 10−2
|𝛿𝑁
Equação 38

Uma cota padrão para o ER

Basta que da Equação 38 tomemos o majorante mais próximo que fique na


forma padrão. Assim,
1
̅| ≤ 0.53 ∙ 10−2 < 5 ∙ 10−2 =
|𝛿𝑁 ∙ 10−1
2

Exercícios

a) Determine uma cota para a expressão 𝑈 = 2𝜋 + 𝑒, sabendo-se que


|∆𝜋| ≤ 1⁄2 ∙ 10−2 e |∆𝑒| ≤ 1⁄2 ∙ 10−1 .
b) Tomando aproximações de π, e, √2 com 3 algarismos significativos
corretos, determine uma cota padrão para: 𝐴 = 𝑒 ∙ 𝜋⁄√2.
c) Calcule o valor aproximado de 𝑁 = 2𝜋 + 𝑒, sabendo que |∆𝜋| ≤ 1⁄2 ∙
10−2 e |∆𝑒| ≤ 1⁄2 ∙ 10−1 .
𝑛
d) Seja 𝑁 = √𝑥 . Mostre que:
1 1
|∆𝑁| ≤ | | ∙ |∆𝑥 |
𝑛 𝑛√𝑥 𝑛−1

e) Considere 𝑁 = 𝑎𝑏 ∙ 𝑏 𝑎 , onde a e b são números aproximados.


Determine c1 e c2 em: 𝛿𝑁 = 𝑐1 𝛿𝑎 + 𝑐2 𝛿𝑏.
Cálculo Numérico-Erros Prof. Carlos Gonçalves [45]

Aplicação Da Fórmula Geral Dos Erros-Forma Inversa

No problema na forma inversa o elemento conhecido é a cota resultante


no cálculo da expressão (que pode ser a cota padrão). Note que no
problema direto as parcelas são sempre majoradas, isto significa que no
problema direto a cota obtida para uma expressão é sempre maior que a
soma das parcelas na fórmula do erro, dada por:
𝜕𝑓 𝜕𝑓
̅| ≤ |∆𝑥̅1 | ∙ |
|∆𝑁 | + ⋯ + |∆𝑥̅𝑛 | ∙ | |
𝜕𝑥̅1 𝜕𝑥̅𝑛
Seja M a cota majorante dada. Então podemos escrever para a forma
inversa que:
𝜕𝑓 𝜕𝑓
̅| ≤ |∆𝑥̅1 | ∙ |
|∆𝑁 | + ⋯ + |∆𝑥̅𝑛 | ∙ | |≤𝑀
𝜕𝑥̅1 𝜕𝑥̅𝑛
Equação 39

Eventualmente na equação acima a igualdade pode se verificar. O objetivo


agora é determinar as parcelas |∆𝑥̅1 |, |∆𝑥̅2 |, ⋯ , |∆𝑥̅𝑛 |. Portanto vamos
considerar a relação:
𝜕𝑓 𝜕𝑓
|∆𝑥̅1 | ∙ | | + ⋯ + |∆𝑥̅𝑛 | ∙ | |≤𝑀
𝜕𝑥̅1 𝜕𝑥̅𝑛
Equação 40

Os |∆𝑥̅𝑖 |, (i = 1, 2, . . . , n), podem ser determinados de duas formas.

A primeira é quando nos interessa obter uma cota que possa representar
todas as aproximações. Dessa forma, seja 𝑚 = |∆𝑥̅𝑖 |. Logo Equação 40 fica:
𝜕𝑓 𝜕𝑓
𝑚∙| |+ ⋯+ 𝑚 ∙ | |≤𝑀 ∴
𝜕𝑥̅1 𝜕𝑥̅𝑛
Cálculo Numérico-Erros Prof. Carlos Gonçalves [46]

𝑀 𝑀
𝑚≤ =
𝜕𝑓 𝜕𝑓 𝜕𝑓
| |+ ⋯+ | | ∑𝑛𝑖=1 | |
𝜕𝑥̅1 𝜕𝑥̅𝑛 𝜕𝑥̅𝑖
Equação 41

Queremos determinar uma cota padrão m que:


𝑀
𝑚≤
𝜕𝑓
∑𝑛𝑖=1 | |
𝜕𝑥̅𝑖
A segunda forma é quando para cada aproximação temos uma cota
específica. Então supomos que o erro geral M é dividido em n partes iguais
e representamos cada cota por:
𝑀
|∆𝑥̅𝑖 | ≤
𝜕𝑓
𝑛∙| |
𝜕𝑥̅𝑖
É fácil verificar e fica como exercício, que somando os somando os
|∆𝑥̅𝑖 |, (i = 1, 2, . . . , n) resulta a expressão inicial (Equação 40).

Vamos considerar a obtenção das cotas das parcelas pela Equação 41. Assim,
no exemplo seguinte, vamos ver como obter o valor de m.

Exemplo: Considere a expressão 𝑁 = 𝜋⁄√2. Deseja-se que valores


aproximados de 𝜋 e √2, com todos os algarismos corretos, devem ser
considerados, de modo que o erro máximo na expressão dada seja ≤ 5 ∙
10−2 .

De forma similar a que foi feita no problema direto, vamos obter a solução
por etapas.

1º. Seja 𝑥 = 𝜋 e 𝑦 = √2 . Logo, N=x/y , i.e., N é uma função de x e y


(N=f(x,y)), donde N = x / y.
2º. O cálculo de m é feito pela expressão:
Cálculo Numérico-Erros Prof. Carlos Gonçalves [47]

𝜕𝑓 1
= ;
𝑀 𝜕𝑥 𝑦
𝑚≤ ∶ 𝜕𝑓 𝑥
𝜕𝑓 𝜕𝑓 = −
| |+| | 𝜕𝑦 𝑦2
𝜕𝑥 𝜕𝑦
{𝑀 = 5 ∙ 10−2
3º. Substituindo os valores indicados, vem:

5 ∙ 10−2 5 ∙ 10−2
𝑚≤ =
1 𝑥
| | + |− 2 | | 1 | + |− 𝜋 |
𝑦 𝑦 2
√2 (√2)
Equação 42

Os valores de x e y devem ser considerados de tal sorte que o valor da


expressão resultante seja menor ou igual ao valor inicial. Ou seja, o m será
um minorante padrão na expressão à direita da desigualdade em Equação 42.
Assim, vamos considerar aproximações de x e y, com duas decimais, que
cumpram esse critério.

4º. Seja então x = 1.41 e y = 3.15, respectivamente. Vamos substituir os


valores e minorar a expressão, como segue:

5 ∙ 10−2 5 ∙ 10−2 5 ∙ 10−2


> >
1 𝜋 1 3.15 0.71 + 1.59
| | + |− | | + |− 2 |
2| 1.41 (1.41)
√2 (√2)

Donde,

5 ∙ 10−2 5 ∙ 10−2
= > 2.17 ∙ 10−2
0.71 + 1.59 2.3
Agora vamos procurar um minorante na forma padrão para 2.17 ∙ 10−2 . O
menor mais próximo é 0.5. Assim,
Cálculo Numérico-Erros Prof. Carlos Gonçalves [48]

5 ∙ 10−2
> 0.5 ∙ 10−2 = 𝑚
1 𝜋
| | + |− 2|
√2 (√2)

Portanto, 𝑚 = 0.5 ∙ 10−2 , e as cotas padrões para π e √2 serão:


1
|∆𝜋| = |∆√2| ≤ ∙ 10−2
2
Logo, para o erro da expressão ser inferior ou igual a 5 ∙ 10−2 dado no
enunciado, basta tomar as aproximações até a segunda decimal, i.e.,
𝜋 = 3.141592 … 𝜋̅ = 3.14
{ ⇒ {̅̅̅̅
√2 = 1.41421 … √2 = 1.41
Nas respostas de um problema inverso são feitos arredondamentos
simétricos.

Exercícios: Determine que aproximações devem-se tomar para π, e, √2, de


𝜋−𝑒
modo que 𝑁 = tenha um EA inferior a 10-3.
√2

Você também pode gostar