Sunteți pe pagina 1din 13

Curs 2

Teoria erorilor
2.1 Sursele i clasificarea erorilor. n rezolvarea numeric a unei probleme deosebim - n general - trei feluri de erori: 1) Erori inerente (iniiale). Aceste erori provin din: simplificarea modelului fizic pentru a putea fi descris printr-un model matematic; problemei; 2) Erori de metod (de trunchiere) care se datoreaz preciziei insuficiente a metodei folosite. Majoritatea metodelor necesit un numr mare de operaii aritmetice (adesea un numr infinit!) pentru a ajunge la soluia exact a problemei. Acest fapt necesit trunchieri (renunarea la o mulime - eventual infinit - de operaii) i aproximaii; 3) Erori de rotunjire (de calcul) care apar n datele de intrare, n calculele pe parcurs i n datele de ieire. Astfel, datele de start nu pot fi numere cu o infinitate de cifre deoarece nu putem opera cu acestea. Se nltur multe cifre - eventual o infinitate - rotunjind numerele date, prin reinerea unui numr finit de cifre. Pe parcursul calculelor numrul cifrelor crete i se impune de asemenea rotunjirea. Chiar rezultatul final se rotunjete reinndu - se un numr de cifre corespunztor preciziei dorite. In memoria interna a unui calculator numeric se foloseste reprezentarea in virgula mobila, in forma normalizata. Orice numar real se scrie msurtori iniiale; calcule anterioare; datele

x = m be , m < 1 unde m este un numar real numit mantisa, b > 0 (b 1) este baza sistemului de numeratie, iar e (intreg) este exponentul. In forma

normalizata , mantisa este cuprinsa in intervalul

[b 1 ,1)

(b 1 m 1) . Mantisa se obtine deplasand virgula in fata primei cifre nenule ce apare in scrierea numarului (in baza b). Exponentul se ia egal cu numarul de pozitii cu care s-a deplasat virgule precedat de semnul + daca deplasarea s-a facut de la drapta la stanga, si de semnul daca deplasarea s-a facut de la stanga la dreapta. Exceptie de la acesta regula de reprezentare este numarul zero. Prin urmare, un numar real cu mai multe cifre semnificative este rotunjit la numarul de cifre maxim, lucru care se realizeaza prin rotunjirea mantisei.

Eroarea total se compune din cele trei erori:

Eroarea total = erori inerente + erori de metod + erori de rotunjire.


Pentru o anumit metod numeric de rezolvare a unei probleme, eroarea inerent i eroarea metodei constituie eroarea ireductibil care nu poate fi influenat de exactitatea efecturii calculelor.

Un numr aproximativ real i pozitiv scris n baza 10 are forma

a=a110n+ a210n-1+ a310n-2+...+am10n-m+1,

unde 0 ai 9,

i = 1, m ,

n Z, ai fiind cifrele numrului a n sistemul zecimal.

Cifrele (semnele) unui numr aproximativ a care se iau n considerare n calcul, se numesc cifre semnificative.

Definiia 1.1.1. Se numesc cifre semnificative ale unui numr


aproximativ a, cifrele nenule precum i cele nule care sunt situate ntre cifre nenule sau care indic ordinele pstrate n calcule (ordinele semnificative).

Exemplul 1.1.1 La numrul a=5 10 -3+0 10 -4+0 10 -5+3 10 -6+0 10 7

=0,005003000 cifrele semnificative sunt subliniate. Primele trei cifre sunt

nesemnificative, ele indicnd doar poziia virgulei; ultimele dou cifre nu sunt semnificative deoarece a conine cifre pn la ordinul de mrime 10-7. Fie k numarul de cifre semnificative. Presupunem ca b=10. Atunci, un numar x se va scrie x = m 10 e + n 10 ek m , n [0.1,1) , unde n contine cifrele care nu pot fi incluse in mantisa m. Rotunjirea se face simetric (de obicei), adica se inlocuieste n = 1 daca n 0.5 , n = 0 daca n < 0.5. In acest fel marginea erorii relative este n 10 ek / m 10 e 5 10 k . Erorile cu marginea data sus se fac la introducerea numerelor reale in memoria calculatorului numeric.

