Sunteți pe pagina 1din 4

Curs 1

CAP.1-NUMERE APROXIMATIVE.
ERORI IN CALCULUL NUMERIC
In toate problemele de prelucrare a datelor fizice si de calcul numeric se lucreaza cu
reprezentari aproximative si in plus calculele numerice conduc de obicei la solutii
aproximative si nu la solutiile matematice exacte. In unele cazuri erorile pot fi estimate si
chiar reduse iar in alte cazuri erorile pot ramane necunoscute si astfel se pierde increderea in
rezultatul final.
O metod de calcul este eficient atunci cnd precizia calculelor numerice este bun,
adic rezultatul numeric obinut este afectat de o eroare foarte mic.
Apar erori si din cauza necesitatii de reprezentare a numerelor printr-un numar finit
de cifre. Erorile de reprezentare exista si din cauza faptului ca un calculator lucreaza numai cu
unele numere rationale dintr-un interval dat. Toate aceste erori poarta denumirea de erori
inerente sau initiale si nu pot fi influentate de metoda de calcul (erori in date).
Exemple: 3,14 sau 3,14159
e 2, 718 sau e 2, 71828
2 1, 41 sau

2 1, 4142

O masurare fizica (distanta, timpul) nu poate fi exacta, de unde apare eroarea de


masurare.
Numerele transcendente (numerele care nu pot fi radacinile unui polinom cu
coeficienti rationali) si irationale nu au o reprezentare finita in nicio baza de numeratie.
Numerele rationale, in functie de baza de numeratie, pot avea sau nu o reprezentare finita.
Prin folosirea unei metode numerice in rezolvarea unei probleme se introduce un alt
tip de eroare, anume eroarea metodei, care poate fi influentata in sensul de micsorare prin
alegerea metodei celei mai adecvate.
In procesul de calcul mai apar erori de trunchiere si erori de rotunjire pe care le
numim erori de calcul.
*Erorile de trunchiere fac parte din categoria erorilor numite si erori de aproximare si apar,
de exemplu, prin retinerea dintr-o serie a unui numar finit de termeni
x2 x4 x6
cos x 1 ... ,
2! 4! 6!
termenii omisi, care constituie restul seriei, sunt in numar infinit si introduc o eroare in
rezultatul cautat, eroare de trunchiere, care depinde de numarul termenilor retinuti in calcule
si pe care nu o putem calcula exact dar o putem estima. Reprezentarea lui 1/3 sub forma 0,333
implica o eroare de trunchiere de aproximativ 3 10 4 .
*Erorile de rotunjire sunt date de capacitatea limitata a calculatorului de a memora numere.
Se poate micsora aceasta eroare prin marirea spatiului de memorie necesar pentru
inregistrarea variabilelor numerice. La analiza datelor sau in calculul numeric trebuie sa se
asigure un spatiu de memorare a variabilelor suficient de mare pentru ca erorile de rotunjire sa
nu depaseasca o anumita valoare maxima. Erorile au la origine faptul ca indiferent de
modalitatea de memorare, orice calculator nu poate reprezenta decat o multime finita de
numere.

Fie multimea A a1 , a2 ,..., aN cu a1 a2 ... a N . Spre exemplu, media aritmetica


dintre a i si a i 1 ne scoate din multimea A. De aceea calculatoarele folosesc functia de
rotunjire care asociaza fiecarui numar real cuprins intre a1 si aN pe cel mai apropiat element
din multimea A.

a
ai 1

i
ai , x ai , 2

rd : a1 , aN A (functia round-rotunjire), rd ( x)
.
a , x ai ai 1 , a
i 1

i 1
2

Exemplu: Avand o reprezentare in forma normalizata pentru trei zecimale exacte,


rd(0,1234)=0,123 si rd(0,1235)=0,124.
Observatie: Functia de rotunjire are efecte importante iar operatiile aritmetice isi pierd
proprietatile obisnuite, astfel: adunarea si inmultirea nu sunt asociative iar inmultirea nu este
distributiva fata de adunare.
Exemplu: x=0,1234; y=0,1231; z=0,123
rd(rd(x+y)+z) = rd(rd(0,1234+0,1231)+0,123) = rd(rd(0,2465)+0,123) = rd(0,247+0,123) =
rd(0,370) = 0,370 = 0,37
rd(x+rd(y+z)) = rd(0,1234+rd(0,1231+0,123)) = rd(0,1234+rd(0,2461)) = rd(0,1234+0,246) =
rd(0,3694) = 0,369
Se observa ca rd(rd(x+y)+z) este diferit de rd(x+rd(y+z)).
Eroarea de iteratie este introdusa la fiecare pas de calcul dintr-un algoritm iterativ,
bazat pe o formula de recurenta. Aceasta eroare apare deoarece solutia aproximativa este
utilizata pentru calcule in pasii urmatori. In acest fel eroarea de iteratie poate fi folosita pentru
controlul corectitudinii algoritmului iterativ. Un algoritm iterativ corect determina o scadere a
erorii de iteratie la fiecare pas de calcul si converge catre solutia exacta. Eroarea de iteratie
poate fi redusa pana la limita data de dispozitivul de calcul.
Eroarea totala se compune din eroarea inerenta, eroarea metodei si cea de calcul si
fiecare dintre ele poate fi exprimata sub forma de eroare absoluta si relativa.
Definitia 1: Fie a - valoarea aproximativa a numarului A , valoare rezultata in urma
unei masurari, a unui calcul numeric sau a unei observatii. Daca a A spunem ca a
aproximeaza numarul A prin lipsa, iar daca a A atunci aproximarea lui A prin a este prin
adaos.
Definitia 2: Eroarea absoluta a a numarului aproximativ a fata de valoarea
matematic exacta A este data de formula a A a , numita uneori si eroare absoluta limita
in situatia in care avem egalitate in relatia anterioara si putem scrie A a a .
Definitia 3: Se numeste eroare relativa ra a unui numar aproximativ a raportul
Aa

