UI 1 an NC Integral

http://adl.anmb.

ro
Analiză numerică
Unitatea de înv are 1 ăţ
Erori
Timp mediu de studiu: 4 ore
Obiective:
1. Identificarea surselor şi a modalităţilor de apariţie a erorilor în derularea procesului
de soluţionare numerică a unei problem fizice
2. Precizarea criteriilor de clasificare şi recunoaşterea tipurilor de erori
3. Studierea propagării erorilor într-o aritmetică a virgulei mobile
Condiţionări: -
Cuprins
U.S. 1.1. Sursele şi clasificarea erorilor
U.S. 1.2. Analiza propagării erorilor într-o aritmetică a virgulei mobile
U.S. 1.1. îşi propune abordarea etapelor rezolvării numerice a unei probleme fizice
concrete (PF), a surselor şi a modalităţilor de clasificare a erorilor în procesulmodelării
numerice a PF.
U.S. 1.2. va urmări:
- Descrierea reprezentării numerelor reale în virgulă mobilă (VM);
- Examinarea modului de operare artimetică cu numere în VM;
- Analizarea efectului produs prin propagarea erorilor într-o aritmeticăa VM.
Bibliografie minimală
• L.A.Sporiş: “Analiză numerică”, Ed.ANMB, 2003
• T.A.Beu: “Calcul numeric în C”, Ed.Albastră, 2000
Bibliografie auxiliar : ă
• J.Stoer, R.Bulirsch: “Introduction to Numerical Analysis”, Springer Verlag, 2000
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 1
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Unitatea de studiu 1.1.
Sursele şi clasificarea erorilor
Timp mediu de studiu: 1 oră
Sarcini de învăţare: Prin parcurgerea acestei unităţi de studiu, studentul va fi capabil să:
• descrie etapele rezolvării prin simulare a unei PF;
• descrie exigenţele ce trebuie să fie satisfăcute în procesul modelării matematice,
respectiv discrete a unui model fizic;
• enumere principalele caracteristici ale unui algoritm;
• clasifice erorile d.p.v. al cauzalităţii şi să descrie sursele acestor erori, să clasifice
erorile d.p.v. al exprimării matematice
1.1.1. Preliminarii
Cel mai adesea, o teorie în matematică îşi are punctul de plecare în încercarea de
a rezolva o problemă generată de o situaţie din practică.
Pentru soluţionarea problemei fizice (PF), este necesară obţinerea unui model
matematic (PM), pe baza unei transformări simplificatoare, în deplină concordanţă cu
legile fundamentale ale fizicii, etc. şi pornind de la ecuaţiile fizicii matematice.
După realizarea acestuia, urmează o etapă în care suverane sunt metodele de
investigaţie pur matematice, cu scopul de a găsi răspuns la următoarele întrebări:
1) Este PM corect pusă?
2) Există o expresie analitică corespunzătoare mărimii ce caracterizează PF?
3) Există o manieră de a obţine soluţia PM, cu orice grad de precizie dorit?
Uneori, însă, se dovedeşte a fi dificil, dacă nu chiar imposibil de găsit o formulare
exactă a PM şi atunci, se preferă înlocuirea acesteia printr-o problemă aproximativă, dar
pentru care sunt cunoscute tehnici adecvate de abordare.
Cum principalele instrumente de calcul numeric sunt calculatoarele, prezintă interes
doar acele metode de rezolvare, ce se desfăşoară într-un timp finit şi într-un număr finit de
paşi, care furnizează o aproximare uniformă a soluţiei. De aceea, PM se reduce la o formă
pentru care soluţia se obţine în urma unui număr finit de paşi, adică la o problemă discretă
(PD). Discretizarea PM trebuie să aibă în atenţie, în principal, consistenţa şi robusteţea
soluţiei PD.
Pentru rezolvarea PD, se impune apoi, proiectarea unui algoritm (i.e. o succesiune
finită de operaţii elementare), din perspectiva realizării următoarelor deziderate:
- eficienţă (spaţiu de memorare alocat, timp de execuţie);
- convergenţă (i.e.
M D
0
P P lim ·
→ ∆
);
- adaptabilitate în propagarea erorilor.
Apoi, pe baza datelor experimentale şi cu ajutorul algoritmului, se va obţine soluţia PD.
Însă, majoritatea datelor furnizate de PF conţin o incertitudine în măsurători, ce se
va răsfrânge asupra acurateţii soluţiei. Tehnicile de analizare a acestor erori se aseamănă
cu cele folosite pentru a cerceta rezultatele calculelor şi erorilor produse în acestea, care
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 2
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
ţin atât de natura aproximativă a reprezentării datelor, cât şi de modalitatea de transcriere
corectă a algoritmului.
1.1.2. Sursele şi clasificarea erorilor
În principiu, metodele numerice permit controlul erorilor săvârşite în calcule, prin apelarea,
în speţă, la acele expresii matematice ce nu conţin operaţiile care le induc. Dar pe de altă
parte, aceste erori, mai precis, mărimea lor este decisiv influenţată de programator, de
experienţa şi stilul său de programare.
Pericolul apare în momentul în care erorile de calcul se acumulează, producând în
majoritatea cazurilor, vicierea rezultatelor. Pentru că de multe ori o eroare de program este
dificil de depistat şi corectat, se apelează la divizarea în subprograme, care să poată fi
testate rapid, prin confruntarea cu situaţii ale căror răspunsuri corecte le cunoaştem.
În consecinţă, având în vedere cele afirmate anterior, putem considera următoarea
clasificare a erorilor:
a) erori inerente (iniţiale);
b) erori de metodă;
c) erori de calcul
şi următoarea schemă, ce permite vizualizarea optimă a celor afirmate:
Erori de calcul
Erori inerente Erori de metodă

