abordagem numÉrica de problemas com …¡lise numérica - dec 5 vemos portanto que o erro relativo...

19
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 senx x x x x i x i i i i i i n i n = + = + = =+ 3 5 1 1 2 1 1 1 2 1 3 5 1 2 1 1 2 1 ! ! ( ) ( )! ( ) ( ) L 1 2 444 3 444 ε ! 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

Upload: dangminh

Post on 07-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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

senx x x x xi

xi

i

i

ii

i n

in

= − + − = − −+ − −

=

−−

= +

∞ −

∑ ∑3 5

1

1

2 11

1

2 1

3 5 1 2 1 1 2 1! ! ( ) ( )! ( ) ( )L

1 2444 3444ε

!

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

2 relaçõesδ

δδ

δ

δ

δ

aa

a ase a a

aa a

ase a

aa

aa a a

=−

<<

=−

<<

∆∆

1

1 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 c d c a . . ⇒⇐ ≤∆ 0.5 × 10 -n

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

δ

δ

aa a

ba a

n p

p

n

n k

k

n

=× ×

×=

×

=× ×

×=

×

− −

− −

05 10 100 10

05 100

05 10 100 10

05 100

1 1

1 1

..

..

..

..

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″1444442444443 ∆a″= ∆a +εa″

a′ onde εa″ = |a-a″| = 0.5×10-2 é o erro de arredondamento de substituir a por a″.

[a-∆a,a+∆a] [a′-∆a,a′+∆a] [a″-∆a,a″+∆a] [a″-∆a″,a″+∆a″]

[a-∆a,a+∆a] [a′-∆a,a′+∆a] [a″-∆a,a″+∆a] [a″-∆a″,a″+∆a″]

a″1444442444443 ∆a″= ∆a +ε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

∆ ∆ ∆z f( x x) f( x )f( x )

ix ix= ± − ==∑ +0 0

0∂∂

εi 1

n

em que ε → 0 quando ∆x → 0.

Tem-se, por isso

∆zf( x )

ix ix≅=∑

∂∂

0

i 1

n∆ (1)

e

∆zz

f( x )

ix ix

f( x )i

nd ix

| |≅ ⋅

=∑ ⋅

∂∂

0

01 (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′f (x)

∆z

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 zf(x )

x

0

ii 1

n≤

∑=

∂∂

2. Fazer δx1=δx2=…=δxn=δy e por (2) vem dydz

f( x )

ix ix

f( x )i

n

⋅=∑

∂∂

0

01

3. ∂

∂∂

∂∂

∂f( x )

xx

f( x )x

xf( x )

xx

znn

n0

11

0

22

0∆ ∆ ∆

∆= = =L ≤ (Princípio das influências iguais)

Casos particulares

Considere os e.m.a. e e.m.r. das seguintes expressões:

z = x±y ∆z = ∆x + ∆y δz = xx y±

δx + yx y±

δy

z = xy ∆z = |y| ∆x + |x| ∆y δz = δx + δy

z = xy

∆z = 1y

∆x + - xy

∆y δz = δx + δy

z=xp (p é exacto) ∆z = px xp 1− ∆ δz = | p | δx

z=ln x ∆z = δx δz = 1 xln

δx

z=ax (a>0 é exacto) ∆z = | ax ln a | ∆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 = 7.3410 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),

δz = 1

10 < 3 ou 4 a.s.

05 107

0 72 10 05 102

4 3.. .

×≈ × × ⇒

−− −

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

7.33510 ≤ z ≤ 7.34510

1.2205063... ≤ z ≤ 1.2206726...

Logo 7.3410 = 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 b0 ∆b Supondo que o erro é positivo vem:

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 é, x0 tem 2 c.d.c e 6 a.s.c. ao aproximar x (

x∈[1475.535,1475.545]) e 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 83 8 99 35 83

3

+= − = − ×

e se calcular os seus valores usando a aproximação 8 2 8= . 3 , obtém-se:

( )( )

1

3 850465472 10

3 8 4 913 10

99 35 8 5 10

33

3 3

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 é, normalmente, diferente de y. Isto é, ao substituir-se o

cálculo de f por um algoritmo aproximado f

~ ( )y f xa=

a comete-se um erro que interessa

quantificar. Se f: X→ Y é contínua em X então pode-se interpretar que , isto

é, é o resultado exacto que se obteria aplicando f a e em que é um valor

aproximado de x. Então se y≠0, por (3), pode-se obter a expressão

~ (~)y f x=

~x~y ~x

δy yy

f x xf x

xx

= ≈′∆ ∆

| |( )( )

.| |

que relaciona os erros máximos relativos do dado e do resultado. O valor

cond ( ) =f x f x xf 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 , tal que f~x a (x)=f( ), for próximo de x e instável, se não for

suficientemente proximo de x.

~x ~x

Exemplo 1: Se f x x f x x f x( ) ( ) ( )= ′ =−10

910

110

110

1 e cond = < , isto é a função

é bem condicionada

Exemplo 2: Se f(x)=1-x f’(x)=-1 e cond f(x)=−−

xx1

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 grande e f(x) é bastante mal condicionada; no entanto, se

x f=12

12

, cond ( )x = e f(x) é bem condicionada.

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

m xb m x

= =≤ < ≠

0 01 01

se se

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,

0 9 9 10 9 011 01

11

.( ) ..

= ×∑ = ×−

=−

=

∞ i

i

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

( )x ba ii

i

n= ∑ −

=β 1

1

e

123 14243 Fr Q

( ) ( )x b b ba a ii

i

n÷ = + ∑− −

=β β1

1 2

2

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 2 1 2 2 0 1 2 1 0

Se x é fraccionário

( )x ba ii

i

n= ∑ −

1

e

123 14243 Int Fr

i( ) ( ) ( )x b ba a i

in× = + ∑ − −

=β β1

1

2

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

x = ± m × bt em que | |t b

b m b

q

p≤ −

≤ ≤ −

− −

111

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 fl x y x y fl x y x y( + ) = ( + ) ( + ); ( ) = ( ( + ); ( ) = ( ( +1 1δ δ× × ÷ ÷) ~ ) $)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.

Exercício1: Usou-se um computador e uma máquina para determinar para

x

S ii

= ∑=1

30000x

i =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