Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
20/DEZ/2004
Aula 3: [Cap. 1]
Ateno: O CAMPOS usa uma nomenclatura diferente!
Exemplo:
1. Denio do problema: Deve-se construir jardim quadrado com 5 m2 de rea. Qual
deve ser o lado?
5.
Algoritmo 1: RaizQuadrada
Entrada: n
Sada: x ( n)
1:
2:
3:
4:
xn
m
1
2
x+
n
x
1
2
3
4
5
6
7
No
xk
5
3
2.33333333333333
2.23809523809524
2.23606889564336
2.23606797749998
2.23606797749979
(xk )2
25
9
5.44444444444445
5.00907029478458
5.00000410606373
5.00000000000084
5.00000000000000
Matlab:
Exemplo:
>> pi
ans = 3.14159265358979
Exemplo:
(0.5)10 = (0.1)2 (representao binria nita)
(0.6)10 = (0.10011)2 (representao binria innita)
Exemplo:
>> 0.5 + 0.5 == 1.0
ans = 1
>> 0.4 + 0.3 + 0.2 + 0.1 == 1
ans = 0
Exemplo:
sin(x) = x
x3 x5 x7 x9
+
+
(srie innita)
3!
5!
7!
9!
3 Denies
1. Valor exato, x.
Valor de uma varivel. Em geral, a soluo de algum problema.
x = .
y = 2.
2. Valor aproximado, x.
Aproximao para o valor exato, impregnada de algum erro. Em geral, a resposta de
algum processo numrico. Valor estimado.
22
.
7
y = 1.4142.
x=
3. Erro, .
Diferena entre valor exato e aproximado. x = x + = x x.
22
3.14159265358979 3.14285714285714 = 0.00126448926735.
=
7
x x
.
=
x
7. Tolerncia, tol.
Valor mximo admitido para o erro. Em geral, usado como critrio de parada em algoritmos iterativos. Ex.: Repetir procedimento at que rel < |0.5 {z106}
tol
Erro exato
erro estimado
Como no possvel conhecer o erro exatamente sem conhecer o valor exato x. Em geral
assumimos uma aproximao para o erro ou uma tolerncia para o erro.
Exemplo:
Determinar
x
= 53.
f1
f2
... ft
e1
e2
... ep
onde,
s representa os sinais + e .
f1 , f2 , ..., ft so os dgitos da parte fracionria f [0, 1) da forma (f )10 = (0.f1 f2 ...ft )2 .
e1 , e2 , ..., ep so os dgitos do expoente e [emin , emax ] da forma e = (e1 e2 ...ep )2 .
Assim os valores so representados na forma x = 1.f 2e .
No
portanto,
2. Com p = 11 dgitos so possveis 211 = 2048 combinaes que representam 2046 expoentes,
desde emin = 1022 ate emax = 1023, e valores especiais:
expoente
frao
representa
e = emin 1
e = emin 1
emin e emax
e = emax + 1
e = emax + 1
f =0
f 6= 0
0
0.f 2emin
1.f 2e
N aN
f =0
f 6= 0
>> 1/0
ans = Inf
>> 0/0
ans = NaN
>> realmax
ans = 1.7977e+308
>> 2 * realmax
ans = Inf (overflow)
>> realmin
ans = 2.2251e-308
5 Dicas e truques.
Exemplo:
Evitar overow. Como determinar o valor de x =
200!
?
75200
>> prod(1:200)
ans = Inf
>> 75^200
ans = Inf
>> prod(1:200) / 75^200
ans = NaN
1 2 3 200
200
Observe que x =
=
75 75 75 75
75 75 75
75
Escrever o script-le:
r = 1;
for i = 1 : 200
r = r * i/75;
end
r
Ao execut-lo, obtemos:
r = 0.7667
Exemplo:
Evitar soma de valores com grandezas muito diferentes.
Determinar y =
1
1
1
1
4
.
+
+
+
+
=
14 24 34 44
90
Exemplo:
Analisar a propagao
R 1 20dex erros (avanado!)
Determinar I20 = 0 x e dx.
Observe que
Z
In =
xn ex dx
[xn ex ]10
Z
n
0
= e nIn1 .
e obter
1.000000000000000
0.718281828459046
0.563436343081909
0.464536456131410
0.395599547801996
0.344684541647067
0.305490036929578
xn1 ex dx
0.274361533022419
0.249028031257275
0.228001515886295
0.210265153709797
0.195099983941486
0.181982037219722
0.170533307382937
0.160282217714995
0.153766345019126
0.104253963133900
0.841710492048851
-13.274217520469100
268.202632237842000
<- absurdo!