Erori de calcul
Exemplul 1.2.1.:
Considerăm un pendul care se pune în mişcare la momentul
0
t t ·
. Ne întrebăm
care va fi poziţia sa la momentul
1
t t · ?
Oscilaţia pendulului este descrisă de ecuaţia diferenţială: 0
dt
d
sin g
dt
d
l
2
2
· + +
ϕ
µ ϕ
ϕ
,
unde l reprezintă lungimea pendulului,
g
, acceleraţia gravitaţională, iar
µ
, coeficientul de
frecare.
Încă din start, înregistrăm o eroare inerentă, deoarece relaţia dintre viteză şi frecare
nu este liniară. O altă sursă de erori inerente este definirea următoarelor cantităţi:
( ) ( )
0 0 0
t , t , t , , g , l ϕ ϕ µ ′
.
Ecuaţia nu este rezolvabilă într-o formă explicită. Rezolvarea sa impune recurgerea
la o metodă ce va induce erori suplimentare.
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 3
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Date
PF PM PD
Rezulta
te
Analiză numerică
Considerăm acum: I , valoarea exactă a parametrului căutat (în situaţia noastră 
ϕ
la momentul
1
t ),
I
~
, valoarea ce corespunde descrierii matematice (în cazul nostru:
soluţia ecuaţiei calculată pentru
1
t ),
d
I
~
, soluţia obţinută printr-o metodă numerică fără
rotunjire,
*
d
I
~
, soluţia obţinută prin calcul aproximativ.
Atunci: I I
~
1
− · ρ este eroare inerentă, I I
~
d 2
− · ρ , este eroare de metodă,
d
*
d 3
I
~
I
~
− · ρ
este eroare de calcul, iar I I
~
*
d 0
− · ρ este eroare totală. Observăm că:
3 2 1 0
ρ ρ ρ ρ + + ·
.
1.1.3. Erori absolute. Erori relative
O noţiune-cheie în calculul numeric este aceea de eroare. În linii mari, în matematică, prin
eroare se înţelege diferenţa dintre valoarea exactă şi cea aproximativă a unei mărimi.
Pentru a realiza o cât mai bună cuantificare a erorilor, ce însoţesc metodele
numerice, vom considera:
Definiţia 1.3.1.:
Dacă
x
este valoarea exactă, iar x valoarea aproximativă a unui număr, atunci:
1)
x x
x
− · ∆
s.n. eroare absolută a aproximaţiei x . (1.1)
2)
x
x
x

δ ·
s.n. eroare relativă a aproximaţiei x . (1.2)
Observaţia 1.3.2.:
a) Uneori, se preferă pentru evaluarea erorii relative, următoarea formulă:

x
x
x

δ ·
(1.3)
b) Combinând (1.1) şi (1.2), obţinem:

