Aula 2 - Cálculo Numérico - Erros - Blog da Engenharia

Propaganda
Aula 2 - Cálculo Numérico
Erros
Prof. Phelipe Fabres
Anhanguera
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
1 / 41
Sumário
Sumário
1
Sumário
2
Erros
Modelagem
Truncamento
Representação numérica
Notação F(β, t, m, M)
Mudança de Base
Arredondamento em Ponto flutuante
Operações em Ponto flutuante
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
2 / 41
Erros
Erros
De modo geral o processo de solução de um problema físico é
representado por:
Problema
Fı́sico
Modelo
Matemático
Solução
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
3 / 41
Erros
Modelagem
Erro na fase de modelagem
Para o estudo do movimento de um corpo sujeito a uma aceleração
constante, tem-se a seguinte equação:
1
S = S0 + v0 t + at2
2
Determinar a altura de um edifício com apenas uma bolinha de metal,
um cronômetro e a fórmula?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
4 / 41
Erros
Modelagem
Erro na fase de modelagem
Supondo que a bolinha demora 3 segundos para atingir o solo, sendo
lançada do topo do edifício, temos:
S =0 + 0 × 3 +
1
× 9.8 × 32
2
S =44.1m .
O resultado é confiável?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
5 / 41
Erros
Truncamento
Erros de truncamento
Surge do truncamento de expressões matemáticas em um
número finito de passos.
Surge cada vez se substitui um processo matemático infinito por
um processo finito ou discreto.
∞
X
Ex: Em uma série de Taylor S(x) =
an xn , temos uma função f
n=1
definida por f (x) = ex para x = 1. Ela expressa por:
x2 x3
xn
+
+ ... +
+ . . . , então
2!
3!
n!
1
1
1
e1 =1 + 1 + + + . . . + + . . .
2! 3!
n!
ex =1 + x +
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
6 / 41
Erros
Truncamento
Erros de truncamento
Surge do truncamento de expressões matemáticas em um
número finito de passos.
Surge cada vez se substitui um processo matemático infinito por
um processo finito ou discreto.
∞
X
Ex: Em uma série de Taylor S(x) =
an xn , temos uma função f
n=1
definida por f (x) = ex para x = 1. Ela expressa por:
x2 x3
xn
+
+ ... +
+ . . . , então
2!
3!
n!
1
1
1
e1 =1 + 1 + + + . . . + + . . .
2! 3!
n!
ex =1 + x +
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
6 / 41
Erros
Truncamento
Erros de truncamento
Surge do truncamento de expressões matemáticas em um
número finito de passos.
Surge cada vez se substitui um processo matemático infinito por
um processo finito ou discreto.
∞
X
Ex: Em uma série de Taylor S(x) =
an xn , temos uma função f
n=1
definida por f (x) = ex para x = 1. Ela expressa por:
x2 x3
xn
+
+ ... +
+ . . . , então
2!
3!
n!
1
1
1
e1 =1 + 1 + + + . . . + + . . .
2! 3!
n!
ex =1 + x +
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
6 / 41
Erros
Truncamento
Erros de truncamento
Desejando-se calcular o valor de e1 utilizando-se os sete primeiros
termos da série, tem-se:
1
1
1
1
1
1
+ + + + +
2! 3! 4! 5! 6! 7!
e ≈2.718055556
e1 ≈1 + 1 +
Há um erro de truncamento, pois dos infinitos termos da série foram
considerados apenas os sete primeiros.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
7 / 41
Erros
Representação numérica
Representação de um número inteiro
Dado um número inteiro n 6= 0, ele possui uma única
representação:
n = ±(n−k n−k+1 . . . n−1 n0 ) = ±(n0 β 0 + n−1 β 1 + . . . n−k β k ) ,
onde os ni , i = 0,−1,. . .,−k são inteiros satisfazendo
0 6 ni < β e n−k 6= 0.
Exemplo: Na base β = 10, o número 1997 é representado por:
1997 = 7 × 100 + 9 × 101 + 9 × 102 + 1 × 103
e é armazenado como n−3 n−2 n−1 n0 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
8 / 41
Erros
Representação numérica
Representação de um número inteiro
Dado um número inteiro n 6= 0, ele possui uma única
representação:
n = ±(n−k n−k+1 . . . n−1 n0 ) = ±(n0 β 0 + n−1 β 1 + . . . n−k β k ) ,
onde os ni , i = 0,−1,. . .,−k são inteiros satisfazendo
0 6 ni < β e n−k 6= 0.
Exemplo: Na base β = 10, o número 1997 é representado por:
1997 = 7 × 100 + 9 × 101 + 9 × 102 + 1 × 103
e é armazenado como n−3 n−2 n−1 n0 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
8 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Fixo.
Usado no passado, em máquinas antigas.
Dado um número inteiro x 6= 0, ele é representado em ponto fixo
por:
x=±
n
X
xi β −i ,
i=k
onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e
n > 0 e os xi são inteiros satisfazendo 0 6 xi < β.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
9 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Fixo.
Usado no passado, em máquinas antigas.
Dado um número inteiro x 6= 0, ele é representado em ponto fixo
por:
x=±
n
X
xi β −i ,
i=k
onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e
n > 0 e os xi são inteiros satisfazendo 0 6 xi < β.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
9 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Fixo.
Usado no passado, em máquinas antigas.
Dado um número inteiro x 6= 0, ele é representado em ponto fixo
por:
x=±
n
X
xi β −i ,
i=k
onde k e n são inteiros satisfazendo k < n e, usualmente, k 6 0 e
n > 0 e os xi são inteiros satisfazendo 0 6 xi < β.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
9 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Fixo.
Exemplo: Na base β = 10, o número 1997.16 é representado por:
1997.16 =
2
X
xi β −i
i=−3
=1 × 103 + 9 × 102 + 9 × 101 + 7 × 100 + 1 × 10−1 + 6 × 10−2
=1 × 1000 + 9 × 100 + 9 × 10 + 7 × 1 + 1 × 0.1 + 6 × 0.01
e é armazenado como x−3 x−2 x−1 x0 .x1 x2 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
10 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Flutuante.
Mais flexível que a representação em ponto fixo, é universalmente
utilizada nos dias atuais.
Dado um número real x 6= 0, ele é representado em ponto
flutuante por:
x = ±d × β e ,
onde β é a base do sistema de numeração, d é a mantissa e e é o
expoente.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
11 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Flutuante.
Mais flexível que a representação em ponto fixo, é universalmente
utilizada nos dias atuais.
Dado um número real x 6= 0, ele é representado em ponto
flutuante por:
x = ±d × β e ,
onde β é a base do sistema de numeração, d é a mantissa e e é o
expoente.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
11 / 41
Erros
Representação numérica
Representação de um número real
Representação em Ponto Flutuante.
Mais flexível que a representação em ponto fixo, é universalmente
utilizada nos dias atuais.
Dado um número real x 6= 0, ele é representado em ponto
flutuante por:
x = ±d × β e ,
onde β é a base do sistema de numeração, d é a mantissa e e é o
expoente.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
11 / 41
Erros
Representação numérica
Representação de um número real
A mantissa é um número em ponto fixo, isto é:
d=
n
X
di β −i ,
i=k
onde, frequentemente, nos grandes computadores, k = 1, tal que
se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a
quantidade de dígitos significativos ou precisão do sistema,
β −1 6 d < 1 e −m 6 e 6 M.
d1 6= 0 caracteriza o sistema de números em ponto flutuante
normalizado
O número zero pertence a qualquer sistema e é representado
com mantissa igual a zero e e = −m.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
12 / 41
Erros
Representação numérica
Representação de um número real
A mantissa é um número em ponto fixo, isto é:
d=
n
X
di β −i ,
i=k
onde, frequentemente, nos grandes computadores, k = 1, tal que
se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a
quantidade de dígitos significativos ou precisão do sistema,
β −1 6 d < 1 e −m 6 e 6 M.
d1 6= 0 caracteriza o sistema de números em ponto flutuante
normalizado
O número zero pertence a qualquer sistema e é representado
com mantissa igual a zero e e = −m.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
12 / 41
Erros
Representação numérica
Representação de um número real
A mantissa é um número em ponto fixo, isto é:
d=
n
X
di β −i ,
i=k
onde, frequentemente, nos grandes computadores, k = 1, tal que
se x 6= 0, então d1 6= 0; 0 6 di < β, i = 1,2,. . . t, com t sendo a
quantidade de dígitos significativos ou precisão do sistema,
β −1 6 d < 1 e −m 6 e 6 M.
d1 6= 0 caracteriza o sistema de números em ponto flutuante
normalizado
O número zero pertence a qualquer sistema e é representado
com mantissa igual a zero e e = −m.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
12 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Escrever os números:
x1 = 0.35 , x2 = −5.712 , x3 = 0.0123 , x4 = 5391.3 e x5 = 0.0003 ,
onde todos estão na base β = 10, em ponto flutuante na forma
normalizada.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
13 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Solução:
0.35 =(3 × 10−1 + 5 × 10−2 ) × 100
=0.35 × 100 ,
−5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101
= − 0.5712 × 101 ,
0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1
=0.123 × 10−1 ,
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
14 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Solução:
0.35 =(3 × 10−1 + 5 × 10−2 ) × 100
=0.35 × 100 ,
−5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101
= − 0.5712 × 101 ,
0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1
=0.123 × 10−1 ,
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
14 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Solução:
0.35 =(3 × 10−1 + 5 × 10−2 ) × 100
=0.35 × 100 ,
−5.712 = − (5 × 10−1 + 1 × 10−2 + 7 × 10−3 + 2 × 10−4 ) × 101
= − 0.5712 × 101 ,
0.0123 =(1 × 10−1 + 2 × 10−2 + 3 × 10−3 ) × 10−1
=0.123 × 10−1 ,
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
14 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Solução:
5391.3 =(5 × 10−1 + 3 × 10−2 + 9 × 10−3 + 1 × 10−4 + 3 × 10−5 ) × 104
=0.53913 × 104 ,
0.0003 =(3 × 10−1 ) × 10−3
=0.3 × 10−3 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
15 / 41
Erros
Representação numérica
Representação de um número real
Exemplo 1.
Solução:
5391.3 =(5 × 10−1 + 3 × 10−2 + 9 × 10−3 + 1 × 10−4 + 3 × 10−5 ) × 104
=0.53913 × 104 ,
0.0003 =(3 × 10−1 ) × 10−3
=0.3 × 10−3 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
15 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Usada para representar um sistema de números em ponto
flutuante normalizado, na base β, com dígitos t significativos e
com limites de expoentes m e M.
Um número em F(β, t, m, M) será representado por:
±0.d1 d2 . . . dt × β e ,
onde d1 6= 0 e −m 6 e 6 M.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
16 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Usada para representar um sistema de números em ponto
flutuante normalizado, na base β, com dígitos t significativos e
com limites de expoentes m e M.
Um número em F(β, t, m, M) será representado por:
±0.d1 d2 . . . dt × β e ,
onde d1 6= 0 e −m 6 e 6 M.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
16 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Exemplo 2: Considere o sistema F(10, 3, 2, 2). Represente neste
sistema os números do Exemplo 1.
Solução: Neste sistema, um número será representado por:
±0.d1 d2 d3 × β e ,
onde −2 6 e 6 2.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
17 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Exemplo 2: Considere o sistema F(10, 3, 2, 2). Represente neste
sistema os números do Exemplo 1.
Solução: Neste sistema, um número será representado por:
±0.d1 d2 d3 × β e ,
onde −2 6 e 6 2.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
17 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Assim:
0.35 =0.350 × 100 ,
−5.172 = − 0.517 × 101 ,
0.0123 =0.123 × 10−1 .
E o resto?
5391.3 = 0.539 × 104 , o expoente é maior que 2, causando
overflow.
0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando
underflow.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
18 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Assim:
0.35 =0.350 × 100 ,
−5.172 = − 0.517 × 101 ,
0.0123 =0.123 × 10−1 .
E o resto?
5391.3 = 0.539 × 104 , o expoente é maior que 2, causando
overflow.
0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando
underflow.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
18 / 41
Erros
Notação F(β, t, m, M)
Notação F(β, t, m, M)
Assim:
0.35 =0.350 × 100 ,
−5.172 = − 0.517 × 101 ,
0.0123 =0.123 × 10−1 .
E o resto?
5391.3 = 0.539 × 104 , o expoente é maior que 2, causando
overflow.
0.0003 = 0.300 × 10−3 , o expoente é menor que -2, causando
underflow.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
18 / 41
Erros
Notação F(β, t, m, M)
Exercícios
1 Considere o sistema F(10, 4, 4, 4). Represente neste sistema os
números:
x1 =4321.24 ,
x2 = − 0.0013523 ,
x3 =125.64 ,
x4 =57481.23 ,
x5 =0.00034 .
2 Represente no sistema F(10, 3, 1, 3) os números do exercício 1.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
19 / 41
Erros
Mudança de Base
Exemplos de mudança de base
1101 da base 2 para a base 10
1101 =1 × 20 + 0 × 21 + 1 × 22 + 1 × 23
=1 + 0 + 4 + 8
=13 .
Logo: (1101)2 = (13)10 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
20 / 41
Erros
Mudança de Base
Exemplos de mudança de base
0.110 da base 2 para a base 10
0.110 =1 × 2−1 + 1 × 2−2 + 0 × 2−3
1 1
= + +0
2 4
=0.75 .
Logo: (0.110)2 = (0.75)10 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
21 / 41
Erros
Mudança de Base
Exemplos de mudança de base
13 da base 10 para a base 2
13
2
1
6
0
2
3
2
1
1
Logo: (13)10 = (1101)2 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
22 / 41
Erros
Mudança de Base
Exemplos de mudança de base
0.75 da base 10 para a base 2
0.75 × 2 =1.50
0.50 × 2 =1.00
0.00 × 2 =0.00
Logo: (0.75)10 = (0.110)2 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
23 / 41
Erros
Mudança de Base
Exemplos de mudança de base
3.8 da base 10 para a base 2
Primeiro a parte inteira, temos (3)10 = (11)2
Parte decimal temos:
0.8 × 2 =1.6
0.6 × 2 =1.2
0.2 × 2 =0.4
0.4 × 2 =0.8
0.8 × 2 = . . .
Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não
tem representação exata na base 2. O que isso significa? E
outras bases?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
24 / 41
Erros
Mudança de Base
Exemplos de mudança de base
3.8 da base 10 para a base 2
Primeiro a parte inteira, temos (3)10 = (11)2
Parte decimal temos:
0.8 × 2 =1.6
0.6 × 2 =1.2
0.2 × 2 =0.4
0.4 × 2 =0.8
0.8 × 2 = . . .
Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não
tem representação exata na base 2. O que isso significa? E
outras bases?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
24 / 41
Erros
Mudança de Base
Exemplos de mudança de base
3.8 da base 10 para a base 2
Primeiro a parte inteira, temos (3)10 = (11)2
Parte decimal temos:
0.8 × 2 =1.6
0.6 × 2 =1.2
0.2 × 2 =0.4
0.4 × 2 =0.8
0.8 × 2 = . . .
Logo: (3.8)10 = (11.11001100 . . .)2 . Portanto, o número (3.8)10 não
tem representação exata na base 2. O que isso significa? E
outras bases?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
24 / 41
Erros
Mudança de Base
Exemplos de mudança de base
Dado o número 12.20 da base 4, representá-lo na base 3
Primeiro muda-se para a base 10
12 =2 × 40 + 1 × 41 = 6
0.20 =2 × 4−1 + 0 × 4−2 =
2
= 0.5
4
Logo, (12.20)4 = (6.5)10 .
Agora precisamos mudar da base 10 para a base 3.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
25 / 41
Erros
Mudança de Base
Exemplos de mudança de base
Dado o número 12.20 da base 4, representá-lo na base 3
Primeiro muda-se para a base 10
12 =2 × 40 + 1 × 41 = 6
0.20 =2 × 4−1 + 0 × 4−2 =
2
= 0.5
4
Logo, (12.20)4 = (6.5)10 .
Agora precisamos mudar da base 10 para a base 3.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
25 / 41
Erros
Mudança de Base
Exemplos de mudança de base
Dado o número 12.20 da base 4, representá-lo na base 3
Primeiro muda-se para a base 10
12 =2 × 40 + 1 × 41 = 6
0.20 =2 × 4−1 + 0 × 4−2 =
2
= 0.5
4
Logo, (12.20)4 = (6.5)10 .
Agora precisamos mudar da base 10 para a base 3.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
25 / 41
Erros
Mudança de Base
Exemplos de mudança de base
Dado o número 12.20 da base 4, representá-lo na base 3
Temos então:
6
3
0
2
0.5 × 3 =1.5
0.5 × 3 =1.5
0.5 × 3 = . . .
Assim: (6.5)10 = (20.11 . . .)3 . Observe que o número dado na
base 4 tem representção exata na base 10, mas não na base 3.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
26 / 41
Erros
Mudança de Base
Exercícios
3 Considere os seguintes números: x1 = 34, x2 = 0.125 e
x3 = 33.023 que estão na base 10. Escreva-os na base 2.
3 Considere os seguintes números: x1 = 110111, x2 = 0.01011 e
x3 = 11.0101 que estão na base 2. Escreva-os na base 10.
4 Considere os seguintes números: x1 = 33, x2 = 0.132 e
x3 = 32.013 que estão na base 4. Escreva-os na base 5.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
27 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Definição: Arredondar um número x, por um outro com um número
menor de dígitos significativos, consiste em encontrar um número x̄,
pertencente ao sistema de numeração, tal que |x̄ − x| seja o menor
possível.
Exemplo: Calcular o quociente entre 15 e 7.
Solução: Temos 3 representações possíveis:
x1 =
15
1
, x2 = 2 , x3 = 2.142857 .
7
7
Suponha agora que só dispomos de 4 dígitos para representar
15
esse quociente. Dai, 15
7 = 2.142 ou 7 = 2.143 ?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
28 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Temos |2.142 − x3 | = 0.000857 e |2.143 − x3 | = 0.000143. Logo, 2.143
representa a melhor aproximação para 15
7.
Dado x, seja x̄ sua representação em F(β, t, m, M) adotando
arredondamento. Se x = 0 então x̄ = 0. Se x 6= 0, então
escolhemos s e e tais que:
1
1
|x| = s × β e onde β −1 (1 − β−t) 6 s < 1 − β −t .
2
2
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
29 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Se e está fora do intervalo [−m, M] não temos condições de
representar o número no sistema. Se e ∈ [−m, M], calculamos:
1
s + β −1 = 0.d1 d2 . . . dt dt+1 . . .
2
e truncamos em t dígitos. Assim o arredondamento será:
x̄ = (sinalx)(0.d1 d2 . . . dt ) × β e .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
30 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Exemplo: Considerando o sistema F(10, 3, 5, 5). Represente nesse
sistema os números: x1 = 1234.56, x2 = −0.00054962, x3 = 0.9995,
x4 = 123456.7 e x5 = −0.0000001.
Primeiro os valores permitidos para s. Para β = 10 e t = 3 temos:
1
1
10−1 (1 − 10−3 ) 6 s < 1 − 10−3 ,
2
2
Logo:
0.09995 6 s < 0.9995 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
31 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Para x1 = 1234.56, obtemos:
|x1 | = 0.123456 × 104 ,
1
s + 1 − 10−3 = 0.123456 + 0.0005 = 0.123956 ,
2
x¯1 = 0.123 × 104 .
Para x2 = −0.00054962, obtemos:
|x2 | = 0.54962 × 10−3 ,
1
s + 1 − 10−3 = 0.54692 + 0.0005 = 0.55012 ,
2
x¯2 = −0.550 × 10−3 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
32 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Para x1 = 1234.56, obtemos:
|x1 | = 0.123456 × 104 ,
1
s + 1 − 10−3 = 0.123456 + 0.0005 = 0.123956 ,
2
x¯1 = 0.123 × 104 .
Para x2 = −0.00054962, obtemos:
|x2 | = 0.54962 × 10−3 ,
1
s + 1 − 10−3 = 0.54692 + 0.0005 = 0.55012 ,
2
x¯2 = −0.550 × 10−3 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
32 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Para x3 = 0.9995, obtemos:
|x3 | = 0.09995 × 101 ,
1
s + 1 − 10−3 = 0.09995 + 0.0005 = 0.10045 ,
2
x¯3 = 0.100 × 101 .
Para x4 = 123456.7, obtemos:
|x4 | = 0.1234567 × 106 . Overflow!
Para x5 = −0.0000001, obtemos:
|x5 | = 0.1 × 10−6 . Underflow!
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
33 / 41
Erros
Arredondamento em Ponto flutuante
Arredondamento em Ponto flutuante
Para x3 = 0.9995, obtemos:
|x3 | = 0.09995 × 101 ,
1
s + 1 − 10−3 = 0.09995 + 0.0005 = 0.10045 ,
2
x¯3 = 0.100 × 101 .
Para x4 = 123456.7, obtemos:
|x4 | = 0.1234567 × 106 . Overflow!
Para x5 = −0.0000001, obtemos:
|x5 | = 0.1 × 10−6 . Underflow!
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
33 / 41
Erros
Arredondamento em Ponto flutuante
Exercícios
5 Considere o sistema F(10, 4, 4, 4).
Qual o intervalo para s nesse caso?
Represente os números do exemplo anterior nesse sistema.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
34 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Considerando β = 10 e 3 dígitos significativos. Efetue as operações
indicadas:
(11.4 + 3.18) + 5.05 e 11.4 + (3.18 + 5.05), obtemos:
(11.4 + 3.18) + 5.05 = 14.6 + 5.05 = 19.7 ,
11.4 + (3.18 + 5.05) = 11.4 + 8.23 = 19.6 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
35 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Considerando β = 10 e 3 dígitos significativos. Efetue as operações
indicadas:
3.18×11.4
5.05
e
3.18
5.05
× 11.4, obtemos:
36.3
3.18 × 11.4
=
= 7.19 ,
5.05
5.05
3.18
× 11.4 = 0.630 × 11.4 = 7.18 .
5.05
3.18 × (5.05 + 11.4) e 3.18 × 5.05 + 3.18 × 11.4, obtemos:
3.18 × (5.05 + 11.4) = 3.18 × 16.5 = 52.3 ,
3.18 × 5.05 + 3.18 × 11.4 = 16.1 + 36.3 = 52.4 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
36 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Considerando β = 10 e 3 dígitos significativos. Efetue as operações
indicadas:
3.18×11.4
5.05
e
3.18
5.05
× 11.4, obtemos:
36.3
3.18 × 11.4
=
= 7.19 ,
5.05
5.05
3.18
× 11.4 = 0.630 × 11.4 = 7.18 .
5.05
3.18 × (5.05 + 11.4) e 3.18 × 5.05 + 3.18 × 11.4, obtemos:
3.18 × (5.05 + 11.4) = 3.18 × 16.5 = 52.3 ,
3.18 × 5.05 + 3.18 × 11.4 = 16.1 + 36.3 = 52.4 .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
36 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Avaliar o polinômio P(x) = x3 − 6x2 + 4x − 0.1, no ponto 5.24 e
comparar com o resultado exato.
Para se obter o resultado exato considere todos os dígitos de sua
calculadora, sem usar arredondamento. Assim:
P(5.24) = 143.8777824 − 164.7456 + 20.96 − 0.1
= −0.00776 (exato) .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
37 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Avaliar o polinômio P(x) = x3 − 6x2 + 4x − 0.1, no ponto 5.24 e
comparar com o resultado exato.
Para se obter o resultado exato considere todos os dígitos de sua
calculadora, sem usar arredondamento. Assim:
P(5.24) = 143.8777824 − 164.7456 + 20.96 − 0.1
= −0.00776 (exato) .
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
37 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Agora, usando arredondamento a cada operação efetuada, obtemos:
Solução:
P(5.24) = 5.24 × 27.5 − 6 × 27.5 + 4 × 5.24 − 0.1
= 144 − 165 + 21 − 0.1
= −0.10 (somando da esquerda para a direita)
= 0.00 (somando da direita para a esquerda)
E se separarmos o x, mudaria a solução?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
38 / 41
Erros
Operações em Ponto flutuante
Operações em Ponto flutuante
Agora, usando arredondamento a cada operação efetuada, obtemos:
Solução:
P(5.24) = 5.24 × 27.5 − 6 × 27.5 + 4 × 5.24 − 0.1
= 144 − 165 + 21 − 0.1
= −0.10 (somando da esquerda para a direita)
= 0.00 (somando da direita para a esquerda)
E se separarmos o x, mudaria a solução?
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
38 / 41
Erros
Operações em Ponto flutuante
Exercícios
6 Considere o sistema F(10, 3, 5, 5). Efetue as operações indicadas:
i)(1.386 − 0.987) + 7.6485 e 1.386 − (0.987 + 7.6485)
ii)
1.338 − 2.038 1.338 2.038
e
−
4.577
4.577 4.577
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
39 / 41
Erros
Operações em Ponto flutuante
Exercícios
7 Seja:
x=
17.678
(9.617)2
+
3.471
3.716 × 1.85
Calcule x usando todos os algarismos da sua calculadora, sem
efetuar arredondamento.
Calcule x considerando o sistema F(10, 3, 4, 3). Faça
arredondamento a cada operação efetuada.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
40 / 41
Erros
Operações em Ponto flutuante
Exercícios
8 Seja P(x) = 2.3x3 − 0.6x2 + 1.8x − 2.2:
Calcule P(1.61) usando todos os algarismos da sua calculadora,
sem efetuar arredondamento.
Calcule P(1.61) considerando o sistema F(10, 3, 4, 3). Faça
arredondamento a cada operação efetuada.
Prof. Phelipe Fabres (Anhanguera)
Aula 2 - Cálculo Numérico
41 / 41
Download