Regulile uzuale de rotunjire cu completare sunt 1. Dac prima cifr, la care se renun, este mai mare dect 5, atunci ultima dintre zecimalele (cifrele) pstrate se mrete cu o unitate. Exemplu: 159.28 159.3

2. Dac prima cifr, la care se renun, este mai mic dect 5, atunci ultima dintre zecimalele (cifrele) pstrate se menine nemodificat. 3. Dac prima dintre cifrele abandonate, este egal cu 5 i printre cifrele la care se renun exist cifre nenule, atunci ultima cifr pstrat se mrete cu o unitate. Exemplu: 159.45157 159.5; 159.45024 159.5. 4. Dac prima dintre cifrele abandonate este egal cu 5, dar toate celelalte, care urmeaz sunt nule, atunci ultima cifr pstrat rmne neschimbat, dac este par i se mrete cu o unitate, dac este impar Regula numerelor pare se bazeaz pe urmtorul raionament: numerele pare se divid exact cu mai multe numere dect cele impare, deci sunt mai puin afectate de erori. Exemplu: 159.4500 159.4; 159.7500 159.8.

2.2 Masuri ale erorii Erori absolute i erori relative Eroarea absolut = valoare aproximativ - valoare exact Eroarea relativ =eroarea absoluta/valoare exacta Din aceste definiii se obine: Valoare aproximativ = (valoare exact )(1 + eroare relativ)
Eroarea absolut nu ine seama de ordinul de mrime al valorilor comparate. De exemplu, o eroare n centimetri este mai important dac lungimea calculat este de 100 cm, dect dac este de 100 km. De aceea, eroarea relativ se raporteaz la valoarea real. Adesea eroarea relativ se exprim n procente: Eroarea absoluta/valoare exacta * 100 %

De obicei valoarea exact nu este cunoscut. De aceea nici eroarea (absolut sau relativ) nu poate fi calculat, i doar se estimeaz valorile limit ale acesteia. Se utilizeaz majorani pentru modulul erorii (sau norma erorii, dac se lucreaz ntr-un spaiu normat).

Definitie 1.1.1 Fie X un spatiu liniar normat, A X si x X . Un element


x * A se numeste aproximanta a lui x din A (notatie x * x ).

Definitie 1.1.2 Daca x * este o aproximanta a lui x diferenta x = x x * se


numeste eroare, iar x = x x * se numeste eroare absoluta. Eroarea absoluta nu caracterizeaza intotdeauna precizia.

Observatie Eroarea absoluta se masoara in aceleasi unitati de masura, in


timp ce eroarea relativa nu are dimensiuni si se exprim in procente.

Exemplu: Distanta Bucuresti- Ploiesti (60 km) masurata cu o eroare de 6 m


inseamna o eroare relativa de 0.01% in timp ce o cladire de 60 m masurata cu o aceeasi eroare inseamna o eroare relativa mult mai mare de 10%.

Prin urmare:

Definitie 1.1.3 Expresia

x =
se numeste eroare relativa.

x x

, x0

Observatii
1. Deoarece in pratica x este necunoscut, se foloseste aproximarea
x x*

x =

Daca x este mic comparative cu x * , atunci aproximanta este buna.


5

2. Daca X=R, se lucreaza cu x =

x si x = x * x . x

Erori apriori i erori aposteriori


S presupunem c dorim s calculm y = f(x), unde f : R R, dar obinem o valoare aproximativ y*.

Eroare apriori = x = x* - x Eroare aposteriori = y = y* - y, unde f(x*) = y*.


De exemplu, dac aproximm y prin y* = 1.4, eroarea aposteriori absolut este | y | =| y* - y | = | 1.4 - 1.41421| 0.0142 iar eroarea aposteriori relativ este aproximativ 1%. Pentru a calcula eroarea apriori, observm c 1.96 =1.4. Eroarea apriori absolut este | x | =| x* - x | = | 1.96 - 2 | 0.04, iar eroarea apriori relativ este aproximativ 2%.