( )
x
1 x x δ t ·
(1.4)
Exemplul 1.3.3.: Eroarea absolută şi eroarea relativă a valorilor unei funcţii reale de
variabilă vectorială.
Fie
( ) ∆ ∆
1 n
C f , R R : f ∈ → ⊆
şi n 1, i , x x x
i i i
· − · ∆ , erorile absolute ale
argumentelor acesteia,
i
x
, presupuse foarte mici în raport cu valorile aproximative
n 1, i , x
i
· . Atunci, obţinem:
( ) ( ) ( ) ( )
n 2 1 n n 1 1 n 2 1 n 1
x ,..., x , x f x x ,..., x x f x ,..., x , x f x ,..., x f f − t t · − · ∆ ∆ ∆
În diferenţa anterioară, dezvoltăm în serie Taylor primul termen şi neglijăm termenii
în care
i
x ∆
se află la o putere mai mare sau egală cu 2.
( ) ( ) ( )
∑ ∑
· ·



≤ t



n
1 i
i n 2 1
i
n
1 i
i n 2 1
i
x x ,..., x , x
x
f
x x ,..., x , x
x
f
f ∆ ∆ ∆
Împărţind ambii termeni ai inegalităţii anterioare cu
( )
n 1
x ,..., x f
, obţinem:
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 4
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
( ) [ ]
i
n
1 i
n 1
i
n
1 i
i
i
f
x x ,..., x f ln
x
x
f
x
f
∆ ∆ δ
∑ ∑
· ·



· ⋅



.
În particular, pentru 1 n · , se obţine:
( ) x f
f
′ ≈ ∆
şi ( ) [ ]
x
1
f
x f ln δ δ ≈ .
În continuare, vom evalua eroarea absolută şi pe cea relativă, care se comit în cazul
calculării valorilor unor funcţii elementare, pentru valori aproximative ale argumentului.
a) Funcţia putere:
( )
( )
¹
¹
¹
'
¹


⇒ ∈ ·

x f
x
1
f
x
R , x x f
δ δ
∆ α ∆
α
α
α
.
b) Funcţii trigonome trice:
( )
¹
¹
¹
'
¹

≤ ≈
⇒ ·
x ctg
, x cos
x sin x f
x f
x f x f
1
1
1 1
δ δ
∆ ∆ ∆ ∆
;
( )
¹
¹
¹
'
¹

≤ ≈
⇒ ·
x tg
, x sin
x cos x f
x f
x f x f
2
2
2 2
δ δ
∆ ∆ ∆ ∆
;
( )
x f
2
x f 3
3 3
,
x cos
1
tgx x f ∆ ∆ ∆ ∆ ≥ ≈ ⇒ ·
;
( )
x f
2
x f 4
4 3
,
x sin
1
tgx x f ∆ ∆ ∆ ∆ ≥ ≈ ⇒ ·
.
c) Funcţia logaritm:
( )
x
x
f
x
x ln x f δ

∆ · ≈ ⇒ · .
Având în vedere că
10 ln
x ln
x lg · , iar
434 , 0 e lg ≈
, avem: x x lg
434 , 0 δ ∆ ≈
.
De aceste rezultate trebuie să ţinem seama atunci când se folosesc tabelele de
logaritmi. În tabelele cu
n
zecimale, eroarea logaritmilor nu depăşeşte unitatea care se
găseşte pe locul
n
după virgulă, deci este mai mică decât
n
10
2
1

. Rezultă, de aici, că
eroarea relativă, ce afectează argumentul, nu depăşeşte
434 , 0
1
10
2
1
n
⋅ ⋅

i.e. aproximativ
egală cu
n
10

.
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 5
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Unitatea de studiu 1.2.
Analiza propag rii erorilor într-o ă
aritmetic a virgulei mobile (VM) ă
Timp mediu de studiu: 3 ore
Sarcini de învăţare: Prin parcurgerea acestei unităţi de studiu, studentul va fi capabil să:
• descrie reprezentarea unui număr real x într-un sistem poziţional cu baza de
numărare b;
• realizeze conversia unui număr real x din baza de numeraţie b într-o bază de
numeraţie c;
• definească: formatul virgule mobile (FVM), număr în (VM), funcţia de rotunjire şi
eroarea de reprezentare, o artimetică în VM;
• precizeze modul în care se execută operaţiile aritmetice cu numere în VM;
• analizeze propagarea erorilor într-o aritmetică a VM.
1.2.1. Reprezentarea numerelor reale
În acest §, ne vom ocupa de un aspect specific, elementar al calculului numeric, şi
anume, de modul de reprezentare al numerelor reale în memoria calculatorului.
Pentru început, vom reaminti bine cunoscuta reprezentare poziţională a numerelor
reale.
Fie 2 b , N b ≥ ∈ o bază de numeraţie şi ( ) { } 1 b ,..., 1 , 0 C − · mulţimea cifrelor din baza b .
Atunci, ( ) R x ∈ ∀ admite o unică reprezentare în baza b de forma:

