Exerc´ıcio
2.5 Efeitos Num´ ericos
2.5.4 Mal Condicionamento
A maioria dos processos num´ericos seguem a seguinte linha geral:
• Dados s˜ao fornecidos,
• Os dados s˜ao processados de acordo com um plano pr´e-estabelecido (algoritmo),
• Resultados s˜ao produzidos.
Analisaremos aqui problemas onde os resultados dependem continuamente dos dados. Tais problemas s˜ao chamados de problema bem posto. Problemas que n˜ao dependem continuamente dos dados s˜ao chamados deproblema mal posto.
Vamos ent˜ao analisar como pertuba¸c˜oes nos dados podem ou n˜ao influenciar os resultados.
Exemplo 2.18 - Resolver o sistema:
x + y = 2 x + 1.01y = 2.01
Solu¸c˜ao: A solu¸c˜ao desse sistema pode ser facilmente obtida, por exemplo, por substitui¸c˜ao. Fazendo isso, obtemos: x = y = 1. Se o n´umero 2.01, da segunda equa¸c˜ao ´e mudado para 2.02, obtemos que a solu¸c˜ao do sistema ´e agora x=0 e y=2. Portanto uma pequena mudan¸ca nos dados produz uma grande mudan¸ca no resultado. Vamos ent˜ao interpretar geometricamente o resultado. A solu¸c˜ao do sistema ´e o ponto de interse¸c˜ao das duas retas: y = 2-x e y = (2.01 -x)/1.01. Essas retas est˜ao desenhadas na Figura 2.1. ´E claro que o ponto de interse¸c˜ao ´e muito sens´ıvel a pequenas pertuba¸c˜oes em cada uma dessas retas desde que elas s˜ao praticamente paralelas. De fato, se o coeficiente de y na segunda equa¸c˜ao
´
e 1.00, as duas retas s˜ao exatamente paralelas e o sistema n˜ao tem solu¸c˜ao. Isto ´e t´ıpico de problemas mal condicionados. Eles s˜ao tamb´em chamados de problemascr´ıticos, pois ou possuem infinitas solu¸c˜oes ou n˜ao possuem nenhuma.
Figura 2.1 (1,1)
y= (2.01−x)/1.01 y= 2−x
@
@
@
@
@
@ 6
-Exemplo 2.19 - Determinar a solu¸c˜ao do problema de valor inicial:
y00 = y y(0) = a y0(0) = b ondeae bs˜ao dados.
Solu¸c˜ao: A solu¸c˜ao te´orica desse problema de valor inicial ´e:
y(x) = C1ex+C2e−x, (2.7)
onde C1 e C2 dependem de a e b. Assim, se tomarmos a = 1 e b = −1, ent˜ao desde que y0(x) = C1ex−C2e−x, obtemos o sistema linear:
y(0) = C1+C2 = 1 y0(0) = C1−C2 = −1
cuja solu¸c˜ao ´e: C1 = 0 e C2 = 1. Substituindo esses valores em (2.7) obtemos quey(x) = e−x. Logo, quandox→ ∞a solu¸c˜ao decresce rapidamente para zero. Mas se tomarmosa= 1 eb=−1 +δ, onde|δ|
pode ser arbitrariamente pequeno, ent˜ao, como anteriormente, obtemos o sistema linear:
C1+C2 = 1 C1−C2 = −1 +δ cuja solu¸c˜ao ´e: C1=δ
2 eC2= 1−δ
2. Assim a solu¸c˜ao do novo problema de valor inicial ´e:
y(x) =δ
2ex+ (1−δ
2)e−x=e−x+δ
2(ex−e−x) =e−x+δ senh x .
Portanto a solu¸c˜ao difere da solu¸c˜ao do problema anterior de δ senh x. Assim a caracter´ıstica matem´atica da solu¸c˜ao foi mudada completamente, pois enquanto no primeiro resultado a solu¸c˜ao→0, quandox→ ∞ela agora→ ∞quandox→ ∞. Tudo isso ocorreu apesar da dependˆencia dey(x) sobre os dadosaebser claramente cont´ınua.
Torna-se ent˜ao necess´ario introduzir uma medida para o grau de continuidade de um problema. Tal medida ´e essencial em muitas defini¸c˜oes de continuidade. Seja X o espa¸co dos dados; os elementos x de X podem ser n´umeros, pontos de um espa¸co euclidiano, vetores, matrizes, fun¸c˜oes, etc.... Podemos ent˜ao falar em continuidade se pudermos ser capazes de medir a distˆancia entre os elementos de X.
Suponhamos que o espa¸coX est´a dotado com uma fun¸c˜ao distˆancia d(x, y) que mede a distˆancia entre os elementosxey deX. Se por exemplo, X ´e o espa¸co dos n´umeros reais, a fun¸c˜ao distˆancia ´e definida por: d(x, y) =|x−y|. Para X=IRn, veja Defini¸c˜ao 1.7.
Seja P o processo nos quais os dadosx s˜ao transformados no resultado y, isto ´e: y = P(x). Se o processoP ´e cont´ınuo num pontox, ent˜ao a defini¸c˜ao de continuidade (matem´atica) exige que para cada >0, ∃ δ()>0 tais que:
|P(˜x)−P(x)|< sempre que |x˜−x|< δ().
Quanto maior a fun¸c˜aoδ() pode ser escolhida, mais cont´ınuo ´e o processoP. No caso em que grandes mudan¸cas nos dados produzem somente pequenas mudan¸cas nos resultados, ou seδ() pode ser escolhido grande, a condi¸c˜ao do problema ´e boa, e o problema ´e chamadobem condicionado. Por outro lado, se pequenas mudan¸cas nos dados produzem grandes mudan¸cas nos resultados, ou seδ() deve ser escolhido pequeno, a condi¸c˜ao do problema ´e m´a, e o problema ´e chamadomal condicionado.
Exemplo 2.20 - Analisar o problema de valor inicial do exemplo 2.19.
Solu¸c˜ao: Se queremos que a solu¸c˜ao y(x) num ponto x seja mudada por n˜ao mais que uma quan-tidade , ent˜ao a condi¸c˜ao inicial y0(0) = −1 deve ser mudada por n˜ao mais que: δ() =
senh x, o qual pode ser feito arbitrariamente pequeno escolhendo x grande. Por exemplo parax= 10, obtemos:
δ() = 0.9×10−4. Assim temos um problema mal condicionado.
Podemos tamb´em verificar se um problema ´e ou n˜ao mal condicionado analisando o n´umero de condi¸c˜aodo problema. O problema ser´a bem condicionado se o n´umero de condi¸c˜ao for pequeno e ser´a mal condicionado se o n´umero de condi¸c˜ao for grande. Entretanto a defini¸c˜ao de n´umero de condi¸c˜ao depende do problema.
Sejay =P(x), com P diferenci´avel. Ent˜ao a mudan¸ca em y causada pela mudan¸ca em xpode ser aproximada, (no sentido do c´alculo diferencial) pelo diferencial de y, isto ´e: dy =P0(x) dx. Assim o comprimento de |P0(x)| do operador linear P(x) representa o n´umero de condi¸c˜ao do problema num ponto x. O n´umero de condi¸c˜ao relativa ´e definido por:
cr = |P0(x)|
|P(x)||.
Assim secr≤1 dizemos que o problema ´e relativamente bem condicionado.
Exemplo 2.21 - Analisar o problema de calcular:
f(x) =
ln 1 x
−1 8 ,
num pontoxqualquer.
Solu¸c˜ao: Desde quef ´e diferenci´avel o n´umero de condi¸c˜ao ´e simplesmente|f0(x)|. Assim:
f0(x) = −1 8
ln 1
x −9
8 −1/x2 1/x
= 1
8 x
ln 1 x
−9 8 ,
e o n´umero de condi¸c˜ao relativa ´e dada por:
cr =
f0(x) f(x)
= 1
8 x ln 1x .
Parax= 0, ex= 1 tanto o n´umero de condi¸c˜ao como o n´umero de condi¸c˜ao relativa s˜ao infinito, e assim nestes pontos o problema ´e extremamente mal condicionado. Para aproximadamente 0.1537≤x≤ 0.5360,cr≤1. Portanto neste intervalo o problema de calcularf ´e bem condicionado.
O problema de resolver um sistema linear, como vimos, ´e um outro exemplo de problema onde pequenas pertuba¸c˜oes nos dados podem alterar de modo significativo o resultado. A an´alise do problema de mal condicionamento de sistemas lineares, encontra-se no Cap´ıtulo 4.
Teoricamente, o termo mal condicionado ´e usado somente para modelos matem´aticos ou problemas e o termo instabilidade somente para algoritmos. Entretanto, na pr´atica os dois termos s˜ao usados sem distin¸c˜ao.
O leitor interessado em maiores detalhes sobre os t´opicos apresentados nesse cap´ıtulo, deve consultar os livros: [Forsythe, 19 .. ] e [Henrice, 1982].
Exerc´ıcios
2.13 - Considere a integral do exerc´ıcio 2.13, coma= 10.
a) Calculey0 usando a integral.
b) Mostre que uma rela¸c˜ao de recorrˆencia para yn ´e dada por:
yn = 1
n−a yn−1 . c) Calculeyn, n= 1,2. . . ,10, usando a rela¸c˜ao de recorrˆencia.
Os valores obtidos s˜ao confi´aveis?
2.14 - Considere agora a rela¸c˜ao de recorrˆencia do exerc´ıcio anterior escrita na forma:
yn−1 = 1 a−
1 n−yn
.
Considere ainda que y20 = 0. Usando este dado e a rela¸c˜ao de recorrˆencia obtenha os valores de y10, y9, . . . , y1. Os resultados agora s˜ao melhores? Como vocˆe explica isso?
2.6 Exerc´ıcios Complementares
2.15 - Dados os n´umeros: (13.44)5, (122.35)6, (31.202)4. Existe algum com representa¸c˜ao exata no sistema F(2,10,10,10)?
2.16 - Considere o sistemaF(2,8,4,4) e os n´umeros x1 = 0.10110011×22 e x2= 0.10110010×22. Qual dos dois n´umeros representa melhor(2.8)10?
2.17 - Seja o sistemaF(2,3,−1,2). Exiba todos os n´umeros represent´aveis neste sistema e coloque-os sobre um eixo ordenado.
2.18 - Considere o sistemaF(2,8,10,10). Represente no sistema os n´umeros:
x1=√
8, x2=e2, x3= 3.57, onde todos est˜ao na base 10. Existe algum com representa¸c˜ao exata nesse sistema?
2.19 - Mostre que sex´e um n´umero no sistemaF(β, t, m, M)ent˜ao x¯ = x(1 +δ)onde|δ| ≤ 1 2β1−t. 2.20 - Mostre que 1
2β1−t´e o melhor limitante para|δ|.
2.21 - Efetue as opera¸c˜oes indicadas, utilizando aritm´etica de ponto flutuante com 3 algarismos signi-ficativos.
a) (19.3−1.07)−10.3 e 19.3−(1.07 + 10.3) , b) 27.2×1.3−327.×0.00251 ,
c) 10.1−3.1×8.2 14.1 + 7.09×3.22 ,
d) (367.+ 0.6) + 0.5 e 367.+ (0.6 + 0.5) , e) P100
i=10.11 . (Compare seu resultado com100×0.11) . 2.22 - Deseja-se calcular:
S =
10
X
k=1
2 k2 ,
no sistemaF(10,3,5,4), usando arredondamento em todas as opera¸c˜oes. Assim, efetue a soma:
a) da direita para a esquerda, b) da esquerda para a direita, Os valores obtidos ema)ebs˜ao iguais?
2.23 - Usando arredondamento para 4 d´ıgitos significativos, efetue as opera¸c˜oes indicadas, e escreva o resultado na forma normalizada.
a) 0.5971×103+ 0.4268×100 , b) 0.5971×10−1−0.5956×10−2 , c) 0.5971×103
0.4268×10−1 ,
d) (0.5971×103)×(0.4268×100),
2.24 - Usando arredondamento, a cada opera¸c˜ao efetuada, calcule:
n
X
i=1
i2 −
n
X
i=2
i2 = 1, somando os termos em:
a) ordem crescente, b) ordem decrescente.
Considere n= 100. Os valores obtidos s˜ao iguais?
2.25 - Deseja-se calculare−0.15.
a) Obtenha atrav´es de uma calculadora o valor exato dee−0.15.
b) Considere o sistemaF(10,5,10,10)e a s´erie truncada em 25 termos. Calcule:
b.1) e−0.15 b.2) 1
e0.15
e compare os resultados.
2.26 - Sea, be cs˜ao reais ea6= 0, ent˜ao a equa¸c˜ao
a x2 + b x + c = 0,
´
e satisfeita para exatamente dois valores de x:
(I)
x1 = −b + √
b2 −4 a c
2 a ,
x2 = −b − √
b2 − 4 a c
2 a .
Entretanto, desde que, a x2+b x+c = a (x−x1) (x−x2) obtemos que: a x1 x2 = c e assim podemos reescrever (I) na seguinte forma:
(II)
x1 = −b + sinal de (b)√
b2 − 4a c
2 a ,
x2 = c
a x1 , Temos ainda quex1 e x2 podem ser escritos como:
(III)
x1 = −2c
b + √
b2 − 4 a c ,
x2 = c
a x1 .
Utilizando (I), (II) e (III) calcule as ra´ızes das equa¸c˜oes para os valores dea, b ec dados a seguir:
i) a = 1 ; b = −105 ; c = 1 , ii) a = 1 ; b = −4 ; c = 3.9999999 ,
iii) a = 6 ; b = 5 ; c = −4 .
2.27 - A fun¸c˜ao de Bessel satisfaz a seguinte rela¸c˜ao de recorrˆencia:
Jn+1(x)−2 n
x Jn(x) +Jn−1(x) = 0 .
Se x= 1, J0(1) = 0.7652 e J1(1) = 0.4401, calculeJn(1) paran= 2,3, . . . ,10. Refa¸ca os c´alculos come¸cando com valores mais precisos: J0(1) = 0.76519769 e J1(1) = 0.44005059. Como vocˆe explica seus resultados com o fato que Jn(1)→0 quandoncresce?
2.28 - Fa¸caJ10(1) = 0 e J9(1) =µ. Use a f´ormula do exerc´ıcio anterior, na forma:
Jn−1(1) = 2nJn(1)−Jn+1(1) . e calcule J8(1), J7(1), . . .. Encontreµatrav´es da identidade:
J0(x) + 2J2(x) + 2J4(x) + 2J6(x) +. . . = 1,
e calcule J9(1), J8(1), . . . , J0(1). Como esses resultados se comparam com os valores exatos?