Documente Academic
Documente Profesional
Documente Cultură
Obiective curs.
- Crearea, analiza i implementarea de algoritmi pentru rezolvarea problemelor din matematica
continu
- Analiza complexitii, analiza i propagarea erorilor, condiionarea problemelor i stabilitatea
numeric a algoritmilor problemelor numerice
- Prezentarea metodelor numerice clasice i a celor moderne de rezolvare a problemelor tiinifice i
inginereti
- Alegerea celor mai potrivite metode numerice pentru o problem dat
Coninut curs.
Reprezentare n virgul mobil. Standardul IEEE 754 pentru numere reale. Condiionarea
problemelor i stabilitatea numeric a algoritmilor.
Rezolvarea sistemelor de ecuaii liniare prin metode gaussiene. Pivotare parial i total. Factorizare
LU.
Propagarea erorilor n rezolvarea sistemelor de ecuaii liniare.
Metode iterative de rezolvare a sistemelor de ecuaii liniare
Interpolare polinomial. Polinom de interpolare Lagrange. Diferene divizate. Polinom Newton.
Eroarea interpolrii.
Interpolare cu funcii spline. Interpolare trigonometric.
Aproximare uniform. Polinoame Cebev. Algoritmii lui Remes.
Aproximare continu i discret n sensul celor mai mici ptrate.
Rezolvarea sistemelor n sensul celor mai mici ptrate. Factorizare QR.
Metodele Householder, Givens, Gram-Schmidt
Integrare numeric. Metode Newton-Cotes. Metoda Romberg. Integrare gaussian. Polinoame
ortogonale. Integrale improprii.
Integrarea ecuaiilor difereniale ordinare. Metode Runge-Kutta.
Metode multipas explicite i implicite. Predictor-corector.
Convergena metodelor multipas
Valori proprii i vectori proprii. Metodele puterii
Algoritmul QR cu deplasare explicit. Descompunerea valorilor singulare
2
Aplicaii ale calculului numeric.
1. Determinarea curenilor ntr-un circuitul electric n regim staionar:
R
1
=2
1 2
R
2
=3
R
3
=4
I
1
I
2
I
3
E
2
=18
E
1
=10
conduce prin aplicarea legilor lui Kirchhoff, la un system de ecuaii liniare:
= +
= +
= +
18 4 3
10 4 2
0
3 2
3 1
3 2 1
I I
I I
I I I
cu soluia I
1
=1, I
2
=2, I
3
=3
2. Modelul Leontieff consider economia format din n sectoare independente: S
1
,S
2
,, S
n
. Fiecare
sector consum bunuri produse de celelalte sectoare (inclusive cele produse de el nsui). Introducem
notaiile:
m
ij
= numrul de uniti produse de sectorul S
i
necesare sectorului S
j
s produc o unitate
p
i
= nivelul produciei sectorului S
i
m
ij
p
j
= numrul unitilor produse de S
i
i consumate de S
j
Numrul total de uniti produs de S
i
este: p
1
m
i1
+p
2
m
i2
++p
n
m
in
ntr-un system nchis (autarhic) dac economia este echilibrat, tot ce se produce trebuie consumat, adic:
= + + +
= + + +
n n nn n n
n n
p p m p m p m
p p m p m p m
2 2 1 1
1 1 2 12 1 11
Adic sistemul: M.p = p sau (I-M).p=0, care pentru soluii nenule, conduce la o problem de valori
i vectori proprii.
ntr-un model deschis de economie, unele sectoare i satisfac unele cerine din exterior, adic:
p
i
= m
i1
p
1
+m
i2
p
2
++m
in
p
n
+d
i
care conduce la sistemul liniar de ecuaii:
p = M.p + d
cu soluia:
p = (I-M)
-1
.d
3
3. Coeficienii care apar n reaciile chimice se obin aplicnd legea conservrii masei ecuaiei de echilibru
chimic. Astfel arderea etanului:
xC
2
H
6
+ yO
2
zCO
2
+ tH
2
O
d sistemul de ecuaii liniare:
+ =
=
=
t z y
t x
z x
2 2
2 6
2
care are o soluie ntreag:
x=2, y=7, z= 4, t=6.
deci ecuaia chimic este:
2C
2
H
6
+ 7O
2
4CO
2
+ 6H
2
O.
O problem avnd o natur fizic oarecare poate fi studiat experimental sau prin simulare. Aceasta poate
fi transformat, utiliznd legile fundamentale ale fizicii ntr-o problem de natur matematic
M
P . Vom
spune c problema este bine pus dac admite o soluie unic.
Matemati ci apl icate
Fi zi c teoretic
Problema fizi c PF
Fi zi c experimental Rezul tate numeri ce
Problem matemati c PM
Fi g.1.1. Modal iti de abordare a problemelor fizi ce
Ca exemplu, vom considera urmtoarea problem fizic:
P
F
: S se studieze propagarea temperaturii ntr-o bar AB de lungime l cunoscnd
-temperaturile la momentul iniial n orice punct M al barei ( ) | | l , x , x 0
0
e u
-temperaturile la cele dou capete ( ) t
A
t i ( ) t
B
t n orice moment | | 1 0 t , t e
A
M B
) (t
A
t ( ) t
B
t ( ) M
0
u
Fig.1.2. Propagarea cldurii ntr-o bar
4
Problema matematic corespunztoare este:
P
M
: S se determine funcia:
( )
| | | | R t , l ,
) t , x ( t , x :
u u
1 0 0
care satisface urmtoarele condiii:
t x c
cu
=
c
u c
K 1
2
2
0
ecuaia lui Fourier
) ( ) 0 , ( 2
0
0
x x u = u condiiile iniiale
) ( ) , 0 ( 3
0
t t
A
t = u condiiile pe frontier
) ( ) , ( 4
0
t t l
B
t = u
S e u
0
5 , S = spaiul funciilor de 2 ori derivabile pe | | | | 1 , 0 , 0 t l
n acest moment intervine analiza numeric i furnizeaz metodele de calcul, care n urma unui numr
finit ( ) c , , t x N de operaii elementare furnizeaz pentru soluia ( ) t x, u o aproximaie ( ) t x, u' efectiv
calculabil, astfel c: c < u' u ) , ( ) , ( t x t x .
Prezint interes metodele de calcul n timp finit, cu: 1 0 t t< < care furnizeaz aproximaii uniforme:
( ) ( ) c = c N t x N , , .
Problema continu P
M
este transformat ntr-o problem asemntoare P
h
prin discretizare.
n acest scop se selecteaz un numr finit de puncte ( ) t n x i A A , din domeniul compact | | | | 1 , 0 , 0 t l
folosind o reea de discretizare cu paii:
M
l
x = A ,
N
t
t
1
= A .
i se noteaz: ) , ( t n x i
n
i
A A u = u
Dac se aproximeaz derivatele pariale cu diferenele finite:
2
1 1
2
2
1
2
) , (
) , (
x
t n x i
x
t
t n x i
t
n
i
n
i
n
i
n
i
n
i
A
u + u u
= A A
c
u c
A
u u
= A A
c
u c
+
+
se obine urmtoarea problem discretizat: P
h
:
S se determine
1 +
u
n
i
cu 1 0 , 1 1 < < < < N n M i , care satisface condiiile:
2
1 1
1
0
) (
2
1
x
K
t
n
i
n
i
n
i
n
i
n
i
A
u + u u
=
A
u u
+
+
) ( 2
0
0 0
x i
i
A u = u
) ( 3
0
0
t n
A
n
A t = u
) ( 4
0
t n
B
n
M
A t = u
K x
t
s
A
A
2
1
) (
5
2
0
5
Problema discretizat P
h
const n rezolvarea succesiv a N sisteme de ecuaii liniare tridiagonale.
Diferena:
n
i
t n x i u A A u ) , ( evalueaz apropierea ntre soluia problemei discretizate
h
P i a modelului
matematic
M
P n fiecare punct al discretizrii.
Soluia problemei discretizate
h
P trebuie s tind spre soluia problemei continue
M
P dac 0 h ( h
reprezint pasul de discretizare n cazul problemei considerate avem paii 0 , 0 A A t x sau
M N , ); vom spune c trebuie satisfacut o condiie de consisten:
M
h
h
P P =
0
lim .
O alt condiie important o reprezint stabilitatea; aceasta impune ca soluia u' a problemei perturbate
M
P (manifestat prin perturbarea parametrilor u' ,
A
t' ,
B
t' , K' ) s fie apropiat de soluia u a
modelului matematic
M
P .
Pe baza modelului matematic discretizat se va proiecta un algoritm, care va fi analizat prin prisma:
- eficienei (resurse folosite: timp de calcul i memorie),
- convergenei ctre soluia modelului matematic continuu,
- efectului propagrii erorilor.
Etapele enumerate evideniaz urmatoarele tipuri de erori:
- erori deproblem (inerente) care apar la trecere de la modelul fizic
F
P la cel matematic
M
P ,
- erori de metod introduse prin discretizarea modelului matematic,
- erori de trunchere provin din natura infinit a unor procese care descriu soluia problemei
- erori de rotunjire specifice rezolvrii problemei pe calculatorul numeric, care utilizeaz aritmetica n
virgul mobil mobil
Problem fi zi c
Problem matematic
Problem discretizat
Al gori tm
Program
eroarea de trunchi ere
eroarea de metod
eroarea de probl em
eroarea de rotunji re
numerel e real e se reprezi nt n memorie cu numr
fini t de ci fre semnificative
procesel e i nfi ni te care descriu solutia sunt nl ocuite cu
procese fi nite
problema matematic este nl ocuit printr-o probl em
aproximati v, mai usor de rezol vat
modelul matematic introduce ipoteze si mpl ificatoare
Fi g. 1.3. Surse de erori
6
Reprezentarea n virgul mobil.
fl(x) = 0.a
1
a
2
...a
t
|
e
reprezentare normalizat
1 a
1
< | i 0 a
i
< |, i=2:t
L e U
Sistemul de reprezentare n virgul mobil F(|, t, L, U) cuprinde:
baza |
precizia reprezentrii t
limitele (superioar i inferioar ale) exponentului L i U
reprezentarea lui zero
Exemplu: F(10, 1, 0, 1)={ 0.a
1
10
e
}{0} cu a
1
e{1:9} i ee{0,1}, n total 37 de
numere.
2(|-1)|
t-1
(U-L+1) valori distincte
a
1
poate lua |-1 valori distincte,
restul de t-1 cifre poate lua fiecare | valori diferite, deci |
t-1
,
exponentul ia U-L+1, i
semnul dou).
Cel mai mare numr reprezentabil O, (realmax) are forma:
O = 0.(|-1)(|-1)...(|-1) |
U
=
= [(|-1)/|
1
+(|-1)/|
2
+...+(|-1)/|
t
] |
U
= (|-1)/|(1-|
-t
)/(1-|
-1
)|
U
= |
U
(1-|
-t
)
O = |
U
(1-|
-t
)
Cel mai mic numr pozitiv reprezentabil e numit i realmin este:
e = 0.10...0|
L
=|
L
/|=|
L-1
e =|
L-1
Surse de erori.
Un numr real xeF se reprezint exact, dac suma se termin nainte de t termeni i exponentul este
cuprins ntre limite. Altfel, numrul real x se aproximeaz printr-o valoare fl(x)eF
Aproximarea numrului real
x=(0.a
1
a
2
... )|
e
=(a
1
|
-1
+a
2
|
-2
+...+a
t
|
-t
+a
t+1
|
-t-1
+...)|
e
se poate face prin trunchiere sau prin rotunjire.
Aproximarea prin trunchiere ignor cifrele numrului real din dreapta poziiei t.
fl(x)=(0.a
1
a
2
...a
t
)|
e
=(a
1
|
-1
+a
2
|
-2
+... +a
t
|
-t
)|
e
Aproximarea prin rotunjire consider:
fl(x)=(0.a
1
a
2
...a
t
+1 )|
e
dac a
t+1
> |/2
fl(x)=(0.a
1
a
2
...a
t
)|
e
dac a
t+1
< |/2
O depire superioar apare dac e>U.
Ea declaneaz o eroare la execuie, care conduce la ntreruperea calculelor.
O depire inferioar apare dac e<L;
ea duce la nlocuirea numrului prin zero.
Epsilon main (notat eps n Matlab sau ) reprezint cel mai mic numr pozitiv cu proprietatea c:
fl(1+) > 1
De exemplu n F(10, 4, -3, 3) cu rotunjire prin tiere (trunchiere):
7
fl(1+0.0009)=fl(1.0009)=1
fl(1+0.0010)=fl(1.0010)=1.001 > 1
aadar
tr
=0.001=10
-3
>e=10
-4
.
Dac se folosete rotunjire, atunci:
fl(1+0.0004)=fl(1.0004)=1
fl(1+0.0005)=fl(1.0005)=1.001 > 1
cu
rot
=0.0005=1/2.10
-3
=1/2.
tr
- Eroarea absolut la rotunjirea prin trunchiere:
e
x
= x-fl(x)=(a
1
/|
1
+ a
2
/|
2
+...+ a
t
/|
t
+a
t+1
/|
t+1
+...)|
e
(a
1
/|
1
+ a
2
/|
2
+...+ a
t
/|
t
)|
e
e
x
= (a
t+1
/|
1
+ a
t+2
/|
2
+...)|
e-t
|e
x
||(|-1)/|
1
+(|-1)/|
2
+...||
e-t
=
(|-1)|
e-t
(1/|
1
+1/|
2
+...) (|-1)|
e-t
/(|-1)= |
e-t
|e
x
| |
e-t
Dac se folosete rotunjirea atunci eroarea absolut este i mai mic:
|e
x
| 1/2. |
e-t
- Eroarea relativ este:
c
x
= |e
x
|/|x| = |x-fl(x)|/|x| |
e-t
/(0.a
1
...a
t
...|
e
)
c
x
|
e-t
/(0.10...0|
e
)= |
1-t
c
x
|
1-t
la trunchiere
c
x
1/2. |
1-t
la rotunjire
n general:
|x-fl(x)|/|x|
de unde deducem:
fl(x) =x(1+c), |c| =K |
-t
De exemplu F(10,4,-20,20),O=10
20
(1-10
-4
) =9.99910
19
,
e=10
-20-1
=1.010
-21
,
r
=1/2.10
-4+1
=510
-4
Propagarea erorilor.
numere aproximative -operaii exacte
operaii aproximative - date exacte
1.Rezultatul exact al adunrii a dou numere x i y, dac operaiile se execut exact este x+y.
n realitate, se lucreaz cu valorile inexacte x i y, n care:
e
x
=|x-x| i e
y
=|y-y|
x+y=x+ye
x+y
=xe
x
+ye
y
=x+y(e
x
+e
y
)
e
x+y
=e
x
+e
y
c
x+y
=e
x+y
/|x+y|=(e
x
+e
y
)/|x+y|=(|x|c
x
+|y|c
y
)/|x+y|
c
x+y
=|x|/|x+y|c
x
+|y|/|x+y|c
y
=k
x
c
x
+k
y
c
y
8
Pentru scdere:
x-y=x-ye
x-y
=xe
x
-(ye
y
)=x-y(e
x
+e
y
)
de unde:
e
x-y
=e
x
+e
y
c
x-y
=|x|/|x-y|c
x
+|y|/|x-y|c
y
=k
x
c
x
+k
y
c
y
n acest caz coeficienii de ponderare:
k
x
=|x|/|x-y| i k
y
=|y|/|x-y|
pot lua valori foarte mari dac x~y, deci n cazul scderii numerelor apropiate ca ordin de mrime se pot
comite erori foarte mari
n cazul nmulirii:
xy=xye
xy
=(xe
x
)(ye
y
)=xyxe
y
ye
x
+e
x
e
y
~xy(xe
y
+ye
x
)
e
xy
=xe
y
+ye
x
c
xy
=c
x
+c
y
2. Dac operaiile se reprezint aproximativ, iar numerele sunt reprezentate exact, adunarea a dou
numere x=f
x
.b
ex
i y=f
y
.b
ey
presupune aducerea celui mai mic (fie acesta y) la exponentul celui mai
mare, producndu-se o denormalizare
fl(x+y)=fl(f
x
b
ex
+f
y
b
-(ex-ey)
b
ex
)=fl[(f
x
+ f
y
b
-(ex-ey )
) b
ex
]
fl(x+y)=fl[(f
x
+f
y
(1+))b
ex
]=fl[x+(1+)y]
Rezultatul operaiei este normalizat:
fl(x+y)=[x+(1+)y](1+)
Denormalizarea unuia dintre termeni poate fi evitat dac se pstreaz rezultatul intermediar ntr-un
acumulator cu lungimea 2t (acumulator dublu) n acest caz numai rezultatul final va fi afectat de
trunchiere la t cifre semnificative i normalizare, deci:
fl
2
(x+y)=(x+y)(1+)
Anularea catastrofal.
La scderea a dou numere apropiate ca ordin de mrime, cifrele semnificative se anuleaz reciproc,
rezultnd o eroare relativ mare.
fl(x)=0.a
1
a
2
...a
p-1
a
p
...a
t
|
e
fl(y)=0.a
1
a
2
...a
p-1
b
p
...b
t
|
e
fl(y)-fl(y)=0.0 0 ...0 c
p
...c
t
|
e
=0.c
p
...c
t
|
e-p