n 2 1 0 1 2 n 1 n
a ... a a , a a ... a a x
− − − − −
· τ
(2.1)
unde { } 1 t ∈ τ şi
Z i , C a
i
∈ ∈
, ce nu se termină printr-o secvenţă infinită de cifre egale cu
( ) 1 b − .
Reciproc, valoarea reală a (2.1) este:

,
_

¸
¸
+ ·
∑ ∑

·

·


1 n
0 i 1 i
i
i
i
i
b a b a x τ
(2.2)
Exemplul 2.1.1.:
a) În baza 2, cifrele sunt 0 şi 1 .
Numărul în baza 10,
2 1
10 5 10 2 7 10 2 25 , 27
− −
⋅ + ⋅ + + ⋅ ·
, se reprezintă în baza 2 în modul
următor: ( )
2 1 2 3 4
2
2 1 2 0 1 2 1 2 0 2 1 2 1 01 , 11011
− −
⋅ + ⋅ + + ⋅ + ⋅ + ⋅ + ⋅ · .
b) În baza 16, cifrele sunt . F , E , D , C , B , A , 9 ,..., 1 , 0
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 6
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Ca un exemplu de conversie din baza 16 în baza 10, avem:
( ) 9375 , 1388 16 15 16 12 16 6 16 5 F , C 56
1 0 2
16
· ⋅ + ⋅ + ⋅ + ⋅ ·

.
Memoria finită a calculatorului conduce la o reprezentare cu precizie finită a unui
număr real. Există, în general, două modalităţi de reprezentare: în virgulă fixă (utilizată
pentru reprezentarea numerelor întregi) şi în virgulă mobilă sau flotantă (utilizată pentru
reprezentarea numerelor reale).
În cele ce urmează, ne vom ocupa de reprezentarea în virgulă mobilă. Prin natura
sa, această reprezentare este aproximativă (fiecare număr real este reprezentat printr-o
secvenţă finită de cifre). Cu toate acestea, ea trebuie să răspundă următoarelor exigenţe:
a) să asigure un domeniu consistent de numere reprezentate;
b) să determine existenţa unei erori relative de reprezentare suficient de mică;
c) să asigure o repartizare uniformă a erorii de reprezentare.
Cadrul în care se garantează satisfacerea acestor deziderate este formatul în
virgulă mobilă (FVM) , ce este definit de tripletul de parametri ( ) p , t , b , ce au următoarea
semnificaţie:
-
{ } 0 \ N b ∈
este baza de numeraţie în care se face reprezentarea (de regulă,
{ } 16 , 8 , 10 , 2 b ∈ ).
-
*
N t ∈
indică precizia reprezentării (adică numărul de cifre semnificative –
“lungimea mantisei”).
-
*
N p∈ este numărul de cifre ale exponentului.
Un număr în VM este o pereche ( ) e , f , unde
{ } C a , 1 , a ... a 0, f
i t 1
∈ t ∈ · τ τ
şi
0 a
1
≠ (condiţia de normalizare) s.n. mantisă, iar

[ ] Z U L, , Z U , L e , e ... e e e
p 2 1
∈ ∩ ∈ ·
fixaţi (2.3)
s.n. exponent.
Valoarea sa reală, este
( ) ( )
t e
t
2 e
2
1 e
1
e
t 1
e
b a ... b a b a b a ... a , 0 b f x
− − −
+ + + ⋅ · ⋅ · ⋅ · τ τ (2.4)
Observăm că 0 nu admite o reprezentare (2.3). Pentru a rezolva această problemă
şi pentru a putea reprezenta şi unele simboluri speciale, se alocă exponentului, valori
nesituate în [ ] U , L .
O altă observaţie extrem de importantă pe care trebuie să o facem, dacă ţinem cont
de (2.3) şi (2.4), este următoarea:

( ) ( ) ⇔ − − ≤ ≤ ⋅
U
cifre t
L
b 1 b ... 1 b , 0 x b 0 ... 10 , 0
   