Analiza erorilor apriori


Ideea analizei erorilor din punct de vedere a erorilor apriori este urmtoarea: soluia aproximativ este soluia exact a unei probleme modificate. Soluia aproximativ se consider "bun" dac este soluie exact pentru o problem cu datele "uor" perturbate. Deseori eroarea apriori este mai uor de estimat dect eroarea aposteori

Condiionarea numeric. Factor de condiionare.


Problema se numete bine condiionat dac variaiile relative ale soluiei au acelai ordin de mrime cu variaiile relative ale datelor de intrare ce le cauzeaz. Problema este ru condiionat dac modificrile relative care au
6

loc n soluiei pot fi mult mai mari dect cele ale datelor de intrare.

Factorul de condiionare se definete prin:


cond =

variatia relativa a solutiei variatia relativa a datelor de intrare

S revenim la calculul y = f(x), unde f : R R. S presupunem c se obine valoarea aproximativ y*. Fie x* cu proprietatea c f(x*) = y*. Avem f ( x* ) f ( x) f ( x) x* x x y y = x x

cond =

.Problema este ru condiionat, dac factorul de condiionare cond >> 1. Factorul de condiionare acioneaz ca un "factor de amplificare" legnd eroarea aposteriori de eroarea apriori: | eroarea relativ aposteriori | = cond | eroarea relativ apriori | De obicei factorul de condiionare nu este cunoscut exact i poate varia n funcie de datele de intrare. De aceea se utilizeaz o estimaie margine superioar pentru cond. Deci | eroarea relativ aposteriori | < cond | eroarea relativ apriori |. Considerm un exemplu de estimare pentru factorul de condiionare. S presupunem c se evalueaz funcia f pentru data de intrare aproximativ x* = x + x n locul datei exacte de intrare x. Eroarea absolut aposteriori este
f ( x + x ) f ( x ) f ' ( x ) x

iar eroarea relativ aposteriori este

f ( x + x) f ( x) f ' ( x)x f ( x) f ( x)

Factorul de conditionare este


f ' ( x ) x xf ' ( x) f ( x) cond = x f ( x) x

Stabilitatea algoritmilor Un algoritm de rezolvare a unei probleme este


stabil daca rezultatul produs este solutia exacta a celeeasi probleme cu datele usor perturbate. In cazul algoritmului stabil efectul erorii de calcul nu este mai puternic decat efectul erorii (mici) a datelor de intrare.

Acuratetea se refera la apropierea solutiei calculate de solutia exacta a


problemei. Stabilitatea algoritmului nu garanteaza acuratetea, dar ea depinde in egala masura de buna conditionare a problemei si de stabilitatea algoritmului.

2.3 Propagarea erorilor de calcul


Considerm urmtoarea problem tipic: calculul valorii unei funcii f : R R pentru un argument dat. Fie: x = valoarea de intrare exact x* = valoare de intrare aproximativ f(x) = rezultatul dorit f* = funcia aproximativ de calcul Eroarea total este dat de: f*(x*) - f(x) = (f*(x*) - f(x*)) - (f(x*) - f(x)) Deci

Eroare total = eroare de calcul + eroare propagat a datelor,


8

unde,

Eroare de calcul = f*(x*) - f(x*) Eroare a datelor = x* - x.


Algoritmul nu are nici un efect asupra erorii propagate a datelor. Consideram doua numere x si y introduse cu erorile x , respectiv y . x = x* + x y = y* + y

Propagarea erorilor la adunare


Presupunem ca se efectueaza suma numerelor

x + y = x* + y * + x + y
astfel incat eroarea relativa la sumare este

y* x* = = x + * y ( x + y* ) x* + y * x* + y * ( x* + y * )
adica o suma ponderata a erorilor introduce la reprezentarea in calculator a cantitatii sumate. Notam cu s eroarea introdusa suplimentar la reprezentarea sumei x * + y * . Eroarea relativa totala la sumare, ts , va fi

x+ y

