Teoria de erros

Propaganda
ANÁLISE NUMÉRICA
DEC - 1996/97
Ana Maria Faustino
Teoria de Erros
A Teoria de Erros fornece técnicas para quantificar erros nos dados e nos resultados de
cálculos com números aproximados.
Nos cálculos aproximados deve-se considerar três tipos diferentes de erros:
Erros de Arredondamento. Quando se utiliza instrumentos de cálculos, estes
trabalham com um número finito de dígitos. Por exemplo, ao usar 0.3334, 3.14 e 1.414
para números aproximados de 1/3, π e
2 comete-se um determinado erro de
arredondamento.
Erros de truncatura. Quando se utiliza fórmulas aproximadas. Por exemplo, ao
calcular a função
3
5
n
2i −1
∞
2i −1
i −1 x
i −1 x
senx = x − x + x −L = ∑ ( −1)
+ ∑ ( −1)
3! 5!
(2i − 1)! i1
(2i − 13
)!
= n 44
+1 42444
i =1
ε
se só se considerar a soma das n primeiras parcelas comete-se um erro de truncatura ε
que é dado pelo segundo somatório.
Erros nos dados. Os erros que afectam informações previamente obtidas e com as
quais vamos operar.
Na pior das hipóteses estes erros acumulam-se. Felizmente, na prática, eles muitas
vezes compensam-se ou, então, um ou outro é desprezável em face dos valores dos
outros.
Análise Numérica - DEC (1996/97) 1
Análise Numérica - DEC 2
Noções gerais
Como se vai trabalhar com números aproximados de uma dada quantidade exacta
convém estabelecer critérios para avaliar qual a melhor aproximação. Para isso
necessitamos de algumas noções.
Algarismos significativos (a.s.) : chama-se a.s. a todos os dígitos usados para
escrever um número com excepção dos zeros para obter a casa das unidades (zeros à
esquerda). Exemplos: 0.00263 tem 3 a.s.; 23.806 tem 5 a.s.; 0.0200 tem 3 a.s..
Algarismos significativos correctos (a.s.c.) : Diz-se que um algarismo
significativo de uma aproximação a de um número A é algarismo significativo correcto
se |A-a| ≤ 0.5 × 10
-m
, onde m é a ordem decimal da casa que esse algarismo ocupa.
Nesta notação considera-se que, por exemplo, a ordem decimal da casa das dezenas é
-1.(Nota: Há autores que dão a definição usando a relação |A-a| ≤ 1 × 10 -m).
Exemplos: Se A=2, a′=1.9999 tem 4 a.s.c. e a″=2.06 tem 1 a.s.c..
É evidente que quando se tem um conjunto de números aproximados de uma mesma
quantidade A a melhor aproximação é o número mais próximo do valor exacto. O
número de algarismos significativos correctos permite também caracterizar essa melhor
aproximação. De facto, com excepção de alguns casos pouco frequentes, o número com
o maior número de a.s.c. é a melhor aproximação. (As excepções correspondem a
números próximos de potências de 10 (10k) e com |A-a| > |a-10k|. Exemplo: Se
A=99.99991, a′=99.9999 tem 6 a.s.c. e a″=100.0000 também tem 6 a.s.c. e no entanto a′
está mais próximo de A do que a″).
Regras de arredondamento. Muitas vezes, quer por não ter significado, quer por
limitação do instrumento de cálculo que se está a usar, é necessário menosprezar alguns
dos algarismos menos significativos.
Quando tal for necessário, para reduzir ao mínimo o erro cometido, devemos apresentar
o algarismo da última casa significativa conservada (ap) do seguinte modo:
Ana Maria Faustino
Análise Numérica - DEC 3
1. se a quantidade menosprezada for inferior a 1/2 unidade dessa última casa o
algarismo mantém-se (a′p= ap).
2. se for superior ou igual aumentamos uma unidade àquele algarismo (a′p= ap+1).
(A=0. a1 a2 … ap ap+1 … an × 10 -k e a= 0.a1 a2 … a′p × 10 -k, k∈Z).
Exemplos: Arredondar para 4 a.s.: 29.6324→29.63; 81.9773→81.98; 67.495→67.50.
Por este processo de arredondamento, o erro cometido é sempre inferior a 1/2 unidade
da última casa conservada e portanto todos os algarismos são algarismos significativos
correctos, obtendo-se a melhor aproximação possível com p a.s..
Definições de erros
Erro Absoluto (ε)- seja a um valor aproximado de A. Chama-se erro absoluto de
a ao valor ε = |α| tal que, A=a+α.
Erro máximo absoluto (e.m.a. - ∆a)-supremo do conjunto dos valores que o erro
absoluto pode tomar.
Tem-se então
a - ∆a ≤ A ≤ a + ∆a
Muitas vezes escreve-se A= a ± ∆a.
Erro relativo (δ) - é a quantidade de erro absoluto por unidade de grandeza
medida (mede precisão).
δ =
ε
|A|
A≠0
Erro máximo relativo (e.m.r. - δa) - supremo do conjunto de valores que o erro
relativo pode tomar. É dado geralmente sob a forma de percentagem.
Nota: o e.m.a. depende das unidades do valor de A e o e.m. r. é independente dessas
unidades.
Relações entre o erro máximo absoluto e o erro máximo relativo
Ana Maria Faustino
Análise Numérica - DEC 4
Se A>0
∆a