( )
U t 1 L
b b 1 x b
− −
− ≤ ≤ (2.5)
ceea ce ne atrage atenţia asupra următorului aspect important al reprezentării într-un
FVM, fixat: nu orice număr real
x
admite o reprezentare (2.3), ci numai acele numere
situate în domeniul de reprezentabilitate propriu FVM considerat,
[ ] ( )
U t
not not
b b 1 M , M , M R

− · − ·
.
Considerăm, acum, mulţimea
{ x R x F ∈ ·
are reprezentare exactă în VM } { } 0 ∪ .
Se observă fără dificultate că această mulţime este finită şi în plus,
( ) ( ) 1 1 L U b 1 b 2 cardF
1 t
+ + − − ·

.
Exemplul 2.1.2.:
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 7
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Fie FVM ( ) -1 L , 1 , 3 , 2 · şi 2 U · .
Atunci, domeniul de reprezentabilitate este [ ] 5 , 3 ; 5 , 3 R · iar
¹
;
¹
¹
'
¹
t t t t t t t t t t t t t t t t · 3 , 2 , 1 ,
2
1
,
4
1
,
2
5
,
4
5
,
8
5
,
16
5
,
2
3
,
4
3
,
8
3
,
2
7
,
4
7
,
8
7
,
16
7
, 0 F
Ţinând cont de cele afirmate anterior, conchidem că: a reprezenta un număr real în
VM înseamnă a-i asocia un număr F x ∈ .Această asociere se realizează prin intermediul
funcţiei de rotunjire:

( )
e
b f x x fl , F R : fl ⋅ · · →
(2.6)
x
δ
în forma (1.3) se notează cu
r
ε şi s.n. eroare de reprezentare.
Există mai multe strategii de rotunjire. Asupra celor mai utilizate ne vom opri în
continuare.
Fie R x ∈ . Atunci, ţinând seama de condiţia de normalizare,
( )
e
1 t t 2 1
b ... a a ... a a , 0 x
+
·τ ( ) ( ) · + ⋅ ·

+ +
t e
2 t 1 t
e
t 2 1
b ... a a , 0 b a ... a a , 0 τ τ

t e e
b g b f

⋅ + ⋅ ·
(2.7)
unde
( )
t 1
not
a ... a , 0 f τ ·
şi
( ) ... a a , 0 g
2 t 1 t
not
+ +
· τ
satisfac următoarele relaţii:
1 f b
1
< ≤

şi
1 g 0 < ≤
(2.8)
Definiţia 2.1.3.:
a)
( )
¹
¹
¹
'
¹
·
≠ ⋅
· →
0 x 0,
0 x , b f
x fl , F R : fl
e
1 1
(2.9)
s.n. funcţia de rotunjire prin trunchiere.
b)
( ) ( )
¹
¹
¹
¹
¹
'
¹
·
≠ ⋅ t
≠ ⋅
· →
0 x 0,
0 x , b b f
0 x , b f
x fl , F R : fl
e t -
e
2 2
(2.10)
s.n. funcţia de rotunjire simetrică.
(
, +
dacă
- , 1 f sgn + ·
dacă
1 f sgn − ·
).
Exemple 2.1.4.:
Fie FVM ( ) 2 , 4 , 10 şi 734 , 12945 x · ,
9942 , 12944 y ·
.
Atunci
10 5734 , 0 10 1294 , 0 x
5
⋅ + ⋅ ·
, iar
1 5
10 49942 , 0 10 1294 , 0 y
+
⋅ + + ⋅ ·
.
a)
( ) 12940 10 1294 , 0 x fl
5
1
· ⋅ ·

( ) 12940 10 1294 , 0 y fl
5
1
· ⋅ ·
b)
( ) 12950 10 10 1294 , 0 x fl
1 5
2
· + ⋅ ·
+

( ) 12940 10 1294 , 0 y fl
5
2
· ⋅ ·
.
Suntem interesaţi în continuare, de obţinerea unei evaluări a erorii de reprezentare
r
ε (ştiut fiind că, în general, ( ) R x , x fl x ∈ ≠ ).
Propoziţia 2.1.5.:
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 8
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Dacă R x ∈ , atunci are loc inegalitatea:

t 1
r
b

⋅ ≤ µ ε
(2.11)
(unde
2
1
· µ pentru
2
fl , iar
1 · µ
pentru
1
fl ).
Demonstraţie:
Considerăm situaţia rotunjirii prin trunchiere. Analog, vom raţiona în cazul rotunjirii
simetrice.
( ) ( ) ( )( ) ( ) ≤ ⋅ − − ≤ ⋅ ≤ −
+ +
e e
2 t 1 t 1
b ... 1 b 1 b 0 ... 00 , 0 b ... a a 0 ... 0 , 0 x fl x

