Extras din curs
Cap. 1. Erori numerice
O caracteristică a calculelor inginereşti care, în prezent, folosesc intensiv metode numerice constă în utilizarea numerelor aproximative. Un număr aproximativ reprezintă un număr apropiat de cel exact în limita unei erori. Eroarea numerică absolută se defineşte ca diferenţa dintre numărul exact (necunoscut) x şi cel aproximativ X:
e = |x – X| (1.1)
Eroarea relativă se defineşte prin raportarea erorii absolute la singura valoare cunoscută, adică la numărul aproximativ X:
ε = e / X = |x – X| / |X| (1.2)
Propagarea şi amplificarea acestor erori în cursul evoluţiei unei aplicaţii numerice poate conduce la instabilităţi numerice şi poate face ca o aplicaţie corectă din punct de vedere logic să fie inutilizabilă. Pentru o corectă rezolvare a unei probleme numerice, atât în faza de analiză cât şi în faza de testare a aplicaţiei trebuie cercetate cu atenţie sursele de erori şi modul de generare şi propagare al acestora.
Clasificarea erorilor numerice se face după sursa lor de apariţie:
ERORI - inerente
- din date: - provin fie din introducerea greşită a datelor de către utilizator, fie din faptul ca datele constituie rezultatul unor măsurători eronate.
- de modelare: - provin din faptul ca modelarea matematică a fenomenului fizic se face de cele mai multe ori prin simplificarea acestuia din urmă.
- de metodă - provin din faptul că de cele mai multe ori metoda numerică care reproduce modelul matematic este aproximativă. Însă, aceste erori sunt de regulă cunoscute şi controlabile.
- de reprezentare - provin din modul de stocare a numerelor în memoria calculatorului, respectiv prin utilizarea unui număr finit de cifre semnificative la reprezentarea numerelor iraţionale.
Despre erorile inerente şi cele de metodă discuţia trebuie purtată pe teme specifice legate de tehnicile de măsurare şi stocare a datelor, de natura modelelor matematice folosite şi de metoda numerică aplicată. Deoarece aceste discuţii sunt deosebit de ample şi depăşesc cadrul cursului de faţă, în continuare vom încerca să ne formăm o imagine despre modul de generare şi propagare a erorilor de reprezentare.
În cazul calculelor cu numere reale, care se reprezintă sub forma parte_întreagă . parte_zecimală, nu este posibil întotdeauna să se reprezinte toate zecimalele numărului ci numai un număr limitat dintre acestea.
Fie cazul unui număr real care este trunchiat (rotunjit) la n zecimale.
În funcţie de situaţie, rotunjirea poate fi făcută prin adăugare sau prin lipsă dar nu va fi niciodată mai mare decât 0.5x10-n, deci se poate scrie:
e = |x – X|≤0.5x10-n (1.3)
Să vedem cum se propagă această eroare în calculele elementare ale metodelor numerice.
Dumitru Dragomir 2 Metode numerice – C1
În cazul adunării sau scăderii a două numere x1 şi x2:
x1=X1+e1, x2=X2+e2 (1.4)
x1±x2=x1±x2+e1±e2 ⇒e=(x1±x2)- (X1±X2)= e1±e2 |e|≤|e⇒1|+|e2| (1.5)
sau, altfel spus, eroarea maximă posibilă nu va depăşi:
max(|e|)=|e1|+|e2| (1.6)
Obs: valoarea de mai sus este cea mai mare posibilă, în funcţie de jocul numerelor putând să fie şi nulă.
De exemplu, fie operaţia:
5.37+4.83-6.24=3.96
Numerele implicate în operaţie pot proveni din valori afectate de operaţia de trunchiere dacă presupunem că calculatorul cu care efectuăm operaţia nu poate reprezenta decât două zecimale.
În acest caz eroarea absolută maimă este:
|emax|=0.005+0.005+0.005=0.015
deci intervalul de precizie se situează între 3.945 şi 3.975 valori care ar reprezenta limitele extreme ale rezultatului operaţiei aplicată asupra unor numere exacte necunoscute.
Preview document
Conținut arhivă zip
- Curs_1_Cap1_2_Erori_Implem.pdf
- Curs_11_12_Cap9_Integr_EcDif.pdf
- Curs_2_Cap3_SerTaylor_EvalPolin.pdf
- Curs_3_4_Cap4_5_Matr_SistLin.pdf
- Curs_5_6_Cap6_EcNelin.pdf
- Curs_7_8_Cap7_AproxFunc.pdf
- Curs_9_10_Cap8_Deriv_Integr.pdf