Documente Academic
Documente Profesional
Documente Cultură
1. Introducere
Calculul numeric este un domeniu situat la intersect ia dintre matematica
si informatica, cu o deosebita important a, atat pentru matematicieni cat si
pentru informaticieni.
Calculul numeric, a aparut odata cu aparit ia calculatorului, desprinzandu-
se din analiza numerica si ind cunoscut pe la mijlocul sec.XX sub numele de
arta a calculului. Ea are la baza disciplina matematica aplicativa Analiza
numerica.
Analiza numerica are ca scop elaborare de principii, metode si procedee
pentru aarea efectiva a solut iilor numerice a unor probleme, asigura o precizie
xata pentru aceste solut ii. Analiza numerica, urmareste sa elaboreze si o
teorie relativa la studiul preciziei cu care se pot obt ine solut iile aproximative
a unor probleme.
Procedeele de aproximare, studiate n cadrul analizei numerice au aparut
datorita faptului, ca n practica, solut iile exacte ale unor problemee nu se
pot determina, e nu sunt adecvate pentru calculele numerice. De cele mai
multe ori, solut ia aproximativa se determina folosind un sir de aproximat ii
succesive ale solut iei exacte. Un procedeu de aproximare trebuie sa posede
anumite caracteristici:
a. stabilitatea - este proprietatea care ne asigura ca variat ii mici ale
datelor de intrare, sa aiba ca efect variat ii mici ale solut iilor aproximative;
b. convergent a - ntr-un anume sens, al sirului de aproximat ii succe-
sive, catre solt ia exacta a problemei. Convergent a unui procedeu de aprox-
imare, nseamna din punct de vedere numeric posibilitatea de a aproxima
solut ia exacta cu orice precizie impusa. O alta caracteristica asociata cu
convergent a, o constituie viteza de convergent a, care se asigura obt inerea ntr-
un anume timp, a solut iei aproximative cu o precizie impusa.
Analiza numerica realizeaza o fundamentare matematica teoretica foarte
riguroasa, care poate utilizata pentru elaborarea unor algoritmi de calcul
care sa determine solut iile numerice a unei probleme, cu precizia dorita.
Folosind rezultatele de stabilitate si convergent a demonstrate n cadrul
analizei numerice, pentru diferite procedee de aproximare, algoritmii elaborat i
pot folosi diverse criterii de oprire, pentru a asigura precizia dorita a solut iei.
Calculul numeric, ca disciplina desprinsa si part ial nchisan cadrul analizei
numerice se ocupa cu elaborarea si implementarea unor algoritmi de calcul
pentru aarea cu o anumita precizie a solut iilor numerice a unor probleme.
Ca urmare, cursul de Calcul numeric va urmari:
1. Cunoasterea metodelor si procedeelor solut iilor numerice pentru diferite
probleme.
1
2. Cunoasterea rezultatelor de stabilitate si convergent a a diverselor
procedee de aproximare.
3. Studiul teoriei erorilor
4. Elaborarea unor algoritmi de calcul corespunzator metodelor si pro-
cedeelor studiate
5. Analiza complexitat ii algoritmilor studiate si realizarea unor comparat ii
ntre acestea
6. Implementarea acestor algoritmi folosind diverse metode (programare
structurata, programare orientata pe obiecte)
Probleme studiate n cadrul cursului se refera la
1. Teoria erorilor
2. Calculul cu diferent e nite si divizate
3. Aproximarea funct iilor
4. Derivarea numerica a funct iilor
5. Integrarea numerica a funct iilor
6. Rezolvarea sistemelor algebrice liniare
7. Rezolvarea ecuat iilor neliniare n R
8. Rezolvarea ecuat iilor algebrice
9. Rezolvarea ecuat iilor diferent iale
10. Determinarea vectorilor si valorilor proprii a unei motrice
11. Metode de tip Monte-Carlo
12. Metoda celor mai mici patrate
13. Metoda elementului nit.
2. Elemente de teoria erorilor
2.1. Tipuri de erori
Orice problema, a carei rezolvare este realizata cu ajutorul calculatorului
cont ine date de intrare, care sunt prelucrate folosind un anume algoritm pentru
a obt ine datele de iesire.
In problemele practice, datele de intrare sunt obt inuten urma unor masuratori,
cu o anumita precizie, ele reprezentand de fapt aproximat ii ale unor marimi
reale.
Valorile anumitor parametri de care avem nevoie n problemele practice
si nici justicat nu este necersar sa e cunoscute exact, ci doar cu un anume
grad de precizie. De exemplu, dimensiunile unor piese care urmeaza sua e
realizate ntr-o ntreprindere trebuie sa e determinate cu o precizie impusa
de tolerant ele piesei. Determinarea acestor dimensiuni cu o precizie mai mare
este inutila si nejusticata.
Pe de alta parte asa cumse cunoaste din teoria algoritmilor, operat iile care
constituie un algoritm trebuie sa e efective, adica sa poata executaten timp
nit. Aritmetica numerelor reale nu este efectiva. Prin urmare algoritmul va
2
lucra cu aproximat ii ale datelor reale. Solut iile obt inute si care reprezinta
datele de iesire ale algoritmului vor si ele afectate de erori, adica de abateri
de la solut iile exacte.
Aceste solut ii nu prezinta interes decat daca se poate evalua marimea ero-
rilor respective. Din acest motiv este necesara identicarea tipurilor de erori
care pot aparea, a modului de introducere si de propagare a erorilor n calcule.
Exista mai multe tipuri de erori ([Analiza numerica vol I], [4])
1. Erori n datele de intrare
2. Erori de rotunjire
3. Erori de aproximare
1. Erorile n datele de intrare nu sunt datorate calculelor. Ele pot aparea
ca urmare a imperfect iunilor masuratorilor zice ale datelor de intrare.
In
unele cart i de analiza numerica, aceste tipuri de erori apar sub numele de
erori inierente.
2.Erorile de rotunjire apar n calcule cu numere a caror reprezentare se re-
strange la un numar nit de zecimale (pentru a asigura proprietatea operat iilor
de a efective). Unii autori includ n cadrul acestor erori si erorile obt inute
prin neglijarea ultimelor cifre a reprezentarii unui numar, erori pe care le mai
numesc si erori de trunchiere.
Erorile de rotunjire si de trunchiere se mai numesc si erori generate ([1]).
1
= 3, 4567
n
2
= 3, 456782 n
2
= 3, 4568
n
3
= 3, 4567501 n
3
= 3, 4568
n
4
= 3, 4567500 n
4
= 3, 4568
n
5
= 3, 4566500 n
5
= 3, 4566
a
= x a (1)
se numeste eroare aproximat iei a a lui x. Daca
a
> 0 se spune ca a l
aproximeaza pe x prin lipsa. Daca
a
< 0 se spune ca a l aproximeaza pe x
prin adaos.
Relat ia
x =
a
+ a (2)
este o formula de aproximare.
In acest caz,
x
se mai numeste si corect ia
corespunzatoare aproximarii lui x prin a.
Denit ia 2.3. Valoarea
[
a
[ = [x a[ (3)
se numeste eroare absoluta
Eroare absoluta poate folosita pentru a compara ntre ele 2 aproximari
a
1
sau a
2
ale lui x. Daca [
a
1
[ < [
a
2
[ spunem ca a
1
este o aproximat ie mai
buna decat a
2
.
4
[
a
[ A > 0. Denit ia 2.4. Valoarea
a
= sup
aI(x)
[x a[ se numeste
eroare absoluta maxima.
a
=
[
a
[
[x[
, x ,= 0 (4)
Deoarece valoarea exacta a lui x nu se cunoaste n practica, pentru eroarea
relativa se foloseste aproximativa
a
=
[
a
[
[a[
, (5)
Daca [
a
[ este mica comparativ cu a, atunci aceasta aproximare este buna.
Eroarea relativa nu depinde de unitatea de masura. Eroarea relativa se
poate exprima si n procente n acest caz ea se numeste eroare relativa pro-
centuala si se obt ine cu formula
a
% = 100
a
(6)
Exemplu 2.1. Sa se determine o margine a erorii absolute daca se lucreaza
cu a = 2, 7182 n loc de e. O aproximat ie a lui e prin lipsa , respectiv prin
adaos, cu 5 cifre este 2,7182 si respectiv 2,7183. Avem
2, 7182 < e < 2, 7183 =[e a[ < [2, 7183 2, 7182[ = 0.0001.
Deci
a
= 0.0001.
Observat ie: Daca se cunosc o aproximare a
1
prin lipsa si una a
2
prin
adaos a unei marimi x, atunci este indicat a se lua aproximanta (a
1
+a
2
)/2 a
lui x, care l va aproxima pe x cu eroarea absoluta maxima
a
= (a
2
a
1
)/2.
a
=
0, 0001
2
= 0, 00005
Exemplul 2.2. Masurand o lungime cu o precizie de pana la n s-a obt inut
a
1
= 20km si masurand o alta lungime cu o precizie de pana la 0, 2cm s-a
obt inut a
2
= 0, 8m. Care masuratoare este de calitate mai buna?
5
Fie l
1
si l
2
valorile exacte ale lungimilor masurate. Avem [
a
1
[ = 1m;
a
2
= 0.2cm
a
1
=
[
a
1
[
l
1
[
a
1
[
a
1
=
1
20000
a
2
=
[
a
2
[
l
2
[
a
2
[
a
2
=
1
400
a
1
< a
2
.
Rezulta ca prima masuratoare este mai precisa.
2.3. Cifre semnicative
Denit ia 2.6. Prin cifre semnicative ale unui numar scris n baza b,
nt elegem oricare dintre cifrele 1, 2, ..., b 1 care pot sa intervina n scrierea
numarului respectiv. Cifra 0 este semnicativa daca scrierea nu are rolul de a
xa virgula zecimala sau de a completa locul cifrelor necunoscute din numar.
Cifra semnicativa cea mai din stanga a unui numar se numeste cifra cea mai
semnicativa.
Exemplul 2.3.
In numarul n
1
= 10204, toate cifrele sunt semnicative
cifra cea mai semnicativa a lui n
1
este 1.
In numarul n
2
= 0.000320 sunt semnicative numai ultimele 3. Daca 0 de
la sfarsit nu ar semnicativ se impune sa e omis.
Cifra cea mai semnicativa a lui n
2
este 3.
In numarul n
3
= 12000, toate
cifrele sunt semnicative daca cele trei zerouri de la sfarsit nu sunt folosite
numai pentru a indica ordinul de marime al numarului, cifrele efective de pe
acele pozitive ind necunoscute.
Denit ia 2.7. Daca b = 10 si avem pentru eroarea absoluta maxima a lui
x prin a, valoarea [
a
[
1
2
10
m
, spunem ca a l aproximeaza pe x corect
cu m zecimale.
Exemplul 2.4. Numarul n = 3, 25614572 este aproximat corect cu 6
zecimale de n
1
= 3, 256146, deoarece [
n
1
[ = 0, 00000028 = 0, 2 10
6
<
1
6
10
6
. Numarul n este aproximat corect cu 7 cifre semnicative.
Exemplul 2.5. Fie x = 199, 95 si a = 200. Avem [
x
[ = 0, 05 =
1
2
10
1
. Deci [
x
[ este mai mic sau egal decat jumatatea celei de a 4-a
cifre semnicative a numarului x, deci a l aproximeaza pe x cu 4 cifre
semnicative exacte, desi cifrele lui x si a sunt total diferite. Din acelasi
motiv a l aproximeaza pe x cu o zecimala exacta.
Exemplul 2.6. Rotunjirea cu 5 cifre semnicative a numerelor n
1
=
205.364; n
2
= 0.002003551; , n
3
= 123457 este n
1
= 205.36; n
2
= 0.0020036; n
3
=
123450.
Teorema 2.1. Daca un numar x, reprezentat ntr-o baza b se rotungesste
cu n cifre semnicative conform regulii cifrei pare, atunci se obt ine un numar,
6
care l aproximeaza pe x corect cu n cifre semnicative.
2.4. Propagarea erorii
Doua probleme importante la care teoria erorilor ne ajuta sa raspundem
sunt:
1. Cu ce precizie se pot obt ine rezultatele unor calcule efectuate cu nu-
merele afectate de erori cunoscute;
2. Cat de precise trebuie sa e numerele aproximative utilizate n diverse
calcule, pentru ca rezultatele sa e obt inute cu o precizie data.
Fie x = (x
1
, ..., x
n
) R
n
si a = (a
1
, ..., a
n
) o aproximat ie a lui x. Rezul-
tatul unor calcule efectuate cu (x
1
, ..., x
n
) se poate exprima folosind o funct ie
f : R
n
R. Prima problema formulata, poate enunt ata sub forma care este
eroare absoluta si relativa, f si respectiv f cand se aproximeaza f(x) prin
f(a).
Erorile f si f se numesc erori propagate, deoarece ne spun cum se
propaga eroarea init iala pe parcursul calcularii lui f.
d = f(x
1
, ...x
n
) f(a
1
, ..., a
n
) = f(a
1
+ a
1
, ..., a
n
+ a
n
) f(a
1
, ..., a
n
).
Folosind formula lui Taylor si t inand cont ca daca erorile x
i
sunt foarte
mici, atunci produsele a
i
, a
j
sunt neglijabile comparativ cu a
i
obt inem
f
n
i=1
a
i
f
x
i
(a
1
, ..., a
n
) (7)
Eroarea relativa este data de
f =
f
f
n
i=1
(b
n
f(x))
x
i
(a
1
, ..., a
n
) a
i
de unde obt inem,
f =
n
i=1
(b
n
f(x))
x
i
(a
1
, ..., a
n
) a
i
(8)
Pentru eroarea absoluta putem scrie
[f[
n
i=1
[a
i
[
f
x
i
(a
1
, ..., a
n
)
(9)
Exemplul 2.8. Sa se calculeze o margine a erorii absolute si relative
pentru aria sferei cu raza egala cu 5 0.01cm si 3, 14.
7
Marimile aproximative care intervin n problema sunt raza r si numarul .
Deci n formulele (2.12) si (2.13) vom avea n = 2; a
1
= r; [r[ = 0.01cm;
a
2
= ; [a
2
[ 0.001, deoarece = 3.1415.
Aria=2r . Deci f(x
1
, x
2
) = 2x
1
x
2
,
f
x
1
= 2x
2
;
f
x
2
= 2x
1
f
x
1
(a
1
, a
2
) = 2a
2
= 2 3 14 = 6 28;
f
x
2
(a
1
, a
2
) = 2a
1
= 2 5 = 10;
[a
1
[ = [r[ = 0.01
[a
2
[ = 0.002
[f[ = [A[ 0.01 6.28 + 0.002 10 = 0.0628 + 0.02 = 0.0828
Intervalul de incertitudine a lui A este 31.4 0.0828
(b
n
(2x
1
x
2
))
x
1
=
1
2x
1
x
2
2x
2
=
1
x
1
(b
n
(2x
1
x
2
))
x
2
=
1
2x
1
x
2
2x
1
=
1
x
2
f =
1
a
1
[a
1
[ +
1
a
2
[a
2
[ =
1
5
0.01 +
1
3.14
0.002.
Pentru a raspunde la a doua problema formulata n aceasta sect iune, vom
folosi o metoda bazata pe principiul efectelor egale.
Problema se poate forma. Fiind dat > 0 si valorile a
1
, ..., a
n
aproximative
pentru x
1
, x
2
, ..., x
n
si ind date niste calcule cu valorile aproximative a
1
, ..., a
n
,
exprimate prin intermediul funct iei f : R
n
R, sa se determine valorile pentru
a
i
si a
i
astfel ncat f < sau f < .
f
x
i
(a
1
, ..., a
n
)
f
x
i
(a
1
, ..., a
n
)
(10)
Analog
a
i
=
f
n
a
i
(b
n
f(x))
x
i
(a
1
, ..., a
n
)
(11)
8
Exemplul 2.9. Un con are raza r 1m, nalt imea h = 2m. Cu ce erori
absolute trebuie determinate r, h si , astfel ca volumul sa poata calculat cu
o eroare mai mica decat 0.01m
3
.
Aplicam principiul efectelor egale
V =
r
2
h
3
= f;
consideram 3, 14, n = 3
a
1
= r = 1; a
2
= h = 2; a
3
= = 3, 14
f(x
1
, x
2
, x
3
) =
x
2
1
x
2
x
3
3
f
x
1
=
2x
1
x
2
x
3
3
;
f
x
1
(a
1
, a
2
, a
3
) = 2 1 2 3.14 = 12.56
f
x
2
=
x
2
1
x
3
3
;
f
x
2
(a
1
, a
2
, a
3
) =
1 3.14
3
=
3.14
3
= 1.046
f
x
3
=
x
2
1
x
2
3
;
f
x
3
(a
1
, a
2
, a
3
) =
1 2
3
=
2
3
a
1
= r
0.01
3 12.56
= 0.003
a
2
= h
0.01
3 1.05
= 0.003
a
3
=
0.01
3
2
3
= 0.005
Exercit iul 2.10. Fie S = f(x
1
, ...x
n
) = x
1
+ ... + x
n
. Se pune problema
aproximarii sumei S prin
s = a
1
+ ... + a
n
conform relat iei (2.12) avem
s =
n
i=1
[a
i
[.
Deci eroarea absoluta a unei sume nu poate mai mica decat eroarea
absoluta maxima a termenului cel mai put in exact.
De aceea pentru a aduna numere cu exactitate diferite (numar de zeci-
male exacte) se procedeaza astfel: pentru a aduna numerele x
1
, x
2
, ..., x
n
se
determina numerele y
1
= x
i
1
, ..., y
k
= x
i
k
, corespunzatoare celei mai slabe ex-
actitat i (cu cele mai put ine zecimale exacte). Celelalte se rotunjesc la o cifra
9
e un rang cu o unitate mai mare decat rangul ultimei cifre a unuia dintre nu-
merele y
1
, ..., y
k
. Se calculeaza suma numerelor astfel obt inute si se rotunjeste
rezultatul cu o cifra.
Tema: Sa se reia exemplul 2.10 pentru cazul diferent ei, produsului, catului
si al unei puteri reale.
Exemple similare pentru cazul operat iilor realizate cu numere n virgula
mobila pot n [4, pag. 27-36]
2.5. Reprezentarea n virgula otanta
x
b
e
[ b
n1
ulps (14)
Eroarea relativa ce corespunde la
1
2
ulps este
1
2
b
n
1
2
ulps
b
2
b
n
(15)
valoarea
eps =
b
2
b
n
(16)
se numeste epsilonul masinii.
Ulps sunt mai potrivite pentru erorile de rotunjire, iar erorile relative pen-
tru rezultatele diferitelor expresii. Pentru exprimarea valorilor mici ale erorii
relative se folosesc multiple de eps.
11
Exemplul 2.7. Fie x = 24.35, pe care vrem sa l reprezentam n virgula
mobila, cu parametrii b = 10 si n = 3. Reprezentarea lui e data de a =
2.44 10
1
. Eroarea relativa este de
x
=
[24.35 24.4[
24.35
=
0.105
25.75
=
5
2435
=
1
487
eps =
b
2
b
n
=
10
2
10
3
= 5 10
3
=
5
1000
=
1
200
.
Deci
x
= 0.4eps.
Eroarea exprimata n ulps este
2.44
24.35
10
10
2
ulps = 0.005 10
2
= 0.5ulps
Daca vrem sa calculam
y = 4x = 97, 4
Reprezentarea pentru y = 4a = 9, 76 10
1
. Eroarea relativa se ment ine
aceeasi
y =
0, 2
97, 4
=
1
487
= 0, 4eps =
x
Eroarea exprimata n ulps este
9.76
97.4
10
10
2
ulps = 0.02 10
2
= 2ulps
References
[C2] Gh. Coman - Analiza numerica, Ed.Libris, Cluj-Napoca, 1995;
[C1] Gh. Coman - Analiza numerica, lucrari de laborator;
[S1] D.D.Stancu - Curs si culegere de probleme de analiza numerica, partea
I-a, UBB Cluj Napoca, 1977;
[S2] D.D.Stancu, Gh.Coman, O.Agrotim, R.Trunbatros - Analiza numerica si
teoria aproximarii, Vol I, Presa universitara clujeni, Cluj-NHapoca, 2001.
[U1] C. Uberhuber - Numerical computation. Methods, Software and Analysis.
Vol I, II, Springer verlog, Berlin, Heidelberg, New York, 1997.
12