x + y

y* x* ts = * x + * y + s ( x + y* ) ( x + y* )

Propagarea erorilor la scadere


Presupunem ca se efectueaza scaderea numerelor

x y = x* y* + x y
astfel incat eroarea relative la scadere este

y* x* = x + * y = x y* x* y * x* y * x* y *

x y

x y

adica o diferenta ponderata a erorilor introduce la reprezentarea in calculator a diferentei. Notam cu d eroarea introdusa suplimentar la reprezentarea diferentei x * y * . Eroarea relative la scadere,

y* x* td = * x * y + d . (x y* ) ( x y* )
Exemplu Fie x=2/3, y=0,6665 si k=4. Sa se calculeze td . Avem

x * =0,6666
*

y * =y

2 0,6666 xx y y* 3 x = * = = 0,0001 y = = 0. x 0,6666 y*

td =

0.6666 2 0,6666 3

0,0001 + d

Aceasta eroare relativa a lui x-y se propaga in toate calculele ulterioare.

Propagarea erorilor la inmultire


Presupunem ca se efectueaza produsul numerelor

xy = ( x * + x )( y * + y ) = ( xy)* + y * x + x * y unde s-a neglijat produsul x y considerat ca avand un ordin de marime sufficient de mic. Eroarea la inmultire este
xy /( xy )* = x / x * + y / y * = x + y .

Deci la inmultire erorile introduce initial se aduna. Pot aparea noi erori, deoarece produsul xy poate avea un numar de cifre semnificative mai mare

10

decat cel admis, necesitand o noua rotunjire. Notand cu p acesta noua eroare, vom obtine eroarea totala tp la inmultirea a doua numere

tp = x + y + p ,
iar ca margine a erorii

tp x + y + p < 15 10 k
acoperitoare deoarece erorile se compun dupa legi probabilistice. Eroarea totala la calculul expresiei E = ( x + y ) z a carei valoare aproximativa este ( x * + y * ) z * este

tE = x * /( x * + y * )x + y * /( x * + y * )y + s + p + z ,
cu marginirea

tE 15 10 k [( x * + y * )] / x * + y * + 3] .

Propagarea erorilor la impartire


Presupunem ca se efectueaza impartirea numerelor
2 x* + x x* + x = 1 y / y * + ( y / y * ) .... x / y = ( x + x ) /( y + y ) = * * y (1 + y / y ) y * *

Deoarece seria este convergenta, exprimand-o liniar, obtinem x* x x* x/ y * + * 2 y . y x y* Eroarea la impartire este x / y x y = . x* / y * x* y * Notand cu j noua eroare datorata impartirii si cu tj eroarea totala la impartirea a doua numere obtinem
11

tj = x y + j .

2.4 Norme de vectori si matrice


Calculul erorilor implica de obicei calculul de distante in anumite norme asa incat ne vom referi in continuare la principalele tipuri de norme pentru vectori si matrice. Fie V un spatiu vectorial : in cursul de fata ne vom referi la V ca fiind R n sau C n . Norma unui vector x V este aplicatia . : V R+ , satisfacand axiomele : 1. x 0 si x = 0 x = 0 ; 2. x = x , scalar din R sau C. 3. x + y x + y

Exemple de norme ale unui vector utilizate in curs


x

= max xi
i =1, n

norma maximum sau norma infinit norma-1


1/ 2

x 1 = xi
i =1

xi

n 2 = xi i =1

norma euclidiana

Fie An multimea matricilor de forma n n cu elemnte reale sau complexe. Norma unei matrice A An este o aplicatie . : An R+ care satisface axiomele 1-3 si in plus avem 4. A B A B

12

5. A x A x , unde x este un vector. Normele care satisfac 5. se zic compatibile cu norma vectorului. Exemple de norme ale matricelor :

A = max aij
i j

A 1 = max a ij
j i

A 2 = [ ( A* A)]1 / 2 unde A* = A (A- conjugat transpus), = max i ,


i

unde i sunt valorile proprii ale matricei si se numeste raza spectrala a matricei.

13

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