Sunteți pe pagina 1din 303

Cuprins

Lucrarea 1 - Introducere în mediul MATLAB ................................................... 3


1.1. Obiectivele lucrării .............................................................................. 3
1.2. Breviar teoretic ........................................................................................ 3
1.2.1. Elemente de bază în MATLAB ........................................................ 3
1.2.2. Operații cu matrice ........................................................................... 5
1.2.3. Operatorii folosiți în calculele numerice .......................................... 6
1.2.4. Instrucțiuni iterative ......................................................................... 8
1.2.5. Instrucțiuni condiționale ................................................................. 10
1.2.6. Reprezentarea grafică a funcțiilor monovariabile .......................... 14
1.2.7. Reprezentarea grafică a funcțiilor obiectiv multivariabile ............. 16
1.3. Întrebări și exerciții ............................................................................... 20
Lucrarea 2 - Mediul de programare SIMULINK ............................................. 22
2.1. Obiectivele lucrării ................................................................................ 22
2.2. Breviar teoretic ...................................................................................... 22
2.2.1. Lansarea în execuție a mediului SIMULINK................................. 22
2.2.2. Prezentarea componentelor din biblioteca Simulink ...................... 24
2.3. Partea aplicativă .................................................................................... 27
2.4. Întrebări și exerciții ............................................................................... 34
Lucrarea 3 - Modelarea analitică ...................................................................... 36
3.1. Obiectivele lucrării ................................................................................ 36
3.2. Breviar teoretic ...................................................................................... 36
3.3. Partea aplicativă .................................................................................... 37
3.4. Întrebări și exerciții ............................................................................... 47
Lucrarea 4 - Modelarea experimentală ............................................................. 50
4.1. Obiectivele lucrării ................................................................................ 50
4.2. Breviar teoretic ...................................................................................... 50
4.3. Partea aplicativă .................................................................................... 55
4.4. Întrebări și exerciții ............................................................................... 69
Lucrarea 5 - Regresia polinomială și regresia multiplă liniară ........................ 73
5.1. Obiectivele lucrării ................................................................................ 73
5.2. Aspecte teoretice ................................................................................... 73
5.3. Regresia polinomială ............................................................................. 74
5.4. Regresia multiplă liniară ....................................................................... 85

1
5.5. Exerciții și probleme propuse ................................................................ 93
Lucrarea 6 - Sisteme de ecuații liniare ............................................................. 98
6.1. Obiectivele lucrării ................................................................................ 98
6.2. Aspecte teoretice legate de sistemele de ecuații liniare ........................ 98
6.3. Utilizarea MATLAB pentru rezolvarea sistemelor de ecuații liniare ... 99
6.4. Exemplu de rezolvare a sistemelor de ecuații liniare folosind MATLAB
.................................................................................................................................. 104
6.5. Exerciții și probleme propuse .............................................................. 109
Lucrarea 7 - Ecuații și sisteme de ecuații neliniare ........................................ 110
7.1. Obiectivele lucrării .............................................................................. 110
7.2. Aspecte teoretice legate de ecuațiile neliniare .................................... 110
7.3. Algoritmi pentru izolarea soluțiilor ..................................................... 110
7.4. Algoritmi pentru determinarea unei soluții ......................................... 112
7.5. Algoritmi pentru determinarea tuturor soluțiilor reale ale unei ecuații
polinomiale ............................................................................................................... 116
7.6. Utilizarea mediului MATLAB pentru rezolvarea ecuațiilor neliniare 117
7.7. Exemplu de rezolvare a ecuațiilor neliniare utilizând MATLAB ....... 118
7.8. Aspecte teoretice legate de sistemele de ecuații neliniare ................... 121
7.9. Utilizarea MATLAB pentru rezolvarea sistemelor de ecuații neliniare
.................................................................................................................................. 124
7.10. Exemple de utilizare a rutinelor MATLAB pentru rezolvarea
sistemelor de ecuații neliniare .................................................................................. 124
7.11. Exerciții și probleme propuse ............................................................ 126
Lucrarea 8 - Utilizarea Rețelelor Neuronale Artificiale cu Scop Estimativ ... 128
8.1. Obiectivele lucrării .............................................................................. 128
8.2. Aspecte teoretice legate de rețelele neuronale artificiale .................... 128
8.3. Utilizarea mediului MATLAB pentru crearea și antrenarea unei rețele
neuronale artificiale cu scop estimativ ..................................................................... 131
8.4. Exemplu de creare, antrenare și utilizare a unei rețele neuronale
artificiale cu scop estimativ ...................................................................................... 133
8.5. Exerciții și probleme propuse .............................................................. 147

2
Lucrarea 1 - Introducere în mediul MATLAB

1.1. Obiectivele lucrării

 Însușirea modului de operare a mediului MATLAB;


 Lucrul cu fișiere, modul de generare a vectorilor și a matricelor uzuale;
 Însușirea modului de reprezentare grafică a funcțiilor monovariabile și
multivariabile;

1.2. Breviar teoretic

MATLAB (MATrix LABoratory) este un pachet de programe de înaltă


performanță, destinat calculului numeric și reprezentărilor grafice în domeniul științei și
ingineriei. Performanțele deosebite și timpul de instruire redus fac din acest mediu de
programare unul din cele mai agreate medii de lucru pentru o mare diversitate de
utilizatori.

1.2.1. Elemente de bază în MATLAB

MATLAB-ul lucrează fie în modul linie de comandă, fie cu programe


conținute în fișiere.
Linia de comandă se folosește de regulă pentru lansarea în execuție a
programelor sau pentru diverse comenzi MATLAB. Un program MATLAB se apelează
tastând în linia de comandă numele fișierului. O condiție necesară rulării programului
este setarea căii în care acesta se găsește (din meniul principal, opțiunea File, submeniul
Set Path). În modul line de comandă, fiecare linie este prelucrată imediat și rezultatele
sunt afișate. Comenzile date în acest fel sunt considerate a fi independente una de
cealaltă, motiv pentru care linia de comandă nu poate fi folosită pentru scrierea
fișierelor MATLAB.
Programul MATLAB constă dintr-o succesiune de instrucțiuni MATLAB, cu
posibilitatea apelării altor fișiere, și este caracterizat de extensia *.m. El presupune mai
multe linii de cod, care se pot scrie apelând editorul MATLAB implicit. Acesta se
lansează prin comanda “Edit”.

3
Un program MATLAB poate fi scris sub forma fișierelor „script“ sau a fișierelor
de tip funcție. Un fișier „script” conține o secvență de comenzi. Dacă prima linie a
fișierului conține cuvântul „function”, fișierul respectiv este declarat fișier funcție. O
funcție diferă de un script prin faptul că funcția poate lucra cu argumente și prin faptul
că funcția nu poate fi apelată de sine stătător, la fel cum se face cu un script.
Fișierele funcție sunt utilizate pentru crearea unor noi funcții MATLAB. Forma
generală a primei linii a unui fișier funcție este:

functionparamieșirenumefuncție(param_intrare)

Semnificația parametrilor din sintaxa de mai sus este:


 function - cuvânt cheie care declară fișierul ca fișier funcție;
 nume funcție - numele funcției;
 paramieșire - parametri de ieșire sunt separați cu virgulă și cuprinși
între paranteze drepte;
 param_intrare - parametri de intrare sunt separați cu virgulă și cuprinși
între paranteze rotunde.
Aceste fișiere pot fi adăugate ca funcții noi în structura MATLAB. Comenzile
și funcțiile care sunt utilizate de noua funcție sunt înregistrate într-un fișier cu extensia
.m.
Exemplul 1. Scrieți o funcție denumită „medie”, care să calculeze media
aritmetică a două numere.
Pentru a putea scrie acest script, se apelează editorul care este livrat odată cu
limbajul. Acest lucru se face prin comanda edit, sau File/New/Script. În urma acestei
comenzi se poate introduce programul aferent funcției „medie”, ale cărui instrucțiuni
sunt prezentate în lista 1. După salvarea fișierului („File”, „Save as”, Medie.m) se poate
apela în linia de comandă noua funcție definită, lista 2.

Lista 1.
Transcrierea în MATLAB a exemplului 1.
function m= medie(a,b)
m=(a+b)/2;

4
Lista 2.
Lista comenzilor pentru executarea fișierului medie.m, cu parametrii (10,4).
medie (10,4)

1.2.2. Operații cu matrice

Programul MATLAB este conceput pentru a lucra cu matrice. Acest lucru nu


înseamnă că nu poate lucra cu valori numerice simple, deoarece MATLAB le tratează
ca fiind matrice de o linie și o coloană.
În MATLAB se pot defini trei tipuri de valori numerice: constante, vectori și
matrice. Modul de definire al lor este acesta:
 O constantă se definește într-un mod simplu și intuitiv. De exemplu:

x=3

 Un vector se definește scriind componentele acestuia între paranteze


drepte. De exemplu:

x = [1]

 O matrice se definește similar cu un vector, diferența fiind că la finalul


fiecărui rând se pune caracterul ;. De exemplu:

A =[2 4 5 ; 4 6 3]

Un alt mod de definire a unei matrice constă în apelarea numelui unui fișier de
date aflat pe disc, cu ajutorul funcției dlmread. Sintaxa de apelare a acestei funcții este
bine documentată în [2].
Operațiile uzuale de algebră liniară cu matrice sunt simbolizate cu semnele
grafice: *, \ , / , ^ , ' , și se efectuează după regulile cunoscute din calculul matriceal. În
Tabelul 1 sunt prezentați mai detaliat acești operatori.

5
1 2 5 6
Exemplul 2. Fie A    , B , p=2. Să se calculeze: A+B, A-B,
3 4 7 8 
A*B, A', Bp.
Cu secvența MATLAB, prezentată în lista 3 se vor obține rezultatele dorite.

Lista 3
Lista de comenzi pentru rezolvarea exemplului 2.
A=[1 2; 3 4];
B=[5 6; 7 8];
p=2;
c1=A+B
c2=A-B;
c3=A*B;
c4=A´;
c5=B. ^p

MATLAB mai pune la dispoziția programatorului diferite funcții pentru


generarea unor matrice uzuale. Câteva dintre ele sunt [2]:
 ones (M, N) – generează matricea unitate, de dimensiuni MxN.
 zeros(M, N) – generează matricea nulă de dimensiuni MxN.
 eye (M, N) – generează o matrice de forma MxN în care diagonala
matricei are elementele egale cu 1, iar restul elementelor matricei sunt
0.

1.2.3. Operatorii folosiți în calculele numerice

Operatorii folosiți în calculele aritmetice cu tablouri și matrice sunt prezentați


în Tabelul 1.

Tabelul 1. Operatorii aritmetici MATLAB

Operația Scalari Matrice Tablouri


Adunarea + + +
Scăderea - - -
Înmulțirea * * .*
Împărțirea la stânga \ \ .\

6
Împărțirea la dreapta / / ./
Ridicarea la putere ^ ^ .^
Transpunerea ' ' .'

Operațiile aritmetice între doi scalari sunt prezentate în Tabelul 2. Ordinea


operațiilor în MATLAB este aceeași cu cea a operațiilor aritmetice standard, cunoscută
în matematica elementară.

Tabelul 2. Forma MATLAB a operațiilor cu scalar

Operația Forma algebrică Forma MATLAB


Adunare a+b a+b
Scădere a-b a-b
Înmulțire Axb a*b
Împărțire la dreapta a:b a/b
Împărțire la stânga b:a a\b
Ridicare la putere ab a^b

În Tabelul 3 sunt prezentați operatorii relaționali folosiți în MATLAB.


Operatorii relaționali compară două matrice sau două expresii matriceale, element cu
element. Aceștia returnează o matrice de aceeași dimensiune cu a matricelor care se
compară, cu elementele 1 atunci când relația este adevărată și cu elementele zero atunci
când relația este falsă.

Tabelul 3. Operatorii relaționali

Operatorii relaționali Semnificația


< mai mic
<= mai mic sau egal
> mai mare
>= mai mare sau egal
== identic
~= diferit

Pentru combinarea a două sau mai multe expresii logice se utilizează operatorii
logici din Tabelul 4.

Tabelul 4. Operatorii logici.

Operatorii logici Simbol MATLAB


NU ~
ŞI &

7
SAU |

Operatorii & și | compară doi scalari sau două matrice de dimensiuni egale. În
cazul matricelor, operatorii logici operează asupra fiecărui element în parte. Operatorii
logici returnează valoarea 1 dacă expresia care îi conține este adevărată. Altfel, ei întorc
valoarea 0. Este necesar ca fiecare expresie logică să fie încadrată de paranteze.
Operatorul logic NU (sau complementul logic) este operator unar. Expresia ~A
returnează 0 dacă A este diferit de zero și 1 dacă A este zero.

1.2.4. Instrucțiuni iterative

Instrucțiunile iterative ale mediului MATLAB sunt instrucțiunile for și while.


Instrucțiunea for se utilizează atunci când apare necesitatea repetării unei
secvențe de program de un anumit număr de ori, cunoscut în prealabil. Sintaxa
instrucțiunii este următoarea:

for index = expresie


grupul_de_instrucţiuni
end

În sintaxa de mai sus, index este variabila de ciclare, expresie este o matrice, un
vector sau un scalar iar grup_de_instrucţiuni este orice expresie MATLAB.
În aplicații, “expresie“ este de cele mai multe ori de forma:

iniţial:pas:final

În sintaxa de mai sus, inițial reprezintă prima valoare a lui k, pas reprezintă
pasul de creștere a valorii lui k (dacă este omis, atunci este considerat 1), iar final - cea
mai mare valoare pe care o poate lua k.
Dacă se utilizează operatorul două puncte (“:“) pentru a defini expresia, ca în
exemplul:

for k = iniţial:pas:final

8
 final  initial 
bucla se execută de: n     1 ori, dacă n este pozitiv, și nu se
 pas 
execută dacă n este negativ.
Exemplul 3. Să se calculeze funcția:

2 ∗ 𝑥 + 3, 𝑥𝜖[−10,2]
𝑓(𝑥) = { (1)
2 ∗ 𝑥 2 − 1, 𝑥𝜖(2,20]

pentru toate valorile întregi pentru care este definită și să se reprezinte grafic
această funcție.
Cu secvența MATLAB, prezentată în lista 4 se vor obține rezultatele dorite.

Lista 4.
Transcrierea în MATLAB a exemplului 3.
x = -10 : 20;
for k = 1 : length(x)
if x(k) < = 2
f(k) = 2*x(k)+3
else
f(k) = 2*x(k)^2-1
end
end
plot(x,f)

Instrucțiunea while este o structură care se utilizează pentru repetarea unui set
de instrucțiuni, atât timp cât o condiție specificată este adevărată. Forma generală a
acestei instrucțiuni este:

while expresie
grup_de_instrucţiuni
end

Grupul de instrucțiuni se execută cât timp “expresie“ are toate elementele


nenule. Expresia logică notată cu “expresie“ este de obicei sub forma:

9
expresie_1 condiție expresie_2

unde “condiție“ este unul dintre operatorii relaționali: = =, <, >, < =, > =, ~ =.
Exemplul 4. Să se scrie un program, utilizând o buclă while, care calculează
suma elementelor vectorului x = [5 2 -9 10 -1 9 -1] până când întâlnește un
număr mai mare ca 8.
Secvența MATLAB este prezentată în lista 5.

Lista 5.
Transcrierea în MATLAB a exemplului 4.

x = [5 2 -9 10 -1 9 -1];
sum = 0;
k = 1;
while (x(k) <=8) & (k<=length(x))
sum = sum+x(k)
k = k+1
end

Se obține rezultatul:
sum = -2

În lista 5, ieșirea din buclă se realizează după ce au fost însumate primele trei
elemente, al patrulea element neîndeplinind condiția impusă.
Instrucțiunea break se utilizează pentru a ieși dintr-o buclă înainte ca aceasta să
se fi terminat. Se recomandă a fi utilizată dacă o condiție de eroare este detectată în
interiorul unei bucle. Instrucțiunea break încetează execuția ciclurilor for și while. Se
apelează cu sintaxa: break.
Instrucțiunea return comandă o ieșire normală din fișierul-M către funcția care
l-a apelat sau către tastatură. Se apelează cu sintaxa: return.

1.2.5. Instrucțiuni condiționale

Instrucțiunile condiționale sunt instrucțiunea if și instrucțiunea switch.

10
Instrucțiunea if se utilizează atunci când apare necesitatea de executare
condiționată a instrucțiunilor. Aceasta poate fi implementată ca instrucțiune “if“ simplă
sau poate include clauzele else sau elseif. Forma generală a unei instrucțiuni “if“
simplă, este următoarea:

if expresie_logică
grup_de_instrucţiuni
end

Dacă expresia logică este adevărată, atunci se execută grupul de instrucțiuni


dintre instrucțiunea if și instrucțiunea end. Dacă expresia logică este falsă, se trece la
prima instrucțiune care urmează după instrucțiunea end.
Clauza else este utilizată pentru a executa un set de instrucțiuni, dacă expresia
logică este adevărată și un alt set de instrucțiuni, dacă expresia logică este falsă.
Forma generală a instrucțiunii if-else este:

if expresie_logică
grupul_de_instrucţiuni_A
else
grupul_de_instrucţiuni_B
end

Exemplul 5. Pentru următoarea funcție:

2 ∗ 𝑥 + 8, 𝑥 ≤ 2
𝑓(𝑥) = { (2)
3 ∗ 𝑥2, 𝑥 > 2

secvența MATLAB este prezentată în lista 6.

Lista 6.
Lista de comenzi pentru rezolvarea exemplului 5.
if x<=2
f = 2*x+8
else
f = 3*x^2

11
end

Dacă funcția de calculat are mai multe nivele de instrucțiuni if-else, este
dificilă determinarea expresiei logice adevărate, care selectează grupul de instrucțiuni ce
urmează a fi executat. În acest caz, se utilizează clauza elseif. Sintaxa acestei clauze este
următoarea:

12
if expresia_logică_1
grupul_de_instrucţiuni_A
elseif expresia_logică_2
grupul_de_instrucţiuni_B
elseif expresia_logică_3
grupul_de_instrucţiuni_C
end

Exemplul 6. Să se genereze o matrice A, cu n linii și n+1 coloane, ale cărei


elemente sunt:

2, 𝑖 = 𝑗
𝐴={−1, |𝑖 − 𝑗| = 1 (3)
0, 𝑎𝑙𝑡𝑓𝑒𝑙

Secvența MATLAB pentru exemplul 6 este prezentată în lista 7.

Lista 7.
Lista de comenzi pentru rezolvarea exemplului 6.
n = 4;
for i =1:n
for j = 1:n+1
if i = = j
A(i,j) = 2
elseif abs(i-j) = = 1
A(i,j) = -1
else
A(i,j) = 0
end
end
end

Se obține rezultatul din lista 8.

13
Lista 8.
Rezultatele obținute la rezolvarea exemplului 6.
A=
2 -1 0 0 0
-1 2 -1 0 0
-1 2 -1 0
0 0 -1 2 -1

1.2.6. Reprezentarea grafică a funcțiilor monovariabile

Dacă se notează cu z valoarea unei funcții de o variabilă

𝑧 = 𝑓(𝑥) (4)

între z și x există corespondență biunivocă care poate fi reprezentată geometric


printr-o curba în planul x  z , precum în Figura 1.
O posibilă reprezentare grafică a unei funcții obiectiv în orice limbaj de
programare, constă în următoarele două etape :
 etapa discretizării funcției continue 𝑧 = 𝑓(𝑥) într-un număr de puncte
suficient de mare, pentru a obţine o reprezentare cvasicontinuă a
funcției;
 etapa trasării graficului asociat corelației discrete obținute anterior.

Figura 1. Reprezentarea grafică a unei funcţii monovariabile [1]

Etapa discretizării funcției continue presupune tabelarea unei funcții continue


între valorile x min și x max obținându-se o funcție discretă, definită printr-un tabel de

14
valori xi , yi , i  1,, n , în care n reprezintă numărul de perechi de puncte ale

tabelului. Pentru cele n puncte se obțin n  1 intervale egale, de lungime


xmax  xmin
 . Într-o structură iterativă sunt calculate coordonatele argumentelor x i și
n 1
valorile corespunzătoare ale funcției în aceste puncte, yi  f xi  . O reprezentare
sugestivă a operației de tabelare este prezentată în Tabelul 5 [1].

Tabelul 5. Tabelarea funcţiei f(x)

Nr. crt. Valori corespondente Valoarea argumentului Valoarea funcției


1 x min x1 f1
2 xmin  x x2 f2
..... .... .... ....
n-1 xmin  n  2x xn-1 fn-1
n x max xn fn

În cadrul mediului MATLAB, reprezentarea grafică a unei funcții


monovariabile se realizează prin intermediul funcțiilor fplot și plot. Funcția fplot are
următoarele date de intrare:
a) numele funcției, corespunzător unui fișier de tip .m;
b) limitele intervalului de reprezentare care se introduc sub forma unui
vector de forma xmin, xmax  .
Sintaxa instrucțiunii este:

fplot(‘nume fișier funcție’,[xmin,xmax]);

Exemplul 7. Se consideră funcția monovariabilă reală, de argument real

𝑓(𝑥) = 1⁄4 ∗ 𝑥 4 − 5⁄3 ∗ 𝑥 3 + 7⁄2 ∗ 𝑥 2 − 3 ∗ 𝑥 + 3 (5)

Să se reprezinte grafic funcția în intervalul  1 4.


Funcția (5) este programată sub mediul MATLAB, textul sursă fiind prezentat
în fișierul f.m, lista 9.

15
Lista 9.
Transcrierea în MATLAB a funcției (5)
Function y=f(x)
Y=1/4*x.^4-5/3*x.^3+7/2*x.^2-3*x+3;

În lista 10 sunt prezentate instrucțiunile din meniul de comenzi MATLAB,


pentru reprezentarea grafică a funcției (5) iar în Figura 2 este prezentat graficul obținut.
Lista 10.
Lista comenzilor pentru reprezentarea grafică a funcției (5)
fplot('f',[-1,4]);

Figura 2. Reprezentarea grafică în MATLAB a funcţiei (5)

1.2.7. Reprezentarea grafică a funcțiilor obiectiv multivariabile

Reprezentarea grafică a funcțiilor multivariabile reprezintă o provocare în


cadrul studiului problemelor de optimizare. Deoarece această problemă este deseori
extrem de complexă, datorită dificultăților de percepție vizuală a spațiilor n-
dimensionale, se apelează la studiul unei funcții particulare, având două variabile
independente. Astfel, se consideră funcția [1]:

𝑧 = 𝑓(𝑥1 , 𝑥2 ) (6)

16
În cadrul funcțiilor de tip (6), reprezentarea geometrică necesită un sistem de 3
axe de coordonate (z, x1, x2).
Elementele constitutive din cadrul reprezentării grafice 3D sunt :
1. Crearea rețelei de puncte x  y utilizată pentru discretizarea funcției;
2. Reprezentarea 3D a suprafețelor de contur.
Crearea rețelei de puncte x  y este utilizată atât în studiul valorilor funcției
cât și pentru a obține o reprezentare cvasicontinuă a funcției. În mediul MATLAB este
utilizată funcția meshgrid pentru construirea rețelei de puncte pentru o funcție de două
variabile. Funcția meshgrid transformă domeniul specificat prin vectorii x și y în
tablourile X și Y, tablouri care pot fi folosite atât pentru evaluarea funcțiilor de două
variabile, cât și pentru reprezentări 3D de tipul mesh sau surface, precum în Figura 3.
Funcția meshgrid se apelează cu sintaxa:

[X,Y]= meshgrid(xinf:pas_x:xsup,yinf:pas_y:ysup);

Notațiile din sintaxa de mai sus sunt:


 X - vectorul ce conține valorile discretizate asociate variabilei x;
 Y - vectorul ce conține valorile discretizate asociate variabilei y;
 xinf - reprezintă limita inferioară de tabelare, asociată variabilei x;
 xsup - limita superioară de tabelare, asociată variabilei x;
 pas_x – pasul de tabelare pentru variabila x;
 yinf - limita inferioară de tabelare, asociată variabilei y;
 ysup - limita superioară de tabelare, asociată variabilei y;
 pas_y – pasul de tabelare pentru variabila y.

17
Figura 3. Structura reţelei generate de funcţia meshgrid [1]

Exemplul 8. Fie funcția:

𝑧 = 𝑥2 + 4 ∗ 𝑦2 − 4 (7)

Să se genereze rețeaua de puncte definită prin  4  x  4 și  5  y  5 .


Rezolvare. Pentru simplitate se consideră x  1 , respectiv y  1 . Comanda
MATLAB va fi:

[x,y]= meshgrid(-4:1:4,-5:1:5);

Lista 11 a Lista 11 b

Rezultatele obținute pentru vectorul x Rezultatele obținute pentru vectorul y

-4 -3 -2 -1 0 1 2 3 4 -5 -5 -5 -5 -5 -5 -5 -5 -5
-4 -3 -2 -1 0 1 2 3 4 -4 -4 -4 -4 -4 -4 -4 -4 -4
-3 -3 -3 -3 -3 -3 -3 -3 -3
-4 -3 -2 -1 0 1 2 3 4
-2 -2 -2 -2 -2 -2 -2 -2 -2
-4 -3 -2 -1 0 1 2 3 4
-1 -1 -1 -1 -1 -1 -1 -1 -1
-4 -3 -2 -1 0 1 2 3 4 0 0 0 0 0 0 0 0 0
-4 -3 -2 -1 0 1 2 3 4 1 1 1 1 1 1 1 1 1
-4 -3 -2 -1 0 1 2 3 4 2 2 2 2 2 2 2 2 2
-4 -3 -2 -1 0 1 2 3 4 3 3 3 3 3 3 3 3 3
-4 -3 -2 -1 0 1 2 3 4 4 4 4 4 4 4 4 4 4
-4 -3 -2 -1 0 1 2 3 4 5 5 5 5 5 5 5 5 5
-4 -3 -2 -1 0 1 2 3 4

rezultatul obținut fiind prezentat în listele 11a și b.

18
Reprezentarea 3D a suprafețelor de contur. O suprafață este parametrizată prin
două variabile independente, i și j, care variază continuu în interiorul unui dreptunghi,
1  i  m și 1  j  n . În aceste condiții, fiecare punct este specificat prin trei funcții:
X i, j  , Y i, j  și Z i, j  . Deoarece i și j sunt numere întregi, suprafața de răspuns a
funcției este definită de nodurile unei rețele rectangulare (grid), fiecare matrice având
dimensiunea m  n  . Dacă se dorește și precizarea culorii suprafeței, este necesară încă

o matrice, C m  n  .
Culoarea suprafeței poate fi specificată prin două metode diferite:
 Prin specificarea colțurilor rețelei;
 Prin specificarea centrelor acesteia.
Dacă funcția shading, care configurează nuanțele, este inițializată la interp,
matricea C trebuie să aibă aceeași dimensiune ca matricele X, Y și Z; ea specifică
culorile colțurilor, în interiorul zonei realizându-se o interpolare liniară. Dacă shading
este inițializată faceted (implicit) sau flat, atunci C i, j  specifică o culoare constantă în
dreptunghiul respectiv. În acest caz, matricea C poate avea aceeași dimensiune cu X, Y
și Z, însă ultima linie și coloană sunt ignorate, sau poate fi dimensionată cu o linie și o
coloană mai puțin decât acestea.
Reprezentarea grafică 3D a suprafețelor se poate face fie sub forma unei rețele
(mesh), fie sub forma suprafețelor netede. Sintaxa instrucțiunii mesh este:

mesh (x, y, z);

în care semnificația parametrilor este următoarea:


x – vector asociat axei x, obținut prin crearea rețelei x  y de către funcția
meshgrid;
y – vector asociat axei y, obținut prin crearea rețelei x  y de către funcția
meshgrid;
z – matrice conținând valorile funcției z  f x, y  .

Exemplul 9. Fie funcția z  f x, y  , definită prin relația (7). Se cere să se


reprezinte grafic în 3D, în domeniul  4  x  4 și  4  y  4 . Rețeaua de puncte va fi
creată utilizând pasul x  y  0,1 .

19
Rezolvare. Se crează o funcție MATLAB în cadrul unui fișier de tip m, funcție
care conține instrucțiunile necesare reprezentării suprafeței de răspuns a funcției (7).
Numele fișierului de tip m este contur3.
Lista 12
Conținutul fișierului contur3
function curbe = contur3
[x,y]=meshgrid(-4:.1:4,-4:.1:4);
z=x.^2+2*y.^2-4;
mesh (x, y, z);

Prin apelarea funcției contur3 se obține imaginea grafică prezentată în Figura


4.

Figura 4. Reprezentarea suprafețelor în 3D

1.3. Întrebări și exerciții

1. Să se evalueze funcția:
x 3  2 x 2  x  6.3
f x   pentru x = 2 și x = 4.
x 2  0.5 x  1
2. Fie A = [3 2 5] , B = [1 3 2] și p = 2. Să se calculeze: C = A.*B, D = B.*p,
E = A.^B și F = A.\ B.

20
2 3 4 5
3. Fie: A    , B și p = 3. Să se calculeze: A+B, A*B, A' ,
1 2 6 8 
B^p.
4. Să se genereze matricele unitate, zero și identitate de dimensiunile 2x2 și
2x3.
1 9 3 
5 .Fie matricea A    . Să se genereze o matrice unitate, o matrice zero
5 2 7 
și o matrice identitate de dimensiunea matricei A.
6. Să se reprezinte grafic funcția T (n) , funcție ce reprezintă temperatura de
topire a parafinelor normale superioare în funcție de numărul de atomi de carbon din
catenă.
T n  30  0,56n  15,84 n  19,7 , pe intervalul n  26,70 .
7.Să se reprezinte grafic funcția

Z ( x, y)  xe  x  y2
, x   2, 2 , y   2, 2
2

8. Să se calculeze funcția:
2 x  3, daca x   10,2
f ( x)   2
2 x  1, daca x  2,20
pentru toate valorile întregi pentru care este definită și să se reprezinte grafic.

21
Lucrarea 2 - Mediul de programare SIMULINK

2.1. Obiectivele lucrării

 Însușirea modului de lucru cu mediul de programare SIMULINK;


 Familiarizarea cu obiectele din biblioteca SIMULINK;
 Construirea diagramelor destinate simulării unor elemente simple de simulare,
în cadrul mediului de programare SIMULINK.

2.2. Breviar teoretic

Una dintre aplicațiile specifice mediului MATLAB este SIMULINK. Acest


pachet de programe este utilizat pentru simularea matematică a sistemelor dinamice cu
ajutorul elementelor dinamice fundamentale.

2.2.1. Lansarea în execuție a mediului SIMULINK

Mediul SIMULINK poate fi activat prin intermediul mediului MATLAB, în


doua moduri:
1. Se face click pe pictograma Simulink , din bara de
instrumente a mediului MATLAB;
2. Din mediul MATLAB, în linia de comanda se editează comanda simulink și
se execută, Figura 5.

Figura 5. Lansarea în execuție a mediului SIMULINK, utilizând comanda simulink

22
În urma acțiunii uneia din comenzile specificate anterior, este lansat în execuție
mediul SIMULINK. Pe ecran se deschide o fereastră ce conține componentele aflate în
biblioteca SIMULINK, precum în Figura 6.

Figura 6. Biblioteca mediului Simulink.

Pentru construirea unei diagrame se vor selecta comenzile New, Model din mediul
de comenzi File al mediului Simulink, după cum este reprezentat în Figura 7. În urma
execuției acestei acțiuni pe ecran se va deschide o fereastră destinată construirii
diagramelor, Figura 8.

23
Figura 7. Lansarea în execuție a ferestrei de construire a unei diagrame

Figura 8. Imaginea ferestrei destinată construirii și simulării diagramelor

2.2.2. Prezentarea componentelor din biblioteca Simulink

Biblioteca mediului SIMULINK (Simulink Library) conține un set de


componente destinate realizării unor operații elementare, având semnificație matematică
sau de natură a genera și prelucra semnale, după cum este reprezentat în Figura 8.
Semnificația celor mai utilizate componente din bibliotecă este prezentată în Tabelul 6.

24
Tabelul 6. Semnificaţia celor mai utilizate componente din biblioteca SIMULINK

Nr. crt. Denumire Semnificație


1 Source Generarea semnalelor sursă
2 Sinks Reprezentarea grafică a dinamicii sistemelor
3 Discrete Simularea sistemelor discrete în timp
4 Continuous Simularea sistemelor liniare și sistemelor neliniare
5 Math Operation Realizare operațiilor matematice
6 Signal Routing Realizarea conexiunilor

La rândul ei, fiecare componentă conține un set de instrumente. Dacă se va


executa dublu-click pe oricare dintre componentele din bibliotecă, în partea dreaptă a
ferestrei din Figura 6 vor apare instrumentele componentei respective, după cum se
poate observa în Figura 9. În cele ce urmează se vor detalia câteva din cele mai utilizate
componente ale bibliotecii Simulink.

Figura 9. Instrumentele componentei Sinks

25
A1. Componenta semnalelor sursă (Signal Sources Library)
Componenta semnalelor sursă conține instrumente generatoare de semnale de
intrare aplicate sistemului studiat. Aceste instrumente sunt obținute prin activarea
componentei Sources. Principalele instrumente asociate componentei semnalelor sursă
sunt prezentate în Tabelul 7. Semnalele sursă cele mai utilizate în cadrul aplicațiilor
sunt: semnalul de ceas, semnalul constant, semnalul sinusoidal și semnalul treaptă.

Tabelul 7. Componenta Sources

Nr. crt. Denumire instrument Semnificație


1 Constant Semnal de intrare constant
2 Clock Semnal de ceas
3 Sine Wave Semnal sinusoidal
4 Step Semnal treaptă
5 Ramp Semnal rampă

A2. Componenta semnalelor de ieșire (Signal Sinks Library)


Instrumentele componentei Sinks sunt obținute prin activarea pictogramei
Sinks. Semnificația principalelor instrumente ale acestei componente este afișată în
Tabelul 8.

Tabelul 8. Componenta Sinks

Nr.crt. Denumire Semnificație


1 Scope Vizualizare mărimi de ieșire pe osciloscop
2 To Workspace Mediul de lucru
3 Stop Simulation Sfârșitul simulării

A3. Componenta sistemelor continue (Continuous Library)


Instrumentele componentei sistemelor liniare și neliniare sunt obținute prin
activarea pictogramei Continuous. Principalele instrumente asociate componentei
sistemelor liniare sunt prezentate în Tabelul 9. Componenta sistemelor liniare și
neliniare conține instrumente dedicate funcțiilor matematice algebrice: sumator,
amplificator, etc.

26
Tabelul 9. Componenta sistemelor liniare

Nr.crt. Denumire Semnificație


1 Integrator Integrator
2 Derivative Derivator
3 Transfer Fcn Funcția de transfer

A4. Componenta funcțiilor matematice


Prin activarea pictogramei Math Operation, sunt obținute instrumentele
componentei funcțiilor matematice. Semnificația componentelor din blocul funcțiilor
matematice sunt prezentate în Tabelul 10. Meniul funcțiilor matematice conține
obiectele pentru funcții matematice algebrice, funcția histerezis, funcția de întârziere și
saturare.

Tabelul 10. Componenta sistemelor neliniare

Nr.crt. Denumire Semnificație


1 Sin Funcția trigonometrică sinus
2 Min Funcția minim
3 Gain Amplificator
4 Sum Sumator
5 Product Produs

2.3. Partea aplicativă

Pentru a realiza simularea dinamică a unui sistem, utilizând mediul Simulink,


sunt necesare parcurgerea următoarelor etape:

1. Determinarea modelului matematic.


2. Identificarea blocurilor corespunzătoare elementelor dinamice care
modelează sistemul.
3. Realizarea diagramei sistemului, formată din blocuri standard (aflate în
biblioteca Simulink) sau a blocurilor proprii (create de utilizator).
4. Configurarea fiecărui bloc, în funcție de modelul matematic și parametrii
asociați sistemului.
5. Lansarea în execuție, etapă realizată prin comanda Start din meniul
Simulation.
6. Selectarea opțiunilor necesare vizualizării rezultatelor simulării.

27
Exemplul 10. Fie ecuația:

𝑦 =3∗𝑢 (8)

Să se construiască diagrama care va implementa ecuația (8) în mediul


Simulink, pentru u=5;
Rezolvare:
A1. Identificarea blocurilor. Ecuația (8) poate fi implementată prin intermediul
următoarelor blocuri:
 pentru generarea semnalului de intrare u se va utiliza blocul Constant
din componenta Source Library.
 Blocul Gain din componenta Math Operations, pentru amplificare
intrări u cu factorul de amplificare 3,
 Blocul Display pentru vizualizarea rezultatului din componenta Sinks.

A2. Construirea diagramei. Modalitatea de realizare a diagramei este


prezentată în cele ce urmează.
Toate blocurile necesare (Constant, Gain, Display) vor fi copiate din biblioteca
SIMULINK în fereastra de construire a diagramei. Pentru realizarea acestei etape se
execută succesiv operațiile:
1. Se activează fereastra Sources - Library.
1. Se execută click pe blocul Constant cu butonul din dreapta mouse-ului.
Cât timp este apăsat butonul, se realizează o copie a blocului și se
plasează în diagrama bloc.
2. Similar sunt copiate blocurile: Gain din fereastra Math Operations și
respectiv Display Block din fereastra Sinks - Library.
Operații uzuale pentru copierea, mutarea și ștergerea blocurilor:
 copiere: se va utiliza butonul drept al mouse-ului;
 mutarea blocurilor: se va utiliza butonul stâng al mouse-ului;
 ștergerea blocurilor: se va utiliza butonul delete.
Blocurile se vor conecta conform diagramei din Figura 10. Acestea pot fi
conectate prin apăsarea butonului drept al mouse-ului și tragerea unei săgeți de la ieșirea

28
unui bloc la intrarea altui bloc. În diagrama astfel obținută, blocurile pot fi deplasate și
aranjate cu ajutorul butonului stâng al mouse-ului.

Figura 10. Diagrama asociată ecuaţiei (8)

A3. Configurarea blocurilor. Prin configurare se înțelege stabilirea anumitor


parametri numerici asociați blocurilor. În cadrul diagramei din Figura 10, este necesară
configurarea blocurilor Constant și Gain. Etapa de configurare decurge astfel:
Blocul Constant:
 Se execută click pe blocul Constant;
 În urma activării blocului Constant se va deschide căsuța de dialog
specifică blocului, precum în Figura 11. În câmpul specific introducerii
parametrului se setează constanta: Constant value=5;
 Validarea valorilor introduse se face prin apăsarea butonului Apply, după
cum este prezentat în Figura 11;
 Pentru închiderea căsuței de dialog se utilizează butonul Close.
Blocul Gain:
 În urma activării blocului Gain, se va deschide căsuța de dialog specifică
blocului, după cum este prezentat în Figura 12;
 În câmpul specific parametrilor se setează conform datelor din Figura
12, parametrul: Gain: 3;

29
Figura 11. Configurarea blocului Constant

Figura 12. Configurarea blocului Gain

Diagrama se va salva sub numele de prob11, alegând comanda File/Save As, cu


extensia “.mdl”.
A4. Lansarea în execuție. Aceasta este realizată prin comanda Start din meniul
Simulation (Figura 13). În cadrul blocului Display se va obține rezultatul ecuației.

30
Figura 13. Diagrama din exemplul 10

Exemplul 11. Fie ecuația de ordinul 1

𝑇 ∗ 𝑦̇ + 𝑦 + 𝐾 ∗ 𝑢(𝑡) (9)

În ecuația (9), T=0.9 reprezintă constanta de timp a ecuației, K=3 este factorul
de amplificare asociat variabilei de intrare u, u  1t  .

Condiția inițială a sistemului este y0  1 . Sistemul va fi simulat pe intervalul

de timp 0, 10 s.


Rezolvarea 1. Modelul matematic (9) se aduce la forma standard (10) :

𝑑𝑦 1
= ∗ (−𝑦(𝑡) + 𝐾 ∗ 𝑢(𝑡)) (10)
𝑑𝑡 𝑇

Ecuația (10) se integrează, ajungând la expresia (11):

1
𝑦(𝑡) = 𝑦(0) + ∫ (−𝑦(𝑡) + 𝐾 ∗ 𝑢(𝑡))𝑑𝑡 (11)
𝑇

Ultima relație este implementată prin intermediul diagramei bloc prezentată în


Figura 14.

31
Figura 14. Diagrama ecuației de ordinul 1

Crearea diagramei. Pentru realizarea diagramei, se vor avea în vedere


următoarele etape:
A. Toate blocurile necesare vor fi copiate din biblioteca SIMULINK în schema
bloc;
B. Conectarea blocurilor conform diagramei bloc din Figura 14 ;
C. Configurarea și parametrizarea fiecărui bloc, introducând valorile numerice
pentru parametrii blocurilor prin intermediul căsuței de dialog a fiecărui
bloc.
Rezolvare 2. Modelul matematic (9) se aduce la forma funcției de transfer:

𝐾
𝐻(𝑠) = (12)
𝑇∗𝑠+1

Ultima relație este implementată prin intermediul diagramei bloc din Figura
15.

Figura 15. Diagrama ecuației de ordinul 1.

Creare diagramă. Pentru realizarea diagramei se vor avea în vedere


următoarele etape:
32
A. Toate blocurile necesare vor fi copiate din biblioteca SIMULINK în schema
bloc;
B. Conectarea blocurilor se va face conform diagramei bloc din Figura 15;
C. Configurarea și parametrizarea fiecărui bloc se va face introducând valorile
numerice pentru parametrii blocurilor prin intermediul căsuțelor de dialog a
fiecărui bloc.
Vizualizarea rezultatelor simulării este accesibilă prin intermediul blocului
Scope. Blocul Scope prezintă câteva trăsături, după cum se poate observa în Figura 16:
 cel mai din stânga buton din fereastra Scope este butonul de Zoom care
permite modificarea dimensiunilor graficului în ambele direcții, x și y (aria
de modificare se alege cu mouse-ul);
 următoarele două butoane sunt de asemenea butoane Zoom. Acestea permit
mărirea graficul pe abscisă, respectiv ordonată.
 butonul care are drept pictogramă un binoclu este butonul Auto-scale care
arată întreg răspunsul în timp al sistemului, anulând orice modificare.
 următorul buton este butonul Save- axes care salvează sau îngheață axele .
 cel mai din dreapta buton este butonul Properties care permite în meniul
Axes configurarea blocului Scope. În câmpurile Ymax și Ymin se introduc
valorile pentru determinarea limitelor de reprezentare pe axa y, după cum
este prezentat în Figura 17.

Figura 16. Bara de obiecte a blocului Scope

33
Figura 17. Căsuța de dialog a butonului Properties

În Figura 18 este redată dinamica ecuației de ordinul 1 (12) obținută în


condițiile impuse.

Figura 18. Rezultatul obținut prin simularea sistemului de ordinul 1

2.4. Întrebări și exerciții

1. Care sunt avantajele mediului de simulare Simulink?


2. Să se construiască diagramele de simulare pentru următoarele ecuații:
a) y=2u, unde u=4;
b) y  3  u  e u , u=5;
c) 3  y  y  2  u , y(0)=0, u(0)=1,5;
3. Să se construiască diagrama ce realizează conversia gradelor Celsius în
grade Fahrenheit.
9
TF  TC  32 ;
5

34
35
Lucrarea 3 - Modelarea analitică

3.1. Obiectivele lucrării

 Însușirea metodei de modelare analitică;


 Aplicarea metodei analitice la modelare unor procese de acumulare;

3.2. Breviar teoretic

Elaborarea modelelor matematice utilizând metoda analitică presupune


utilizarea de legi generale și/sau specifice fenomenelor fizice și chimice caracteristice
evoluției sistemului modelat respectiv cum ar fi:
 legi de conservare (masă, energie, impuls);
 legi de echilibru (mecanic, chimic, etc.);
 legi de stare a gazelor;
 legea asociate cineticii reacțiilor chimice etc.
În ceea ce privește legile de conservare, expresia matematică a acestora este
cuprinsă în așa numita ecuație de transport generalizată, care pentru o mărime
conservabilă oarecare Ψ are forma:

𝐴=𝐼−𝐸−𝐶 (13)

Semnificația notațiilor din ecuația (13) este:

 A reprezintă acumularea din Ψ în elementul de volum al sistemului în


unitatea de timp;
 I – debitul1 din Ψ care intră în elementul de volum al sistemului;
 E – debitul din Ψ care părăsește elementul de volum al sistemului;
 C – consumul în unitatea de timp în elementul de volum.

1
Debitul reprezintă cantitatea de Ψ care traversează o secțiune în unitatea de timp

36
3.3. Partea aplicativă

Exemplul 12. Se consideră procesul de acumulare prezentat în Figura 19.


Fluxul Qi reprezintă debitul de intrare în vas, în l/h iar fluxul Qe debitul de evacuare,
exprimat în aceleași unități. Fluxul de ieșire este caracterizat prin curgere liberă a
lichidului din vas. Mărimea de intrare a sistemului Qi are o variație treaptă, ca în Figura
20. Se cere să se determine modelul matematic al procesului și să se simuleze acesta.

Figura 19. Procesul de acumulare a unui lichid într-un vas

Semnificația notațiilor din Figura 19 este următoarea:


 Qi, Qe – debitele de intrare și de ieșire;
 R – rezistență hidraulică;
 H – nivelul curent;

Figura 20. Dinamica mărimi de intrare Qi

Ca ipoteză simplificatoare se presupune că debitul de lichid care părăsește


vasul este proporțional cu nivelul lichidului din vas, respectiv:

𝑄𝑒 = 𝑘 ∗ 𝐻 (14)

37
În ecuația (14), k este un coeficient de proporționalitate.
Atâta timp cât debitele Qi și Qe coincid, nivelul de lichid H este constant. Dacă
egalitatea nu se mai respectă, volumul de lichid din vas se va modifica cu V respectiv:

∆𝑉 = 𝐴 ∗ ∆𝐻 (15)

În ecuația (15), H reprezintă variația de nivel din vas iar A este aria secțiunii
transversale a vasului.
Pe de altă parte, variația de volum ( V ) se poate exprima funcție de debite:

∆𝑉 = 𝑄𝑖 ∗ ∆𝑡 − 𝑄𝑒 ∗ ∆𝑡 (16)

În ecuația (16), t este intervalul de timp în care volumul de lichid din vas se
modifică cu V .
Din relațiile (15) și (16) rezultă:

𝐴 ∗ ∆𝐻 = 𝑄𝑖 ∗ ∆𝑡 − 𝑄𝑒 ∗ ∆𝑡 (17)

Împărțind prin t relația (17), rezultă:

∆𝐻
𝐴∗ = 𝑄𝑖 − 𝑄𝑒 (18)
∆𝑡

Considerând intervalul Δt foarte mic rezultă:

∆𝐻 𝑑𝐻
lim = (19)
∆𝑡→0 ∆𝑡 𝑑𝑡

Înlocuind în relația (19) se obține:

𝑑𝐻
𝐴∗ = 𝑄𝑖 − 𝑘 ∗ 𝐻 (20)
𝑑𝑡

Sau:

𝐴 𝑑𝐻 1
∗ + 𝐻 = ∗ 𝑄𝑖 (21)
𝑘 𝑑𝑡 𝑘

𝐴 1
Notând 𝑘 = 𝑎 și 𝑘 = 𝑏 se obține:

38
𝑑𝐻
𝑎∗ + 𝐻 = 𝑏 ∗ 𝑄𝑖 (22)
𝑑𝑡

Modelul matematic dinamic obținut în relația (22) este reprezentat de o ecuație


diferențială ordinară, liniară, neomogenă, cu coeficienți constanți. Coeficientul a al
derivatei (exprimat în unități de timp) se numește constantă de timp, iar coeficientul b al
termenului liber se numește coeficient de transfer.
Implementarea relației (22) în mediul de Simulink presupune o prelucrare a
relației de forma:

1
𝐻 = 𝐻(0) + ∫(𝑏 ∗ 𝑄𝑖 − 𝐻)𝑑𝑡 (23)
𝑎

Figura 21 prezintă digrama de simulare a relației (23), considerând b=3.15, a=


11 și H(0)=74.

Figura 21. Diagrama de simulare a relației (23)

O altă formă echivalentă de reprezentare a modelului matematic (22) este


modelul de tip funcție de transfer care este mult mai ușor de implementat în mediile de
simulare.

𝑏
𝐻(𝑠) = (24)
𝑎∗𝑠+1

39
Diagrama relației (24) în mediul Simulink este prezentată în Figura 22.
Evoluția în timp a nivelului la o modificare de tip treaptă a debitului de intrare este
prezentată în Figura 23.

Figura 22. Diagrama de simulare a relației (24)

Figura 23. Evoluția în timp a nivelului la o modificare de tip treaptă a debitului de


intrare de la 50 l/h la 60 l/h

Exemplul 13. Se consideră procesul acumulare a unui lichid pentru două vase
aflate în cascadă, ilustrat în Figura 24, în cadrul căruia debitul de ieșire Qe1 din primul
vas reprezintă debitul de intrare Qi2 pentru cel de-al doilea vas. În cazul de față:

40
𝑄𝑒1 = 𝑄𝑖2 = 𝑘1 ∗ 𝐻1 (25)

Figura 24. Procesul de acumulare pentru două vase în cascadă

Se cere să se determine modelul matematic al procesului și să se simuleze


pentru o variație treaptă a mărimii de intrare a sistemului Qi, conform Figura 24.
În mod similar cu exemplul anterior, ecuațiile bilanțurilor materiale pentru cele
două vase sunt:

𝑑𝐻1
𝐴1 ∗ = 𝑄𝑖1 − 𝑘1 ∗ 𝐻1 (26)
𝑑𝑡
𝑑𝐻2
𝐴2 ∗ = 𝑘1 ∗ 𝐻1 − 𝑘2 ∗ 𝐻2 (27)
𝑑𝑡

Realizarea diagramei acestui exemplu, ilustrată în Figura 25, impune utilizarea


uneia dintre facilitățile Simulink – ului de a grupa mai multe blocuri într-un singur bloc,
utilizând blocul Subsystem din componenta Ports&Subsystem.

41
Figura 25. Diagrama de simulare a procesul de acumulare pentru două vase în
cascadă

În acest caz, s-au utilizat două blocuri Subsystem, unul pentru modelarea
primului vas, denumit Vas 1 în Figura 25 și unul pentru modelarea celui de-al doilea
vas denumit Vas 2. Un dublu click pe subsistemul Vas1 deschide diagrama asociată
modelului primului vas, Figura 26. Conexiunea cu modelul celui de-al doilea vas,
model ilustrat în Figura 27 este realizată prin intermediul blocurilor Out și In din
componenta Ports&Subsystem, denumite Qe1 respectiv Qi2. Evoluția în timp a
nivelurilor în cele două vase sunt ilustrate în Figura 28 și Figura 29.
Pentru acest exemplu s-au luat în considerare aceleași valori ale constantelor a
și b din exemplul 12.

Figura 26. Simulatorul primului vas


42
Figura 27. Simulatorul celui de-al doilea vas

Figura 28. Evoluția în timp a nivelului din primul vas la o modificare treaptă a
debitului de intrare de la 50 l/h la 60 l/h

Figura 29. Evoluția în timp a nivelului în cel de/al doilea vas la o modificare
treaptă a debitului de intrare de la 50 l/h la 60 l/h
43
Exemplul 14. Se consideră procesul acumulare a unui lichid pentru două vase
aflate în serie, proces ilustrat în Figura 30. Se cere să se determine modelul matematic
al procesului și să se simuleze pentru o variație treaptă a mărimea de intrare a sistemului
Qi, conform celor prezentate în Figura 30.

Figura 30. Procesul de acumulare pentru două vase în serie

Bilanțul material pentru primul vas este:

𝑑𝐻1
𝐴1 ∗ = 𝑄𝑖1 − 𝑄𝑒1 (28)
𝑑𝑡

În acest caz debitul de ieșire din primul vas este funcție de diferența de nivel
dintre cele două vase:

𝑄𝑒1 = 𝑘1 ∗ (𝐻1 − 𝐻2 ) (29)

În aceste condiții bilanțul material al primului vas este:

𝑑𝐻1
𝐴1 ∗ = 𝑄𝑖1 − 𝑘1 ∗ (𝐻1 − 𝐻2 ) (30)
𝑑𝑡

Bilanțul material pentru cel de-al doilea vas este:

𝑑𝐻2
𝐴2 ∗ = 𝑘1 ∗ (𝐻1 − 𝐻2 ) − 𝑘2 ∗ 𝐻2 (31)
𝑑𝑡

44
Diagramele de simulare pentru acest exemplu sunt prezentate în Figura 31
(pentru întreg modelul), Figura 32 (pentru primul vas), Figura 33 (pentru cel de-al
doilea). Evoluția în timp a nivelurilor în cele două vase sunt ilustrate în Figura 34 și
Figura 35.

Figura 31. Simulatorul exemplului 13

Figura 32. Simulatorul primului vas

45
Figura 33. Simulatorul celui de-al doilea vas

Figura 34. Evoluția în timp a nivelului din primul vas la o modificare treaptă a
debitului de intrare

46
Figura 35. Evoluția în timp a nivelului în cel de/al doilea vas la o modificare
treaptă a debitului de intrare Q1

3.4. Întrebări și exerciții

1. Fie vasul prevăzut cu o manta de încălzire cu abur, ilustrat în Figura 36. În


cadrul acestuia, debitul de intrare se notează cu Q1, iar debitul de ieșire cu Q2
[volum/timp]. Conținutul vasului variază conform relației:

𝑑𝑉
= 𝑄1 − 𝑄2 (32)
𝑑𝑡

Termeni bilanțului energetic corespunzători relației (32) sunt următorii:


 cantitatea de căldură intrată în sistem este Q1cρ T1 ;

 cantitatea de căldură ieșită din sistem este Q1cρ T2

 viteza de variație a cantității de căldură din sistem este


d
VCρ T2 
dt
 viteza de variație a căldurii transferată de manta q  λA(T2  Tm )
În termenii, de mai sus, T1 reprezintă temperatura debitului de intrare, T2 –
temperatura lichidului din vas, λ - coeficientul general de transmisie a căldurii prin

47
peretele mantalei, A – suprafața peretelui mantalei, T – temperatura aburului în manta, c
– căldura specifică fluidelor, ρ – densitate.

Figura 36. Vas prevăzut cu manta cu abur [3]

Introducând toți termenii în ecuația (32) în ecuația bilanțului energetic se


obține următoare ecuație:

𝑑
(𝑉 ∗ 𝑐 ∗ 𝜌 ∗ 𝑇2 ) = 𝑄1 ∗ 𝑐 ∗ 𝜌 ∗ 𝑇1 − 𝑞 − 𝑄2 ∗ 𝑐 ∗ 𝜌 ∗ 𝑇2 (33)
𝑑𝑡

Ca și ipoteză simplificatoare se consideră că temperatura T2 este aceeași în


toate punctele din interiorul vasului, de aceea este egală cu temperatura fluxului de
ieșire din sistem.
Să se întocmească programul în MATLAB sau Simulink pentru simularea
vasului prevăzut cu manta.
2. Se consideră vasul prevăzut cu o manta de încălzire cu abur prezentat în
Figura 37 [3]. Acest vas are două fluxuri de alimentare, notate în figură cu FA și FB.
Aceste fluxuri au căldurile specifice cA și cB. Se consideră că suprafața de transfer de
căldură dintre mantaua de abur și conținutul vasului, A, variază pe măsura variației
nivelului din vas. Se admite că variațiile de densitate sunt neglijabile.
Bilanțul material în acest caz este:
𝑑𝑉
= 𝐹𝐴 + 𝐹𝐵 − 𝐹2 (34)
𝑑𝑡

Conținutul de căldură al fluidelor din vas este:

48
𝐶𝐴 𝐶𝐵
𝐶2 = 𝐶𝐴 ∗ + 𝑐𝐵 ∗ (35)
𝜌𝐴 𝜌𝐵

În ecuația (35), semnificația termenilor este:

 C — concentrația (lbmol/ft3);
 Ρ — densitatea (lbmol/ft3);

Pentru determinarea concentrațiilor CA și CB, mai sunt necesare două ecuații de


debit. Acestea au forma: debit de acumulare = intrare – ieșire:
𝑑
(𝐶 𝑉) = 𝐹𝐴 − 𝐹2 𝐶𝐴 (36)
𝑑𝑡 𝐴
𝑑
(𝐶 𝑉) = 𝐹𝐵 − 𝐹2 𝐶𝐵 (37)
𝑑𝑡 𝐵

Variația volumului din vas va produce o variație a suprafeței de transfer de


căldură A, conform ecuației:

𝐷2 𝜋 4𝑉
𝐴= + (38)
4 𝐷

În ecuația de mai sus, D semnifică diametrul vasului.

Se cere să se întocmească programul Matlab sau Simulink pentru simularea


vasului descris.

Figura 37 Vas prevăzut cu manta cu abur

49
Lucrarea 4 - Modelarea experimentală

4.1. Obiectivele lucrării

 Însușirea metodei de modelare experimentală;


 Metode grafico- analitice de identificarea a parametrilor unui model
matematic;
 Utilizarea System Identification Toolbox a mediului MATLAB pentru
identificarea parametrilor unui model.

4.2. Breviar teoretic

Elaborarea modelelor matematice utilizând metoda experimentală presupune


parcurgerea etapelor prezentate în Figura 38.

50
Figura 38. Etapele modelării experimentale

Metoda grafico-analitică de identificare al unui model de ordinul I.


Dacă răspunsul în timp al unui proces y(t) la o modificare treaptă a intrării are
forma din Figura 39, atunci putem considera modelul matematic al procesului de
ordinul 1 și are forma:

𝐾 ∗ 𝑦̇ + 𝑦 = 𝑇 ∗ 𝑢 (39)

În ecuația (39), K este reprezintă constanta de timp, dimensional fiind


exprimată în unități de timp, T - coeficientul de amplificare, y - ieșirea sistemului, u -
intrarea sistemului.

51
Figura 39. Răspunsul în timp al elementului aperiodic de ordinul 1 la un semnal
treaptă

Problema care se pune este determinarea constantelor K și T.


În regim staționar, valoarea derivatei y din ecuația (34) devine nulă. În această
situație, ecuația (34) devine:

𝑦 = 𝑇∗𝑢 (40)

Această relație permite determinarea coeficientului de amplificare ca fiind


raportul dintre variația mărimii de ieșire y(t) și variația mărimii de intrare u(t) [4].

𝑦𝑓 − 𝑦𝑖
𝑇≈ (41)
𝑢𝑓 − 𝑢𝑖

Determinarea constantei de timp se poate realiza prin metoda tangentei ce


constă în trasarea tangentei la grafic în origine la răspunsul în timp al elementului
aperiodic de ordinul 1 la un semnal treaptă, precum în Figura 40. Din punct de vedere
matematic tangenta la grafic în origine este:

𝑑𝑦 𝑇
| = (42)
𝑑𝑡 𝑡=0 𝐾

Valoarea constantei K este egală cu distanța dintre punctul de trasare a tangatei


și punctul de intersecție a tangentei cu valoarea finală a lui y(t). Se recomandă trasarea a
minim trei tangente pentru a determina o medie a acestora.

52
Figura 40. Răspunsul în timp al elementului aperiodic de ordinul 1 la un semnal
treaptă

Soluția modelului matematic (39) este:

𝑡
𝑦(𝑡) = 𝑦𝑖 + 𝑇 ∗ (1 − 𝑒 −𝐾 ) (43)

Metoda grafico-analitică de identificare al unui model de ordinul II. Dacă


răspunsul în timp al unui proces y(t) la o modificare treaptă a intrării are forma din
Figura 41, atunci putem considera că modelul matematic al procesului este de ordinul 2
și are forma:
𝐾1 ∗ 𝑦̈ + 𝐾2 ∗ 𝑦̇ + 𝑦 = 𝑡 ∗ 𝑢(𝑡) (44)

În modelul (44), K1, K2 sunt constante de timp iar T are semnificația prezentată
la elementul aperiodic de ordinul întâi.

53
Figura 41. Răspunsul în timp al unui model matematic de ordinul 2.

Coeficientul de amplificare T se determină conform relației (41).


Determinarea constantelor K1 și K2 este destul de greoaie fapt pentru care se
preferă aducerea ecuației (44) la forma:

𝑇
𝐻(𝑠) = (45)
(𝐾1 ∗ 𝑠 + 1) ∗ (𝐾2 ∗ 𝑠 + 1)

În ecuația (45), 𝑎1 = 𝐾1 ∗ 𝐾2 iar 𝑎2 = 𝐾1 + 𝐾2 .


Determinarea constantelor de timp K1 și K2 se poate realiza prin intermediul
următoarelor metode.
B1. Metoda timpilor t30 și t70. Cunoscându-se valorile ieșirii y la 30% și 70 %
din răspuns, vezi Figura 41, constantele T1 și T2 se determină pe baza următorului
sistem de relații [5, 6]:

𝑡70%
𝐾1 + 𝐾2 =
1.2
𝑡30% + 𝑡70% 𝑡30% (46)
𝐾1 − 𝐾2 = ∗ (0.45 − )
{ 0.6 𝑡70%

B2. Metoda Smith. Această metodă se bazează pe valoarea răspunsului la timpii


t20 și t60. Considerând modelul de forma:

𝑇 ∗ 𝑒 𝜏𝑠
𝐻(𝑠) = (47)
𝐾2 ∗ 𝑠2 + 𝐾 ∗ 𝜉 ∗ 𝑠 + 1

54
Etapele de identificare a metodei Smith sunt [7]:
1. Determinarea t20 și t60 din răspunsul în timp al elementului de ordinul II.
2. Găsirea valorilor lui ξ și t60 /K din Figura 42.
3. Calcularea lui K cunoscând t60 /K.

Figura 42. Graficul metodei Smith [7].

4.3. Partea aplicativă

Exemplul 15. Se consideră date experimentale din Tabelul 11, asociate unui
proces a cărei dinamică a intrării este prezentată în Figura 43. Să se determine modelul
matematic asociat acestora.

Figura 43. Dinamica procesului studiat

55
Tabelul 11. Date experimentale

t[min] y(t)
0 80
3 84.35
6 87.60
9 89.60
12 90.95
15 92.30
18 92.70
21 93.5
24 93.88
27 94.5
30 94.6
33 95

Rezolvare. Pe baza datelor din Tabelul 11, se va realiza graficul din Figura 44,
pe baza căruia se vor identifica parametrii modelului matematic de ordinul I, asociat
datelor experimentale.

Figura 44. Graficul pe baza datelor din tabelul (11)

Constanta de timp asociat modelului matematic este K=10 min, iar factorul de
amplificare este:

Δ𝑌 95 − 80 15
𝑇= = = =5 (48)
Δ𝑈 23 − 20 3

56
În aceste condiții modelul matematic asociat datelor din Tabelul 11 este:

10 ∗ 𝑦̇ + 𝑦 = 5 ∗ 𝑢 (49)

Soluția analitică a ecuației (44) este:

𝑡
𝑦(𝑡) = 80 + 15 ∗ (1 − 𝑒 −10 ) (50)

O comparație între datele calculate și datele experimentale sunt prezentate în


Tabelul 12 și Figura 45. Programul în MATLAB pentru a realiza graficul comparativ
este prezentat in lista 13.

Tabelul 12. Comparaţie între datele reale şi date calculate

t[min] y(t) yc(t) eroare


0 80 80 0
3 84.35 83.88 0.46
6 87.60 86.76 0.83
9 89.60 88.90 0.69
12 90.95 90.48 0.46
15 92.30 91.65 0.64
18 92.70 92.52 0.17
21 93.5 93.16 0.33
24 93.88 93.63 0.24
27 94.5 93.99 0.5
30 94.6 94.25 0.34
33 95 94.44 0.55

57
Figura 45. Comparație între datele experimentale şi cele calculate

Lista 13. Programul pentru a realiza graficul comparativ.


x=[0 3 6 9 12 15 18 21 24 27 30 33]
y=[80 84.35 87.60 89.60 90.95 92.30 92.70 93.5 93.88 94.5 94.6 95]
z=80+15*(1-exp(-x/10))
plot(x,y,'k', x,z,'-*k')

Unul din instrumentele software destinate identificării sistemelor este System


Identification Toolbox din MATLAB. În prezenta lucrare, autorii au studiat posibilitatea
utilizării System Identification Toolbox și au comparat rezultatele obținute cu acest
instrument în raport cu rezultatele obținute la utilizarea metodelor prezentate anterior.
Pentru a deschide interfața grafică a System Identification Toolbox, se tastează comanda
ident în fereastra de comandă MATLAB, interfața fiind prezentată în Figura 46.

58
Figura 46. Interfața modulului System Identification Toolbox

În mod uzual, datele experimentale asociate dinamicii sistemului sunt de forma


t j , y j , j  1, m . Pentru a importa aceste date în System Identification Toolbox

trebuie creat în prealabil un fișierele cu datele experimentale. În cazul de față se va crea


fișierul u.dat, fișier ce conține datele asociate variabilei de intrare u, și un fișier y.dat, ce
conține date de ieșire. Machetele celor două fișiere sunt prezentate în lista 14 respectiv
lista 15 [8].

59
Lista 14. Structura fișierului u.dat
23
23
23
23
23
23
23
23
23
23
23
23

Lista 15. Structura fișierului y.dat


80
84.35
87.60
89.60
90.95
92.30
92.70
93.5
93.88
94.5
94.6
95

Importarea acestor fișiere în Workspace presupune utilizarea butonului Import data


ce va deschide o fereastra unde se va selecta unul din cele două fișiere. După selectarea unui
fișier, în fereastra nou deschisă, Figura 47, unde se va selecta Import Selection/ Import data.

60
Figura 47. Interfața de importare a fișierelor în Workspace

Pasul următor este importarea datelor în System Identification. În meniul Import


Data al System Identification Tool se selectează funcția Time domain data, care are ca efect
deschiderea ferestrei de importare de datelor, precum în Figura 48. În fereastra Import Data
sunt specificate următoarele opțiuni:
 Input – numele variabilei de intrare a sistemului;
 Output – numele variabilei de ieșire a sistemului;
 Data name – numele fișierului de date experimentale, nume care etichetează
datele din System Identification Tool, după ce operația de import este
finalizată;
 Starting time – valoarea inițială a axei timpului. Uzual axa timpului pornește
de la valoarea 0;
 Sampling interval – valoarea pasului de tabelare a axei timpului, în cazul de
față 3.
Activarea comenzii Import aduce datele experimentale în System Identification Tool,
pictograma prezentată în Figura 49 confirmând disponibilitatea pentru prelucrarea viitoare a
datelor.

61
Figura 48. Fereastra de importare a datelor în System Identification Toolbox

Figura 49. Finalizarea importului datelor experimentale

62
După importul datelor experimentale, utilizatorul poate vizualiza dinamica mărimii
de intrare, u , și a mărimii de ieșire, y . Pentru a vizualiza dinamica datelor de intrare și de
ieșire, în meniul Data View se selectează Time Plot, apărând imaginea din Figura 50.

Figura 50. Dinamica variabilelor de intrare și ieșire.

Dacă datele experimentale au fost introduse corect, utilizatorul confirmă această


situație utilizând funcția Validation Data.
Următoarea etapă este destinată calculului parametrilor modelului matematic în
regim dinamic. Pentru aceasta, în meniul Operations/Estimate al System Identification Tool
este selectată funcția Process models, precum în Figura 51. În cadrul acestei funcții,
utilizatorul selectează numărul de poli ai funcției de transfer asociată modelului dinamic al
sistemului și timpul mort. O imagine a acestei operații, pentru estimarea modelului matematic
de ordinul I fără timp mort, este prezentată în Figura 52.
Forma modelului matematic determinat prin funcția de transfer este:

4.12
𝐻(𝑠) = (51)
8.97 ∗ 𝑠 + 1

63
.

Figura 51. Meniul Estimate utilizat pentru determinarea constantelor modelului dinamic

Figura 52. Fereastra Process Models pentru sistemul de ordinul 1 fără timp mort
64
Un grafic comparativ dintre datele experimentale și cele calculate cu funcția de
transfer este prezentat în Figura 54
După estimarea modelului matematic, interfața grafică System Identification Tool are
forma prezentată în Figura 53. Rezultatele sunt vizibile în modulul P1, situat în partea
dreaptă a ferestrei.

Figura 53. Interfața grafică a System Identification Tool după estimarea modelului
matematic

Un grafic comparativ dintre datele experimentale și cele calculate cu funcția de


transfer este prezentat în Figura 54.

65
Figura 54. Graficul comparativ

Exemplul 16. Se consideră datele din Tabelul 13, ce descriu un element aperiodic de
ordinul 2 la o variaţie treaptă ∆u=4. Determinaţi parametrii elmentului aperiodic de ordinul 2
prin cele metode grafico-analitice şi utilizând System Identification Toolbox.

Tabelul 13. Datele experimentale ale exemplului

t[min] y(t)
0 0
1.5 0.33
3 0.98
4.5 1.65
6 2.23
7.5 2.7
9 3.05
10.5 3.31
12 3.51
13.5 3.65
15 3.75
16.5 3.82
18 3.87
19.5 3.91
21 3.93
22.5 3.95
24 3.96
25.5 3.97
27 3.98
28.5 3.98
66
30 3.99
Utilizând System Identification Toolbox, precum în Figura 55, obţinem funcţia de
transfer de forma:
4 (52)
𝐻(𝑠) =
(2.22 ∗ 𝑠 + 1) ∗ (4.29 ∗ 𝑠 + 1)

Figura 55. Utilizarea System Identification Toolbox pentru rezolvarea exemplului

Metoda timpilor t30% şi t70%. Pe baza datelor din tabel se realizează graficul asociat
procesului în Matlab, precum în Figura 56.

67
Figura 56. Graficul corespunzător metodei timpilor 30% și 70%

Coeficientul de amplificare al procesului are valoarea:

4−0 (53)
𝑇= =4
1

Răspunsul sistemului la 30 % respectiv 70 % din timpul de răspuns este

𝑦30% = 0 + 0.3 ∗ (3.99 − 0) = 1.19 (54)


𝑦70% = 0 + 0.7 ∗ (3.99 − 0) = 2.79 (55)

Pe baza graficului din Figura 56, la răspunsul de y30%=1.19 îi corespunde timpul


t30=4 minute, iar pentru răspunsul y70.%= 2.79 îi corespunde t70= 7.99 minute.
Conform metodei timpilor, K1=2.84 şi K2= 3.83.

7.99
𝐾1 + 𝐾2 =
1.2 (56)
4 + 7.99 4
𝐾1 − 𝐾2 = ∗ (0.45 − )
0.6 7.99

Funcţia de transfer are forma:

4
𝐻(𝑠) = (57)
(2.84 ∗ 𝑠 + 1) ∗ (3.83 ∗ 𝑠 + 1)

Metoda Smith. Răspunsul. Pe baza graficului din Figura 56 se vor determina valorile
timpilor la 20% şi 60% din răspunsul sistemului, t20%=2.5 iar t70%= 6.4.

68
𝑦20% = 0 + 0.2 ∗ (3.99 − 0) = 0.798 (58)
𝑦70% = 0 + 0.6 ∗ (3.99 − 0) = 2.39 (59)
Cu ajutorul graficului lui Smith, Figura 57, vom determina că pentru raportul
t20%/t60%= 2.5/6.4=0.39 îi corespunde ξ= 1.6, iar t60%/K=2.1, rezultând K=3.04.
În consecinţă:
4 4 (60)
𝐻(𝑠) = =
3.042 ∗ 𝑠 2 + 3.04 ∗ 1.6𝑠 + 1 9.28 ∗ 𝑠 2 + 4.85 ∗ 𝑠 + 1

Figura 57. Graficul Smith

4.4. Întrebări și exerciții

1. Să se determine modelul matematic dinamic al unui traductor de temperatură, a


cărei dinamică a intrării este prezentată în Figura 58. Date experimentele privind dependența
dintre mărimea de ieșire, curentul generat de traductorul de temperatură și timp, sunt
prezentate în Tabelul 14. Să se întocmească programul în MATLAB pentru realizarea unei
comparații între datele experimentale și cele calculate.

69
Figura 58. Dinamica intrării traductorului de temperatură

Tabelul 14. Datele experimentale asociate unui traductor de temperatură.

Timp [s] I[mA]


0 6.97
10 8,29
20 9,52
30 10,52
40 11,28
50 11,70
60 12,07
70 12,35
80 12,55
90 12,70
100 12,80
110 12,90
120 13.04

2. Se consideră procesul de acumulare prezentat în Figura 59. Fluxul Qvi reprezintă


debitul de intrare în vas, în m3/s iar fluxul Qve debitul de evacuare, exprimat în aceeași unitate
de măsură. Fluxul de ieșire este caracterizat prin curgere liberă a lichidului din vas.

Figura 59. Structura procesului de acumulare a lichidului, curgere liberă.

Mărimea de intrare a sistemului Qi are o variație treaptă, conform Figura 60.

70
Figura 60. Dinamica debitului Qi

Răspunsul experimental al sistemului la variația mărimii de ieșire este prezentat în


Tabelul 15.

Tabelul 15. Date experimentale privind dinamica nivelului la curgere liberă.

Timp[min] 0 0.5 1 2 5 10 15 20 25 30 35 40 45 50

H[mm] 74 79 84 92 112 136 150 160 166 170 174 176 177 179

3. În cadrul unui reactor chimic s-a studiat variația temperaturii de ieșire în funcție de
timpul scurs de la începutul reacției și de proporția în care a fost deschis robinetul de
combustibil. Datele experimentale obținute sunt prezentate în Tabelul 16:

Tabelul 16. Datele experimentale obținute din reactor

Timp Deschis Temper Timp Deschis Temper Timp Deschis Temper


(min) (%) atură (min) (%) atură (min) (%) atură
(°C) (°C) (°C)
0 30 69.65 36 38 70.22 72 38 75.27
4 30 69.7 40 38 71.32 76 38 75.97
8 30 70.41 44 38 72.33 80 38 76.30
12 30 70.28 48 38 72.92 84 38 76.3
16 30 69.55 52 38 73.45 88 38 75.51
20 30 70.32 56 38 74.09 92 38 74.86
24 38 69.97 60 38 75 96 38 75.86
28 38 69.96 64 38 75.25 100 38 76.2
32 38 69.68 68 38 74.78 104 38 76
Se cer următoarele lucruri:

 Estimați parametrii unui model de ordinul întâi, cu timp mort;


 Determinați dacă modelul obținut este adecvat datelor experimentale din
tabel;

71
 Estimați erorile modelului caresunt cauzate de datele experimentale și de
metoda de calcul.

72
Lucrarea 5 - Regresia polinomială și regresia multiplă liniară

5.1. Obiectivele lucrării

 Însușirea noțiunilor de bază legate de regresia polinomială și de regresia multiplă


liniară;
 Însușirea funcțiilor MATLAB pentru regresia polinomială;
 Însușirea funcțiilor MATLAB pentru regresia multiplă liniară.

5.2. Aspecte teoretice

Analiza de regresie (regresia) este o metodă de determinare a unei relații matematice


(de corelare) între datele care aparțin unui anumit set de date. Setul de date care urmează a fi
supus analizei de regresie este compus din una sau mai multe variabile independente (notate
în general cu 𝑥) și o variabilă dependentă (notată în general cu 𝑦). Relațiile matematice
obținute (modelele matematice) poartă numele de ecuații de regresie [1].
Un set de date care urmează să fie supus analizei de regresie are două caracteristici:
 Numărul de variabile independente ale setului:
 Set de date cu o variabilă independentă;
 Set de date cu mai multe variabile independente;
 Numărul de date din acest set.
Pentru corelarea datelor dintr-un set de date pot fi utilizate mai multe categorii de
relații matematice: ecuații liniare, polinoame, etc. Din acest motiv, în cadrul denumirii
regresiei se menționează și tipul de relație matematică utilizat. De exemplu, dacă pentru
corelarea datelor dintr-un set de date se utilizează o ecuație liniară, atunci tipul de regresie
utilizat se numește regresia liniară. Dacă există mai multe variabile independente, regresia
poartă denumirea de regresie multiplă.
Analiza de regresie depinde foarte mult de datele din setul de date utilizat. Cu cât
există o corelare mai puternică între aceste date, cu atât ecuația de regresie leagă mai precis
între ele datele primite. Din acest motiv, analiza de regresie este o metodă semi-empirică, iar
ecuația de regresie obținută este o ecuație de aproximare. Pentru determinarea ecuației de
regresie este mai important gradul de corelare al datelor din setul de date analizat decât
numărul de date. Este de preferat un număr de date mai redus, dar corelat puternic decât un
număr mare de date, cu o corelare slabă.

73
Un set de date poate fi corelat prin mai multe ecuații de regresie. De exemplu, fie
setul de date cu o singură variabilă independentă, prezentat în Tabelul 17.

Tabelul 17. Set de date cu o singură variabilă independentă

𝒙 𝒚
6 14

Câteva din ecuațiile de regresie care pot fi utilizate pentru corelarea acestui set de
date sunt prezentate mai jos:

𝑦 =𝑥+8 (61)
𝑦 =2∗𝑥+2 (62)
𝑥
𝑦 = + 11 (63)
2
𝑦 = 𝑥2 − 3 ∗ 𝑥 − 4 (64)

Deoarece același set de date poate fi corelat utilizând mai mult de o ecuație de
regresie, devine importantă determinarea celei mai precise ecuații de regresie. Din acest
motiv, ecuațiile de regresie sunt supuse analizelor statistice, pentru a verifica semnificația
coeficienților și adecvanța ecuației de regresie [1]. În practică, toate programele de calculator
care efectuează analiza de regresie vor determina cea mai precisă ecuație de regresie.
Există mai multe metode de determinare a ecuațiilor de regresie. Cea mai cunoscută
dintre ele este metoda celor mai mici pătrate. Această metodă va fi utilizată în cadrul acestei
lucrări de laborator.
Analiza de regresie, este o procedură utilizată foarte mult în diferite domenii:
inginerie, finanțe, medicină (mai ales în ramura epidemiologică), economie, sport, etc.

5.3. Regresia polinomială

Regresia polinomială este acea analiză de regresie în care setul de date de intrare este
corelat cu ajutorul unei relații matematice care are forma unui polinom de gradul 𝑛 [1, 9].
Polinomul obținut se mai numește polinom de regresie. Datele utilizate pentru determinarea
polinomului de regresie sunt de forma (𝑥𝑖 , 𝑦𝑖 ), 𝑖 = 1 … 𝑚.
Forma generală a polinomului utilizat este prezentată în ecuația (51):

𝑦 = 𝑎1 ∗ 𝑥 + 𝑎2 ∗ 𝑥 2 + ⋯ + 𝑎𝑛 ∗ 𝑥 𝑛 (65)

74
Forma generală a ecuației (51) este prezentată în ecuația (52):

𝑦 = ∑ 𝑎𝑖 ∗ 𝑥 𝑖 (66)
𝑖=1

În ecuația (51), semnificația termenilor este următoarea:


 𝑦 — variabila dependentă;
 𝑥 𝑖 — variabila independentă, ridicată la puterea 𝑖;
 𝑛 — gradul polinomului de regresie;
 𝑎𝑖 — coeficienții polinomului de regresie.
În cadrul ecuației (51), singura necunoscută o constituie coeficienții polinomului de
regresie, 𝑎𝑖 . Aceștia sunt determinați de către algoritmul de regresie polinomială. Practic,
determinarea polinomului de regresie înseamnă determinarea valorilor coeficienților 𝑎𝑖 .
Gradul polinomului 𝑛 se stabilește înaintea efectuării analizei de regresie. Un grad
mai mare al polinomului de regresie va duce la un polinom de regresie ce aproximează mai
precis datele din setul de intrare, dar câștigul de precizie va fi din ce în ce mai mic. La un
moment dat, câștigul de precizie obținut va fi atât de mic, încât creșterea gradului polinomului
de regresie va deveni nejustificată.
Rezolvarea problemei de regresie polinomială (determinarea coeficienților ai) se face
utilizând metoda celor mai mici pătrate. Această metodă presupune minimizarea funcției
obiectiv:

𝑚 𝑛 2

𝑓(𝑎𝑖 ) = ∑ (𝑦𝑗 − ∑ 𝑎𝑖 𝑥𝑗𝑖 ) (67)


𝑗=1 𝑖=0

Pentru a putea minimiza funcția obiectiv (53) se pleacă de la condiția necesară pentru
existența extremului funcției obiectiv multivariabile și anume ca derivatele parțiale în raport
cu toate variabilele funcției să se anuleze:

𝜕𝑓
=0
𝜕𝑎0
𝜕𝑓
=0 (68)
𝜕𝑎1

𝜕𝑓
=0
{𝜕𝑎𝑛

75
Sistemul (54) are forma matriceală 𝑋 ∗ 𝐴 = 𝑌, unde matricele X, A și Y sunt
următoarele:

𝑚 𝑚 𝑚

𝑚 ∑ 𝑥𝑗 ∑ 𝑥𝑗2 … ∑ 𝑥𝑗𝑛
𝑗=1 𝑗=1 𝑗=1
𝑚 𝑚 𝑚 𝑚

∑ 𝑥𝑗 ∑ 𝑥𝑗2 ∑ 𝑥𝑗3 … ∑ 𝑥𝑗𝑛+1


𝑗=1 𝑗=1 𝑗=1 𝑗=1
𝑋= 𝑚 𝑚 𝑚 𝑚

∑ 𝑥𝑗2 ∑ 𝑥𝑗3 ∑ 𝑥𝑗4 … ∑ 𝑥𝑗𝑛+2


𝑗=1 𝑗=1 𝑗=1 𝑗=1 (69)
… … … … …
𝑚 𝑚 𝑚 𝑚

∑ 𝑥𝑗𝑛+1 ∑ 𝑥𝑗𝑛+2 ∑ 𝑥𝑗𝑛+3 … ∑ 𝑥𝑗2𝑛


(𝑗=1 𝑗=1 𝑗=1 𝑗=1 )
𝐴𝑇 = (𝑎0 𝑎1 𝑎2 … 𝑎𝑛 )
𝑚 𝑚 𝑚 𝑚

𝑌 𝑇 = (∑ 𝑦𝑗 ∑ 𝑦𝑗 𝑥𝑗 ∑ 𝑦𝑗 𝑥𝑗2 … ∑ 𝑦𝑗 𝑥𝑗2𝑛 )
𝑗=1 𝑗=1 𝑗=1 𝑗=1

Sistemul (55) este un sistem liniar, care poate fi rezolvat cu ajutorul tehnicilor
numerice [1].
Pentru determinarea polinomului de regresie, MATLAB utilizează funcția polyfit.
Această funcție determină coeficienții polinomului de regresie de gradul 𝑛, unde 𝑛 este ales
de către utilizator, cu ajutorul metodei celor mai mici pătrate. Rezultatul este reținut sub
forma unui șir de lungime 𝑛 + 1, șir ce conține coeficienții polinomului de regresie în ordinea
descrescătoare a puterilor [2].
Funcția polyfit permite utilizarea mai multor sintaxe de apelare.
 𝑝 = 𝑝𝑜𝑙𝑦𝑓𝑖𝑡(𝑥, 𝑦, 𝑛). În cadrul acestei apelări, funcția polyfit determină
coeficienții polinomului de regresie de gradul 𝑛, având 𝑥 ca variabilă
independentă și 𝑦 ca variabilă dependentă. Coeficienții determinați sunt
reținuți în variabila 𝑝;
 [𝑝, 𝑆] = 𝑝𝑜𝑙𝑦𝑓𝑖𝑡(𝑥, 𝑦, 𝑛). Această apelare este similară cu cea precedentă,
singura deosebire fiind existența variabilei 𝑆. Această variabilă este o
structură de date ce reține erori de estimare sau predicții;
 [𝑝, 𝑆, 𝑚𝑢] = 𝑝𝑜𝑙𝑦𝑓𝑖𝑡(𝑥, 𝑦, 𝑛). Această apelare este similară cu cea
precedentă, singurele deosebiri fiind existența variabilei structurate 𝑚𝑢 și
faptul potrivit căruia coeficienții polinomului de regresie sunt calculați după
76
un algoritm diferit, care ia în considerare valorile acestei variabile structurate
[2].
În cadrul acestei lucrări de laborator va fi utilizată apelarea care întoarce numai
coeficienții polinomului de regresie, coeficienți reținuți în variabila 𝑝.
Exemplul 16: se dau datele prezentate în Tabelul 18. Să se scrie un program
MATLAB ce determină coeficienții polinomului de regresie care corelează aceste date.

Tabelul 18. Datele de intrare utilizate drept exemplu

𝒙 𝒚 𝒙 𝒚
24 0.11 40 1.06
26 0.22 41 1.1
28 0.38 44 1.24
29 0.46 48 1.48
32 0.58 50 1.56
33 0.69 53 1.79
35 0.8 58 2.02
36 0.82 62 2.12

Pentru a rezolva exemplul de mai sus, este necesară îndeplinirea următorilor pași:
 Introducerea datelor prezentate în Tabelul 18, într-o formă pe care limbajul
MATLAB o poate procesa;
 Stabilirea gradului polinomului de regresie. Acest lucru este lăsat la
latitudinea programatorului. În acest exemplu vor fi prezentate rezultatele
obținute prin stabilirea mai multor grade ale polinomului de regresie;
 Apelarea funcției polyfit folosind prima sintaxă din cele 3 prezentate mai sus.
Există două modalități de introducere a datelor de intrare din Tabelul 18:
introducerea manuală a acestora sau citirea lor dintr-un fișier. Deoarece este mai practică, în
acest exemplu va fi folosită a doua modalitate de citire a datelor de intrare, cea a citirii din
fișier.
Înainte de citirea propriu-zisă, vor fi create două fișiere, denumite x.txt și y.txt.
Fișierul x.txt va conține datele de intrare asociate coloanei x din Tabelul 18, iar fișierul y.txt
va conține datele de intrare asociate coloanei y din Tabelul 18.
Pentru a citi datele de intrare dintr-un fișier și a le reține într-o formă matriceală,
MATLAB pune la dispoziția programatorului funcția dlmread. Aceasta are mai multe sintaxe
conform cărora poate fi apelată și este documentată foarte detaliat în sistemul de asistență al
acestui mediu de programare [2].

77
Pentru a rezolva acest exemplu, va fi utilizată sintaxa M = dlmread(filename). În
cadrul acestei sintaxe, M reprezintă matricea ce va reține datele citite din fișier iar filename
reprezintă numele fișierului din care se vor citi datele.
Următorul pas în rezolvarea acestui exemplu îl constituie scrierea programului
MATLAB pentru determinarea coeficienților polinomului de regresie. Acest program are
următoarele instrucțiuni:

clear;
x=dlmread('x.txt');
y=dlmread('y.txt');
p=polyfit(x,y,1)

În programul de mai sus, prima instrucțiune are rolul de a elibera memoria care
conține variabilele MATLAB definite până în acel moment. Următoarele două instrucțiuni au
rolul de a citi datele de intrare aflate în cele două fișiere, iar a patra instrucțiune are rolul de a
calcula polinomul de regresie utilizând datele de intrare citite și stabilind gradul polinomului
ca fiind gradul 1.
La rularea acestui script, variabila p va avea valoarea:
𝑝 = (0.0514 −1.1302)
Aceste valori corespund polinomului de regresie:
𝑦 = 0.0514 ∗ 𝑥 − 1.1302
Similar se pot calcula coeficienții polinomului de regresie de grad superior, prin
modificarea celui de-al treilea parametru al funcției polyfit.
Un pas important după determinarea coeficienților polinomului de regresie este acela
de verificare a preciziei acestuia de aproximare. Există mai multe metode de verificare, una
dintre ele fiind a evalua polinomul determinat în toate valorile care aparțin variabilei
independente 𝑥 și compararea rezultatelor obținute cu valorile variabilei dependente 𝑦. Pentru
evaluarea într-un anumit punct a polinomului de regresie obținut (sau a oricărui alt polinom),
MATLAB pune la dispoziție funcția polyval, care evaluează polinomul cu forma generală:

𝑦 = 𝑝1 ∗ 𝑥 𝑛 + 𝑝2 ∗ 𝑥 𝑛−1 + ⋯ + 𝑝𝑛 ∗ 𝑥 + 𝑝𝑛+1 (70)

Funcția polyval permite utilizarea mai multor sintaxe de apelare:


 𝑦 = 𝑝𝑜𝑙𝑦𝑣𝑎𝑙(𝑝, 𝑥). Această sintaxă evaluează în punctul 𝑥 polinomul care
are coeficienții reținuți în variabila 𝑝, rezultatul fiind reținut în variabila 𝑦;
78
 [𝑦, 𝑑𝑒𝑙𝑡𝑎] = 𝑝𝑜𝑙𝑦𝑣𝑎𝑙(𝑝, 𝑥, 𝑆). Această apelare este similară cu cea prezentată
anterior, cu diferența că se utilizează variabila structurată 𝑆 pentru a genera
erorile de estimare, erori reținute în variabila 𝑑𝑒𝑙𝑡𝑎 [2];
În cadrul acestei lucrări de laborator va fi utilizată apelarea 𝑦 = 𝑝𝑜𝑙𝑦𝑣𝑎𝑙(𝑝, 𝑥).
Modalitatea de verificare prezentată mai sus presupune combinarea funcțiilor polyfit
și polyval pentru a evalua cele două mărimi care vor fi comparate.
Există două metode de utilizare a acestor funcții în cadrul programului MATLAB:
 Prin programare, sub forma unui script. Avantajul acestei metode este că
programatorul are control deplin asupra detaliilor legate de apelarea funcțiilor
𝑝𝑜𝑙𝑦𝑓𝑖𝑡 și 𝑝𝑜𝑙𝑦𝑣𝑎𝑙. Dezavantajul este faptul că lipsește o interfață adecvată,
fapt ce face ca script-ul să fie greu de utilizat de către începători;
 Cu ajutorul unei interfețe. Avantajul acestei metode este acela că utilizarea
funcțiilor 𝑝𝑜𝑙𝑦𝑓𝑖𝑡 și 𝑝𝑜𝑙𝑦𝑣𝑎𝑙 este ușoară, datorită prezenței interfeței.
Dezavantajul este acela că nu există un control asupra detaliilor legate de
apelarea funcțiilor discutate.
În această lucrare de laborator vor fi detaliate ambele variante de utilizare prezentate
mai sus.
Pentru prezentarea modului de lucru prin programare, se va da un exemplu de
rezolvat.
Exemplul 17: se dau datele prezentate în Tabelul 18. Să se scrie un program
MATLAB ce corelează datele din acest tabel printr-un polinom de regresie și să se verifice
precizia estimării acestuia prin compararea ieșirilor obținute cu ajutorul polinomului de
regresie cu ieșirile din datele prezentate în tabel și scrierea diferenței dintre acestea.
Programul pentru rezolvarea acestui exemplu are la bază programul MATLAB
conceput pentru rezolvarea exemplului anterior, la care se adaugă instrucțiunile necesare
pentru evaluarea polinomului de regresie în punctele dorite și de calcul a diferențelor dintre
cele două valori. Și în acest exemplu va fi luat în considerare un polinom de gradul 1. Datorită
faptului că modalitatea de rezolvare este identică, indiferent de gradul ales al polinomului de
regresie, nu are importanță gradul ales al polinomului de regresie.
Programul MATLAB de rezolvare a acestui exemplu este:

79
clear;
x=dlmread('x.txt');
y=dlmread('y.txt');
p=polyfit(x,y,1)
z=polyval(p,x)
t=y-z

În programul de mai sus, semnificația primelor 4 instrucțiuni a fost prezentată


anterior. Instrucțiunea a cincea are rolul de a evalua polinomul de regresie obținut în toate
valorile variabilei x și de a scrie rezultatele obținute, iar instrucțiunea a șasea are rolul de a
calcula și de a scrie diferențele dintre valorile obținute cu ajutorul polinomului de regresie și
cele din datele de intrare.
La rularea acestui program, rezultatele afișate sunt următoarele:
𝑧 = (0.1661 0.2741 0.3821 0.4361 0.5982)
𝑡 = (−0.0561 −0.0541 −0.0021 0.0239 −0.0182)
Notă: Matricele z și t au, în realitate, 16 valori, dar au fost prezentate primele 5, din
motive de spațiu.
Interfața MATLAB este utilizată pentru determinarea coeficienților polinomului de
regresie și verificarea preciziei de estimare a acestuia. Pentru determinarea coeficienților
polinomului de regresie a fost utilizată funcția 𝑝𝑜𝑙𝑦𝑓𝑖𝑡 iar pentru verificarea preciziei acestuia
de estimare a fost utilizată funcția 𝑝𝑜𝑙𝑦𝑣𝑎𝑙.
O prezentare generală a interfeței MATLAB pentru determinarea coeficienților
polinomului de regresie se află în Figura 61.

80
Figura 61. Prezentarea generală a interfeței MATLAB pentru determinarea
coeficienților polinomului de regresie

După cum se poate observa în Figura 61, interfața MATLAB are trei secțiuni:
 Date primare. Scopul acestei secțiuni este acela de a încărca fișierul de date
care conține datele de intrare și de a afișa reprezentarea în coordonate
carteziene a acestora;
 Analiza de regresie. această secțiune determină polinomul de regresie care
corelează datele de intrare citite în cadrul secțiunii date primare. Sunt afișate
abaterea standard și coeficienții polinomului iar, înainte de acest lucru,
utilizatorul trebuie să introducă gradul dorit al polinomului de regresie;
 Autori program. Sunt afișați autorii acestui program.
Pentru a observa atât modul de aplicare a regresiei polinomiale cât și modul de
utilizare al acestei interfețe, în cele ce urmează va fi luat un exemplu de funcționare.
Exemplul 18: se dau datele prezentate în Tabelul 18. Să se determine coeficienții
polinomului de regresie și abaterea standard a acestuia.
Pentru a utiliza interfața MATLAB, primul lucru care trebuie făcut este crearea
fișierului care să conțină datele de intrare. Acest fișier este un fișier text, care are pe fiecare
linie variabila independentă 𝑥 și variabila dependentă corespunzătoare, 𝑦. Aceste două
variabile trebuie despărțite printr-un spațiu.
81
Primul pas care trebuie efectuat este acela al încărcării fișierului de date în program.
Acest lucru se face apăsând butonul Deschidere Fișier de Date din secțiunea Date primare.
După încărcarea fișierului, în această secțiune vor apărea datele încărcate, în formă tabelară și
în reprezentare carteziană, precum în Figura 62.

Figura 62. Datele de intrare încărcate în programul MATLAB

Pasul următor este acela de stabilire a gradului polinomului de regresie și de


determinare a coeficienților acestuia. Acest lucru se realizează din secțiunea Analiza de
regresie. Mai întâi se introduce gradul dorit al polinomului de regresie, apoi se face click pe
butonul OK. Programul arată rezultatele dorite. În Figura 63 sunt prezentate rezultatele
obținute pentru polinomul de regresie de gradul 1.

82
Figura 63. Coeficienții polinomului de regresie de gradul 1 și abaterea standard a
acestuia

Din Figura 63 se poate observa că polinomul de regresie de gradul 1 are forma


𝑦 = 0.054012 ∗ 𝑥 − 1.13023 (71)
Coeficienții polinomului de regresie de gradul 2 și abaterea standard calculată sunt
prezentate în Figura 64.

83
Figura 64. Coeficienții polinomului de regresie de gradul 2 și abaterea standard a
acestuia

Din Figura 64 se poate observa că polinomul de regresie de gradul 2 are forma


𝑦 = −0.000232129 ∗ 𝑥 2 + 0.073662 ∗ 𝑥 − 1.51532 (72)
Din aceeași figură se poate observa că abaterea standard este de ordinul 10−30, fapt
ce arată o precizie excelentă de aproximare a datelor de către polinomul determinat.
Similar se poate alege un grad superior pentru polinomul de regresie. Pentru acest
exemplu, creșterea gradului polinomului de regresie nu a dus la o scădere a abaterii standard
calculate (deci la o creștere a preciziei) ci dimpotrivă, după cum se poate observa în Tabelul
19.

84
Tabelul 19. Variația abaterii standard a polinomului de regresie în funcție de gradul ales
al polinomului

Gradul ales al Abaterea standard a


polinomului de polinomului
regresie determinat
3 2.19 ∗ 10−30
4 1.81 ∗ 10−27
5 2.03 ∗ 10−27
6 3.91 ∗ 10−26
7 1.48 ∗ 10−26
8 8.26 ∗ 10−21
9 1.65 ∗ 10−20

5.4. Regresia multiplă liniară

Regresia multiplă liniară este o extindere a regresiei liniare, în sensul în care


variabila independentă 𝑥 este exprimată sub forma unui șir de numere, în timp ce variabila
dependentă 𝑦 este exprimată sub forma unei valori numerice [10]. Polinomul de regresie este
de forma [1]:

𝑦 = 𝑎0 + 𝑎1 ∗ 𝑥1 + 𝑎2 ∗ 𝑥2 + ⋯ + 𝑎𝑛 ∗ 𝑥𝑛 (73)

În ecuația (59), 𝑥𝑖 reprezintă valorile variabilelor independente, 𝑦 reprezintă valoarea


variabilei dependente iar 𝑛 reprezintă numărul de variabile independente. Determinarea
polinomului de regresie, în cadrul regresiei multiple liniare, înseamnă determinarea
coeficienților 𝑎𝑖 ai acestuia.
Ca și în cazul regresiei polinomiale, determinarea coeficienților modelului matematic
de regresie multiplă liniară se face tot cu ajutorul metodei celor mai mici pătrate. Această
metodă, aplicată în regresia multiplă liniară, presupune minimizarea funcției obiectiv:

2
𝑚 𝑛

𝑓(𝑎0 , 𝑎1 , 𝑎2 , … , 𝑎𝑛 ) = ∑ (𝑦𝑗 − (∑ 𝑎𝑖 ∗ 𝑥𝑖,𝑗 )) (74)


𝑗=1 𝑖=0

Pentru a putea minimiza funcția obiectiv (60) este necesară aplicarea condiției
necesare ca derivatele parțiale ale funcției în raport cu fiecare dintre parametrii acesteia să fie
0:

85
𝜕𝑓
=0 (75)
𝜕𝑎𝑖

Dezvoltând sistemul (61) se obține forma matriceală a acestuia, 𝑋 ∗ 𝐴 = 𝑌, unde cele


trei matrice au următoarele forme:

𝑚 𝑚 𝑚

𝑚 ∑ 𝑥1,𝑗 ∑ 𝑥2,𝑗 … ∑ 𝑥𝑛,𝑗


𝑗=1 𝑗=1 𝑗=1
𝑚 𝑚 𝑚 𝑚
2
∑ 𝑥1,𝑗 ∑ 𝑥1,𝑗 ∑ 𝑥1,𝑗 𝑥2,𝑗 … ∑ 𝑥1,𝑗 𝑥𝑛,𝑗
𝑗=1 𝑗=1 𝑗=1 𝑗=1
𝑋= 𝑚 𝑚 𝑚 𝑚
2
∑ 𝑥2,𝑗 ∑ 𝑥1,𝑗 𝑥2,𝑗 ∑ 𝑥2,𝑗 … ∑ 𝑥2,𝑗 𝑥𝑛,𝑗
𝑗=1 𝑗=1 𝑗=1 𝑗=1 (76)
… … … … …
𝑚 𝑚 𝑚 𝑚
2
∑ 𝑥𝑛,𝑗 ∑ 𝑥1,𝑗 𝑥𝑛,𝑗 ∑ 𝑥2,𝑗 𝑥𝑛,𝑗 … ∑ 𝑥𝑛,𝑗
(𝑗=1 𝑗=1 𝑗=1 𝑗=1 )
𝐴𝑇 = (𝑎0 𝑎1 𝑎2 … 𝑎𝑛 )
𝑚 𝑚 𝑚 𝑚

𝑌 𝑇 = (∑ 𝑦𝑗 ∑ 𝑦1,𝑗 𝑦𝑗 ∑ 𝑦2,𝑗 𝑦𝑗 … ∑ 𝑦𝑛,𝑗 𝑦𝑗 )


𝑗=1 𝑗=1 𝑗=1 𝑗=1

Sistemul (62) este unul liniar și poate fi rezolvat cu ajutorul tehnicilor numerice.
Pentru corelarea datelor cu ajutorul regresiei multiple liniare, programul MATLAB
pune la dispoziție funcția regress. Există mai multe sintaxe pentru apelarea acestei funcții [2].
Cea utilizată în această lucrare de laborator este
𝑏 = 𝑟𝑒𝑔𝑟𝑒𝑠𝑠(𝑦, 𝑥)
În sintaxa de mai sus, variabilele implicate au următoarele semnificații:
 𝑏 — coeficienții polinomului de regresie;
 𝑦 — variabila independentă;
 𝑥 — variabila dependentă.
Similar ca și în cazul regresiei polinomiale, funcția regress poate fi utilizată atât în
cadrul unui script cât și în cazul unei interfețe, avantajele și dezavantajele fiecăreia dintre cele
două metode rămânând aceleași.
În această lucrare de laborator vor fi detaliate ambele modalități de utilizare a
funcției regress.

86
Exemplul 19: se dau datele prezentate în Tabelul 20. Să se scrie un script ce
determină modelul matematic de regresie multiplă liniară având ca variabile independente
cele din coloanele 1, 3 și 5, variabila independentă fiind cea din coloana 2.

87
Tabelul 20. Datele de intrare luate drept exemplu în cadrul procedurii de utilizare

36 71 153 4.9 22 6 40 540 730 60 190


12 71 153 4.9 22 6 40 720 720 58 166
40 71 157 4.5 42 10 50 1000 725 62 170
36 72 152 4.5 26 9 45 850 729 62 184
40 64 150 5 50 9 50 1000 742 67 163
60 69 150 5 54 12 44 500 715 63 166
54 74 155 4.6 26 13 64 200 738 61 151
60 66 154 5.2 10 7 52 550 739 50 176
64 65 145 5 28 13 40 450 710 52 147

Pentru rezolvarea acestui exemplu, trebuie îndepliniți următorii pași:


 Introducerea datelor de intrare într-o formă pe care limbajul MATLAB o
poate procesa;
 Apelarea funcției regress pentru determinarea modelului matematic cerut.
Introducerea datelor de intrare se poate face în două moduri: prin introducerea
manuală a acestora sau prin citirea lor dintr-un fișier text. În acest exemplu va fi utilizată
modalitatea de citire din fișier, cu ajutorul funcției dlmread, prezentată anterior.
Variabilele independente vor fi introduse în fișierul xrl.txt. Variabilele dependente
de pe același rând vor fi separate între ele printr-un spațiu. Funcția regress cere ca prima
coloana din fișierul de variabile independente să conțină numai valoarea 1.
Variabila dependentă va fi introdusă în fișierul yrl.txt. Nu există vreo restricție
impusă de către funcția MATLAB mai sus amintită.
Script-ul rezultat pentru rezolvarea acestui exemplu este prezentat în cele ce
urmează:

clear;
x=dlmread('xrl.txt');
y=dlmread('yrl.txt');
b=regress(y,x)

În script-ul de mai sus, prima linie are rolul de a elibera memoria alocată variabilelor
MATLAB. A doua și a treia linie încarcă fișierele mai sus menționate iar a patra linie
calculează coeficienții ecuației de regresie multiplă liniară.
După rularea script-ului, variabila b, o matrice cu o coloană și patru rânduri, are
următoarele valori:

88
𝑏 = (−13.4753 −0.0357 0.5567 −0.0124) (77)

În consecință, modelul matematic de regresie multiplă liniară căutat are expresia:

𝑦 = −13.4753 − 0.0357 ∗ 𝑥1 + 0.5567 ∗ 𝑥2 − 0.0124 ∗ 𝑥3 (78)

Interfața MATLAB are rolul de a facilita utilizatorului introducerea datelor de intrare


și de a obține rezultatul căutat într-o formă mai ușor de citit. O prezentare generală a acestei
interfețe se află în Figura 65.

Figura 65. Prezentarea interfeței MATLAB pentru regresia multiplă liniară

Procedura pentru utilizarea interfeței MATLAB pentru determinarea coeficienților


polinomului de regresie multiplă liniară are pașii care vor fi prezentați în cele ce urmează.
Deschiderea fișierului de intrare. Fișierul de intrare este un fișier text, cu extensia
*.txt sau *.dat. În acest fișier, valorile numerice sunt așezate sub formă tabelară, separate între
ele printr-un spațiu. Pentru prezentarea procedurii de utilizare a interfeței MATLAB, va fi luat
în considerare setul de date de intrare prezentat în Tabelul 20.
Pentru deschiderea fișierului, se face click pe butonul Deschidere. Va apărea o
fereastră care permite selectarea fișierului dorit. După alegerea acestuia, programul afișează
numărul de determinări (numărul de linii) și cel de parametri (numărul de coloane). În plus,
utilizatorul va putea introduce indexul ieșirii. Indexul ieșirii reprezintă numărul coloanei ale
căror valori vor fi utilizate ca variabile dependente pentru determinarea polinomului de
89
regresie multiplă liniară. O reprezentare a programului, după încărcarea fișierului de intrare,
se află în Figura 66.

Figura 66. Programul de regresie multiplă liniară, după încărcarea fișierului de intrare

Introducerea datelor de intrare. În cadrul acestui program (interfețe), datele de


intrare sunt:
 Indexul ieșirii;
 Numărul de intrări;
 Indecșii intrărilor.
După cum a fost descris în cadrul pasului anterior, indexul ieșirii este reprezintă
numărul coloanei ale căror valori vor fi utilizate ca variabile dependente pentru determinarea
polinomului de regresie multiplă liniară. Acesta trebuie să fie între 1 și numărul total de
coloane din fișierul de intrare. Pentru a introduce indexul ieșirii, se tastează în câmpul dedicat
și se apasă pe butonul OK. Dacă totul este în regulă, atunci se va activa zona de introducere a
numărului de intrări și a indecșilor intrărilor. Dacă a apărut o eroare (de exemplu, au fost
introduse litere), atunci interfața va afișa un mesaj corespunzător și va aștepta ca utilizatorul
să corecteze eroarea apărută.
Numărul de intrări este un număr care arată câte variabile independente va avea
polinomul de regresie multiplă liniară. Acest număr se introduce în căsuța dedicată și trebuie,
de asemenea, să fie un număr cuprins între 1 și numărul total de coloane al fișierului de
intrare. După introducerea numărului de intrări, se apasă butonul OK, care verifică dacă
90
valoarea introdusă este corespunzătoare. Dacă este corespunzătoare, atunci se activează zona
de introducere a indecșilor intrărilor. În caz contrar, apare un mesaj de eroare și programul
așteaptă ca utilizatorul să o corecteze.
Indecșii intrărilor reprezintă numerele coloanelor ale căror valori vor fi utilizate ca și
variabile independente pentru polinomul de regresie multiplă liniară. Acesta va fi introdus în
zona de intrări, sub forma unui șir de caractere. Acest șir trebuie să aibă următoarele
proprietăți:
 Șirul introdus trebuie să fie format din numere, între 1 și numărul total de
coloane din fișierul de intrare;
 Numerele introduse trebuie să fie separate prin spații sau virgule;
 Indexul ieșirii nu trebuie să se regăsească în niciunul dintre numerele
introduse ca indecși ai intrărilor;
 Numărul de indecși introduși trebuie să fie egal cu numărul de intrări introdus
anterior;
 Nu contează ordinea în care sunt introduși acești indecși. Modificarea ordinii
introducerii indecșilor intrărilor modifică doar ordinea coeficienților
polinomului de regresie multiplă liniară, dar rezultatele obținute și
performanțele de estimare ale polinomului nu se modifică.
Proprietățile prezentate mai sus sunt afișate și în program, în cazul în care este
necesară consultarea lor. Pentru a le citi, este suficient un click pe butonul ?.
După introducerea indecșilor intrărilor, se face click pe butonul Validare. Acesta
verifică șirul introdus. Dacă nu apar erori, atunci se va activa butonul de calcul. Altfel, va
apărea un mesaj de eroare și programul va aștepta ca utilizatorul să le corecteze.
O reprezentare a programului de regresie multiplă liniară, după introducerea corectă
a datelor de intrare, se află în Figura 67.

91
Figura 67. Programul de regresie multiplă liniară, după introducerea corectă a datelor
de intrare

În Figura 67, indecșii introduși au rol numai de exemplu. Utilizatorul poate


introduce ce valori dorește, atâta timp cât respectă regulile prezentate.
Calculul coeficienților polinomului de regresie multiplă liniară și afișarea
rezultatelor obținute. Pentru a calcula coeficienții polinomului de regresie, se face click pe
butonul Calcul. Acesta îndeplinește două funcții:
 Determinarea coeficienților polinomului de regresie;
 Afișarea performanțelor de estimare a acestuia, în format text și grafic.
Coeficienții determinați sunt afișați utilizând notația din ecuația (59). Din punct de
vedere al performanțelor de estimare, acestea sunt exprimate în format text (tabelar) și grafic.
Un exemplu de afișare a rezultatelor este prezentat în Figura 68.

92
Figura 68. Programul de determinare a polinomului de regresie și rezultatele afișate

Din Figura 68, se poate observa forma tabelară de afișare, care conține valorile
determinare și calculate ale variabilei dependente, cât și abaterea, exprimată în procente. De
asemenea, există și forma grafică de exprimare. Citirea corectă a formei grafice înseamnă
observarea valorilor calculate și determinate ale variabilei dependente de pe aceeași linie
verticală.

5.5. Exerciții și probleme propuse

1. Se consideră un traductor de debit cu diafragmă. Setul de date experimentale


obținute pentru trasarea caracteristicii statice, și anume mărimea de intrare - debitul volumic -
și mărimea de ieșire - curentul generat de traductor - sunt prezentate în Tabelul 21:

Tabelul 21. Variația curentului generat în funcție de debitul volumic

Curentul generat
Debitul volumic (m3/h)
(mA)
10.14 10
8.64 8
7.2 6
4.5 3.5
2 2.5
1.5 2.2
0.1 2

93
Să se utilizeze analiza de regresie polinomială pentru a obține coeficienții
polinomului de regresie de gradul 2 care corelează datele prezente în tabelul de mai sus.
2. Capacitatea calorică a apei prezintă o variație neliniară cu temperatura, datele
termodinamice publicate relevând această proprietate. Se cere să se determine cea mai
adecvată ecuație de regresie polinomială a dependenței 𝐶𝑝 = 𝑓(𝑇), având datele din Tabelul
22:

Tabelul 22. Variația capacității calorice în funcție de temperatură

Capacitatea Capacitatea
Temperatura Temperatura
Nr. crt. calorică Nr. crt. calorică
(°C) (°C)
(kcal/kg*°C) (kcal/kg*°C)
1 0.01 1.00762 12 55 0.99919
2 5 1.00392 13 60 0.99967
3 10 1.00153 14 65 1.00024
4 15 0.99907 15 70 1.00091
5 20 0.99852 16 75 1.00167
6 25 0.99826 17 80 1.00253
7 30 0.99826 18 85 1.00351
8 35 0.99818 19 90 1.00461
9 40 0.99828 20 95 1.00586
10 45 0.99849 21 100 1.00721
11 50 0.99878

3. Valorile critice reprezintă proprietățile fizice ale compușilor chimici în condițiile


punctului critic. În Tabelul 23 sunt prezentate valorile temperaturii critice (Tc) și a presiunii
critice (Pc) pentru 8 compuși organici. Să se găsească coeficienții funcției de aproximare
𝑇𝑐 = 𝑓(𝑃𝑐 ).

94
Tabelul 23. Valorile temperaturii și a presiunii critice pentru cei 8 compuși

Presiunea
Temperatura
Nr. crt. Compusul critică
critică (K)
(bar)
1 Acetaldehidă 461 44
2 Acid acetic 594.8 57.1
3 Acetonă 508.7 46.6
4 Butanol 560 48.4
5 Alcool etilic 516 63
6 Eter etilic 467 35.6
7 Oxid etilenic 369 71
8 Alcool metilic 513.2 78.5

4. Entalpia aburului supraîncălzit variază în funcție de temperatura și presiunea


acestuia. Pentru un domeniu uzual de utilizare a aburului în rafinării, entalpia acestuia variază
conform datelor din Tabelul 24.
Se cere să se determine funcția liniară 𝐻 = 𝑓(𝑇, 𝑃), unde T reprezintă temperatura în
°C iar P reprezintă presiunea în bar.

Tabelul 24. Entalpia specifică a aburului supraîncălzit (kJ/kg)

Temperatură
Presiune (bar)
(°C)
2 3 4 5 6
180 2830 2824 2818 2812 2805
200 2870 2864 2859 2854 2849
220 2910 2905 2900 2896 2891
240 2950 2946 2941 2937 2933
260 2990 2986 2982 2979 2975
280 3030 3027 3023 3020 3017

Indicații: Funcția liniară de forma 𝐻 = 𝑓(𝑇, 𝑃) are forma generală:

𝐻 = 𝑎0 + 𝑎1 ∗ 𝑇 + 𝑎2 ∗ 𝑃 (79)

Coeficienții funcției sunt obținuți prin regresie multiplă liniară.


Pentru rezolvarea problemei este necesară rearanjarea datelor privind entalpia
aburului. După cum a fost prezentat mai devreme, funcția regress necesită transmiterea ca
parametri a celor două matrice care reprezintă variabila independentă respectiv variabilele
dependente. În concluzie, trebuie construite cele două fișiere, pentru a putea fi citite apoi cu
ajutorul funcției dlmread. Fișierul care conține variabilele independente se va numi y.txt, iar

95
fișierul ce conține variabilele dependente se va numi x.txt. Pentru a putea scrie conținuturile
celor doua fișiere, Tabelul 24 va fi rescris conform modelului din Tabelul 25.

Tabelul 25. Structura nouă a datelor, potrivită pentru lucrul cu MATLAB

Entalpie Temperatură Presiune Entalpie Temperatură Presiune


2830 180 2 2941 240 4
2870 200 2 2982 260 4
2910 220 2 3023 280 4
2950 240 2 2812 180 5
2990 260 2 2854 200 5
3030 280 2 2896 220 5
2824 180 3 2937 240 5
2864 200 3 2979 260 5
2905 220 3 3020 280 5
2946 240 3 2805 180 6
2986 260 3 2849 200 6
3027 280 3 2891 220 6
2818 180 4 2933 240 6
2859 200 4 2975 260 6
2900 220 4 3017 280 6

Conform așezării din Tabelul 25, fișierul y.txt va conține datele referitoare la
entalpie (coloana pe fundal colorat), iar fișierul x.txt va conține datele referitoare la
temperatură și presiune.
1. Proiectarea script-ului MATLAB pentru determinarea coeficienților ecuației de
regresie. Acesta are următorii pași:
a. Eliberarea memoriei care stochează valorile variabilelor din mediul
MATLAB. Acest lucru se face cu ajutorul funcției clear. Acest pas este
opțional, dar este recomandat pentru a fi făcut, pentru a elimina apariția
eventualelor erori datorate valorilor reziduale ale variabilelor deja
existente;
b. Încărcarea din cele două fișiere a variabilelor independentă și dependentă.
Acest lucru se face cu ajutorul funcției dlmread, a cărei utilizare a fost
prezentată anterior;
c. Calculul efectiv al coeficienților ecuației de regresie. Acest lucru este
efectuat cu ajutorul funcției regress, a cărei utilizare a fost prezentată
anterior.

96
97
Lucrarea 6 - Sisteme de ecuații liniare

6.1. Obiectivele lucrării

 Însușirea noțiunilor de bază legate de sistemele de ecuații liniare;


 Utilizarea mediului MATLAB pentru rezolvarea ecuațiilor și a sistemelor de ecuații
liniare;

6.2. Aspecte teoretice legate de sistemele de ecuații liniare

Un sistem de ecuații liniare este un sistem de ecuații care are forma generală [11]:

𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1


𝑎 𝑥 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2
{ 21 1 (80)

𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 + ⋯ + 𝑎𝑛𝑛 𝑥𝑛 = 𝑏𝑛

Sistemul (66) poate fi scris și sub o formă matriceală. Forma matriceală a sistemului
de ecuații liniare, ce are avantajul că poate fi utilizată pentru rezolvarea sistemului cu ajutorul
algoritmilor de calculator, are expresia generală [11]:

𝑎11 𝑎12 … 𝑎1𝑛 𝑥1 𝑏1


𝑎21 𝑎22 … 𝑎2𝑛 𝑥2 𝑏2
[… … … … ] ∗ […] = […] (81)
⏟𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 ⏟ 𝑥4 ⏟𝑏𝑛
𝐴 𝑥 𝐵

În cadrul expresiilor (66) și (67), 𝑛 reprezintă numărul de ecuații și cel de


necunoscute al sistemului.
Deoarece un sistem de ecuații liniare poate fi reprezentat sub formă matriceală, la
prima vedere se poate afirma că sistemul poate fi rezolvat utilizând metoda Cramer. Acest
lucru este adevărat, dar metoda Cramer este extrem de înceată pentru lucrul la calculator în
cazul în care sistemele de ecuații au 3 sau mai multe ecuații. Din acest motiv, există mai mulți
algoritmi pentru rezolvarea acestui tip de sistem. Există trei tipuri de algoritmi (metode)
pentru rezolvarea sistemelor de ecuații liniare [11, 12]:
 Metode directe. Acest tip de metode oferă o soluție exactă (în cazul în care nu
există erori de rotunjire) utilizând un număr predeterminat de pași de calcul.

98
Algoritmul Gauss-Jordan, este unul dintre cei mai eficienți și preciși algoritmi
𝑛3
din această categorie, necesitând aproximativ înmulțiri și împărțiri;
2

 Utilizarea repetată a metodelor directe. Această metodă se aplică în cazul


anumitor sisteme de ecuații neliniare, mai precis în cazul în care apar erori de
rotunjire la aplicarea algoritmilor direcți de rezolvare. Pentru a rezolva
această problemă, se aplică metodele directe, în mod repetat;
 Metode iterative. Aceste metode oferă o succesiune de aproximări care, în
anumite condiții, converg către soluția sistemului. Cei mai performanți
algoritmi din această categorie sunt algoritmii Jacobi și Gauss-Seidel.

6.3. Utilizarea MATLAB pentru rezolvarea sistemelor de ecuații liniare

Există mai multe metode pentru rezolvarea sistemelor de ecuații liniare, utilizând
mediul MATLAB. Câteva dintre acestea vor fi prezentate în cele ce urmează. Toate metodele
prezentate utilizează forma matriceală a sistemului de ecuații liniare, prezentată în expresia
(2).
1. Împărțirea matricelor. Această metodă se bazează pe două proprietăți ale mediului
MATLAB: acest mediu permite direct împărțirea a două matrice, folosind operatorul de
împărțire și că oferă două tipuri de împărțire a matricelor: împărțirea la stânga, reprezentată
prin operatorul \ și împărțirea la dreapta, reprezentată prin operatorul /.
Determinarea soluției sistemului de ecuații liniare scris în formă matriceală
presupune împărțirea la stânga sau la dreapta a matricelor, în funcție de ordinea în care acesta
sunt scrise în cadrul sistemului. Există două moduri în care pot fi scrise sistemele de ecuații
liniare, sub formă matriceală, reprezentate în expresiile (68) și (69):

𝐴∗𝑥 =𝐵 (82)
𝑥∗𝐴 =𝐵 (83)

Dacă sistemul de ecuații liniare este scris în formă matriceală conform expresiei (68),
atunci se utilizează împărțirea la stânga, iar rezultatul este obținut conform expresiei (70):

𝑥 = 𝐴\𝐵 (84)

Dacă sistemul de ecuații liniare este scris în formă matriceală conform expresiei (69),
atunci se utilizează împărțirea la dreapta, rezultatul fiind obținut conform expresiei (71):
99
𝑥 = 𝐴/𝐵 (85)

2. Utilizarea matricei inverse. Această metodă pleacă de la scrierea unui sistem de


ecuații liniare conform expresiei (68). Acea expresie se înmulțește cu inversa
matricei 𝐴, 𝐴−1, rezultatul obținut fiind prezentat în ecuația (72):

𝑥 = 𝐴−1 ∗ 𝐵 (86)

În MATLAB, ecuația (72) se programează utilizând funcția 𝑖𝑛𝑣:

𝑋 = 𝑖𝑛𝑣(𝐴) ∗ 𝐵

3. Algoritmul Gauss. Algoritmul Gauss este un algoritm direct pentru rezolvarea


sistemelor de ecuații liniare [11]. Este cel mai des utilizat algoritm și se bazează pe
convertirea sistemului de ecuații, scris în formă matriceală:

𝐴𝑥 = 𝐵 (87)

în sistemul de ecuații, scris în formă matriceală:

𝑈𝑥 = 𝐵′ (88)

În sistemul (73), 𝑈 este matricea coeficienților, convertit în forma triunghiular


superioară, iar 𝐵′ este șirul coeficienților modificați, astfel încât sistemul (73) să aibă aceeași
soluție ca și sistemul (72).
Odată ce a fost determinată matricea 𝑈 și șirul 𝐵′, algoritmul rezolvă sistemul liniar
prin substituție.
Algoritmul Gauss este destinat rezolvării sistemelor de ecuații liniare de dimensiuni
mici și medii. Acest algoritm are două etape de calcul:
 Transformarea matricei 𝐴 a sistemului de ecuații la forma triunghiular
superioară, însoțită de transformări corespunzătoare asupra vectorului 𝑏:

𝑎11 𝑎12 … 𝑎1𝑛 ′ ′ ′


𝑎11 𝑎12 … 𝑎1𝑛
𝑎21 𝑎22 … 𝑎2𝑛 0 ′
𝑎22 ′
… 𝑎2𝑛
(… … … … )→(… )
… … …
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 0 0 ′
… 𝑎𝑛𝑛

100
 Determinarea soluțiilor prin substituție inversă, respectiv determinarea
iterativă a soluției 𝑥𝑛 , 𝑥𝑛−1 , … , 𝑥1 .
Primul pas, acela de triangularizare a matricei 𝐴, este realizat conform următorilor
pași:
 Pentru 𝑘 = 1,2, … , 𝑛 − 1 se calculează:
 Se determină linia lmax corespunzătoare elementului maxim de pe coloana k:
|𝑎𝑙𝑚𝑎𝑥,𝑘 | = max|𝑎𝑖𝑘 | , 𝑙𝑚𝑎𝑥 ≥ 𝑘
𝑖>𝑘

 Se permută linia k cu linia lmax:


𝑎𝑘𝑗 = 𝑎𝑙𝑚𝑎𝑥,𝑗 , 𝑗 = 𝑘, … , 𝑛
𝑏𝑘 = 𝑏_𝑙𝑚𝑎𝑥
 Pentru 𝑖 = 𝑘 + 1, … , 𝑛 se calculează:
𝑎
 Multiplicatorul 𝜇 = 𝑎 𝑖𝑘 ;
𝑘𝑘

 Elementele matricei și a termenului liber:


𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝜇 ∗ 𝑎𝑘𝑗 , 𝑗 = 𝑘 + 1, … , 𝑛
𝑏𝑖 = 𝑏𝑖 − 𝜇 ∗ 𝑏𝑘
Etapa a doua de calcul, determinarea soluției prin substituție inversă, are următorii
pași:
 Calculul soluției 𝑥𝑛 :
𝑏𝑛
𝑥𝑛 =
𝑎𝑛𝑛
 Calculul iterativ al soluțiilor 𝑥𝑛−1 , 𝑥𝑛−2 , … , 𝑥1 :
𝑏𝑖 − ∑𝑛𝑗=𝑖+1 𝑎𝑖𝑗 ∗ 𝑥𝑗
𝑥𝑖 =
𝑎𝑖𝑖
Implementarea MATLAB a acestui algoritm este funcția Gauss [13]. Această funcție
are sintaxa:
𝑥 = 𝐺𝑎𝑢𝑠𝑠(𝐴, 𝑐)
În notația de mai sus, 𝑥 reprezintă soluția sistemului de ecuații liniare, 𝐴 reprezintă
matricea coeficienților, iar 𝑐 reprezintă șirul termenilor liberi.
4. Algoritmul Gauss-Jordan. Acest algoritm face, la rândul lui, parte din clasa
algoritmilor direcți [11]. Algoritmul Gauss-Jordan se bazează pe transformarea sistemului de
ecuații liniare exprimat sub formă matriceală (11) în sistemul de ecuații cu forma matriceală:

101
𝐼𝑥 = 𝐵′ (89)

În sistemul (75), 𝐼 este matricea unitate, iar 𝐵′ este șirul modificat al termenilor
liberi, astfel încât sistemele (73) și (75) să aibă aceeași soluție.
Algoritmul Gauss-Jordan se bazează pe relațiile de calcul ce permit transformarea
matricei A în matrice unitate și a matricei unitate în matrice inversă. Din totalitatea
transformărilor se păstrează numai acele transformări care conduc la matricea unitate, acestea
fiind extinse și asupra termenului liber b. Se creează o matrice extinsă S, de dimensiuni
n  n  1 , obținută prin bordarea matricei A cu vectorul termenilor liberi b. Matricea S are

forma generală:

𝑎11 𝑎12 … 𝑎1𝑛 𝑏1


𝑎21 𝑎22 … 𝑎2𝑛 𝑏2
𝑆=( )
… … … … …
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛 𝑏𝑛

Algoritmul de Gauss-Jordan implică calculul următorilor pași, pentru k ce ia valori


între 1 și n:
 Se determină linia lmax corespunzătoare elementului maxim de pe coloana k:
|𝑠𝑙𝑚𝑎𝑥,𝑘 | = max|𝑠𝑖𝑘 |
𝑖≥𝑘

 Se permută liniile k și lmax:


𝑠𝑘𝑗 = 𝑠𝑙𝑚𝑎𝑥,𝑗
 Se memorează pivotul corespunzător iterației k:
𝑝 = 𝑠𝑘𝑘
 Se împarte linia pivotului la pivot:
𝑠𝑘𝑗
𝑠𝑘𝑗 =
𝑝
 Pentru 𝑖 = 1, … , 𝑛, 𝑖 ≠ 𝑘, se calculează:
𝑓 = 𝑠𝑖𝑘
𝑠𝑖𝑗 = 𝑠𝑖𝑗 − 𝑠𝑘𝑗 ∗ 𝑓, 𝑗 = 1, … , 𝑛 + 1
Algoritmul Gauss-Jordan aplică aceeași serie de operații ca și algoritmul Gauss.
Acest algoritm este implementat în MATLAB cu ajutorul funcției Jordan [13]. Această
funcție are sintaxa:

𝑥 = 𝐽𝑜𝑟𝑑𝑎𝑛 (𝐴, 𝑐)

102
În notația de mai sus, 𝑥 reprezintă soluția sistemului de ecuații liniare, 𝐴 reprezintă
matricea coeficienților, iar 𝑐 reprezintă șirul termenilor liberi.

5. Algoritmul Jacobi. Acest algoritm este un algoritm iterativ. Pentru a determina


soluția sistemului de ecuații liniare, acest algoritm are nevoie, în afară de sistemul propriu-zis,
scris în formă matriceală și de o aproximare a soluției sistemului, scrisă în forma [11]:

(0)
𝑥1
(0)
𝑋0 = 𝑥2 (90)

(0)
[𝑥𝑛 ]

Algoritmul Jacobi impune descompunerea matricei A, conform următoarelor relații:

𝑁=𝐷
{
𝑃 = 𝑁 − 𝐴 = −(𝐿 + 𝑅)

În notațiile de mai sus, D este matricea diagonală, iar matricele L și R au formele:

0 0 … 0
𝑎21 0 … 0
𝐿=( )
… … … …
𝑎𝑛1 𝑎𝑛2 … 𝑎𝑛𝑛

0 𝑎12 … 𝑎1𝑛
0 0 … 𝑎2𝑛
𝑅=( )
… … … …
0 0 … 0

Algoritmul Jacobi conține relația de calcul:

(𝑘)
𝑏𝑖 − ∑𝑛𝑗=1, 𝑎𝑖𝑗 𝑥𝑗
(𝑘+1) 𝑗≠𝑖
𝑥𝑖 = , 𝑖 = 1, … , 𝑛
𝑎𝑖𝑖

Criteriul de convergență al algoritmului este exprimat prin relația:

(𝑘+1) (𝑘)
|𝑥𝑖 − 𝑥𝑖 | ≤ 𝜀, 𝑖 = 1, … , 𝑛

Metoda Jacobi este convergentă atunci când matricea A a sistemului este diagonal
dominantă, adică următoarea relație este adevărată:

103
𝑛

∑|𝑎𝑖𝑗 | < |𝑎𝑖𝑖 |, 𝑖 = 1, … , 𝑛


𝑗=1
𝑗≠𝑖

Implementarea în MATLAB a acestui algoritm este funcția Jacobi [13]. Această


funcție are forma:

𝑥 = 𝐽𝑎𝑐𝑜𝑏𝑖(𝐴, 𝑐, 𝑥0 , 𝑡𝑜𝑙, 𝑡𝑟𝑎𝑐𝑒)

În sintaxa de mai sus, parametrii funcției au următoarea însemnătate:


 𝑥 reprezintă soluția sistemului de ecuații liniate;
 𝐴 reprezintă matricea coeficienților;
 𝑐 este șirul termenilor liberi;
 𝑥0 este șirul aproximării inițiale;
 𝑡𝑜𝑙 este un parametru ce reține precizia calculelor;
 𝑡𝑟𝑎𝑐𝑒 este un cod de eroare. Acesta ia valoarea 0 dacă toate calculele au putut
fi efectuate.
6. Funcția linsolve. Această funcție are rolul de a rezolva un sistem de ecuații liniare
exprimat în formă matriceală.
Există și alți algoritmi pentru rezolvarea sistemelor de ecuații liniare, care nu vor fi
discutați în această lucrare. Printre aceștia se numără:
 Gauss-Seidel;
 Faddeev-Leverier;
 Algoritmul transformărilor similitudinilor elementare [13].

6.4. Exemplu de rezolvare a sistemelor de ecuații liniare folosind MATLAB

După cum a fost observat în subcapitolul trecut, există o multitudine de modalități de


rezolvare a sistemelor de ecuații liniare utilizând programul MATLAB. Pentru demonstrarea
modului de utilizare al fiecărui mod de rezolvare, în acest subcapitol va fi oferit un exemplu
de utilizare a acestor rutine. Acest exemplu va fi rezolvat utilizând fiecare dintre modurile
prezentate în subcapitolul anterior.
Exemplul 20: să se rezolve sistemul liniar de ecuații:

104
2∗𝑥+𝑦+𝑧 =2
{ −𝑥 + 𝑦 − 𝑧 = 3 (91)
𝑥 + 2 ∗ 𝑦 + 3 ∗ 𝑧 = −10

Forma matriceală a sistemului de ecuații (77) este următoarea:

2 1 1 𝑥 2
[−1 1 −1] ∗ [𝑦] = [ 3 ] (92)
⏟1 2 3 ⏟𝑧 ⏟−10
𝐴 𝑋 𝐵

Împărțirea matricelor. Sistemul (78) are forma similară cu forma generală prezentată
în sistemul (68). Din acest motiv, se utilizează împărțirea la stânga, conform ecuației (70).
Pentru rezolvarea exemplului, se va utiliza următoarea secvență de instrucțiuni,
scrisă sub forma unui script, prezentat în Figura 69:

Figura 69. Rezolvarea unui sistem de ecuații liniare folosind metoda împărțirii
matricelor

După rularea script-ului, cu ajutorul tastei F5, se obțin rezultatele din Figura 70:

Figura 70. Rezultatul obținut cu ajutorul metodei împărțirii matricelor

105
Utilizarea matricei inverse. Pentru rezolvarea acestui exemplu, utilizând matricea
inversă, se va utiliza următoarea secvență de instrucțiuni, grupată într-un script și prezentată
în Figura 71:

Figura 71. Rezolvarea unui sistem de ecuații liniare folosind metoda matricei inverse

După rularea script-ului, cu ajutorul tastei F5, se obțin rezultatele din Figura 72:

Figura 72. Rezultatul obținut cu ajutorul metodei matricei inverse

Algoritmul Gauss. Utilizând algoritmul Gauss pentru rezolvarea sistemelor de ecuații


liniare, acest exemplu se rezolvă cu ajutorul script-ului prezentat în Figura 73:

Figura 73. Rezolvarea exemplului luat în considerare cu ajutorul algoritmului Gauss


106
După rularea script-ului, cu ajutorul tastei F5, se obțin rezultatele din Figura 74:

Figura 74. Rezultatul obținut prin aplicarea algoritmului Gauss

Algoritmul Gauss-Jordan. Pentru rezolvarea acestui exemplu folosind algoritmul


Gauss-Jordan, se va programa script-ul din Figura 75:

Figura 75. Rezolvarea exemplului luat în considerare cu ajutorul algoritmului Gauss-


Jordan

După rularea script-ului, cu ajutorul tastei F5, vor fi afișate rezultatele din Figura 76:

Figura 76. Rezultatul obținut prin aplicarea algoritmului Gauss-Jordan

Algoritmul Jacobi. Exemplul luat în considerare se rezolvă, cu ajutorul algoritmului


Jacobi, utilizând secvența de comenzi din script-ul prezentat în Figura 77:

107
Figura 77. Rezolvarea exemplului luat în considerare cu ajutorul algoritmului Jacobi

După rularea script-ului, cu ajutorul tastei F5, se obține rezultatul din Figura 78:

Figura 78. Rezultatul obținut prin aplicarea algoritmului Jacobi

Funcția linsolve. Exemplul luat în considerare se rezolvă, cu ajutorul funcției


linsolve, utilizând secvența de comenzi din script-ul prezentat în Figura 79:

Figura 79. Rezolvarea exemplului luat în considerare cu ajutorul funcției linsolve

După rularea script-ului, cu ajutorul tastei F5, se obține rezultatul din Figura 80:

108
Figura 80. Rezultatul obținut prin aplicarea funcției linsolve

După cum se poate observa, toți algoritmii prezentați în subcapitolul trecut și utilizați
în acest subcapitol conduc la același rezultat.

6.5. Exerciții și probleme propuse

1. Să se rezolve sistemele de ecuații:


𝑥+𝑦+𝑧 =4
a) {2 ∗ 𝑥 + 3 ∗ 𝑦 + 𝑧 = 9
𝑥 − 𝑦 − 𝑧 = −2

10 ∗ 𝑥1 − 2 ∗ 𝑥2 − 2 ∗ 𝑥3 = 6
b) { −𝑥1 + 10 ∗ 𝑥2 − 2 ∗ 𝑥3 = 7
−𝑥1 − 𝑥2 + 10 ∗ 𝑥3 = 8

6 ∗ 𝑥1 − 𝑥2 − 𝑥3 = 11.33
c) { −𝑥1 + 6 ∗ 𝑥2 − 𝑥3 = 32
−𝑥1 − 𝑥2 + 6 ∗ 𝑥3 = 42

𝑥1 + 4 ∗ 𝑥2 + 3 ∗ 𝑥3 = 1
d) {2 ∗ 𝑥1 + 5 ∗ 𝑥2 + 4 ∗ 𝑥3 = 4
𝑥1 − 3 ∗ 𝑥2 − 2 ∗ 𝑥3 = 5

109
Lucrarea 7 - Ecuații și sisteme de ecuații neliniare

7.1. Obiectivele lucrării

 Însușirea noțiunilor de bază legate de ecuațiile și de sistemele de ecuații neliniare;


 Utilizarea mediului MATLAB pentru rezolvarea ecuațiilor și a sistemelor de ecuații
neliniare.

7.2. Aspecte teoretice legate de ecuațiile neliniare

O ecuație neliniară este o ecuație care are forma generală [11, 13]:

𝑓(𝑥) = 0 (93)

În practică, domeniul de definiție a funcției f este o submulțime a mulțimii numerelor


reale, iar funcția poate lua orice valori reale. Rezolvarea ecuației (79) înseamnă descoperirea
acelor valori ale parametrului x pentru care egalitatea este adevărată.
Există trei categorii de algoritmi de rezolvare a ecuațiilor neliniare:
 Algoritmi ce permit localizarea soluțiilor;
 Algoritmi ce determină o singură soluție a unei ecuații.
 Algoritmi ce determină toate rădăcinile reale și complexe ale unei ecuații;
Pentru rezolvarea unei ecuații neliniare, există mai mulți algoritmi de rezolvare.
Câțiva dintre aceștia vor fi discutați în subcapitolul următor.

7.3. Algoritmi pentru izolarea soluțiilor

Această categorie de algoritmi este utilizată în cazul în care nu ne interesează


descoperirea tuturor soluțiilor, ci numai a acelor soluții care prezintă interes pentru problema
respectivă. Un exemplu care impune utilizarea acestui tip de algoritmi este acela în care
soluțiile descoperite au o însemnătate fizică.
Algoritmii pentru izolarea soluțiilor necesită pentru a rula de ecuația neliniară, scrisă
sub forma (79) și de limitele intervalului de căutare a soluțiilor, notate cu a și cu b.
Principiul acestui tip de algoritmi este acela de a pune în evidență, în intervalul
[𝑎, 𝑏], un număr de n+1 puncte consecutive astfel încât între fiecare două puncte consecutive
să se afle o soluție a ecuației.

110
Cel mai des folosit algoritm din această categorie este algoritmul de tabelare a
funcției.
Metoda tabelării. Această metodă separă numai rădăcinile reale ale ecuației (79) în
intervalul ales de căutare [𝑎, 𝑏].
Pașii acestei metode sunt:
 Se împarte intervalul [𝑎, 𝑏] într-un număr n de subintervale egale, de lungime
h:
𝑏−𝑎
ℎ=
𝑛
 Se calculează valorile funcției în punctele 𝑎 + 𝑖 ∗ ℎ, 𝑖 = 0,1, … 𝑛;
 În cazul în care există un număr k pentru care:

𝑓(𝑎 + 𝑘ℎ) ∗ 𝑓(𝑎 + (𝑘 + 1)ℎ) < 0 (94)

atunci în intervalul (𝑎 + 𝑘ℎ, 𝑎 + (𝑘 + 1)ℎ) există un număr impar de rădăcini ale


funcției f.
Dacă însă

𝑓(𝑎 + 𝑘ℎ) ∗ 𝑓(𝑎 + (𝑘 + 1)ℎ) > 0 (95)

atunci în intervalul (𝑎 + 𝑘ℎ, 𝑎 + (𝑘 + 1)ℎ) există cel mult un număr par de rădăcini.
Metoda izolării unei soluții. Această metodă are ca date de intrare funcția definită pe
o submulțime a numerelor reale. Metoda se bazează pe determinarea unui interval [𝑥1 , 𝑥2 ]
care conține rădăcina 𝛼. Acest lucru se realizează prin evaluarea funcției 𝑓(𝑥) pentru o
succesiune de valori ale argumentului x, utilizând un anumit sens de explorare.
Etapele acestui algoritm sunt următoarele:
 Determinarea sensului de explorare. Sensul de explorare este dat de relația:

∆𝑥, 𝑓(𝑥0 + ∆𝑥) < 𝑓(𝑥0 )


∆𝑥 = { (96)
−∆𝑥, 𝑓(𝑥0 + ∆𝑥) > 𝑓(𝑥0 )

 Tabelarea funcției conform sensului de explorare, până la satisfacerea


criteriului de oprire. Operația de tabelare se face conform relațiilor:

𝑥1 = 𝑥0
(97)
𝑥2 = 𝑥1 + ∆𝑥

111
𝑑𝑎, 𝛼 ∈ [𝑥1 , 𝑥2 ]
𝑓(𝑥1 ) ∗ 𝑓(𝑥2 ) < 0 { 𝑥1 = 𝑥2
𝑛𝑢, {𝐺𝑜𝑡𝑜 (82)

Criteriul de oprire este dat de relația:

|𝑓(𝑥2 )| ≤ |𝑓(𝑥1 )| (98)

În cazul în care relația (84) este adevărată, funcția prezintă un minim local, iar
calculul este oprit.

7.4. Algoritmi pentru determinarea unei soluții

Algoritmii care fac parte din această categorie sunt algoritmi iterativi, adică
descoperă soluția căutată prin încercări (iterații) succesive. Pornind de la o soluție inițială
pentru calcule, algoritmii iterativi îmbunătățesc respectiva soluție până când aceasta se
încadrează într-un interval de precizie fixat dinainte.
Valoarea soluției inițiale nu contează foarte mult, deoarece, în final, algoritmul va
ajunge la soluția corectă după un număr mai mare sau mai mic de iterații.
Principalul criteriu de clasificare al algoritmilor pentru determinarea unei singure
soluții este convergența acestora. Conform acestui criteriu, algoritmii pentru determinarea
unei soluții se împart în:
 Algoritmi cu convergență sigură: încercare-eroare, bisecția succesivă și
algoritmul poziției false;
 Algoritmi cu convergență condiționată: Newton-Raphson, Cebâșev, Ward,
etc.
1. Algoritmul încercare-eroare. Acest algoritm necesită funcția asociată ecuației
neliniare și un punct de aproximare a soluției. Algoritmul încercare-eroare evaluează funcția
într-o succesiune de puncte până când este satisfăcută condiția de oprire a calculelor.
Un lucru important în acest algoritm este sensul de explorare a funcției. Acesta este
dat de valorile absolute ale funcției și descrește de la o iterație la alta.
Alături de sensul de explorare, algoritmul folosește și pasul de explorare. Acesta este
notat cu ∆𝑥 și este folosit la calculul argumentului pentru care va fi calculată valoarea funcției
în iterația următoare, conform relației:

𝑥2 = 𝑥1 + ∆𝑥 (99)

112
Sensul de explorare este dat de următoarea relație:

∆𝑥, |𝑓(𝑥1 )| ≥ |𝑓(𝑥2 )|


∆𝑥 = { (100)
−∆𝑥, |𝑓(𝑥1 )| < |𝑓(𝑥2 )|

După stabilirea sensului și a pasului de explorare, algoritmul încercare-eroare începe


explorarea conform relației (86), urmat. În momentul în care funcția își schimbă semnul, se
reia explorarea din punctul anterior schimbării semnului, dar micșorând valoarea pasului de
explorare, conform relației:

∆𝑥 = 𝛼 ∗ ∆𝑥, 𝛼 ∈ (0,1) (101)

Relația matematică a schimbării semnului funcției este:

𝑓(𝑥1 ) ∗ 𝑓(𝑥2 ) < 0 (102)

Criteriile de oprire a calculelor sunt asociate valorii funcției în punctul 𝑥2 și valorii


limită a pasului de explorare, conform relațiilor:

|𝑓(𝑥2 ) ≤ 𝜀1 |
(103)
|∆𝑥| ≤ 𝜀2

Calculele sunt oprite atunci când inecuația |𝑓(𝑥1 )| ≥ |𝑓(𝑥2 )|, deși sensul de
explorare este bine ales. În acest caz, în intervalul [𝑥1 , 𝑥2 ]există extrem local pentru funcție.
2. Algoritmul bisecției succesive. Algoritmul bisecției succesive necesită, în afară de
funcția asociată ecuației neliniare, un interval de căutare, [𝑥1 , 𝑥2 ] care conține soluția funcției.
Cu alte cuvinte, relația (10) este adevărată.
Algoritmul iterativ presupune determinarea unui nou punct, calculat ca fiind media
aritmetică a celor două puncte luate în considerare, conform relației (90):

𝑥1 + 𝑥2
𝑥3 = (104)
2

În cazul în care 𝑓(𝑥3 ) este suficient de mic, calculul se consideră încheiat, soluția
fiind considerată ca fiind 𝑥3 . Condiția matematică de încheiere a calculelor este dată de relația
(91):

|𝑓(𝑥3 )| ≤ 𝜀1 (105)

113
Dacă relația (91) nu este satisfăcută, atunci algoritmul continuă cu stabilirea dintre
cele două subintervale obținute prin bisecție a acelui subinterval care conține soluția ecuației.
Odată stabilit acest subinterval, algoritmul se reia, căutând soluția în noul subinterval.
În cazul în care subintervalul în care se caută soluția este suficient de mic, mai mic
decât o valoare prestabilită, algoritmul își încheie execuția, soluția fiind determinată cu
ajutorul relației (90). Exprimarea matematică a condiției de încheiere a calculelor datorită
dimensiunii mici e subintervalului este dată de relația (92):

|𝑥2 − 𝑥1 | ≤ 𝜀2 (106)

În final, pentru a limita durata de calcul pentru determinarea soluției, se obișnuiește


să se limiteze superior numărul de iterații. În acest caz, dacă s-a atins această valoare, se
consideră soluția ecuației ca fiind acea soluție obținută în acel moment.
3. Algoritmul poziției false. Acest algoritm necesită funcția asociată ecuației neliniare
și un interval care să conțină soluția ecuației, conform relației (90).
Prima etapă al acestui algoritm pleacă de la punctele 𝐴(𝑥1 , 𝑓(𝑥1 )) și 𝐵(𝑥2 , 𝑓(𝑥2 )).
Prin cele două puncte se construiește o secantă, care intersectează axa abscisa în punctul
𝐶(𝑥3 , 𝑓(𝑥3 )).
Această secantă este o funcție liniară, care are forma:

𝑔(𝑥) = 𝑎 ∗ 𝑥 + 𝑏 (107)

Funcția 𝑔(𝑥) trece prin punctele A și B, respectiv:

𝑎𝑥1 + 𝑏 = 𝑓(𝑥1 )
{ (108)
𝑎𝑥2 + 𝑏 = 𝑓(𝑥2 )

Sistemul (94) are soluția:

𝑓(𝑥2 ) − 𝑓(𝑥1 )
𝑎=
𝑥2 − 𝑥1
(109)
𝑥2 ∗ 𝑓(𝑥1 ) − 𝑥1 ∗ 𝑓(𝑥2 )
𝑏=
{ 𝑥2 − 𝑥1

Intersecția secantei cu abscisa este dată de ecuația:

𝑔(𝑥3 ) = 0 (110)

114
Din ecuațiile (93) și (95), soluția ecuației (96) este dată de relația (97):

𝑥1 ∗ 𝑓(𝑥2 ) − 𝑥2 ∗ 𝑓(𝑥1 )
𝑥3 = (111)
𝑓(𝑥2 ) − 𝑓(𝑥1 )

Dacă 𝑓(𝑥3 ) atinge precizia impusă, calculele se încheie. Expresia matematică a


criteriului de oprire a calculelor este dată de relația (98):

|𝑓(𝑥3 )| ≤ 𝜀 (112)

În cazul în care relația (98) nu este adevărată, se determină, din cele două
subintervale delimitate, care dintre ele conține soluția funcției și se reiau calculele în interiorul
subintervalului determinat.
4. Algoritmul Newton-Raphson. Acest algoritm necesită cunoașterea funcției asociate
ecuației neliniare, a derivatei acesteia și a unui punct 𝑥1 , utilizat ca o primă aproximare a
soluției ecuației.
În punctul 𝐴(𝑥1 , 𝑓(𝑥1 )) se construiește tangenta la curba 𝑦 = 𝑓(𝑥), care are
următoarea ecuație:

𝑦 = 𝑎0 + 𝑎1 ∗ 𝑥 (113)

𝑑𝑓
În ecuația (99), 𝑎1 = 𝑑𝑥 |
𝑥=𝑥1

Tangenta trece prin punctul A, deci are ecuația:

𝑓(𝑥1 ) = 𝑎0 + 𝑥1 ∗ 𝑓 ′ (𝑥1 ) (114)

Din ecuația (100) rezultă expresia valorii variabilei 𝑎0 :

𝑎0 = 𝑓(𝑥1 ) − 𝑥1 ∗ 𝑓 ′ (𝑥1 ) (115)

Utilizând relațiile (99)-(101), ecuația tangentei devine:

𝑦 = 𝑓(𝑥1 ) − 𝑥1 ∗ 𝑓 ′ (𝑥1 ) + 𝑥 ∗ 𝑓 ′ (𝑥1 ) (116)

Punctul de intersecție al tangentei cu abscisa reprezintă o nouă aproximare a soluției


ecuației 𝑓(𝑥) = 0, aproximare notată cu 𝑥2 și care are expresia:

115
𝑓(𝑥1 )
𝑥2 = 𝑥1 − (117)
𝑓 ′ (𝑥1 )

În momentul în care relația (103) este adevărată, calculele se opresc:

|𝑓(𝑥2 )| ≤ 𝜀 (118)

În cazul în care relația (103) nu este adevărată, se fac substituțiile reprezentate în


relațiile (104) și calculele se reiau:

𝑥1 ← 𝑥2
{𝑓(𝑥 ) ← 𝑓(𝑥 ) (119)
1 2

Dacă derivata funcției își schimbă semnul, atunci calculele se opresc, deoarece a fost
determinat un optim local.

7.5. Algoritmi pentru determinarea tuturor soluțiilor reale ale unei ecuații polinomiale

Această categorie de algoritmi, după cum îi spune și numele, este destinată aflării
tuturor soluțiilor reale ale unei ecuații polinomiale. Forma generală a acestui tip de ecuație
este:

𝑓(𝑥) = 𝑎0 + 𝑎1 ∗ 𝑥 + 𝑎2 ∗ 𝑥 2 + 𝑎3 ∗ 𝑥 3 + ⋯ + 𝑎𝑛 ∗ 𝑥 𝑛 (120)

Cel mai utilizat algoritm din această categorie este algoritmul Birge-Viete. Acest
algoritm constă în determinarea succesivă a unei soluții a ecuației polinomiale, urmată de
reducerea gradului polinomului cu o unitate. Calculele se încheie atunci când polinomul are
gradul 0 și toate soluțiile au fost obținute.
Algoritmul Birge-Viete are două etape principale:
 Determinarea unei soluții a ecuației diferențiale polinomiale de grad mai
mare de 2, dar mai mic decât n;
 Reducerea cu o unitate a gradului polinomului.
Prima etapă a acestui algoritm se îndeplinește prin rularea algoritmului Newton-
Raphson.
A doua etapă pleacă de la transcrierea polinomului din relația (106) sub forma:

𝑓(𝑥) = 𝑎0 ∗ 𝑥 𝑛 + 𝑎1 ∗ 𝑥 𝑛−1 + ⋯ + 𝑎𝑛−1 ∗ 𝑥 + 𝑎𝑛 (121)

116
Polinomul se împarte la 𝑥 − 𝛼, unde α este o constantă oarecare. În urma împărțirii
se obține un cât, un polinom de gradul n-1 și un rest 𝑏𝑛 :

𝑓(𝑥) = (𝑥 − 𝛼) ∗ (𝑏0 ∗ 𝑥 𝑛−1 + 𝑏1 ∗ 𝑥 𝑛−2 + ⋯ + 𝑏𝑛−1 ) + 𝑏𝑛 (122)

Pentru a determina polinomul de grad n-1 se procedează la egalarea coeficienților bi,


conform Tabelul 26:

Tabelul 26. Relații de calcul pentru coeficienții b

Relația de egalitate a
Gradul Calculul coeficientului b
coeficienților
𝑛 a 0 = b0 𝑏0 = 𝑎0
𝑛−1 𝑎1 = 𝑏1 − 𝑏0 ∗ 𝛼 𝑏1 = 𝑏0 ∗ 𝛼 + 𝑎1
𝑛−2 𝑎2 = 𝑏2 − 𝑏1 ∗ 𝛼 𝑏2 = 𝑏1 ∗ 𝛼 + 𝑎2
… … …
0 𝑎𝑛 = 𝑏𝑛 − 𝑏𝑛−1 ∗ 𝛼 𝑏𝑛 = 𝑏𝑛−1 ∗ 𝛼 + 𝑎𝑛

7.6. Utilizarea mediului MATLAB pentru rezolvarea ecuațiilor neliniare

Din algoritmii de rezolvare a ecuațiilor liniare, în cele ce urmează vor fi prezentați


câțiva care au o implementare în mediul MATLAB.
Algoritmul Newton-Raphson. Acest algoritm a fost prezentat în detaliu în
subcapitolul anterior. În MATLAB, implementarea acestui algoritm este funcția NR [13].
Această funcție are sintaxa:
𝑥 = 𝑁𝑅(𝑓, 𝑥0 , 𝑡𝑜𝑙, 𝑡𝑟𝑎𝑐𝑒, 𝑣𝑎𝑟𝑎𝑟𝑔𝑖𝑛)
În sintaxa de mai sus, notațiile prezente au următoarele semnificații:
 𝑥 reprezintă soluția ecuației neliniare;
 𝑓 reprezintă fișierul care conține funcția 𝑓(𝑥) din expresia (1);
 𝑥0 reprezintă șirul de aproximare;
 𝑡𝑜𝑙 este un parametru ce reține precizia calculelor;
 𝑡𝑟𝑎𝑐𝑒 este un parametru ce reține dacă vor fi arătate rezultatele numai în
format numeric (𝑡𝑟𝑎𝑐𝑒 = 1) sau numeric și grafic (𝑡𝑟𝑎𝑐𝑒 = 2);
 𝑣𝑎𝑟𝑎𝑟𝑔𝑖𝑛 este un parametru opțional, care reține eventualii parametri pe care
îi poate avea funcția 𝑓.
2. Algoritmul bisecției succesive. Acest algoritm este implementat de funcția bisuc.
Sintaxa de apelare a funcției bisuc este:

117
𝑐 = 𝑏𝑖𝑠𝑢𝑐(𝑓, 𝑥0 , 𝑎, 𝑏)
În sintaxa de mai sus, notațiile prezente au următoarele semnificații:
 𝑐 reprezintă soluția ecuației neliniare;
 𝑓 reprezintă fișierul care conține funcția din expresia (79);
 𝑥0 reprezintă punctul de plecare al calculelor iterative;
 𝑎, 𝑏 reprezintă limita inferioară, respectiv superioară a intervalului de căutare.

7.7. Exemplu de rezolvare a ecuațiilor neliniare utilizând MATLAB

În subcapitolul trecut au fost prezentate modalități de rezolvare a ecuațiilor neliniare


utilizând programul MATLAB. Pentru demonstrarea modului de utilizare al fiecărui mod de
rezolvare, în acest subcapitol vor fi oferite exemple de utilizare a acestor rutine. Atât pentru
ecuațiile cât și pentru sistemele de ecuații neliniare va fi oferit câte un exemplu, care va fi
rezolvat utilizând fiecare dintre modurile prezentate în subcapitolul anterior.
Exemplul 21: să se rezolve ecuația neliniară:

𝑥3 − 2 ∗ 𝑥 − 5 = 0 (123)

Înainte de rezolvarea acestei ecuații, este necesară programarea în MATLAB a


acestei ecuații. Pentru a realiza acest lucru, ecuația (109) se scrie sub forma unei funcții de
tipul 𝑦 = 𝑓(𝑥):

𝑦 = 𝑥3 − 2 ∗ 𝑥 − 5 (124)

Ecuația programată în MATLAB este prezentată în Figura 81:

Figura 81. Ecuația (32) programată în limbajul MATLAB

Algoritmul Newton-Raphson. Deoarece acest algoritm este iterativ, pentru rezolvarea


ecuației (110) cu ajutorul algoritmului Newton-Raphson este necesară furnizarea unui punct

118
de plecare pentru calcule, punct ales de utilizator. Pentru rezolvarea acestui exemplu a fost
ales punctul de plecare 𝑥0 = 5. De asemenea, a fost utilizată posibilitatea afișării rezultatelor
intermediare atât din punct de vedere numeric cât și din punct de vedere grafic. Script-ul
utilizat pentru rezolvarea ecuației neliniare este prezentat în Figura 82:

Figura 82. Rezolvarea ecuației neliniare cu ajutorul algoritmului Newton-Raphson

Rezultatele intermediare, alături de rezultatul final al ecuației (110) este prezentat în


Figura 83:

Figura 83. Rezultatele intermediare și rezultatul ecuației (32), rezolvată cu ajutorul


algoritmului Newton-Raphson

119
Rezultatul în formă grafică este prezentat în Figura 84:

Figura 84. Rezultatul în formă grafică al ecuației (22)

Algoritmul bisecției succesive. Utilizarea acestui algoritm este similară cu utilizarea


algoritmului Newton-Raphson. Este necesară programarea în prealabil a funcției neliniare a
cărei ecuație trebuie rezolvată (pentru acest exemplu, codul sursă este prezentat în Figura 81).
Pentru rezolvarea acestui exemplu s-a considerat căutarea soluției în intervalul
[−5, 5]. Script-ul care conține codul necesar rezolvării exemplului dat, cu ajutorul metodei
bisecției succesive este prezentat în Figura 85:

Figura 85. Rezolvarea ecuației (110) cu ajutorul metodei bisecției succesive

120
Rezultatul obținut la rularea script-ului din Figura 85 este prezentat în Figura 86:

Figura 86. Rezultatul rezolvării ecuației neliniare cu ajutorul metodei bisecției succesive

7.8. Aspecte teoretice legate de sistemele de ecuații neliniare

Un sistem de ecuații neliniare este un sistem de ecuații care are forma generală [11]:

𝑓1 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 0
𝑓 (𝑥 , 𝑥 , … , 𝑥𝑛 ) = 0
{ 2 1 2 (125)

𝑓𝑛 𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 0
(

În sistemul (111), 𝑓1 , 𝑓2 , … , 𝑓𝑛 sunt funcții reale.


Sistemul (111) se mai scrie sub forma prescurtată:

𝐹(𝑥) = 0 (126)

Pentru calculul soluției sistemului de ecuații neliniare se mai utilizează vectorul


aproximatei inițiale a soluției, care are forma:

(0)
𝑥1
(0)
𝑥 (0) = 𝑥2 (127)

(0)
(𝑥𝑛 )

Dintre cei mai importanți algoritmi de rezolvare a sistemelor de ecuații neliniare se


numără algoritmii Newton-Raphson și Broyden. Algoritmii de rezolvare ale sistemelor de
ecuații neliniare se bazează pe dezvoltarea în serie Taylor a funcțiilor multivariabile din
sistemul (111) [12]. De asemenea, există un număr de algoritmi pentru rezolvarea acestui
sistem, care vor fi discutați în subcapitolul următor.

121
1. Algoritmul Newton-Raphson. Acest algoritm este o variație adaptată pentru
sisteme de ecuații neliniare a algoritmului prezentat în cadrul ecuațiilor neliniare. Principala
diferență este că derivata funcției asociată ecuației neliniare este înlocuită de o matrice
denumită matrice Jacobian sau, altfel spus, Jacobianul sistemului. Jacobianul sistemului de
ecuații neliniare este o matrice care are forma generală [11]:

𝜕𝑓1 𝜕𝑓1 𝜕𝑓1



𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛
𝜕𝑓2 𝜕𝑓2 𝜕𝑓2
𝐽(𝑋 ) = 𝜕𝑥 … (128)
𝜕𝑥2 𝜕𝑥𝑛
…1 … … …
𝜕𝑓𝑛 𝜕𝑓𝑛 𝜕𝑓𝑛

[𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛 ]

2. Algoritmul Broyden. Acest algoritm este o variație a algoritmului Newton-


Raphson în care principala lui caracteristică este că derivatele parțiale care alcătuiesc matricea
Jacobian sunt calculate o singură dată, la începutul iterațiilor.
Algoritmul Broyden are două etape:
 Etapa de inițializare;
 Etapa de calcul iterativ.
Etapa de inițializare a algoritmului Broyden este destinată prelucrării inițiale și a
calculării Jacobianului sistemului de ecuații. Pașii acestei etape sunt:
 Se calculează 𝑓0 = 𝑓(𝑥0 );
 Se calculează derivatele parțiale ale elementelor matricei Jacobian:
(0) (0)
𝜕𝑓𝑖 𝑓𝑖 (𝑥𝑗 + ℎ𝑗 ) − 𝑓𝑖 (𝑥𝑗 )
= , 𝑖, 𝑗 = 1 … 𝑛
𝜕𝑥𝑗 ℎ𝑗
În relația de mai sus, ℎ𝑗 se numește pas de discretizare. Se recomandă ca acest pas să
fie ℎ𝑗 = 0.001 ∗ 𝑥𝑗 , 𝑗 = 1 … 𝑛.
 Se alcătuiește matricea
−1
𝐻 (0) = −𝐽(𝑥 (0) )

122
Etapa de calcul iterativ este destinată îmbunătățirii soluției. Aceasta conține următorii
pași:
 Se calculează ∆𝑥 (𝑘) cu relația:
∆𝑥 (𝑘) = 𝐻 (𝑘) 𝑓 (𝑘)
 Se determină valorile 𝑠𝑘 astfel încât norma euclidiană a vectorului 𝐹(𝑥 (𝑘) +
𝑠 (𝑘) ∆𝑥 (𝑘) ) să fie mai mică decât norma lui 𝐹(𝑥 (𝑘) ). Pentru început se
(𝑘)
estimează 𝑠1 = 1. Dacă inecuația

𝑛 𝑛

√∑ 𝑓𝑖2 (𝑥 (𝑘) + 𝑠 (𝑘) ∆𝑥 (𝑘) ) < √∑ 𝑓𝑖2 (∆𝑥 (𝑘) ) (129)


𝑖=1 𝑖=1

este satisfăcută, atunci se calculează:


𝑥 (𝑘+1) = 𝑥 (𝑘) + 𝑠 (𝑘) ∆𝑥 (𝑘)
𝑓 (𝑘+1) = 𝑓(𝑥 (𝑘+1) )
și se trece la pasul următor.
În caz contrar se calculează valorile 𝑠 (𝑘) utilizând relația Broyden:

(𝑘) √1 + 6𝜂 − 1
𝑠2 = (130)
3𝜂

În relația (116), parametrul η se calculează conform relației:

∑𝑛𝑖=1 𝑓𝑖2 (𝑥 (𝑘) + 𝑠1(𝑘) Δ𝑥 (𝑘) )


𝜂= (131)
∑𝑛𝑖=1 𝑓𝑖2 (𝑥 (𝑘) )

După evaluarea relației (116) se verifică din nou îndeplinirea inecuației (115).
Dacă și în acest caz inecuația nu este satisfăcută, se reiau calculele din acest pas,
pentru reevaluarea derivatelor parțiale pe baza valorilor 𝑥 (𝑘) .
 Se testează dacă a fost găsită soluția numerică cu precizia ε fixată dinainte.
Dacă convergența nu a fost atinsă, se calculează:

Δ𝐹 (𝑘) = 𝐹 (𝑘+1) −𝐹 (𝑘) (132)

123
 Se determină matricea 𝐻 (𝑘+1) cu relația:

𝑇
(𝑘+1) (𝑘)
(𝐻 (𝑘) Δf (𝑘) + 𝑠 (𝑘) Δ𝑥 (𝑘) )(Δ𝑥 (𝑘) ) 𝐻 (𝑘)
𝐻 =𝐻 + (133)
(Δ𝑥 (𝑘) )𝑇 ∗ 𝐻 (𝑘) ∗ Δ𝑥 (𝑘)

Apoi se revine la pasul anterior.

7.9. Utilizarea MATLAB pentru rezolvarea sistemelor de ecuații neliniare

Funcția fsolve. Această funcție are ca scop rezolvarea unui sistem de ecuații
neliniare, sistem care are forma generală:

𝐹 (𝑥 ) = 0 (134)

MATLAB permite mai multe metode de apelare a acestei funcții [14]. Cea mai
simplă metodă este aceea de a apela funcția fsolve utilizând sintaxa:

𝑥 = 𝑓𝑠𝑜𝑙𝑣𝑒(𝑓𝑢𝑛, 𝑥0)
În sintaxa de mai sus, x reprezintă soluția sistemului de ecuații neliniare, fun
reprezintă sistemul de ecuații care trebuie rezolvat iar x0 este punctul de plecare pentru
iterațiile necesare pentru determinarea soluției sistemului.
Pentru a utiliza în mod corect funcția fsolve este necesară scrierea într-un alt fișier
MATLAB a sistemului propriu-zis de ecuații. Ulterior, în cadrul apelării funcției fsolve,
parametrul fun va fi de forma @sistem, unde sistem reprezintă denumirea fișierului MATLAB
care conține sistemul de ecuații al cărui rezolvare trebuie calculată.

7.10. Exemple de utilizare a rutinelor MATLAB pentru rezolvarea sistemelor de ecuații


neliniare

Exemplul 22: să se rezolve următorul sistem de ecuații neliniare:

2 ∗ 𝑥1 − 𝑥2 = 𝑒 −𝑥1
{ (135)
−𝑥1 + 2 ∗ 𝑥2 = 𝑒 −𝑥2

Punctul inițial de căutare a soluției este:

𝑥0 = [−5 −5] (136)

124
Înainte de a rezolva sistemul (121), acesta trebuie adus la forma generală 𝐹(𝑥) = 0.
Sistemul (121) adus la această formă este:

2 ∗ 𝑥1 − 𝑥2 − 𝑒 −𝑥1 = 0
{ (137)
−𝑥1 + 2 ∗ 𝑥2 − 𝑒 −𝑥2 = 0

Sistemul (123) se programează în MATLAB conform codului din Figura 87:

Figura 87. Programarea în MATLAB a sistemului de ecuații (39)

Pentru a rezolva sistemul de ecuații (123) se utilizează, sub forma unui script,
instrucțiunile din Figura 88:

Figura 88. Instrucțiunile necesare pentru rezolvarea sistemului de ecuații neliniare (123)
cu ajutorul funcției fsolve

Rezultatul obținut se află prezentat în Figura 89:

Figura 89. Rezultatul obținut prin rezolvarea sistemului de ecuații (23)

125
7.11. Exerciții și probleme propuse

1. Să se rezolve ecuația:
𝑥 3 − 1.473 ∗ 𝑥 2 − 5.738 ∗ 𝑥 + 6.763 = 0
2. Să se rezolve ecuația:
𝑥 4 − 26 ∗ 𝑥 3 + 131 ∗ 𝑥 2 − 226 ∗ 𝑥 + 120 = 0
3. Să se rezolve ecuația:
4 ∗ 𝑥 3 − 8 ∗ 𝑥 2 + 12 ∗ 𝑥 − 8 = 0
4. Să se rezolve sistemele de ecuații neliniare:

𝑥+𝑦 =3
a) {
𝑥2 + 𝑦2 = 5

𝑦 =𝑥+1
b) {
𝑦 = 𝑥2 + 3 ∗ 𝑥 + 2

𝑥+𝑦 =1
c) {
𝑥 + 3 ∗ 𝑥 ∗ 𝑦 − 2 ∗ 𝑦 2 = −2
2

𝑥+2∗𝑦 =3
d) { 2
𝑥 ∗𝑥∗𝑦+𝑦 = 3

𝑥3 + 𝑦3 = 2
e) {
𝑥 3 − 2 ∗ 𝑦 3 = −1

5
f) { 𝑥 + 8 ∗ 𝑥7 = 9
3 ∗ 𝑥 − 2 ∗ 𝑥7 = 1
5

4 ∗ 𝑥 2 + 2 ∗ 𝑥 − 3 ∗ 𝑦 2 = −3
g) {
𝑥 2 + 𝑥 ∗ 𝑦 + 𝑦 2 = 61

126
127
Lucrarea 8 - Utilizarea Rețelelor Neuronale Artificiale cu Scop
Estimativ

8.1. Obiectivele lucrării

 Însușirea noțiunilor de bază legate de rețelele neuronale artificiale;


 Utilizarea mediului MATLAB pentru crearea, antrenarea și exploatarea unei rețele
neuronale artificiale cu scop estimativ;

8.2. Aspecte teoretice legate de rețelele neuronale artificiale

O rețea neuronală artificială (denumită, mai pe scurt, rețea neuronală) este un model
matematic de calcul, inspirat din sistemele nervoase centrale ale animalelor, în mod special,
creierul. O rețea neuronală este compusă dintr-o mulțime de elemente simple, denumite
neuroni. Acești neuroni sunt concepuți pentru a funcționa în paralel, conexiunile dintre
aceștia determinând valorile datelor de ieșire ale rețelei neuronale.
O rețea neuronală este capabilă, printre altele, de învățare și de recunoașterea
modelelor și este utilizată într-o gamă largă de domenii (biologie, aeronautică, finanțe, etc.).
În această lucrare, rețeaua neuronală va fi utilizată în scopuri estimative.
Din punct de vedere informatic, o rețea neuronală este un algoritm, care are date de
intrare și date de ieșire. Mai precis, plecând de la datele de intrare primite și de la un set
suplimentar de date, set care conține de intrare și date de ieșire cunoscute în prealabil, aceasta
va fi utilizată pentru estimarea datelor de ieșire.
Pașii necesari pentru construirea și exploatarea unei rețele neuronale sunt următorii:
 Crearea bazei de date de antrenament;
 Crearea rețelei neuronale;
 Configurarea rețelei neuronale;
 Antrenarea rețelei;
 Exploatarea rețelei.
O rețea neuronală este compusă din trei tipuri de straturi:
 Stratul de intrare. Acesta are ca rol principal citirea datelor de intrare în
rețeaua neuronală și transmiterea acestora către straturile ascunse. Din
punctul de vedere al stratului de intrare, nu este importantă natura datelor
primite.

128
 Straturile ascunse. Scopul acestora este de a procesa datele de intrare pentru a
transmite rezultatele obținute către stratul sau straturile de ieșire. O rețea
neuronală poate avea unul sau mai multe straturi ascunse. Neuronii din
straturile ascunse sunt legați între ei, legăturile fiind fie între neuronii
aceluiași strat, fie între neuroni aparținând a două straturi diferite. Cu cât
există mai mulți neuroni și mai multe straturi, cu atât aproximările sunt mai
precise. Un număr prea mare de neuroni și straturi poate duce la supra-
antrenare.
 Straturile de ieșire. Rolul acestora este de a afișa rezultatul calculelor
straturilor ascunse. Numărul de straturi de ieșire este întotdeauna egal cu
numărul de variabile de ieșire, pentru că un strat nu poate reține decât o
singură variabilă de ieșire.
Una dintre caracteristicile importante ale rețelelor neuronale este capacitatea acestora
de învățare (antrenare). Din punct de vedere matematic, având o problemă de rezolvat și o
clasă de funcții de transfer, învățarea reprezintă folosirea unui set de observații pentru a găsi
soluția optimă pentru rezolvarea acelei probleme. Acest lucru înseamnă faptul că, dacă se
atașează problemei o funcție de penalizare, cea mai des întâlnită astfel de funcție fiind costul
atașat descoperirii soluției, soluția optimă este acea soluție care are costul cel mai mic [14].
Scopul procesului de învățare al unei rețele neuronale este acela de a ajusta
parametrii interni ai algoritmului acestei rețele astfel încât un anumit set de date de intrare să
conducă la un anumit set de date țintă de ieșire. Este nevoie de mai mult de o pereche de date
de intrare și date de ieșire pentru a putea antrena eficient o rețea neuronală. Avantajul acestei
necesități este faptul că nu există o limită superioară a numărului de perechi pentru
antrenamente.
Totalitatea perechilor de date de intrare și date de ieșire care sunt utilizate pentru
antrenare formează o bază de date de antrenament.
Baza de date de antrenament este un element esențial pentru ca rețeaua neuronală să
ofere estimări corecte, deoarece datele de ieșire estimate depind într-o proporție foarte mare
de datele care se află în această bază de date. În cadrul bazei de date de antrenament, datele de
ieșire se mai numesc date țintă.
O bază de date de antrenament are două caracteristici importante:
 Volumul bazei de date. Reprezintă numărul de înregistrări, adică numărul de
perechi de date de intrare și date de ieșire utilizate pentru antrenarea rețelei

129
neuronale. Volumul bazei de date reprezintă caracteristica cantitativă a
acesteia;
 Corelarea datelor din baza de date. Arată gradul de dependență dintre seturile
de date utilizate la antrenare. Dacă datele sunt puternic corelate, atunci
influența factorului aleatoriu este foarte mică, iar rețeaua neuronală va oferi
estimări foarte precise, raportate la datele de antrenament primite. Invers,
dacă datele sunt slab corelate, atunci influența factorului aleatoriu este foarte
mare, iar estimările pe care rețeaua le va oferi vor fi foarte slabe, raportat la
datele de antrenament primite. Corelarea datelor din baza de date reprezintă
caracteristica calitativă a acesteia.
Aceste caracteristici influențează precizia estimării rețelei neuronale și fiecare
prezintă importanța ei. O bază de date de dimensiuni mici, dar cu date puternic corelate va
avea dezavantajul faptului că rețeaua neuronală are la dispoziție puține cazuri din care aceasta
poate învăța. Invers, o rețea voluminoasă dar cu date slab corelate are dezavantajul faptului că
rețeaua nu se poate baza pe existența unei legături între date. Este evident faptul potrivit
căruia baza de date ideală conține un număr mare de date puternic corelate, dar dacă nu se
poate obține acest lucru, este de preferat un număr mic de date puternic corelate în favoarea
unui număr mare de date, dar slab corelate. Criteriul calitativ are o importanță mai mare.
O corelare slabă a datelor din baza de date de antrenament nu este neapărat un lucru
negativ. În practică, datele care vor constitui baza de date de antrenament sunt obținute de la
diferitele dispozitive ale procesului tehnologic studiat. Corelarea acestora poate fi puternică
sau slabă, de la caz la caz. Deoarece datele obținute sunt reale și caracterizează procesul
studiat, și corelarea acestora devine o caracteristică a acelui proces tehnologic. În concluzie,
este posibil ca rețeaua neuronală trebuie să estimeze datele de ieșire pe baza unor date reale,
dar slab corelate.
Datele dintr-o bază de date de antrenament se împart în trei categorii:
 Date de antrenament;
 Date de validare;
 Date de test.
Repartizarea datelor din baza de date de antrenament în categoriile menționate este
aleatorie și este efectuată de către rețeaua neuronală, în momentul antrenării acesteia.
Proporțiile în care sunt distribuite datele în cele trei categorii variază, dar se obișnuiește ca

130
70% din datele din baza de date de antrenament să fie date de antrenament, iar restul de 30%
să fie împărțite în mod egal între celelalte două tipuri de date.
Antrenarea unei rețele neuronale este compusă din trei etape:
 Antrenarea propriu-zisă. Scopul acesteia este de ajustare a parametrilor
interni ai algoritmului acestei rețele, în funcție de datele primite din baza de
date de antrenament;
 Validarea. Scopul acestui pas este acela de a preveni apariția fenomenului de
supra-antrenare (over-fitting). Fenomenul de supra-antrenare apare atunci
când un model statistic descrie erorile întâmplătoare în locul relațiilor dintre
date [14]. Supra-antrenarea duce la obținerea unui model matematic extrem
de fidel față de datele de antrenament primite, dar foarte slab la estimări pe
baza unor date de intrare noi, datorită incapacității rețelei neuronale de a se
adapta la date noi [15]. Această incapacitate se observă în momentul rulării
testelor statistice asupra estimărilor obținute;
 Testarea. Scopul acestei proceduri este acela de a testa soluțiile finale, pentru
a confirma capacitatea de estimare a rețelei.
Există un număr mare de programe care sunt concepute pentru crearea, antrenarea și
exploatarea unei rețele neuronale artificiale. Dintre acestea, va fi studiată utilizarea rețelei
neuronale cu ajutorul mediului MATLAB.

8.3. Utilizarea mediului MATLAB pentru crearea și antrenarea unei rețele neuronale
artificiale cu scop estimativ

Crearea și utilizarea rețelei neuronale cu ajutorul mediului MATLAB se face


executând aplicația Neural Net Fitting sau utilizând funcția nftool (indiferent de metoda
aleasă, rezultatul este același). Această aplicație este o interfață care ușurează crearea și
antrenarea rețelei neuronale. Acest gen de interfață mai este cunoscut sub denumirea de
wizard, termen ce nu are vreo denumire sau traducere satisfăcătoare în limba română. La
finalul wizard-ului, utilizatorul va avea o rețea neuronală, antrenată și pregătită pentru a fi
utilizată. Folosind funcția nftool se creează ușor, simplu și fără erori rețeaua neuronală, deși
utilizatorii mai avansați pot prefera crearea și personalizarea acesteia cu ajutorul liniilor de
cod ale limbajului MATLAB.

131
Aplicația Neural Net Fitting permite utilizatorului să salveze toate datele introduse și
opțiunile selectate sub forma unui script MATLAB, care poate fi modificat ulterior, după
necesități.
Pașii pentru crearea rețelei neuronale cu ajutorul acestei aplicații sunt:
 Selectarea datelor utilizate de către baza de date de antrenament;
 Împărțirea bazei de date în date de antrenament, validare și test;
 Determinarea arhitecturii rețelei neuronale;
 Antrenarea rețelei neuronale;
 Re-antrenarea rețele neuronale (opțional);
 Salvarea într-un fișier a rețelei create și antrenate.
Primul pas cerut de către aplicația Neural Net Fitting, pentru crearea rețelei
neuronale este acela de selectare a datelor utilizate de către baza de date de antrenament. În
cadrul acestui pas, utilizatorul alege datele de intrare și datele test pentru această bază de date.
Următorul pas pentru crearea rețelei neuronale cu ajutorul mediului MATLAB este
împărțirea bazei de date în date de antrenament, validare și test. Proporțiile inițiale în care
sunt divizate datele din baza de date de antrenament pe cele trei categorii sunt cele specificate
în subcapitolul precedent (70% date de antrenament, 15% date de validare și 15% date de
test), dar MATLAB permite utilizatorului să modifice aceste proporții, între anumite
intervale.
Al treilea pas îl constituie determinarea arhitecturii rețelei neuronale. Numărul de
neuroni pentru straturile de intrare respectiv de ieșire sunt determinați automat, odată cu
determinarea dimensiunilor matricelor folosite. Numărul de neuroni din stratul ascuns
reprezintă ultimul parametru pe care utilizatorul trebuie să îl introducă. În acest caz, numărul
de neuroni a fost lăsat la valoarea prestabilită de 10 neuroni.
Următorul pas este acela de antrenare a rețelei neuronale. Din cadrul interfeței
Neural Network Fitting Tool se apasă butonul Train. Antrenarea rețelei are loc după ce toate
datele necesare au fost introduse. Prin apăsarea butonului de antrenare, va apărea o nouă
fereastră, denumită Neural Network Training, al cărei scopuri sunt de a oferi informații despre
procesul de antrenare propriu-zis și de a oferi posibilitatea utilizatorului de a verifica eficiența
antrenamentelor.
Verificarea eficienței antrenamentelor este un pas important, dar opțional. În
MATLAB, această verificare se face cu ajutorul a două criterii: histogramele de eroare și a

132
analiza de regresie a datelor. Modalitatea corectă de interpretare a datelor oferite de aceste
criterii poate fi găsită în sistemul de asistență al programului MATLAB.
Ultimul pas este acela de salvare a rețelei neuronale într-un fișier. Rețeaua astfel
salvată poate fi utilizată în viitor.

8.4. Exemplu de creare, antrenare și utilizare a unei rețele neuronale artificiale cu scop
estimativ

În subcapitolul precedent a fost prezentată modalitatea de creare și antrenare a unei


rețele neuronale artificiale cu ajutorul programului MATLAB. În acest subcapitol va fi
prezentat un exemplu.
Pentru crearea și antrenarea rețelei neuronale va fi folosită aplicația Neural Net
Fitting. Această aplicație utilizează o rețea neuronală de tip Feedforward pentru efectuarea
estimărilor [14]. Această aplicație poate fi găsită în secțiunea Apps, precum în Figura 90.

Figura 90. Aplicația Neural Net Fitting

Fereastra principală a acestei aplicații este prezentată în Figura 91:

133
Figura 91. Fereastra principală a aplicației Neural Net Fitting

Prin efectuarea unui click pe butonul Next, este afișată fereastra care permite
introducerea datelor de intrare și a datelor țintă pentru baza de date de antrenament a rețelei
neuronale. Aceste date trebuie să fie sub formă matriceală. Matricele corespunzătoare datelor
de intrare și a celor țintă trebuie să fie introduse înainte de a ajunge la acest ecran. Metoda de
introducere a acestora (citire din fișier sau introducere manuală, din linia de comandă) nu este
importantă. Fereastra de introducere a acestor date este prezentată în Figura 92.

134
Figura 92. Fereastra de introducere a datelor de intrare și a celor țintă

Această fereastră permite, în scopuri demonstrative, utilizarea unor seturi de date


exemplu, date deja existente și livrate odată cu programul MATLAB. Pentru vizualizarea
acestora, utilizatorul trebuie să facă un click pe butonul Load Example Data Set, din partea de
jos a ferestrei din Figura 92. Fereastra care apare este prezentată în Figura 93.

135
Figura 93. Fereastra de selectare și încărcare a unor date exemplu

În acest subcapitol va fi utilizat unul dintre seturile de date exemplu, mai precis setul
denumit Simple Fitting Problem. Nu are importanță care dintre seturile din Figura 93 este
ales.
Pentru utiliza setul de date, se face un click pe acesta apoi pe butonul Import. Datele
importate au fost automat încărcate în fereastra din Figura 93 după cum se poate observa în
Figura 94.

136
Figura 94. Fereastra de selectare a datelor pentru antrenarea rețelei neuronale, cu
datele exemplu selectate

Prin efectuarea unui click pe butonul Next, va apărea o fereastră care permite
utilizatorului stabilirea proporțiilor în care vor fi împărțite datele de antrenament în cele trei
tipuri discutate anterior: date de antrenament, date de validare și date de test. În acest
exemplu, vor fi păstrate proporțiile stabilite anterior de către MATLAB. Fereastra de stabilire
a proporțiilor de împărțire a datelor de antrenament este prezentată în Figura 95.

137
Figura 95. Fereastra de împărțire a datelor de antrenament pe cele trei categorii

Prin efectuarea unui click pe butonul Next din fereastra din Figura 96, va apărea o
fereastră ce permite utilizatorului să selecteze numărul de neuroni pe care îi va avea rețeaua
neuronală în stratul ascuns. De asemenea este prezentată, schematic, rețeaua neuronală
configurată. În acest exemplu va fi folosită valoarea prestabilit de 10 neuroni. Fereastra de
selecție a numărului de neuroni este prezentată în Figura 96.

138
Figura 96. Fereastra de selecție a numărului de neuroni din stratul ascuns

Prin efectuarea unui click pe butonul Next al ferestrei din Figura 96, va apărea
fereastra care permite utilizatorului antrenarea rețelei neuronale create și configurate. Această
fereastră oferă utilizatorului posibilitatea de alege unul dintre cei trei algoritmi de antrenare a
rețelei. În acest exemplu va fi utilizat algoritmul predefinit, Levenberg-Marquardt. Pentru a
începe antrenarea rețelei neuronale, utilizatorul trebuie să efectueze un click pe butonul Train.
Fereastra de antrenare a rețelei neuronale este prezentată în Figura 97.

139
Figura 97. Fereastra de antrenare a rețelei neuronale

În timpul antrenării rețelei neuronale va apărea o fereastră similară celei din Figura
98.

140
Figura 98. Fereastra din timpul antrenării rețelei neuronale

După încheierea procesului de antrenare a rețelei neuronale, utilizatorul are


posibilitatea de a verifica eficiența antrenamentului cu ajutorul histogramei de eroare și a
analizei de regresie a datelor. Histograma de eroare poate fi văzută cu ajutorul unui click pe
butonul Plot Error Histogram, din Figura 98. Rezultatele analizei de regresie pot fi observate
efectuând un click pe butonul Plot Regression, din aceeași figură. Acesta este un pas opțional.
141
Histograma de eroare și coeficientul de corelare oferit de către analiza de regresie
pentru datele din acest exemplu sunt prezentate în Figura 99 respectiv Figura 100.

Figura 99. Histograma de eroare pentru datele luate în considerare în acest exemplu

În Figura 99 se poate observa că majoritatea erorilor se află în jurul valorii 0. Din


acest motiv se poate concluziona că datele de antrenament sunt coerente, deci antrenamentul
rețelei neuronale este eficient.

142
Figura 100. Analiza de regresie a datelor din baza de date de antrenament

În Figura 100 se poate observa faptul potrivit căruia concluziile care au fost trase din
Figura 99 se confirmă. Coeficienții de corelare cu valori aproape de 1 arată faptul că
antrenamentul rețelei neuronale a fost eficient.
Următoarea fereastră a aplicației este acea de reantrenare a rețelei neuronale. Acest
proces este opțional. Există trei modalități de reantrenare a rețelei neuronale:
 Reantrenarea propriu-zisă. Această modalitate se bazează pe faptul că, înainte
de orice antrenare, datele din baza de date de antrenament sunt împărțite
aleatoriu în cele trei categorii;

143
 Modificarea numărului de neuroni din stratul ascuns;
 Antrenarea rețelei neuronale utilizând o bază de date care are date diferite
și/sau mai multe.
Deoarece antrenamentul rețelei neuronale pentru datele din acest exemplu a fost
eficient, nu este necesară reantrenarea rețelei neuronale.
Fereastra de reantrenare a rețelei neuronale este prezentată în Figura 101:

Figura 101. Fereastra de reantrenare a rețelei neuronale

Prin efectuarea unui click pe butonul Next din fereastra prezentată în Figura 101,
apare o fereastră care permite utilizatorului salvarea rețelei neuronale create fie sub forma
unei funcții MATLAB, fie sub forma unei diagrame Simulink. De asemenea, utilizatorul are
posibilitatea de a genera o reprezentare grafică a rețelei neuronale, prin efectuarea unui click
pe butonul Neural Network Diagram. Acest pas este opțional. Această fereastră este
reprezentată în Figura 102:

144
Figura 102. Fereastra de salvare a rețelei neuronale în diferite formate

Prin efectuarea unui click pe butonul Next, va apărea o fereastră a aplicației, fereastră
ce permite salvarea rețelei neuronale sub forma unui script, MATLAB. Există două variante
de script în care poate fi salvată rețeaua creată și antrenată:
 Script simplu. Această variantă salvează numai instrucțiunile aferente creării
și antrenării rețelei neuronale;
 Script detaliat. Această variantă salvează atât instrucțiunile din varianta
precedentă, cât și instrucțiuni suplimentare care permit configurarea manuală
a rețelei neuronale, precum și un exemplu.
Acest pas este opțional. La final, utilizatorul trebuie să efectueze un click pe butonul
Finish, pentru ca aplicația să-și încheie execuția.
Fereastra de salvare sub forma unui script este prezentată în Figura 103:

145
Figura 103. Fereastra de salvare a rețelei neuronale sub forma unui script

Dacă utilizatorul alege să nu salveze rețeaua și să efectueze click pe butonul Finish,


va apărea o fereastră de dialog, care avertizează de acest fapt, precum în Figura 104:

Figura 104. Fereastra de avertisment

Dacă utilizatorul efectuează click pe butonul Finish, atunci aplicația Neural Net
Fitting își încheie execuția fără a salva rețeaua neuronală creată și antrenată. Dacă este apăsat

146
butonul Cancel, atunci aplicația revine la fereastra din Figura 103 și permite utilizatorului să
salveze rețeaua neuronală.
Pentru a exploata rețeaua neuronală creată și antrenată, se utilizează comanda 𝑛𝑒𝑡.
Această comandă are sintaxa:

𝑦 = 𝑛𝑒𝑡(𝑥)

În sintaxa de mai sus, 𝑥 reprezintă data de intrare pentru care se dorește estimarea
variabilei de ieșire, cu ajutorul rețelei neuronale, iar 𝑦 este variabila care reține valoarea
estimată a rețelei neuronale.

8.5. Exerciții și probleme propuse

1. Utilizați rețeaua neuronală creată și antrenată conform exemplului din această


lucrare de laborator, pentru a afla răspunsul acesteia având ca date de intrare valorile 1, 2, …,
9. Rețeaua nu se va reantrena între utilizări.
Indicație: valorile returnate de rețeaua neuronală variază după fiecare antrenare a
acesteia, datorită factorului aleatoriu implicat. Cu alte cuvinte, pentru aceleași date de intrare,
o rețea neuronală antrenată după fiecare apelare va oferi rezultate diferite, dar asemănătoare.
Pentru verificare, va fi prezentat un set de valori obținute:

x 1 2 3 4 5 6 7 8 9
y 9.5826 9.4695 7.8141 7.1273 7.3194 8.1721 6.0345 7.6491 8.4228

147
BIBLIOGRAFIE

1. Pătrăşcioiu, C., Tehnici Numerice de Optimizare. 2005, Bucureşti: Editura


MatrixRom. Pag. 44-95
2. MathWorks Inc., MATLAB R2014a Help System. 2014.
3. Franks, Roger G. E., Modelarea și simularea în ingineria chimică. 1979, București:
Editura Tehnică
4. Seborg, D. E., Thomas, F. E., Duncan, A. M., Francis, J. D., Process Dynamic and
Control. 2011: Wiley
5. Dumitru, S., Dragoicea, M., Lupu, C., Modelarea și Simularea - Aplicații. 2002:
Editura Printech
6. Stefanoiu, D., Culita, J., Stoica, P., Fundamentele Modelării și Identificării
Sistemelor. 2005, Editura Printech
7. Smith, C., Digital Computer Process Control. 1972: Intext Education Publishers
8. Pătrășcioiu, C., Popa, C. System Identification. System Identification Toolbox or
Properly Algorithms? Advances in Automatic Control, conferința Proceedings of the
16th International Conference on Automatic Control, Modelling and Simulation
(ACMOS 14). 2014. Brașov.
9. Polynomial Regression. 2015 [accesat la 30 mai 2015]; Disponibil la:
http://en.wikipedia.org/wiki/Polynomial_regression.
10. Freedman, D. A., Statistical Models: Theory and Practice. 2009, Cambridge
University Press. Pag. 26
11. Pătrăşcioiu, C., Metode Numerice Aplicate în Ingineria Chimică. 2005, Bucureşti:
Editura MatrixRom
12. McCalla, T. R., Introduction to Numerical Methods and FORTRAN Programming.
1967, Washington, D. C.: John Wiley & Sons, Inc. Pag. 169
13. Constantinides, A., Mostoufi, N., Numerical Methods for Chemical Engineers with
MATLAB Applications. 1999, New Jersey: Prentice Hall PTR
14. MathWorks Inc., MATLAB R2015a Help System. 2015.
15. Doicin, B., Optimizarea Rețetelor de Amestec Pentru Reformularea Combustibililor
Ecologici de Tip Benzine. 2014: Universitatea Petrol-Gaze, Ploiești. Pag. 52

148
MODULUL DE STUDIU 1
INTRODUCERE ÎN MODELAREA ŞI SIMULAREA
PROCESELOR

Unitatea de învăţare 1 – timp de învățare 2 ore


Modelarea matematică
1.1. Conceptul de modelare matematică
1.2. Proprietățile modelelor matematice
1.3. Clasificarea modelelor matematice

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
 ce este un model matematic
 utilitatea modelării şi simulării sistemelor
 care sunt etapele realizării unui model matematic
La finalul parcurgerii acestei unității de învățare vei putea să:
 explica noțiunile: model matematic, modelarea
matematică

1.1. Conceptul de modelare


Comportarea dinamică a unui proces poate fi descrisă pe baza unui
model matematic. Elaborarea modelelor matematice asociate proceselor
precum şi alegerea tehnicilor de modelare a acestora, depinde de scopul
modelului.

1|Page
Definiție: Un modelul matematic este un ansamblu de relații/ecuații
algebrice, liniare sau neliniare (în cazul unui model matematic staționar),
sau un sistem de ecuații diferențiale şi algebrice (în cazul unui model
matematic dinamic). Modelele matematice sunt rezultatul activității de
modelare. Reprezentarea abstractă sau informaționlă a unui model
matematic în inginerie, se poate baza pe două principii:

 reprezentarea black-box utilizat atunci când nu există informații


disponibile apriori, ci numai mărimile de intrare, notate în general ui
și ieșire ale procesului, yi, figura 1.1;

 reprezentarea white-box utilizat atunci când toate informațiile


necesare descrieri fenomenelor din cadrul procesului sunt
disponibile.
u1(t) y1(t)
u2(t) Model y2 (t)
Mărimi Mărimi
de intrare matematic de ieşire
un(t) yn(t)

Fig. 1.1. Caracterizarea intrare – ieşire a unui model matematic.

Din reprezentarea din figura 1.1 a unui model matematic mărimile


de intrare u1, u2, ... un, sunt mărimi de independente și mărimi de tip cauză
iar mărimile de ieșire y1, y2, ...yn sunt mărimi dependente și mărimi de tip
efect.

Mărimea timp însoțeste evoluția oricărui proces implicit descrierea


modelului matematic, valorile pe care le poate lua această mărime fiind
diferită de valorile pe care le poate lua alte mărimi asociate modelului
matematic. Astfel dacă se aleg n valori ale timpului, t1, t2...tn acesta apare o
singură dată și numai în succesiune crescătoare respectiv

2|Page
𝑡1 → 𝑡2 → 𝑡3 → ⋯ 𝑡𝑛

cu

𝑡1 < 𝑡2 < 𝑡3 < ⋯ 𝑡𝑛 (1.1)

Un model matematic, în contextul studiului sistemelor, este definit ca o


reprezentare conceptuală a unui sistem real care reproduce și descrie
sistemul original existent permițând studierea sistemului, servind astfel
pentru cunoașterea proprietăților sistemului original și predicția comportării
acestuia. Un model matematic trebuie să fie cât mai exact, deci să descrie
cât mai fidel sistemul real și în același timp să fie cât mai simplu pentru a
putea fi implementat pe echipamente numerice de calcul.

Unui model matematic îi sunt specifice următoarele elemente:


 variabile - sunt acele mărimi care descriu diferite stări ale unui model
matematic, luând diferite valori ;
 parametrii - sunt acele mărimi care au o valoare specifică dată, pentru o
formulare particulară a modelului;
 constante - sunt acele mărimi invariabile, dependente de fenomenul
studiat (de exemplu constanta gazelor);
 relații matematice - sunt ecuații sau inecuații care descriu interacțiunea
dintre variabile, parametri și constante într-un model matematic.
Modelarea matematică a proceselor este utilă pentru [John I. şi alţii,
2000]:

 cunoașterea procesului, ceea ce permite înțelegerea fenomenelor din


cadrul unui proces sau a unei părți din proces;
 posibilitatea de a testa comportamentului dinamic și static al unui
proces;

3|Page
 operarea procesului pentru instruirea personalului de operare, pentru
localizarea şi remedierea operativă a unor defecțiuni în funcționarea
procesului şi la optimizarea funcționării acelui proces.
 în domeniul automatizărilor, pentru implementarea, dezvoltarea și
investigarea performanțelor structurilor de reglare ale unui proces.

Test de autoevaluare
1.1. Definiţi noţiunea de model matematic.
1.2. Care sunt elementele specifice unui model?

1.2. Proprietățile modelelor matematice

Investigarea teoretică a comportării modelelor matematice este


facilitat de cunoaşterea unor proprietăţi: structurale (interne) sau
informaţionale (externe). În continuare vor fi prezentate aspecte relevante
care privesc cele două categorii de proprietăţi [Paraschiv N., 2017].
Aceste proprietăţi sunt legate nemijlocit de natura mărimilor u şi y,
adică de informaţiile care sunt primite de modelul matematic, respectiv
care se obţin de la acesta.
Din punct de vedere informațional pot fi descrise două proprietăți și
anume: netrivialitatea intrării și netrivialitatea ieşirii.

Netrivialitatea intrării impune pentru un model existenţa a cel puţin


unei mărimi de intrare. Această proprietate este evidentă, deoarece dacă nu
se aplică nimic din exterior implicaţia u  y este lipsită de sens. Practic
proprietatea de netrivialitate a intrării impune ca mulțimea funcțiilor de
intrare să fie nevidă.

4|Page
Netrivialitatea ieşirii presupune existența unei întârzieri a variaţiei
ieşirii faţă de variaţia intrării. Cu alte cuvinte modelele la care ieşirea se
modifică simultan cu intrarea sau înaintea acesteia nu respectă proprietatea
de netrivialitate a ieşirii şi prin urmare nu pot avea o existenţă fizică
Proprietățile structurale sunt: accesibilitatea, controlabilitatea,
finitatea.
Accesibilitatea este determinată de numărul finit al variabilelor de
intrare şi de ieşire. Un model este p accesibil la intrare şi n accesibil la
ieşire dacă admite p variabile de intrare u1, u2 ,, u p şi n variabile de ieşire

y1, y2 ,, yn .
Controlabilitatea reprezintă în sens fizic proprietatea unui model de
a determina o variaţie la ieşire atunci când există o variaţie la intrare.
Finitatea unui model impune valori finite pentru numerele de
componente ale mărimilor de intrare, stare, ieşire.

1.3. Clasificarea modelelor

Clasificarea modelelor s-a realizat pe baza unor criterii ce au în vedere


complexitatea modelului, modul de determinare al modelului.

A. Un prim criteriu de clasificare a modelelor matematice se poate


face din punct de vedere al modalităților de obținere al acestora. Conform
acestui criteriu modele pot fi: modele analitice, modele experimentale şi
modele mixte [Arpad I., şi alţii, 2002 , Agachi Ş., 1994]:

A1. Modele analitice sunt obținute pe baza ecuațiilor de conservare, a


legilor proceselor fizice şi chimice ce au loc în procesul modelat.
Avantajele unor astfel de modele sunt:

- domeniu de valabilitate extins;

5|Page
- flexibilitatea sporită (modelul putând fi aplicat şi la modelarea
sistemelor similare cu sistemul pentru care a fost inițial elaborat).
Dezavantajele unor astfel de modele sunt:

- necesită o bună cunoaștere a fenomenelor şi proceselor ce au loc


în cadrul sistemului simulat;
- necesită o pregătire specială pentru descrierea matematică a unor
trăsături specifice sistemului modelat;
- modelul matematic obținut este în general complex şi greu de
utilizat mai ales în situația unor aplicații de optimizare on-line;
- necesită o etapă de validare/verificare a modelului, care presupune
necesitatea culegeri de date experimentale pe sistemul modelat.

A2. Modelele experimentale sunt obținute exclusiv prin observații şi


măsurători efectuate asupra mărimilor procesului modelat. Avantajele
acestor modele sunt:

- nu necesită informaţii despre sistem concret despre fenomenele


care au loc în cadrul sistemului modelat;
- necesită cunoașterea unui model matematic minimal, indiferent de
sistemul pentru care se elaborează modelul matematic;
- sunt simple din punct de vedere matematic, putând fi astfel
folosite mai ușor inclusiv în probleme de optimizare on-line,
necesitând un efort de calcul mai redus, respectiv timp de calcul
mai mic.

Dezavantajele acestor modele sunt:


- necesită un set extins de date experimentale rezultate din
măsurători efectuate în sistemul pentru care se elaborează modelul
matematic;

6|Page
- modelele matematice obținute nu sunt valabile decât pe domeniul
datelor experimentale utilizate în elaborarea lor. Aplicarea acestor
modele matematice pe alte sisteme, chiar similare, implică
efectuarea unor noi măsurători experimentale în noul sistem.

A3. Modele matematice mixte sunt obținute cu ajutorul legilor de


conservare (masă, energie, impuls) împreună cu ecuațiile rezultate din
corelarea datelor obținute din măsurătorile experimentale efectuate în
sistem. Modelele matematice mixte încearcă să preia din avantajele
existente ale celor două metode de modelare prezentate anterior. Aceste
modele sunt mai simple decât modelele analitice deoarece se bazează într-o
oarecare măsură pe date obținute experimental şi sunt mai ușor adaptabile
la sisteme similare prin faptul că se bazează pe ecuații de conservare ale
sistemul modelat.

B. Din punct de vedere al tratării matematice, se poate realiza o


clasificare a modelelor matematice. Câteva din posibilele clasificări din
punct de vedere matematic sunt prezentate în continuare (Aiordăchioaie
D., 2003, Cîrtoaje V., 2004):

B1.Clasificare după numărul intrărilor şi al ieşirilor


sistemului/modelului.
 Modele monovariabile (SISO - Single Input Single Output) sunt
acele modele care au o singură intrare şi o singură ieşire;
 Modele multivariabile (MIMO-Multiple Input Multiple Output)
sunt modele care au mai multe intrări şi mai multe ieşiri.

B2. Clasificare după natura variabilelor


 Modele dinamice sunt acele modele în cadrul cărora mărimile de
ieșire, intrare și stare ale sistemului depinde de variația în timp a acestora.

7|Page
 Modele staționare sunt modele care nu iau în considerare
variabila timp.
 Modele discrete sunt acele modele, în cadrul cărora mărimile de
intrare, de stare şi de ieşire iau valori numai la anumite momente discrete
de timp, t  N .
 Modele continue sunt acele modele, în cadrul cărora mărimile de
intrare, de stare şi de ieșire iau valori la orice moment de timp, t  R .

B3. Clasificare după natura ecuațiilor modelului.


 Modele algebrice sunt acele modele în care ecuațiile modelului
pot fi exclusiv algebrice, caz în care este vorba uzual de modele staționare
sau cvasistaționare. Acestea pot fi de tipul
f(i,y)=0 ; (1.1)

unde i reprezintă intrarea modelului, iar y reprezintă ieşirea


modelului matematic.

 Modele cu ecuații diferențiale ordinare (ODE - ordinary


differential equations ) sunt acele modele formate din ecuații diferenţiale
ordinare. Acestea sunt de forma
du
 f t , u, r  ; (1.2)
dt

unde u reprezintă ieşirea modelului, r mărimea de intrarea a


modelului, iar t variabila asociată timpului.

 Modele cu derivate parţiale (PDE partial differential equations)


sunt acele modele matematice exprimate prin intermediul ecuațiilor cu
derivate parțiale, de forma:
u  u 
 f  t , x, u , , r  (1.3)
t  x 

8|Page
unde u reprezintă ieşirea modelului, r mărimea de intrarea a
modelului, iar t variabila asociată timpului, iar x mărimea de stare a
modelului.

B4. Clasificarea după liniaritatea ecuațiilor modelului.

 Modele liniare – un model matematic poate fi liniar, dacă în


orice condiții verifică principiul superpoziției: suma efectelor cauzelor este
egală cu efectul sumei cauzelor, adică
E(c1)+E(c2)+…+E(cn) =E(c1+c2+…+cn) (1.4)

unde E(ci) am notat efectul cauzei ci

 Modele neliniare - sunt acele modele care nu satisfac în toate


cazurile principiul superpoziţiei.

B5.Clasificarea după caracterul distribuit al modelelor

 Modele cu parametrii concentrați sunt modele la care se poate


considera cu suficientă precizie, că mărimile fizice asociate oricărui
element al modelului au aceeași valoare în toate punctele sistemului.
 Modele cu parametrii distribuiți sunt acele modele la care cel
puțin o mărime fizică asociată unui element dimensional al modelului are
valori care diferă sensibil de la un punct la altul, adică are valori distribuite
de-a lungul unei linii, în plan sau în spaţiu.

B6. Clasificarea în funcție de prezența fenomenelor aleatoare.

 Modele de tip deterministe sunt modele care nu au elemente


aleatorii în descrierea matematică, variabilele şi parametrii având valori
bine definite.

9|Page
 Modele stohastice sunt modele care au elemente aleatorii iar
valorile variabilelor şi parametrii specifici modelului nu sunt niciodată
cunoscute cu exactitate.

Test de autoevaluare
1.3. Care sunt principalele criterii de clasificare a modelelor
matematice?

Rezumat
Un modelul matematic este un ansamblu de relații/ecuații
algebrice, liniare sau neliniare (în cazul unui model matematic
staționar), sau un sistem de ecuații diferențiale (în cazul unui
model matematic dinamic).

Răspunsuri la testele de autoevaluare

1.1. Un model matematic, în contextul studiului


sistemelor, este definit ca o reprezentare conceptuală a unui
sistem real care reproduce și descrie sistemul original existent
permițând studierea sistemului, servind astfel pentru cunoașterea
proprietăților sistemului original și predicția comportării acestuia.
1.2. Elementele specifice unui model matematic sunt:
variabilele, constante, parametrii şi relații matematice.
1.3. Clasificarea modelelor matematice se poate face din
punct de vedere al modalităților de obținere al acestora și din
punct de vedere al tratării matematice.

10 | P a g e
Lucrare de verificare
1. Care sunt dezavantajele modelării experimentale?.
2. Caracterizați, pe scurt, modelele staţionare.
3. Descrieți, pe scurt, avantajele modelelor analitice.
4. Prezentați utilitatea activităților de modelare.
5. Enumerați propritățile interne ale unui model
matematic.

BIBLIOGRAFIE
1. Aiordachioaie D., Neutral Process Modelling with Modelica,
Editura Matrix Rom, Bucureşti, 2003;
2. Agachi Ș. , Automatizarea proceselor chimice , Editura Casa Cărţii
de Ştiinţă, 1994;
3. Arpad I. L., Optimizarea proceselor din industria chimică, Editura
Tehnică, 2002;
4. Cîrtoaje V., Teoria sistemelor automate, Editura Universităţii
Petrol- Gaze din Ploieşti, 2004;
5. John I., Irving J. D., Elmar H., Chemical Engineering Dynamic,
Edition Wiley-VCN, 2000;
6. Paraschiv N., Introducere în ştiinţa sistemelor şi a calculatoarelor,
Editura Universității Petrol-Gaze Ploieşti, 2017.

11 | P a g e
MODULUL DE STUDIU 1
INTRODUCERE ÎN MODELAREA ŞI SIMULAREA
PROCESELOR

Unitatea de învăţare 2 – timp de învățare 3 ore


2. Simularea. Medii de simulare
2.1 Conceptul de simulare
2.2. Medii de simulare
2.3. Mediul de simulare MATLAB - SIMULINK

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
• importanța simulării numerice
• etapele simulării numerice
La finalul parcurgerii acestei unității de învățare vei putea să:
• realiza un program în mediul de simulare Matlab şi
Simulink

2.1. Conceptul de simulare


În mod firesc, etapa ce succedă elaborarea modelelor matematice ale
unui proces, este ceea a simulării numerice a procesului, în sensul punerii
în valoare a modelului matematic elaborat. Etimologic cuvântul simulare
provine din latinescul simulatio, însemnând capacitatea de a reproduce sau
a imita [Stewart R., 2004].

13 | P a g e
Prin simulare numerică se înțelege totalitatea procedeelor
matematice şi de calcul destinate studiului comportării în timp a sistemelor
reale cu ajutorul calculatorului, presupunându-se că în evoluția acestor
sisteme intervin şi elemente aleatoare.

Simulatoare pot fi simulatoare imitative sau simulatoare analogice.


Simulatoarele imitative sunt acele simulatoare care transcriu la o scară
mai mică, comportamentul unui proces, pe baza unui model matematic.
Simulatoarele analogice sunt specifice descrieri unui fenomen sau
comportament cunoscut a unui proces. Aceste simulatoare folosesc modele
matematice cu anumite proprietăți.
Conform lucrării [Barbu G. și alți, 2012.], etapele realizării unui
simulator sunt:
1. Definirea problemei, etapă în care sunt stabilite obiectivele
simulatorului;
2. Colectarea, analiza, interpretarea şi prelucrarea datelor. În cadrul
acestei etape se stabilesc datele necesare pentru studiul procesului şi
modalitățile de strângere a datelor necesare. Colectarea datelor
trebuie făcută cu atenție deoarece o colectare eronată a acestora are
consecinței negative în obținerea rezultatelor finale. În consecință,
analiza şi interpretarea datelor pentru depistarea eventualelor
neconcordanțe este o activitate obligatorie.
3. Determinarea modelului matematic al procesului;
4. Estimarea parametrilor modelului matematic;
5. Evaluarea performanțelor modelului;
6. Codificarea modelului matematic prin intermediul unui limbaj de
simulare;

14 | P a g e
7. Testarea simulatorului dezvoltat, care implică compararea
rezultatelor simulării cu datele obținute prin observarea unor sisteme
similare sau prin comparație cu evoluția sistemului real;
8. Analiza datelor simulate.
Avantajele simulării. Simularea nu este singura metodă de analiză și
îmbunătățire a performanțelor proceselor, există posibilitatea testări direct
pe procesul real sau să folosim alt model [Pidd M., 1998].
Din punct de vedere al costurilor, realizarea unor teste cu sistemul
real pentru îmbunătățirea performanțelor instalație este foarte costisitoare,
deoarece se întrerup operațiunile zilnice pentru a încerca noile idei sau se
oprește instalația pe o perioadă de timp. Acest lucru ducând fie la întârzieri
ale producției sau poate afecta performanța actuală a instalației. Însă prin
simulare se pot face modificări cu costuri mult mai mici.
Din punct de vedere al timpului realizarea testărilor până am obține
performanțele dorite ale instalație ar putea dura mult mai mult decât dacă
am simula cu un simulator.
Un dezavantaj major al simulării ar fi faptul că modelele de simulare
cer o pregătire specială, iar rezultatele simulării sunt aproximative şi nu
exacte, iar uneori sunt greu de interpretat.

2.2. Medii de simulare


În prezent, există o mare diversitate de programe şi medii de
simulare specializate pe anumite domenii. Anumite medii de simulare nu
mai necesită elaborarea de programe pentru obținerea modelului de
simulare, ci prin intermediul interfețelor grafice (de exemplu GUI -
Graphical User Interface) utilizator poate selecta din meniuri componente

15 | P a g e
necesare realizării structurii modelului matematic, definirii parametrilor şi
execuția simulării.
Aceste programe se deosebesc între ele prin calitatea interfeței cu
utilizatorul, metode de integrare numerică oferite pentru rezolvarea
ecuațiilor diferențiale, modul de tratare a neliniarităților, alegerea pasului
de integrare, ușurința cu care se pot integra în cadrul unor aplicații practice.
Cele mai răspândite medii de simulare sunt: MATLAB- SIMULINK,
LAB VIEW, MATHACD, MAPLE, ASPEN, SPICE, PRO/II, DIVA.
Dintre acestea cel mai utilizat şi cu aplicabilitate în mai multe domenii este
MATLAB – SIMULINK un produs al firmei The MathWorks Inc.

Simulink permite operarea într-un mediu vizual relativ comod în


utilizare, suita completă de operații ce pot fi efectuate pornind de la
construirea diagramei bloc a sistemului studiat (prin tehnica „drag and
drop”), continuând cu modificarea parametrilor de model şi afişarea on-line
a rezultatelor simulării. Aceste ultime două caracteristici încadrează mediul
Simulink în categoria simulatoarelor ce permit interacțiunea cu utilizatorul
inclusiv în etapa de desfășurare a simulării.
Un caz special se întâlnește atunci când complexitatea modelului
matematic nu permite construirea sistemului din blocurile predefinite din
biblioteca mediului Simulink, în această situație utilizatorul trebuie să își
construiască propriile module utilizând în Matlab aşa numitele „funcţii-S”
(S-functions) [Agam K.T., 2010]. Flexibilitatea deosebită a mediului
Simulink permite astfel implementarea practică a oricărui model
matematic.

Simulink oferă o întreagă suită de algoritmi performanți pentru


integrarea sistemului de ecuații ce reprezintă modelul matematic al

16 | P a g e
sistemului, algoritmi selecționabili şi configurabili conform necesităților de
simulare.
Integrarea mediului Simulink în cadrul mediului Matlab extinde
capacitatea acestuia din urmă şi, reciproc, beneficiază de puterea
remarcabilă a celor peste 500 de funcții standard ale produsului firmei The
MathWorks Inc., precum şi de flexibilitatea modulelor auxiliare, dintre
care, în domeniul ingineriei, pot fi amintite următoarele categorii de interes
[Subhas C., 2012]:
− instrumente pentru proiectarea sistemelor de reglare automată
(Control System Toolbox, Nonlinear Control Design Blockset,
Robust Control Toolbox, Power System Blockset, Model
Predictive Control Toolbox, Fuzzy Logic Toolbox etc.);
− instrumente pentru prelucrarea numerică şi transmiterea
semnalelor (Signal Processing Toolbox, DSP Blockset,
Communications Toolbox, Wavelet Toolbox, High-Order Spectral
Analysis Toolbox);
− instrumente identificarea sistemelor (System Identification
Toolbox, Neural Networks Toolbox, Frequency Domain System
Identification Toolbox, Optimization Toolbox, Statistics Toolbox.

2.3. Mediul de simulare MATLAB - SIMULINK


2.3.1. Mediul de simulare MATLAB

MATLAB (MATrix LABoratory) este un pachet de programe de


înaltă performanţă, destinat calculului numeric şi reprezentărilor grafice în
domeniul ştiinţei şi ingineriei. Performanţele deosebite şi timpul de
instruire redus fac din acest mediu de programare unul din cele mai agreate
medii de lucru pentru o mare diversitate de utilizatori. Acest program

17 | P a g e
permite manipularea matricelor, trasarea graficelor funcțiilor,
implementarea algoritmilor, crearea interfețelor pentru utilizatori, precum
și alte caracteristici avansate [Hans P.H., 2016].
Matlab-ul lucrează fie în modul linie de comandă, fie cu programe
conţinute în fişiere. Interfața grafică a Matlab-ului prezentată în figura 2.1,
prezintă trei zone importante :
• Zona Current Folder utilizată pentru gestionarea și accesarea
fișierelor din dosarul în care programatorul lucrează în acel moment;
• Zona Command Window utilizată în cazul în care programatorul
lucrează în modul linie de comandă. Mai multe detalii vor fi oferite
ulterior;
• Zona Workspace unde sunt afișate variabilele utilizate în acel
moment.

Fig. 2.1. Interfață Matlab.


Linia de comandă se foloseşte de regulă pentru lansarea în execuţie a
programelor sau pentru diverse comenzi Matlab. Un program Matlab se
apelează tastând în linia de comandă numele fişierului. O condiţie necesară
rulării programului este setarea căii în care acesta se găseşte (din meniul

18 | P a g e
principal, opţiunea File, submeniul Set Paht). În modul linie de comandă
fiecare linie este prelucrată imediat şi rezultate sunt afişate. În cazul în care
rezultatul afișat nu constituie valoarea vreunei variabile, Matlab atribuie
rezultatul unei variabile predefinite, ans (prescurtarea de la answer =
răspuns), figura 2.2.

Fig. 2.2. Exemplu de utilizare Matlab în linia de comandă.


Linia de comandă nu se recomandă pentru scrierea fișierelor Matlab.
Unul dintre motive este acela că Matlab execută comenzile imediat ce
acestea au fost tastate, una câte una. În plus, nu există posibilitatea
modificării unei comenzi tastate și executate anterior.
Deoarece în cadrul modului linie de comandă, comenzile sunt
executate imediat ce au fost introduse, Matlab oferă posibilitatea ca
rezultatele comenzilor din acest mod de utilizare să fie sau să nu fie afișate
pe ecran. Pentru a nu se afișa rezultatul comenzii pe ecran, la finalul
acesteia se tastează caracterul „ ; ”.
Programul Matlab constă dintr-o succesiune de instrucţiuni Matlab,
cu posibilitatea apelării altor fişiere şi este caracterizat de extensia *.m.
Acesta presupune mai multe linii de cod care se pot scrie apelând editorul
Matlab implicit.
Un program Matlab poate fi scris sub forma fişierelor „script“ sau a
fişierelor de tip funcţie. Un fişier „script” conţine o secvenţă de comenzi.
Dacă prima linie a fişierului conţine cuvântul ‚function’, fişierul respectiv

19 | P a g e
este declarat fişier funcţie. O funcţie diferă de un script prin faptul că poate
lucra cu argumente.

Fişierele funcţie sunt utilizate pentru extinderea Matlab-ului, adică


pentru crearea unor noi funcţii Matlab. Forma generală a primei linii a unui
fişier funcţie este:

functionparamieşire=nume funcţie(param_intrare)
unde: function - este un cuvânt cheie care declară fişierul ca fişier de tip
funcţie;
nume funcţie - numele funcţiei;
paramieşire - parametri de ieşire, separaţi cu virgulă şi cuprinşi
între paranteze drepte.
param_intrare - parametri de intrare, separaţi cu virgulă şi cuprinşi
între paranteze rotunde.
Aceste fişiere pot fi adăugate ca funcţii noi în structura Matlab.
Comenzile şi funcţiile care sunt utilizate de noua funcţie sunt înregistrate
într-un fişier cu extensia .m.
Exemplul 2.1. Scrieţi o funcţie denumită „medie” care să calculeze
media aritmetică a două numere.
Se apelează editorul prin comanda edit, sau File/New/Script. În urma
acestei comenzi se poate introduce programul aferent funcţiei „medie”,
lista 2.1. După salvarea fişierului („File/Save as”, Medie.m) se poate apela
în linia de comandă noua funcție definită, lista 2.2.

Lista 2.1 .
Transcrierea în Matlab a exemplului 1.1.
function m= medie(a,b)
M=(a+b)/2;

20 | P a g e
Lista 2.2.
Lista comenzilor pentru executarea fișierului medie.m, cu parametrii
(10,4).
medie (10,4)

Test de autoevaluare
2.1. Fie A = [3 2 5] , B = [1 3 2] și p = 2. Să se calculeze: C = A.*B,
D = B.*p.

2.3.2. Mediul de simulare SIMULINK

Mediul SIMULINK poate fi activat prin intermediul mediului Matlab,


în două moduri:

1. Se face clik pe icona Simulink , din bara de instrumente a


mediului Matlab;
2. Din mediul Matlab, în linia de comandă se editează comanda
simulink şi se execută, figura 2.3.

Fig. 2.3. Lansarea în execuţie a mediului Simulink, utilizând comanda


simulink.

21 | P a g e
În urma acțiunii uneia dintre comenzile specificate anterior, este lansat
în execuție mediul Simulink. Pe ecran se deschide o fereastră ce conține
componentele aflate în biblioteca Simulink, figura 2.4.

Fig. 2.4. Biblioteca mediului Simulink.

Pentru construirea unei diagrame se vor selecta comenzile New,


Simulink -Model din mediul de comenzi Home al mediului Matlab, 2.5. În
urma execuţiei acestei acțiuni pe ecran se va deschide o fereastră destinată
construirii diagramelor, figura 2.6.

22 | P a g e
Fig. 2.5. Lansarea în execuție a ferestrei de construire a unei diagrame.

Fig. 2.6. Diagrama destinată construirii şi simulării modelelor matematice.

23 | P a g e
Prezentarea mediului Simulink(Library Simulink)

Biblioteca mediului Simulink (Library Simulink) conține un set de


componente destinate realizări unor operaţii elementare, având semnificaţie
matematică sau de natura generării şi prelucrării semnalelor, figura 2.4.
Aceste componente conține propriu set de instrumente, activat prin dublu-
click pe componenta respectivă.

Cele mai utilizate componente din bibliotecă sunt următoarele:

1. Componenta Source :
- asigură instrumente generatoare de semnale de intrare aplicate
sistemului studiat;
- principalele instrumente asociate acestei componenete sunt
prezentate în tabelul 2.1. și figura 2.7.
Tabelul 2.1.
Componenta Source.
Nr. crt. Denumire Semnificație
1 Constant Semnal de intrare constant
2 Clock Semnal de ceas
3 Sine Wave Semnal sinusoidal
4 Step Semnal treaptǎ
5 Ramp Semnal rampǎ

2. Componenta Sinks:
- asigură afișarea rezultatelor atât sub formă numerică cât și
grafică;
- principalele instrumente asociate acestei componente sunt
prezentate în tabelul 2.2. și figura 2.8.

24 | P a g e
Fig. 2.7. Instrumente ale componentei Sources.
Tabelul 2.2.
Componenta Sinks.
Nr. Denumire Semnificaţie
ctr.
1 Scope Vizualizarea mărimii de ieșire sunt formă
grafică
2 To Workspace Obținerea rezultatelor în workspace
3 Display Obținerea rezultatelor sunt formă numerică

Fig. 2.8. Instrumente ale componentei Sinks.

25 | P a g e
3. Componenta Continuous:
- conține instrumente necesare simulării sistemelor liniare și
neliniare;
- principalele instrumente asociate acestei componente sunt
prezentate în tabelul 2.3. și figura 2.9.

Tabelul 2.3.
Componenta Countinuous.
Nr.crt. Denumire Semnificație
1 Integrator Integrator
2 Derivative Derivator
3 Transfer Fcn Funcţia de transfer

Fig. 2.9. Instrumente ale componentei Continuous.

4. Componenta Math Operations


- conține intrumente necesare realizării operațiilor matematice;
- Principalele instrumente asociate acestei componente sunt
prezentate în tabelul 2.4. și figura 2.10.

26 | P a g e
Tabelul 2.4.
Componenta Math Operations.
Nr.crt. Denumire Semnificație
1 Sin Funcţia trigonometrică sinus
2 Min Funcţia minim
3 Gain Amplificator
4 Sum Sumator
5 Product Produs

Fig. 2.10. Instrumente ale componentei Math Operations.

27 | P a g e
5. Componenta Signal Routing
- instrumentele acestei componente asigură realizarea
conexiunilor;
- principalele instrumente asociate acestei componente sunt
prezentate în tabelul 2.5. și figura 2.11.
Tabelul 2.5.
Componenta Signal Routing.
Nr.crt. Denumire Semnificație
1 Mux Multiplexor
2 Demux Demultiplexor
3 Manual Switch Propagă către ieșire o intrare din
cele două intrări ale sale

Fig. 2.11. Instrumente ale componentei Signal Routing.


În mediul Simulink pentru simularea unui model matematic, sunt
necesare următoarele etape [Popescu C., Popa C., 2006]:
a) determinarea modelului matematic;
b) identificarea blocurilor corespunzătoare elementelor care
modelează sistemul;

28 | P a g e
c) realizarea diagramei sistemului prin utilizarea blocurilor din
biblioteca Simulink;
d) configurarea fiecărui bloc;

e) lansarea în execuție prin utilizarea butonului sau din


meniul diagramei Simulation/Run.

Exemplul 2.1. Fie ecuaţia de forma


y = 3u (2.1)

Să se construiască diagrama care va implementa ecuaţia (2.1) în


mediul Simulink, pentru u=5.
Rezolvare
A1. Identificarea blocurilor. Ecuaţia 2.1. poate fi implementatǎ prin
intermediul urmǎtoarelor blocuri:
- pentru generarea semnalului de intrare u se va utiliza blocul
Constant din componenta Sources Library;
- Blocul Gain din componenta Math Operations, pentru amplificarea
intrări u cu factorul de amplificare 3;
- Blocul Display pentru vizualizarea rezultatului din componenta
Sinks.
A2. Construirea diagramei. Pentru realizarea diagramei se
procedează în modul următor:
(1) Toate blocurile necesare (Constant, Gain, Display) vor fi copiate
din biblioteca Simulink în fereastra de construire a diagramei;
(2) Blocurile se vor conecta conform diagramei prezentată în figura
2.12.

29 | P a g e
A3. Configurarea blocurilor. Prin configurare se înțelege setarea
anumitor parametrii numerici asociați blocurilor. În cadrul diagramei din
figura 2.13, este necesară configurarea blocurilor Constant şi Gain.

Fig. 2.12. Diagrama asociată ecuaţiei 2.1.

Test de autoevaluare
2.2. Să se întocmească diagrama pentru calculul relaţiei Y=3*u+eu unde
u=5.

Lucrare de verificare
1. Construiți în Simulink diagrama care va realizarea conversia

unei temperaturi din grade Celsius în grade Fahrenhait.

9
𝑇𝐹 = 𝑇𝑐 + 32
5

2. Să se evalueze funcția:
x 3 − 2 x 2 + x − 6.3
f (x ) = pentru x = 2 și x = 4.
x 2 + 0.5 x − 1

30 | P a g e
Rezumat
Prin simulare numerică se înțelege totalitatea procedeelor
matematice şi de calcul destinate studiului comportării în timp a
sistemelor reale cu ajutorul calculatorului, presupunându-se că în
evoluția acestor sisteme intervin şi elemente aleatoare.

Cele mai răspândite medii de simulare sunt: MATLAB-


SIMULINK, LAB VIEW, MATHACD, MAPLE, ASPEN,
SPICE, PRO/II, DIVA. Dintre acestea cel mai utilizat şi cu
aplicabilitate în mai multe domenii este MATLAB – SIMULINK
un produs al firmei The MathWorks Inc.

Răspunsuri la testele de autoevaluare

31 | P a g e
BIBLIOGRAFIE
1. Agam K.T., Matlab and Simulink for engineering, Oxford, 2010;
2. Barbu G., Miroiu M., Tehnici de simulare, 2012;
3. Hans P. H., Introduction in Simulink, 2016;
4. Pidd M., Computer simulation in management science, 4th Chichester,
UK: Wiley, 1998;
5. Popescu C., Popa C., Introducere în știința sistemelor și a
calculatoarelor, Editura Universității Petrol- Gaze din Ploiești, 2006;
6. Stewart R., Simulation. The practice of model development and use,
John Wiley & Sons, 2004;
7. Subhas C., Tehnology and engineering applications of Simulink,
Editura Intech, 2012.

32 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învăţare 3 – timp de învățare 2 ore


3. Modelarea analitică
3.1. Aspecte generale ale modelării analitice
3.2. Legea conservării masei

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
 conceptul de modelare analitică
 cum se determină un model matematic analitic al unui
proces utilizând legea conservării masei
La finalul parcurgerii acestei unității de învățare vei putea să:
 să determini pe cale analitică modelul matematic
dinamic al unui proces pe baza legii conservării masei

3.1. Aspecte generale ale modelării analitice

Elaborarea modelelor matematice utilizând metoda analitică


presupune utilizarea de legi generale şi/sau particulare specifice
fenomenelor fizice şi chimice caracteristice evoluției sistemului modelat,
respectiv:
- legi de conservare (masa, energie, impuls);
- legi de echilibru (mecanic, chimic, etc.);

33 | P a g e
- legi de stare a gazelor;
- legea asociate cineticii reacțiilor chimice etc.
În ceea ce privește legile de conservare expresia matematică a
acestora este cuprinsă în aşa numita ecuaţie de transport generalizată, care
pentru un contur Γ, ilustrat în figura 3.1, și o mărime conservabilă oarecare
Ψ are forma:
A  I  E C (3.1)
unde A reprezintă acumularea din Ψ în elementul de volum al sistemului în
unitatea de timp;
I – debitul1 din Ψ care intră în elementul de volum al sistemului;
E – debitul din Ψ care părăsește elementul de volum al sistemului;
C – consumul în unitatea de timp în elementul de volum.

Fig.3.1.Ilustrarea aplicării ecuației de transport generalizată.


În cazul sistemelor cu parametrii distribuiți, elementul de volum poate fi
ales ca fiind elementul diferențial de bază a sistemului, iar în cazul
sistemelor cu parametrii concentrați, elementul de volum poate fii ales ca
fiind întregul sistem.
Algoritmul de modelare analitică constă în următoarele etape:
• Etapa I-a. Identificarea variabilelor specifice sistemului modelat
notate în general cu v(t), mărimilor de intrare şi de ieșire notate u(t)
respectiv y(t).

1
Debitul reprezintă cantitatea de Ψ care traversează o secţiune în unitatea de timp

34 | P a g e
• Etapa a II-a. Caracterizarea informațională de tip intrare – ieşire a
sistemului, prin punerea în evidență a fenomenul cauză-efect între
mărimile de intrare şi mărimile de ieşire.
• Etapa a III-a Aplicarea principiului de conservare (ecuația de bilanț)
mărimilor fundamentale care evoluează în timp.
• Etapa IV- Liniarizarea modelului în jurul unui punct static de
funcționare, prin dezvoltarea în serie Taylor a modelului neliniar.
• Etapa V- Validarea modelului.
În continuare vor fi prezentate principalele legi fizice şi chimice pe
care se bazează construirea modelelor matematice analitice, pentru fiecare
lege în parte vor fi prezentate exemple care vor ilustra modul de aplicare al
acestor legi.

Test de autoevaluare
3.1. Enumeraţi etapele algoritmului de modelare matamatică.

3.2. Legea conservării masei


Această lege se aplică sub formă bilanțului pentru întreaga masă sau
sub forma bilanţului pe component.
 Expresia generală a bilanţului de masă total este [Marinoiu V. ,
1979, Roland B.S., 2001]

viteza de variaţie a Debitul de masă


cantității de masa din = intrat în sistem - Debitul de masă
ieşit din sistem (3.2)
sistem

Dimensiunea fiecărui termen este cantitate de masă pe timp.

35 | P a g e
În regim staţionar termenul din partea stângă este nul, ecuația (3.2)
reducându-se la formularea: cantitatea de masă care intră în sistem este
egală cu cea care iese din sistem.

Termenul din stânga ecuaţiei 3.2 se exprimă prin derivata ordinară


d dt sau derivate parțiale  t a cantității de masă conținută în interiorul

sistemului.

Exemplul 3.1. Fie procesul de acumulare a unui gaz într-un recipient


de volum constant – proces ilustrat în figura 3.2. Ipotezele simplificatoare
luate în considerare sunt [Paraschiv N., 2017]:

- gazul se consideră ideal;


- temperatura gazului este constantă;
- curgerea prin rezistoare pneumatice (robinete) R1 şi R2 este laminară
(căderile de presiune sunt proporționale cu debitele);
- ariile secțiunilor de trecere ale robinetelor R1 şi R2 sunt constante în
timp.

Fig. 3.2. Procesul de acumulare a unui gaz într-un recipient.


a - structura principală; b - reprezentarea informațională; Q1, Q2 – debite
masice de intrare, ieşire; P1, P2 – presiuni de intrare, ieşire; P – presiunea
curentă, T- temperatura curentă; V- volumul recipientului; R1, R2-
rezistoare pneumatice, PAG- procesul de acumulare de gaz.

36 | P a g e
Atât timp cât debitele masice Q1 şi Q2 coincid masa de gaz m din vas
este constantă. Dacă această condiție nu se respectă, masa se va modifica
cu Δm, astfel încât relaţia (3.2) va căpăta în acest caz următoarea forma

m  Q1t  Q2 t (3.3)

m
respectiv  Q1  Q2 (3.4)
t

unde Δt este intervalul de timp în care masa de gaz din vas se modifică cu
Δm. Comparând relaţiile (3.3) cu (3.1) se observă că termenul Δm
corespunde acumulării. Considerând intervalul Δt foarte mic şi trecând la
limită rezultă

m dm
lim  (3.5)
Δt 0 t dt

Deoarece presiune P este variabila dependentă (mărime de ieşire), va


trebui găsită o exprimare a masei m în funcţie de această mărime. Utilizând
ecuaţia de starea a gazelor ideale se obţine

V
m P
RT
(3.6)

Derivând în raport cu timpul şi ţinând cont că în membrul drept toate


mărimile, cu excepţia presiunii P sunt constante în timp se obţine

dm V dP
 (3.7)
dt RT dt

Deoarece presiunile P1 si P2 sunt variabile independente, debitele Q1 şi


Q2 care apar în membrul drept al relaţiei (3.4) se vor exprima în funcţie de

37 | P a g e
acestea. Ţinând cont de ipoteza curgerii laminare prin rezistoare
pneumatice R1 şi R2 rezultă
Q1k1  P1  P (3.8)
Q2 k2  P  P2 (3.9)
relaţii care stabilesc proporționalitatea căderilor de presiune pe
rezistoare cu debitele (k1 şi k2 sunt constante de proporționalitate).
Din relațiile (3.8) şi (3.9) se obțin expresiile debitelor Q1 si Q2
respectiv
P1  P
Q1  (3.10)
k1

P  P2
Q2  (3.11)
k2

Înlocuind (3.7), (3.10) şi (3.11) în relaţia (3.3) se obţine

V dP P1  P P  P2
  (3.12)
RT dt k1 k2

care după unele transformări elementare conduce la

k1 k 2 V dP k2 k1
P P1  P2 (3.13)
k1  k 2 RT dt k1  k 2 k1  k 2

k1 k 2 V k2 k1
Notând a  , b1  , b2  ecuaţia (3.13)
k1  k 2 RT k1  k 2 k1  k 2
devine

dP
a  P  b1 P1  b2 P2 (3.14)
dt

Modelul matematic dinamic obţinut în relaţia (3.14) este reprezentat


de o ecuaţie diferenţială de ordinul întâi, liniară, neomogenă. Coeficientul a

38 | P a g e
al derivatei (exprimat în unitatea de timp) se numește constanta de timp, iar
coeficienţii b1 şi b2 din membru drept se numesc coeficienţii de transfer.

Considerând mărimile P1, P2 şi P constante în timp relaţia (3.14)


devine

P  b1 P1  b2 P2 (3.15)

Relație care exprimă modelul matematic staționar MMS.

Test de autoevaluare
3.2. Justificați obținerea relației (3.15) pentru MMS din relația (3.14)
aferentă MMD.

Într-un caz concret, sistemul din figura 3.2, caracterizat prin datele:
gazul care circulă este CH4, volumul V=10 m3, temperatura T=300 K,
μ=16, rezistentele hidraulice au valorile k1 = 1,2*105 N/m2/kg/s şi k2
=1,6*105 N/m2/kg/s.

În aceste condiții constantele modelului sunt

k1 k 2 V
a  4,398s (3.16)
k1  k 2 RT

k2
b1   0,571 (3.17)
k1  k 2

k1
b2   0,428 (3.18)
k1  k 2

39 | P a g e
Programul pentru simularea sistemului din figura 3.2, utilizând mediul
Simulink, este ilustrat în figura 3.3. Pentru realizarea programului în relația
(3.14) s-au înlocuit constantele determinate anterior şi s-au determinat
funcțiile de transfer pentru fiecare canal intrare –ieşire. Pentru canalul P1-P
avem

0,571
H ( s)  (3.19)
4,4s  1

iar pentru canalul P2-P avem

0,428
H ( s)  (3.20)
4,4s  1

Fig. 3.3. Simulatorul pentru exemplul 3.1.

La o modificare treaptă a intrări P1, evoluţia dinamică a sistemului


este cea ilustrată în figura 3.4.

40 | P a g e
Fig. 3.4. Evoluţia dinamică a P la modificarea treaptă a P1.
 Expresia generală a bilanţului de masă pentru componentul i este
[Marinoiu V., 1979]:

viteza de variaţie a
debitul molar din debitul molar din
numărului de moli din
componentul i în interior
= componentul i - componentul i ieşit +
intrat în sistem din sistem
sistemului

viteza de variaţie a numărului de


+ moli din componentul i produşi de
reacţie chimica în sistem
(3.21)

Fiecare termen este exprimat în moli/timp.

 Exemplul 3.2. Fie reactorul chimic de tip agitator din figura 3.5 cu
amestecare perfectă, în care are loc reacţia chimică
A

k
B

de ordinul 1, ireversibilă, k fiind constantă vitezei de reacţie.

41 | P a g e
Fig. 3.5. Reactor chimic de tip agitator.

A – reactantul; B – produsul de reacţie; V- volumul masei lichide; Q –


debitul; CA0 – concentrația reactantului la intrare; CA şi CB – concentrația
reactantului şi produsului în reactor.

Termeni expresie (3.21) pentru reactantul A au expresiile:

 viteza de variaţie a numărului de moli din componentul A în interiorul


sistemului
d
VC A   mol  ;
dt  s 

 debitul molar din componentul A intrat în sistem QC A0   ;


mol
 s 

 debitul molar din componentul A ieşit din sistem QC A 


mol 
;
 s 

 viteza de variaţie a numărului de moli din componentul A produşi de

reacţia chimică în sistem  VkC A 


mol 

 s 
Înlocuind toţi termeni în expresia (3.21) se obține următoarea ecuaţie
diferenţială

d
VCA   QC A0  QC A  VkCA (3.22)
dt

care după anumite transformări devine

42 | P a g e
V dC A Q
 CA  C A0 (3.23)
Vk  Q dt Vk  Q

V Q
Notând a1  şi b1  relaţia (3.23) devine
Vk  Q Vk  Q

dC A
a1  C A  b1C A0 (3.24)
dt

Aplicând ecuația (3.16) pentru produsul de reacție B, în ipoteza în


care acesta lipseşte din alimentare, se obţine

d
VCB   QC B  VkCA (3.25)
dt

care după anumite transformări devine

dC B
a2  C B  b2 C A (3.26)
dt

V  Vk
unde a 2  , b2 
Q Q

Relațiile (3.22) şi (3.25) reprezintă modelul matematic în regim


dinamic al reactorului chimic.
Ca exemplu numeric, fie V=4 m3, Q=10m3/h, k=0,2. În acest caz
ecuațiile diferențiale ce descriu sistem sunt
dC A
0,37  C A  0,92C A0 (3.27)
dt

dC B
0,4  C B  0,08C A (3.28)
dt

Programul în Simulink este prezentat în figura 3.6. În figura 3.7 sunt


prezentate calitativ graficele concentrațiilor.

43 | P a g e
Fig. 3.6. Simulatorul reactorului chimic.

Fig. 3.7. Evoluția dinamică a concentrațiilor.

44 | P a g e
Rezumat
Modelele matematice reprezintă instrumente puternice pentru
investigarea comportării sistemelor. Pentru determinarea pe
cale analitică se apelează la legi, principii sau ecuații specifice
sistemului respectiv (legi de conservare, ecuații de stare sau
de echilibru etc. ).

Lucrare de verificare
1. Se consideră procesul de acumulare prezentat în figura 3.8.
Fluxul Qi reprezintă debitul de intrare în vas, în l/h iar fluxul Qe
debitul de evacuare, exprimat în aceleași unități. Fluxul de ieșire
este caracterizat prin curgere liberă a lichidului din vas. Mărimea
de intrare a sistemului Qi are o variație treaptă, ca în figura 3.9Fig.
Se cere să se determine modelul matematic al procesului și să se
simuleze acesta.

Fig. 3.8. Procesul de acumulare a unui lichid într-un vas.


45 | P a g e
Semnificația notațiilor
 Qi, Qe – debitele de intrare și de ieșire;
Răspunsuri la testele de autoevaluare

3.1. Etapele modelării analitice sunt identificarea variabilelor


caracteristice sistemului modelat, aplicarea principiului de
conservare, caracterizarea informațională de tip intrare –ieşire a
sistemului, liniarizarea modelului, validarea.
dP
3.2. a  P  b1 P1  b2 P2 (3.14). Presiunea P constantă în timp
dt
implică valoarea nulă a derivatei acesteia în raport cu timpul,
respectiv
𝑑𝑃
= 0, iar pentru MMS rezultă P  b1 P1  b2 P2
𝑑𝑡

46 | P a g e
BIBLIOGRAFIE
1. Marinoiu V., Automatizarea proceselor petrochimice, Editura
Didactică şi Pedagogică , 1979;
2. Marinoiu V., Paraschiv N., Automatizarea proceselor chimice,
Editura Tehnică, 1992;
3. Paraschiv N., Introducere în știința sistemelor şi a calculatoarelor,
Editura Universității Petrol-Gaze din Ploiești, 2017;
4. Roland B. S., Advance Control Engineering, Butterworth , 2001.

47 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învățare 4 – timp de învățare 2 ore


3. Modelarea analitică
3.3. Legea conservării energiei
3.4. Legea conservării impulsului

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
 cum se determină un model matematic analitic al unui
proces utilizând legea conservării energiei
 cum se determină un model matematic analitic al unui
proces utilizând legea conservării impulsului
La finalul parcurgerii acestei unității de învățare vei putea să:
 să determini pe cale analitică modelul matematic
dinamic al unui proces pe baza legii conservării energiei
şi impulsului

3.3. Legea conservării energiei

Expresia generală a legii conservării energiei este următoarea


[Marinoiu V. , 1979]

47 | P a g e
viteza de variaţie a cantităţii debitul de căldură debitul de căldură
de căldură din sistem
=
intrat în sistem - ieşit din sistem
+

viteza de variaţie a cantităţii de


+ căldură produsă de sursele de căldură
(3.29)

Exemplu 3.3. Fie schimbătorul de căldură ilustrat în figura 3.10. în


cadrul căruia Qi - reprezintă debitul de lichid la intrare având temperatura
de intrare Ti, Q - debitul de lichid la ieșirea din sistem, T – temperatura
lichidului în schimbător şi la ieșire din sistem, V- volumul schimbătorului
de căldură, Qa - debitul de abur prin serpentina de încălzire, Ha – entalpia
aburului la intrarea în serpentină, Hc- entalpia condensului la ieșirea din
serpentină.

Ipoteze simplificatoare:

• volumul de lichid din schimbător este constant;


• densitatea ρ şi capacitatea calorică Cp ale lichidului sunt constante;
• parametrii aburului de încălzire (Ha, Hc) sunt constanți;
• amestecare perfectă în schimbător, ceea ce înseamnă că temperatura
T a lichidului este aceeași în toată masa de lichid şi la ieșirea din
schimbător;
• se neglijează pierderile de căldură în mediul ambiant;
• capacitatea termică a pereților cuvei şi a serpentinei de încălzire este
neglijabilă în comparație cu cea a lichidului;
• aburul de încălzire este saturat şi încălzirea se realizează prin
condensarea acestuia, în aceste condiții căldura latentă de vaporizare
este
r  Ha  Hc (3.30)

48 | P a g e
Fig. 3.10.Schimbător de căldură [Diaconescu R., 2001].

Termeni bilanțului energetic corespunzători relației (3.29) sunt


următori:
 cantitatea de căldură intrată în sistem este Qi C p ρ Ti iar pentru
aburul de încălzire Qa  H a
I  Qi  C p    Ti  Qa  H a (3.31)

 cantitatea de căldură ieșită din sistem împreună cu fluxul de


lichid care iese cu debitul Q şi temperatura T este Q C ρ T iar
condensul rezultat din aburul de încălzire cu debitul Qa şi
entalpia Hc, Qa*Hc
E    Q  C p  T  Qa  H c

(3.32)

 viteza de variație a cantității de căldură din sistem este

A=
d
VC p ρ T  (3.33)
dt

unde CP – căldura specifică fluidelor, ρ – densitate .

Ținând cont de relațiile de mai sus ecuația de bilanț termic este

49 | P a g e
dT
 V  C p    Qi  C p  Ti  H a  Qa    Q  C p  T  H C  Qa (3.34)
dt

sau

dT
 V  C p    Q  C p  T    Qi  C p  Ti  ( H a  H C )  Qa (3.35)
dt

Ecuația (3.35) este o ecuație diferențială ordinară neliniară, termeni


care determină neliniaritatea fiind Q  T .

Dezvoltarea în serie Taylor a termenului Q  T este

 (Q  T )   (Q  T ) 
Q  F  Qo  To    (Q  Q0 )   T  To   Q0  T  T0  Q  Q0  T
 Q  T To  T  QQo
(3.36)
În mod asemănător pentru termenul Q  Ti

Q  Ti  Qo  Ti 0  Ti 0  Q  Qo  Ti (3.37)

Înlocuind (3.36) şi (3.37) în (3.34) obţinem

d (T0  T )
 V  C p    C p  (Q0  T0  T0  Q  Q0  T ) 
dt (3.38)
  C p  (Q0  Ti 0  Ti 0  Q  Q0  Ti )  ( H a  H C )  (Qa 0  Q0 )

d (T )
 V  C p    C p  Q0  T    C p  (Ti 0  T0 )  Q    C p  Q0  Ti  ( H a  H C )  Qa 0
dt
(3.39)

V dT T  T0 H  Hc
 T  i 0 Q  Ti  a  Qa 0 (3.40)
Q0 dt Q0   C p  Q0

care după anumite transformări

dT
a  T  b1  Q  b2  Ti  b3  Qa 0 (3.41)
dt

50 | P a g e
V T  T0 H  Hc
unde a  , b1  i 0 , b2  1, b3  a
Q0 Q0   C p  Q0

Test de autoevaluare
3.3. Realizaţi în Simulink programul de simulare a exemplului de
mai sus, pentru a =5, b1=2 şi b3=7.

3.4. Legea conservării impulsului

Prin impuls se înțelege produsul dintre masa m şi viteza v ale unui


sistem. Masa fiind un scalar, iar viteza un vector, rezultă ca impulsul este o
mărime vectorială. În ecuațiile asociate legilor de conservare pentru masa şi
căldură, s-a operat cu proiecția vitezei pe direcția de curgere [Marinoiu
V., 1979].

Legea conservării impulsului are formularea:

viteza de variaţie a debitul de impuls debitul de impuls


impulsului unui sistem
=
intrat în sistem - ieşit din sistem
+

viteza de variaţie a cantităţii de impuls


+ produse de sursele de impuls

(3.42)

Din punct de vedere matematic, viteza de variație a impulsului are

expresia
d
mv , ale cărei dimensiuni fiind 1 kg m  kg 2 m  N rezultă că
dt s s s
fiecare termen al ecuației (3.42) are dimensiunea unei forțe. În consecință,
relația (3.42) are forma

51 | P a g e
d
mv    Fi
n
(3.43)
dt i 1

Exemplul 3.4. Fie sistemul din figura 3.11 unde tubul de scurgere
lichidului are lungimea L şi aria transversală AT. Curgerea lichidului prin
tubul orizontal are loc sub acțiunea forțelor de inerție, presiune şi frecare.
Forţa de inerţie pe orizontală este descrisă de ecuaţia

d d
(mv)  ( AT Lv) (3.44)
dt dt

Forţa presiunii hidrostatice este egală cu ghAT .

(3.45)

Fig. 3.11. Curgerea liberă a unui lichid printr-un tub.

Acestor două forțe li se opune forţa de frecare de pereții tubului care


este direct proporțională cu lungimea tubului L şi pătratul vitezei v şi invers
proporțională cu diametrul tubului L. În consecință forţa de frecare este

L
 f  AT v 2 (3.46)
D

unde λf este coeficientul de rezistență.

Înlocuind cele trei expresii în relația (3.42) rezultă

d
AT Lv  ghAT   f  L AT v 2 (3.47)
dt D

52 | P a g e
dv g 1
 h   f v2 (3.48)
dt L D

În regim staționar, relația (3.48) devine

Dg
v h (3.49)
f L

Relația servind la calcul vitezei de curgere a lichidului în regim


staționar.

Rezumat
Modelele matematice reprezintă instrumente puternice pentru
investigarea comportării sistemelor. Pentru determinarea pe cale
analitică se apelează la legi, principii sau ecuații specifice
sistemului respectiv (legi de conservare, ecuații de stare sau de
echilibru etc. ).

53 | P a g e
Lucrare de verificare
1. Fie vasul prevăzut cu o manta de încălzire cu abur, ilustrat
în 3.12. În cadrul acestuia, debitul de intrare se notează cu Q1, iar
debitul de ieșire cu Q2 [volum/timp]. Conținutul vasului variază conform
relației:
𝑑𝑉
= 𝑄1 − 𝑄2
𝑑𝑡

Fig. 3.12. Vas prevăzut cu manta cu abur.

Să se întocmească programul în Matlab sau Simulink pentru simularea


vasului prevăzut cu manta.

54 | P a g e
Răspunsuri la testele de autoevaluare

3.3. Pentru realizarea programului în relația (3.41) s-au înlocuit constantele


şi s-au determinat funcțiile de transfer pentru fiecare canal intrare –ieşire.
Pentru canalul Q- T avem
2
𝐻(𝑠) =
5𝑠 + 1
Pentru canalul Ti- T avem
1
𝐻(𝑠) =
5𝑠 + 1
Pentru canalul Qa-T avem
7
𝐻(𝑠) =
5𝑠 + 1
Programul în SIMUINK este prezentat în figura 3.13.

Fig. 3.13. Simulatorul schimbătorului de căldură.

55 | P a g e
BIBLIOGRAFIE
1. Diaconescu R., Note de curs, 2001.
2. Marinoiu V., Automatizarea proceselor petrochimice, Editura
Didactică şi Pedagogică , 1979;
3. Marinoiu V., Paraschiv N., Automatizarea Proceselor chimice, Editura
Tehnică, 1992;
4. Paraschiv N., Introducere în știința sistemelor şi a calculatoarelor,
Editura Universității Petrol-Gaze din Ploiești, 2017;
5. Roland B. S., Advance Control Engineering, Butterworth , 2001.

56 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învățare 5 – timp de învățare 3 ore


4. Modelarea experimentală
4.1. Conceptul modelării experimentale
4.2. Metode grafico-analitice pentru estimarea constantelor modelelor
matematice de ordinul I
4.3. Metode grafico-analitice pentru estimarea constantelor modelelor
matematice de ordinul I cu timp mort

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
• conceptul de modelare experimentală
• cum se determină constantele modelelor matematice de
ordinul I prin metode grafico-analitice
La finalul parcurgerii acestei unității de învățare vei putea să:
• să determini pe cale experimentală modelul matematic al
unui element de ordinul I

4.1. Conceptul modelării experimentale

Modelarea experimentală se efectuează prin acțiunea directă asupra


variabilelor sistemului, permițând fie identificarea globală a modelului

57 | P a g e
(cazul sistemelor de tip „black box”), fie determinarea parametrilor
modelului atunci când se cunoaște structura modelului.
Elaborarea unui model prin modelarea experimentală implică
efectuarea unor măsurători cu scopul acumulării de date experimentale
suficiente pentru obţinerea unui model matematic asociat unui proces. De
aceea, un model matematic experimental nu poate fi obținut în situația în
care nu pot fi efectuate măsurători în procesul pe care dorim să-l modelăm.
Această metodă de modelare se aplică atunci când procesul este
insuficient de bine cunoscut şi este prea complex.
O sinteză a pașilor aferenții metodei de modelare experimentală este
prezentată după cum urmează (Arpad I. L. şi alţii 2002):
1. Determinarea variabilelor procesului modelat. Această etapă este
foarte importantă deoarece ignorarea unei variabile a sistemului va
crea dificultăți sau chiar nu va permite elaborarea modelului corect
al procesului.
2. Colectarea datelor experimentale. O cerinţă importantă a acestei
faze este ca numărul de date experimentale culese din proces să fie
suficient de mare încât să permită determinarea tuturor coeficienților
modelului.
3. Testarea datelor experimentale. Această etapă este necesară
deoarece procesul de măsurare este influențat de erori care pot avea
multiple cauze. Cele mai întâlnite teste de eliminare al erorilor de
măsurare sunt testul Kolmajorov, testul Simirnov, testul Wilcoxon ,
etc.( Tiron M., 1976).
4. Alegerea formei modelului matematic. Utilizatorul poate propune
diverse forme ale modelului matematic în funcţie de caracteristicile
datelor şi experienţa sa.

58 | P a g e
5. Identificarea coeficienților modelului. Cele mai utilizate metode de
obținere a coeficienților unui model sunt: metodele grafico-analitice,
metoda celor mai mici pătrate, regresiile.
6. Testare adecvanţei modelului. Validarea modelului se realizează
prin compararea datelor furnizate de procesul real (date rezultate din
măsurătorile efectuate) cu estimările modelului determinat.
Aprecierea se poate face cu ajutorul unor indicatori calitativi
(abaterea relativă, abaterea standard) sau prin teste statistice.
O reprezentare schematică a metodei experimentale este prezentată în
figura 4.1.

Fig. 4.1. Modelarea experimentală.

Tabelul 4.1. prezintă cele mai utilizate tipuri de semnale aplicate la


intrarea sistemelor pentru determinarea modelelor matematice.

Test de autoevaluare
4.1. Enumeraţi paşi aferenţi modelării experimentale.

59 | P a g e
Tabelul 4.1. Tipuri de semnale de intrare.
Denumire Forma matematică Graficul semnalului de intrare

Semnal treaptă 0, t  0


f (t ) = 
unitară 1, t  0

Semnal rampă
f (t ) = b  1(t )

Semnal f (t ) = b  sin(t )

sinusoidal

Semnal de tip 0, t  0


A

impuls f (t ) =  ,0  t  b
b
0, t  b

În continuare vor fi prezentate o serie dintre cele mai utilizate metode


de obținere a modelelor experimentale.

Test de autoevaluare
4.2. Enumeraţi tipurile de semnale de intrare pentru un model
matematic.

60 | P a g e
4.2. Metode grafico-analitice pentru estimarea constantelor
modelelor matematice de ordinul I

În funcție de forma răspunsului indicial se va alege forma modelului


matematic. Dacă răspunsul este aperiodic şi are punct de inflexiune modelul
este cel puţin de ordinul 2 iar dacă apar întârzieri ordinul modelului poate fi
3, 4 sau se apelează la modele cu timp mort. Dacă răspunsul în timp a unui
sistem la un semnal treaptă este de forma prezentată în figura 4.2. atunci
modelul matematic este o ecuație diferențială de ordinul unu de forma

K  y + y = T  u (4.1)

unde K este numită constanta de timp, dimensional fiind exprimată în


unități de timp, T - coeficientul de amplificare, y- ieșirea sistemului, u-
intrarea sistemului.

Soluţia ecuaţie pentru o variație treaptă unitate aplicată la intrare


u(t)=1(t), este de forma

y(t ) = y0 + T  (1 − e −t / K ) (4.2)

Fig. 4.2. Răspunsul în timp al elementului aperiodic de ordinul 1 la un


semnal treaptă.

Problema care se pune este determinarea constantelor K şi T.

61 | P a g e
• În regim staționar, valoarea derivatei y din ecuația (4.1) devine nulă.
În această situație, ecuația (4.1) devine

y = T u (4.3)

Această relație permite determinarea coeficientului de amplificare ca


fiind raportul dintre variația mărimi de ieșire y(t) şi variația mărimi de intrare
u(t)
y f − yi
T (4.4)
uf −uf

• În cazul în care K=1 şi T =1 soluția ecuației (3.1) este de forma


 1
y (t ) = 1 − t  (4.5)
 e 
În aceste condiții, valorile numerice ale ieșirii y(t) la o intrare de tip
treaptă unitate sunt prezentate în tabelul 4.2. şi reprezentate grafic în figura
4.2 [Rolnad S., 2001].

Tabelul. 4.2. Valorile numerice ale ieșirii unui element de ordinul 1.

t/K 0 0.25 0.75 1 1.5 2 2.5 3 4

y(t) 0 0.221 0.527 0.632 0.770 0.865 0.920 0.950 0.980

Există mai multe metode de determinare a constantei de timp K.


Metoda pantei. Aşa cum se poate observa şi din tabelul 4.2, constanta
de timp K se poate obține ca fiind timpul necesar răspunsului să ajungă la
63% din valoarea finală, deoarece y(t ) = T (1 − e −1 )  0.63  T

62 | P a g e
Regimul tranzitoriu se poate considera încheiat după 3 constante de
timp, când răspunsul ajunge la y(t ) = T (1 − e −3 )  0.98  T , adică la 98% din
valoarea finală.
Metoda tangentei. Cea de-a două metodă constă în trasarea tangentei la
grafic în origine la răspunsul în timp al elementului aperiodic de ordinul 1
la un semnal treaptă, figura 4.3. Din punct de vedere matematic tangenta la
grafic în origine este

Fig. 4.3. Răspunsul în timp al elementului aperiodic de ordinul 1 la un


semnal treaptă.
Din punct de vedere matematic tangenta la grafic în origine este

dy T
= (4.6)
K
dt t =0

Din grafic reiese, tangenta atinge valoarea finală (în cazul de faţă
y(t)=1) după un timp egal cu constanta de timp. Această proprietate se va
utiliza pentru determinarea constantei de timp K a modelul matematic de
ordinul I.
Valoarea constantei K este egală cu distanța dintre punctul de trasarea
a tangatei şi punctul de intersecție a tangentei cu valoarea finală a lui y(t).

63 | P a g e
Se recomandă trasarea a minim trei tangente pentru a determina o medie a
acestora.

Exemplul 4.1. Procesul de acumulare prezentat în figura 4.4. Fluxul


Qvi reprezintă debitul de intrare în vas, în m3/s iar fluxul Qve debitul de
evacuare, exprimat în aceleași unități. Fluxul de ieșire este caracterizat prin
curgere liberă a lichidului din vas.

Fig. 4.4. Structura procesului de acumulare a lichidului, curgere liberă.

Mărimea de intrare a sistemului Qi are o variație treaptă, conform


figurii 4.5.

Fig. 4.5. Dinamica debitului Qi.


Răspunsul experimental al sistemului la variația mărimii de ieşire este

prezentat în tabelul 4.3.

64 | P a g e
Tabelul 4.3. Date experimentale privind dinamica nivelului la curgere liberă.

Timp[min] 0 0.5 1 2 5 10 15 20 25 30 35 40 45 50

H[mm] 74 79 84 92 112 136 150 160 166 170 174 176 177 179

Modelarea matematică a procesului. În regim dinamic, procesul de


acumulare este descris prin relaţia generală de bilanţ material
dm
= Qi − Qe (4.7)
dt

Exprimând masa m a fluidului acumulat în vas în funcţie de nivelul H


m = V = AH (4.8)
se obţine forma
dH
A = Qvi − Qve , (4.9)
dt
Deoarece curgerea din vas este liberă, debitul Qve poate fi exprimat
prin relaţia
Qve = Ar 2 gH (4.10)

unde  reprezintă coeficientul de debit; Ar - aria secţiunii de trecere prin


robinet; g – acceleraţia gravitaţională.
Introducând expresia (4.10) în ecuaţia diferenţială (4.9) se obţine
dH
A + Ar 2 gH = Qvi . (4.11)
dt
Liniarizarea modelului matematic. Ecuaţia diferenţială (4.11) este
neliniară, aceasta putând fi liniarizată prin transformarea funcţiei H în

funcţia H, utilizând dezvoltarea în serie Taylor, trunchiată la termenul de


ordinul 1
1
f (x )  f (x0 ) + f (x0 )  (x − x0 ) . (4.12)
1!

65 | P a g e
Pentru funcţia H , dezvoltarea în serie Taylor conduce la

H = H0 +
1
(H − H 0 ) (4.13)
2 H0

sau
1
H = H0 + H (4.14)
2 H0

unde
H = H − H 0 (4.15)
Utilizând (4.14) şi (4.15) în ecuaţia diferenţială (4.11) se obţine
succesiv:

d (H 0 + H )  1 
A + Ar 2 g  H 0 + H  = Qi (4.16)
dt  2 H0 
 

dH 1
A + Ar 2 g H 0 + Ar 2 g H = Qi (4.17)
dt 2 H0

dH g
A + Ar 2 gH 0 + Ar H = Qi (4.18)
dt 2H 0

În regim staţionar, debitele de intrare şi ieşire sunt egale


Qi 0 = Qe 0 = Ar 2gH 0 (4.19)
Rearanjând ecuaţia diferenţială (4.18) se obţine

dH g
A + Ar H = Qi − Ar 2 gH 0 (4.20)
dt 2H 0

respectiv
dH g
A + Ar H = Qi , (4.21)
dt 2H 0

în care

66 | P a g e
Qi = Qi (t ) − Qi 0 . (4.22)

g
Împărţind ecuaţia diferențială (4.21) la factorul Ar rezultă o
2H 0

nouă expresie a ecuaţiei diferenţiale liniarizate

A 2 H 0 dH 1 2H 0
 + H =  Qi . (4.23)
Ar g dt Ar g

Notând coeficienții:

A 2H 0
K= ; (4.24)
Ar g

1 2H 0
T= , (4.25)
Ar g

se obţine forma finală a ecuaţiei diferenţiale ce defineşte modelul matematic


al procesului

dH
K + H = TQi (4.27)
dt

Identificarea parametrilor modelului matematic. Se consideră


modelul matematic dinamic al unui sistem de forma
Ky + y = Ti (4.28)
Parametrii K, constanta de timp, şi t, amplificarea sistemului, sunt
necunoscutele problemei.
Pentru procesul de acumulare a lichidului din figura 4.4, caracterizat
prin datele experimentale prezentate în figura 4.5 şi tabelul 4.3, condiția
inițială este H (0) = 74 mm şi H (0) = 0 mm. Coeficientul de amplificare al
procesului are valoarea

67 | P a g e
179 − 74  mm 
T= = 3,5  ,
30  l h 
Pentru determinarea constantei de timp a procesului de acumulare, se
va trasa graficul pe baza datelor din tabelul 4.3, din care rezultă valoarea
constantei de timp K=11,5, figura 4.6.

Fig. 4.6. Răspunsul în timp al procesului de acumulare din figura 4.4.

În aceste condiții modelul matematic asociat datelor din tabelul 4.3


este
11.5 ∗ 𝑦̇ + 𝑦 = 3.5 ∗ 𝑢 (4.29)

Soluția analitică a ecuației (4.29) este:


𝑡
𝑦(𝑡) = 74 + 105 ∗ (1 − 𝑒 −11.5 ) (4.30)

O comparație între datele calculate și datele experimentale sunt


prezentate în tabelul 4.4. și figura 4.7.

68 | P a g e
Tabelul 4.4. Comparaţie între datele experimrentale şi date calculate.
t[min] y(t) yc(t) eroare
0 74 74 0
0.5 79 78.46 0.53
1 84 82.74 1.25
2 92 90.76 1.23
5 112 111.02 0.97
10 136 134.99 1.00
15 150 150.50 -0.50
20 160 160.55 -0.55
25 166 167.05 -1.05
30 170 171.26 -1.26
35 174 173.99 0.0052
40 176 175.75 0.24
45 177 176.90 0.09
50 179 177.64 1.35

Fig. 4.7. Comparație între datele experimentale şi calculate.

69 | P a g e
4.3. Metode grafico -analitice pentru estimarea constantelor
modelelor matematice de ordinul I cu timp mort

Modelului matematic de ordinul I cu timp mort are funcția de transfer


de forma
T  es
H (s ) = (4.31)
K  s +1
unde τ reprezintă timpul mort, K- constanta de timp, T – factorul de
amplificare.
Soluţia ecuaţie pentru o variație treaptă unitate aplicată la intrare
u(t)=1(t), este de forma

y(t ) = y0 + T (1 − e − (t − ) / K ) (4.32)

Forma răspunsului dinamic al modelul matematic de ordinul I cu timp


mort la o intrare de tip treaptă este ilustrată în figura 4.8.

Fig. 4.8. Răspunsul în timp al unui model matematic de ordinul I cu timp


mort la o intrare treaptă [Marlin T, 2015].

• Factorul de amplificare T este calculat conform relației (4.4).


• Constanta de timp K şi timpul mort τ se vor determina cu
următoarele metode:

70 | P a g e
Metoda tangentei. Se va utiliza răspunsul în timp a modelului
matematic, unde se va determina punctul de inflexiune. În acest punct se va
trasa o tangentă la grafic care va permite determinarea timpului mort
conform figura 4.8.
Determinarea constantei de timp K este posibilă prin două metode:
O primă metodă este de a considera K ca fiind segmentul AC din figura
4.8. A doua metodă constă în aproximarea parametrului K cu valoarea
segmentului AB, punctul B fiind dat de momentul de timp la care răspunsul
atinge 0.63 din valoarea de regim staționar T. Metoda bazată pe punctul B
oferă de obicei o mai bună aproximație pentru K .
Metoda S&K. Metoda Sundarensan şi Krishnaswamy evită
determinarea punctului de inflexiune. Această metoda utilizează valorile a
doi timpi t1 şi t2 pentru estimarea timpului mort τ şi a constantei de timp K.
Acești timpi corespund 35.3 % respectiv 85.3 % din timpul de răspuns, figura
4.9 [Seborg D., şi alți, 2011]. Relațiile de calcul sunt

K = 1.3  t1 − 0.29  t 2 (4.33)

 = 0.67(t 2 − t1 ) (4.34)

71 | P a g e
Fig. 4.9. Identificarea modelului de ordinul 1 prin metoda S&K.

Exemplul 4.2. Se consideră tabelul 4.5. cu datele experimentale ale


unui schimbător de căldură la o creștere a debitului de apă cu 1.2 m3/min. Să
se determine modelul matematic pe baza datelor din tabel.

Tabelul 4.5. Datele experimentale ale unui schimbător de căldură.

Timp[min] 0 1 2 3 4 5 6 7 8 9 10 11 12 13

T[0F] 55 55 55 55 54.9 54.8 54.6 54.1 53.8 53.6 53.4 53.3 53.2 53.2

Pe baza datelor din tabel se va construi graficul asociat procesului,


figura 4.10. Conform formei graficului modelul este un model de ordinul unu
cu timp mort.
Coeficientul de amplificare al procesului are valoarea
53.2 − 55
T= = −1,5
1.2
Temperatura la 35.5 % respectiv 85.3. % din timpul de răspuns este
T35.5.%= 55+0.353(53.2-55)=54.36
T85.3%= 55+0.853(53.2-55)=53.46

72 | P a g e
Fig. 4.10. Graficul de identificare asociat exemplului 4.2.
Pe baza graficului, la temperatura de 54.36 îi corespunde timpul
t35.3=6.3 min iar pentru temperatura 53.46 îi corespunde t85.3= 9.5min .
Conform metodei S&K timpul mort şi constanta de timp sunt
 = 0.67(9.5 − 6.3) = 2.14
K = 1.3  6.3 − 0.29  9.5 = 5.44
În aceste condiții modelul matematic asociat datelor din tabelul 4.3
este
− 1.5  e 2.14 s
H (s ) = (4.35)
5.44  s + 1

Soluția analitică a ecuației (4.35) este:


(𝑡−2.14)
𝑦(𝑡) = 55 − 1.5 ∙ (1 − 𝑒 − 11.5 ) (4.36)

O comparație între datele calculate și datele experimentale sunt


prezentate în tabelul 4.6.
Tabelul 4.6. Comparaţie între datele experimrentale şi date calculate.
t[min] y(t) yc(t) eroare
0 55 55.30 -0.3

73 | P a g e
1 55 55.15 -0.1
2 55 55.01 -0.01
3 55 54.89 0.1
4 54.9 54.77 0.12
5 54.8 54.66 0.13
6 54.6 54.57 0.02
7 54.1 54.48 -0.38
8 53.8 54.40 -0.6
9 53.6 54.32 -0.72
10 53.4 54.25 -0.85
11 53.3 54.19 -0.89
12 53.2 54.13 -0.93
13 53.2 54.08 -0.88

Test de autoevaluare
Rezumat
4.3. Cum se poate calcula constanta de timp a unui model de
Modelarea experimentală se efectuează prin acțiunea directă
ordinul I, prin metoda tangentei.
asupra variabilelor sistemului, permițând fie identificarea globală
a modelului, fie determinarea parametrilor modelului atunci când
se cunoaște structura modelului. Cea mai utilizată metodă de
identificare a parametrilor unui model matematic de ordinul I este
metoda tangatei iar în cazul modelelor de ordinul I cu timp mort
este metoda tangentei şi metoda S&K.

Răspunsuri la testele de autoevaluare

4.1. Pașii aferenți modelării experimentale sunt: determinarea


variabilelor procesului modelat, colectarea datelor experimentale,
testarea datelor experimentale, Alegerea formei modelului
matematic, identificarea coeficienților modelului, validare
modelului.
4.2. Tipurile de semnale sunt: semnal de tip treaptă, semnal de timp
rampă, sinusoidal, impuls.
74 |4.3.
P a gConstanta
e de timp K se poate obține ca fiind timpul necesar
răspunsului să ajungă la 63% din valoarea finală, deoarece
y(t ) = T (1 − e −1 )  0.63  T
Lucrare de verificare
1. Se consideră date experimentale din tabelul 4.7 asociate unui
proces a cărei dinamică a intrării este prezentată în figura 4.10. Să se
determine modelul matematic asociat acestora.

Fig. 4.10. Dinamica intrării.


Tabelul 4.7. Date experimentale.
t[min] y(t)
0 80
3 84.35
6 87.60
9 89.60
12 90.95
15 92.30
18 92.70
21 93.5 75 | P a g e
24 93.88
27 94.5
BIBLIOGRAFIE
1. Arpad I.L, Agachi P.S., Optimizarea proceselor din industria chimică,
Editura Tehnică 2002;
2. Dumitru S., Dragoicea M., Lupu C., Modelarea şi simularea. Aplicaţii -
Editura Printech, 2002;
3. Marlin T, Process Control: Designing process and control systems for
dynamic performance, 2015;
4. Roland B. S., Advance Control Engineering, Butterworth , 2001;
5. Stefanoiu D., Culita J. Stoica P., Fundamentele modelarii si identificarii
sistemelor, Editura Printech, 2005;
6. Seborg D. E, Thomas F. E., Duncan A. M., Francis J. D., Process dynamic
and Control, Wiley, 2011;
7. Sendrescu D., Metode şi algoritmi pentru identificarea parametrică a
sistemelor, Editura Universitaria, Craiova 2013;

76 | P a g e
8. Smith C., Digital Computer Process Control, Intext Education Publishers,
Scranton, 1972;
9. Tiron M., Prelucrarea statistică şi informatică a datelor de măsurare,

Editura Tehnică, 1976.

77 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învățare 6 – timp de învățare 3 ore


4. Modelarea experimentală
4.4. Metode grafico-analitice pentru estimarea constantelor modelelor
matematice de ordinul II
4.5. Metode grafico-analitice pentru estimarea constantelor modelelor
matematice de ordinul superior
4.6. Identificarea folosind System identification Toolbox din Matlab

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
• cum se determină constantele modelelor matematice de
ordinul II prin metode grafico-analitice
• cum se determină constantele modelelor matematice de
ordinul superior prin metode grafico-analitice
La finalul parcurgerii acestei unității de învățare vei putea să:
• să determini pe cale experimentală modelul matematic al
unui element de ordinul II şi ordin superior
• să determini un model matematic cu ajutorul pachetului
de programe de identificare din Matlab

77 | P a g e
4.4. Metode grafico-analitice pentru estimarea constantelor modelelor
matematice de ordinul II

Forma generală a unui model matematic descris printr-o ecuație


diferențială de ordinul II este

K1  y + K 2  y + y = T  u (t ) (4.37)

unde K1, K2 sunt constante de timp iar T are semnificația prezentată


la elementul aperiodic de ordinul întâi.

Forma răspunsului în timp al ecuației diferențiale de ordinul II la un


semnal treaptă este prezentat în figura 4.11, unde se poate observa apariția
unui punct de inflexiune, ce ne indică faptul ca prima derivată în 0 este nulă.

Fig. 4.11. Răspunsul în timp al elementului de ordinul II la un semnal treaptă.

Coeficientul de amplificare T se determină conform relației (4.4) din


unitatea de învăţare 5.
Determinarea constantelor K1 şi K2 este destul de greoaie fapt pentru
care se preferă aducerea ecuației 3.38 la forma

78 | P a g e
T
H (s ) = (4.38)
(K 1  s + 1)(K 2  s + 1)
unde a1 = K1  K 2 iar a2 = K1 + K 2 .
Determinarea constantelor de timp K1 şi K2 se poate realiza prin
intermediul mai multor metode.
B1. Metoda timpilor t30 şi t70. Cunoscându-se valorile ieșirii y la 30%
şi 70 % din răspuns, vezi figura 4.11, constantele T1 şi T2 se determină pe
baza următorului sistem de relații [Ștefănoiu D., 2005 ]

 t 70%
 K 1 + K 2 = 1,2

 (4.39)
 K − K = t 30% + t 70%  t 
  0,45 − 30% 
 1 2
0,6  t 70% 

B2. Metoda Smith. Această metodă se bazează pe determinarea


termenilor t20 şi t60 din răspunsul în timp al elementului de ordinul II.
Considerând modelul de forma [Smith , 1972]
T  es
H ( s) = 2 2 (4.40)
K  s + Ks + 1
Etapele de identificare a metodei Smith sunt:
1. Determinarea t20 şi t60 din răspunsul în timp al elementului de
ordinul II.
2. Găsirea valorilor lui ξ şi t60 /K din figura 4.12.
3. Calculați K cunoscând t60 /K.

79 | P a g e
Fig. 4.12. Graficul metodei Smith’s.
Exemplul 4.3. Se consideră datele din tabelul 4.8, ce descriu un
element aperiodic de ordinul 2 la o variație treaptă ∆u=4. Determinați
parametrii elementului aperiodic de ordinul 2 prin metode grafico - analitice
prezentate anterior.

Tabelul 4.8. Datele experimentale.


t[min] y(t)
0 0
1.5 0.33
3 0.98
4.5 1.65
6 2.23
7.5 2.7
9 3.05
10.5 3.31
12 3.51
13.5 3.65

80 | P a g e
15 3.75
16.5 3.82
18 3.87
19.5 3.91
21 3.93
22.5 3.95
24 3.96
25.5 3.97
27 3.98
28.5 3.98
30 3.99

Metoda timpilor t30% şi t70%. Pe baza datelor din tabel se realizează


graficul asociat procesului în Matlab, figura 4.13.

Figura 4.13. Graficul de identificare prin metoda timpilor 30% și 70% şi


metoda Smith.

Coeficientul de amplificare al procesului are valoarea:


4−0 (4.41)
𝑇= =4
1
Răspunsul sistemului la 30 % respectiv 70 % din timpul de răspuns este
𝑦30% = 0 + 0.3 ∗ (3.99 − 0) = 1.19 (4.42)

81 | P a g e
𝑦70% = 0 + 0.7 ∗ (3.99 − 0) = 2.79 (4.43)
Pe baza graficului din figura 4.13, la răspunsul de y30%=1.19 îi
corespunde timpul t30=4 minute, iar pentru răspunsul y70.%= 2.79 îi
corespunde t70= 7.99 minute.
Conform metodei timpilor, K1=2.84 şi K2= 3.83.
7.99
𝐾1 + 𝐾2 =
1.2 (4.44)
4 + 7.99 4
𝐾1 − 𝐾2 = ∗ (0.45 − )
0.6 7.99
Funcţia de transfer are forma:
4
𝐻(𝑠) = (4.45)
(2.84 ∗ 𝑠 + 1) ∗ (3.83 ∗ 𝑠 + 1)

Metoda Smith.. Pe baza graficului din figura 4.13 se determină valorile


timpilor la 20% şi 60% din răspunsul sistemului, t20%=2.5min iar t70%=
6.4min.
𝑦20% = 0 + 0.2 ∗ (3.99 − 0) = 0.798
(4.461)
𝑦70% = 0 + 0.6 ∗ (3.99 − 0) = 2.39 (4.47)
Cu ajutorul graficului lui Smith, figura 4.14, se determină că raportul
t20%/t60%= 2.5/6.4=0.39 îi corespunde ξ= 1.6, iar t60%/K=2.1, rezultând
K=3.04.
În consecință:
4 4
𝐻 (𝑠) = = (4.48)
3.042 ∗𝑠2 +3.04∗1.6𝑠+1 9.28∗𝑠2 +4.85∗𝑠+1

82 | P a g e
Fig. 4.14. Graficul Smith.
O comparație între datele calculate și datele experimentale sunt
prezentate în tabelul 4.8 şi figura 4.15.
Tabelul 4.8. Comparaţie între datele experimrentale şi date calculate.

Metoda Metoda
t[min] y(t)
timpilor Smith
0 0 0 0
1.5 0.33 0.37 0.40
3 0.98 0.97 1.13
4.5 1.65 1.68 1.99
6 2.23 2.21 2.66
7.5 2.7 2.70 3.23
9 3.05 3.07 3.58
10.5 3.31 3.31 3.83
12 3.51 3.51 3.96
13.5 3.65 3.64 4.03
15 3.75 3.75 4.05
16.5 3.82 3.82 4.06
18 3.87 3.87 4.05
19.5 3.91 3.91 4.03
21 3.93 3.93 4.02
22.5 3.95 3.95 4.01
24 3.96 3.96 4

83 | P a g e
25.5 3.97 3.97 4
27 3.98 3.98 4
28.5 3.98 3.98 4
30 3.99 3.99 4

Fig. 4.15. Comparație între datele experimentale şi calculate asocite


exemplul 4.3.

4.5. Metode grafico-analitice pentru estimarea constantelor


modelelor matematice de ordinul superior
Forma generală a unui model matematic de ordinul n este
T  e −s
H (s) = n
(4.49)
 (K  s + 1)
n
i
i =1

Se pune problema determinării parametrilor K, T şi τ. Constanta T se


determină conform relației (4.4.)

Metoda Strèjc. Această metodă se aplică în cazul în care constantele


de timp sunt identice, forma modelului fiind

84 | P a g e
T  e −s
H (s) = (4.50)
(K  s + 1)n

Acesta metoda constă în determinarea constantei de timp K şi gradul


polinomului n pe baza raportului Ku/Ka conform graficului din figura 4.16
şi a tabelului 4.9. [ http://www.polytech-lille.fr, Slovac, 2002]

Fig. 4.16. Graficul metodei Strèjc [Slovac, 2002].

Tabelul 4.9. Tabelul asociat metodei Strèjc.


Ordinul Ku/Ka Ku/K Ka/K Y
polinomului
1 0 0 1 0
2 0.104 0.282 2.718 0.264
3 0.218 0.805 3.695 0.323
4 0.319 1.425 4.465 0.353
5 0.104 2.10 5.119 0.371
6 0.493 2.811 5.699 0.384
7 0.570 3.549 6.226 0.394
8 0.642 4.307 6.711 0.401
9 0.709 5.081 7.164 0.407
10 0.773 5.869 7.590 0.413

85 | P a g e
Timpul mort se calculează conform relației
𝜏 = 𝑛 − 𝐾𝑢𝑐𝑎𝑙, (4.51)
Kucal = Ku / Ka  Ka (4.52)

Exemplul 4.4. Dacă Ku=3 şi Ka=11, atunci raportul Ku/Ka=3/11=0.27.


Pe baza tabelului se constată ca ordinul polinomului n=3, iar raportul
Ka/K=3.695 rezultă constanta de timp este K=Ka/3.6965=3.2s. Pentru timpul
mort determinăm Kucal=0.218*11=2.4, de unde rezultă τ=3-2.4 =0.6.

Modelul matematic în acest caz este

e −0.6 s
H (s) = (4.53)
(3.2  s + 1)3

Test de autoevaluare
4.4. Determinaţi contanta de timp prin metoda Strèjc, pentru Ku=4 şi
Ka=10.

4.5. Identificarea folosind System Identification Toolbox din


Matlab

System Identification Toolbox – este unul dintre instrumentele


software care permit construirea modelelor matematice ale proceselor bazate
pe date experimentale. System Identification Toolbox este alcătuit dintr-o
colecție de tehnici de bază, bine înțelese şi verificate în aplicaţii practice.

86 | P a g e
Pentru a deschide interfața grafică a System Identification Toolbox, se
tastează comanda ident în fereastra de comandă MATLAB, interfața fiind
prezentată în figura 4.17 [Pătrăşcioiu C., şi alţi 2014].

Fig. 4.17. Interfața modulului System Identification Toolbox.

Pașii de identificare a parametrilor unui proces utilizând SIT sunt următori:


1. Pasul 1 implică crearea fișierelor cu datele experimentale şi încărcarea
acestora în Workspace;
2. Pasul 2 este importarea datelor în System Identification, prin
intermediul meniului Import Data selectând funcția Time domain
data, care are ca efect deschiderea ferestrei de importare de datelor,
precum în figura 4.18. În fereastra Import Data sunt specificate
următoarele opțiuni:
• Input – numele variabilei de intrare a sistemului;
• Output – numele variabilei de ieșire a sistemului;
• Data name – numele fișierului de date experimentale, nume
care etichetează datele din System Identification Tool, după ce
operația de import este finalizată;

87 | P a g e
• Starting time – valoarea inițială a axei timpului.
• Sampling interval – valoarea pasului de tabelare a axei
timpului.

Fig. 4.18. Fereastra de importare a datelor în System Identification


Toolbox.

Pasul 3. Următoarea etapă este destinată calculului parametrilor


modelului matematic în regim dinamic. Pentru aceasta, în meniul
Operations/Estimate al System Identification Tool este selectată funcția
Process models, precum în figura 4.19. În cadrul acestei funcții, utilizatorul
selectează numărul de poli ai funcției de transfer asociată modelului dinamic
al sistemului și timpul mort. O imagine a acestei operații, pentru estimarea
modelului matematic de ordinul I fără timp mort, este prezentată în figura
4.20.

88 | P a g e
Fig. 4.19. Meniul Estimate utilizat pentru determinarea constantelor modelului dinamic.

Fig. 4.20. Fereastra Process Models .

Pentru exemplul 4.3. funcţia de transfer determinată prin System


Indentification Toolbox

4
𝐻 (𝑠) = (2.22∗𝑠+1)∗(4.29∗𝑠+1) (4.54)

89 | P a g e
O comparație între datele calculate cu metodele grafice si SIT și datele
experimentale sunt prezentate în tabelul 4.10 şi figura 4.21. Din grafice
rezultă ca metoda timpilor şi metoda pachetului SIT sunt mult mai precise
decât metoda Smith care este mult mai uşoară.
Tabelul 4.10. Comparaţie între datele experimrentale şi date calculate.
Metoda Metoda SIT
t[min] y(t)
timpilor Smith
0 0 0 0 0
1.5 0.33 0.37 0.40 0.377
3 0.98 0.97 1.13 0.97
4.5 1.65 1.68 1.99 1.68
6 2.23 2.21 2.66 2.28
7.5 2.7 2.70 3.23 2.70
9 3.05 3.07 3.58 3.07
10.5 3.31 3.31 3.83 3.31
12 3.51 3.51 3.96 3.51
13.5 3.65 3.64 4.03 3.64
15 3.75 3.75 4.05 3.75
16.5 3.82 3.82 4.06 3.84
18 3.87 3.87 4.05 3.87
19.5 3.91 3.91 4.03 3.91
21 3.93 3.93 4.02 3.93
22.5 3.95 3.95 4.01 3.95
24 3.96 3.96 4 3.96
25.5 3.97 3.97 4 3.97
27 3.98 3.98 4 3.98
28.5 3.98 3.98 4 3.98
30 3.99 3.99 4 3.99

90 | P a g e
Fig. 5.21. Grafic comparativ.

Rezumat
Identificarea parametrilor unui model de ordinul II se poate realiza
cu metoda timpilor şi metoda Smith. În cazul modelelor de ordin
superior cu constantă de timp identică metoda Strèjc.

Răspunsuri la testele de autoevaluare

4.4. Ku/Ka=4/10=0.4. din tabelul lui Strejc ordinul modelului este


n=6, iar Ku/K=2,811, de unde rezultă constanta de timp
K=4/2.811=1.42.

91 | P a g e
Lucrare de verificare

1.În cadrul unui reactor chimic s-a studiat variația temperaturii de ieșire în
funcție de timpul scurs de la începutul reacției și de proporția în care a fost deschis
robinetul de combustibil. Datele experimentale obținute sunt prezentate în tabelul
4.11:
Tabelul 4.11. Datele experimentale obținute din reactor.
Timp Deschis Tempera Timp Deschis Tempera Timp Deschis Tempera
(min) (%) tură (°C) (min) (%) tură (°C) (min) (%) tură (°C)
0 30 69.65 36 38 70.22 72 38 75.27
4 30 69.7 40 38 71.32 76 38 75.97
8 30 70.41 44 38 72.33 80 38 76.30
12 30 70.28 48 38 72.92 84 38 76.3
16 30 69.55 52 38 73.45 88 38 75.51
20 30 70.32 56 38 74.09 92 38 74.86
24 38 69.97 60 38 75 96 38 75.86
28 38 69.96 64 38 75.25 100 38 76.2
32 38 69.68 68 38 74.78 104 38 76

Se cer următoarele lucruri:


1. Estimați parametrii unui model de ordinul întâi, cu timp mort, utilizând SIT;
2. Determinați dacă modelul obținut este adecvat datelor experimentale din
tabel;
3. Estimați erorile modelului care sunt cauzate de datele experimentale și de
metoda de calcul.

92 | P a g e
BIBLIOGRAFIE
1. Marlin T, Process Control: Designing process and control systems for
dynamic performance, 2015;
2. Pătrășcioiu, C., Popa, C. System Identification. System Identification
Toolbox or Properly Algorithms? Advances in Automatic Control,
Proceedings of the 16th International Conference on Automatic Control,
Modelling and Simulation (ACMOS 14) 2014;
3. Roland B. S., Advance Control Engineering, Butterworth , 2001;
4. Stefanoiu D., Culita J. Stoica P., Fundamentele modelării și identificării
sistemelor, Editura Printech, 2005;
5. Seborg D. E, Thomas F. E., Duncan A. M., Francis J. D., Process dynamic
and Control, Wiley, 2011;
6. Sendrescu D., Metode şi algoritmi pentru identificarea parametrică a
sistemelor, Editura Universitaria, Craiova 2013;
7. Smith C., Digital Computer Process Control, Intext Education Publishers,
Scranton, 1972;
8. Slovák, T.: Metody identifikace. Závěrečný projekt, Ostrava, VSB, 2002;
9. http://www.polytech-lille.fr/cours-regulation

93 | P a g e
94 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învățare 7 – timp de învățare 2 ore


5. Estimarea modelelor matematice prin metoda regresie
5.1. Estimarea modelelor matematice prin regresie liniară
5.2. Estimarea modelelor matematice prin regresie polinomială

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
 noțiunea de regresie
 cum se determini un model matematic cu ajutorului unei
analize de regresie
La finalul parcurgerii acestei unității de învățare vei putea să:
 să determini modelul matematic cu ajutorul funcțiilor din
Matlab specifice analizei de regresie liniare şi neliniare
 să faci diferența între analiza de regresie liniară şi neliniară
 să interpretezi rezultatele unei regresii polinomiale

Preambul

O aplicație importantă a metodelor de estimare a modelelor


matematice o constituie analiza de regresie. Utilizarea analizei de regresie
în inginerie urmăreşte prelucrarea datelor experimentale în vederea
determinării valorilor parametrilor modelelor matematice. Modelele

95 | P a g e
matematice obţinute prin aplicarea analizei de regresie sunt denumite
ecuaţii de regresie [Marinou V. şi alţi 1999, Pătrăşcioiu C., 2005].
Ecuaţiile de regresie obţinute sunt supuse ulterior analizei statistice în
scopul verificării adecvanţei ecuaţiei de regresie.

5.1. Estimarea modelelor matematice prin regresie linară

Fie un sistem caracterizat prin variabila de intrare x şi variabila de


ieșire y, figura 5.1.

Fig. 5.1. Sistem monovariabil.

Prin ipoteză, se presupune că modelul matematic în regim staționar


al sistemului este o dependență liniară
y  a0  a1 x . (5.1)
Experimental sunt determinate m seturi de date xi , yi  ,i  1,, m . În
scopul determinării coeficienților modelului (5.1) se construiește funcția
obiectiv

f a , a    y 
 ao  a1 x j  .
m 2

ob 0 1 j
(5.2)
j 1

Determinarea coeficienților a 0 şi a1 prin minimizarea funcției


obiectiv (5.2) este cunoscută sub numele de metoda celor mai mici pătrate.
Aplicând condiția necesară de existență a unui extrem pentru funcții
obiectiv multivariabile, se obține sistemul de ecuații

96 | P a g e
  f ob
 0
  a0
 . (5.3)
  f ob
0
  a1

Deoarece prin structura funcţiei obiectiv, sistemul (5.3) este liniar în


raport cu variabilele a0 şi a1, dezvoltând expresiile derivatelor se obţine
succesiv
 2 m
 j 1

y j  a0  a1 z j  0 

 
m , (5.4)
 2 x j y j  a0  a1 z j  0
 j 1
 m m

 a0
m  a1 
j 1
xj 

j 1
yj
respectiv  m m m . (5.5)
a0  x j  a1  x j   x j y j
2

 j 1 j 1 j 1

În forma vectorială, sistemul (5.4) devine X A  Y , în care:


 m m
  m 
  x j
 a    y j 
Xm j1
m  ; A   0  ; Y =  m j=1 .
 x j  x j   1
a  x j y j 
2

 j1 j1   j 1 
Soluţia sistemului (5.3) este disponibilă atât pe cale numerică,
aplicând algoritmul Gauss, cât şi pe cale analitică

 m m m m

  y j j x 2
  x j  xj yj

a 0 
j 1 j 1 j 1 j 1
2

m
m 
m x j    x j 
2

 j 1  j 1 
 m m m . (5.6)
 m  j j 
x y  x j
y j
 a  j 1 j 1 j 1

 1 m
m 
2

 m x j    x j 
2

 j 1  j 1 

97 | P a g e
Test de autoevaluare
5.1. Care este ecuaţia modelului matematic în cazul unui sistem linar.

5.2. Estimarea modelelor matematice prin regresie polinomială

Se consideră un sistem neliniar, monovariabil, al cărui model


matematic în regim staţionar este descris de ecuaţia
y  a0  a1 x  a2 x 2    an x n , (5.7)
Datele experimentale pentru sistemul descris anterior sunt de forma
x , y , i  1,, m .
i i Se urmărește să se determine cel mai bun grad al
funcției (5.7) şi valorile coeficienților ai , i  0,, n [Pătrăşcioiu C., 2005].
Pentru determinarea coeficienților, se consideră funcţia obiectiv
2
m
 n

f ob A     y j   ai xij  . (5.8)
j 1  i 0 
Determinarea coeficienţilor ai , i  0,, n este realizată prin
minimizarea funcţiei obiectiv (5.7), respectiv metoda celor mai mici
pătrate. Aplicând condiţia necesară de existenţă a unui extrem pentru
funcţii obiectiv multivariabile, se obţine sistemul de ecuaţii
  f ob
 0
 a 0

  f ob  0
, respectiv  x ij   y j   a i x ij   0, i  0,...n
m n
  a1 (5.9)
  j 1  i0 
  f ob
 0
  an
În aceste condiții, sistemul (5.9) devine în forma explicită

98 | P a g e
 m m m m
m a 0  a1  x j a 2  x 2j   a n  x nj   y j
 j 1 j 1 j1 j1
 m m m m m
a 0  x j a1  x 2j a 2  x3j   a n  x nj 1   y j x j
 j 1 j 1 j 1 j 1 j 1 . (5.10)

 m 2 m m m m
a 0  x j a1  x3j a 2  x 4j   a n  x nj 2   y j x 2j
 j 1 j 1 j 1 j 1 j 1
      
 m m m m m
a0  x nj a1  x n  1 a 2  x n  2  a n  x 2 n   y x nj
 j 1 j 1
j
j 1
j
j 1
j
j 1
j

Forma matriceală a sistemului este XA  Y , în care matricea X are


forma
 m m m 
m xj  x j2   x jn 
 j 1 j 1 j 1 
 m m m m 
 xj  x j2  x j3   xj n 1 
 j 1 j 1 j 1 j 1 
  ; (5.11)
X  m 2 m m m
n2 
 xj  x j3  x j4  xj 
 j 1 j 1 j 1 j 1 
     
 m m m m 
  x jn  x j n 1  x jn  2   x j 2n 
 j 1 

j 1 j 1 j 1


iar
AT  a0 , a1 , a2 ,, an ,, (5.12)
m m m m 
Y T   y j
 j 1
 y j x1j  y j x2j   y j x2j n . (5.13)
j 1 j 1 j 1 

Sistemul (5.11) este liniar, soluția fiind accesibilă prin intermediul


tehnicilor numerice.

Test de autoevaluare
5.2. Care este forma funcţiei obiectiv pentru determinarea coeficienţilor
în cadrul regresiei polinomiale.

99 | P a g e
Programul de simulare Matlab pune la dipoziţie funcţia polyfit,
pentru determinarea coeficienților polinomului. Această funcție determină
coeficienții polinomului de regresie de gradul 𝑛, unde 𝑛 este ales de către
utilizator, cu ajutorul metodei celor mai mici pătrate. Rezultatul este reținut
sub forma unui șir de lungime 𝑛 + 1, șir ce conține coeficienții polinomului
de regresie în ordinea descrescătoare a puterilor [ MathWorks, 2014].
Funcția polyfit permite utilizarea mai multor sintaxe de apelare.
 𝑝 = 𝑝𝑜𝑙𝑦𝑓𝑖𝑡(𝑥, 𝑦, 𝑛). În cadrul acestei apelări, funcția polyfit
determină coeficienții polinomului de regresie de gradul 𝑛, având 𝑥
ca variabilă independentă și 𝑦 ca variabilă dependentă. Coeficienții
determinați sunt reținuți în variabila 𝑝;
 [𝑝, 𝑆] = 𝑝𝑜𝑙𝑦𝑓𝑖𝑡(𝑥, 𝑦, 𝑛). Această apelare este similară cu cea
precedentă, singura deosebire fiind existența variabilei 𝑆. Această
variabilă este o structură de date ce reține erori de estimare sau
predicții.
Exemplul 5.1. Pentru un termocuplu fier-constantan, în urma unor
observații experimentale au rezultat perechile de valori x i , yi , i  1, , m ,
prezentate în tabelul 5.1. Se cere să se determine modelul matematic al
termocuplului printr-un polinom de regresie.

Tabelul 5.1. Date experimentale pentru termocuplul fier-constantan.


Temperatură Tensiune Temperatură Tensiune
[C] [mV] [C] [mV]
24 0,11 40 1,06
26 0,22 41 1,10
28 0,38 44 1,24
29 0,46 48 1,48
32 0,58 50 1,56
33 0,69 53 1,79
35 0,80 58 2,02
36 0,82 62 2,12

100 | P a g e
Rezolvarea. Se vor crea două fişiere temperatura.txt şi tensiune.txt.
Cele două fişier se vor aduce în workspace al mediului Matlab. Lista 5.1
prezintă programul pentru determinarea polinomului de regresie de ordinul
1, iar în figura 5.1 graficul comparativ între datele reale şi cele determinate
cu ajutorul modelului matematic.

Lista 5.1. Program asociat analizei de regresie polinomială.


x=dlmread('temperatura.txt');
y=dlmread('tensiune.txt');
p=polyfit(x,y,1)
z=polyval(p,x)
t=y-z

Fig. 5.1. Comparație între date experimentale şi calculate.

Cu ajutorul Guide Toolbox Maltab, autori au realizat un program


interactiv, destinat analizei de regresie polinomială. Interfaţa Matlab pentru

101 | P a g e
determinarea coeficienților polinomului de regresie este ilustrată în figura
5.3.
După cum se poate observa în figura 5.3, interfața Matlab are trei
secțiuni:
 Date primare. Scopul acestei secțiuni este acela de a încărca
fișierul de date care conține datele de intrare și rezultatele, acestea fiind
reprezentate în coordonate carteziene;
 Analiza de regresie. Această secțiune determină polinomul de
regresie care corelează datele de intrare citite în cadrul secțiunii Date
primare. Sunt afișate abaterea standard și coeficienții polinomului iar,
înainte de acest lucru, utilizatorul trebuie să introducă gradul dorit al
polinomului de regresie.

Fig. 5.3. Meniul principal asociat programului pentru analiza de regresie


polinomială.

Pentru a observa atât modul de aplicare a regresiei polinomiale cât și


modul de utilizare al acestei interfețe, în cele ce urmează se vor lua ca
exemplu date de la exercițiul 5.1.

102 | P a g e
Primul pas se va crea un fișier cu datele experimentale, în cazul de
faţă date.dat. Al doilea pas încărcarea datelor în program apăsând butonul
Deschidere Fișier de Date din secțiunea Date primare. După încărcarea
fișierului, în această secțiune vor apărea datele încărcate, în formă tabelară
și în reprezentare carteziană, figura 5.4.
Pasul următor este acela de stabilire a gradului polinomului de
regresie și determinare a coeficienților acestuia. Acest lucru se realizează
din secțiunea Analiza de regresie. Mai întâi se introduce gradul dorit al
polinomului de regresie, apoi se face click pe butonul OK. Programul
furnizează rezultatele dorite. În figura 5.5. sunt prezentate rezultatele
obținute pentru polinomul de regresie de gradul 1.

Fig. 5.4. Datele de intrare încărcate în programul Matlab.

103 | P a g e
Fig. 5.5. Coeficienții polinomului de regresie de gradul 1 și abaterea
standard.

Similar se poate alege un grad superior pentru polinomul de regresie.


Pentru acest exemplu, creșterea gradului polinomului de regresie nu a dus
la o scădere a abaterii standard calculate. În consecința, se adoptă un model
matematic polinomial, de gradul 1, relația 5.14. Rezolvarea problemei
conduce la rezultatele numerice prezentate în tabelul 5.2. Abaterea
standard, 0,04 mV, este deosebit de redusă, acoperind, în medie, un
domeniu de 95 % din datele măsurate. Exceptând primele puncte, abaterea
relativă este de circa 5 % în raport cu datele experimentale. Imaginea
datelor experimentale precum şi a dependenței căutate este prezentată în
figura 5.6.

104 | P a g e
Fig. 5.6. Reprezentarea grafică a datelor experimentale şi a modelului
(5.14).

Tabelul 5.2.
Rezultatele numerice obținute pentru datele din tabelul 5.1.
Parametrul statistic Valoare
a0 -1.130
a1 0.05
2 4.0778025263E-02

yi  yicalc
max 5.19 %
yi

Utilizând rezultatele din tabelul 5.2, modelul matematic al


termocuplului devine
U   1,130  0,05  T , [mV] (5.14)

105 | P a g e
Test de autoevaluare
5.3. Se consideră un traductor de debit cu diafragmă. Datele
experimentale privind dependența dintre mărimea de ieşire, curentul
generat de traductor, şi mărimea de intrare, debitul volumic, sunt
prezentate în tabelul 5.3. Se cere să se determine cea mai bună
dependenţă de formă polinomială, în care gradul n variază între 1 şi
n max  4 , şi valorile coeficienților ai , i  0,, n .

Tabelul 5.3.
Date experimentale pentru traductorul de debit.
Nr. Debit Curent Nr. Debit Curent
crt. [m3/h] [mA] crt. [m3/h] [mA]
1 10,14 10,00 5 4,34 3,40
2 8,64 8,00 6 1,86 2,40
3 8,18 7,20 7 1,44 2,20
4 7,20 6,00 8 0,00 2,00

Rezumat
Analiza de regresie este o metodă ce constă în prelucrarea
datelor experimentale în vederea determinării valorilor
coeficienţilor unor modele matematice exprimate prin
intremediul unor relaţii matematice. Dacă pentru prelucrarea
datelor dintr-un set de date se utilizează o ecuație liniară, atunci
tipul de regresie utilizat se numește regresia liniară. Dacă există
mai multe variabile independente, regresia poartă denumirea de
regresie multiplă.

106 | P a g e
Răspunsuri la testele de autoevaluare

5.1. y  a0  a1 x .
2
m
 n

5.2. f ob A     y j   ai xij 
j 1  i 0 
5.3. Se consideră un traductor de debit cu diafragmă. Datele
experimentale privind dependența dintre mărimea de ieşire, curentul
generat de traductor, şi mărimea de intrare, debitul volumic, sunt
prezentate în tabelul 5.3. Se cere să se determine cea mai bună
dependenţă de formă polinomială, în care gradul n variază între 1 şi
n max  4 , şi valorile coeficienților ai , i  0,, n .

Tabelul 5.3.
Date experimentale pentru traductorul de debit.
Nr. Debit Curent Nr. Debit Curent
crt. [m3/h] [mA] crt. [m3/h] [mA]
1 10,14 10,00 5 4,34 3,40
2 8,64 8,00 6 1,86 2,40
3 8,18 7,20 7 1,44 2,20
4 7,20 6,00 8 0,00 2,00

Rezolvare
În prima etapă se editează şi se salvează fişierul conţinând datele
primare. În cadrul etapei a doua se va utiliza sistemul de programe
RegPol. În tabelul 5.4 sunt prezentate rezultatele comparative obţinute
în urma rulării programului RegPol. Gradul optim al funcţiei este
determinat prin utilizarea următoarelor criterii:
a) valoarea abaterii standard;
b) sensul fizic al ecuaţiei de regresie.

107 | P a g e
Răspunsuri la testele de autoevaluare
Tabelul 5.4.
Rezultate comparative ale problemei formulate în tabelul 5.3.
Gradul Abaterea standard Observaţii
Abatere standard mare
1 0,711068
Nu corespunde realităţii fizice
Abatere standard mică
2 0,088823
Corespunde realităţii fizice
Abatere standard mică
3 0,088658
Nu corespunde realităţii fizice
Abatere standard mică
4 0,060182
Nu corespunde realităţii fizice

Din analiza rezultatelor prezentate în tabelul 5.4, valoarea


optimă a gradului polinomului de regresie este 2. În aceste condiţii,
coeficienţii ai , i  0,,2 au valorile ilustrate în tabelul 5.5.
Tabelul 5.5.
Rezultate numerice obţinute în exemplul din tabelul 2.3
Parametrul statistic Valoare numerică
a0 2.0353833301E+00
a1 -1.1186842946E-03
a2 7.8106016873E-02

2 8.8823677407E-02

yi  yicalc
max % -2.99
yi

108 | P a g e
Lucrare de verificare
1. Se consideră un traductor de debit cu diafragmă. Setul de date
experimentale obținute pentru trasarea caracteristicii statice, și anume
mărimea de intrare - debitul volumic - și mărimea de ieșire - curentul
generat de traductor - sunt prezentate în tabelul 5.6:
Să se utilizeze analiza de regresie polinomială pentru a obține
coeficienții polinomului de regresie de gradul 2 care corelează datele
prezente în tabelul 5.6.
Tabelul 5.6.Variația curentului generat în funcție de debitul volumic.
Debitul volumic Curentul generat
3
(m /h) (mA)
10.14 10
8.64 8
7.2 6
4.5 3.5
2 2.5
1.5 2.2
0.1 2

2. Se consideră datele din tabelele următoare:


Tabelul 5.7.
x 8.3 12.3 18.8 22.9 23.1 24 27.3 30 35.9 41.6
y 0.32 0.46 1.10 1.32 1.26 1.44 1.46 1.96 2.23 2.20

Tabelul 5.8
x 32.4 33 34.1 34.8 36.7 37.2 38.2 41.1 41.5 43.4
y 1.69 1.75 1.48 1.89 1.73 2.11 2.35 2.45 1.97 2.64

Să se determine ecuaţia liniară de forma y=a+b*x pentru fiecare


set de date din tabelele 5.7. şi 5.8.
109 | P a g e
BIBLIOGRAFIE
1. Alkis C., Mostoufi N., Numerical methods for chemical engineers with
Matlab applications, Pentice, 2008
2. Pătraşcioiu C. Tehnici de optimizare, Editura MatrixRom, București,
2015;
3. Marinoiu V, Pătrăşcioiu C., Metode numerice aplicate în ingineria
chimică, Editura Tehnică, București, 1986.
4. Pătrăşcioiu C, Metode numerice aplicate în ingineria chimică- Aplicaţii
Pascal, Editura Matrix Rom, București, 2004;
5. MathWorks Inc., MATLAB R2014a Help System. 2014;

110 | P a g e
MODULUL DE STUDIU 2
METODE CLASICE DE MODELARE MATEMATICĂ

Unitatea de învățare 8 – timp de învățare 2 ore


5. Estimarea modelelor matematice prin metoda regresie
5.3 Estimarea modelelor matematice prin regresie multiplă liniară

Cunoștințe şi deprinderi
La finalul acestei unități de învățare vei înțelege:
 noțiunea de regresie
 cum se determini un model matematic cu ajutorului unei
analize de regresie multiplă liniară
La finalul parcurgerii acestei unității de învățare vei putea să:
 să determini modelul matematic cu ajutorul funcțiilor din
Matlab specifice analizei de regresie multiplă liniară
 să interpretezi rezultatele unei regresiei multiple liniare

Preambul

O aplicaţie importantă a metodelor de estimare a modelelor


matematice o constituie analiza de regresie. Utilizarea analizei de regresie
în inginerie urmăreşte prelucrarea datelor experimentale în vederea
determinării valorilor parametrilor modelelor matematice. Modelele
matematice obţinute prin aplicarea analizei de regresie sunt denumite
ecuaţii de regresie [Marinou V. şi alţi 1999, Pătrăşcioiu C., 2005].

111 | P a g e
Ecuaţiile de regresie obţinute sunt supuse ulterior analizei statistice în
scopul verificării adecvanţei ecuaţiei de regresie.

5.3 Estimarea modelelor matematice prin regresie multiplă liniară

Se consideră un sistem caracterizat prin n variabile de intrare


xi , i  1,, n şi o variabila de ieşire y, figura. 5.7.

Fig. 5.7. Sistem cu n intrări şi o ieşire.

Rezultatele experimentale pentru asemenea sisteme sunt de forma


xij , i  1,, n, y j , j  1,m . În regim staţionar, sistemul poate fi scris de
forma
y  a0  a1 x1  a2 x2  an xn (5.15)

Se urmărește determinarea coeficienții ai , i  0,,n ai modelului


matematic (5.15) [Pătrăşcioiu C., 2005].
Ca şi în cazul regresie polinomiale, pentru determinarea
coeficienților se va construi funcția obiectiv de forma
2
m
  n 
 , ,
f ob a0 a1 a2 ,  , 
a n   y j   a i xi , j  
  (5.16)
j 1   i 0 
Aplicând condiţia necesară pentru determinarea minimului funcţiei
(5.16) se obţine

  f ob
  0, i  1,, n . (5.17)
  ai

112 | P a g e
Dezvoltând (5.17) se obţine sistemul
 m m m m
m a 0  a1  x1, j  a 2  x 2, j  a n  xn, j  yj
 j 1 j 1 j 1 j 1
 m m m m m
a0  x1, j  a1  x12, j  a 2  x1, j x2, j  a n  x1, j xn, j   x1, j y j
 j 1 j 1 j 1 j 1 j 1
 m m m m m . (5.18)
a 0  x 2 , j  a1  x1, j x2, j  a 2  x22, j  a n  x2, j xn, j   x2, j y j
 j 1 j 1 j 1 j 1 j 1
     
 m m m m m
a 0  x n , j  a1  x1, j xn, j  a 2  x2, j xn, j  a n  xn, j 2   x n, j y j
 j 1 j 1 j 1 j 1 j 1

În forma matriceală, sistemul (5.18) devine XA  Y , în care


 m m m 
m  x1, j  x 2, j   x n, j 
 j 1 j 1 j 1 
 m m m m 
  x1 , j  x1, j
2
 x1, j x2, j   x1, j xn, j 
 j 1 j 1 j 1 j 1 
X m m m m
 ; (5.19)
  x 2, j  x x
1, j 2, j  x 2, j 2   x 2, j x n , j 
 j 1 j 1 j 1 j 1


m     
m m m

 xn, j  x1, j xn, j  x2, j x n, j   xn, j 
2

 j 1 j 1 j 1 j 1 


AT  a0, a1, a2, , an ;  (5.20)

 m m m m 
Y T
   y j,  x1, j y j ,  x 2, j y j ,  ,  x n,j y j  . (5.21)
 j 1 j 1 j 1 j 1 
 

În cazul de față programul Matlab pune la dispoziție funcția


regress. Sintaxa funcţiei este
𝑏 = 𝑟𝑒𝑔𝑟𝑒𝑠𝑠(𝑦, 𝑥)
unde b reprezintă coeficienții polinomului de regresie; 𝑦 — variabila
independentă; 𝑥 — variabila dependentă.
Exemplul 5.2. Se consideră următoarele date asociate procesul de
cracare catalitică, caracterizat printr-un grad ridicat de complexitate. În

113 | P a g e
tabelul 5.9 sunt prezentate datele experimentale asociate funcționării
procesului de cracare catalitică.
Rezolvarea. Se vor crea două fişiere intrare_c.txt şi ieşire_c.txt. Cele
două fişier se vor aduce în workspace. Lista 5.2 prezintă programul pentru
determinarea polinomului de regresie .

Lista 5.2. Program pentru analiza regresiei multiple.


x=dlmread('intrare_c.txt');
y=dlmread('iesire_c.txt');
a=regress(y,x)

Tabelul 5.9. Datele experimentale asociate instalației de cracare catalitică.


Temperatura Debit Temperatura Raport Temperatura Benzină COR
materie materie regenerator catalizator catalizator [Kg/h]
prime [0C] primă [0C] a [0C] B
Tmp [kg/h] Treg Tcat
Qmp
203 176292 711 4.67 531 75417 94.3
200 177083 710 4.36 531 82917 94.3
202 154333 712 4.16 530 83541 94.3
202 149042 709 4.25 530 75750 94.3
207 155667 706 4.68 530 69375 94.6
205 161083 708 4.56 530 75583 94.4
195 162292 711 4.35 531 79958 94.4
194 157792 711 4.63 531 71167 94
195 161750 709 4.59 531 74417 94.2
191 173583 710 4.54 530 77875 94.2
190 167083 711 4.43 531 79583 94.6
191 169542 711 4.54 532 78333 94.5
198 170375 710 4.49 531 80208 95
205 173167 710 4.57 531 80417 94.2
205 167333 712 4.48 531 79375 94.3

Pornind de la algoritmul regresie multiplă descris anterior, a fost


creat un program asociat regresiei multiple, denumit RegMul. Prin lansare
în execuție obținem imaginea din figura 5.8.

114 | P a g e
Fig 5.8. Interfaţa programului pentru analiza regresiei multiplă liniară.
Programul RegMul are următoarele meniuri de comenzi:
Alegerea fișierului cu datele de intrare- selectarea fișierului de date
experimentale. Fișierul cu datele experimentale este reprezentat de o
matrice dreptunghiulară, de dimensiune m X n, în care m reprezintă
numărul de determinări experimentale, iar n reprezintă numărul total de
variabile măsurate, intrările şi ieșirile sistemului. Acest fişier va fi creat cu
extensia dat. sau txt.
Selecţia datelor de intrare – se alege indexul variabilei de ieșire,
numărul de variabile de intrare şi indexul fiecărei variabile de intrare.
Indexul unei variabile reprezintă poziția acelei variabile în baza de
date. De regulă baza de date poate conține un număr mult mai mare de
variabile de proces decât numărul variabilelor luate în considerare în
modelul matematic, şi nu sunt ordonate în mod corespunzător.
Analiza de regresie - execuția programului de regresie multiplă
liniară şi analiza statistică a rezultatelor.

115 | P a g e
În figura 5.9 este prezentată modalitatea de realizare a analizei de
regresie pentru determinarea ecuație de cacul a benzinei din exemplul
anterior.

Având în vedere rezultatele din figura 5.9, expresia concretă a


modelului matematic pentru determinarea benzinei este:

𝐵 = −319374.29 + 74.43 ∗ 𝑇𝑚𝑝 + 0.304 ∗ 𝑄𝑚𝑝 + 244.13 ∗ 𝑇𝑟𝑒𝑔


− 23166.27 ∗ 𝑎 + 521.45 ∗ 𝑇𝑐𝑎𝑡

Fig. 5.9. Rezultatele analizei de regresie .

Test de autoevaluare
5.4. Care este funcţia Matlab asociat calculul regresie multiple.

116 | P a g e
Rezumat
Regresia multiplă este o metodă pentru determinarea
unui model matematic pentru un sistem cu mai multe intrări
și o ieșire. Metoda constă în determinarea coeficienților
polinomului prin minimizarea sumei patratelor dintre datele
experimentale și datele calculate.

+ Răspunsuri la testele de autoevaluare

5.4. Functia matlab este


𝑏 = 𝑟𝑒𝑔𝑟𝑒𝑠𝑠(𝑦, 𝑥)

Lucrare de verificare
1. Fie procesul de stabilizare a benzinei, căruia îi sunt asociate datele
experimentale prezentate în tabelul 5.7. Se cere să se determine cel mai bun
model matematic liniar al procesului selectând ca variabilă de ieșire
temperatura finală a benzinei, şi cel puţin două mărimi de intrare din cadrul
următoarelor variabile: debitul de alimentare Gmp, debitul de reflux L,
presiunea din vârf P, temperatura din vârf Tv, debitul de benzină stabilizată
B, debitul de fracţie FG DL, debit gaze necondensabile DV.

117 | P a g e
Tabelul 5.7

Date de operate asociate coloanei de stabilizare a benzinei

118 | P a g e
Debit Temp.
Debit Temp. Temp. Debit Densitate Temp.
Debit Debit benzină iniţiţlă
Nr. alim. vârf bază Presiune gaze finaă
reflux fracţie la stab. benzină benzină benzină
crt. vârf (bar) necond.
(m3/h) (C) (C) (m3/h) FG (m3/h) (kg/m3) (C)
(m3/h) (Nm3/h) (C)
Index 1 2 3 4 5 6 7 8 9 10 11

1 36 71 153 4,9 22 6 40 540 730 60 190

2 12 71 153 4,9 22 6 40 720 720 58 166

3 40 71 157 4,5 42 10 50 1000 725 62 170

4 36 72 152 4,5 26 9 45 850 729 62 184

5 40 64 150 5,0 50 9 50 1000 742 67 163

6 60 69 150 5,0 54 12 44 500 715 63 166

7 54 74 155 4,6 26 13 64 200 738 61 151

8 50 70 154 4,4 40 13 54 520 716 45 162

9 60 66 154 5,2 10 7 52 550 739 50 176

10 64 65 145 5,0 28 13 40 450 710 52 147


BIBLIOGRAFIE
1. Alkis C., Mostoufi N., Numerical methods for chemical engineers
with Matlab applications, Pentice, 2008
2. Pătraşcioiu C. Tehnici de optimizare, Editura MatrixRom,
București, 2015;
3. Marinoiu V, Pătrăşcioiu C., Metode numerice aplicate în ingineria
chimică, Editura Tehnică, București, 1986.
4. Pătrăşcioiu C, Metide numerice aplicate în ingineria chimică-
Aplicaţii Pascal, Editura Matrix Rom, București, 2004;
5. MathWorks Inc., MATLAB R2014a Help System. 2014.

119 | P a g e
MODULUL DE STUDIU 11

METODE MODERNE DE MODELARE MATEMATICĂ

Unitatea de învățare 11 – timp de învățare 3 ore

Modelarea matematică cu ajutorul rețelelor neuronale


artificiale

7.1. Reţele neuronale artificiale - Definiție şi proprietăți


7.2. Noţiuni de neurobiologie
7.3 Descrierea neuronului artificial
7.4. Arhitecturi ale unei reţele neuronale artificiale
7.5. Tipuri şi algoritmi de instruire a unei rețele neuronale artificiale

Cunoștințe şi deprinderi

La finalul acestei unități de învățare vei înțelege:


• conținutul noțiunii de neuron artificial
• organizarea arhitecturală a unei rețele neuronale artificiale
• rolul algoritmilor de instruire a unei rețele neuronale
La finalul parcurgerii acestei unității de învățare vei putea să:
• să caracterizezi din punct de vedere funcțional o rețea neuronală
• să detaliezi structurile arhitecturale asociate unei rețele
neuronale
• să compari algoritmi de instruirea asociați rețelelor neuronale

140 | P a g e
7.1. Reţele neuronale artificiale – Definiţie şi proprietăți

Rețele neuronale artificial (RNA) sunt denumite procesoare paralel


distribuite sau modele conexioniste şi reprezintă o încercare de a simula, cel
puțin parțial structura şi funcțiile creierului organismelor vii.

Definiţie. Se poate spune ca o rețea neuronală artificială


reprezintă un sistem de procesare al datelor, compus dintr-un număr mare
de procesoare elementare interconectate, denumite neuroni artificiali sau
noduri şi care cooperează pentru rezolvarea unor sarcini specifice [Ţiponuţ
V., Căleanu C.D., 2002].
Din punct de vedere funcțional o reţea neuronală artificială este un
sistem paralel distribuit ce primește date de intrare (corespunzător datelor
inițiale ale problemei) şi produce date de ieșire (ce pot fi interpretate ca
răspunsuri ale problemei analizate).
O caracteristică esențială a unei rețele neuronale artificiale este
capacitatea de a se adapta la mediul informațional corespunzător unei
probleme concrete printr-un proces de învăţare. În felul acesta rețeaua
neuronală extrage modelul problemei pornind de la exemple.
Din punct de vedere structural o rețea neuronală artificială este un
ansamblul de unități interconectate fiecare fiind caracterizată de o
funcționalitate simplă. Funcționarea acestor unități este influențată de o serie
de parametri adaptabili. Astfel putem spune ca o rețea neuronală este un
sistem extrem de flexibil.
Avantajele utilizări unei rețele neuronale artificiale pentru modelarea
şi simularea sistemelor sunt următoarele [Gupta M., 2004]
- o rețea neuronală are proprietatea de a învăța şi de a se adapta;
- posibilitatea de a opera cu date imprecise;

141 | P a g e
- capacitatea de a generaliza, în sensul în care rețeaua neuronală
artificială va opera corect şi cu date care nu au fost prezentate în
timpul procesului de instruire;
- oferă capacitatea de a aproxima orice funcție continuă neliniară cu
grad de acuratețe dorit. Astfel rețele neuronale artificiale pot fi
folosite cu succes în modelarea sistemelor neliniare;
- numărului mare de intrări şi ieșiri ale unei rețele neuronale artificiale
modelează cu ușurință sisteme multivariabile;
- implementările hardware ale rețelelor neuronale artificiale, de
exemplu prin intermediul circuitelor integrate pe scară largă, fac
posibilă utilizarea acestora pentru cazul aplicațiilor în timp real.

Test de autoevaluare
7.1. Care sunt avantajele unei rețele neuronale?

7.2. Noţiuni de neurobiologie

Pentru a înțelege mai bine modul de funcționare a unei rețele


neuronale artificiale ar fi necesară o scurtă prezentarea a modului de
funcționare al sistemului nervos. Elementele structurale al creierului sunt
neuroni conectați prin sinapse. Părțile componente ale unei celule nervoase,
ilustrate în figura 7.1, sunt [Ţiponuţ V., Căleanu C.D., 2002]:

• Soma sau corpul celulei nervoase – reprezintă partea centrală a unei


celule care realizează majoritatea funcțiilor logice specifice
neuronului;

142 | P a g e
• Axonul (ieșirea celulei- axon- axă)- reprezintă prelungirea corpului
celulei. Funcția acestuia este aceea de a conduce impulsul nervos de
la corpul celulei la dendritele sau corpul celular al altui neuron.
• Dendrite (intrările neuronului- dendron- copac) sunt prelungiri ale
citoplasmei relativ mai groase şi bogat ramificate. Funcția acestora
este aceea de a recepționa impulsurile nervoase şi de a le conduce
până la corpul neuronului.
• Sinapsele – realizează comunicația interneuronală. Aceasta
convertește impulsul nervos presinaptic în semnal chimic şi invers.
Există trei astfel de legături:
- sinapse axo-dentritice
- sinapse axo –somatice
- sinapse axo- axonale.

Fig. 7.1. Neuronul biologic [Todoreanu G., 1994].

Pe baza modelului neuronului biologic real s-a dezvoltat neuronul


artificial, al cărui model simplificat din punct de vedere al teorie transmiterii
informației este structurat în figura 7.2.

143 | P a g e
Fig. 7.2. Model simplificat al neuronului din punct de vedere al transmiterii
informației [Ţiponuţ V., Căleanu C.D., 2002].
În descrierile tradiționale ale organizări neuronale se consideră că o
sinapsa este o conexiune simplă care poate impune excitarea sau inhibarea
unui neuron. Ambele efecte sunt locale, ele se propagă pe o distanță mică în
corpul celulei şi sunt însumate. Dacă suma potențialelor de excitare depășesc
un anumit prag, atunci neuronul activat transmite un impuls mai departe.

7.3 Neuronul artificial

Neuronul artificial denumit uneori procesor elementar sau mai simplu


nod, încearcă să imite structura şi funcționarea neuronului biologic. Există
numeroase modele prezentate în literatură, dar cel mai răspândit are la bază
modelul elaborat de McCulloch-Pitts în 1943 [Teodoreanu G., 1994,
Dumitrescu D., 1996 ]. Astfel se poate considera că neuronul artificial, a
cărui structură este ilustrată în figura 7.3, este format din:
• intrări, x1,x2, ...xj, ...xn;
• ponderii sinaptice, w1,w2, ...wj, ...wn .

144 | P a g e
• sumator destinat însumării intrărilor ponderate, unde
N
uk =  wkj  x j (7.1)
J =1

• prag de activare(treshold) al neuronului,  k ;


• funcţie de activare, pentru limitare amplitudinii semnalului de
ieşire al neuronului,
yk =  (uk −  k ) (7.2)

x1 wk 1


 uk
xj
wkj  yk

 wkN

xN k

Fig. 7.3. Structura neuronului artificial [Ţiponuţ V., Căleanu C.D., 2002].

În ceea ce privește tipul funcției de activare, aceasta este de regulă o


funcţie neliniară. Cele mai răspândite tipuri de funcții de activare sunt :

1, daca v  0
• Funcţia treaptă, figura 7.4a:  (v ) =  (7.3)
0, daca v  0
• Funcţia treaptă simetrică sau funcţia signum, figura 7.4b:

1, daca v  0
 (v ) =  (7.4)
− 1, daca v  0

1
• Funcţia sigmoid, fig 7.4c:  (v ) = , unde a =ct (7.5)
1 + e −av

1 − e −2 v
• Funcţia tangentă hiperbolică, figura 7.4d:  (v ) = (7.6)
1 + e −2 v

145 | P a g e
Fig. 7.4. Funcții de activare [Ţiponuţ V., Căleanu C.D., 2002].

• Funcţia liniară, figura 7.5a:  (v) = v (7.7)


• Funcţia liniară cu saturaţie, figura 8.5.b:
0, dacă v  0

 (v ) = v, dacă 0  v  1 (7.8)
1, dacă v  1

• Funcţia liniară cu saturaţie, simetrică, figura 7.5c:


− 1, dacă v  0

 (v ) = v, dacă 0  v  1 (7.9)
1, dacă v  1

•  (v) = e−v
2
Funcţia gaussiană, figura 7.5d: (7.10)

Fig. 7.5. Funcții de activare [Ţiponuţ V., Căleanu C. D., 2002].

146 | P a g e
În general funcțiile de activare sunt funcții neliniare, deoarece în
marea majoritatea cazurilor modele care descriu anumite sisteme fizice sunt
modele neliniare.
Funcțiile sigmoid şi tangentă hiperbolică reprezintă unele dintre
funcțiile de activare cel mai des folosite la implementarea unei reţele
neuronale artificiale, unul dintre motive reprezentându-l calculul simplu al
derivatelor acestora.
Din punct de vedere al implementării este practic imposibil şi chiar
ineficient ca modelul artificial al neuronului să copieze exact
comportamentul şi structura celui biologic. Reţele neuronale artificiale sunt
proiectate pentru rezolvarea unor probleme specifice şi deci arhitectura şi
trăsăturile RNA depind de problema pe care trebuie să o rezolve.

Test de autoevaluare
7.2. Prezentați elementele componente ale unui neuron artificial.

7.4. Arhitecturi ale unei rețelelor neuronale artificiale

În literatura de specialitate se disting două mari categorii de structuri


de rețele de neuronale artificiale, şi anume: rețele neuronale artificiale
feedforward (cu propagare înainte) şi reţele neuronal recurente (feedback, cu
propagare înapoi).

7.4.1. Reţea neuronală artificială feedforward (cu propagare


înainte)

Aceste rețele neuronale sunt caracterizate de prezența unui strat de


neuroni de intrare, un număr de straturi ascunse (posibil şi fără) şi un strat de
neuroni de ieşire. În figura 7.6 este prezentată arhitectura unei reţele

147 | P a g e
neuronale feedforward cu un singur strat ascuns. În cadrul acestei structuri
fiecare neuron primește semnale doar de la neuroni aflați în stratul/straturi
precedent/precedente. În funcție de modul de conectare la straturile
precedente acest tip de rețea neuronală poate fi:

• total conectată dacă fiecare neuron din fiecare strat este conectat la
fiecare neuron din stratul precedent, figura 7.6;
• parțial conectată dacă unul sau mai mulți neuroni dintr-un strat nu
sunt conectații la toți neuroni din stratul precedent, figura 7.7.

Fig. 7.6. Structura unei RNA feedforward total conectată.

Fig. 7.7. Structura unei RNA feedforward parțial conectată.

148 | P a g e
Rețelele neuronale total conectate pot fi utilizate în modelarea unei
game mare de procese, dar cu rezultate nu întotdeauna cele mai bune, pe
când rețelele neuronale parțial conectate permit introducerea anumitor
constrângeri care apar în modelarea unui proces ceea ce conduce la rezultate
mai bune [ Teodoreanu G., 1994].

Să considerăm o rețea neuronală feedforward caracterizată de m neuroni


care recepționează impulsurile a n intrării, figura 7.8. Pentru această rețea
definim următoarele elemente:

- vectorul ieșirilor 𝑜 = [𝑜1 𝑜2 ⋯ 𝑜𝑚 ]𝑡 (7.11)


- vectorul intrărilor 𝑥 = [𝑥1 𝑥2 ⋯ 𝑥𝑛 ]𝑡 (7.12)
- ponderea wij caracterizează al i-lea neuron cu a j-a intrare
- valoarea de activare pentru al i-lea neuron este
𝑛𝑒𝑡𝑖 = ∑𝑛𝑗=1 𝑤𝑖𝑗∙ 𝑥𝑗, 𝑖 = 1,2, ⋯ , 𝑚. (7.13)
- fiecare ieșire se poate descrie prin intermediul unei funcții
𝑜𝑖 = 𝑓(𝑤𝑖𝑡 ∙ 𝑥) , 𝑖 = 1,2 ⋯ , 𝑚. (7.14)

unde 𝑛𝑒𝑡𝑖 = 𝑤𝑖𝑡 𝑥 iar 𝑤𝑖 = [𝑤𝑖1 𝑤𝑖2 ⋯ 𝑤𝑖𝑛 ]𝑡 .

Fig. 7.8. Rețea neuronală artificială feedforward [Răzvan A., 1993].

149 | P a g e
Pentru a caracteriza informațional o rețea neuronală feedforward se
impune utilizarea unui operator matriceal neliniar Γ pentru care
𝑜 = 𝛤(𝑊, 𝑥) (7.15)

unde W este matricea ponderilor


𝑤11 𝑤12 ⋯ 𝑤1𝑛
𝑤21 𝑤22 ⋯ 𝑤2𝑛
𝑊=( ⋮ ) (7.16)
𝑤𝑚1 𝑤𝑚2 ⋯ 𝑤𝑚𝑛

iar

𝑓(∙) 0 ⋯0
0 𝑓(∙) ⋯ 0
𝛤[∙] = ( ) (7.17)

0⋯ 0 𝑓(∙)

7.4.2. Reţea neuronală recurente (feedback sau cu propagare înapoi)

Rețele neuronale artificiale recurente se individualizează prin


existența unui semnal de reacție, din partea neuronilor de ordin superior,
pentru cei de ordin inferior sau chiar pentru propriile lor intrări , figura 7.9.

Fig. 7.9. Un exemplu de rețea neuronală feedback [Răzvan A., 1993].

150 | P a g e
unde Δ reprezintă perioada de timp analoagă cu perioada de refractare a
modelului neuronului biologic.

O reţea feedback se poate obține dintr-o reţea feedforward, prin


conectarea ieșirilor cu propriile intrări.

În aceste condiții

𝑜(𝑡 + 𝛥) = 𝛤(𝑊0 (𝑡)) (7.18)

Intrarea x(t) este folosită doar pentru a inițializa această rețea, astfel
încât 𝑜(𝑡) = 𝑥(𝑡). Intrarea este apoi îndepărtată, sistemul devine autonom.

Test de autoevaluare
7.3. Care este diferența dintre o rețea neuronală feedforward total
conectată și o rețea neuronală feedforward parțial conectată.

7.5. Tipuri şi algoritmi de instruire a unei RNA

O rețea neuronală achiziționează cunoștințele prin instruire. Învățarea


presupune adaptarea parametrilor liberi ai RNA (ponderi, praguri, rată de
învățare, uneori chiar forma funcției de activare sau structura rețelei) ca
urmare a stimulilor mediului în care se găsește rețeaua.

Vectorii de instruire sunt prezentați RNA în mod secvențial iar


ponderile sinaptice, care memorează practic cunoștințele rețelei, sunt
adaptate pentru a extrage informația pe care acești vectori o conțin. Tipul de
învățare este determinat de maniera în care sunt ajustați parametrii liberi ai
rețelei neuronale.

151 | P a g e
Deşi în literatura există o mare diversitate de opinii în ceea ce privește
modul de clasificare al algoritmilor şi tipurilor de învățare. Figura 7.10
încearcă să sintetizeze principalele direcții.

Tipuri de instruire

Instruire Supervizată Instruire Nesupervizată


(autoorganizare)

Algoritmul Algoritmul Algoritm cu învăţare Algoritm cu învăţare


propagării înapoi a erorii Boltzman de tip hebbian de tip competitiv

Fig. 7.10. Tipuri şi algoritmi de instruire.

7.5.1. Învăţare de tip supervizat

Acest tip de instruire este caracterizată de existentă unui supervizor


care cunoaște cu exactitate modul de asociere al intrărilor rețelei neuronale
artificiale cu ieșirile acesteia, conform următoarei scheme:

yr
SUPERVIZOR
x(n)
yc +
-
RNA

Fig. 7.11. Arhitectura unui sistem cu învăţare supervizată.

152 | P a g e
Învățarea supervizată presupune aplicarea unei mulțime de învățare
H alcătuită din perechi (ik, tk), k=1,2,....n, unde ik vectorul mărimilor de
intrare, tk vectorul asociat ieșirilor. Etapele procesului de învățare presupune:

• se aplică rețelei de neuroni vectorul de intrări ik din mulțimea de


învățare;
• se calculează pas cu pas ieșirile tuturor unităților rețelei neuronale
cu ajutorul funcțiilor de activare specifice, obținându-se ieșirile
rețelei ok;
• se compară pe baza unui criteriu prestabilit vectorul rețelei neuronale
ok cu vectorul asociat ieșirii tk ;

ek=tk- ok

• se calculează eroarea și se propagă valoarea ei în sens invers de la


ieșire către intrare;
• se încearcă minimizarea erorii la fiecare etapă prin modificarea
ponderilor rețelei.

Acest tip de antrenare dă rezultate bune. Unu dintre cei mai cunoscuţii
algoritmi de învăţare supervizată este algoritmul back-propagation (Werbos,
1974, Rumelhart & McClelland, 1986). Numit şi algoritmul propagării erori
înapoi, el se bazează pe minimizarea diferenței dintre ieșirea dorită şi ieșirea
reală, prin metoda gradientului descendent.

7.5.2. Învățare de tip nesupervizat (cu autoorganizare)

Este caracterizată de absența unui supervizor care să aprecieze


corectitudinea asociațiilor intrare-ieșire, figura 7.12. În acest caz rețeaua
neuronală pe baza datelor de intrare va reuși să realizeze o reprezentare
internă adecvată a trăsăturilor vectorului de intrare.

153 | P a g e
Fig. 7.12. Arhitectura unui sistem cu învăţare supervizată.

Răspunsuri la testele de autoevaluare

7.1. Principalele avantajele a unei rețele neuronale este


capacitatea de a învăța, de a se adapta, de a modelare și simula
sisteme multivariable și neliniare, de a lucra cu date imprecise.
7.2. Elementele componentele ale unui neuron artificial
sunt: intrările neuronului, ponderile sinaptice, sumator, prag de
activare și funcții de activare.
7.3. În cazul unei rețele neuronale total conectată fiecare
neuron din fiecare strat este conectat la fiecare neuron din stratul
precedent, pe când în cazul rețelei parțial conectată unul sau mai
mulți neuroni dintr-un start nu sunt conectații la toți neuroni din
stratul precedent.

154 | P a g e
Rezumat

Din punct de vedere structural o rețea neuronală artificială este un


ansamblul de unități interconectate fiecare fiind caracterizată de o
funcționalitate simplă. Funcționarea acestor unități este
influențată de o serie de parametri adaptabili.
Din punct de vedere arhitectural rețele neuronale artificiale
pot fi: rețele neuronale feedforward (cu propagare înainte) şi
reţele neuronale recurente (feedback, cu propagare înapoi).
Există două tipuri de instruire a rețelelor neuronale și
anume: instruire supervizat și nesupervizată.

Lucrare de verificare

7.1. Definiți noțiunea de rețea neuronală artificială.


7.2. Care sunt asemănările dintre un neuron biologic și un neuron
artificial?
7.3. Care sunt tipurile de instruire a unei rețele neuronale?
7.4.Care sunt principalele structuri arhitecturale specifice rețelelor
neuronale?

155 | P a g e
BIBLIOGRAFIE

1. Dumitrescu D, Costin H., Rețele neuronale. Teorie şi aplicaţii,


Editura Teora , 1996;
2. Gupta M., Knopf K., Neuro-Visio Systems. Principles and
aplications, IEEE Press , 1994, pg. 14-16;
3. Ţiponuţ V., Căleanu C.D., Reţele de calculatoare. Arhitecturi şi
algoritmi, Editura Politehnica, Timișoara, 2002;
4. Todereanu G., Costeiu M., Giurgiu M, Reţele neuronale, Editura
Microinformatica, 1994.

156 | P a g e
MODULUL DE STUDIU 12

METODE MODERNE DE MODELARE MATEMATICĂ

Unitatea de învățare 12 – timp de învățare 2 ore

Modelarea matematică cu ajutorul rețelelor neuronale


artificiale

7.6.Utilizarea mediului Neural Net Fitting Toolbox

7.7. Exemplu de creare, antrenare și utilizare a unei rețele neuronale


artificiale

Cunoștințe şi deprinderi

La finalul acestei unități de învățare vei înțelege:


• modul de utilizate a Neural Net Fitting Toolbox
• modelarea unui proces cu ajutorul rețelelor neuronale
La finalul parcurgerii acestei unității de învățare vei putea să:
• utilizezi Neuronal Toolbox
• să creezi o rețea neuronală atificială

7.6. Utilizarea mediului Neural Net Fitting Toolbox

Una dintre aplicațiile cu ajutorul căreia putem dezvolta o rețea


neuronală artificială în cadrul mediului MATLAB este Neural Net Fitting
Toolbox. Această aplicație poate fi apelată prin intermediul funcției nftool

92 | P a g e
sau clik pe pictograma Neural Net Fiting prezentată în figura 7.13 [ Taylor
K, 2018].

Fig.7.13. Lansarea în execuție a aplicației Neural Net Fitting.

În urma execuției uneia din comenzile prezentate anterior, este


lansată în execuție aplicația Neural Net Fiting, interfață ilustrată în figura
7.14.

Fig.7.14. Interfața mediului Neural Net Fiting.

93 | P a g e
Pașii necesari pentru realizarea unei rețele neuronale artificiale sunt
următorii:
1. Crearea unei baze de date pentru antrenarea rețelei neuronale
2. Alegerea arhitecturi rețelei neuronale artificiale (se stabilește
numărul de intrări și de ieșiri)
3. Împărțirea bazei de antrenare în date de antenare, date de validare
și date de test.
4. Antrenarea rețelei neuronale
5. Exploatarea rețelei neuronale.

7.6. Exemplu de creare, antrenare și utilizare a unei rețele neuronale


artificiale

Se consideră următoarele date experimentale din tabelul 7.1, asociate


procesului de obținere a glicerol cetal. Să se determine rețeaua neuronală
artificială și să se compare datele obținute cu cele experimentale [Oprescu
E., 2014].

Pentru a importa datele experimentale în Neuronal Net Fiting trebuie


creat în prealabil un fișier NN_int.dat, fișier ce conține datele asociate
variabilelor de intrarea rețelei neuronale (în cazul de față timp, % catalizator
și % Etil/hexal) și un fișier NN_out.dat, ce conține date de ieșire (randament
de glicerol cetal). Machetele celor două fișiere sunt prezentate în lista 7.1.
respectiv lista 7.2.

Importarea acestor date fișiere în Workspace presupune utilizarea


butonului Import date ce va deschide o fereastră unde se va selecta unul din
cele două fișiere sau utilizând instrucțiunea load.

94 | P a g e
Tabelul 7.1. Date experimentale.
Catalizator
Timp de 2-Etil-2- Glicerol cetal
(wt.% of
reacție (h) hexenal (%) randament(%)
glicerol)
0.5 6 5 70.73
1 6 5 83.9
2 6 5 87.34
3 6 5 96.50
4 6 5 91.80
2 3 5 70.73
2 5 5 85.35
2 6 5 96.50
2 7 5 96.40
2 3 0 92.82
2 3 2.5 95.46
2 3 5 96.50
2 3 7.5 96.43

Lista 7.1. Structura fișierului NN_in.dat

0.50 3 10
1 3 10
1.5 3 10
2 3 10
2.5 3 10
2 1 10
2 1.5 10
2 3 10
2 4.5 10
2 3 0
2 3 5
2 3 10
2 3 20

95 | P a g e
Lista 7.2. Structura fișierului NN_out.dat
70.73
83.90
87.34
96.50
91.80
70.73
85.35
96.50
96.40
92.82
95.46
96.50
96.43

Pasul următor este importarea datelor în Neural Net Fiting. În interfața


principală, prin efectuarea unui clik pe butonul Next , este afișată fereastra
care permite introducerea datelor de intrare și ieșire, figura 7.15. În cadrul
acestei ferestre sunt selectate numele fișierului de intrare cât și celui de
ieșire.

Următorul pas permite utilizatorul stabilire procentului de date de


antrenare folosite pentru instruirea rețelei, validări și testări acestora, precum
în figura 7.16.

96 | P a g e
Fig.7.15. Fereastra de introducere a datelor .

Fig. 7.16. Fereastra de împărțire a datelor de intrare.

97 | P a g e
Următoarea fereastră permite utilizatorului să selecteze numărul de
neuroni pe care îi va avea rețeaua neuronală în startul ascuns, figura 7.17. În
acest exemplu se vor utiliza 5 neuroni.

Fig. 7.17. Fereastra de selectare a numărului de neuroni din stratul ascuns.

Următoare etapă este instruirea a rețelei neuronale prin alegerea


algoritmului de antrenare convenabil, realizată în cadrul ferestrei prezentată
în figura 7.18. În acest exemplu va fi utilizat algoritmul predefinit,
Levenberg Marquardt. Pentru a începe antrenarea rețelei neuronale,
utilizatorul va apăsa butonul Train.

În timpul procesului de antrenare va apărea o fereastră simulară celei


din figura 7.19. După încheierea procesului de antrenare a rețelei neuronale,
utilizatorul are posibilitatea de a verifica eficiența instruiri rețelei neuronale

98 | P a g e
cu ajutorul histogramei de eroare și analizei de regresie a datelor. Acestea
pot fi vizualizate prin intermediul butonului Plot Histogram respectiv
butonul Regression.

Fig. 7.18. Fereastra de antrenare a rețelei neuronale.

Fig. 7.20. Histograma de eroare.

99 | P a g e
Fig.7.19. Fereastra din timpul antrenării rețelei neuronale.

Din histograma de eroare ilustrată în figura 7.20 se poate observa că


majoritatea erorilor se află în jurul valorii 0. De unde și concluzia, datele de
antrenare sunt coerente, deci antrenamentul rețelei neuronale a fost eficient.

100 | P a g e
Analiza de regresie confirmă concluziile din histograma de eroare,
figura 7.21.

Fig.7.21. Analiza de regresie.

Următoarea fereastră a aplicației este acea de reantrenare a rețelei


neuronale. Acest proces se va realiza numai dacă utilizatorul consideră
antrenarea a fost ineficientă. Reantrenarea presupune modificarea
următoarelor aspecte:

• Modificarea numărului de neuroni din stratul ascuns;

101 | P a g e
• Antrenarea rețelei neuronale utilizând o bază de date care are
date diferite și/sau mai multe.

Deoarece antrenamentul rețelei neuronale pentru datele din acest exemplu a


fost eficient, nu este necesară reantrenarea rețelei neuronale. Fereastra de
reantrenare a rețelei neuronale este prezentată în figura 7.22.

Fig. 7.22. Fereastra pentru reantrenarea rețelei neuronale.

Prin efectuarea unui click pe butonul Next din fereastra prezentată în


figura 7.22 apare o fereastră care permite utilizatorului salvarea rețelei
neuronale create fie sub forma unei funcții MATLAB, fie sub forma unei
diagrame Simulink. De asemenea, utilizatorul are posibilitatea de a genera o
reprezentare grafică a rețelei neuronale, prin efectuarea unui click pe butonul
Neural Network Diagram.. Această fereastră este reprezentată în figura 7.23.

102 | P a g e
Fig. 7.23. Fereastra de salvare a rețelei neuronale sub diverse forme.

Prin efectuarea unui click pe butonul Next, va apărea fereastră ce


permite salvarea rețelei neuronale sub forma unui script. MATLAB. Există
două variante de script în care poate fi salvată rețeaua creată și antrenată:

• Script simplu care salvează numai instrucțiunile aferente creării și


antrenării rețelei neuronale;
• Script detaliat salvează atât instrucțiunile din varianta precedentă.
cât și instrucțiuni suplimentare care permit configurarea manuală
a rețelei neuronale. precum și un exemplu.
La final, utilizatorul trebuie să efectueze un click pe butonul Finish,
pentru ca aplicația să-și încheie execuția. Fereastra de salvare sub forma unui
script este prezentată în figura 7.24.

103 | P a g e
Fig. 7.24. Fereastra de salvare a rețelei neuronale sub forma unui script.

Pentru a exploata rețeaua neuronală creată și antrenată, se utilizează


comanda 𝑛𝑒𝑡. Această comandă are sintaxa:

𝑦 = 𝑛𝑒𝑡(𝑥)

În sintaxa de mai sus 𝑥 reprezintă data de intrare pentru care se dorește


estimarea variabilei de ieșire cu ajutorul rețelei neuronale iar 𝑦 este variabila
care reține valoarea estimată a rețelei neuronale.

O comparație între datele experimentale și datele obținute cu ajutorul


rețelei neuronale sunt prezentate în tabelul 7.2 și figura 7.25.

104 | P a g e
Tabelul.7.2.Comparație între datele calculate și cele calculate cu RNA.

Randament glicerol cetal Randament glicerol cetal Eroare


experimetal calculat RNA
70,73 75,1 -4,37
83,9 81,11 2,79
87,34 87,21 0,13
96,5 93,26 3,24
91,8 99,32 -7,52
70,73 80,1 -9,37
85,35 83,39 1,96
96,5 93,26 3,24
96,4 103,14 -6,74
92,82 89,22 3,6
95,46 91,24 4,22
96,5 93,26 3,24
96,43 90,07 6,36

Fig. 7.25. Comparație între datele experimentale și RNA.

105 | P a g e
Rezumat

O rețea neuronală artificială este un model matematic de calcul


inspirat din sistemele nervoase biologice. Una dintre aplicațiile
cu ajutorul căreia putem dezvolta o rețea neuronală artificială în
cadrul mediului MATLAB este Neural Net Fitting Toolbox.
Această aplicație poate fi apelată prin intermediul funcției
nftool. Pașii necesari pentru construirea și exploatarea unei
rețele neuronale sunt următorii:

• Crearea bazei de date de antrenament;


• Crearea rețelei neuronale;
• Configurarea rețelei neuronale;
• Antrenarea rețelei;
• Exploatarea rețelei.

106 | P a g e
Lucrare de verificare

7.1. Se consideră date experimentale din tabelul 7.3, asociate unui proces
a cărei dinamică a intrării este prezentată în figura 7.26. Să se determine
cu ajutorul Neural Net Fitting rețeaua neuronală artificială cu care se
poate simula procesul.

Fig. 7.26. Dinamica procesului studiat.

Tabelul 1. Date experimentale


t[min] y(t)
0 80
3 84.35
6 87.60
9 89.60
12 90.95
15 92.30
18 92.70
21 93.5
24 93.88
27 94.5
30 94.6
33 95

107 | P a g e
Lucrare de verificare

7.2. Se consideră datele din tabelul 7.4.. Ce descriu un element aperiodic


de ordinul 2 la o variație treaptă ∆u=4. Determinați rețeaua neuronală
artificială care poate simula elementul aperiodic .

Tabelul. 7.4.

t[min] y(t)
0 0
1.5 0.33
3 0.98
4.5 1.65
6 2.23
7.5 2.7
9 3.05
10.5 3.31
12 3.51
13.5 3.65
15 3.75
16.5 3.82
18 3.87
19.5 3.91
21 3.93
22.5 3.95
24 3.96
25.5 3.97
27 3.98
28.5 3.98
30 3.99

108 | P a g e
BIBLIOGRAFIE

1. Taylor K, Neural networks using Matlab. Function approximation


and Regression, 2018.
2. Xue D, Chen Y, Scientifc Computing with Matlab, CRC Pres., 2016.
3. Oprescu E., și alți, Modeling the synthesis of an oxygenated biofuel
additive, SGEM 2015.

109 | P a g e

S-ar putea să vă placă și