( ) ( )
( )
≤ ≤ ⇒ ·


≤ ⋅ + + − ≤



− −
− − − −
x
b
b
b 1
b 1 b
b ... b b 1 b
t e
r
t e
1
1 t
e 2 t 1 t
ε

( )
( )
t 1
t
e
t 2 1
t e
b
0 ... 10 , 0
b
b a ... a a , 0
b

− −
· ≤


.
Observaţia 2.1.6:
a) Cantitatea
t 1
b

⋅ µ
s.n. unitate de rotunjire, iar
t 1
b

s.n. epsilon-maşină.
b) Din (2.11), rezultă că:
( ) ( ) ρ + · 1 x x fl , unde
t 1
b

⋅ ≤ µ ρ (2.12)
1.2.2. Aritmetic în VM ă
Calculatoarele cu hardware dedicat operaţiilor în VM, sunt prevăzute cu instrucţiuni
ce fac posibilă implementarea acestora.
Operaţiile cu numere în VM diferă de cele aritmetice corespunzătoare, deoarece
rezultatul lor se află întotdeauna în mulţimea finită F . Astfel, în urma efectuării unor astfel
de operaţii se produc erori, numite erori de rotunjire.
Acumularea acestor erori este extrem de nocivă, putând determina degradarea
integrală a rezultatului. De aceea, analiza erorilor de rotunjire este cea mai importantă, dar
şi cel mai greu de realizat, dintre toate tipurile de erori.
Trebuie menţionat că, în urma efectuării calculelor în VM, se poate obţine ca
rezultat, un număr ce nu se află în domeniul de reprezentabilitate R . În această situaţie,
spunem că s-a realizat o eroare de depăşire (superioară dacă rezultatul M > şi inferioară,
în cazul: M − < ). În cazul erorii de depăşire superioară, rezolvarea constă fie în afişarea
unui mesaj de avertisment, fie în întreruperea calculelor; iar în cel de-al doilea caz, se
atribuie rezultatului valoarea 0.
În situaţia înregistrării unor nedeterminări ( ) ∞ ∞ ∞ ⋅ / ; 0 / 0 ; 0 , se atribuie rezultatului,
valoarea specială NaN (Not a Number). În particular, o operaţie implicând NaN, are
întotdeauna ca rezultat NaN.
Definiţia 2.2.1.:
Fie
R y , x ∈
şi
( ) ( ) F b f y fl y , b f x fl x
2 1
e
2
e
1
∈ ⋅ · · ⋅ · ·
. Presupunem că
2 1
e e ≥ .
Atunci:
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 9
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
a)
· ⊕ y x
( )
( ) [ ] ( ) [ ]
¹
¹
¹
'
¹
< + ≤ ⋅ +
< + ≤ ⋅ +
− − − −
− − −
1 b f f b b , b b f f b
1 b f f b , b b f f
1 2 1 1 2
1 2 1 1 2
e e
2 1
n 1 n e e e
2 1
n
e e
2 1
1 e e e
2 1
(2.13)
b)
y x ⊗
( )
( ) [ ] ¹
¹
¹
'
¹
< ⋅ ⋅ ⋅
< ⋅ ≤ ⋅
·
− − +
+
1
2 1
1 e e
2 1
2 1
1 - e e
2 1
b f f , b f f b
1 f f b , b f f
2 1
2 1
(2.14)
c) x Ø
· y
( )
( ) ¹
¹
¹
'
¹
≤ ⋅
< ≤ ⋅
+ −

f / f 1 , b bf / f
1 f / f b , b f / f
2 1
1 e e
2 1
2 1
1 - e e
2 1
2 1
2 1
(2.15)
( , , fl, F, ⊗ ⊕ Ø ) s.n. aritmetică în VM.
Observaţia 2.2.2.:
1. (2.13) - se aduce x şi
y
la exponentul cel mai mare, oprindu-se
t
cifre la mantisa
fiecăruia;
- se adună mantisele şi se normalizează rezultatul, păstrând
t
cifre.
2. (2.14) - se înmulţesc mantisele;
- se normalizează rezultatul, oprindu-se
t
cifre la mantisă;
- se adună exponenţii.
3. (2.15) - se împart mantisele;
- se normalizează rezultatul, oprindu-se
t
cifre la mantisă;
- se scad exponenţii.
4. Erorile de rotunjire depind de natura acumulatorului calculatorului. Dacă acesta este
simplu (i.e. se pot păstra
t
cifre semnificative), prin denormalizare (în cazul ⊕), se pierd un
număr de cifre egal cu diferenţa exponenţilor. Dacă acumulatorul este dublu (i.e. se pot
păstra t 2 cifre semnificative), la denormalizare nu se înregistrează nici o eroare.
5. ⊗ ⊕, sunt comutative, dar nu sunt asociative şi distributive.
Exemple 2.2.3.:
Fie FVM ( ) 2 , 4 , 10 şi
1
fl . Fie
4594 , 23 x
k
·
şi
469541 , 2 y ·
. Atunci:
2 2
10 94 , 0 10 2345 , 0 x