ra a
, cu a 0 din care putem deduce relatia A a(1 ra ) .
a
a

Observatii: 1) Daca se cunosc a si A calculul erorilor este imediat. De obicei se cunoaste


numai aproximarea a .
a
2) Uneori eroarea relativa se poate defini si ca raportul ra
, dar se prefera calculul erorii
A
relative ca in definitia 3 deoarece de cele mai multe ori nu se cunoaste valoarea matematic
exacta A .
a
0, 003 .
Exemple: 1) a 3,14 si A , avem A a 3,14 0, 01 a , ra
a
3
2) a 3,14 si A 3,141592 , a A a 3,141592 3,14 0, 001592 1,592 10 ,

ra

a A a

0, 000507 5, 07 104 .
a
a

3) a 999996 si A 1000000 se observa din calcule ca a ra .


4) a 0, 000009 si A 0, 000012 se observa din calcule ca a ra .
Definitia 4: Functia f : I R R are proprietatea lui Lipschitz daca () L>0 a. i.
f ( x ) f ( y ) L x y , () x, y I

Observatie: Daca f este o functie Lipschitz, atunci determinarea valorilor sale este stabila la
erori, adica variatii mici ale datelor de intrare conduc la variatii mici ale rezultatelor.
Exemplu: f : [0,1] R, f ( x) x 2 x 1 are proprietatea Lipschitz deoarece
f ( x ) f ( y ) 3 x y , () x, y [0,1]

Daca x [0,1] si y este valoarea aproximativa a lui x cu 2 zecimale exacte ( x y 10 ),


atunci:
f ( x) f ( y ) x 2 x 1 y 2 y 1 x 2 x y 2 y ( x y )( x y ) x y
2

( x y ) ( x y 1) x y x y
1 3 x y 3 102
Deci eroarea evaluarii lui f(x) este cel mult 3 10 2 . Inseamna ca eroarea nu depinde de
numarul x ci de precizia cu care acesta este cunoscut.
Observatii:
1) Orice functie Lipschitz este continua.
2) Reciproca observatiei anterioare este falsa deoarece, de exemplu, functia
f : [0,1] R, f ( x) x este functie continua dar nu are proprietatea Lipschitz.
Definitia 5: Definim numerele aproximative ca aproximarile numerice ale
parametrilor. In baza zece un numar aproximativ poate fi scris sub forma:
a a1 10m a2 10
m 1 ... an 10
m n 1 ,
a1 , a2 ,...an fiind cifrele zecimale ale numarului aproximativ a .
Cifrele nenule, cele nule cuprinse intre cifrele nenule sau care indica ordinele pastrate in
calcule poarta denumirea de cifre semnificative.
3 2 10
4 1105 0,03021 ,
Exemplu: a 3 102 0 10
Are primele doua cifre de zero si eventualele zerouri de la urma drept cifre nesemnificative.

Problema erorilor de rotunjire apare daca un calculator opereaza cu numere


fractionare. In acest caz reprezentarea interna a numerelor se face prin forma denumita
virgula mobila.
Un numar scris in virgula mobila este compus dintr-o fractie numita mantisa si un
intreg numit exponent.
N M b e ,
unde M - mantisa numarului, b - baza sistemului de numeratie, e - exponentul numarului.
Exemple:
64,35 0, 6435 10 2
0, 00167 0,167 102
Definitia 6: Un numar reprezentat in virgula mobila este normalizat daca prima cifra
din mantisa este diferita de zero.
Observatie: In sistemul zecimal N M be si N este normalizat daca

1
M 1.
10

Operatii de adunare sau scadere:


1-se aduc la exponentul cel mai mare
2-se aduna mantisele
3-se normalizeaza mantisa sumei obtinute, daca este cazul.
Exemplu:
N1 232, 4 0, 2324 103
N 2 35, 4 0,354 102 0, 0354 10
3
N1 N 2 0, 2678 103
Analog la inmultire se inmultesc mantisele, normalizam, exponentul produsului este
suma exponentilor.
Orice rezultat din cele 4 operatii poate fi descompus in doua parti, astfel:
R M 10e P 10
es ,
1
M 1,
unde M - are s cifre in mantisa unui numar reprezentat in virgula mobila,
10
0 P 1 , deoarece nu stim daca P este normalizat sau nu, P poate fi chiar zero, P contine
cifrele care nu pot fiincluse in mantisa M .
Rotunjirea lui M este intotdeauna in functie de valoarea lui P . Trebuie inclus si
cazul in care P este neglijat total, atunci M nu se modifica in niciun fel, operatie numita
taierea sau limitarea rezultatului. Acest tip de rotunjire induce o eroare mai mare decat regula
obisnuita de rotunjire.
Eroarea relativa maxima apare cand P este mare si M este mic.
1
M 1 si 0 P 1 , atunci valoarea absoluta a erorii relative este
Stiind ca
10

P 10e s 1 10
e s
rR R

10 s 1 101 s ,
R
M 10e
0,1 10
e
si nu depinde de marimea numerelor ci numai de numarul cifrelor din mantisa.

S-ar putea să vă placă și