δa = a − ∆a
2 relações 
aδa
 ∆a =
1 − δa

se ∆a << a
se δa << 1
∆a
a
∆a ≈ aδa
δa ≈

 1 relação

Logo se conhecermos o e.m.r. podemos escrever A= a (1± δa) ⇔ a (1- δa) ≤ A≤ a (1+
δa).
Relação entre o erro máximo absoluto e casas decimais correctas
Se um número tem n casas decimais correctas então o erro absoluto é inferior a 0.5×10-n
e vice versa.
-n
n c. d . c ⇒
⇐ ∆a ≤ 0.5 × 10
Relações entre o erro máximo relativo e algarismos significativos correctos
O erro relativo é independente da ordem de grandeza do número, dependendo apenas do
número de a.s.c. e do valor do primeiro algarismo significativo.
De facto se a e b são dois números aproximados, com n algarismos significativos
correctos, que apenas diferem na ordem de grandeza, tem-se:
a =0.a1 a2 … an × 10p
b =0.a1 a2 … an × 10k
e
0.5 × 10− n × 10 p 0.5 × 10− n
δa =
=
0. a1 × 10 p
0. a1
0.5 × 10− n × 10k 0.5 × 10− n
δb =
=
0. a1 × 10k
0. a1
Ana Maria Faustino
Análise Numérica - DEC 5
Vemos portanto que o erro relativo é independente das unidades mas, é dependente da
ordem de grandeza de a1 .Assim se a tem n a.s.c. e
se a1 ≈ 1 ⇒ δa= 0.5×10-(n-1)
se a1 ≈ 10 ⇒ δa = 0.5 × 10 -n
e inversamente
δa = 0.5 × 10 -n ⇒ a tem n a.s.c. (se a1 ≈ 10) ou n+1 a.s.c. (se a1 ≈ 1)
Como apresentar um número aproximado
Se se souber que um dado número a é aproximado com um dado erro máximo ∆a, essa
informação apenas nos permite saber que o valor exacto é um dos pontos do intervalo
centrado no número aproximado e de amplitude ∆a. Logo não interessa escrever a com
dígitos que não são significativos nem interessa escrever ∆a com mais de 1(ou2) a.s..
Assim se, por exemplo, a = 3.654917m com e.m.a. ∆a = 0.3×10-2m, como é que se deve
apresentar a ? Como ∆a < 0.5×10-2 , por definição de a.s.c., a só tem 2 c.d.c. e pode-se
pensar em escrever a′= 3.655 ou a″= 3.65. Vejamos qual a representação destas
informações na recta real.
∆a
64748a
a′
a″1444442444443
∆a″= ∆a +εa″
[a-∆a,a+∆a]
[a′-∆a,a′+∆a]
[a″-∆a,a″+∆a]
[a″-∆a″,a″+∆a″]
onde εa″ = |a-a″| = 0.5×10-2 é o erro de arredondamento de substituir a por a″.
Neste caso é preferível utilizar a representação a′ de a pois não há alteração significativa
no posicionamento do intervalo. Se se tivesse utilizado a representação a″ de a, como o
erro de arredondamento εa″ é da mesma ordem de grandeza de ∆a, teríamos que passar
a indicar o e.m.a. ∆a″ para se ter a certeza de o novo intervalo conter o valor que a
pretende aproximar. Se mantivéssemos a mesma amplitude ∆a dos outros intervalos
estaríamos, quase de certeza, a excluir o valor exacto que a pretende aproximar.
Ana Maria Faustino
Análise Numérica - DEC 6
Propagação de erros
Seja f uma função de ℜn em ℜ, contínua num domínio D ⊆ ℜn. Se x0∈ℜn aproxima x
com um e.m.a. ∆x∈ℜn pretende-se saber qual o e.m.a. ∆z∈ℜ com que z0 = f(x0)
aproxima z = f(x).
Como x ∈ [x0- ∆x, x0 + ∆x] ⊂ D, se se designar por fmin e fmax respectivamente o valor
mínimo e máximo de f em [x0- ∆x, x0 + ∆x] então, por continuidade de f,
z0 ∈ [ fmin , fmax ] e
∆z = max{ f(x0) - fmin , fmax - f(x0)}.
No entanto, como o cálculo de máximos e mínimos (extremos) de uma função nem
sempre é simples, deve-se usar um processo mais eficiente para determinar esse erro.
Assim, se a função f: D ⊂ ℜn→ℜ, além de ser contínua em D, tiver derivadas parciais
contínuas em D então f é continuamente diferenciável em D e
n ∂f( x 0 )
∆z = f( x 0 ± ∆x) − f( x 0 ) = ∑
∆ xi + ε
i =1 ∂ x i
em que ε → 0 quando ∆x → 0.
Tem-se, por isso
n ∂f( x 0 )
∆z ≅ ∑
∆ xi
∂
x
i
i =1
(1)
e
n
∆z
≅ ∑⋅
| z| i = 1
∂f( x 0 )
x
∂ xi i
f( x 0 )
⋅ d xi
(2)
Nota : se f: ℜ→ℜ for contínua no intervalo [a,b] e derivável no intervalo ]a,b[, pelo
teorema dos acréscimos finitos (Lagrange), tem-se:
∆z = |f(x±∆x)-f(x)| = |f′(ξ)| ∆x ≈ |f′(x)| ∆x
(3)
Ana Maria Faustino
Análise Numérica - DEC 7
Problema inverso
Quando se pretende que o erro do resultado não ultrapasse um valor previamente fixado
tem-se que calcular um limite para os erros dos argumentos que simultaneamente
satisfaça (1) ⇔ (2).ou (3).
Se f: ℜ→ℜ basta que f′(x)≠0 e tem-se de (3) : ∆x =
1
∆z
f ′(x)
Se f: D ⊂ ℜn→ℜ, então o problema tem mais do que uma solução. É n-1 vezes
indeterminada. Para que a solução seja praticável em vez de arbitrar n-1 incógnitas é
comum proceder de um dos seguintes modos:
1. Fazer ∆x1=∆x2=…=∆xn=∆y e por (1) vem ∆y ≤
∆z
∂f( x0)
∑
i =1 ∂ x i
n
dz
2. Fazer δx1=δx2=…=δxn=δy e por (2) vem dy ≤
n
∑ ⋅
i =1
3.
∂f( x 0 )
x
∂ xi i
f( x 0 )
∆z
∂f( x 0 )
∂f( x 0 )
∂f( x 0 )
∆ x1 =
∆ x 2 =L =
∆ xn ≤
(Princípio das influências iguais)
∂ x1
∂ x2
∂ xn
n
Casos particulares
Considere os e.m.a. e e.m.r. das seguintes expressões:
x
y
δx +
δy
x±y
x±y
z = x±y
∆z = ∆x + ∆y
δz =
z = xy
∆z = |y| ∆x + |x| ∆y
δz = δx + δy
z=
x
y
∆z =
1
x
∆x + ∆y
y
y
δz = δx + δy
z=xp (p é exacto)
∆z = p xp −1 ∆x
δz = | p | δx
z=ln x
∆z = δx
δz =
z=ax (a>0 é exacto) ∆z = | ax ln a | ∆x
1
δx
ln x
δz = | ln a | ∆x
Ana Maria Faustino
Análise Numérica - DEC 8
A análise destas expressões dos erros e as relações entre e.m.a. e c.d.c. e entre e.m.r. e
a.s.c. permite-nos tirar algumas conclusões interessantes.
No caso das somas algébricas a expressão do e.m.a. diz-nos que o e.m.a. do resultado é
da mesma ordem de grandeza do e.m.a. da parcela com maior erro. E tem-se:
Regra prática da adição ou subtracção: Na adição ou subtracção de dois ou mais
números aproximados o resultado deverá ter tantas casas decimais quantas as do(s)
número(s) com menos casas decimais correctas.
No caso dos produtos e divisões a expressão do e.m.r. diz-nos que o e.m.r. do resultado
é da mesma ordem de grandeza do e.m.r. do argumento com maior erro. E tem-se:
Regra prática do produto ou divisão: No produto ou divisão de dois ou mais números
aproximados o resultado deverá ter tantas algarismos significativos quantos os do(s)
número(s) com menos algarismos significativos correctos.
A estimativa dos erros através de majorantes (fórmulas (1),(2) e (3)) dão uma
informação muito pessimista da precisão do resultado pois considera que os erros se
acumulam sempre. As regras práticas, pelo contrário, consideram que os erros muitas
vezes compensam-se e, portanto, o facto de se estar a operar com vários números
aproximados não afecta muito o resultado. No entanto, no caso da potência, que se pode
considerar como um caso particular de produtos com o mesmo factor, essa
compensação não se verifica. Pode-se dar o caso de, se p for grande ( por exemplo p ≈
10 ), o resultado perder algarismos significativos e, se p for pequeno ( por exemplo p ≈
10-1 ), o resultado pode ganhar algarismos significativos.
Exemplo: Calcular z = 10 7.34 sabendo que 7.34 tem 3 a.s.c..
Resolução: Como x =7.34 tem 3 a.s.c ∆x=0.5 × 10 -2 e, por (2),
1 0.5 × 10 −2
δz =
≈ 0.72 × 10 − 4 < 0.5 × 10 − 3
10
7
⇒
3 ou 4 a.s.
Como δz ≤ 0.72 × 10 -4 ≈ 0.5 × 10 -4 é mais natural que z tenha mesmo 4 a.s.c.
Por enquadramento tem-se:
Ana Maria Faustino
Análise Numérica - DEC 9
7.335 ≤ x ≤ 7.345
10
7.335 ≤ z ≤
10
7.345
1.2205063... ≤ z ≤ 1.2206726...
Logo
10
7.34 = 1.2205894... aproxima z com pelo menos 4 a. s. c.
Apesar de não fazer parte das regras práticas de cálculo aproximado, as expressões dos
erros de z= ln x permite-nos tirar conclusões interessantes. O resultado z vai ter
sensivelmente tantas c.d. quantos os a.s. de x. Deste modo a precisão do resultado piora,
relativamente à precisão de x, se ln x ≈ 0 e melhora se ln x for grande.
Sugestões para introduzir estas ideias aos alunos do secundário
Convém introduzir a noção de algarismo significativo. Alguns alunos do secundário
usam-na noutras disciplinas, por exemplo Química, por que não em Matemática ?
Pode-se introduzir a formula (1) para alguns casos particulares.
EXEMPLO 1
Calcule o e.m.a. do perímetro P e área A de um rectângulo de lados a e b usando
valores aproximados a0 e b0 tais que:
a=a0±∆a e b= b0 ± ∆b
Supondo que o erro é positivo vem:
b0
∆b
a0
a0 × b0
a0∆b
∆a
b0∆a
∆a∆b
Analiticamente vem
P = (2a0+2b0)±(2∆a+2∆b)
⇒
∆P=2∆a+2∆b
A = (a0×b0)±( a0∆b+ b0∆a+∆a∆b)
⇒
∆A ≅ a0∆b+ b0∆a
Nota: com este exemplo pode-se ver que a fórmula (1) é aproximada pois despreza
termos de 2ª ordem ou superior em ∆a ou ∆b.
Ana Maria Faustino
Análise Numérica - DEC 10
Usar as regras práticas nos cálculos aproximados a partir do 10º ano (?). Nos anos
anteriores apenas pedir estimativas usando aproximações dos dados com um número
fixo de casas decimais (ou a.s.). Nunca pedir aproximações dos resultados com um
número fixo de c.d. (ou a.s.) pois os alunos não sabem responder correctamente.
Conhecida a noção de a. s. c. as regras práticas podem ser facilmente induzidas usando
a técnica de enquadramento.
EXEMPLO 2
Considere a aproximação de π com 2 c.d.c. ( = 3 a.s.c.), π≈3.14. Determine o número de
a.s.c. e de c.d.c. que se pode garantir a
12π ≈ 12×3.14 = 37.68
e
12 + π = 12 +3.14 =15.14
A informação de que π tem 2 c.d.c diz-nos que
3.135 ≤ π ≤ 3.145
e
37.62 ≤ 12π ≤ 37.74
15.135 ≤ 12 + π ≤ 15.145
Podemos então concluir que:
• 37.68 aproxima 12π com 2 a.s.c.+1 a.s. com bastante significado e apenas 1 c.d. com
bastante significado, isto é, o produto tem sensivelmente o mesmo número de a.s. do
valor com que se entrou para π;
• 15.14 aproxima 12 + π com 4 a.s.c. e 2 c.d.c., isto é, a soma tem o mesmo número de
c.d. do valor com que se entrou para π.
EXEMPLO 3
Ana Maria Faustino
Análise Numérica - DEC 11
Sejam x0 = 1475.54 e y0 = 0.0768 dois valores aproximados de x e y com todos os
dígitos correctos, isto é,
x∈[1475.535,1475.545]) e
x0 tem
2 c.d.c
e
6 a.s.c. ao
aproximar
x
(
y0 tem 4 c.d.c e 3 a.s.c. ao aproximar y (
y∈[0.07675,0.07685])
Por enquadramento pode-se concluir que:
• x0 + y0 = 1475.6168 tem 2 c.d.c. (tantas quantas as da parcela que tem menos)
pois,
x+y ∈[ 1475.535+0.07675, 1475.545+0.07685 ]
x+y ∈[ 1475.6118, 1475.6219]
∆(x0 + y0) = max {| fmin - (x0 + y0) |,| fmax- (x0 + y0) |}
= max {0.00505,0.00505} ≈ 0.5 × 10 -2 ⇒ 2 c.d.c.
• x0 - y0 = 1475.4632 tem 2 c.d.c. (tantas quantas as do argumento que tem menos)
pois,
x-y ∈[ 1475.535-0.07685, 1475.545-0.07675 ]
x-y ∈[ 1475.4582, 1475.4683]
∆(x0 - y0) = max {| fmin - (x0 - y0) |,| fmax- (x0 - y0) |}
= max {0.00505,0.00505} ≈ 0.5 × 10 -2 ⇒ 2 c.d.c.
• x0 ×y0 = 113.32147 tem 3a.s.c. (tantos quantos os do factor que tem menos)
pois,
x×y ∈[ 1475.535×0.07675, 1475.545×0.07685 ]
x×y ∈[ 113.24731, 113.39563]
∆(x0 × y0) = max {| fmin - (x0 × y0) |,| fmax- (x0 × y0) |}
= max {0.0741608,0.0741613}
≈ 0.75 × 10 -1 < 0.5 × 10 0 ⇒ 0 c.d.c. e 3 a.s.c.
Ana Maria Faustino
Análise Numérica - DEC 12
• x0 ÷ y0 = 19212.76 tem 3 a.s.c.. (tantos quantos os do argumento que tem menos)
pois,
x÷y ∈[ 1475.535÷0.07675, 1475.545÷0.07685 ]
x÷y ∈[ 19200.195, 19225.342]
∆(x0 ÷ y0) = max {| fmin - (x0 ÷ y0) |,| fmax- (x0÷y0) |}
= max {12.565231, 12.581603}
≈ 13 < 0.5 × 10 2 ⇒ c.d de ordem -2.3 a.s.c. correcta
A aplicação das regras práticas mostra que, para algumas operações aritméticas o que
sensivelmente se mantém é o número de c.d. (adição e subtracção) enquanto que para
outras é o número de a.s. (produto e divisão). Como o número de a.s. nos dá uma boa
informação da precisão de um número, no caso do produto e divisões temos
sensivelmente a precisão do argumento menos preciso. Enquanto que no caso da adição
e subtracção teremos que converter a informação de c.d. em a.s. para saber a precisão.
Se se está a adicionar (números do mesmo sinal) como a ordem de grandeza da soma é
superior a cada uma das parcelas o número de a.s. pode ser superior ao da parcela que
tem menos. Se se está a subtrair, a ordem de grandeza da diferença pode ser
significativamente inferior se se estiver a subtrair números muito próximos e, neste
caso, o resultado pode perder muitos a.s. relativamente aos a.s. dos argumentos.
EXEMPLO 4
2.6+8.067 ≅10.7
tem 1c.d.c. e 3 a.s.c. (+1 a.s. do que 2.6)
1.523 - 1.5102 ≅ 0.013
tem 3c.d.c. e 2 a.s.c. (-2 a.s. do que 1.523)
Para que o resultado da diferença de números muito próximos tenha um número
suficiente de a.s. é necessário trabalhar com mais a.s. para cada parcela ou então
recorrer a expressões equivalentes. Na realidade, quando se efectuam cálculos com
números aproximados a propagação dos erros vai depender do algoritmo utilizado.
Ana Maria Faustino
Análise Numérica - DEC 13
EXEMPLO 5
Se se considerar as expressões equivalentes
1
(3+ 8)
3
(
)
3
= 3− 8 = 99 − 35 × 8
8 = 2.83, obtém-se:
e se calcular os seus valores usando a aproximação
1
≈ 5.0465472 × 10−3
(3+ 8)
(3− 8) ≈ 4.913 × 10
3
3
−3
99 − 35 × 8 ≈ −5 × 10−2
Se as expressões são equivalentes, por que razão os resultados são tão diferentes? As
regras práticas, neste caso, são suficientes para explicar esta diferença tão significativa.
De facto, o valor 2.83 aproxima
•
8 com 2 c.d.c. e 3 a.s.c. portanto,
na 1ª expressão, a primeira operação executada, a adição, vem com 2 c.d. e 3 a.s.
(pois é da ordem das unidades); a segunda operação é uma potência de ordem 3 (não
muito elevada) logo o resultado mantém 3 a.s.c.. Como a terceira operação é uma
divisão com um número exacto, pode-se concluir que o resultado final vai ter 3 a.s..
•
na 2ª expressão, a primeira operação executada, a subtracção, vem com 2 c.d. e 2
a.s. (pois é da ordem das décimas); a segunda operação é uma potência de ordem 3
logo o resultado final vai ter 2 a.s..
•
na 3ª expressão, a primeira operação executada, a multiplicação, vem com 3 a.s. e 1
c.d.. (pois é da ordem das dezenas); a segunda operação é uma diferença logo o
resultado final vai ter 1 c.d. mas, como é da ordem das milésimas, vai ter 0 a.s., isto
é, o erro é superior à ordem de grandeza do resultado.
Sugestão: use toda a precisão da sua máquina para calcular as expressões anteriores e
justifique os resultados obtidos.
Ana Maria Faustino
Análise Numérica - DEC 14
Número de condição
Quando se executam cálculos aproximados para determinar uma expressão y=f(x) o
resultado obtido ~
y = f a ( x ) é, normalmente, diferente de y. Isto é, ao substituir-se o
cálculo de f por um algoritmo aproximado fa comete-se um erro que interessa
y = f ( x~ ) , isto
quantificar. Se f: X→ Y é contínua em X então pode-se interpretar que ~
é, ~
y é o resultado exacto que se obteria aplicando f a x~ e em que x~ é um valor
aproximado de x. Então se y≠0, por (3), pode-se obter a expressão
δy =
∆y
f ′ ( x ) x ∆x
≈
.
| y|
f ( x ) | x|
que relaciona os erros máximos relativos do dado e do resultado. O valor
f ′( x ) x
.
f (x )
cond f ( x ) =
designa-se por número de condição da função f no ponto x.
Uma função diz-se mal condicionada se o seu número de condição for muito elevado, e
bem condicionada se o seu número de condição for pequeno. Isto é, um problema é bem
condicionado se pequenas perturbações nos dados provocarem pequenas variações nos
resultados e mal condicionado se pequenas perturbações nos dados provocarem grandes
variações nos resultado. O algoritmo fa utilizado para calcular y por sua vez diz-se
estável se x~ , tal que fa (x)=f( x~ ), for próximo de x e instável, se x~ não for
suficientemente proximo de x.
9
Exemplo 1: Se f ( x ) =
10
1 − 10
1
f ′( x ) =
x
< 1 , isto é a função
e cond f ( x ) =
10
10
x
é bem condicionada
Exemplo 2: Se f(x)=1-x
f’(x)=-1 e cond f(x)=
−x
1− x
e a condição depende de x.
Por exemplo, se x ≈ 1 , caso de diferença de números muito próximos, a condição é
muito
x=
1
,
2
grande
e
f(x)
cond f ( x ) =
é
bastante
mal
condicionada;
no
entanto,
se
1
e f(x) é bem condicionada.
2
Ana Maria Faustino
Análise Numérica - DEC 15
Aritmética computacional
Existem vários processos de representar números, podem ser representados em
diferentes bases, por exemplo:
•
Os números inteiros
na base 10: (428)10= 4 × 102 + 2 × 101 + 8 × 100
na base 2 :...(1011)2 = 1 × 23 + 1 × 21 + 1 × 20
na base b :...(dn dn-1...d1 d0)b= dn × bn+ dn-1 × bn-1 +...+ d1 × b1 + d0 × b0
b≥2 e
0≤di<b
Quando existem bases superiores a 10 além dos dígitos de 0 a 9 é comum usar as
letras do alfabeto; por exemplo, na base hexadecimal (16), os dígitos são
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E e F. (outra forma possível é usar os grupos de dígitos 10,
11,....).
•
Os números reais
na base 10: (76.075)10=7 × 101 + 6 × 100 + 7 × 10-2 + 5× 10-3
na base b :..(dn dn-1...d1 d0 d-1 d-2...d--p)b= dn×bn+... +d0×b0 + d-1 × b-1+... + d-p× b-p
Os dígitos (dn dn-1...d1 d0 )b constituem a parte inteira, e os dígitos ( d-1 d-2...d--p)b , a
parte fraccionária da representação do número na base b
Se os números são muito grandes ou muito pequenos é usada a chamada notação
científica. Esta notação consiste em escrever um número na forma
x = ± m × bt
em que m é um número real não negativo designado por mantissa , b ≥2 é um número
inteiro positivo designado por base e t é um numero inteiro designado por expoente. Na
representação normalizada
se x = 0
 m= 0
 −1
b ≤ m < 1 se x ≠ 0
Nesta representação o primeiro dígito da mantissa de um número diferente de zero é
sempre diferente de zero. Esta representação normalizada aparece para uniformizar a
representação dos números. No entanto não elimina todas as ambiguidades. Qualquer
Ana Maria Faustino
Análise Numérica - DEC 16
representação com m=0 e t qualquer serve para representar o zero, e o número 0.(9)
com dízima periódica 9 e 0.1× 10
1
representam o mesmo número. De facto, pela
fórmula da soma das progressões geométricas,
01
.
=1
1 − 01
.
∞
0.( 9 ) = ∑ 9 × 10− i = 9 ×
i =1
Mudanças de bases
Para efectuar a conversão de um número x na base a para a base b teremos que
encontrar a sequência de dígitos βi tal que:
Se x é inteiro
n
( x ) a = ∑ β i b i −1
i =1
e
n
( x ) a ÷ (b ) a = β 1b −1 + ∑ β i b i − 2
i =2
123 14243
Fr
Q
onde Fr é a parte fraccionária da divisão de (x)a por (b)a e Q é o quociente inteiro, logo
β1 é o resto da divisão inteira. Para encontrar todos os dígitos repete-se o processo para
Q até Q = 0.
Exemplo: (5)10 = (101)2
5
1
2
2
0
2
1 2
1 0
Se x é fraccionário
n
( x ) a = ∑ β i b −i
i =1
e
n
( x ) a × (b ) a = β 1 + ∑ β i b − (i −1)
i =2
123 14243
Int
Fr
onde Fr é a parte fraccionária e β1 é a parte inteira do produto. Para encontrar todos os
dígitos repete-se o processo para Fr até Fr = 0.
Ana Maria Faustino
Análise Numérica - DEC 17
Exemplo: (0.55)10=(0.10(0011))2
0.55×2=1.1
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 ↑ encontrou-se o período.
Com este exemplo verifica-se que, quando se muda de base, a representação exacta
pode deixar de ser finita e passar a ter um número infinito de dígitos.
A representação na base 10 obtém-se directamente fazendo:
(βn…β0.β-1…β-p)b = βn × bn +…+β0+β-1× b-1+…+β-p× b-p
Exemplo:(0.1011)2=1 × 2-1 +0 × 2-2 +1× 2-3 + 1× 2-4
Erros na aritmética em vírgula flutuante
As máquinas de calcular e os computadores só dispõem de um número finito de dígitos
para representar os números. Deste modo, as máquinas usam uma notação científica
modificada pois utilizam um número finito de dígitos p para a mantissa e um número
finito de dígitos q para o expoente, obtendo-se a chamada representação em vírgula
flutuante. Isto é, as máquinas de calcular e os computadores trabalham com um número
fixo de a.s. e só conseguem representar exactamente números reais da forma
t
x=±m×b
 | t |≤ b q − 1
em que  −1
−p
b ≤ m ≤ 1 − b
Esta representação de x é denotada usualmente por fl(x).
Erros de representação
Se x tiver uma representação exacta em vírgula flutuante fl(x)=x. Se não for possível
obter a representação exacta, normalmente, a máquina arredonda de modo a que todos
os dígitos sejam a.s.c., cometendo um dado erro relativo fl(x)=x(1+δ). Se a
representação de x na base b necessitar de um expoente superior a bq - 1 o número não é
Ana Maria Faustino
Análise Numérica - DEC 18
representável e diz-se que ocorreu um “overflow”. Analogamente, se o expoente for
inferior a -(bq - 1) diz-se que ocorreu um “underflow”.
Suponhamos uma máquina que trabalha com p=4 ,q=1 e b=10. Os 4 a.s. vem por
arredondamento de cada um dos resultados das operações
Vejamos o que acontece quando se executam determinados cálculos.
Adição de números de ordem de grandeza muito diferente.
Exemplo 1 :
0.1347+5614.=5614.
A parcela mais pequena não influênciou o resultado. Como consequência disto pode-se
verificar que, no cálculo aproximado, a propriedade associativa da adição deixa de ser
válida.
Exemplo 2 : ((((3.567+0.0004985)+0.0004821)+0.0004789)+0.0004657) = 0.3567×10
(3.567+(0.0004985+(0.0004821+(0.0004789+0.0004657)))) = 0.3569×10
Conseguiu-se com o segundo algoritmo um resultado mais preciso. Por quê?
As máquinas de calcular, como trabalham com um número fixo p de a.s., quando
efectuam um cálculo cometem um erro relativo que depende de p. Isto é, quando
operam com números x e y, os resultados obtidos são valores aproximados dos exactos
que se podem representar do seguinte modo:
fl ( x + y ) = ( x + y ) (1 + δ );
~
fl ( x × y ) = ( x × y ) (1 + δ );
fl ( x ÷ y ) = ( x ÷ y ) (1 + δ$)
Logo ao calcular (x+y)+z) tem-se:
(x+y) (1+δ1)
e
((x+y) (1+δ1)+z) (1+δ2)=
=((x+y)+(x+y) δ1+z) (1+δ2)=
=(x+y+z) +[(x+y) (δ1+δ2) + z δ2] +(x+y) δ1 δ2
14243
desprezável
Ana Maria Faustino
Análise Numérica - DEC 19
Isto é, o erro que afecta (x+y) é (δ1+δ2), em princípio, maior do que δ2 que afecta .z.
Logo se se deixar para o fim a parcela maior há mais probabilidades de obter um
resultado mais preciso.
Demonstre que:
(...((x1+x2)+x3)+...)+xn→
→(x1+x2+...+xn)+[(x1+x2)(δ1+δ2+...+δn-1)+x3(δ2+δ2+...+δn-1)+...+xn δn-1]
e como, em princípio, |δ1+δ2+...+δn-1| > |δn-1| então é vantajoso que | x1| <|xn|.
Erros devido à mudança de bases
Enquanto as máquinas de calcular trabalham na base 10, os computadores trabalham na
base 2. É por isso mais difícil dizer com quantos a.s., da base 10, os computadores
trabalham.
30000
Exercício1: Usou-se um computador e uma máquina para determinar S = ∑ xi
i =1
para
xi =0.5 e xi=0.11 e obteve-se os seguintes resultados:
para xi =0.5
na máquina
S=15000
no computador S=15000
para xi=0.11
na máquina
S=3300
no computador S=3299.99691
Justifique os resultados obtidos.
Exercício2: Use uma máquina de calcular com 4 a.s. para obter as raízes da equação
x2 - 14x + 0.01=0
com o máximo da precisão permitida pela máquina.
Ana Maria Faustino
Download