⋅ + ⋅ ·
şi
3 1
10 541 , 0 10 2469 , 0 y

⋅ + ⋅ ·
.
Avem:
( )
2
1
10 2345 , 0 x fl x ⋅ · ·
şi
( )
1
2
10 2469 , 0 y fl y ⋅ · ·
.
a)
· ⋅ + ⋅ · ⋅ + ⋅ · ⊕
2 2 1 2
10 0246 , 0 10 2345 , 0 10 2469 , 0 10 2345 , 0 y x

91 , 25 10 2591 , 0
2
→ ⋅ ·
.
b)
[ ] [ ]
2 1 2
10 5789 , 0 10 2469 , 0 10 2345 , 0 y x ⋅ · ⋅ ⊗ ⋅ · ⊗
.
c)
1531 x , 1531 x , 1234 , 0 x
3 2 1
− · · ·
.
4
3
4
2
0
1
10 1531 , 0 x , 10 1531 , 0 x , 10 1234 , 0 x ⋅ − · ⋅ · ⋅ · ⇒ şi

· ⋅ + ⋅ · ⋅ + ⋅ · ⊕
4 4 4 4
2 1
10 1531 , 0 10 0000 , 0 10 1531 , 0 10 00001234 , 0 x x


4
10 1531 , 0 ⋅ ·
.

( ) . 0 x x x
3 2 1
· ⊕ +
Dar
( )
1 3 2 1
x x x x · + ⊕
, de unde obţinem că ⊕ nu este asociativă.
1.2.3. Propagarea erorilor
Presupunem că s-a fixat o aritmetică a VM, ( , , fl, F, ⊗ ⊕ Ø ) .
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 10
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
Definiţia 2.3.1.:
S.n. calcul aproximativ, calculul care se desfăşoară într-o aritmetică a VM, iar în caz
contrar, s.n. calcul exact. Numere reale afectate de erori s.n. numere aproximative, iar în
caz contrar, s.n. numere exacte.
În cele ce urmează, vom considera ca axiomă afirmaţia: “În calculul aproximativ cu
numere aproximative, eroarea relativă este suma dintre:
a) eroarea relativă produsă de calculul aproximativ cu numere exacte
corespunzătoare;
b) eroarea relativă produsă de calculul exact corespunzător cu numere
aproximative”.
Considerăm operaţiile aritmetice de bază: / , , , ⋅ − + şi cele executate de calculator
( , , , ⊗ ⊕ Θ Ø ) .
Fie O, una din operaţiile din prima categorie şi O , versiunea ei, din cea de-a doua.
Dacă
R y , x ∈
şi
F y , x ∈
sunt aproximaţiile corespunzătoare, atunci eroarea rezultată în
urma calculului este:
( ) ( ) y o x y o x y o x xoy y o x xoy − + − · − (2.16)
Prima paranteză din membrul drept al relaţiei (2.16) reprezintă eroarea propagată, iar cea
de-a doua, eroarea de calcul.
Pentru analiza erorii propagate, vom examina următoarele cazuri:
1) Adunarea:
( ) ( ) ( ) ( )
y x
not
y x
e e y y x x y x y x + · t t · − + − · + − + ∆ ∆
iar
y x y x + · + şi y x y x
e e e + ·
+ .
Atunci,
y
e
y x
y
x
e
y x
x
y x
e
y
x
y x

+
+ ⋅
+
·
+
+
, de unde dacă ( ) 1 y x sgn · , avem:

y x y x
δ δ δ + ≤
+
(2.17)
2) Scăderea:
( ) ( )
y x
e e y x y x − · − − −


y x y x
e e e − ·
− .

