Documente Academic
Documente Profesional
Documente Cultură
Curs 2
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
[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.
unde 0 ai 9,
i = 1, m ,
Cifrele (semnele) unui numr aproximativ a care se iau n considerare n calcul, se numesc cifre semnificative.
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.
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).
Prin urmare:
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. 2. Daca X=R, se lucreaza cu x =
x si x = x * x . x
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%.
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
cond =
f ( x* ) f ( x) f ( x) x* x x
y y = x x
.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
usor perturbate. In cazul algoritmului stabil efectul erorii de calcul nu este mai puternic decat efectul erorii (mici) a datelor de intrare.
x + y = x* + y * + x + y
astfel incat eroarea relativa la sumare este
x+ y x* + y *
x + y x* + y *
y* x* 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
ts =
y* x* x + * y + s ( x* + y * ) ( x + y* )
x y = x* y* + x y
astfel incat eroarea relative la scadere este
x y 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,
td =
y* x* x * y + d . ( x* y * ) ( x y* )
Avem
x * =0,6666
*
y * =y
td =
0.6666 2 0,6666 3
0,0001 + d
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 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.
10
tE = x * /( x * + y * )x + y * /( x * + y * )y + s + p + z ,
cu marginirea
tE 15 10 k [( x * + y * )] / x * + y * + 3] .
x* + x x* + x 2 x / y = ( x + x ) /( y + y ) = * = 1 y / y * + ( y / y * ) .... y (1 + y / y ) 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
tj = x y + j .
11
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
= max xi
i =1, n
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 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
12
A 1 = max a ij
j i
unde i sunt valorile proprii ale matricei si se numeste raza spectrala a matricei.
13