y
e
y x
y
x
e
y x
x
y x
e
y
x
y x


− ⋅

·


.
Formula de mai sus este extrem de sensibilă la variaţiile termenilor. O diferenţă
y x −

foarte mică poate determina o eroare relativă în
y x −
foarte mare, ducând la ceea ce de
regulă, se numeşte neutralizarea termenilor. De aceea, de câte ori se poate, se evită
această situaţie, fie prin rescrierea expresiilor, fie prin schimbări de algoritm.
Exemple 2.3.2.:
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 11
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
a) În FVM ( ) 2 , 4 , 10 , considerând
1
fl şi 0001 , 0 0,6665, y ,
3
2
x
x
· · · δ şi
0
y
· δ
. Obţinem
astfel:
6666 , 0
y x
·

δ
. Deci, o eroare relativă în x de
4
10

, induce o eroare în
y x −

de 6 , 0 (i.e. o eroare relativă în date de 0,01%, duce la o eroare în rezultat de 60%).
b) În FVM ( ) 2 , 3 , 10 , considerăm
1
fl şi
dx
5 x
x
I
1
0
n
n ∫
+
·
. Observăm că
n
I
verifică următoarea
relaţie de recurenţă:
n
1
I 5 I
1 n n
· +

şi astfel, obţinem:

n

n
I
0 0,182 Apariţia rezultatului eronat se datorează acumulării
1 0,09 rapide a erorilor de rotunjire, provocate de diferenţa
2 0,05 unor numere apropiate
3 0,08
4 –0,165 - contradictoriu!
3) Înmulţirea:
( ) ( ) ( ) ( )
y x x y y x
e e ye xe e y e x y x y x y x + + · − − − ⋅ · ⋅ − ⋅
.
Dacă
1 ,
y x
<< δ δ
, atunci se neglijează factorul y x
e e
. Astfel, obţinem:
y x y x
δ δ δ + ·
(2.18)
4) Împărţirea:

y
x
...
y
e
y
e
1
y
e x
y
x
y
e
1 y
e x
y
x
e y
e x
y
x
y
x
2
y y
x
y
x
y
x

,
_

¸
¸
+

,
_

¸
¸
+ ⋅
+
· −

,
_

¸
¸
+
+
· −
+
+
· −
.
Cum
1
y
< δ
, seria din membrul drept este convergentă şi vom considera o aproximare
liniară a acesteia.
Astfel:

( ) ( )
2
y
2
y x
x
y
x
y
e x
y
e e
y
e
y
x
y
e
1
y
e x
y
x
y
x
− − · −

,
_

¸
¸

+
· −
.
Ca şi în cazul 3), de regulă, se neglijează termenul ce conţine y x
e e
. Atunci:

y x
y
x
δ δ δ − ·
(2.19)
În ceea ce priveşte eroarea de calcul, ( ) ( ) ( )
t 1
b , 1 y o x y o x fl y o x

≤ + · · µ ρ ρ şi avem
y o x b y o x y o x y o x
t 1−
≤ · − µ ρ (2.20)
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 12
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
de unde obţinem că eroarea de calcul, notată cu
r
, satisface inegalitatea

t 1
b r

≤ µ
(2.21)
În final, putem obţine următoarea evaluare generală:

t 1
y 2 x 1
t 1
y o x y o x
b k k b
− −
+ + ≤ + ≤ µ δ δ µ δ δ (2.22)
unde
y x
y
k ,
y x
x
k
2 1
t
·
t
·
în cazurile 1) şi 2) şi 1 k , 1 k
2 1
t · · , în cazurile 3) şi 4).
Autoevaluare
1. Se consideră următoarea situaţie:
2. Să se determine tipul de eroare prezentă în această situaţie.
Comparaţi răspunsul vostru, cu valoarea exactă p=0,2553074606
2. Completaţi următorul calcul şi depistaţi ce tip de eroare este prezentă în această
situaţie:
a)
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 13
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.
Analiză numerică
b)
3. Care este eroarea absolută înregistrată în calculul razei cercului înscris, r, în funcţie de
raza cercului circumscris, R, unui triunghi isoscel?
9 March 2013 Lector universitar doctor Ligia-Adriana SPORIŞ 14
© Academia Navală "Mircea cel Bătrân" (ANMB). Orice formă de copiere, stocare, modificare
şi/sau transmitere a acestui material fără acordul prealabil şi scris al ANMB este strict interzisă.

Sign up to vote on this title
UsefulNot useful