Sunteți pe pagina 1din 117

CUPRINS

INTRODUCERE ................................................................................................................................................... 3

I. ELEMENTE INTRODUCTIVE PRIVIND UTILIZAREA MEDIULUI SOFTWARE MATLAB ........ 7


I.1. CONSIDERAŢII GENERALE........................................................................................................................... 7
I.2. RECOMANDĂRI FUNDAMENTALE .................................................................................................................. 8
I.3. INTRODUCEREA ŞI MANIPULAREA VECTORILOR ŞI MATRICELOR ............................................................. 9
I.4. OPERATORI ARITMETICI ŞI FUNCŢIONALI................................................................................................ 12
I.5. STRUCTURI PENTRU CONTROLUL EXECUŢIEI COMENZILOR ................................................................... 13
I.6. FUNCŢII GRAFICE ÎN MATLAB ............................................................................................................... 15
I.7. COMENZI MATLAB UZUALE ................................................................................................................... 17
I.8. PROBLEME PROPUSE ................................................................................................................................. 20

II. REPREZENTAREA SEMNALELOR CONTINUE ŞI DETERMINISTE ÎN DOMENIUL


COMPLEX .................................................................................................................................................... 21
II.1. CONSIDERAŢII GENERALE ....................................................................................................................... 21
II.2. TRANSFORMATA LAPLACE ........................................................................................................................ 21
II.3. CONEXIUNI ÎNTRE UN SEMNAL DESCRIS ÎN DOMENIUL TIMP ŞI POLII IMAGINII SALE LAPLACE ................... 23
II.4. PROPRIETĂŢI ALE TRANSFORMATEI LAPLACE UNILATERALE ..................................................................... 25
II.5. SCURT DICŢIONAR DE TRANSFORMATE LAPLACE ALE UNOR SEMNALE CAUZALE ...................................... 27
II.6. EXEMPLE DE TRANSFORMĂRI DIN DOMENIUL TIMP ÎN DOMENIUL COMPLEX ŞI INVERS .............................. 29
II.7. CALCULUL TRANSFORMATEI LAPLACE FOLOSIND MATLAB .................................................................... 31
II.8. PROBLEME PROPUSE................................................................................................................................ 33

III. STUDIUL SISTEMELOR CU COMPORTARE DE TIP INTEGRATOR SAU DERIVATOR ........ 35


III.1. INTRODUCERE ........................................................................................................................................ 35
III.2. TRANZIŢIA CAUZALĂ INTRARE IEŞIRE PENTRU SISTEME CU COMPORTARE DE TIP INTEGRATOR ................ 36
III.3. TRANZIŢIA CAUZALĂ INTRARE IEŞIRE PENTRU SISTEME CU COMPORTARE DE TIP DERIVATOR .................. 37
III.4. LEGI ALE FIZICII CU EXPRIMARE CAUZALĂ DE TIP INTEGRAL SAU DERIVATIV........................................... 37
III.5. PROGRAME MATLAB PENTRU SIMULAREA MODELELOR DE TIP INTEGRATOR SAU DERIVATOR............... 39
III.6. EXEMPLU DE PROBLEMĂ REZOLVATĂ ANALITIC PENTRU UN MODEL DE TIP INTEGRATOR ........................ 42
III.7. PROBLEME PROPUSE .............................................................................................................................. 45

1
IV. STUDIUL SISTEMELOR MODELABILE PRIN ECUAŢII DIFERENŢIALE DE ORDINUL I,
LINIARE, CU COEFICIENŢI CONSTANŢI ............................................................................................ 47
IV.1. INTRODUCERE ........................................................................................................................................ 47
IV.2. MODELE LINIARE DE TIP ECUAŢIE DIFERENŢIALĂ DE ORDINUL I CU COEFICIENŢI CONSTANŢI .................. 48
IV.3. COMPORTARE DE REGIM LIBER ŞI DE REGIM FORŢAT................................................................................ 48
IV.4. REGIMUL LIBER ........................................................................................................................................ 50
IV.5. REGIMUL FORŢAT PENTRU SEMNAL DE INTRARE DE TIP TREAPTĂ ............................................................ 52
IV.6. RĂSPUNSUL COMPLET PENTRU SEMNAL DE INTRARE TREAPTĂ ................................................................ 55
IV.7. RĂSPUNSUL COMPLET PENTRU SEMNAL DE INTRARE SINUSOIDAL............................................................ 56
IV.8. PROGRAME MATLAB PENTRU SIMULAREA MODELELOR DE TIP ECUAŢIE DIFERENŢIALE DE ORDINUL I .. 58
IV.9. EXEMPLU DE PROBLEMĂ REZOLVATĂ ANALITIC ...................................................................................... 60
IV.10. PROBLEME PROPUSE ............................................................................................................................ 62

V. STUDIUL SISTEMELOR MODELABILE PRIN REPREZENTĂRI LINIARE INTRARE – STARE


– IEŞIRE ........................................................................................................................................................ 65
V.1. INTRODUCERE .......................................................................................................................................... 65
V.2. MODELE INTRARE – STARE – IEŞIRE DE ORDINUL DOI ................................................................................ 66
V.3. MODELE INTRARE – STARE – IEŞIRE CU N STĂRI ........................................................................................ 67
V.4. RĂSPUNSUL ANALITIC AL MODELELOR DE STARE ...................................................................................... 68
V.5. PROGRAME DEZVOLTATE ÎN MEDIUL MATLAB ....................................................................................... 71
V.6. CONSTRUCŢIA MODELELOR LINIARE DE STARE.......................................................................................... 72
V.7. PROBLEME PROPUSE .................................................................................................................................. 78

VI. MODELE LINIARE DE TIP FUNCŢIE DE TRANSFER..................................................................... 81


VI.1. INTRODUCERE ........................................................................................................................................ 81
VI.2. OBŢINEREA FUNCŢIILOR DE TRANSFER PENTRU MODELE DESCRISE ÎN DOMENIUL TIMP ........................... 82
VI.3. PROPRIETĂŢI ŞI CONEXIUNI STANDARD ALE FUNCŢIILOR DE TRANSFER ................................................... 84
VI.4. REPREZENTAREA MODELELOR DE STARE PRIN DIAGRAME (SCHEME) BLOC .............................................. 88
VI.5. EXEMPLE DE PROBLEME REZOLVATE ....................................................................................................... 92
VI.6. PROBLEME PROPUSE................................................................................................................................. 95

VII. SIMULAREA MODELELOR MATEMATICE ÎN MEDIUL SOFTWARE MATLAB ................... 98


VII.1. INTRODUCERE ....................................................................................................................................... 98
VII.2. MODALITĂŢI DE SIMULARE ŞI ALEGEREA TIMPULUI DE SIMULARE ......................................................... 99
VII.3. SIMULAREA MODELELOR DINAMICE UTILIZÂND RUTINE DE INTEGRARE NUMERICĂ DIN MATLAB ..... 101
VII.4. SIMULAREA MODELELOR DINAMICE UTILIZÂND RUTINE DIN „CONTROL SYSTEM TOOLBOX”............... 104
VII.5. SIMULAREA MODELELOR DINAMICE UTILIZÂND MEDIUL VIZUAL „SIMULINK” ..................................... 108
VII.6. PROBLEME PROPUSE ............................................................................................................................. 113

BIBLIOGRAFIE ............................................................................................................................................... 116

2
INTRODUCERE

Prezenta carte îşi propune un studiu al modelelor matematice ale sistemelor fizice, atât
din punct de vedere analitic, cât şi din punct de vedere al simulării pe calculator. Un astfel de
studiu are drept scop înţelegerea legăturilor ce există între descrierile matematice ale unor
sisteme şi comportarea sistemelor fizice corespunzătoare din lumea înconjurătoare. Pentru
susţinerea acestui deziderat, se propune tratarea diverselor tipuri de modele matematice
liniare, începând cu modele simple – ale căror comportări pot fi cu uşurinţă analizate din
punct de vedere matematic – şi ajungând la modele mai complexe – în al căror studiu
programele software dedicate pot oferi un sprijin al înţelegerii şi verificării aspectelor
comportamentale deduse din punct de vedere analitic.
Având în vedere aceste aspecte, lucrarea poate veni în sprijinul celor care doresc un
studiu de factură introductivă în aspectele inginereşti ale modelelor şi sistemelor [Păstrăvanu
şi Ibănescu, 2001; Borutzky, 2010; Kloetzer şi Păstrăvanu, 2012]. De asemenea, studenţii din
facultăţile cu profil de automatică şi calculatoare pot utiliza cartea drept suport pentru anumite
discipline care studiază la un nivel introductiv aspecte precum sisteme, semnale, modele
matematice şi simulări ale acestora.
Studiul prezent nu îşi propune o tratare a aspectelor referitoare la arii precum control
automat [Voicu, 2002; Franklin et al., 2002; Kloetzer et al., 2014], teoria sistemelor de control
[Voicu, 2008; Dorf şi Bishop, 2010] etc., ci vine în sprijinul celor care doresc o acomodare cu
unele noţiuni de bază manipulate în cadrul ariilor de studiu amintite.

De-a lungul cărţii vor fi folosite frecvent noţiunile de semnal, sistem şi model, care
sunt explicate în cele ce urmează.
Prin semnal se înţelege o mărime sau o variabilă cu un anumit înţeles fizic,
dependentă de variabila timp (exemple de semnale includ temperatura de afară, intensitatea
curentului electric printr-un conductor etc.). Subliniem faptul că variabila independentă timp
(notată cu t ) are semnificaţie temporală, aceasta arătând evoluţia în timp a semnalelor
studiate. Din punct de vedere matematic, un semnal poate fi văzut ca o funcţie de variabilă
independentă t ∈  , cu valori reale: f (t ) :  →  . Prin semnal cauzal vom înţelege un
semnal pentru care se poate fixa un reper de timp, t = 0 , astfel încât semnalul are valoare nulă
la stânga acestui reper: f (t ) = 0 , pentru orice moment t < 0 . Din punct de vedere fizic,
reperul de timp t = 0 poate corespunde de exemplu punerii sub funcţiune a unui sistem (prin
aplicarea unui semnal care cauzează funcţionarea sistemului).
Un sistem este reprezentat de o colecţie de elemente fizice care interacţionează şi ale
căror proprietăţi trebuie studiate. În cazuri simple, un sistem poate fi compus dintr-un singur
element fizic (de exemplu un rezistor). De multe ori, studiul anumitor proprietăţi nu poate fi
făcut prin intermediul experimentelor cu sistemele fizice (din cauza indisponibilităţii
sitemului vizat, sau datorită unor aspecte care se pot dovedi destructive etc.). De aceea, se
intenţionează investigarea analitică sau prin simulare a unor sisteme, investigaţie care este

3
bineînţeles posibilă fără a avea acces la sistemul fizic. Din punct de vedere al cărţii prezente,
vom privi sistemul ca o colecţie de obiecte fizice ce are un anumit scop şi este conectată cu
lumea înconjurătoare prin intermediul a două semnale: un semnal de intrare sau semnal cauză
(presupus cunoscut), care cauzează funcţionarea sistemului şi un semnal de ieşire sau semnal
efect (presupus necunoscut), ale cărui caracteristici (proprietăţi) trebuie aflate. O discuţie mai
amplă asupra posibilităţilor de efectuare a unei astfel de delimitări nu face obiectul cărţii
prezente, dar poate fi găsită în studii precum [Păstrăvanu şi Ibănescu, 2001; Kloetzer et al.,
2014].
Drept exemplu simplu putem menţiona un sistem format dintr-un rezistor, un semnal
de intrare reprezentat de o tensiune electrică aplicată la bornele rezistorului şi un semnal de
ieşire reprezentat de intensitatea curentului electric ce străbate rezistorul. Bineînţeles că într-
un astfel de caz investigarea proprietăţilor semnalului efect este imediată (conform legii lui
Ohm) dacă semnalul cauză şi valoarea rezistenţei sunt cunoscute. O atare investigaţie nu
presupune să avem la îndemână sistemul fizic şi modalităţi de generare şi măsurare a unor
semnale, ci presupune manipularea unor ecuaţii analitice ce provin din legile fizicii care
guvernează sistemul vizat. De-a lungul cărţii vom folosi noţiunea de proces cu aceeaşi
semnificaţie ca şi cea a noţiunii de sistem.
Un model matematic este reprezentat de una sau mai multe ecuaţii care arată modul în
care semnalele sunt procesate de un sistem. Astfel, un model matematic este o abstractizare a
sistemului fizic (de ex. legea lui Ohm este un model pentru sistemul amintit în paragraful
anterior). Modelul matematic ne permite de fapt studierea sistemului fizic corespunzător
făcând apel la formalisme analitice sau la simulări pe calculator, fără a fi nevoie să avem
acces la procesul studiat. De-a lungul cărţii vom folosi doar termenul de model în loc de
model matematic, având în vedere că nu există posibilităţi de confuzie cu alte tipuri de modele
întâlnite în diverse domenii ale ştiinţei.
Sistemele şi modelele avute în vedere în acest studiu sunt dinamice, ceea ce înseamnă
(din punct de vedere intuitiv) că valoarea instantanee a ieşirii sistemului nu depinde doar de
valoarea instantanee a intrării, ci de un întreg istoric al semnalului de intrare, precum şi de o
aşa-numită condiţie iniţială (o valoare cunoscută a ieşirii la un moment de timp). Din punct de
vedere analitic, acest dinamism va duce la modele compuse din ecuaţii diferenţiale (sau
integrale, sau integro-diferenţiale). Modelele considerate vor fi liniare, ceea ce înseamnă că în
construcţia acestora vor fi considerate legi ale fizicii în formă liniară. Tehnici de liniarizare
ale modelelor neliniare pot fi găsite în studii precum [Voicu, 2002; Franklin et al., 2002].
Având în vedere scopul prezentei cărţi, capitolele constituente îşi propun o tratare a
câtorva tipuri de modele matematice atât din punct de vedere analitic cât şi al simulărilor pe
calculator. De asemenea, sunt prezentate şi modalităţi de construcţie a acestor modele pornind
de la legi ale fizicii. Drept exemplificare vor fi menţionate sisteme mecanice de translaţie şi
sisteme electrice. Pentru detalii privind sisteme ce au antă natură fizică, precum şi pentru
modalităţi diferite de construcţie a modelelor recomandăm lucrări precum [Păstrăvanu şi
Ibănescu, 2001; Borutzky, 2010]. Toate simulările software vor fi efectuate în mediul
software MATLAB [The Mathworks, 2010], care este frecvent utilizat atât în universităţi cât
şi în industrie pentru testare de algoritmi sau efectuare de simulări ce privesc diverse ramuri
ale ştiinţei.
Cartea este structurată pe şapte capitole. Capitolul I prezintă câteva elemente
introductorii ale mediului software MATLAB, pentru ca simulările ce sunt referite în
capitolele ulterioare să poată fi efectuate. Unele programe MATLAB menţionate de-a lungul
cărţii sunt deja făcute, acestea fiind disponibile studenţilor din facultatea gazdă a autorilor
(Facultatea de Automatică şi Calculatoare, Universitatea Tehnică „Gheorghe Asachi” din Iaşi)
şi putând fi obţinute de orice persoană interesată (în urma solicitărilor prin email). Capitolul II
este dedicat prezentării transformatei Laplace, formalism a cărui utilizare va permite o

4
simplificare a calculelor analitice, deoarece ecuaţiile diferenţiale din domeniul timp devin
ecuaţii algebrice în domeniul complex Laplace. Capitolele III-V prezintă descrieri ale
sistemelor sub formă de modele matematice în domeniul timp, studiile în acest domeniu fiind
acompaniate de un suport intuitiv. Astfel, Capitolul III prezintă studiul celor mai simple tipuri
de modele dinamice, anume de tip integrator şi de tip derivator. Capitolul IV se referă la
modele puţin mai complicate, având forma analitică a unei ecuaţii diferenţiale de ordin I. În
Capitolul V sunt studiate cele mai complexe modele avute în vedere de acest studiu, în
formalismul intrare-stare-ieşire. Cu această ocazie sunt prezentate şi reguli ce permit
construcţia acestor modele pornind de la sisteme fizice cu structură cunoscută. Capitolul VI
discută tratarea operaţională a modelelor şi semnalelor din domeniul timp cu ajutorul
transformatei Laplace. Capitolul VII prezintă modalităţile prin care se pot efectua simulări ale
modelelor matematice folosind mediul software MATLAB, ocazie cu care vor fi discutate
funcţii utile în dezvoltarea de programe şi interfeţe grafice puse la dispoziţie utilizatorului. Pe
lângă aspectele teoretice, fiecare capitol cuprinde exemple de probleme rezolvate şi se încheie
prin propunerea unui set de probleme.

5
6
I. ELEMENTE INTRODUCTIVE PRIVIND UTILIZAREA
MEDIULUI SOFTWARE MATLAB

I.1. Consideraţii generale


Pachetul de programe MATLAB (MATrix LABoratory) oferă un mediu software
performant, având drept scop principal simplificarea modului de prelucrare numerică a
datelor. Modul interactiv de utilizare, simplitatea operării şi gama extrem de variată a
aplicaţiilor pentru care pachetul de programe oferă facilităţi specifice au condus la o
răspândire din ce în ce mai mare în prezent.
MATLAB-ul permite exprimarea soluţiilor unor aplicaţii având caracter ştiinţific sau
tehnico-ingineresc într-un limbaj suficient de simplu, apropiat de formularea analitică
(matematică) a problemei în cauză. În acest mod, utilizatorul se poate concentra în primul
rând asupra metodei de rezolvare, fără a întâmpina dificultăţi majore în traducerea soluţiei în
limbajul propriu MATLAB-ului.
Nucleul MATLAB încorporează un număr mare de funcţii predefinite, destinate
operaţiilor matematice de uz general (aritmetica în virgulă mobilă, calcul polinomial, funcţii
trigonometrice, exponenţiale, logaritmice, speciale etc.), manipulării tablourilor şi matricelor,
rezolvării unor probleme de analiză numerică, reprezentării grafice 2D şi 3D, dezvoltării de
programe în limbaj MATLAB şi interfaţării acestora cu sistemul de operare gazdă. La aceste
funcţii predefinite disponibile în nucleul de bază se adaugă un numar însemnat de pachete de
programe (toolbox-uri) acoperind domenii specifice (procesarea semnalelor, teoria
controlului, statistică, reţele neurale, calcul simbolic, procesarea imaginilor, optimizare etc.).
Seturile de funcţii şi de pachete de programe sunt îmbogăţite cu ocazia lansării de noi versiuni
ale programului MATLAB, având scopul de a pune la dispoziţie rutine relaţionate cu
necesităţile prezente de prelucrare a datelor. Pe lângă rutinele disponibie, utilizatorul poate
crea programe specifice, sub forma unor fişiere sursă scrise într-un limbaj de programare
simplu, propriu mediului MATLAB.
Prin parcurgerea acestei şedinţe de aplicaţii se urmăreşte deprinderea modului de
utilizare a mediului MATLAB, efectuarea de operaţii elementare precum lucrul cu vectori şi
matrice şi reprezentarea grafică a funcţiilor. Secvenţele de apel prezentate de-a lungul
expunerii au fost executate în versiunea MATLAB 7.11 (2010b) [The Mathworks, 2010], sub
sistemul de operare Windows 7. Având în vedere caracterul introductiv al expunerii, aceste
versiuni ale sistemului de operare şi ale software-ului studiat nu limitează înţelegerea
principiilor de bază ale utilizării MATLAB-ului.

7
I.2. Recomandări fundamentale
Lansarea în execuţie
Nucleul MATLAB se lansează în lucru prin intermediul pictogramei aferente aflată pe
desktop, sau folosind meniul Start al Windows-ului. Odată ajunşi sub controlul nucleului
MATLAB, prompterul implicit este ">>". Acest prompter şi inscripţia „Ready” din partea
stânga-jos a ferestrei MATLAB simbolizează faptul că MATLAB-ul este gata de a executa
comenzi. Nucleul acceptă introducerea unei comenzi MATLAB interne sau externe.
Comenzile de tip extern sunt de fapt funcţii scrise în limbaj MATLAB (forma sursă) care sunt
încărcate, interpretate şi executate de nucleu. Execuţia unei comenzi externe poate fi realizată
dacă fişierul sursă cu numele corespunzător şi extensie .m se află în directorul curent sau în
unul din directoarele specificate în calea de căutare a MATLAB-ului. Directorul curent de
lucru poate fi schimbat folosind meniul „Current Folder” din partea de sus a ferestrei
MATLAB.
Părăsirea nucleului se poate face închizând fereastra Windows corespunzătoare
(precum în cazul oricărui alt program ce rulează sub Windows), sau cu una dintre următoarele
comenzi:
>>quit
>><Ctrl><Q>
>>exit
În timpul unei sesiuni MATLAB, utilizatorul poate crea şi atribui valori unui număr de
variabile aflate în memoria internă aferentă nucleului. Pentru a salva aceste valori şi a relua
ulterior execuţia cu acelaşi context de lucru se pot utiliza comenzi de salvare/restaurare de
forma:
>>save <nume-fisier> - salvează variabilele în fişierul cu numele precizat
>>load <nume-fisier> - restaurează contextul de lucru folosind fişierul precizat
Extensia implicită pentru aceste fişiere este .mat, acestea fiind plasate în directorul de
lucru curent.
În timpul execuţiei unei rutine, starea curentă a nucleului MATLAB este indicată prin
schimbarea prompter-ului şi prin mesaje indicate în partea stânga-jos a ferestrei. Aceste
mesaje au următoarea semnificaţie:
„Busy” – o rutină MATLAB este în curs de execuţie
„Waiting for input” – utilizatorul trebuie să introducă anumite date pentru a continua
execuţia curentă
„Paused” – se aşteaptă apăsarea unei taste pentru a continua execuţia curentă
Din oricare din stările anterioare se poate forţa revenirea în starea „Ready” prin apăsarea
tastelor <Ctrl><C>, având drept efect întreruperea execuţiei curente.

Help
Funcţia "help" permite obţinerea unor informaţii având caracter general despre
comenzile interne şi externe MATLAB. Ea poate fi apelată în mai multe forme:
help – oferă informaţii despre elementele limbajului MATLAB şi despre fisierele .m din
directorul curent.
help <nume-funcţie> – oferă informaţii despre funcţia în cauză.
Pentru o descriere mai detaliată a unor rutine specifice, se recomandă utilizarea
meniului “Help -> Product Help” din fereastra MATLAB, urmată de căutarea numelui
funcţiei sau operaţiei dorite. Multe dintre funcţiile MATLAB includ exemple de utilizare la
sfârşitul explicaţiilor din meniul help.

8
Linia de comandă şi fişiere sursă
Comenzile MATLAB care nu au legătură unele cu altele, sau al căror efect se doreşte
a fi inspectat separat, pot fi rulate direct în linia de comandă, scriindu-le la prompter-ul ">>"
din sub-fereastra “Command Window” a MATLAB-ului.
Apăsarea tastei <ENTER> va determina afişarea rezultatului sau acţiunii liniei
introduse (principiul interpretorului). Dacă rezultatului liniei introduse nu i s-a desemnat un
nume prin atribuiri explicite de genul "variabila=expresie" (are doar forma
"expresie"), va fi afişat numele "ans" (answer) ce desemnează ultimul rezultat
nenominalizat (valoarea expresiei). Cu excepţia salvărilor explicite sub forma fişierelor cu
extensie .mat, spaţiul de lucru ce conţine toate variabilele de lucru dintr-o sesiune
MATLAB, este şters din memorie o dată cu părăsirea voită sau accidentală a mediului.
În cazul în care se doreşte rularea unei secvenţe de comenzi, acestea pot fi scrise într-
un program (script) MATLAB. Un program se crează folosind meniul “File -> New ->
Script” sau apăsând pictograma “New” din fereastra MATLAB. Programul se salvează ca un
fişier cu extensia .m, aflat implicit în directorul curent de lucru. Numele unul program nu
trebuie să înceapă cu caractere numerice, nu trebuie să conţină spaţii sau caractere speciale, şi
nu trebuie să coincidă cu numele unei fucţii predefinite MATLAB sau cu numele unei
variabile aflate in spaţiul de lucru. Pentru a executa un program, acesta trebuie să fie în calea
curentă (sau într-una din căile de căutare ale MATLAB-ului), execuţia făcându-se prin
scrierea numelui fişierului sursă la prompter-ul MATLAB (fără a scrie şi extensia .m).
Programul va executa secvenţial instrucţiunile incluse; în cazul afişării unor mesaje, acestea
vor fi incluse în “Command Window”. Dacă un program conţine erori, în “Command
Window” va fi indicată o scurtă explicaţie, precum şi localizarea erorii în codul sursă.

I.3. Introducerea şi manipularea vectorilor şi matricelor


În cadrul unei sesiuni MATLAB putem defini variabile de tip constantă numerică,
vector sau matrice, dându-le nume diferite. Restricţiile privind numele variabilelor sunt
aceleaşi ca şi în cazul denumirii fişierelor .m. Menţionăm că MATLAB-ul este "case-
sensitive" (diferenţiază majusculele de minuscule).
Masivele (vectori şi matrice) pot fi introduse în MATLAB în diferite moduri:
• prin înşiruirea explicită a elementelor;
• construite cu ajutorul funcţiilor şi instrucţiunilor specifice;
• create cu ajutorul fişierelor .m;
• încărcate din fişiere externe.
Spaţiul de memorare se alocă automat la orice nouă definire de variabilă. Dimensiunea
spaţiului de memorie disponibil este dependentă de calculatorul folosit.
Sintaxa pentru a defini o matrice prin înşiruirea elementelor foloseşte paranteze
pătrate pentru a cuprinde între ele toate elementele. Între parantezele pătrate, elementele care
formează o linie se separă prin spaţiu sau virgulă, iar trecerea la o nouă linie a masivului este
simbolizată prin punct şi virgulă “;”. Elementele sunt înşiruite începând cu prima linie, iar
întregului masiv i se atribuie un nume la stânga parantezelor pătrate. De exemplu, sintaxa:
>> A=[1 2 3;4 5 6;7 8 9]

9
1 2 3
are drept efect crearea matricei A =  4 5 6  , care este afişată în fereastra de comandă după
7 8 9 
 
executarea comenzii anterioare. Acelaşi rezultat îl are şi comanda
„A=[1,2,3;4,5,6;7,8,9]”.
Orice instrucţiune MATLAB urmată de punct şi virgulă “;” va determina inhibarea
afişării pe ecran a rezultatului respectivei instrucţiuni. Astfel, instrucţiunea
„A=[1,2,3;4,5,6;7,8,9]” crează matricea A în memoria de lucru, dar nu o afişează în
fereastra de comandă. Pentru vizulizarea ulterioară a matricei se poate scrie numele acesteia la
prompter, urmat de apăsarea tastei <Enter>.
Elementele unei matrice pot fi şi expresii, precum în sintaxa următoare, care are drept
 −1.3 3 
2+3 
efect crearea matricei B =  2*5  :
 5 
 3 3 π − 7 
>>B=[-1.3 sqrt(3); (2+3)/5 2*5; 3^(1/3) pi-7^(1/2)]
Menţionăm că în expresia anterioară, pe lângă operatorii aritmetici uzuali (adunare,
scădere, înmulţire, împărţire), a fost folosit operatorul “^”, care are semnificaţia de ridicare la
putere. Funcţia “sqrt” este utilă pentru calcularea rădăcinii pătrate, dar poate fi înlocuită şi
de ridicarea la puterea ½. De reţinut faptul că operatorul de ridicare la putere este mai prioritar
decât ceilalţi operatori aritmetici, prin urmare exponentul trebuie pus între paranteze rotunde,
precum în exemplul anterior. Precum reiese din sintaxa anterioară, numărul π este predefinit
în MATLAB, sub numele “pi”.
În mod similar pot fi creaţi vectori linie sau coloană, ca forme particulare de matrice.
Astfel, un vector linie cu elementele 1, 3 şi 5 poate fi construit folosind comanda:
>>v1=[1,3,5]
Pentru crearea vectorilor coloană se poate utiliza elementul de transpunere “’”
(apostrof). De exemplu, comenzile:
>>v2=[2;4;6] , respectiv
>>v2=[2,4,6]’
au acelaşi efect, anume crearea vectorului coloană v2 cu elementele 2, 4 şi 6.
În crearea matricelor se pot folosi masive pe lângă elementele scalare, folosind acelaşi
principiu: parantezele pătrate conţin elementele matricei, lipirea pe orizontală se face prin
spaţiu sau virgulă, iar lipirea pe verticală (trecerea la linie nouă) prin punct şi virgulă.
Presupunând că în spaţiul de lucru există masivele A, B, v1, v2 create anterior,
comanda:
>>M=[A; v1; [B, v2] ]
are drept efect crearea unei matrice prin lipirea sub A a vectorului v1, iar dedesubt a matricei
formate din lipirea lui v2 la dreapta lui B, adică:
 1 2 3
 4 5 6
 7 8 9
 A   
 1 3 5
M =  v1  = 
 B v2  −1.3 3 2
  2+3 
 2*5 4 
 5 
 3 3 π − 7 6 

10
Crearea matricelor sau vectorilor folosind funcţii sau instrucţiuni specifice presupune
ca masivul dorit să fie structurat conform unei anumite reguli. De exemplu, funcţiile zeros
şi ones pot fi folosite pentru crearea unor matrice cu toate elementele 0, respectiv 1, având
numărul liniilor şi coloanelor specificate drept argumente ale funcţiei. Astfel, o matrice C cu 2
linii şi 3 coloane având toate elementele nule poate fi creată folosind comanda:
>>C=zeros(2,3)
Menţionăm că – precum în cazul multor funcţii MATLAB – comenzile zeros şi ones
au număr variabil de argumente. Efectul argumentelor poate fi aflat prin inspectarea help-ului
aferent. De exemplu, sintaxa “ones(3)” crează o matrice pătratică cu 3 linii şi 3 coloane,
având toate elementele 1 – efectul este echivalent cu sintaxa “ones(3,3)”.
Exemple de alte funcţii predefinite în MATLAB care generează diverse matrice sunt
comenzile eye, rand, magic, al căror efect poate fi aflat prin consultarea help-ului
corespunzător. Menţionăm că funcţia eye este utilă pentru generarea unei matrice identitate.

Vectorii cu increment constant sunt suficient de des folosiţi, astfel încât MATLAB-ul
are o sintaxă predefinită pentru generarea acestora:
vector = valoare_ start : pas(increment) : valoare_stop
În cazul generării unui vector cu increment unitar, pasul nu trebuie explicit specificat,
iar comanda anterioară capătă forma:
vector_pas_1 = valoare_ start : valoare_stop
Ca exemple de utilizare a sintaxelor anterioare, comanda:
>>v3 = 1:10
generează vectorul cu elementele 1,2,3,..., 10, iar comanda:
>>v4 = 1:0.2:10
generează vectorul cu elementele 1, 1.2, 1.4, 1.6, ..., 10. Pasul trebuie să fie negativ în
cazul în care se doreşte obţinerea unui vector descrescător. De exemplu, vectorul cu
elementele 5, 4.5, 4, ... 0 poate fi obţinut prin rularea comenzii:
>>v5 = 5:-0.5:0
Toţi vectorii cu pas constant generaţi folosind sintaxa anterioară sunt vectori linie.
Bineînţeles, în cazul în care se doreşte obţinerea unui vector coloană trebuie folosit operatorul
de transpunere “’”. Atragem atenţia asupra faptului că operatorul de transpunere este mai
prioritar decât operatorul “:” folosit în generarea vectorilor. Prin urmare, pentru a obţine un
vector coloană cu elemente de la 1 la 10 şi pas 0.5 se pot folosi comenzile:
>>v6 = [1:0.5:10]’ sau
>>v6 = 1:0.5:10; v6 = v6’
Datorită priorităţii menţionate, comanda v6 = 1:0.5:10’ nu ar avea efectul
scontat, deoarece vectorul generat ar fi de tip linie.

Accesarea elementelor unui masiv


Elementele unui masiv sunt nominalizate prin înscrierea poziţiei elementului în
paranteze rotunde. Comanda:
>>A(1,2)
furnizează elementul de pe linia 1, coloana 2 din matricea A.
Atenţie: în MATLAB, indicele primului element al unui masiv (linie, coloană dintr-o
matrice sau element dintr-un vector) este 1, iar indicii elementelor ce trebuie accesate se
specifică între paranteze rotunde. În alte limbaje de programare este folosit indicele 0 pentru
a accesa primul element, şi paranteze pătrate în loc de cele rotunde.

11
Putem referi submasive mai mici în cadrul unor masive mai mari; de exemplu:
>>A(1:2,:)
extrage submatricea formată din liniile 1 şi 2 indiferent de indicele de coloană.
În locul vectorilor cu pas constant utilizaţi în accesarea liniilor sau coloanelor unui
masiv, pot fi folosiţi vectori creaţi prin înşiruire de elemente. De exemplu, dacă se doreşte
crearea matricei N care să fie formată din liniile 1, 3, 4 şi 5 ale matricei M de mai sus, se
foloseşte comanda:
>>N = M([1,3,4,5],:)
Termenul “end” are o semnificaţie specifică în accesarea elementelor unui masiv;
accesarea liniilor 2, 3, 4 până la ultima ale matricei M poate fi făcută prin oricare din
comenzile următoare:
>>M(2:end,:) sau
>>M(2:7,:)
Prima sintaxă este avantajoasă în situaţia în care nu ştim câte linii are matricea A.

I.4. Operatori aritmetici şi funcţionali


Operatorii aritmetici de bază pentru lucrul cu expresii şi masive sunt:
+ adunare;
- scadere;
* înmulțire;
/ împărţire dreapta;
\ împărţire stânga;
^ ridicare la putere;
Împărţirea / şi \ este analogă pentru expresii, dar provoacă ieşiri diferite în cadrul
calculului matriceal:
A\B este echivalent cu înmulţirea la stânga cu inversa lui A (sau soluţia ecuaţiei A*X=B);
A/B este echivalent cu înmulţirea la dreapta cu inversa lui A (sau soluţia ecuaţiei X*A=B).
În afara acestor operatori, au fost deja introduşi operatorii “:” pentru definirea
vectorilor cu increment constant şi “’” pentru transpunere.
Aceşti operatori simplifică operaţii precum efectuarea produsului unor masiveş de
exemplu, comanda
>>B*A
returnează produsul matriceal al masivelor A şi B create anterior. În cazul în care operaţia nu
este posibilă se returnează o eroare (de ex. operaţia A*B nu este corectă datorită numărului de
linii şi coloane ale masivelor implicate).

Pe lângă operatorii aritmetici de mai sus, MATLAB-ul permite şi efectuarea de


operaţii între elementele de pe aceeaşi poziţie a două masive. Aceşti operatori corespund aşa-
numitelor operaţii element cu element, şi au sintaxa formată prin precedarea operaţiei dorite
de un punct:
.* înmulțire element cu element;
./ împărţire element cu element;
.^ ridicare la putere element cu element
De exemplu, dacă se doreşte ridicarea la puterea 3 a fiecărui element al matricei A, se
poate folosi comanda:

12
>>A.^3
Bineînţeles, efectul comenzii anterioare este total diferit de cel al comenzii A^3, care
ar ridica matricea A la puterea 3 conform regulilor de înmulţire matriceală.
În cazul operatorilor .* şi ./ cei doi operanzi trebuie să aibă aceeaşi dimensiune,
astfel încât operaţia să poată fi executată asupra elementelor de pe aceeaşi poziţie. Astfel, un
vector v cu elementele 1*2 , 2*3, 4*5, ..., 9*10 poate fi creat folosind secvenţa de comenzi:
>>v_1 = 1:9;
>>v_2 = 2:10;
>>v = v_1 .* v_2
Operatori precum .+ , .- ar fi redundanţi, având în vedere că adunarea şi scăderea
masivelor sunt operaţii care se execută element cu element. Utilizarea lor este însă permisă în
MATLAB. De asemenea, pentru înmulţirea elementelor unui masiv cu un scalar, nu este
nevoie de folosirea operatorului .* (chiar dacă operaţia va fi efectuată corect). Comanda
>>2*v
va dubla fiecare element al vectorului v creat anterior.

I.5. Structuri pentru controlul execuţiei comenzilor


Structuri precum for, while, if, switch sunt permise în MATLAB, însă atragem
atenţia că sintaxele acestora diferă faţă de alte limbaje de programare. Acest subcapitol
prezintă sintaxele MATLAB ale structurilor de control a execuţiei, precum şi scurte exemple
în fiecare caz.

Bucla for
Forma generală a unei bucle for este:
for variabila=start : pas : final
instrucţiuni
end

-variabila reprezintă variabila de contorizare a buclei;


-start reprezintă valoarea atribuită iniţial variabilei de contorizare;
-pas reprezintă pasul de incrementare al variabilei de contorizare;
-final reprezintă valoarea finală atribuită variabilei de contorizare;
-instrucţiuni reprezintă o succesiune de una sau mai multe comenzi MATLAB;
-end marchează sfirşitul buclei for.
Dacă instrucţiunile sunt urmate de caracterul ";" , se inhibă afişarea rezultatelor
intermediare din bucla for (se recomandă folosirea acestui caracter).
Exemplu de folosire a buclei for :
n=10;
for i=1:n
x(i)=i^2;
end;
Ca observaţie, vectorul x creat anterior putea fi construit folosind o singură comandă
(x=[1:10].^2).
Pot exista şi situaţii în care este necesară folosirea mai multor bucle for imbricate; în
aceste cazuri buclele trebuie să fie strict incluse una în cealaltă şi să respecte forma generală
de scriere.

13
Bucla while
Aceasta permite ca o instrucţiune sau un grup de instrucţiuni să fie repetat de un
număr neprecizat de ori, în funcţie de o condiţie logică. Forma sa generală este:

while condiţie
instructiuni
end
Exemplu de folosire a buclei while :
Să se determine primul număr întreg n pentru care factorialul n! este un număr de 5 cifre:
n=1;
while factorial(n)<1.e4
n=n+1;
end
Bucla va fi executată atât timp cât condiţia (n!<104) este îndeplinită.

Instructiunea if
Instrucţiunea if este folosită pentru luarea unei decizii multiple. Forma sa generală
este:
if condiţie-1
instrucţiuni-1
elseif condiţie-2
instrucţiuni-2

else
instrucţiuni-rest
end
iar forma cea mai simplă:
if condiţie
instrucţiuni
end
Dacă condiţia-1 este îndeplinită, se vor executa instrucţiuni-1; dacă însă
ea nu este îndeplinită, se testează condiţia-2; dacă aceasta este satisfacută, se va executa
grupul 2 de instrucţiuni ş.a.m.d. Dacă niciuna din condiţii nu este îndeplinită, se execută
grupul instructiuni-rest.
În general, condiţia apare sub forma:
expresie operator-relational expresie
unde operatorul relaţional poate fi: <,<=,>,>=,==,~= (ultimul operator înseamnă
“diferit”).
Structura switch poate fi utilizată în locul unei structuri if cu mai multe sub-cazuri
elseif. Se recomandă inspectarea help-ului aferent pentru sintaxa generală a acestei
structuri şi pentru diverse exemple.

14
I.6. Funcţii grafice în MATLAB
Grafica in coordonate rectangulare
Dacă x şi y sunt doi vectori de aceeaşi dimensiune, comanda:
>>plot(x,y)
produce afişarea elementelor lui y în funcţie de elementele lui x.
Exemplu:
Se doreşte trasarea graficului funcţiei f (t ) = e −2t sin ( 3π t ) , pentru un interval
t ∈ [0,5] s, considerând un pas de 0.01 pentru eşantionarea vectorului de timp.
>>t=0:0.01:5;
>>f=exp(-2*t).*sin(3*pi*t);
>>plot(t,f)

Observaţie: Datele sunt autoscalate în fereastra grafică rezultată. Dacă se doreşte


scalarea axelor folosind alte limite, se poate utiliza comanda
axis([x_min,x_max,y_min,y_max]) (a se vedea help-ul corespunzător). Pentru a
adăuga un titlu sau pentru a eticheta axele se pot folosi comenzile title, xlabel,
ylabel. Pentru afişarea unui caroiaj pe grafic se foloseşte comanda grid.
>>title('grafic')
>>xlabel('abscisa (t)')
>>ylabel('ordonata (f)')

Pentru a suprapune mai multe grafice pe aceeaşi fereastră, se poate utiliza comanda:
plot(x1,y1,x2,y2,...,xn,yn)
unde:
(x1,y1),(x2,y2),... sunt perechi de vectori. În acest fel se obţine reprezentarea
grafică pentru fiecare pereche (x,y). Acest tip de grafic are avantajul că permite afişarea
simultană a vectorilor de lungimi diferite. Fiecare pereche de vectori va folosi un alt tip de
linie pentru afisare.
Se poate indica tipul de caracter cu care se face trasare. Valorile posibile sunt:
- solid
-- întrerupt(dashed)
: două puncte(dotted)
-. linie-punct(dashdot)
. punct(point)
+ plus
* stea(star)
o cerc(circle)
x x-uri (x-mark)
Se pot de asemenea utiliza opţiuni de culoare: 'w' (white), 'k' (black), 'r' (red), 'g'

15
(green), 'b' (blue), 'y' (yellow).
De exemplu, pentru a trasa graficul funcţiei anterioare punctat şi cu culoare roşie se
poate folosi comanda:
>>plot(t,f,':r')

Controlul ecranului
Următoarele comenzi sunt disponibile în MATLAB pentru diverse manipulări ale
ecranului grafic sau ale ferestrei de comandă:
shg - comută din fereastra de comandă pe ecranul grafic;
clf - şterge ecranul grafic;
clc - şterge ecranul de comandă (comandă analoagă: home);
subplot(mnp) - subdivizează ecranul grafic; parametrii (cifrele) m, n, p au
următoarea semnificaţie:
m reprezintă numărul de linii cu grafice;
n reprezintă numarul de coloane cu grafice;
p reprezintă poziţia graficului selectat.
Exemplu
>>subplot(211),plot(t,f,'r');
>>subplot(212),plot(t,3*f,'b');

Observaţie: Menţinerea unui grafic pe ecran în vederea suprapunerii unui alt grafic poate fi
obţinută cu ajutorul comenzii hold sau hold on, apelată după trasarea primului grafic. În
caz contrar, ultimul apel al funcţiei plot şterge graficele existente pe fereastra grafică
curentă. Dacă se doreşte crearea mai multor ferestre grafice, se poate utiliza comanda
figure, care este de asemenea folosită şi pentru comutarea între aceste ferestre (a se vedea
help-ul corespunzător).

16
I.7. Comenzi MATLAB uzuale
În aceast subcapitol sunt prezentate pe scurt câteva dintre cele mai uzuale comenzi din
mediul MATLAB. Pentru explicaţii mai amănunţite privitoare la orice comandă, se tastează
help nume_comandă pentru afişarea help-ului corespunzător (sau se poziţionează
cursorul pe comanda respectivă şi se apasă tasta <F1>).

Operaţii de bază
quit părăseşte mediul MATLAB
exit analog comenzii quit
who afişează variabilele existente în acel moment
whos analog comenzii who, dar mai detaliat
clear şterge variabilele din memorie
what afişează fişierele de tip .m aflate intr-un director
format schimbă formatul de afişare a rezultatelor
demo lansează programe demonstrative din MATLAB

Valori disponibile în MATLAB


pi π
inf ∞
i,j −1
ans răspunsul curent
tic, toc, cputime comenzi utile pentru măsurarea timpului de execuţie

Operaţii aritmetice şi cu matrice


+ adunarea a două numere (scalari), vectori sau matrice
- scăderea a două numere (scalari), vectori sau matrice
* înmulţirea a două numere, vectori sau matrice compatibile
.* înmulţirea element cu element a matricelor sau vectorilor de aceeaşi dimensiune
/ împărţirea numerelor, împărţirea la dreapta a matricelor compatibile
./ împărţirea element cu element a matricelor sau vectorilor de aceeaşi dimensiune
\ împărţirea la stânga a matricelor compatibile
^ ridicarea la putere a unui număr sau matrice pătratică
.^ ridicarea la putere element cu element a vectorilor sau matricelor
′ transpunerea unui vector sau a unei matrice

Funcţii matematice uzuale


sin, cos, tan funcţii trigonometrice uzuale
acos, asin,
atan, atan2
inversele acestor funcţii

17
exp, log exponenţială şi logaritm natural
sqrt rădăcină pătrată
rand generare de numere aleatoare cuprinse între 0 şi 1
round rotunjire la cel mai apropiat număr întreg
fix rotunjire la cel mai apropiat număr întreg, neglijând partea fracţionară
abs valoarea absolută a unui număr real sau complex
angle argumentul unui număr complex
real, imag partea reală şi, respectiv, partea imaginară a unui număr complex
conj conjugatul unui număr complex

Funcţii referitoare la matrice şi vectori


size dimensiunea unui vector sau a unei matrice
det determinantul unei matrice pătratice
rank rangul unei matrice
inv inversa unei matrice pătratice (se poate folosi şi ridicare la puterea -1)
svd valorile şi vectorii singulari ai unei matrice
length lungimea unui vector
norm norma unui vector
min, max minimul, respectiv maximul dintre elementele unui vector
sum, prod suma, respectiv produsul elementelor unui vector

Operaţii grafice
plot reprezintare grafică într-un sistem de coordonate x-y cu scară liniară
hold on/off supra-afişare, păstrând reprezentarea grafică anterioară
clg ştergerea ferestrelor grafice
mesh reprezentarea unei suprafaţe tridimensionale (3D)
meshgrid generarea domeniului pentru o suprafaţă tridimensională
contour reprezentarea liniilor de nivel corespunzătoare unei suprafeţe
bar reprezentare grafică cu bare
title scrierea titlului
xlabel, ylabel scrierea notaţiilor pe axe
axis scara axelor
text introducerea unui text în grafic
grid suprapunerea unui caroiaj pe fereastra grafică

Calcule statistice
mean media elementelor unui vector
std abaterea standard
cumsum sumă cumulativă
cov corelaţia dintre valorile elementelor unui vector
rand generare de numere aleatoare distribuite uniform în intervalul (0,1)
randn generare de numere aleatoare cu distribuţie normală

18
Operaţii de încărcare/salvare şi citire/afişare
save salvează datele într-un fişier
load încarcă datele dintr-un fişier
diary nume_fişier salvează textul unei sesiuni MATLAB
chdir schimbă directorul
dir afişează conţinutul directorului
input citirea unei valori furnizate de utilizator
fprintf afişare formatată în fereastra de comandă

19
I.8. Probleme propuse

Problema 1.
Familiarizaţi-vă cu introducerea vectorilor şi matricelor, decuparea submatricelor,
lipirea acestora pe orizontală sau verticală etc. Pentru aceasta, rulaţi în MATLAB comenzile
din subcapitolele I.3 şi I.4.

Problema 2.
Scrieţi un program Matlab care cere utilizatorului să introducă un număr întreg (n), iar
apoi calculează factorialul său (n!) folosind cel puţin trei modalităţi (secvenţe de comenzi)
diferite. Pentru fiecare modalitate vor fi afişate pe ecran: o scurtă descriere (maxim jumătate
de rând), valoarea n! obţinută, şi timpul necesar calculului. Efectuaţi testele de rigoare asupra
numărului (n) introdus de utilizator.
Indicaţie: se poate folosi funcţia deja existentă în MATLAB, produsul elementelor
unui vector, o buclă iterativă for sau while.

Problema 3.
Un cărucior având masa de 50 kg se mişcă pe o şină orizontală (cu frecare neglijabilă),
sub acţiunea unei forţe de propulsie (acţionând în lungul şinei) care variază conform legii
următoare (F în N, t în secunde):

 t
 5 + ; 0 ≤ t < 20 10

4
 8

 10 ; 20 ≤ t < 25
 2 2

F = − 5 t + 20t − 240 ; 25 ≤ t < 30
Forta [N]


 8sin  π (t − 30)  ; 30 ≤ t < 40
  20 
 t − 40 0
 8e − 1.5 ; 40 ≤ t ≤ 50
 0 20 25
Timp [s]
30 40 50

(a) Construiți semnalul F(t) în Matlab, sub forma a doi vectori. Reprezentați-l grafic și
comparați graficul obținut cu cel de mai sus;
(b) Într-o fereastră grafică reprezentați în partea de sus semnalul F(t) și în partea de jos
accelerația căruciorului;
(c) Bonus: presupunând căruciorul iniţial în repaos, calculaţi şi reprezentaţi grafic
evoluţia în timp a vitezei sale.

20
II. REPREZENTAREA SEMNALELOR CONTINUE ŞI
DETERMINISTE ÎN DOMENIUL COMPLEX

II.1. Consideraţii generale

Prin semnal înţelegem o mărime sau variabilă ce este utilizată în descrierea


comportării unui obiect sau fenomen. În domeniul timp, un semnal determinist este descris
matematic printr-o funcţie x(t ) :  →  , unde variabila independentă t are semnificaţia de
timp continuu. Acest mod de descriere presupune că valoarea semnalului poate fi cunoscută la
orice moment de timp, fapt care duce la denumirea de semnal continuu.
Pe lângă descrierea în domeniul timp, semnalele continue şi deterministe mai pot fi
descrise în domeniul complex şi în domeniul frecvenţă (spectral). Din punct de vedere
informaţional, cele trei moduri de descriere sunt echivalente, însă fiecare dintre ele prezintă
anumite avantaje în anumite cazuri. În general, descrierile în domeniul timp şi frecvenţă sunt
acompaniate de un suport intuitiv, iar descrierile în domeniul complex servesc efectuării de
calcule.
Scopul acestui capitol este de a prezenta descrierea semnalelor în domeniul complex şi
stabilirea conexiunilor între această descriere şi cea din domeniul timp. Descrierea în
domeniul complex se reazilează cu ajutorul transformatei Laplace şi aceasta va fi utilă în
parcurgerea capitolelor ulterioare pentru a simplifica diverse calcule matematice sau pentru a
reprezenta sub o formă tipică modelele matematice ale sistemelor fizice.

II.2. Transformata Laplace

Vom limita discuţia noastră la cazul semnalelor cauzale, aceste semnale fiind întâlnite
şi manipulate în studiul disciplinei de teoria sistemelor. Un semnal x(t ) se numeşte cauzal
dacă pentru timpul continuu se poate stabili un reper 0 cu semnificaţia de origine, la stânga
căruia semnalul x(t ) este nul. Cu alte cuvinte, semnalul începe să existe (să aibă semnificaţie
pentru un sistem studiat) de la momentul de timp 0; matematic x(t ) = 0 , t<0. În cazul
semnalelor cauzale, se foloseşte transformata Laplace unilaterală, la care vom limita discuţia
prezentă fără a mai menţiona explicit cauzalitatea semnalelor.

Transformata Laplace directă asociază fiecărui semnal x(t ) :  →  din clasa

21
originalelor (O), o funcţie de variabilă complexă X ( s ) = L{x(t )} din clasa funcţiilor imagine
L
(I), conform aplicaţiei x(t ) ∈ O → X ( s ) ∈ I . Transformata Laplace inversă acţionează de
la clasa imaginilor la cea a originalelor, furnizând x(t ) = L−1{ X ( s )} , conform aplicaţiei
L−1
 x(t ) ∈ O . Menţionăm că nu toate semnalele x(t ) aparţin clasei originalelor,
X ( s ) ∈ I →
adică nu toate semnalele sunt transformabile Laplace, la fel cum nu toate funcţiile de variabilă
complexă X ( s ) aparţin clasei imaginilor. Pentru detalii matematice asupra condiţiilor de
apartenenţă la clasa originalelor, respectiv la clasa imaginilor, cititorul interesat poate
consulta [Şabac, 1981; Kecs, 1981; Nistor şi Tofan, 1997]. Restul discuţiei de faţă va
presupune că semnalele manipulate aparţin clasei originalelor (cand sunt descrise ca funcţii de
timp), respectiv clasei imaginilor (când sunt descrise ca funţii de variabilă complexă).

Penstu semnalul cauzal x(t ) , transformata Laplace unilaterală directă furnizează


imaginea X ( s ) conform operaţiei:

X ( s ) = L{x(t )} = ∫ x(t )e − st dt , (II.1)
0

Pentru o funcţie de variabilă complexă X ( s ) (care aparţine clasei imaginilor),


transformata Laplace inversă furnizează semnalul corespunzător x(t ) conform operaţiei:

0 , t < 0,

x(t ) =  1 c+ j∞ X ( s ) e st ds ,t≥0 , (II.2)
 2π j ∫ c− j∞

Menţionăm că în cadrul acestei discipline nu dorim să translăm semnale din domeniul


timp în domeniul complex şi vice-versa prin calculul integralelor (II.1) sau (II.2). În schimb,
pentru a realiza aceste translări vom folosi proprietăţi ale transformatei Laplace (subcapitolul
II.4) şi transformate Laplace deja calculate pentru anumite funcţii des întâlnite (subcapitolul
II.5), urmând ca subcapitolul II.6 să exemplifice aceste operaţii. Până atunci, subcapitolul II.3
prezintă câteva rezultate care ne permit să investigăm proprietăţi ale unui semnal x(t ) atunci
când cunoaştem doar imaginea sa X ( s ) , fără a fi nevoie să-l aflăm pe x(t ) prin calcularea
inversei Laplace.

22
II.3. Conexiuni între un semnal descris în domeniul timp
şi polii imaginii sale Laplace

Considerăm o imagine Laplace X ( s ) sub forma unui raport de polinoame. Se numesc


zerouri ale lui X ( s ) rădăcinile numărătorului său, iar poli ai lui X ( s ) rădăcinile polinomului
de la numitor.
Proprietăţile transformatei Laplace stabilesc legături biunivoce între proprietăţile
semnalului descris în domeniul timp şi localizarea polilor imaginii în planul complex. În
cadrul teoriei sistemelor, proprietăţi de interes ale semnalelor sunt mărginirea şi evoluţia
asimptotică spre o valoare finită. În cele ce urmează, înşiruim conexiunile dintre proprietăţile
unui semnal x(t ) şi polii imaginii sale X ( s ) fără a explicita fundamentele matematice care
stau la baza stabilirii acestora:

• x(t ) este mărginit dacă şi numai dacă imaginea X ( s ) are toţi polii în
Re{s} ≤ 0 , iar polii de pe axa imaginară ( Re{s} = 0 ) sunt simpli.
• x(t ) evoluează asimptotic spre o valoare finită dacă şi numai dacă imaginea
X (s ) are toţi polii în Re{s} < 0 şi cel mult un pol simplu în s = 0 . În această
situaţie, valoarea finită corespunzătoare asimptotei poate fi calculată cu
ajutorul teoremei valorii finale (subcapitolul II.4).
• Dacă imaginea X (s ) are cel puţin o pereche de poli complex conjugaţi, atunci
x(t ) prezintă oscilaţii, pulsaţia acestor oscilaţii fiind impusă de valoarea părţii
imaginare a polilor. Bineînţeles, oscilaţiile sunt amortizate în cazul în care x(t )
tinde asimptotic spre o valoare constantă.

Figura II.1 ilustrează grafic câteva cazuri particulare ale conexiunile menţionate mai
sus, prezentând localizări posibile ale polilor lui X (s ) în planul complex (polii sunt
reprezentaţi cu “X”) şi pentru fiecare dintre acestea evoluţia în timp a semnalului x(t ) . Pentru
facilitarea înţelegerii, semnalele considerate în Figura II.1 sunt suficient de simple.
Ims

PLANUL S
h
e f

c Res

b a d

Figura II.1. Exemple de corespondenţă dintre modul de plasare ai polului (polilor) imaginii
Laplace X (s ) şi evoluţia în domeniul timp a semnalului x(t ) :

23
k
• Cazurile (a) şi (b): X ( s ) = , k > 0 , α > 0 . Polul −α este real şi negativ,
s +α
semnalul x(t ) evoluează asimptotic spre o valoare finită (în cazul de faţă 0),
iar valoarea polului impune viteza de evoluţie;
k
• Cazul (c): X= (s) , k > 0 : pol real în 0, semnalul în domeniul timp este
s
mărginit (în acest caz are valoare constantă k);
k
• Cazul (d): X ( s ) = , k > 0 , α < 0 : polul −α este real pozitiv, prin urmare
s +α
x(t ) nu este mărginit. Viteza de creştere a lui x(t ) este impusă de valoarea
polului;
k
• Cazul (e): X ( s ) = , k > 0 , α > 0 , β > 0 : doi poli complex
(s + α )2 + β 2
conjugaţi cu parte reală negativă (polii sunt −α ± j β ). Semnalul x(t ) tinde
asimptotic spre o valoare finită (în cazul de faţă 0), prezentând oscilaţii
amortizate. Pulsaţia oscilaţiilor depinde de valoarea lui β , iar viteza de
descreştere a înfăşurătoarei depinde de partea reală −α ;
k
• Cazul (f): X ( s ) = , k > 0 , α < 0 , β > 0 : doi poli complex
(s + α )2 + β 2
conjugaţi ( −α ± j β ) cu parte reală pozitivă. Semnalul x(t ) nu este mărginit,
viteza de creştere a înfăşurătoarei sale depinde de valoarea părţii reale pozitive
( −α ), iar pulsaţia oscilaţiilor depinde de valoarea lui β ;
k
• Cazurile (g) şi (h): X ( s ) = 2 , k > 0 , β > 0 : polii sunt ± j β - doi poli
s +β2
complex conjugaţi pur imaginari (cu partea reală nulă). Conform regulilor
anterioare, semnalul x(t ) este mărginit, însă nu tinde asimptotic spre o valoare
constantă. Pulsaţia oscilaţiilor întreţinute în domeniul timp este legată de
valoarea lui β .

Cititorul poate verifica conexiunile ilustrate în Figura II.1 făcând apel la transformarea
inversă Laplace (cu ajutorul proprietăţilor şi transformărilor deja calculate – subcapitolele
II.4, II.5) şi urmărind forma semnalului x(t ) . Bineînţeles, în cazul în care într-o anume
situaţie expresia x(t ) nu este necesară, un astfel de calcul al transformatei inverse Laplace
este redundant, deoarece regulile din acest subcapitol pot fi utilizate pentru a identifica rapid
propirtăţile de interes ale lui x(t ) , având la dispoziţie doar imaginea X (s ) .
Menţionăm că orice imagine Laplace poate fi descompusă ca sumă de fracţii simple
(de ordinul I sau II) de tipul celor considerate în discuţia aferentă figurii II.1 (polii imaginii
Laplace devenind poli ai fracţiilor simple din descompunere). Astfel, proprietăţi ale
semnalului x(t ) pot fi deduse în urma cunoaşterii valorilor polilor imaginii. În urma
parcurgerii subcapitolului prezent, este de dorit ca imaginea Laplace a unui semnal să nu fie
privită doar un instrument abstract folosit pentru simplificarea calculelor, ci să poarte un
oarecare suport intuitiv asupra proprietăţilor semnalului aferent.

24
II.4. Proprietăţi ale transformatei Laplace unilaterale

Proprietăţile enunţate în acest subcapitol sunt date de o serie de teoreme ale


transformatei Laplace. Pentru a insista asupra aplicabilităţii acestora, enunţul proprietăţilor nu
va insista pe condiţii ce garantează rezultatele. Pentru enunţul complet şi pentru toate
ipotezele necesare, se recomandă consultarea unui manual de matematică, de exemplu [Şabac,
1981].

În cele ce urmează, notăm cu f (t ) şi g (t ) două semnale cauzale descrise în domeniul


timp (aparţinând clasei funcţiilor original), iar cu F ( s ) şi G ( s ) imaginile Laplace ale acestor
semnale (aparţinând clasei funcţiilor imagine). a şi b notează constante reale. Pentru a avea
o expunere concisă a proprietăţilor, acestea sunt cuprinse în Tabelul II.1. Pentru unele
proprietăţi sunt incluse aici şi observaţii adiţionale, cu scopul de a ajuta cursantul în aplicarea
corectă a acestora.

Observaţii asupra proprietăţilor transformatei Laplace din Tabelul II.1:

Liniaritate: proprietatea oferă posibilitatea calculului imaginii Laplace a unei sume


sau diferenţe de semnale (eventual scalate prin valorile constante a şi b ) prin suma sau
diferenţa imaginilor Laplace a semnalelor individuale (eventual scalate prin valorile constante
a şi b ). Atenţie: proprietatea nu oferă nicio modalitate de calcul a imaginii Laplace a unui
produs de semnale variabile în timp! Într-o astfel de situaţie, pot fi folosite – după situaţia
specifică – proprietăţi precum derivarea imaginii, integrarea imaginii, sau translarea în
frecvenţă.

Derivarea imaginii: notaţia F ( n ) ( s ) înseamnă derivarea lui F ( s ) de n ori în raport cu


variabila s.

Scalarea: în imaginea F ( s ) (ce corespunde lui f (t ) ), argumentul s se înlocuieşte cu


s 1
, iar rezultatul se înmulţeşte cu .
a |a|

Translarea în frecvenţă: în imaginea F ( s ) (ce corespunde lui f (t ) ), argumentul s se


înlocuieşte cu ( s + a ) (unde a provine din exponenţiala care îl înmulţeşte pe f (t ) ).

Convoluţie → produs: operaţia de convoluţie a două semnale este definită prin:


t

( f ∗ g ) (t=) ∫ f (τ ) ⋅ g (t − τ ) dτ .
0

Teorema valorii finale: furnizează o modalitate de calcul a valorii constante către


care tinde asimptotic un semnal f (t ) . Atenţie: teorema se aplică doar dacă imaginea F ( s ) are
toţi polii în semiplanul stâng ( Re{s} < 0 ) şi cel mult un pol în s = 0 ; această condiţie
garantează că semnalul f (t ) tinde asimptotic spre o valoare finită (vezi subcapitolul II.3). În
caz contrar, bineînţeles că rezultatul limitei nu are nicio semnificaţie, deoarece semnalul f (t )
nu evoluează asimptotic spre o valoare constantă.

25
Tabelul II.1. Proprietăţi ale transformatei Laplace unilaterale

Domeniul timp Domeniul complex Proprietatea

af (t ) + bg (t ) aF ( s ) + bG ( s ) Linearitate

t n f (t ) (−1) n F ( n ) ( s ) Derivarea imaginii

f ( n ) (t ) s n F ( s ) − s n −1 f (0+) − ... − f ( n −1) (0+) Derivarea originalului

f (t ) ∞

t ∫s
F (σ )dσ Integrarea imaginii

t t 1
∫ ......∫
0 n 0
f (t )dt n
sn
F (s) Integrarea originalului

1 s
f (at ) F  Scalarea
a a

f (t − a ) e − as F ( s ) Translarea în timp

e − at f (t ) F ( s + a) Translarea în frecvenţă

( f ∗ g )(t ) F (s) ⋅ G (s) Convoluţie → produs

f (0 + ) lim sF ( s ) Teorema valorii iniţiale


s →∞

Teorema valorii finale


(când toţi polii lui
f (+∞) lim sF ( s )
s→0 sF (s ) satisfac
Re{s} < 0 )

26
II.5. Scurt dicţionar de transformate Laplace ale unor semnale cauzale
Tabelul II.2 cuprinde o serie de semnale în domeniul timp ale căror transformate
Laplace sunt deja calculate. Toate semnalele în domeniul timp sunt presupuse a fi cauzale,
chiar dacă acest lucru nu este explicit specificat în fiecare linie a tabelului.

Tabelul II.2. Scurt dicţionar cu transformate Laplace unilaterale


Semnal cauzal
Imagine Laplace
în domeniul timp

0, t < 0 1
σ (t)=  (treaptă Heaviside)
1, t ≥ 0 s

1 −τ s
e
σ (t − τ ) ; τ ≥ 0 s
(conform proprietăţii de translare în timp)

δ (t)
(impuls Dirac, cu ∫0∞ δ (t )dt = 1 ) 1

δ (t – τ); τ ≥ 0 e −τ s

1
t
s2

k!
t k, k = 0,1,2,…
s k +1

1
e − at
s+a

ω
sin(ωt )
s + ω2
2

s
cos(ωt )
s + ω2
2

ω
(s + a) + ω2
2
e − at
sin(ωt )
(conform proprietăţii de translare în frecvenţă)

s+a
(s + a) + ω2
2
e − at
cos(ωt )
(conform proprietăţii de translare în frecvenţă)

27
Pentru construcţia imaginii F ( s ) a unui semnal cauzal f (t ) cunoscut, se urmăreşte
întâi dacă semnalul f (t ) apare în tabelul II.2. Dacă da, se aplică formula respectivă şi se
obţine F ( s ) . Dacă nu, se încearcă aplicarea unor proprietăţi din tabelul II.1, convenabil alese
în funcţie de expresia semnalului f (t ) .

Calculul transformatei Laplace inverse:

În ultima parte a acestui subcapitol, tratăm pe scurt problema construcţiei unui semnal
cauzal f (t ) pornind de la imaginea sa F ( s ) (transformata Laplace inversă). Presupunem că
Q( s)
F ( s ) este cunoscut sub o formă de raport de polinoame (funcţie raţională), F ( s ) = ,
P( s)
unde grad(P) = n, grad(Q) = m, n > m.

Din punct de vedere al calculului matematic, există teorema dezvoltării, care livrează
următorul rezultat:
Presupunând că F ( s ) are r poli distincţi, notaţi cu pi, fiecare de multiplicitate qi, i = 1, , r , cu

r
q = n, atunci:
i =1 i

r q Ki j
f (t ) = ∑ i =1 ∑ j i=1 t qi − j e pi t , t ≥ 0, (II.3)
(qi − j )!
unde:
1  d j −1 
K i j =  j −1 [( s − pi ) q i F ( s )] , i =1, , r , 1, , qi .
j= (II.4)
( j − 1)!  ds s = p i

În practică, aplicarea directă a formulelor de calcul (II.3) şi (II.4) poate fi greoaie, în


special în cazul polilor complex conjugaţi (datorită calculului cu numere complexe, rezultatul
trebuind în final să fie adus la forma unei funcţii reale f (t ) ) şi în cazul polilor de
multiplicitate mai mare decât 1 (datorită derivărilor din formula (II.4)).
De aceea, recomandăm descompunerea în fracţii simple, descrisă în cele ce
urmează. Fracţiile se aleg în funcţie de rădăcinile numitorului P( s ) (polii lui F ( s ) ), după
cum urmează:
• pentru un pol real (notat p) de multiplicitate 1 , fracţia simplă corespunzătoare este:
A
,
s− p
unde constanta A se poate calcula folosind formula:
=A lim ( ( s − p ) ⋅ F ( s ) )
s→ p

• pentru un pol real (notat p) de multiplicitate q > 1, q ∈  , fracţiile simple


corespunzătoare sunt:
A1 A2 Aq
, , ... , .
s− p ( s − p)2 ( s − p)q

28
Constantele Ai, i=1,…,q se pot calcula folosind formula
1 d [ F ( s) ⋅ ( s − p) ]
q −i q
Ai = ⋅ ,i = 1, q , însă, pentru a evita derivările necesare,
(q − i )! ds q−i s= p

se poate adopta şi următoarea metodă: constanta Aq se calculează folosind expresia


Aq lim ( ( s − p ) ⋅ F ( s ) ) , iar constantele Ai, i=1,…,q-1 se vor calcula prin metoda
=
s→ p

identificării coeficienţilor (aducere la numitor comun a fracţiilor simple etc.).


• fiecare pereche de poli complex conjugaţi de multiplicitate 1, de forma ( −α ± j β )
se grupează sub o fracţie simplă de forma:
Bs + C
, a, b ∈  ,
(s + α )2 + β 2
unde B şi C se vor obţine prin metoda identificării coeficienţilor.

II.6. Exemple de transformări din domeniul timp


în domeniul complex şi invers

Exemplul 1 (transformata Laplace directă):

Să se calculeze imaginea Laplace a semnalului cauzal x(t )= 2 + sin(t ) , t ≥ 0 .

Datorită proprietăţii de linearitate, avem:


X ( s ) =L { x(t )} =L {2 ⋅ σ (t )} + L {sin(t )}
Deoarece semnalul x(t ) este cauzal, primul termen nu este privit ca o simplă
constantă, ci ca o funcţie treaptă de amplitudine 2, care basculează din valoarea 0 în valoarea
2 la momentul iniţial de timp (dublul treptei Heaviside).
Conform liniarităţii şi a transformatelor din tabelul II.2 avem
2 1
L {2 ⋅ σ (t )} =
2 ⋅ L {σ (t )} =şi L {sin(t )} = 2 (pulsaţia sinusului este 1).
s s +1
Recomandăm aducerea rezultatului final sub forma unei fracţii. Obţinem:
2 1 2s 2 + s + 2
X (s) = + 2 = 2
s s + 1 s ( s + 1)

Exemplul 2
(corespondenţa între poli şi proprietăţile semnalului; transformata Laplace inversă):

1
Semnalul cauzal x(t ) are imaginea Laplace X ( s ) = .
( s + 2)( s 2 + 1)
a) Ce se poate spune despre proprietăţile semnalului x(t ) folosind doar imaginea sa
Laplace?

29
b) Calculaţi expresia lui x(t ) .

Rezolvare:
a) Polii lui X ( s ) sunt -2 şi ± j . Conform rezultatelor amintite în subcapitolul II.3,
x(t ) este mărginit (un pol este real negativ şi doi poli simpli pe axa imaginară), nu
tinde asimptotic spre o valoare constantă, şi prezintă oscilaţii (datorită polilor
complecşi).

b) Conform celor menţionate în ultima parte a subcapitoului II.5, X ( s ) se


descompune ca sumă a următoarelor fracţii simple:
1 A Bs + C
(s)
X= 2
= + 2
( s + 2)( s + 1) s + 2 s + 1
Constanta A se calculează conform formulei:
1 1
=A lim ( ( s + 2) ⋅ X (= s ) ) lim 2 =
s →−2 s →−2 s + 1 5

Deocamdată nu înlocuim valoarea numerică a lui A în expresia descompunerii în


fracţii simple, ci efectuăm calcule literale cu A, B, C până la obţinerea unui sistem, conform
metodei identificării coeficienţilor. Prin aducere la numitor comun şi separarea coeficienţilor
la numărător în funcţie de puterile lui s obţinem:
1 A ( s 2 + 1) + ( s + 2 )( Bs + C ) s 2 ( A + B ) + s (2 B + C ) + ( A + 2C )
= X (s) = =
( s + 2)( s 2 + 1) ( s + 2 ) ( s 2 + 1) ( s + 2 ) ( s 2 + 1)

Rezultă următorul sistem de ecuaţii liniare în necunoscutele A, B, C:


 A+ B = 0

2 B + C = 0
 A + 2C = 1

1 1 2
Folosind acum valoarea deja calculată A = obţinem B = − şi C = . Prin urmare:
5 5 5
0.2 −0.2 s + 0.4
(s)
X= +
s+2 s2 + 1

În fracţiile expresiei lui X ( s ) încercăm să identificăm expresii ale imaginilor Laplace


deja calculate pentru unele funcţii original (expresii existente în a doua coloană a tabelului
II.2). Pentru aceasta, observăm că a doua fracţie se poate împărţi şi astfel obţinem:
1 s 1
X ( s ) = 0.2 − 0.2 2 + 0.4 2
s+2 s +1 s +1
de unde:
x(t ) = 0.2e −2t − 0.2cos(t ) + 0.4sin(t ) , t ≥ 0

Este simplu de observat că semnalul x(t ) are într-adevăr proprietăţile deduse la


subpunctul (a) folosind doar imaginea sa Laplace.

30
II.7. Calculul transformatei Laplace folosind MATLAB

În capitolul I au fost create şi manipulate în MATLAB variabile cu valori numerice


precizate (cunoscute). Trebuie acum să învăţăm utilizarea unui nou tip de variabile în
MATLAB, denumite variabile simbolice. Variabilele simbolice sunt utile atunci când dorim
să prelucrăm expresii matematice în care variabilele nnu au valori cunoscute, ci sunt date sub
forma lor literală (simboluri). Manipularea variabilelor simbolice în MATLAB presupun că la
instalarea acestuia a fost inclus şi toolbox-ul “Symbolic Math Toolbox”.

Variabilele simbolice pot fi declarate cu ajutorul funcţiei sym sau al comenzii syms.
Recomandăm ultima variantă, în acest fel putând fi declarate mai multe variabile simbolice.
În cazul discuţiei capitolului curent, pentru a descrie semnale în domeniul timp sau în
domeniul complex avem nevoie de două variabile:
t – variabilă reală pozitivă (cazul semnalelor cauzale)
s – variabilă complexă

Bineînţeles, aceste variabile nu au valori cunoscute, mai mult ele putând lua valori
într-o plajă infinită. Definirea acestora ca variabile simbolice se face cu următoarele comenzi
MATLAB:
>> syms t positive
>> syms s

Acum se pot crea expresii simbolice care conţin aceste variabile. De exemplu, pentru a
descrie în MATLAB semnalul cauzal x(t )= 2 + sin(t ) introducem comanda:
>> x = 2+sin(t);
Atenţie: nu utilizaţi numele x(t) pentru semnalul respectiv, pentru că MATLAB-ul
(cel puţin în versiunea curentă) va returna o eroare (aceasta deoarece va căuta şi încerca să
apeleze o funcţie x cu argumentul t).

Putem efectua diverse prelucrări cu semnalul x astfel creat. Câteva funcţii de calcul
simbolic vor fi menţionate la sfârţitul subcapitolului curent. De exemplu, pentru a obţine o
reprezentare grafică a lui x se poate folosi funcţia ezplot, specificând dacă se doreşte şi
intervalul de variaţie al variabilei t:
>> ezplot(x,[0,10])

31
Figura II.2. Efectul apelării funcţiei ezplot pentru un semnal definit
şi un interval specificat pentru variaţia variabilei t

Pentru a obţine transformata Laplace a unui semnal definit ca simbolic în MATLAB,


se foloseşte funcţia laplace; în cele ce urmează notăm cu X imaginea Laplace
>> X = laplace(x)
se obţine:
X =
1/(s^2 + 1) + 2/s

Dacă se doreşte aducerea rezultatului la numitor comun se poate folosi funcţia


collect, de exemplu:
>> X = collect(X)
returnează forma lui X ( s ) calculată analitic în Exemplul 1 din subcapitolul II.6. Pentru a
pune un rezultat simbolic sub o formă mai lizibilă se poate folosi funcţia pretty.

Calculul transformatei Laplace inverse se realizează cu funcţia ilaplace. Pentru


Exemplul 2 din subcapitolul II.6 se poate folosi secvenţa de instrucţiuni:
>> X = 1/((s+2)*(s^2+1));
>> x = ilaplace(X)

Următoarea listă conţine diverse funcţii MATLAB ce pot fi utile în efectuarea de


calcule simbolice. Pentru o listă completă, vedeţi help-ul toolbox-ului de matematică
simbolică (Help -> search „Symbolic Math Toolbox”).

syms (sau sym) – definirea unor variabile simbolice


solve – rezolvare de ecuaţii algebrice
laplace, ilaplace – transformata Laplace (directă, respectiv inversă)

32
simplify, simple – efectuarea unor simplificări
collect – aducerea la numitor comun
factor – descompunere în factori primi
numden – aflarea numărătorului şi a numitorului unei fracţii simbolice
coeffs, sym2poly – aflarea coeficienţilor unor variabile
pretty – punerea expresiilor simbolice într-o formă mai lizibilă
subs – înlocuirea variabilelor simbolice cu valori numerice

II.8. Probleme propuse

Problema 1:

Să se determine prin calcul analitic imaginile Laplace (unilaterale) ale următoarelor


semnale din domeniul timp:

a) x(t ) =
1 − cos(t ); t ≥ 0

b) x(t ) =e − t − e −2t − te −2t ; t ≥ 0 ;

2  3  −0.5t
c) x(t ) = ⋅ sin  t  ⋅ e ; t ≥ 0.
3  2 

  3  1  3 
1 + e −0.5t  − cos 
d) x(t ) = t  − sin  t   ; t ≥ 0
 2 3 2 
    

t ⋅ cos ( 2t ) ; t ≥ 0
e) x(t ) =

Problema 2:

Să se determine (prin calcul analitic) reprezentările în domeniul timp ale semnalelor


cauzale cărora le corespund următoarele imagini Laplace:

1
a) X ( s ) = ,
s ( s + 1)

1
b) X ( s ) = 2
,
( s + 1)( s + 1)

33
1
c) X ( s ) = ,
( s + 1)( s + 2)

1
d) X ( s ) =
s ( s + 1)( s + 2)

1
e) X ( s ) =
( s + 1)( s + 2)( s 2 + 1)

3s + 7
f) X ( s ) = 2
s + 4s + 5

2s + 3
g) X ( s ) =
( s + 5s + 6 )( s 2 + 2s + 2 )
2

3
h) X ( s ) =
( s + 2) 2

s
i) X ( s ) =
( s + 1) 2
2

2s
(s)
j) X= , n ∈ N, n ≥ 2
( s + 1) n

Problema 3:

Pentru fiecare dintre imaginile Laplace de la Problema 2, specificaţi următoarele


proprietăţi ale semnalelor corespunzătoare din domeniul timp (fără a vă folosi de forma
acestora din domeniul timp):
- mărginire;
- evoluţie asimptotică spre o valoare constantă;
- prezenţa oscilaţiilor.

Problema 4:

Verificaţi rezultatele obţinute la Problemele 1, 2 şi 3 folosind calculul simbolic din


MATLAB. Pentru verificarea rezultatelor de la Problema 3 se vor reprezenta grafic semnalele
din domeniul timp.

34
III. STUDIUL SISTEMELOR CU COMPORTARE
DE TIP INTEGRATOR SAU DERIVATOR

III.1. Introducere
Un număr mare de sisteme fizice diferite sunt descrise prin legi care evidenţiază
legătura dintre o mărime fizică derivată şi o altă mărime fizică nederivată. În funcţie de
semnalul considerat drept cauză şi de semnalul considerat drept efect, interpretarea tranziţiei
cauzale intrare-ieşire pentru o astfel de lege se poate face apelând la modele de tip integrator
sau de tip derivator.
Prin parcurgerea acestei şedinţe de aplicaţii, se urmăreşte studierea celor două tipuri
de modele (integrator sau derivator) şi înţelegerea comportării acestora din punct de vedere al
dependenţei intrare-ieşire. Pe lângă probleme rezolvate analitic, se urmăreşte efectuarea unor
experienţe de simulare în mediul MATLAB a unor procese fizice frecvent întâlnite în practica
tehnico-inginerească.
În cele ce urmează se presupune că este înţeles conceptul de sursă ideală de putere.
Pentru o scurtă clarificare, menţionăm că universul exterior furnizează unui sistem studiat o
anumită putere în fiecare moment de timp (energie pe unitatea de timp), care poate fi
exprimată în toate domeniile fizicii, ca produs a două semnale pereche (de exemplu tensiune
şi curent în sistemele electrice). Astfel, cauza funcţionării este puterea însăşi, şi nu doar un
singur semnal. În toate domeniile fizicii se poate considera că o sursă furnizează sistemului
puterea necesară funcţionării impunând unul din cele două semnale pereche (adică
intrare/cauză pentru sistem), iar celălalt semnal pereche rezultând din consumul concret de
putere al sistemului (adică ieşire/efect pentru sistem). O sursă ideală trebuie privită ca fiind
capabilă să furnizeze orice putere cere sistemul cuplat. De exemplu, o sursă ideală de
tensiune furnizează valoarea tensiunii prescrise indiferent de puterea consumată de sistem,
adică indiferent de valoarea curentului cerut. Oricând vom referi unul din semnalele de
intrare ale unui sistem drept cauză presupunem că sistemul este conectat la o sursă ideală ce
furnizează acel semnal. Limitările de putere ale sistemelor reale pot fi tratate după
înţelegerea acestor aspecte, urmărind de exemplu puterea cerută de către sistem de la sursă.
Mai multe discuţii privitoare la aceste aspecte pot fi găsite în [Păstravanu şi Ibănescu, 2001].
Având în vedere natura introductivă a prezentului material, în cele ce urmează vor fi
studiate modele matematice liniare.

35
III.2. Tranziţia cauzală intrare ieşire pentru sisteme
cu comportare de tip integrator
Modelele de tip integrator sunt descrise, în cazul unei comportări liniare, de o ecuaţie
de forma:
ay (t ) = u (t ); y (0) = y0 , a≠0 (III.1)
unde u(t) este o funcţie continuă, notând mărimea (semnalul sau variabila) cauză (sau de
intrare), iar y(t) notează mărimea efect (sau de ieşire). Denumirea de "model de tip
integrator" se datorează faptului că y(t) poate fi exprimat drept:
1 t
a ∫0
y (t ) = u (τ )dτ + y (0). (III.2)

Exprimarea integrală (III.2) pune în evidenţă o funcţionare de tip acumulativ în raport


cu mărimea de intrare u(t), în sensul că integrarea utilizează toate valorile semnalului u de pe
întreg intervalul [0,t].

Forma integrală (III.2) posedă avantajul că poate fi utilizată şi în cazul mai general
când u(t) este continuă pe porţiuni (cu discontinuităţi de speţa întâi). De exemplu, dacă u(t)
este definită cu o discontinuitate de speţa întâi în t1 prin:
u1 (t ); 0 ≤ t < t1
u (t ) =  ,
u 2 (t ); t1 ≤ t
unde u1(t) şi u2(t) sunt funcţii continue, atunci, conform relaţiei (III.2), se poate scrie:
1 t
 a ∫0 u1 (τ )dτ + y (0); 0 ≤ t < t1
y (t ) = 
(
1 t1
a 0
t
) 1 t
 ∫ u1 (τ )dτ + ∫ u2 (τ )dτ + y (0) = ∫ u2 (τ )dτ + y (t1 ); t1 ≤ t
t1 a t1

Este clar că acest exemplu poate fi formulat şi în spiritul ecuaţiei (III.1), definind
modelul astfel:
• pentru 0 ≤ t < t1 , modelul este:
= ay (t ) u= 1 (t ); y (0) y0 ;
• pentru t1 ≤ t , modelul este ay (t ) = u 2 (t ); y (t1 ) = lim y (t ).
t → t1
t < t1
Cu alte cuvinte, condiţia finală de pe intervalul [0, t1), exprimată prin
y (t1 ) = lim y (t ), devine condiţie iniţială pentru intervalul [t1, ∞). Această observaţie este în
t → t1
t < t1
deplină concordanţă cu comportarea de tip acumulativ, deoarece valoarea y (t1 ) poate fi
vazută ca încorporând/memorând condiţia y0 şi evoluţia semnalului de intrare între
momentele de timp 0 şi t1.
În final, facem precizarea că majoritatea textelor inginereşti consideră drept subînţeleasă
posibilitatea ca u(t) să prezinte discontinuităţi de speţa întâia (fără a mai furniza explicaţii de genul
celor anterioare, cu privire la transformarea condiţiei finale în condiţie iniţială).

36
III.3. Tranziţia cauzală intrare ieşire pentru sisteme
cu comportare de tip derivator
Modelele de tip derivator sunt descrise, în cazul unei comportări liniare, de o ecuaţie
de forma:
y (t ) = bu (t ), b ≠ 0, (III.3)
unde u(t) este o funcţie netedă (de clasă C1) notând variabila cauză (sau de intrare) şi y(t)
notează variabila efect (sau de ieşire). Facem precizarea că în unele texte inginereşti
exprimarea (III.3) este utilizată şi în sensul mai larg când u(t) este derivabilă pe porţiuni,
rezultând că y(t) va avea un număr de puncte de discontinuitate de speţa întâia
(corespunzătoare punctelor unghiulare ale lui u(t)).
Exprimarea derivativă (III.3) pune în evidenţă funcţionarea de tip anticipativ în raport
cu mărimea de intrare u(t), în sensul că definiţia derivatei u (t 0 ) ca limită a raportului
incremental presupune cunoaşterea valorilor lui u(t) şi la momente de timp t > t0 (adică în
avans faţă de momentul curent considerat t0, unde se evaluează u (t 0 ) ).

III.4. Legi ale fizicii cu exprimare cauzală de tip integral sau derivativ

Un număr mare de legi întâlnite în diverse domenii ale fizicii posedă exprimări în
forma implicită:
kv(t ) − w(t ) = 0, k ≠0 (III.4)
unde v(t) şi w(t) sunt două mărimi (variabile sau semnale) dependente, ca evoluţie în timp,
una de cealaltă.

Din punctul de vedere al construcţiei unui model, una din cele două mărimi trebuie
privită drept cauză, iar cealaltă drept efect. În unele situaţii, modul de funcţionare al
procesului fizic modelat dă informaţii precise privind care din cele două variabile v sau w
reprezintă cauza şi care efectul. Există însă numeroase situaţii când rămâne la latitudinea
modelatorului desemnarea variabilei cu rol de cauză şi a celei cu rol de efect. Vor exista
atunci două opţiuni:
(i) w cauză şi v efect, caz când modelul este de tip integrator, având o exprimare de
forma celei din subcapitolul III.2;
(ii) v cauză şi w efect, caz când modelul este de tip derivator, având o exprimare de forma
celei din subcapitolul III.3.

În condiţiile când se utilizează opţiunea (i), se spune că legea (III.4) este exprimată în
cauzalitate de tip integral sau, mai simplu, în cauzalitate integrală.
În condiţiile când se utilizează opţiunea (ii), se spune că legea (III.4) este exprimată în
cauzalitate de tip derivativ sau, mai simplu, în cauzalitate derivativă.

În baza celor discutate în secţiunile precedente, se preferă (ori de câte ori este posibil)
exprimarea legii (III.4) în cauzalitate integrală, datorită următoarelor aspecte (unele dintre
acestea fiind deja evidenţiate):

37
 Cauzalitatea integrală evidenţiază o funcţionare de tip acumulativ, care este în deplină
concordanţă cu sensul fizic intuitiv (spre deosebire de caracterul anticipativ al
exprimării cauzale derivative);
 Exprimarea în cauzalitate integrală, adică forma (III.1) sau (III.2), pune mai puţine
restricţii asupra mărimii de intrare (spre deosebire de intrarea modelelor de tip
derivativ (III.3)).
 Un alt motiv deosebit de important pentru care se preferă utilizarea cauzalităţii
integrate îl constituie faptul că în simulare, calculul lui y(t) (prin metode discrete,
specifice analizei numerice – adică nu analitic, exact!) se realizează cu mai bună
precizie pentru o descriere de forma (III.1) sau (III.2), decât pentru o descriere de
forma (III.3).

Exemple de legi ale fizicii ce conduc la exprimări de tip integral sau derivativ

De-a lungul acestei expuneri vor fi studiate doar sisteme mecanice de translaţie şi
sisteme electrice. În cazul sistemelor fizice de natură diferită, legile corespunzătoare ce leagă
diverse mărimi conduc la exprimări de tipul celor studiate sub o formă generică (precum
relaţii de forma (III.4)).

În cazul sistemelor mecanice de translaţie, următoarea listă cuprinde câteva legi ale
fizicii des întâlnite ce descriu în formă implicită o exprimare de genul (III.4). Precum a fost
menţionat, în funcţie de semnalul considerat drept cauză (sub presupunerea unei surse ideale
care livrează acest semnal) astfel de modele capătă o formă de tip integrator sau de tip
derivator.
• 0 , unde x(t ) reprezintă poziţia unui mobil în raport cu o axă, iar v(t )
x (t ) − v(t ) =
reprezintă viteza cu care mobilul se deplasează de-a lungul acelei axe (axa
respectivă având un reper şi un sens de parcurgere ce determină semnul pozitiv sau
negativ al poziţiei, respectiv vitezei la orice moment de timp);
• 0 , unde v(t ) reprezintă viteza unui mobil care se deplasează de-a
v(t ) − a (t ) =
lungul unei axe, iar a (t ) reprezintă acceleraţia mobilului.

De exemplu, în cazul în care viteza unui mobil este impusă (semnal cauză) şi
considerată cunoscută, atunci aflarea poziţiei sale (considerând cunoscută poziţia iniţială)
duce la un model de tip integrator. Dacă se doreşte determinarea acceleraţiei mobilului,
modelul considerat va fi de tip derivator. Impunerea vitezei presupune (conform celor
amintite în subcapitolul III.1) o sursă ideală de viteză, care poate determina variaţii
instantanee ale vitezei, indiferent de masa mobilului.

În cazul sistemelor electrice, se menţionează următoarele legi având forma implicită


(III.4):
• 0 , unde u (t ) reprezintă tensiunea de la bornele unui condensator de
Cu (t ) − i (t ) =
capacitate C, iar i (t ) reprezintă intensitatea curentului electric ce străbate acel
condensator;

38
di (t )
• L 0 , unde i (t ) reprezintă intensitatea curentului electric ce străbate o
− u (t ) =
dt
bobină având inductanţa L, iar u (t ) reprezintă tensiunea la bornele acelei bobine.

III.5. Programe MATLAB pentru simularea modelelor


de tip integrator sau derivator
Programele menţionate în cadrul acestui subcapitol sunt disponibile pe calculatoarele
pe care se efectuează ore de aplicaţii la disciplina Teoria sistemelor, an II CTI, la Facultatea
de Automatică şi Calculatoare din cadrul Universităţii Tehnice „Gheorghe Asachi” din Iaşi.

Programul integrator
Obiectiv: Calculează numeric ieşirea y(t) a unui model de tip integrator (III.1) pentru condiţie
iniţială y(0) = y0 şi variabila de intrare funcţie scară, de forma:
u1 ; 0 ≤ t ≤ t1

u (t ) = u j ; t j −1 ≤ t < t j

u n ; t n−1 ≤ t < t n

Apelează funcţia MATLAB ode23 pentru a efectua integrarea numerică şi funcţia


adiţională ypri_cst.
Date de intrare:
vect_t = [t1…tn] - vector linie cu n componente, precizând momentele de timp când
se modifică valoarea mărimii de intrare u
Observaţie: Valorile t1< … <tn trebuie să fie în secvenţă strict crescătoare
vect_u = [u1…un] - vector linie cu n componente, precizând valorile intrării u pe
cele n intervale de timp
yini - condiţia iniţială a integratorului
a - constanta din ecuaţia (III.1) a integratorului
Date de ieşire:
timp - vector linie, precizând momentele de timp la care se calculează ieşirea y
ydetimp - vector linie, precizând valorile ieşirii y la momentele din vectorul timp
udetimp - vector linie, precizând valorile intrării u la momentele din vectorul timp
Observaţie: Momentele de timp colectate în vectorul timp sunt stabilite automat (din
raţiuni de precizie a calculului numeric) de către funcţia MATLAB ode23, deci
dimensiunea vectorului timp nu este cunoscută apriori.
Reprezentări grafice: graficul u(t)
graficul y(t)

39
Programul deri
Obiectiv: Calculează numeric ieşirea y(t) a unui model de tip derivator (III.3) pentru o mărime
de intrare oarecare, definită prin secvenţa de n valori u1 = u(t1), …, un = u(tn)
Apelează funcţia MATLAB diff (vezi help)

Date de intrare:
vect_t = [t1, …, tn] - vector linie cu n componente, precizând momentele de timp la
care este cunoscută valoarea intrării u
vect_u =[u1, …, un] - vector linie cu n componente, precizând valorile mărimii de
intrare n la momentele de timp din vect_t.
b - constanta din ecuaţia (III.3) a derivatorului

Date de ieşire:
vect_y = [y1, …, yn-1] - vector linie cu n - 1 componente, precizând valorile mărimii
de ieşire y la primele n - 1 momente de timp din vect_t.

Observaţie: Calculul numeric al derivatei este realizat de funcţia MATLAB diff care
evaluează rapoartele incrementate:
u (t j +1 ) − u (t j )
Rj
= = , j 1, , n − 1
t j +1 − t j

Valoarea Rj, j=1, …, n-1, poate fi utilizată pentru a aproxima fie u (t j ), fie u (t j +1 ).
În programul deri, este considerată aproximarea:
u (t j ) R=
= j , j 1, , n − 1

Pentru a obţine o aproximare suficient de bună a derivatei, vectorul cu momente de


timp (vect_t) trebuie să conţină momente suficient de apropiate. De exemplu, dacă se
doreşte derivarea unui semnal de ieşire produs de programul integrator (pentru a vedea
în ce măsură se obţine semnalul de intrare al integratorului), atunci la rularea programului
deri se va alege vectorul timp returnat de integrator drept vector de timp şi vectorul
ydetimp returnat de integrator drept vector al mărimii de intrare.

40
Programul rezervor
Obiectiv: Calculează numeric nivelul lichidului h ≥ 0 dintr-un rezervor cilindric de arie A,
suficient de înalt, alimentat cu un debit q ≥ 0 funcţie scară de forma:
q1 0 ≤ t < t1

q(t ) = q j t j −1 ≤ t ≤ t j

q n t n−1 ≤ t ≤ t n
şi din care se evacuează lichid la debit constant qevac. Nivelul iniţial al fluidului în rezervor este h(0) = h0
Apelează: funcţia MATLAB ode23 (vezi help) şi funcţia adiţională hpri_rez.
Date de intrare:
vect_rez = [t1…tn] - vector linie cu n componente, precizând momentele de timp
când se modifică debitul de alimentare q
Observaţie: Elementele vectorului vect_rez t1 <…< tn sunt în secvenţă strict
crescătoare.
vecq_rez = [q1…qn] - vector linie cu n componente, precizând valorile debitului de
alimentare q pe cele n intervale de timp.
Observaţie: Elementele vectorului vecq_rez sunt mai mari sau egale cu zero.
A - aria secţiunii rezervorului cilindric
h0 - nivelul iniţial al fluidului în rezervor (h0)
qevac - debitul constant de evacuare (qevac)
Date de ieşire:
timp - vector linie, precizând momentele de timp la care se calculează nivelul h
Observaţie: Momentele de timp colectate în vectorul timp sunt stabilite automat (din
raţiuni de precizie a calculului numeric) de către funcţia MATLAB ode23, deci
dimensiunea vectorului timp nu este cunoscută apriori.
hdetimp - vector linie, precizând valorile nivelului h la momentele din vectorul timp
qdetimp - vector linie, precizând valorile debitului de alimentare q la momentele din
vectorul timp
Reprezentări grafice: graficul q(t)
graficul h(t)

41
III.6. Exemplu de problemă rezolvată analitic
pentru un model de tip integrator

Programul MATLAB integrator menţionat în subcapitolul III.5 acceptă drept


mărime de intrare doar o funcţie de tip scară. În acest subcapitol vom prezenta o modalitate de
rezolvare analitică a unei probleme ce presupune o mărime de intrare ce evoluează liniar pe
porţiuni. Metodologia prezentată aici este bineînţeles valabilă şi pentru cazul intrărilor
constante pe porţiuni (de tip scară) şi poate fi extinsă la diverse alte forme continue pe
porţiuni ale mărimii de intrare.

Problemă:
Se consideră un mobil care se deplasează de-a lungul unei axe (0x). Mobilul porneşte
din poziţia iniţială x(0) = 0, iar variaţia vitezei sale v(t) este reprezentată în Figura III.1. Să se
reprezinte variaţia în timp a poziţiei mobilului, x(t).

Figura III.1. Variaţia în timp a mărimii de intrare pentru problema din subcapitolul III.6

Rezolvare:
Având în vedere că legătura între mărimea de intrare (viteza) şi cea de ieşire (poziţia)
este x (t ) = v(t ) , avem un model de tip integrator, cu constanta integratorului 1 şi condiţia
iniţială x(0) = 0.

42
Soluţia ecuaţiei modelului de tip integrator (de forma (III.2)) poate fi calculată în
momentele de timp t = 2, 3, 4, 6 [s] pornind de la observaţia că integrala definită are
semnificaţie de arie cuprinsă între graficul funcţiei şi axa absciselor (vezi Figura III.2).
Atenţie: în situaţia în care mărimea de intrare este cunoscută sub forma unei
reprezentări grafice în funcţie de timp, calculul unor arii poate fi mult mai rapid decât calculul
unor integrale definite (cum este şi cazul de faţă). Însă trebuie avut în vedere că în cazul în
care mărimea de intrare are valori negative pe un interval, aria corespunzătoare trebuie
considerată cu semn negativ, deoarece corespunde valorii integralei.

A1 A2

A3
A4

Figura III.2. Marcarea ariilor ce permit calculul rapid al ieşirii integratorului


la momentele de timp t = 2, 3, 4, 6 [s]

Astfel, în Figura III.2 marcăm ariile de interes şi putem calcula valorile poziţiei
mobilului la momentele de timp de interes (t = 2, 3, 4, 6) după cum urmează:
x(2) = A1 + x(0) = 2+0 = 2 [m] (aria triunghiului dreptunghic A1 fiind jumătate din
2⋅2
produsul catetelor, adică A1 = )
2
x(3) = A2 + x(2) = 1+2 = 3
x(4) = A3 + x(3) = 0+3 = 3
x(6) = -A4 + x(4) = -3+3 = 0 (aria triunghiului A4 se consideră cu semn negativ, deoarece
viteza pe intervalul de timp [4,6] este negativă, prin urmare
la fel va fi şi integrala definită a acesteia)

Pentru obţinerea graficului x(t) se reprezintă mai întâi punctele x(t), t = 0, 2, 3, 4, 6, iar
apoi se unesc aceste puncte conform următoarelor observaţii:

43
- pe intervalul t ∈ [0, 2) , mărimea de intrare creşte linear, ceea ce înseamnă că integrala
acesteia va fi o ecuaţie de grad 2 cu coeficient dominant pozitiv (graficul fiind porţiune
de parabolă convexă – grafic care ”ţine apa”);
- pe intervalul t ∈ [2,3) , mărimea de intrare descreşte linear, ceea ce înseamnă că integrala
acesteia va fi o ecuaţie de grad 2 cu coeficient dominant negativ (graficul fiind porţiune
de parabolă concavă – grafic care ”nu ţine apa”);
- pe intervalul t ∈ [3, 4) , intrarea este nulă, prin urmare ieşirea rămâne constantă (în cazul în
care intrarea ar fi constantă, dar diferită de zero, ieşirea ar evolua linear);
- pentru intervalul t ∈ [4,6) se aplică aceeaşi regulă ca şi pentru intervalul t ∈ [2,3) (graficul
lui x(t) ”nu ţine apa”). Menţionăm că diferenţa faţă de intervalul t ∈ [2,3) este semnul
mărimii de intrare, care implică sensul de variaţie al mărimii de ieşire, însă fără a-i afecta
tipul curburii.

Conform explicaţiilor de mai sus, graficul mărimii de ieşire poate fi reprezentat precum
în Figura III.3

Figura III.3. Variaţia mărimii de ieşire prentru problema din subcapitolul III.6

44
III.7. Probleme propuse

Problema 1:

Se consideră un mobil având poziţia iniţială x(0) = 2 [m] faţă de originea 0 a unui
reper dat 0x. Se presupune că viteza mobilului poate fi modificată în trepte, având forma:
 1, 0≤t <3
 3 , 3≤t <5
 −2 , 5 ≤ t < 8
v(t ) =  ,
0 , 8 ≤ t < 10

 −1 , 10 ≤ t < 14
 2 , 14 ≤ t < 15
unde valorile lui v(t ) sunt exprimate în [m/s], iar timpul t în [s].
Mărimea de interes este reprezentată de semnalul x(t ) (variaţia în timp a poziţiei
mobilului).
a) Să se calculeze analitic valorile ieşirii x(t ) la momentele de timp la care se
schimbă valoarea intrării v(t ) , adică t = 0, 3, 5, …, 15 [s]. Ce tip de model
corespunde intrării v(t ) şi ieşirii x(t ) ?
b) Să se reprezinte grafic evoluţia în timp a mărimii de intrare v(t ) şi a mărimii de
ieşire x(t ) , aliniind (pentru o urmărire mai uşoară) cele două grafice unul sub
celălalt. Pe graficul x(t ) specificaţi, pe intervale de timp, modul de deplasare a
mobilului: "înainte", "înapoi" sau "staţionează" (în raport cu sensul pozitiv al axei
0x).
c) Utilizând programul integrator, să se obţină în MATLAB graficele
semnalelor v(t ) şi x(t ) şi să se compare cu cele trasate la subpunctul (b).

Problema 2:

Se consideră un mobil a cărui deplasare x(t ) în raport cu un reper dat 0x este


cunoscută prin valorile numerice obţinute în MATLAB la Problema 1, subpunctul (c). Se
doreşte aflarea vitezei v(t ) cu care s-a deplasat mobilul (presupunând că nu ştim evoluţia lui
v(t ) de la Problema 1).
a) Ce tip de model trebuie folosit?
b) Utilizând programul deri, să se obţină în MATLAB graficul evoluţiei mărimii de
intrare x(t ) (deplasare) şi a mărimii de ieşire v(t ) (viteză).

45
Problema 3:

Se consideră un rezervor cilindric de arie A = 200 [cm2], suficient de înalt (a.î. lichidul
nu poate refula din rezervor pe la limita superioară), alimentat cu un debit q (t ) . Din rezervor
se evacuează lichid cu o pompă ce are debitul constant qevac = 2 [l/s]. Nivelul iniţial al
fluidului în rezervor este h(0) = 5 [cm], iar debitul de alimentare q (t ) (exprimat în [l/s])
evoluează în timp (exprimat în [s]) conform funcţiei:
4 , 0 ≤ t < 3
1 , 3 ≤ t < 8
q (t ) = 
3 , 8 ≤ t < 15

 , 15 ≤ t < 25
0
Mărimea de interes (ieşirea) sistemului este nivelul fluidului din rezervor, h(t ) .
a) Construiţi un model matematic pentru sistemul descris (folosind simbolurile q (t ) ,
qevac , etc. şi nu valorile lor numerice).
b) Calculaţi analitic şi reprezentaţi pe hârtie evoluţia în timp a mărimii de ieşire h(t ) ,
considerând valorile numerice precizate în enunţ.
c) Utilizaţi programul rezervor pentru a obţine în MATLAB graficul în funcţie de
timp al semnalului h(t ) şi comparaţi rezultatul cu cel de la subpunctul (b).

Problema 4:

Se consideră un mobil care se deplasează de-a lungul unei axe. Mobilul porneşte din
poziţia iniţială zero, iar evoluția vitezei sale este reprezentată în Figura III.4.

Figura III.4. Variaţia mărimii de intrare pentru Problema 4

a) Să se reprezinte (pe hârtie) variaţia în timp a poziţiei mobilului, x(t ) .


b) Să se reprezinte (pe hârtie) variaţia în timp a acceleraţiei mobilului, a (t ) .
c) Să se scrie un program în MATLAB pentru a obţine graficul lui x(t ) .

46
IV. STUDIUL SISTEMELOR MODELABILE PRIN
ECUAŢII DIFERENŢIALE DE ORDINUL I, LINIARE,
CU COEFICIENŢI CONSTANŢI

IV.1. Introducere
În practica tehnico-inginerească se întâlnesc frecvent sisteme fizice a căror funcţionare
poate fi modelată prin ecuaţii diferenţiale de ordinul I, liniare, cu coeficienţi constanţi. Astfel
de sisteme sunt uzual acţionate de mărimi de intrare ce variază în timp după legi standard,
uşor de realizat tehnologic, cum ar fi semnale treaptă, semnale armonice (sinusoidale) etc.
Efectul acestor tipuri de intrări se manifestă prin instalarea unui regim permanent de
funcţionare a sistemului, când variabila de ieşire reproduce anumite trăsături fundamentale ale
variabilei de intrare. Manifestările inerţiale, inerente operării sistemului fizic, fac ca instalarea
regimului permanent să nu se producă instantaneu, ci după un anumit interval de timp. Durata
acestui interval de timp depinde de valorile parametrilor fizici ce caracterizează elementele
componente ale sistemului.
Prin parcurgerea acestui capitol, cititorului i se oferă posibilitatea unui studiu
sistematizat al comportării proceselor fizice modelabile prin ecuaţii diferenţiale de ordinul I,
liniare, cu coeficienţi constanţi. În timpul studiului vor fi avute în vedere următoarele aspecte
ale comportării sistemului considerat:
- dependenţa de valorile parametrilor fizici ce caracterizează elementele componente ale
sistemului;
- dependenţa de trăsăturile fundamentale ale mărimii de intrare, în situaţii frecvent întâlnite
în practică;
- dependenţa de condiţiile iniţiale, pre-existente în sistemul fizic.
În cazul utilizării informaţiilor prezente în scop didactic, sunt menţionate programe
MATLAB cu ajutorul cărora se pot efectua experimente de simulare ale modelelor de ordin I.
Noţiunile şi proprietăţile evidenţiate în comportarea sistemelor fizice modelabile prin
ecuaţii diferenţiale de ordinul I se vor regăsi – generalizate sub diverse forme – în cazul
modelelor de ordin superior.

47
IV.2. Modele liniare de tip ecuaţie diferenţială
de ordinul I cu coeficienţi constanţi

Pentru simplitate, tipul de model studiat în acest capitol va fi denumit în continuare


model de ordin I sau model de tip ecuaţie diferenţială de ordin I, evitând enumerarea
celorlalte atribute sus-menţionate.
Un astfel de model exprimă o legătură între intrarea şi ieşirea unui sistem de forma:
a1 y (t ) + a0 y (t ) = u (t ); a1 > 0, a0 > 0, y (t 0 ) = y0 , (IV.1)
unde u(t) este o funcţie continuă, notând mărimea cauză (de intrare), iar y(t) notează mărimea
efect (de ieşire). Pentru un semnal de intrare u(t) precizat şi o condiţie iniţială y(t0) = y0,
semnalul de ieşire este dat de soluţia ecuaţiei diferenţiale (IV.1), care ia forma:
a a
− 0 (t − t 0 ) − 0 (t − τ )
t 1
y (t ) = e a1
y (t0 ) + ∫ e a1
u (τ )dτ (IV.2)
t0 a1
Similar discuţiei din subcapitolul III.2, condiţia de continuitate impusă semnalului de
intrare u(t) poate fi relaxată, în sensul că mărimea u(t) trebuie să fie continuă pe porţiuni, cu
discontinuităţi de speţa întâia. De exemplu, dacă u(t) are o discontinuitate de speţa întâia în
momentul de timp t1, atunci y(t) pentru valori ale timpului ulterioare lui t1 poate fi exprimat
considerând y (t1 ) = lim y (t ) drept condiţie iniţială, în baza continuităţii semnalului y(t):
t → t1
t < t1

a0 a0
− ( t −t1 ) t − (t −τ ) 1
y (t ) =+
e y (t1 ) ∫ e
a1 a1
u ( τ ) dτ ; t ≥ t1
t1 a1

În general, un model de forma (IV.1) descrie comportarea unui sistem fizic alcătuit
dintr-un element care acumulează energie (cu o comportare de tip integrator) şi un element
care disipă energie (cu o comportare de tip rezistiv sau proporţional, exprimată printr-o
ecuaţie algebrică de tipul v(t)-kw(t) = 0). Din punct de vedere fizic, elementul integrator nu îşi
poate modifica energia acumulată prin salt şi astfel asigură condiţia de continuitate presupusă
pentru y(t) în cele prezentate mai sus.

IV.3. Comportare de regim liber şi de regim forţat

Soluţia (IV.2) a modelului (IV.1) poate fi descompusă sub forma:


y (t ) = yl (t ) + y f (t ) , (IV.3)
unde componenta:
a0
− (t − t 0 )
a1 (IV.4)
yl (t ) = e y (t 0 )

48
defineşte comportarea de regim liber sau răspunsul liber al sistemului (determinat numai de
condiţia iniţială y (t0 ) = y0 , considerând semnalul de intrare u(t) nul), iar cea de a doua
componentă:
a0
t
− (t − τ ) 1
y f (t ) = ∫ e a1
u (τ )dτ (IV.5)
t0 a1
defineşte comportarea de regim forţat sau răspunsul forţat al sistemului (determinat numai de
semnalul de intrare u(t), considerând condiţia iniţială y (t0 ) nulă).

Semnificaţia descompunerii (IV.3) poate fi privită şi sub următoarele aspecte:


 yl(t) (exprimat prin (IV.4)) este soluţia ecuaţiei diferenţiale (IV.1) în forma omogenă
(adică u (t ) ≡ 0 ), cu condiţia iniţială y0:
a1 y l (t ) + a0 yl (t ) = 0 , a1 > 0 , a0 > 0; y (t 0 ) = y0
 yf(t) (exprimat prin (IV.5)) este soluţia ecuaţiei diferenţiale (IV.1) în forma neomogenă,
având condiţie iniţială nulă:
a1 y f (t ) + a0 y f (t ) = u (t ), a1 > 0 , a0 > 0; y (t 0 ) = 0

Sub aceste explicaţii, y(t) din (IV.2) reprezintă răspunsul complet, care cuprinde
informaţiile privitoare atât la evoluţia liberă cât şi la evoluţia forţată a sistemului. Atragem
atenţia asupra faptului că, din punct de vedere practic, observarea semnalului y(t) (prin
măsurare, înregistrare etc.) nu permite evidenţierea separată a celor două componente yl(t) şi
yf(t) din descompunerea (IV.3). Această descompunere are rolul de a înţelege că – la nivel
conceptual – evoluţia în timp a semnalului de ieşire y(t) este datorată pe de o parte influenţei
condiţiei iniţiale şi pe de altă parte semnalului de intrare. Menţionăm faptul că
descompunerea (IV.3) este posibilă datorită liniarităţii modelului.
În cazul când ipoteza de liniaritate a comportării este respectată din punct de vedere
practic cu suficientă acurateţe, se pot organiza experimente care să evidenţieze:
(i) comportarea de regim liber (considerând un semnal de intrare nul şi o condiţie
iniţială nenulă),
(ii) comportarea de regim forţat (considerând un semnal de intrare nenul şi o condiţie
iniţială nulă),
(iii) regimul complet, care trebuie să rezulte apropiat de suma valorilor de ieşire
corespunzând regimului liber şi regimului forţat (considerând condiţia iniţială de la
punctul (i) şi mărimea de intrare de la punctul (ii)).

Este evident faptul că, în practică, majoritatea situaţiilor necesită studierea răspunsului
complet. Pentru facilitarea înţelegerii, subcapitolele IV.4 şi IV.5 vor fi axate pe studiul separat al
regimului liber, respectiv forţat. Ulterior, răspunsul complet va fi privit ca o sumă a celor două
forme particulare, abordarea urmând o modalitate apropiată de cea din [Păstrăvanu şi Ibănescu,
2001].

49
IV.4. Regimul liber
Comportarea de regim liber corespunde modelului (IV.4), care derivă din soluţia
modelului complet (IV.2) pentru cazul particular al mărimii de intrare identic nule, adică
u=(t ) 0, t ≥ 0 .
Pentru simplificarea prezentării, vom considera drept moment iniţial t0 = 0, dar
aspectele ce sunt discutate în continuare îşi păstrează valabilitatea pentru orice valoare t0.
Anticipând unele aspecte ce vor fi explicate în continuare, vom introduce notaţia din ecuaţia
(IV.6), unde T poartă denumirea de constantă de timp a sistemului, şi se măsoară în secunde:
a1
T= (IV.6)
a0
Evoluţia mărimii de ieşire y(t) este dată de relaţia (IV.4) cu t0 = 0, conducând la:
a0 t
− t not (IV.6) −
a1
=yl (t ) e=
y (0) e T
y (0) (IV.7)
Din relaţia (IV.7) şi având în vedere restricţia a1 > 0, a0 > 0 impusă coeficienţilor
ecuaţiei diferenţiale (IV.1) (ceea ce implică T > 0 ), rezultă imediat comportarea asimptotică:
lim y l (t ) = 0 , (IV.8)
t →∞

pentru orice condiţie iniţială y (0) ∈  . Se spune că y = 0 reprezintă un punct de echilibru


asimptotic stabil pentru sistemul considerat, în sensul că evoluţia liberă a sistemului din orice
condiţie iniţială y(0) se apropie asimptotic de acest punct de echilibru.
Figura IV.1 reprezintă grafic răspunsul liber obţinut prin simularea în mediul
MATLAB (pentru cazul coeficienţilor a1 = 5, a0 = 0,5 şi condiţia iniţială y(0) = 1).

Figura IV.1. Evoluţia în timp a răspunsului liber pentru un model de ordin I

50
În cazul unei comportări asimptotice precum cea din Figura IV.1, ne interesează cât de
repede se apropie răspunsul yl (t ) de valoarea 0. Drept criteriu pentru a evalua "modul de
apropiere" a lui yl(t) de 0 se poate utiliza raportul:
a
yl (t ) − 0 t not (IV.6) −
t
ε l (t )
= = e =a1
e T, (IV.9)
yl (0)

care are semnificaţia unei erori relative a ecartului curent yl (t ) faţă de ecartul iniţial y (0) .

Eroarea relativă εl(t) este o funcţie descrescătoare de t, a cărei valoare numerică poate
fi evaluată în funcţie de momente de timp raportate la valoarea constantei de timp T. Astfel, se
pot utiliza praguri de eroare în funcţie de t luând valori ale multiplilor lui T. De exemplu,
pentru t = 3T , se obţine εl(t) = e–3 ≈ 0.05. Având în vedere că εl(t) reprezintă o eroare relativă,
valorile acesteria sunt de obicei exprimate în procente; prin urmare εl(3T) ≈ 5%. Similar,
pentru t = 4T se obţine εl(t) = e–4 ≈ 2%, iar pentru t = 5T eroarea relativă este sub 1 procent,
εl(5T) = e–5 < 1%:
ε l (t ) ≈ 5% pt. t =
3T
ε l (t ) ≈ 2% pt. t =
4T (IV.10)
ε l (t ) < 1% pt. t =
5T
Cu alte cuvinte, din punct de vedere practic (referitor la o observaţie fizică a
răspunsului liber) se poate spune că răspunsul liber "se stinge" după un timp finit t, cu o
anumită precizie dorită. În multe măsurători o eroare de sub 1% se consideră neglijabilă
(datorită preciziei finite de măsurare) şi având în vedere valorile erorilor relative din (IV.10),
se poate spune că pentru o eroare de sub un procent, răspunsul liber se stinge după t = 5T
(cinci constante de timp). În intervalul de timp [0, 5T) se spune că sistemul se află în regim
tranzitoriu, semnalul de ieşire yl(t) fiind suficient de îndepărtat de valoarea 0 către care tinde.
Astfel, denumirea de constantă de timp capătă o semnificaţie importantă, valoarea
acesteia arătând viteza de evoluţie a răspunsului liber spre valoarea de 0.

Pentru claritate, în Figura IV.2 sunt marcate valorile de timp corespunzând la 3T, 4T şi
5T, pentru a se putea observa apropierea semnificativă a ieşirii de valoarea de zero pentru
cazul din Figura IV.1. Pentru exemplul din Figura IV.1, constanta de timp ia valoarea
a1
T =
= 10 s , astfel încât (având în vedere precizia unei măsurători sau a unei reprezentări
a0
grafice) se poate spune că răspunsul liber se stinge după 5T = 50 s de la începutul
experimentului.

51
Figura IV.2. Marcarea momentelor de timp 3T, 4T, 5T şi a valorilor corespunzătoare
ale ieşirii pentru exemplul de răspuns liber din Figura IV.1

IV.5. Regimul forţat pentru semnal de intrare de tip treaptă

Dinamica de regim forţat corespunde expresiei (IV.5), care derivă din soluţia
modelului complet (IV.1) pentru cazul particular al condiţiei iniţiale nule, adică y(t0) = 0. Din
punct de vedere practic prezintă interes studierea efectelor datorate semnalelor de intrare de
tip treaptă şi sinusoidal (ca un caz particular al unui semnal armonic mai complex).
Pentru simplificarea prezentării, acest subcapitol consideră un semnal treaptă a cărui
amplitudine o notăm cu u ( = constant ) la intrarea sistemului, adică

u(t) = u σ (t)= {
0, t < 0
u, t ≥ 0
. Vom considera drept moment iniţial t0 = 0, dar aspectele ce urmează

a fi discutate îşi păstrează valabilitatea pentru orice valoare a momentului iniţial t0.
În conformitate cu soluţia (IV.5), în cazul unei intrări constante u(t) = u şi a
momentului inţial de timp t0 = 0, se obţine semnalul de ieşire:
a0
1 −
a1
t 1
(t )
y f= u −e u (IV.11)
a0 a0
a1 u
Conform notaţiei T = şi introducând notaţia y s = , expresia (IV.11) se rescrie
a0 a0
sub forma:
u  −
t
  −
t

y f (t ) = 1 − e  = ys 1 − e 
T T
(IV.12)
a0    

52
Datorită condiţiei impuse asupra coeficienţilor a1 > 0, a0 > 0 (implicând T > 0), se
obţine comportarea asimptotică:
( )
lim y f (t ) − y s = 0
t →∞

u
Limita anterioară înseamnă că ieşirea evoluează spre valoarea y s = , care poartă
a0
denumirea de valoarea de regim staţionar a răspunsului forţat şi care depinde de:
- structura sistemului prin intermediul lui a0
- magnitudinea semnalului de intrare ū

Figura IV.3 prezintă evoluţia răspunsului forţat, obţinută prin simulare în MATLAB,
pentru cazul coeficienţilor a1 = 5, a0 = 0,5 şi mărimea de intrare ū = 1.

Figura IV.3. Evoluţia în timp a răspunsului forţat pentru o intrare constantă

Precum în cazul răspunsului liber din subcapitolul IV.4, sub raport experimental
interesează, intuitiv vorbind, cât de "repede" se realizează "apropierea" lui yf (t) de valoarea
de regim staţionar ys. Similar discuţiei din cazul răspunsului liber, un criteriu pentru
caracterizarea în timp a procesului de trecere la limita ys se obţine considerând evoluţia în
timp a raportului:
y f ( t ) − ys y f ( t ) − ys a
− 0t −
t

s (t )
a1
ε= = = e= e T, (IV.13)
y f ( 0 ) − ys ys

care are semnificaţia unei erori relative a ecartului curent y f (t ) − y s faţă de ecartul iniţial

y f (0 ) − y s = y s .
Eroarea relativă εs(t) are aceeaşi expresie ca şi cea din cazul răspunsului liber (ecuaţia
(IV.9)), valoarea acesteia depinzând de timpul curent t şi de structura sistemului, caracterizată
prin constanta de timp T (dependentă de a1 > 0, a0 > 0). Conform discuţiilor anterioare şi sub
aspectul egalităţii (IV.13), valoarea constantei de timp caracterizează (sub raport procentual)
viteza de evoluţie a răspunsului forţat spre valoarea de regim staţionar ys. Din nou, se pot
considera praguri de eroare relativă precum cele din ecuaţia (IV.10), şi pentru multe situaţii

53
practice se poate considera că regimul staţionar este atins după 5T (eroarea relativă fiind sub
1%):
ε s (t ) ≈ 5% pt. t =
3T
ε s (t ) ≈ 2% pt. t =
4T
ε s (t ) < 1% pt. t =
5T
Aceste momente de timp şi valorile corespunzătoare ale ieşirii sunt marcate în Figura
IV.4, pentru a observa viteza de apropiere a răspunsului forţat către valoarea de regim
staţionar. Din nou, în situaţii practice de precizii sub 1%, în intervalul de timp [0, 5T) se
spune că sistemul se află în regim tranzitoriu, semnalul de ieşire yf (t) fiind suficient de
îndepărtat de valoarea ys către care tinde (ecartul curent y f (t ) − y s este mare în comparaţie
cu ecartul final y s ).

Figura IV.4. Marcarea momentelor de timp 3T, 4T, 5T şi a valorilor corespunzătoare


ale ieşirii pentru exemplul de răspuns forţat din Figura IV.3

În finalul subcapitolului curent, atragem atenţia asupra unei alte modalităţi de scriere a
modelului (IV.1) care utilizează notaţia T şi care este preferată în majoritatea textelor de
sorginte tehnică:
Ty (t ) +=
y (t ) kau (t ) y (0) y0 ,
T > 0, ka > 0, = (IV.14)
în care constanta ka poartă denumirea de factor de amplificare şi are valoarea:
1
ka = (IV.15)
a0
Această scriere evidenţiază faptul că valoarea ieşirii în regim staţionar ys poate fi
privită ca provenind din "amplificarea" valorii constante a semnalului de intrareu. Subliniem
faptul că termenul de "amplificare" este utilizat în sens larg, k putând lua orice valoare
pozitivă (deci, inclusiv subunitară). Cu aceste notaţii, yf(t) din (IV.12) poate fi rescris drept:
 −
t

y=
f (t ) k u
a  1 − e T

 

54
IV.6. Răspunsul complet pentru semnal de intrare treaptă

Sub aspectul prezentării răspunsului liber (subcapitolul IV.4) şi a răspunsului forţat


(subcapitolul IV.5), răspunsul complet al unui model de tip (IV.1) în cazul unei intrări
constante este dat în expresia (IV.16).

t −t 0
u  −
t −t 0

y (t ) = yl (t ) + y f (t ) = y (t0 )e T
+ 1 − e T 
a0  
rescris ca: (IV.16)
t −t 0 t −t0
− −
y (t ) =
ys + y (t0 )e T
− ys e T

În expresia (IV.16), mărimea de intrare este notată cu u (t )= u= constant , momentul


iniţial de timp este t0 , momentul curent de timp este t , iar condiţia iniţială este y (t0 ) .
a
Constantele sistemului sunt (precum în modelul (VI.1)) a0 şi a1 , iar T = 1 este constanta de
a0
timp a sistemului (introdusă în ecuaţia (VI.6)).

u
Răspunsul complet tinde spre valoarea de regim staţionar y=
s = kau (utilizând
a0
1
notaţia factorului de amplificare din (VI.15), ka =
). Viteza de apropiere a lui y (t ) către
a0
valoarea ys poate fi exprimată cantitativ prin intermediul erorii relative, exact ca în
subcapitolele precedente:
ys − y (t ) −
t −t 0
=ε (t ) = e T (IV.17)
ys − y (t0 )

Din nou, constanta de timp T dictează durata regimului tranzitoriu, sub aceleaşi
praguri de eroare precum cele din ecuaţia (IV.10). Din cauza acestor considerente, în situaţii
practice în care o eroare relativă de sub un procent este considerată nulă, se spune că regimul
tranzitoriu se încheie după un timp de cinci constante de timp, la t = 5T ieşirea atingând
valoarea de regim staţionar. O eroare relativă de aproximativ 5% se obţine în 3T, iar o eroare
de 2% în 4T. Pentru detalii suplimentare privind comportarea de regim complet a acestor
modele se poate consulta studiul [Păstrăvanu şi Ibănescu, 2001].

55
Cele amintite în acest subcapitol sunt schematizate în Figura IV.5.

ys
|y(t)-ys|
y(t)

y ( t ) − ys −
t − t0
=ε (t ) = e T
y ( t0 ) − y s

y(t0)

t0 t
≈5T
Figura IV.5. Schematizarea regimului complet pentru intrare constantă

IV.7. Răspunsul complet pentru semnal de intrare sinusoidal

Se consideră semnalul de intrare:


u (t ) = A sin ω t , A > 0, ω > 0, t ∈ [0, ∞)
care, considerând t0 = 0, va conduce (în urma calculelor soluţiei (IV.2)) la semnalul de ieşire:
t t
− −
=y (t ) AM (ω )sin(ω t -ϕ (ω )) + AR(ω )e T
+ y0e T
, (IV.18)
unde notaţiile:
1 ka
M (ω )
= =
a02 + a12ω2 T 2ω2 + 1

 a1 
ϕ ( ω ) = arctg  ω  =arctg (Tω )
 a0 
a1ω kaTω
R (ω )
= =2 2 2
a0 + a1 ω T 2ω2 + 1
pun în evidenţă dependenţa ieşirii y(t) de:
- structura sistemului prin intermediul a1 > 0, a0 > 0 sau, echivalent T > 0, ka > 0;

56
- pulsaţia ω a semnalului de intrare sinusoidal;
- condiţia iniţială y0

Introducând notaţia
y p (t ) = AM (ω ) sin(ω t − ϕ (ω ))

se constată că, datorită condiţiei impuse asupra coeficienţilor a1 > 0, a0 > 0, se obţine
comportarea asimptotică:
lim ( y (t ) − y p (t ) ) =
0 (IV.19)
t →∞

Egalitatea (IV.19) arată că ieşirea evoluează către un regim permanent sinusoidal


y p (t ) care prezintă următoarele particularităţi:
- este un semnal sinusoidal de aceeaşi pulsaţie ω ca şi semnalul de intrare;
- are amplitudinea dependentă de ω (strict descrescătoare), prin intermediul
coeficientului M(ω);
- este defazat în urma semnalului de intrare cu un unghi dependent de ω (strict
crescător), precizat de ϕ(ω).
În Figura IV.6 se prezintă răspunsul forţat, comparativ cu componenta de regim
permanent, obţinute prin simulare în MATLAB pentru coeficienţii a1 = 5, a0 = 0,5 şi mărimea
de intrare u(t) = sin(π/10)t.

0.8

0.6
y

0.4

0.2
ypermanent (timp)

-0.2

-0.4

-0.6

-0.8
0 10 20 30 40 50
timp

Figura IV.6. Exemplu de răspuns forţat şi regim permanent


în cazul unei intrări sinusoidale

Sub raport experimental, interesează – precum în discuţiile din subcapitolele IV.4,


IV.5, IV.6 –cât de "repede" se "apropie" y(t) de răspunsul de regim permanent sinusoidal
yp(t). În urma calculelor folosind expresia ieşirii (IV.18) se constată că "modul de apropiere"
privit prin prisma unei erori relative are din nou o descreştere exponenţială ghidată de
−t
termenul e T . Astfel, structura sistemului, prin intermediul constantei de timp T, dă
informaţii privind durata regimului tranzitoriu necesar a fi traversat, înaintea instalării
regimului permanent. Având în vedere pragurile de eroare (IV.10), se poate spune că regimul
permanent este atins după un interval de timp de 5T, considerând o eroare mai mică de 1%
drept neglijabilă.

57
IV.8. Programe MATLAB pentru simularea modelelor
de tip ecuaţie diferenţiale de ordinul I
Programul ed1_cst
Obiectiv: Calculează numeric ieşirea y(t) a unui model de tip ecuaţie diferenţială de ordinul
întâi de forma (IV.1), pentru condiţie iniţială y(0) = y0 şi variabilă de intrare funcţie scară,
definită prin:
 u1 ; 0 ≤ t < t1

u (t ) = u j; t j −1 ≤ t < t j
u
 n; t n −1 ≤ t ≤ t n
Date de intrare:
a1 - coeficientul a1 > 0 din expresia (IV.1)
a0 - coeficientul a0 > 0 din expresia (IV.1)
vect_ed1 = [t1 ,…, tn] - vector linie cu n componente , precizând momente de timp
când se modifică valoarea mărimii de intrare u.
Observaţie: Valorile t1 < …< tn trebuie să fie în secvenţă strict crescătoare.
vecu_ed1 = [u1 ,…, un] - vector linie cu n componente precizând valorile intrării u pe
cele n intervale de timp
y0 - condiţia iniţială (y(0) = y0)
Date de ieşire:
timp - vector linie, precizând momentele de timp la care se calculează ieşirea y
Observaţie: Momentele de timp colectate în vectorul timp sunt stabilite automat în
urma integrării numerice, deci dimensiunea vectorului timp nu este cunoscută
apriori).
udetimp - vector linie, precizând valorile intrării u la momentele din vectorul timp
ydetimp - vector linie, precizând valorile ieşirii y la momentele din vectorul timp
ysdetimp - vector linie, precizând valorile de regim staţionar către care evoluează
ieşirea sistemului pentru momentele din vectorul timp
Reprezentări grafice: graficul u(t)
graficul y(t)

Programul ed1_sin
Obiectiv: Calculează numeric ieşirea y(t) a unui model de tip ecuaţie diferenţială de ordinul
întâi de forma (1), pentru condiţie iniţială y(0) = y0 şi variabilă de intrare funcţie sinusoidală
de forma:
u (t ) = A sin ωt
pe intervalul de timp [0, tfinal].

Date de intrare:
a1 - coeficientul a1 > 0 al modelului (IV.1)
a0 - coeficientul a0 > 0 al modelului (IV.1)
ampl - amplitudinea semnalului sinusoidal de intrare (A)

58
omega - pulsaţia semnalului sinusoidal de intrare (ω)
tfin - extremitatea dreaptă a intervalului pe care se realizează simularea (tfinal)
y0 - condiţia iniţială (y(0) = y0)

Date de ieşire:
timp - vector linie, precizând momentele de timp la care se calculează ieşirea y
Observaţie: Momentele de timp colectate în vectorul timp sunt stabilite automat în
urma integrării numerice, deci dimensiunea vectorului timp nu este cunoscută
apriori).
udetimp - vector linie, precizând valorile intrării u la momentele din vectorul timp
ydetimp - vector linie, precizând valorile ieşirii y la momentele din vectorul timp
ypdetimp - vectorul linie, precizând valorile de regim permanent sinusoidal către care
evoluează ieşirea sistemului pentru momente din vectorul timp.
Reprezentări grafice: graficul u(t)
graficele y(t) şi yp(t)

59
IV.9. Exemplu de problemă rezolvată analitic
Se consideră sistemul mecanic din Problema 1 (subcapitolul IV.10), cu valorile
numerice ale constantei elastice şi a celei de frecare vâscoasă k = 1 [N/cm], respectiv
γ = 3 [Νs/cm]. Condiţia iniţială este x0=0 [cm], iar semnalul de intrare F(t) (ale cărui valori
sunt exprinate în [N]) este:
5 , 0 ≤ t < 20

F (t )  0 , 20 ≤ t < 29
=
 7 , 29 ≤ t < 32
Să se schiţeze forma semnalului de ieşire x(t) pe intervalul de timp [0,32) s.

Rezolvare:
Modelul matematic al sistemului menţionat este (deducerea modelului este lăsată drept
exerciţiu pt. Problema 1 de mai jos):
γ x (t ) + kx(t ) =
F (t )
Modelul anterior este de tip ecuaţie diferenţială de ordin I cu coeficienţi constanţi
(γ joacă rolul constantei generice a1, iar k al constantei a0). Prin urmare, pentru rezolvarea
problemei se pot folosi rezultatele teoretice din acest capitol (în particular, pe fiecare interval
pe care intrarea este constantă se pot folosi cele menţionate în subcapitolul IV.6).
γ
Mai întâi, se determină constanta de timp: T= = 3s . Apoi, se consideră pe rând
k
intervalele de timp pe care semnalul de intrare are valori constante. Pentru o mai bună
înţelegere, rezultatele deduse vor fi reprezentate grafic precum în Figura IV.7. Primul grafic
din Figura IV.7 corespunde semnalului de intrare dat, iar cel de-al doilea grafic se construieşte
pe baza calculelor corespunzănd fiecărui interval de timp.
Pe intervalul [0, 20) s, ieşirea sistemului tinde către valoarea de regim staţionar xs = 5
cm (raportul dintre valoarea intrării şi valoarea lui k). ”Atingerea” (d.p.d.v. al unei erori
neglijabile) a acestei valori de regim staţionar are loc după 5T, adică 15 secunde. Intervalul de
timp fiind mai lung de 15 s, regimul staţionar se atinge la secunda 15, iar până la secunda 20
ieşirea rămâne pe valoarea de 5 cm.
Pe intervalul [20, 29) s, drept moment iniţial de timp se consideră t0 = 20 s. Ieşirea
sistemului tinde către valoarea de regim staţionar xs = 0 cm, plecând din condiţia iniţială x(t0)
= 5 cm. Această valoare s-ar atinge după 15 secunde (adică 5T), însă intrarea nu rămâne
constantă decât 9 secunde (3T). Prin urmare, valoarea de regim staţionar 0 nu este atinsă
(intrarea nu rămâne constantă pentru suficient timp), evoluţia exponenţială spre valoarea de
regim staţionar 0 având loc doar până la secunda 29. Trebuie să calculăm valoarea ieşirii la
secunda 29, iar pentru aceasta vom folosi eroarea relativă. Înlocuind valorile numerice în
x ( 29 ) − 0 −
29− 20
ecuaţia generică (IV.17) se obţine: = e 3= e −3 ≈ 0.05 (eroarea relativă în 3T
5−0
este aproape 5%). Rezultă că sistemul atinge valoarea x(29) ≈ 0.25 cm, evoluţia fiind
reprezentată în Figura IV.7 pentru intervalul de timp [20, 29) s.
Pe intervalul [29, 32) s, momentul iniţial de timp este t0 = 29 s, iar valoarea iniţială a
semnalului de ieşire este x(29) = 0.25 cm. Ieşirea sistemului tinde către noua valoare de regim
staţionar xs = 7 cm, însă – similar cu intervalul anterior – această valoare nu se atinge,

60
deoarece intrarea are valoare constantă doar pe un interval de o constantă de timp. Din nou,
calculăm valoarea ieşirii la secunda 32 folosind expresia erorii relative:
x ( 32 ) − 7 −
32− 29
= e 3= e −1 ≈ 0.37 (pentru a calcula valorile exponenţialei se poate folosi un
0.25 − 7
program software – de exemplu, în MATLAB se utilizează funcţia exp() ). Având în vedere
că x(t) < 7 cm pe întreg intervalul t ∈ [ 29,32] (ieşirea pleacă din valoarea 0.25 şi tinde
asimptotic, după o exponenţială, spre valoarea 7), se obţine x(32) ≈ 4.5 cm, evoluţia fiind
reprezentată în ultima parte a Figurii IV.7, ceea ce completează rezolvarea problemei.
Soluţia dedusă analitic poate fi testată prin simulare în MATLAB, folosind programul
ed1_cst (vezi subcapitolul IV.8).

Figura IV.7. Reprezentarea grafică a soluţei problemei rezolvate în subcapitolul IV.9

61
IV.10. Probleme propuse

Problema 1:

Se consideră un sistem mecanic alcătuit dintr-un resort cu constanta de elasticitate k =


2 [N/cm], conectat în paralel cu amortizor cu frecare vâscoasă, având coeficientul
γ = 4 [Νs/cm], conform figurii IV.8:
k
A
F(t)

γ
0 x(t) x
Figura. IV.8

În punctul A se aplică o forţă F(t), care se modifică în timp după o lege precizată. Sub
acţiunea lui F(t), punctul A îşi modifică poziţia x(t) măsurată în raport cu punctul fix 0 ce
corespunde situaţiei când arcul nu este tensionat ( F (t ) ≡ 0 ). Sensul pozitiv al axei 0x este dat
de alungirea arcului în raport cu situaţia când acesta este netensionat (adică spre dreapta).
Mărimea de intrare considerată pentru sistem este forţa F(t), iar mărimea de ieşire este
poziţia x(t)
a) Să se construiască un model matematic pentru sistemului dat.
Indicaţie: modelul obţinut trebuie să fie un model de tip ecuaţie diferenţială de ordin I;
se vor identifica valorile numerice ale constantelor generice a0 şi a1.
b) Să se schiţeze grafic pe hârtie regimul forţat, considerând la intrare o forţă constantă F(t)
= F = 10 [N]. Pe graficul reprezentat, să se marcheze momentul de timp la care se poate
considera că regimul staţionar este atins, şi valoarea regimului staţionar.
c) Utilizând programul ed1_cst, să se simuleze în mediul MATLAB comportarea de regim
forţat pe intervalul [0, 12] s, atunci când se aplică o forţă constantă F(t) = F = 10 [N]
d) Examinând graficul din MATLAB al deplasării să se determine momentele de timp
aferente:
1) unei erori relative de 5%
2) unei erori relative de 2%
e) Utilizând momentele de timp citite pe grafic la subpunctul (d), să se estimeze valoarea
constantei de timp a sistemului.
f) Utilizând ecuaţia diferenţială a modelului de la subpunctul (a), să se determine analitic
valoarea constantei de timp, precum şi momentele de timp:
1) pentru o eroare relativă de 5%
2) pentru o eroare relativă de 2%
g) Să se compare rezultatele estimărilor de la subpunctele (d) şi (e) cu valorile obţinute
analitic la subpunctul (f).

62
Problema 2:

Se intenţionează studierea răspunsului liber pentru sistemul din Problema 1. Se


consideră valorile numerice k, γ din problema 1, şi condiţia iniţială x(0) = 5 [cm].
a) Să se schiţeze grafic comportarea ieşirii sistemului, marcând momentul de timp la care
asimptota este atinsă (considerând drept nule erori relative sub 1%).
b) Să se simuleze în MATLAB (utilizând programul ed1_cst) comportarea de regim liber a
sistemului pe intervalul de timp [0, 12] s şi să se compare graficul obţinut cu cel de la
subpunctul (a).
c) Examinând graficul ieşirii obţinut în MATLAB, să se determine la ce momente de timp
eroarea relativă are valoarea de 5%, respective 2%.

Problema 3:

Se urmăreşte studiul comportării sistemului mecanic din Problema 1 sub acţiunea


unei forţe de intrare sinusoidale.
a) Pentru valorile numerice k = 2 [N/cm], γ = 4 [Νs/cm], şi pentru o forţă F (t ) = 3sin (π t )
[N], să se simuleaze în mediul MATLAB (utilizând programul ed1_sin) răspunsul forţat al
sistemului pe intervalul [0, 12] secunde.
b) Să se determine analitic momentele de timp unde eroarea relativă este de 5%, respectiv
2% şi să se verifice dacă aceste valori sunt în concordanţă cu graficul obţinut pentru ieşire.
c) Examinând pe graficele obţinute porţiunea corespunzătoare regimului permanent al ieşiri,
să se estimeze:
1) amplitudinea pulsaţiilor;
2) defazajul (exprimat în radiani).
d) Să se calculeze analitic mărimile estimate la punctul (c) şi să se compare rezultatele cu
estimările anterioare.

63
Problema 4:

Se consideră sistemul de la Problema 1, cu valorile numerice k = 2 [N/cm],


γ = 4 [Νs/cm], x0=0 [cm]. Evoluţia în timp a mărimii de intrare (forţa exprimată în [N]) este
dată de:
 10 , 0 ≤ t < 16
 20 , 16 ≤ t < 18

F (t ) =  −6 , 18 ≤ t < 24
−20 , 24 ≤ t < 40
 0 , 40 ≤ t < 60

a) Să se schiţeze (pe hârtie) graficul intrării şi cel al ieşirii sistemului. Pe graficul semnalului
de ieşire să se marcheze momentele de timp considerate a fi importante, precum şi valorile
semnificative de pe ordonată.
b) Utilizând programul ed1_cst, să se obţină în MATLAB graficul evoluţiei mărimii de
ieşire x(t ) şi să se compare cu cel obţinut la subpunctul (a).

64
V. STUDIUL SISTEMELOR MODELABILE PRIN
REPREZENTĂRI LINIARE INTRARE – STARE – IEŞIRE

V.1. Introducere
Modelele liniare intrare – stare – ieşire (denumite şi modele de stare) sunt des întânite
în teoria sistemelor, acestea permiţând analiza detaliată a dinamicii unei clase largi de
procese. Reprezentările de stare permit investigarea comportării sistemelor modelate din
punct de vedere al efectului pe care condiţiile iniţiale şi semnalele de intrare îl au asupra
semnalului (semnalelor) de ieşire şi asupra altor semnale de interes din sistem, denumite stări.
Sub acţiunea anumitor clase de semnale (realizabile din punct de vedere tehnic), procesele
fizice stabile permit instalarea regimurilor permanente, când variabilele de stare şi ieşire
reproduc trăsăturile fundamentale ale variabilei de intrare. Manifestările inerţiale, inerente
operării sistemului fizic, fac ca instalarea regimului permanent să nu se producă instantaneu,
ci după un anumit interval de timp dependent, ca durată, de valorile parametrilor fizici ce
caracterizează elementelele constituente ale sistemului.
Reprezentările liniare intrare – stare – ieşire oferă un cadru suficient de larg pentru
construirea modelelor prin aplicarea legilor fizice care descriu funcţionarea sistemelor
considerate. Astfel de legi includ legi constitutive de tip integral, specifice elementelor
acumulatoare de energie, legi constitutive de tip algebric, specifice elementelor disipatoare
de energie (cu comportare liniară) şi legi de conservare, de tip algebric, specifice
interconectării acestor elemente în sistemul vizat.
Capitolul curent include un studiu al comportării proceselor fizice descrise prin
modele liniare de stare, privite ca un formalism care generalizează modelele prezentale în
capitolele III, IV. Prezentarea pune accent pe aspecte definitorii ale comportării, precum
răspunsul liber, forţat şi complet pe stare şi pe ieşire, natura oscilant-amortizată sau aperiodică
a acestor semnale, dependenţa formei de regim permanent de semnalul aplicat la intrare.
Astfel de comportări pot fi obţinute pentru interpretare cu ajutorul unor experimente numerice
de simulare.
Pentru simplitatea înţelegerii şi a realizării conexiunilor cu comportările fizice, acest
capitol consideră modele descrise în domeniul timp şi semnale de intrare constante, urmând
ca tratarea generală a formelor diferite de intrare să fie posibilă în capitolul VI, cu ajutorul
reprezentărilor în domeniul complex.

65
V.2. Modele intrare – stare – ieşire de ordinul doi

Pentru început, vom prezenta forma matematică a unui model cu două stări, urmând ca
subcapitolul următor să generalizeze această reprezentare pentru un unmăr arbitrar de stări.
Stările trebuie privite ca semnale de interes din interiorul sistemului, acestea corespunzând
variabilelor care acumulează energie în timpul funcţionării. Detalii suplimentare asupra
acestor semnale vor fi cuprinse în subcapitolul V.5, care indică paşii principali care pot fi
urmaţi pentru construcţia acestui tip de modele pornind de la un sistem fizic dat.
Un model de stare de ordin doi cu o intrare şi o ieşire are forma:

{
 x1 (t ) = a11 x1 (t ) + a12 x2 (t ) + b1u (t )
 x2 (t ) = a21 x1 (t ) + a22 x2 (t ) + b2u (t )
, x1 (0) x=
= 10 , x2 (0) x20
, (V.1)
 y (t ) = c1 x1 + c2 x2 + Du (t )
unde:
- u (t ) notează semnalul cauză (de intrare),
- y (t ) notează semnalul efect (de ieşire),
- x1 (t ) şi x2 (t ) sunt semnalele de stare,
- x1 (0) şi x2 (0) formează condiţia iniţială a modelului,
- aij , bi , ci (i,j=1,2) şi D sunt constante reale ale căror valori depind de
componentele sistemului modelat.
Primele două ecuaţii (diferenţiale) din expresia (V.1) se numesc ecuaţii de stare,
acestea surprinzând evoluţia stărilor în timp sub forma unui sistem de ecuaţii diferenţiale de
ordin I, unde condiţiile iniţiale şi forma intrării sunt presupuse a fi cunoscute. Ultima expresie
din modelul (V.1) se numeşte ecuaţia ieşirii, aceasta exprimând semnalul efect ca o
combinaţie liniară a semnalelor de stare şi a semnalului de intrare.
În general, un model de forma (V.1) descrie comportarea unui sistem fizic alcătuit din:
- două elemente care acumulează energie, cărora li se asociază variabilele de stare
x1(t) respectiv x2(t) (adecvat alese spre a caracteriza funcţionarea în cauzalitate
integrală),
- unul sau mai multe elemente care disipă energie.
Legile fizicii care descriu interconectarea elementelor componente conduc la modelul
(V.1).
Variabilele de stare x1(t) şi x2(t) au semnificaţia de mărimi efect în raport cu mărimea
cauză u(t). Din punctul de vedere al observării fizice directe (măsurare, înregistrare etc) pot
exista situaţii când să nu ne intereseze, ca efect, variabilele de stare x1(t) sau x2(t), ci mărimi
exprimabile din variabilele de stare cu ajutorul unor relaţii statice de forma ecuaţiei de ieşire.
Acest aspect practic justifică introducerea conceptelor diferenţiate de variabilă de stare,
respectiv ieşire. Bineînţeles că în unele situaţii putem avea c1 = 1, c2 = 0, sau c1 = 0, c2 = 1,
cazuri în care variabila de ieşire coincide cu una din variabilele de stare.

66
V.3. Modele intrare – stare – ieşire cu n stări

În cazul unui sistem al cărui model matematic are n stări, forma modelului (V.1) se
generalizează la scrierea vectorial-matriceală (V.2):

{=
x (t ) =
Ax(t ) + Bu (t ) ,
y (t ) Cx(t ) + Du (t )
x(0) =
x0 , (V.2)

unde:
 x1 (t ) 
 x (t ) 
• x(t ) :  + →  n se numeşte vector de stare, x(t ) =  2  ,

 
 xn (t ) 
 x10 
• x=(0)    ∈  n este vectorul condiţiilor iniţiale,
x 
 n0 
• funcţia u (t ) :  + →  reprezintă semnalul de intrare,
• y (t ) :  + →  reprezintă semnalul de ieşire,
 a11 ... a1n 
• forma A  ... ... ...  ∈  nxn ,
A este o matrice pătratică de ordin n, de=
 a ... a 
 n1 nn 

 b1 
• Β  ∈  n ,
B este un vector coloană cu n elemente, de forma=
b 
 n
• C este un vector linie cu n elemente, de forma
= C [c1  cn ] ∈  1xn ,
• D ∈  este un scalar. Valorile elementelor din A, B, C, D depind de structura şi de
componentele sistemului fizic modelat.

Pentru semnalul cauză u(t) se impune condiţia de a fi continuu pe porţiuni, cel mult cu
discontinuităţi de speţa întâi. Această condiţie este similară cu presupunerile făcute în
subcapitolele III.2 şi IV.2 asupra semnalului de intrare, fiind posibilă datorită continuităţii
semnalelor de stare. Astfel, în fiecare punct de discontinuitate t* a lui u(t), condiţia finală (la
stânga) x(t*–0) poate fi privită drept o nouă condiţie iniţială, x(t*) = x(t*–0), pentru următorul
interval de continuitate al intrării.
Menţionăm că modelul de tip (V.2) îşi menţine forma şi în cazul sistemelor cu mai
multe intrări şi/sau mai multe ieşiri, în astfel de situaţii B, C, D devenind matrice de
dimensiune corespunzătoare. Discuţia prezentă este purtată doar pentru cazul sistemelor cu o
singură intrare şi o singură ieşire (eng. SISO – Single Input, Single Output).

Observaţie: Un model cu o singură stare (și cu D = 0) este de fapt un model de tip


ecuaţie diferenţială de ordin I, precum în capitolul IV.

67
V.4. Răspunsul analitic al modelelor de stare

Exprimarea analitică a mărimii de ieşire y(t) se poate realiza pornind de la soluţia


sistemului de ecuaţii de stare din (V.2) ( x (t ) =
Ax(t ) + Bu (t ) , x(0) =
x 0 ), care are expresia
(V.3):
t
x(t ) e x(0) + ∫ e A (t −τ )Bu (τ )dτ
= At
(V.3)
0

Recomandăm ca exprimarea (V.3) să fie privită drept o generalizare firească a soluţiei


ecuaţiei diferenţiale de ordin I, cu coeficienţi constanţi (capitolul IV), generalizare care face
apel la exponenţiala matricială. Menţionăm că pentru o matrice pătratică M, exponenţiala
matriceală poate fi scrisă sub forma unei serii de puteri, ca o generalizare la cacul matriceal a
funcţiei exponenţiale aplicată unui scalar:

Mk
eM = ∑
k =0 k !

În baza relaţiei (V.3), vectorul de stare x(t) poate fi scris precum în [Păstrăvanu şi
Ibănescu, 2001]:
x(t ) = x l (t ) + x f (t ) , (V.4)

unde

x l (t ) = e At x(0 ) (V.5)
defineşte componenta liberă (de regim liber) a stării, iar
t
x f (t ) = ∫ e A (t −τ )Bu (τ )dτ (V.6)
0

defineşte componenta forţată (de regim forţat) a stării. Se poate imediat observa analogia
descompunerii (V.4) cu descompunerea soluţiei modelelor tratate în capitolul IV în
componentă de regim liber şi componentă de regim forţat.
Componenta de regim liber xl(t) constituie soluţia ecuaţiei de stare în forma omogenă
cu condiţii iniţiale nenule, adică:
x l (t ) = Ax l (t ), x l (0) = x 0
Componenta de regim forţat xf(t) constituie soluţia ecuaţiei stării în forma neomogenă,
cu condiţii iniţiale nule, adică:
x f (t ) =
Ax f (t ) + Bu (t ), x f (0) =
0

y (t ) Cx(t ) + Du (t ) ) se constată că –
Considerând acum şi ecuaţia ieşirii din (V.2) (=
similar descompunerii (V.4) – se poate descompune şi semnalul de ieşire y(t) sub forma:
y (t ) = yl (t ) + y f (t ) , (V.7)

68
unde
yl (t ) Cx
= = l (t ) Ce At x ( 0 )
defineşte componenta liberă (de regim liber) a ieşirii, iar:
t
y f (t ) = Cx f (t ) + Du (t ) = C∫ e A (t −τ )Bu (τ )dτ + Du (t )
0

defineşte componenta forţată (de regim forţat) a ieşirii.

Precum în discuţia din subcapitolul IV.3, menţionăm faptul că, din punct de vedere
practic, observarea semnalului de ieşire y(t) (prin măsurare, înregistrare etc) nu permite
evidenţierea separată a celor două componente yl(t) şi yf(t) din descompunerea (V.7). Astfel,
această descompunere are rolul de a preciza (la nivel conceptual) faptul că evoluţia în timp a
semnalului de ieşire y(t) este datorată structurii sistemului (sintetizată în coeficienţii matricei
A, vectorilor B, C, scalarului D) asupra căruia acţionează, pe de o parte, condiţia iniţială, iar
pe de altă parte semnalul de intrare. Descompunerile (V.4) pentru stare şi (V.7) pentru ieşire
sunt posibile datorită liniarităţii modelului considerat.
Menţionăm că – precum în situaţia din capitolul IV, unde coeficienţii a0 şi a1 au fost
restricţionaţi să fie povitivi – şi în cazul modelelor de stare (V.2) vom introduce anumite
restricţii. Astfel, ne referim la faptul că cele n autovalori (valori proprii) ale matricei A, notate
cu λi, i=1,…,n, trebuie să aibă parte reală negativă, adică:
Re λi < 0 i = 1,..., n (V.8)
Restricţia anterioară permite delimitarea unei clase largi de sisteme fizice (de altfel,
cele mai frecvent întâlnite în practică), care evidenţiază o comportare stabilă (pentru mai
multe detalii facem referire la studii precum [Voicu, 2002; Franklin et al., 2002; Kloetzer et
al., 2014]).

Dinamica de regim liber

Pentru cazul particular al unui semnal de intrare nul (u(t) = 0), expresia (V.5) a lui
xl(t), împreună cu condiţia (V.8), implică o comportare de tip asimptotic:
lim xl (t ) lim
= = e At x(0) 0 ,
t →∞ t →∞

pentru orice condiţie iniţială x(0)∈  n . Se spune că originea spaţiului  n (adică x = 0),
reprezintă un punct de echilibru asimptotic stabil pentru sistemul considerat, în sensul că
evoluţia liberă a sistemului din orice stare iniţială x(0) se apropie asimptotic de punctul de
echilibru.
Comportarea asimptotică a stării implică din punct de vedere al semnalului de ieşire:
lim yl (t ) lim
= = Ce At x(0) 0
t →∞ t →∞

În practică ne interesează (intuitiv vorbind) cât de “repede” se realizează “apropierea”


lui xl(t) de punctul de echilibru x=0 şi a lui yl (t ) de echilibrul 0. Răspunsul la această
problemă se poate formula ţinând cont de valorile proprii ale matricei A, sub restricţia (V.8).

69
Trecând peste formalismele matematice, spunem că “apropierea” lui xl(t) de x=0 şi a lui yl (t )
de 0 (sau stingerea regimului liber) este cu atât mai rapidă cu cât toate valorile proprii ale
matricei A sunt situate mai la stânga în semiplanul complex negativ.
Proprietatea anterioară este formulată în termeni calitativi, nepunând la dispoziţie o
modalitate de calcul a unui moment de timp la care (sub o anumită eroare considerată
neglijabilă) se poate spune că regimul liber s-a stins. Subliniem faptul că în cazul unui model
de tip ecuaţie diferenţială de ordinul I (capitolul IV), s-a putut vorbi de o estimare cantitativă
a unui astfel de moment de timp prin intermediul aşa-numitei constantă de timp. În cazul
sistemelor de ordin superior, o astfel de constantă de timp nu este definită, iar estimarea
cantitativă a duratei regimului tranzitoriu este o operaţie mult mai dificilă, căreia nu-i dăm
curs în acest studiu.

Tot din punct de vedere practic, legat de evoluţia în regim liber a lui xl(t), respectiv
yl(t), mai prezintă interes faptul că anularea componentei libere pe stare şi/sau ieşire se poate
realiza în două moduri:
- cu oscilaţii amortizate;
- aperiodic, fără oscilaţii amortizate.
În general, prezenţa oscilaţiilor amortizate se datorează existenţei în sistemul fizic a
cel puţin două elemente care acumulează energia în forme complementare (adică prezenţa a
cel puţin unui element inerţial (I) şi a unui element capacitiv (C)). O atare structură fizică
permite transferul de energie între elementele respective, în condiţiile când elementele
rezistive din sistem manifestă o disipare redusă. Din contră, în condiţiile când elementele
rezistive manifestă o disipare puternică, evoluţia liberă se realizează aperiodic, indiferent de
modul de acumulare a energiei de către elementele sistemului.

La nivel calitativ, valorile proprii ale matricei A pot da unele indicaţii privind natura
răspunsului liber pe stare şi ieşire:
• Dacă toate valorile proprii sunt reale (evident negative, datorită restricţiei (V.8)),
răspunsul liber pe stare şi ieşire va fi aperiodic;
• Dacă există valori proprii complex conjugate, atunci unele componente (nu neapărat
toate) ale vectorului de stare xl(t) şi eventual (nu neapărat) ieşirea yl(t) vor prezenta
o comportare oscilant amortizată. Pulsaţia acestor oscilaţii este dictată de părţile
imaginare, Im λ k ale valorilor proprii λ k complex conjugate.
Constatările anterioare vor fi exemplificate prin simulările din secţiunea de probleme a
acestui capitol. Pentru detalii matematice privind astfel de comportări, direcţionăm cititorul
interesat către [Păstrăvanu şi Ibănescu, 2001; Voicu, 2002; Franklin et al., 2002].

Discuţia anterioară despre regimul liber poate fi extinsă sub aceleaşi noţiuni de interes
şi pentru regimul forţat şi cel complet. Totuşi, o astfel de tratare matematică se face apelând la
transformările în complex ale modelelor şi semnalelor de interes, şi nu este cuprinsă în
capitolul prezent. Ne vom rezuma la a spune că (sub restricţia (V.8)) se pot evidenţia
componente permanente în regimul forţat şi complet al vectorului de stare, respectiv al ieşirii,
care copie caracteristicile fundamentale ale semnalului de intrare u(t). De asemenea,
componentele tranzitorii ale acestor semnale tind spre valoarea nulă, durata regimului
tranzitoriu putând fi interpretată din punct de vedere calitativ exact ca mai sus, în funcţie de
apropierea sau depărtarea valorilor proprii de axa imaginară. Mai mult, prezenţa sau absenţa
oscilaţiilor amortizate urmează aceleaşi reguli menţionate anterior, fiind legată de existenţa
unor perechi de valori proprii complex conjugate.

70
Toate comportările menţionate în subcapitolul V.4 vor fi evidenţiate prin simulări
numerice ale unor modele din subcapitolul de probleme propuse. Pentru a putea realiza aceste
simulări în mediul MATLAB, un program deja creat (dedicat unui anume sistem fizic) este
amintit în subcapitolul V.5 (programul fiind destinat studenţilor Facultăţii de Automatică şi
Caculatoare din Iaşi). Modalităţi rapide de a crea astfel de simulări în cazul în care nu există
programe deja create vor fi explicate în capitolul VII.

V.5. Programe dezvoltate în mediul MATLAB

Programul RLC_serie
Simulează comportarea unui circuit RLC serie (vezi problemele 2 – 3 din subcapitolul
V.7) la aplicarea unei tensiuni de intrare variabilă în formă scară. Toate valorile numerice
cerute la rularea programului (R, L, C, timp simulare etc.) trebuie exprimate/introduse în
format internaţional de unităţi.
Programul RLC_serie foloseşte funcţia MATLAB ode23 pentru realizarea
operaţiei de integrare numerică.
După rulare, sunt afişate în fereastra de comandă valorile proprii ale matricei A
corespunzătoare modelului sistemului studiat, şi sunt create grafice arătând evoluţia în timp a
mărimilor de stare şi a tuturor tensiunilor din sistem (inclusiv a mărimii de ieşire). Pentru
exemplificarea rezultatului rulării, Figurile V.1 şi V.2 arată grafice corespunzând simulării în
regim forţat a unui circuit RLC serie cu tensiune de intrare constantă de 5 V, R = 5 kΩ,
L = 0.3 H, C = 0.2 µF (vezi problemele 1-2). În această situaţie, mărimile de stare şi cea de
ieşire evoluează către regim staţionar fără a prezenta oscilaţii amortizate, fapt în concordanţă
cu valorile proprii afişate de program, λ1 = -1068.5, λ2 = -15598.

Figura V.1. Regimul forţat al semnalelor de stare pentru cazul din subcapitolul V.5

71
Figura V.2. Tensiunile din sistem pentru cazul circuitului RLC serie din subcapitolul V.5

V.6. Construcţia modelelor liniare de stare

Prezentul subcapitol prezintă câteva reguli pentru construcţia modelelor intrare-stare-


ieşire corespunzând unor sisteme fizice date (de ex. vezi problemele 4, 5).
Pentru o tratare mai detaliată a modului de construcţie al modelelor, pornind de la
clase specifice de semnale şi mergând până la modelări cu ajutorul unor limbaje specifice, pot
fi consultate studii dedicate preponderent problematicii de modelare, precum [Păstrăvanu şi
Ibănescu, 2001; Borutzky, 2010].
În cele ce urmează, vor fi considerate cazurile sistemelor electrice şi sistemelor
mecanice aflate în mişcare de translaţie. Regulile de construcţie următoare fac apel la câteva
legi din fizica de liceu, referitoare la funcţionarea liniară a unor elemente de bază (precum
bobină, condensator, resort elastic).

Paşii principali ai obţinerii unui model matematic intrare-stare-ieşire

1. Dacă este posibil, se efectuează simplificări în sistemul fizic dat (de exemplu,
rezistorii legaţi în serie sau paralel se înlocuiesc cu unul singur având valoarea
echivalentă a cuplării; la fel pentru condensatoare, bobine, resorturi elastice sau
corpuri cu masă aflate în mişcare).
2. Se determină variabilele de stare:
- numărul variabilelor de stare este egal cu numărul elementelor ce acumulează
energie (pt. sisteme electrice condensatori şi bobine, pt. sisteme mecanice
resorturi elastice şi corpuri cu masă aflate în mişcare). Atenţie: nu se consideră
elementele care nu pot acumula energie în configuraţia dată (de exemplu un
condensator ale cărui terminale sunt scurtcircuitate, un corp cu masă care nu
se poate deplasa – aceste elemente trebuie deja eliminate în pasul 1).

72
Menţionăm că în cazul unei singure variabile de stare, modelul obţinut va fi de
tip ecuaţie diferenţială de ordin I.
- semnalele corespunzând variabilelor de stare se aleg astfel încât acestea să
reprezinte funcţionarea de tip integrator a elementului respectiv. Ca regulă
generală, se aleg următoarele variabile de stare:
• pt. fiecare condensator în parte: tensiunea la bornele sale, uC(t);
• pt. fiecare bobină: intensitatea curentului ce străbate bobina, iL(t);
• pt. fiecare resort elastic: alungirea x(t) (măsurată în raport cu poziţia
nedeformată a resortului);
• pt. fiecare corp cu masă: viteza de deplasare, v(t).
3. Se scrie forma generală a modelului ce trebuie obţinut (folosind notaţiile specifice
semnalelor determinate la pasul 2). De exemplu, pentru un sistem cu două
variabile de stare, x1 şi x2, forma este (vezi modelul (V.1)):
 x1 (t ) = a11 x1 (t ) + a12 x2 (t ) + b1u (t )
 x2 (t ) = a21 x1 (t ) + a22 x2 (t ) + b2u (t )
 y (t ) = c1 x1 (t ) + c2 x2 (t ) + Du (t )
4. Se exprimă relaţiile de mai sus folosind legile fizice de funcţionare ale elementelor
sistemului dat. Cu alte cuvinte, se urmăreşte exprimarea derivatei în raport cu
timpul a fiecărei variabile de stare sub forma unei combinaţii liniare ce conţine
variabilele de stare (nederivate) şi semnalul de intrare. Similar, se caută o formă
de acelaşi tip pentru semnalul de ieşire (nederivat).
5. Exprimarea de la pasul 4 evidenţiază constantele a11, ... c1, ..., D. Astfel, ecuaţiile
obţinute se pot scrie sub forma matriceală:

{=
x (t )
=y (t )
Ax(t ) + Bu (t )
Cx(t ) + Du (t )

Exemplu de construcţie a unui model intrare-stare-ieşire pt. sistem electric

Pentru exemplificare, se consideră circuitul RLC serie, care va fi propus spre studiu şi
în Problema 1 din subcapitolul V.7. Pentru o înţelegere cât mai bună a metodologiei de
construcţie, recomandăm cititorului să încerce mai întâi rezolvarea problemei amintite
folosind paşii sus-prezentaţi, fără a se inspira din soluţia acestei secţiuni.

Pentru sistemul RLC serie din Figura V.3 se consideră drept semnal de intrare
tensiunea sursei, e(t), iar drept semnal de ieşire tensiunea la bornele rezistorului, uR(t).

Figura V.3. Circuit RLC serie, ales drept exemplu de construcţie


a unui model intrare-stare-ieşire

73
Pentru a construi un model de stare al sistemului propus, urmărim paşii de mai sus. Se
observă că nu se pot efectua simplificări în sistemul dat (pasul 1).

Conform pasului 2, sunt necesare două variabile de stare, una pentru condensator
( uC(t) ), iar cealaltă pentru bobină ( iL(t) ).

Forma generală din pasul 3 constă în obţinerea unor exprimări de genul:


uc (t ) = combinaţie liniară ( uC (t ), iL (t ), e(t ) )
 diL
 (t ) = comb. lin. ( uC (t ), iL (t ), e(t ) )
 dt
uR (t ) = comb. lin. ( uC (t ), iL (t ), e(t ) )
Primele două ecuaţii sunt ecuaţiile de stare, iar ultima este ecuaţia ieşirii.

În pasul 4 se urmăreşte obţinerea explicită a exprimărilor de mai sus. Astfel, pentru


uC (t ) se porneşte de la legea de funcţionare a condensatorului:
i (t )
CuC (t ) =iC (t ) ⇒ uC (t ) = C
C
Expresia obţinută nu este încă o combinaţie liniară a semnalelor dorite (uC , iL , e) , însă
deoarece bobina şi condensatorul sunt legate în serie, acestea sunt străbătute de acelaşi curent:
iL (t ) = iC (t ) , ceea ce conduce la:
i (t )
uC (t ) = L
C
Se obţine astfel o exprimare a lui uC (t ) sub forma unei combinaţii liniare a semnalelor
1
uC , iL , e , unde coeficienţii lui u C (t ) şi e(t ) sunt zero, iar coeficientul lui iL (t ) este .
C
Pentru exprimarea celei de-a doua ecuaţii de stare, se porneşte de la legea de
funcţionare a bobinei:
di (t ) diL (t ) uL (t )
L L =uL (t ) ⇒ =
dt dt L
Este necesară exprimarea lui uL (t ) în funcţie de uC , iL , e . Scriind legea a doua a lui
Kirchhoff pe ochiul de circuit (echilibrul de tensiuni) obţinem:
e(t ) =uC (t ) + uL (t ) + uR (t ) ⇒ uL (t ) =e(t ) − uC (t ) − uR (t )
În expresia obţinută semnalul uR (t ) incomodează, însă conform legii lui Ohm:
uR (t ) = RiR (t ) . Rezistorul este în serie cu bobina (şi cu condensatorul), prin urmare
iR (t ) = iL (t ) , ceea ce conduce la:
diL e(t ) − uC (t ) − RiL (t )
(t ) = ,
dt L
1
care este o combinaţie liniară a semnalelor uC , iL , e , unde coeficientul lui u C (t ) este − ,
L
R 1
coeficientul lui iL (t ) este − , iar coeficientul lui e(t ) este .
L L
Ecuaţia de ieşire a fost deja explicitată mai sus, sub forma =
uR (t ) Ri
= R (t ) RiL (t ) .

74
u (t ) 
Notând vectorul de stare cu x(t ) =  C  , scrierea matriceală din pasul 5 este:
 iL (t ) 
 1 
 0 C  0
= x (t )  x (t ) +  1  e(t )
1 R  
− −  L
 L L
,
= uR (t ) [ 0 R ] x(t ) + 0 ⋅ e(t )

care reprezintă modelul intrare-stare-ieşire al sistemului dat


 1 
 0 C  0
=(A  = , B =1  , C [ 0= R ] , D 0 ).
1 R  
− −  L
 L L
Menţionăm că determinarea modelului prin A,B,C,D permite anumite analize
specifice ale comportării sistemului (de ex. prin prisma valorilor proprii ale matricei A,
precum a fost discutat în acest capitol) şi simularea facilă a comportării sistemului pentru
anumite valori numerice ale constatelor (simulările MATLAB fiind tratate în capitolul VII).

Exemple de construcţie a modelelor intrare-stare-ieşire pentru


sisteme mecanice în mișcare de translație

Se propune determinarea unui model de stare pentru fiecare sistem mecanic de mai jos
(primele doua sisteme din Problema 5 din subcapitolul V.7). Se consideră mişcarea pe
orizontală, ignorând forţele de greutate datorate acceleraţiei gravitaţionale.
ieşire
v(t)
k
intrare
m F(t)

γ
(a)

ieşire
v(t)
k γ intrare
m F(t)

(b)

Se vor alege drept variabile de stare: viteza pentru orice masă în mișcare; alungirea
pentru orice resort elastic.

75
Sistem a):
Nu există simplificări în sistem. Se aleg două stări, conform funcționării de tip integrator a
elementelor care acumulează energie: x(t ) (alungirea resortului) și v(t ) (viteza de
translație a corpului m, cu sensul din figură). Trebuie exprimate mărimile x (t ) , v(t )
(derivatele stărilor în raport cu timpul) și v(t ) (ieșirea) sub forma unor combinații liniare
între semnalele x(t ) , v(t ) , F (t ) . Pentru aceasta, se vor folosi echilibre de forțe pe
structuri rigide care se mișcă (structuri ale sistemului ce se deplasează cu aceeași viteză) și
alte identități fizice.
Exprimarea lui x (t ) : Referința pentru măsurarea poziției x(t) este starea de echilibru a
sistemului în absența unei intrări (adică x(t) = 0 înseamnă resort nedeformat), iar sensul
pozitiv pentru poziție este același cu sensul vitezei v(t). Deci avem x (t ) = v(t ) și
combinația liniară:
x (t ) = 0 ⋅ x(t ) + 1 ⋅ v(t ) + 0 ⋅ F (t )

Exprimarea lui v(t ) : În sistemul în cauză există o structură rigidă care se deplasează cu
viteza v(t ) și asupra căreia acționează forțele din figura următoare:
Fe
F
m

Ff

Conform legii lui Newton, forța de inerție a masei m, Fi (t )= m ⋅ v(t ) , este egală cu forța
rezultantă ce acționează asupra corpului cu masă. Prin urmare, Fi (t ) = F (t ) − Fe (t ) − Ff (t ) ,
unde Ff (t ) este forța de frecare din amortizor (piston cu frecare vâscoasă),
Ff (t )= γ ⋅ v(t ) , iar Fe (t )= k ⋅ x(t ) (forța elastică din resort). Se obține:

k γ 1
v(t ) =− ⋅ x(t ) − ⋅ v(t ) + ⋅ F (t )
m m m

Ieșirea sistemului este una din stări, adică se poate scrie:


y (t ) = v(t ) = 0 ⋅ x(t ) + 1 ⋅ v(t ) + 0 ⋅ F (t )

Scriind combinațiile liniare obținute sub formă matriceală rezultă:


 d x(t )  0 1  0
 
=   k   x(t ) +   F (t )
 dt v(t ) γ 1
− −  v(t )  
 m m  m
 x (t )
 y (t ) [0
= 1]   + 0 ⋅ F (t )
v(t )

76
Sistem b):
Variabilele de stare sunt: x(t ) (alungirea resortului) și v(t ) (viteza corpului m).
Atenție: pentru sistemul (b), x (t ) ≠ v(t ) , din cauza amortizorului (extremitatea mobilă a
resortului nu este legată rigid de corpul m). Semnalul x (t ) se va exprima dintr-un
echilibru de forțe, precum urmează.

În sistemul dat, există două structuri rigide care se deplasează cu viteză nenulă,
reprezentate în figura următoare cu forțele ce apar în acestea:
SR1 (viteză x (t ) ) SR2 (viteză v(t ) )

Fe F
m
Ff
Ff

Observație: forța de frecare Ff (t ) apare în ambele structuri rigide, cu sensul din figură,
conform principiului acțiunii și reacțiunii. Valoarea acestei forțe este proporțională cu
Ff (t ) γ ( v(t ) − x (t ) ) .
viteza relativă a extremităților amortizorului, adică: =

Echilibru de forțe pe structura SR1: Fe (t ) = Ff (t ) .

Echilibru de forțe pe structura SR2: F=


(t ) Fi (t ) + Ff (t ) .

Se utilizează în continuare și expresiile Fe (t )= k ⋅ x(t ) și Fi (t )= m ⋅ v(t ) .

x (t ) se poate determina din echilibrul de forțe pe SR1: k ⋅ x(t )= γ ( v(t ) − x (t ) ) ⇒


k
x (t )= v(t ) − ⋅ x(t ) .
γ
Din =
F (t ) mv(t ) + Ff (t ) și Fe (t ) = Ff (t ) rezultă:

k 1
v(t ) =− ⋅ x(t ) + 0 ⋅ v(t ) + ⋅ F (t )
m m
Ieșirea sistemului este v(t) și se obține modelul:
  − k 1
 d  x(t )  γ   x(t )  0 
=
 dt v(t )  k  v(t ) +  1  F (t )
 − 0    
m
  m 
x(t )
 y (t ) [0
= 1]  + 0 ⋅ F (t )
 v(t )

77
V.7. Probleme propuse

Problema 1
Se consideră un circuit electric alcătuit dintr-un rezistor (cu rezistenţa R), o bobină (cu
inductanţa L) şi un condensator (cu capacitatea C) conectate în serie, conform figurii V.4, cu
o sursă de tensiune e(t) (care se modifică în timp, după o lege precizată).
Să se construiască un model de stare pentru funcţionarea circuitului, alegând variabilele
astfel:
- prima variabilă de stare este tensiunea pe condensator uC(t)
- a doua variabilă de stare este curentul prin bobină iL(t)
- variabila de ieşire este tensiunea pe rezistor uR(t)

Figura V.4. Circuitul considerat la Problema 1

Problema 2
Să se simuleze (folosind programul RLC_serie) funcţionarea circuitului de la
Problema 1 în regim forţat, pentru un semnal treaptă de tensiune e(t ) = e = constant, t∈[0, t1],
considerând setul de valori numerice:
R = 5 kΩ, L = 0.3 H, C = 0.2 µF, e = 5 V, t1 = 8 ms
Observaţie: În MATLAB se introduc valorile numerice exprimate în SI.

a) Să se comenteze evoluţia variabilelor uc(t) şi iL(t) (reprezentate grafic în prima figură


obţinută în MATLAB), abordând următoarele chestiuni:
- durata aproximativă de instalare a regimului staţionar;
- prezenţa sau absenţa oscilaţiilor amortizate (interpretarea prin prisma valorilor proprii, care
sunt afişate în linia de comandă MATLAB);
- semnificaţia valorilor de regim staţionar;
- corelaţia dintre uc(t) şi iL(t)
b) În a doua figură obţinută în MATLAB sunt reprezentate grafic următoarele variabile:
- tensiunea pentru condensator
- tensiunea pentru bobină
- tensiunea pe rezistenţă
- tensiunea furnizată de sursă
Să se comenteze legătura dintre cele patru reprezentări grafice.

78
Problema 3
Se reia Problema 2 considerând o valoare de 5 ori mai mică pentru rezistenţa electrică
(R = 1 kΩ), restul valorilor numerice rămânând neschimbate. Se tratează următoarele
subpuncte adiţionale:
a) Să se interpreteze variaţia (faţă de problema 2) în durata de instalare a regimului staţionar,
prin prisma părţii reale a valorilor proprii.
b) Să se estimeze de pe graficele obţinute pulsaţia oscilaţiilor amortizate şi să se compare cu
partea imaginară a valorilor proprii.

Problema 4
Construiţi câte un model de stare pentru fiecare circuit electric de mai jos:
R1 L1

intrare L2
e(t) C ieşire
R2 uC(t)

(a)

R1 L1 C1

L2
intrare
e(t) C2 ieşire
uC2(t)
R2

(b)

R1 R2

intrare
e(t)
e(t) C1 C2 ieşire
uC2(t)

(c)

79
Problema 5
Construiţi câte un model de stare pentru fiecare sistem mecanic de mai jos (se
consideră mişcarea pe orizontală, ignorând forţele de greutate datorate acceleraţiei
gravitaţionale):

x(t) ieşire
v(t)
k
intrare
m F(t)

γ
(a)

ieşire
v(t)
k γ intrare
m F(t)

(b)

k γ1
intrare
F(t)

ieşire
γ2 v(t)
m
(c)

γ1
intrare
F(t)
m1
m2 ieşire
k v(t)
γ2
(d)

γ intrare
k2 k1
F(t)
m2 m1
ieşire
v2(t)
(e)

80
VI. MODELE LINIARE DE TIP FUNCŢIE DE TRANSFER

VI.1. Introducere
Modelele întâlnite până acum (capitolele III, IV şi V) au fost reprezentate în domeniul
timp, sub forma uneia sau mai multor relaţii matematice care descriu legături în domeniul
timp între semnalele de interes din sistem.
În cazul condiţiilor iniţiale nule, o descriere echivalentă din punct de vedere al
legăturii intrare-ieşire se poate obţine cu ajutorul transformatei Laplace (prezentată în
capitolul II). Această descriere poartă numele de funcţie de transfer (sau de descriere
operaţională). Avantajul adus de descrierile în domeniul complex constă în realizarea facilă a
unor calcule, deoarece ecuaţiile diferenţiale (din descrierea în domeniul timp) devin ecuaţii
algebrice în descrierea operaţională.
Capitolul curent prezintă translarea modelelor obţinute în domeniul timp (unde
operaţia de modelare este mai uşoară, fiind susţinută de suportul intuitiv al semnalelor
descrise în domeniul timp) în domeniul complex şi exemplifică modalităţile de efectuare de
calcule folosind funcţiile de transfer, în vederea aflării semnalului de ieşire al unui sistem
atunci când semnalul de intrare este cunoscut.
Este de asemenea tratat şi aspectul construcţiei unei diagrame bloc ce corespunde unui
model de stare, o astfel de diagramă arătând procesarea semnalelor în interiorul unui sistem
de către subsisteme de bază, precum integratoare, sumatoare, amplificatoare cu o constantă.
Menţionăm că tratarea funcţiilor de transfer (precum şi în cazul modelelor construite
în domeniul timp), se va limita la aspecte precum interpretarea sau calcularea semnalului de
ieşire al procesului modelat. Astfel, nu ne propunem o analiză detaliată a unor chestiuni
întâlnite în cazul disciplinelor de automatică, precum stabilitate, legi de reglare continuă etc.,
al căror studiu nu este cuprins în aria de interes a prezentei lucrări. Pentru aprofundarea
acestor noţiuni specifice controlului automat, direcţionăm cititorul spre studii precum [Voicu,
2002; Franklin et al., 2002; Dorf şi Bishop, 2010].

81
VI.2. Obţinerea funcţiilor de transfer pentru
modele descrise în domeniul timp

Pentru un sistem dat, fie U ( s ) transformata Laplace a semnalului de intrare u (t ) şi


Y ( s ) transformata Laplace a semnalului de ieşire y (t ) ( U ( s ) = L {u (t )} , Y ( s ) = L { y (t )} ).
Pentru sistemul dat se consideră condiţii iniţiale nule. Funcţia de transfer a sistemului este
notată cu G ( s ) şi satisface:
Y (s)
G (s) = (VI.1)
U (s)
Funcţia de transfer este un raport de polinoame cu coeficienţi reali şi de variabilă
P( s)
complexă, G ( s ) = , iar pentru sisteme realiste (care există în realitate),
Q( s)
grad( P) ≤ grad(Q) .

Dacă avem un model în domeniul timp pentru un anumit sistem, atunci acest model
poate fi convertit în funcţie de transfer folosind proprietatea de „derivare a originalului”
(menţionată în subcapitolul II.4 şi reluată aici):
L { f ( n=
)
(t )} s n F ( s ) − s n−1 f (0+) − ... − f ( n−1) (0+) (VI.2)

unde f (t ) notează un semnal cauzal, iar f ( n ) (t ) este derivata sa de ordin n în raport cu


timpul.

Pentru exemplificarea construcţiei funcţiei de transfer pornind de la un model descris


în domeniul timp, considerăm tipurile de modele studiate în capitolele anterioare:

Model de tip integrator


Un model de tip integrator arată o legătură între intrarea şi ieşirea unui sistem de
forma ay (t ) = u (t ) , cu a ≠ 0 . Aplicând transformata Laplace acestui model obţinem:

L {ay
 (t )} L {u (t )} ⇒ a ⋅ L {=
= y (t )} U ( s ) (VI.3)

Folosind derivarea originalului (VI.2), L { y (t )}= sY ( s ) − y (0+) . În baza condiţiilor


iniţiale nule presupuse atunci când lucrăm cu funcţii de transfer, y (0+) =0 şi se obţine
L { y (t )} = sY ( s ) . Înlocuind în (VI.3) şi scoţând funcţia de transfer ca raport al imaginilor
Laplace ale semnalelor de ieşire şi intrare rezultă funcţia de transfer a unui sistem de tip
integrator:
Y (s) 1
a ⋅ s ⋅ Y (=
s ) U ( s ) ⇒ G (=
s) = (VI.4)
U ( s ) as

82
Model de tip ecuaţie diferenţială de ordin I
Pentru un model a1 y (t ) + a0 y (t ) =
u (t ) cu condiţie iniţială nulă y (0) = 0 (în baza
continuităţii semnalului y (t ) avem y (0+) =y (0) ), obţinem prin aplicarea transformatei
Laplace:
L {a1 y (t ) + a0 y (t )}= L {u (t )} ⇒ a1sY ( s ) + a0Y ( s )= U ( s ) , (VI.5)
Din (VI.5) rezultă funcţia de transfer pentru un sistem de tip integrator:
Y (s) 1
G
= (s) = (VI.6)
U ( s ) a1s + a0

Model de stare
Considerăm un model intrare-stare-ieşire cu n stări şi condiţii iniţiale nule:

{=
x (t ) =
Ax(t ) + Bu (t ) ,
y (t ) Cx(t ) + Du (t )
x(0) =
0n×1 (VI.7)

Aplicarea transformatei Laplace ecuaţiei de stare duce la:


X( s ) AX( s ) + BU ( s ) ,
s= (VI.8)
unde X( s ) notează vectorul coloană conţinând transformatele Laplace ale stărilor x(t ) . Din
(VI.8) se poate scoate X( s ) precum în expresia (VI.9):

( sI − A ) X ( s ) =
BU ( s ) ⇒ X ( s ) =
( sI − A) −1 BU ( s ) , (VI.9)

unde Ι este matricea identitate de ordin n, iar ( sI − A) −1 este inversa matricei pătratice
( sI − A ) .
Transformata Laplace aplicată ecuaţiei ieşirii din modelul (VI.7) conduce la:
Y ( s ) CX( s ) + DU ( s ) ,
= (VI.10)
iar înlocuind expresia lui X( s ) din (VI.9) în (VI.10) obţinem:

C( sI − A) −1 BU ( s ) + DU ( s )
Y (s) =
Din expresia de mai sus rezultă imediat funcţia de transfer a unui model intrare-stare-
ieşire ca fiind:
Y (s)
G (s) = =C( sI − A) −1 B + D (VI.11)
U (s)

Model de tip ecuaţie diferenţială de ordin n


În cazul în care este disponibil un model de tip ecuaţie diferenţială de ordin n (netratat
explicit în cadrul acestui studiu), de forma:
an y ( n ) (t ) + an−1 y ( n−1) (t ) +  + a0=
y (t ) bmu ( m ) (t ) + bm−1u ( m−1) (t ) +  + b0u (t ) ,

83
atunci, în cazul condiţiilor iniţiale nule u ( k ) (0) k 0, m − 1 şi y (l ) (0)
= 0,= = 0,=l 0, n − 1 ,
funcţia de transfer rezultă ca fiind:
Y ( s ) bm s m + bm−1s m−1 +  + b0
G
= (s) =
U ( s ) an s n + an−1s n−1 +  + a0

VI.3. Proprietăţi şi conexiuni standard ale funcţiilor de transfer

Am amintit că un model de tip funcţie de transfer facilitează efectuarea calculelor, faţă


de modelul descris în domeniul timp. Astfel, în cazul în care se cunoaşte funcţia de transfer
G ( s ) a unui sistem şi semnalul de intrare u (t ) aplicat acestui proces, determinarea expresiei
semnalului de ieşire y (t ) se face urmând paşii:
1. se calculează imaginea Laplace U ( s ) a semnalului u (t ) ;
2. se determină Y= ( s ) G ( s ) ⋅ U ( s ) (egalitate care rezultă din (VI.1));
3. având expresia lui Y ( s ) , se calculează funcţia original y (t ) .
Paşii 1 şi 3 de mai sus se pot efectua folosind tabele de transformate Laplace şi
urmând explicaţiile din capitolul II.

Menţionăm că funcţia de transfer permite determinarea rapidă a valorii de regim


staţionar a ieşirii unui sistem, în cazul în care se aplică o intrare constantă u (t )= u= constant
şi dacă polii funcţiei de transfer G ( s ) (rădăcinile polinomului de la numitor) au parte reală
strict negativă. Mai exact, semnalul cauzal de intrare u poate fi privit ca o treaptă de
u u
amplitudine u şi are imaginea Laplace U ( s ) = . De aici rezultă Y ( s )= ⋅ G ( s ) . În baza
s s
teoremei valorii finale a transformatei Laplace (vezi capitolul II) avem: dacă toţi polii lui
sY ( s ) au parte reală strict negativă (ceea ce înseamnă că polii lui G ( s ) au parte reală strict
negativă), atunci:
lim y (t ) = lim ( u ⋅ G ( s ) ) =
lim sY ( s ) = u ⋅ G (0) (VI.12)
t →∞ s →0 s →0

Adică, în cazul în care se aplică o intrare constantă u şi toţi polii funcţiei de transfer
au parte reală strict negativă, ieşirea sistemului tinde spre valoarea de regim staţionar
u ⋅ G (0) . Atenţie: formula anterioară nu se aplică în situaţia în care G ( s ) are poli cu parte
reală zero sau pozitivă! În astfel de situaţii, ieşirea nu tinde spre o valoare staţionară, iar un
astfel de sistem se numeşte instabil extern.

În cazul unui model intrare-stare-ieşire din domeniul timp căruia i s-a construit funcţia
de transfer, polii funcţiei de transfer se regăsesc printre valorile proprii ale matricei A a
sistemului. Aceasta deoarece polinomul caracteristic det( sI − A) apare la numitor în calculul
funcţiei de transfer, conform expresiei (VI.11). Este posibil ca în calculul lui G ( s ) conform
(VI.11) să apară simplificări, şi astfel unele valori proprii se poate să nu se regăsească printre
poli.

84
Subliniem faptul că polii imaginii Laplace a unui semnal oferă anumite informaţii cu
privire la proprietăţi ale semnalului original, precum: mărginire, evoluţie asimptotică,
existenţa oscilaţiilor. Aceste informaţii au fost discutate în subcapitolul II.3 şi sunt utile în
cazul în care calculăm imaginea Laplace a ieşirii, Y ( s ) , şi dorim să aflăm cum se comportă
y (t ) fără a-i calcula expresia.

Un model de tip funcţie de transfer poate fi utilizat schematic în modul următor,


ilustrând conexiunea între intrarea şi ieşirea sistemului prin intermediul funcţiei de transfer:

U (s) Y (s)
G (s)

Figura VI.1. Reprezentarea schematică unui model de tip funcţie de transfer

Uneori, în scheme precum cele din figura VI.1, semnalele de intrare şi ieşire se pot
scrie în domeniul timp ( u (t ) în loc de U ( s ) şi y (t ) în loc de Y ( s ) ):

u (t ) y (t )
G (s)

O astfel de reprezentare nu trebuie să creeze confuzie; funcţia de transfer trebuie


văzută ca o modalitate care procesează semnalul de intrare şi al cărei rezultat este semnalul de
ieşire. Bineînţeles, din punct de vedere al calculului matematic, semnalele u (t ) şi y (t )
trebuie prelucrate folosind imaginile lor Laplace, pentru a fi reprezentate în acelaşi domeniu
(complex) precum funcţia de transfer.

Sunt posibile construcţii sub formă de schemă bloc, care arată conexiunile între mai
multe subsisteme ale unui sistem complex. De exemplu, schema următoare arată că intrarea
sistemului este procesată de două subsisteme având funcţiile de transfer G1 ( s ) , respectiv
G2 ( s ) , ieşirile celor două susbisteme sunt adunate, iar rezultatul constituie intrarea unui al
treilea subsistem cu funcţia G3 ( s ) :

G1 ( s )

U (s) +
Y (s)
+
G3 ( s )

G2 ( s )

Figura VI.2. Exemplu de sistem compus din trei subsisteme


ale căror funcţii de transfer sunt cunoscute

Scheme bloc precum cea din Figura VI.2 pot fi simplificate, astfel încât să se
determine o funcţie de transfer echivalentă care să modeleze transferul de la intrarea U ( s ) la
ieşirea Y ( s ) . Astfel, calculele privind procesarea individuală prin subansamblele sistemului

85
pot fi reduse dacă se obţine o funcţie de transfer echivalentă cu funcţionalitatea sugerată în
Figura VI.3.

G1 ( s )

U (s) +
Y (s) U (s) Y (s)
+
G3 ( s ) Gechivalent ( s )

G2 ( s )

Figura VI.3. Funcţionalitatea funcţiei de transfer echivalente

Astfel de simplificări ale schemelor bloc prin calcul de funcţii echivalente se pot
realiza prin anumite reguli de simplificare ale unor conexiuni standard, cele mai des întâlnite
fiind prezentate mai jos.

Conexiunea serie
În această conexiune, semnalul de ieşire al unui subsistem (bloc) este semnal de
intrare pentru următorul subsistem:

U(s) X1(s) X2(s) Xn-1(s) Y(s)


G1(s) G2(s) Gn(s)
Figura VI.4. Conexiunea serie

Funcţia de transfer echivalentă se poate determina explicitând semnalele intermediare


Y (s)
X 1 ( s ),... X n−1 ( s ) şi izolând raportul :
U (s)
X 1 ( s ) = G1 ( s )U ( s )  n

X i (s) = Gi ( s ) X i−1 ( s ), i =2, n  ⇒ Gech. ( s ) =∏ Gi ( s ) (VI.13)
Y ( s ) = Gn ( s ) X n−1 ( s )  i =1

Conexiunea paralel
În această conexiune, semnalul de intrare este comun tuturor subsistemelor, iar ieşirea
este dată de suma semnalelor de ieşire X 1 ( s ),... X n ( s ) :
X1(s)
G1(s)
+
U(s) X2(s) Y(s)
G2(s) Σ
+
+
Gn(s)
Xn(s)
Figura VI.5. Conexiunea paralel

86
Funcţia de transfer echivalentă rezultă drept suma funcţiilor de transfer ale
subsistemelor:
=X i ( s ) G= i ( s )U ( s ), i 1, n  n

n
Y (s) = ∑ X i (s)
 ∑ Gi (n)
⇒ Gech. ( s ) = (VI.14)
 i =1
i =1 

Menţionăm că în cazul în care ieşirile unor blocuri contribuie cu semn „minus” (în loc
de plus) la ieşirea întregului sistem, atunci funcţiile de transfer ale acelor blocuri vor fi
considerate cu semn „minus” în calculul funcţiei echivalente din (VI.14).

Conexiunea cu reacţie
În această conexiune, un bloc este plasat pe calea directă (care leagă intrarea de ieşire)
şi un bloc este plasat pe calea de reacţie (care aduce la intrare măsurători curente ale ieşirii),
conform Figurii VI.6. Reacţia se numeşte negativă dacă semnalul X 2 ( s ) intră cu semn
„minus” în sumatorul de la intrare, şi se numeşte pozitivă în caz contrar. Sistemele cu reacţie
negativă sunt des întâlnite în practică în scheme de control [Voicu, 2002; Franklin et al.,
2002], însă acest material nu intră în detalii în această privinţă.
U(s) X1(s) Y(s)
G1(s)
+
_
+
X2(s)
G2(s)

Figura VI.6. Conexiunea cu reacţie


(negativă sau pozitivă în funcţie de semnul lui X 2 ( s ) ).

Funcţia de transfer echivalentă poate fi calculată în modul următor:


Y ( s ) = G1 ( s ) X 1 ( s )  G1 ( s )

X 1 (s) = U (s)  X 2 (s)  ⇒ Gech. ( s ) = (VI.15)
X 2 ( s ) = G2 ( s )Y ( s )  1 ± G1 ( s )G2 ( s )

Atenţie: în expresia lui Gech. ( s ) din (VI.15), semnul de la numitor este semnul
schimbat de pe calea de reacţie. Adică în cazul reacţiei negative avem
G1 ( s )
Gech. ( s ) = .
1 + G1 ( s )G2 ( s )

87
VI.4. Reprezentarea modelelor de stare prin diagrame (scheme) bloc

Tranziţia cauzală intrare-ieşire a unui sistem a fost reprezentată în capitolul V printr-o


formulare analitică de tip model de stare. Această tranziţie poate fi reprezentată şi printr-o
combinaţie de elemente grafice simbolizând operaţii matematice de bază, precum
adunare/scădere, amplificare (înmulţire cu o constantă), integrare, derivare. O astfel de
reprezentare se numeşte diagramă (sau schemă) bloc construită cu elementele de bază
amintite, şi oferă un suport intuitiv sporit din punct de vedere al înţelegerii procesării
semnalelor într-un sistem fizic [Păstrăvanu şi Ibănescu, 2001; Kloetzer et al., 2014; Voicu,
2002].
Menţionăm că şi conexiunile de funcţii de transfer corespunzând subsistemelor
componente (precum cele întâlnite în subcapitolul VI.3) reprezintă tot scheme bloc ale unui
sistem, însă nu sunt construite cu elemente de bază, ci cu blocuri mai complexe, de tip funcţie
de transfer cu grad arbitrar pentru numărător şi numitor.

Blocurile de bază menţionate au reprezentarea grafică următoare, corespunzând


descrierii operaţiei respective în domeniul Laplace:
• sumator, operaţie în domeniul timp y (t ) =± u1 (t ) ± ... ± uk (t ) , reprezentare grafică:
U1(s)
±
Y(s)
Uk(s)
±

• înmulţire (amplificare) cu o constantă k, operaţie în domeniul timp


y (t )= k ⋅ u (t ) , reprezentare:
U(s) Y(s) U(s) Y(s)
k k
sau

• integrator (cu condiţie iniţială nulă), operaţie în domeniul timp


t
y (t ) = ∫ u (τ )dτ , reprezentare schematică:
0

U(s) 1 Y(s)
s

• derivator, operaţie în domeniul timp y (t ) = u (t ) , reprezentare grafică:


U(s) Y(s)
s

Construcţia unei scheme bloc ce corespunde unui model intrare-stare-ieşire dat se


poate face prin următorii paşi, în care pentru simplitate se vor folosi descrierile în timp ale
semnalelor:
- Se alege câte un bloc integrator pentru fiecare semnal de stare xi (t ) ; intrarea
blocului este xi (t ) , iar ieşirea bloc este semnalul de stare xi (t ) ;

88
- Fiecare semnal de intrate pentru un integrator, xi (t ) , are o expresie dată de
modelul de stare; această expresie se descrie schematic folosind semnalele de stare
(nederivate) şi intrarea sistemului, conectate prin blocuri de bază conform
expresiei lui xi (t ) ;
- Se construieşte semnalul de ieşire conform expresiei acestuia, în funcţie de
semnalele de stare şi de intrare.

Construcţia unui model de tip diagramă bloc pornind de la un model de stare:

Drept exemplu de construcţie a unei diagrame corespunzând unui sistem descris prin
model de stare, considerăm circuitul RLC serie din subcapitolul V.6, al cărui model intrare-
stare-ieşire este (vezi subcapitolul V.6 pentru construcţie):
 1 
 0 C  0
= x (t )  x(t ) +  1  e(t )
1 R  
− −  L
 L L
uR (t )
= [0 R ] x(t ) + 0 ⋅ e(t )
Diagrama bloc corespunzătoare începe cu adăugarea semnalelor de intrare ( e(t ) ), de
ieşire ( uR (t ) ), şi două blocuri de tip integrator, ale căror ieşiri sunt x1 (t ) ( = uC (t ) ), respectiv
x2 (t ) ( = iL (t ) ):

x1 (t ) 1 x1 (t )
s

uR (t )
e(t )

x2 (t ) 1 x2 (t )
s

Conform modelului de stare, derivata x1 (t ) a primului semnal de stare are expresia:
x (t )
x1 (t ) = 2 . Această funcţionalitate se obţine prin amplificarea lui x2 (t ) cu valoarea
C
1
constantă ; pentru aceasta, se foloseşte un bloc de înmulţire a cărui intrare se conectează la
C
x2 (t ) şi a cărui ieşire se conectează la x1 (t ) :

89
1 x1 (t ) 1 x1 (t )
C s

uR (t )
e(t )

x2 (t ) 1 x2 (t )
s

Similar se construieşte derivata x2 (t ) , care are expresia (conform modelului de stare)
e(t ) − uC (t ) − RiL (t )
x2 (t ) = . Astfel, x2 (t ) se obţine ca ieşire a unui sumator, în care: o intrare
L
1
are semnul “+” şi este conectată printr-un amplificator de constantă la intrarea sistemului,
L
1
e(t ) ; altă intrare are semnul “-” şi se obţine prin amplificarea cu a primei stări,
L
R
x1 (t ) = uC (t ) ; a treia intrare, cu semnul “-”, se obţine prin amplificarea cu a celei de-a
L
doua stări, x2 (t ) = iL (t ) . Figura următoare prezintă implementarea prin diagramă bloc a
ecuaţiilor de stare:

1 x1 (t ) 1 x1 (t )
C s

uR (t )
e(t ) 1
R
L
L

1 –– x2 (t ) 1 x2 (t )
+ s
L

Ieşirea se construieşte conform expresiei din modelul de stare, uR (t ) = Rx2 (t ) (unde


x2 (t ) = iL (t ) ). Astfel, constanta R se înmulţeşte cu a doua stare, rezultatul conectându-se la
ieşirea sistemului. Diagrama bloc obţinută este reprezentată în Figura VI.7.

90
1 x1 (t ) 1 x1 (t )
C s

uR (t )
e(t ) 1 R
R
L
L

1 –– x2 (t ) 1 x2 (t )
+ s
L

Figura VI.7. Diagrama bloc corespunzătoare circuitului RLC serie având modelul intrare-
stare-ieşire construit în subcapitolul V.6

Menţionăm că simplificarea unui model de tip diagramă bloc (precum cel din Figura
VI.7) conform regulilor de simplificare din subcapitolul VI.3 ar conduce, în urma calculelor,
la funcţia de transfer a sistemului modelat. Însă un asftel de calcul al funcţiei de transfer este
mult mai anevoios decât utilizarea expresiei VI.11. Precum a fost menţionat, avantajul
diagramelor bloc este de a prezenta într-o manieră intuitivă modul de procesare al semnalelor
dintr-un anumit sistem, folosind componente ce implementează operaţii matematice de bază.
În capitolul VII (subcapitolul VII.5) vom vedea cum astfel de diagrame bloc pot fi
construite în MATLAB, folosind un mediu software care oferă un atare suport vizual pentru
manipularea blocurilor. Efectuarea schimbărilor unor anumite valori numerice
corespunzătoare sistemului este facilă, aceasta reducându-se la schimbarea constantelor de
amplificare din unele blocuri. De asemenea, semnale din interiorul sistemului (precum
semnalele de stare) pot fi investigate uşor atunci când se utilizează o schemă bloc pentru
efectuarea unor simulări.

91
VI.5. Exemple de probleme rezolvate

Exemplul 1.
Un proces fizic are modelul în domeniul timp descris de:
  x1 (t )   0 2   x1 (t )   0 
  x (t )   −1 −3  x (t )  +  2  u (t )
=
 2   2 

  x1 (t ) 
 y (t ) = [1 0]  x (t ) 
  2 
La intrarea procesului se aplică semnalul cauzal u= (t ) 5, t ≥ 0 .
Să se determine expresia ieşirii y (t ) .
Observaţie: Menţionăm că, pentru simplitate, corespondenţa semnalelor din sistem cu
anumite mărimi fizice nu este specificată, iar unităţile de măsură nu sunt incluse (presupunând
că acestea sunt compatibile unele cu altele). În urma construcţiei corecte a unui model şi a
clasificării acestuia în una din tipurile studiate, calculele se pot face considerând mărimi
abstracte. Bineînţeles, în cazul manipulării valorilor numerice corespunzătoare unui sistem,
acestea trebuie exprimate în unităţi de măsură aflate în corespondenţă (de exemplu toate se
pot exprima în Sistemul internaţional de unităţi (SI)).

Rezolvare:
Modelul disponibil este de tip intrare-stare-ieşire. Un calcul în domeniul timp a ieşirii
y (t ) ar fi greoi, având în vedere soluţiile amintite în capitolul V pentru variabilele de stare şi
pentru variabila de ieşire (amintim de ex. că în coluţii apărea exponenţiala matriceală).
Calculul operaţional (folosind funcţia de transfer) este mult mai uşor, după cum urmează:

Putem calcula modelul de tip funcţie de transfer conform expresiei (VI.11):


−1
 s −2   0 
G ( s )= C( sI − A) −1 B + D= [1 0] ⋅  ⋅
1 s + 3  2 
În urma calculelor inversei matricei ( sI − A) şi a produselor cu vectorii C şi B se
obţine:
4
G (s) = 2
s + 3s + 2
Ştim că putem calcula imaginea Laplace a ieşirii, Y ( s ) , dacă avem funcţia de transfer
şi imaginea Laplace a semnalului de intrare. Deoarece avem intrarea cauzală u (t ) = 5 ,
5
obţinem U ( s ) = (de ex., vezi tabelul de transformate Laplace din subcapitolul II.5, treapta
s
Heaviside). Având în vedere că Y ( s ) = G ( s )U ( s ) (conform expresiei (VI.1)), obţinem:
20
Y ( s ) G=
= ( s )U ( s ) 2
(VI.16)
s ( s + 3s + 2)

92
Menţionăm că, la acest moment, dacă nu am fi avut nevoie de y (t ) ci doar de unele
proprietăţi ale sale, am fi putut deduce pe baza polilor săi (0, -1 şi -2) următoarele (vezi
subcapitolul II.3 pt. reamintirea acestor proprietăţi):
• y (t ) este un semnal mărginit (toţi polii satisfac Re{s} ≤ 0 şi un singur pol
satisface Re{s} = 0 );
• y (t ) tinde asimptotic spre o valoare constantă (valoare de regim staţionar) (are
doi poli în Re{s} < 0 şi un pol în s = 0 );
• y (t ) nu prezintă oscilaţii (nu are poli complex conjugaţi).
Având în vedere că y (t ) tinde spre un regim staţionar, ipotezele teoremei valorii
finale a transformatei Laplace sunt îndeplinite, şi valoarea de regim staţionar a lui y (t ) poate
fi calculată cu această teoremă, sau cu rezultatul din expresia (VI.12):
5 ⋅ G (0) =
yst. = 10
Pentru a determina expresia analitică a lui y (t ) aplicăm transformata Laplace inversă
imaginii Y ( s ) din (VI.16) (descompunere în fracţii simple etc. – vezi capitolul II):
20 A B C 1 1 1
Y (s) = 2 =+ + ... 10 − 20
== + 10
s ( s + 3s + 2) s s + 1 s + 2 s s +1 s+2
Pe baza tabelului cu transformate Laplace din subcapitolul II.5 rezultă:
10 − 20e − t + 10e −2t ,
y (t ) = t≥0
Includem mai jos şi un grafic (obţinut în MATLAB) al semnalului de ieşire y (t ) ; pe
acest grafic se poate observa cu uşurinţă că y (t ) satisface propietăţile sus-amintite (tinde
asimptotic spre valoarea de 10, fără a prezenta oscilaţii).

Figura VI.8. Graficul semnalului de ieşire y (t ) din exemplul 1.

93
Exemplul 2.
Să se determine expresia (în domeniul timp) a ieşirii următorului sistem, considerând
că la intrare se aplică semnalul
= u (t ) sin(2t ), t ≥ 0 :

1
s +1
u (t ) y (t )
+ 1

s+3
1
s+2

Figura VI.9. Structura sistemului considerat în exemplul 2.

Rezolvare:
Sistemul din figura VI.9 este dat prin intermediul unei structuri compusă din trei
subsisteme, fiecare având funcţia de transfer cunoscută. Conform regulilor de simplificare a
schemelor bloc compuse din funcţii de transfer (subcapitolul VI.3), funcţia de transfer
echivalentă a sistemului este:
 1 1  1 1
G (s) =  − ⋅ =
 s + 1 s + 2  s + 3 ( s + 1)( s + 2)( s + 3)
2
Imaginea Laplace a semnalului de intrare este
= {sin(2t )}
U ( s ) L= 2
, de unde
s +4
rezultă imaginea Laplace a semnalului de ieşire:
2
Y ( s ) G=
= ( s )U ( s )
( s + 1)( s + 2)( s + 3)( s 2 + 4)
De aici se poate determina expresia în domeniul timp a semnalului de ieşire (calculul
nu este detaliat, fiind lăsat în seama cititorului). Se obţine în final:
1 1 1 7 9
y (t ) = e − t − e −2t + e −3t − cos(2t ) − sin(2t )
5 4 13 260 260

Semnalul de ieşire este mărginit şi pulsatoriu, având pulsaţia egală cu cea a semnalului
de intrare (proprietăţi care puteau fi deduse folosindu-l doar pe Y ( s ) ). O trasare grafică a
semnalului y (t ) (pe un interval de timp convenabil ales) pune în evidenţă tinderea acestuia
spre un regim permanent pulsatoriu.

94
VI.6. Probleme propuse

Problema 1.
Să se calculeze funcţia de transfer a circuitului RLC serie (pentru care un model de
stare a fost construit în subcapitolul V.6). Intrarea sistemului este tensiunea e(t ) , iar ieşirea
tensiunea la bornele rezistorului, uR (t ) .

Figura VI.10. Circuit RLC serie considerat la Problema 1

Problema 2.
Se consideră sistemul mecanic de amortizare din Figura VI.11.
ieşire
v(t)
k
intrare
m F(t)

γ
Figura VI.11. Sistem considerat la Problema 2

 Ns 
a) Se consideră că amortizorul cu frecare vâscoasă are coeficientul γ = 6   , iar
m
N
coeficientul de elasticitate al resortului este k = 4   . La intrarea sistemului se
m
aplică o forţă constantă, F (t ) = F . Pentru ce valori ale masei m ieşirea nu
prezintă oscilaţii?
 Ns  N
b) Considerând γ = 6   , k = 4   , m = 2 [ kg ] = şi F (t ) 10 [ N ] , t ≥ 0 ,
m m
determinaţi expresia analitică a ieşirii v(t ) .
Notă: Valorile numerice ale constantelor sistemului de mai sus au fost exprimate în SI
pentru a facilita efectuarea calculelor analitice.

95
Problema 3.
Să se determine funcţia de transfer echivalentă a sistemului din Figura VI.12:
2
s +1
2
1
s

3
s+2
Figura VI.12. Schemă bloc pentru Problema 3

Problema 4.
Pentru sistemul din Figura VI.13, să se afle expresia semnalului y (t ) , dacă
u (t ) = {
0, t < 0
2, t ≥ 0
.

u(t) 1 y(t)
2
s + 6s + 5

3
Figura VI.13. Sistemul considerat la Problema 4

Problema 5.
Să se calculeze funcţiile de transfer corespunzând modelelor de stare construite la
Problemele 4 şi 5 din subcapitolul V.7.
Observaţie: Pentru modelele de stare cu mai mult de 3 stări puteți folosi calculul
simbolic din MATLAB (în principal datorită inversei matriceale). Reamintim că ideea de
calcul simbolic în MATLAB a fost prezentată în subcapitolul II.7.

96
97
VII. SIMULAREA MODELELOR MATEMATICE
ÎN MEDIUL SOFTWARE MATLAB

VII.1. Introducere
Un aspect foarte important în studiul modelelor ce corespund sistemelor fizice este
reprezentat de analiza numerică. Pe lângă beneficiile aduse de uşurinţa obţinerii unor
reprezentări grafice corespunzătoare comportărilor modelate, simulările folosind programe
software dedicate permit studiul unor modele complexe, pentru care obţinerea unor soluţii
analitice (sub formă de expresii matematice) este greoaie sau chiar imposibilă.
După cum s-a observat în capitolele anterioare, simulările modelelor studiate au
permis obţinerea de grafice care să sprijine înţelegerea anumitor fenomene. Pe lângă grafice,
analiza numerică permite o inspectare mai detaliată a anumitor aspecte (precum valori exacte
la anumite momente de timp, amplitudini ale oscilaţiilor, maxime locale etc).
Acest capitol îşi propune o trecere în revistă a câtorva metode de simulare a modelelor
dinamice prezentate până acum. Software-ul folosit va fi MATLAB-ul, care a fost introdus în
capitolul I şi utilizat de-a lungul celorlalte capitole în vederea obţinerii diverselor rezultate de
simulare.
Modelele dinamice ale sistemelor fizice studiate în capitolele anterioare au fost
exprimate matematic sub forma uneia sau mai multor ecuaţii diferenţiale, expresia analitică a
soluţiei incluzând în general evaluarea unor integrale definite în timp. Metodele numerice
pentru simularea acestor sisteme sunt bazate pe algoritmi de integrare numerică. Astfel de
algoritmi permit rezolvarea numerică a sistemelor de ecuaţii diferenţiale prin construcţia
soluţiilor pe baza evaluării numerice a integralelor, paşii de integrare pentru variabila timp
fiind deseori aleşi dinamic, în funcţie de tendinţa curentă de evoluţie a soluţiilor. Nu vom
insista pe detalii specifice metodelor de integrare, aceste aspecte făcând scopul unor întregi
studii specifice calculului numeric. Cititorul interesat de algoritmii de integrare numerică şi de
discuţii cu privire la alegerea anumitor algoritmi pentru o problemă specifică poate consulta
lucrări precum [Marcu şi Mirea, 2006; Sauer, 2011].
Acest capitol prezintă diverse modalităţi de simulare oferite de MATLAB, incluzând
de asemenea exemple pentru fiecare din variante. Alegerea unei modalităţi specifice depinde
de factori multipli, precum licenţa MATLAB disponibilă, preferinţele sau înclinaţiile
utilizatorului spre programare sau spre utilizarea de interfeţe grafice.

98
VII.2. Modalităţi de simulare şi alegerea timpului de simulare

Modalităţile de simulare oferite de MATLAB se împart în două mari clase:


a) prin apelarea unor funcţii specifice în programe scrise de utilizator;
b) prin utilizarea unei interfeţe grafice.

Situaţia (a) presupune crearea de către utilizator a unui program MATLAB (“script
file”, cu extensia .m), acest program incluzând definirea modelului ce trebuie simulat şi
apelarea unor funcţii care realizează simularea. Chiar dacă presupune un anumit efort de
programare, modalitatea respectivă oferă un control sporit asupra unor aspecte ale simulării
sau asupra manipulării ulterioare a rezultatelor numerice obţinute.
În cazul (a), al efectuării simulărilor modelelor dinamice prin funcţii proprii
MATLAB, există două posibilităţi:
a.1) utilizând rutine de integrare numerică, acestea fiind disponibile în versiunea
de bază a MATLAB-ului (fără toolbox-uri adiţionale);
a.2) utilizând rutine dintr-un toolbox dedicat, denumit „Control System Toolbox”
(variantă care presupune achiziţia şi instalarea pachetului de funcţii amintit).

Modalitatea (b) se referă la utilizarea unei interfeţe grafice din MATLAB, denumită
Simulink. În această interfaţă grafică, utilizatorul operează cu blocuri ce reprezintă modelul
dorit sau subsistemele componente, într-un mod similar cu diagramele bloc prezentate în
capitolul VI. Efortul de programare este diminuat (trebuind doar introduşi anumiţi parametri
specifici în blocurile utilizate), iar simulările permit o interpretare rapidă a rezultatelor – în
special cu ajutorul reprezentărilor grafice. Însă, în cazul în care se doresc manipulări
ulterioare ale valorilor numerice obţinute cu ajutorul unor funcţii sau programe MATLAB,
aceste valori trebuie exportate din Simulink în mediul MATLAB.

În aceast subcapitol vor fi prezentate cele trei variante amintite anterior (a.1, a.2, b), în
subcapitolele VII.3, VII.4, respectiv VII.5. Alegerea unei variante poate fi impusă de licenţa
disponibilă MATLAB (variantele a.2 şi b necesitând licenţe adiţionale celei de bază), sau
poate depinde de preferinţa utilizatorului (programare şi acces rapid la valorile numerice
obţinute, sau utilizarea interfeţei grafice pentru a obţine rapid rezultate grafice şi pentru a
putea schimba uşor structura sistemelor descrise prin scheme/diagrame bloc).

Alegerea timpului de simulare

Indiferent de modalitatea de simulare aleasă, trebuie ales un interval convenabil de


variaţie pentru variabila independentă timp (t). Dacă momentul iniţial de timp este 0, aceasta
înseamnă de fapt stabilirea unui moment de timp tsim , rezultatul simulării fiind disponibil
pentru valori t ∈ [ 0, tsim ] .
Pe de o parte, intervalul [ 0,tsim ] trebuie să fie suficient de lung, astfel încât să includă
comportarea de regim tranzitoriu şi atingerea unui regim permanent sau staţionar (dacă un
astfel de regim există – condiţie discutată în funcţie de polii funcţiei de transfer sau valorile
proprii ale matricei A a unui model de stare). Pe de altă parte, alegerea unui interval de

99
simulare prea lung aduce anumite dezavantaje: regimul tranzitoriu se poate sa nu fie surprins
cu suficientă acurateţe (este mult mai scurt decât tsim ), iar integrarea numerică se realizează în
prea multe puncte, ceea ce înseamnă o creştere a timpului de calcul. De obicei, se preferă ca
lungimea intervalului de simulare să fie de aproximativ 1,5 ori mai mare decât durata
regimului tranzitoriu (a.i. pentru circa o treime din simulare se poate observa regimul
permanent sau staţionar).
Din punct de vedere numeric, se recomandă alegerea unei valori tsim în funcţie de polii
modelului (în cazul unei funcţii de transfer) sau în funcţie de valorile proprii ale matricei A
(în cazul unui model de stare). Sub aspect orientativ, se poate alege ca primă variantă:
5
tsim > , (VII.1)
Re( pi )

unde pi este polul (valoarea proprie) ce are modulul minim al părţii reale (polul cel mai
apropiat faţă de axa imaginară). După efectuarea simulării, valoarea lui tsim se poate ajusta în
funcţie de rezultatul obţinut.

Alegerea pasului de simulare

În cazul utilizării anumitor rutine de simulare, trebuie de asemenea ales şi un pas de


eşantionare (discretizare) pentru variabila timp, denumit în continuare past . Astfel, din punct
de vedere al calculului numeric, intervalul [ 0,tsim ] va fi reprezentat prin puncte aflate la o
distanţă past unul de celălalt. Bineînţeles, alegerea unei valori prea mici pentru past duce la
un consum sporit de memorie şi la o viteză de calcul mai mică, în timp de alegerea unei valori
prea mari pentru past duce la reprezentarea semnalelor prin prea puţine puncte, fapt care
poate denatura răspunsul obţinut (ducând uneori la obţinerea unor valori numerice eronate
faţă de evoluţia reală a semnalelor corespunzătoare). Cu titlu orientativ, când este nevoie de
ales un pas de simulare past , se recomandă utilizarea expresiei:
1
past < , (VII.2)
3⋅ p j

unde p j este polul (valoarea proprie) ce are modulul maxim (polul cel mai depărtat faţă de
originea planului complex).
Discuţii suplimentare asupra alegerii valorilor tsim şi past nu fac obiectul prezentului
studiu, acestea putând fi găsite în lucrări dedicate problemelor de integrare numerică [Marcu
şi Mirea, 2006; Sauer, 2011] sau în capitole specifice ale altor studii [Păstrăvanu şi Ibănescu,
2001; Franklin et al., 2002].

100
VII.3. Simularea modelelor dinamice utilizând
rutine de integrare numerică din MATLAB

Această metodă presupune cunoaşterea unui model descris în domeniul timp (nu sub
formă de funcţie de transfer). Vom considera cel mai general model în domeniul timp studiat,
anume modelul intrare-stare-ieşire. Metoda include de obicei următorii paşi principali:
1. scrierea ecuaţiilor diferenţiale ale modelului sub forma unei funcţii MATLAB;
2. alegerea unui interval de simulare;
3. integrarea numerică pentru a obţine valorile semnalului (semnalelor)
necunoscute din ecuaţiile diferenţiale;
4. calcularea ieşirii sistemului, în cazul în care aceasta nu se află printre
semnalele de la punctul 3;
5. reprezentări grafice şi/sau aflarea unor valori de interes (de ex. valori minime,
maxime ale semnalelor) pentru a surprinde comportarea modelului simulat.

Paşii de mai sus vor fi prezentaţi prin construcţia şi explicarea unui program
MATLAB care simulează comportarea circuitului RLC serie care a fost referit în capitolele
anterioare. Modelul intrare-stare-ieşire al acestui sistem este (pentru construcţie vezi exemplul
din subcapitolul V.6):
 1 
 0  0
=x (t )  C x(t ) +  1  e(t )
1 R  
− −  L
 L L
, (VII.3)
uR (t )
= [0 R ] x(t ) + 0 ⋅ e(t )
unde tensiunea sursei e(t ) este intrare, tensiunea la bornele rezistorului uR (t ) este ieşire, iar
u (t ) 
vectorul de stare cuprinde semnalele x(t ) =  C  .
 iL (t ) 
Pentru simulare, vom considera valorile numerice folosite la Problema 2 din capitolul
V: R = 5 kΩ, L = 0.3 H, C = 0.2 µF, e(t ) = constant = 5 V. Bineînţeles, aceste valori vor fi
prelucrate numeric exprimându-le pe toate în sistem internaţional de unităţi (adică R = 5e3
[Ω], C = 0.2e-6 [F], unde s-a folosit scrierea inginerească aeb ≡ a ⋅10b ).

Pasul 1 de mai sus înseamnă crearea unei funcţii MATLAB care returnează valoarea
vectorlui x (t ) pentru timpul curent t. Această funcţie implementează de fapt expresiile
matematice din ecuaţia de stare a modelului. În cazul de faţă, creăm o funcţie MATLAB
denumită model_RLC cu conţinutul (porţiunile de cod de după simbolul % sunt comentarii):
function dX = model_RLC(t,X, e,A,B)
%intrari:
%t - timp curent, X - valoarea curenta a vectorului de stare,
%e - valoarea intrarii,
%A - matricea A din modelul de stare, B - vectorul B

%iesire: vectorul derivat al starilor

dX=A*X + B*e; %vectorul derivat al starilor

101
Funcţia va primi argumentele e, A, B (constante) şi va returna valoarea curentă a lui
x(t ) în funcţie de x(t ) şi t . Funcţia trebuie salvată sub un fişier cu acelaşi nume şi extensie
.m, adică model_RLC.m . Fişierul trebuie să fie accesibil din programul care va fi creat în
continuare (de ex. punând şi programul şi funcţia în acelaşi director).

Pasul 2 presupunea alegerea unei valori pentru timpul de simulare tsim . Conform
ecuaţiei (VII.1), această valoare se alege în funcţie de valorile proprii ale matricei A, care sunt
în cazul de faţă: -1068.5 şi -15598 (pot fi calculate în MATLAB cu comanda eig(A) ).
Prima valoare proprie este cea mai apropiată de axa imaginară, şi conform (VII.1) rezultă
5
tsim > = 0.0047 . Adică, tsim trebuie să fie strict mai mare de 4.7 ms; vom alege tsim = 7
1068.5
ms.

Pasul 3 realizează integrarea numerică cu ajutorul unei funcţii specifice MATLAB,


care apelează funcţia creată la pasul 1. Există un set de funcţii de integrare numerică a
ecuaţiilor diferenţiale ordinare în MATLAB, având numele ode23, ode45, ode113,
ode15s, ode23s, ode23t, ode23tb. Nu insistăm asupra alegerii uneia din aceste
funcţii (astfel de decizii depind de tipul de comportare a sistemului (stiff/nonstiff), de precizia
dorită etc). Pentru mai multe detalii recomandăm documentaţia MATLAB sau studii precum
[Shampine, 1994; Marcu şi Mirea, 2006; Păstrăvanu şi Ibănescu, 2001]; în cele ce urmează
vom folosi funcţia ode45 pentru integrare numerică (această funcţie fiind de fapt prima
variantă recomandată de MATLAB).
Funcţia ode45 este apelată într-un program (fişier MATLAB, de ex. denumit
RLC_serie_ode.m) care va simula modelul dat. Programul trebuie să conţină în primul
rând valorile numerice ale componentelor sistemului, timp de simulare etc. După integrarea
numerică se obţin valorile x(t ) la anumite momente de timp. Notă: rutina ode45 alege
automat momentele de timp din intervalul [ 0,tsim ] (fiind metodă de integrare cu pas adaptiv),
utilizatorul netrebuind să impună un anumit pas de eşantionare pentru timp.
Valorile x(t ) vor fi folosite în pasul 4 (calculul ieşirii presupune de fapt utilizarea
ecuaţiei ieşirii din modelul (VII.3)) şi în pasul 5 (în cazul de faţă fiind efectuate reprezentări
grafice şi fiind calculată şi afişată valoarea maximă a ieşirii şi timpul corespunzător al acestui
maxim). Codul programului RLC_serie_ode.m este dat mai jos, cu comentariile aferente:
%valori numerice
R=5e3;
L=0.3;
C=0.2e-6;
e=5;

t_sim=7e-3; %timp de simulare


X0=[0;0]; %conditii initiale

%matricea A, vectorii B, C din model:


A = [0 1/C ; -1/L -R/L];
B = [0 ; 1/L];
C_vect=[0 R];
D=0;

[Timp,X_val] = ode45(@(t,X) model_RLC(t,X,e,A,B),[0 t_sim],X0);


%Timp - vector coloana cu momente de timp
%X_val - matrice cu (nr. linii = nr. puncte din Timp) si 2 coloane
%X_val(i,:) contine valorile starilor (vector linie)

102
%la momentul de timp Timp(i)

u_R=C_vect*X_val'+D*e; %expresia iesirii

plot(Timp', u_R, 'LineWidth',2);


title('Evolutia semnalului de iesire in timp');
xlabel('timp')
ylabel('tensiunea la bornele rezistorului, u_R')
grid

[u_R_max,ind_T]=max(u_R); %maximul iesirii si timpul corespunzator


fprintf('\n Valoarea maxima a iesirii este de %g [V], la momentul de
timp %g [s]\n',u_R_max,Timp(ind_T))

Graficul obţinut este reprezentat în Figura VII.1. În fereastra de comandă se afişează


un mesaj conform căruia valoarea maximă a tensiunii uR este de aproximativ 4,4 [V], atinsă
la timpul de aprox. 0,18 [ms].

Figura VII.1. Rezultatul simulării folosind integrarea numerică

103
VII.4. Simularea modelelor dinamice utilizând
rutine din „Control System Toolbox”

Presupunem că toolbox-ul necesar este instalat (toolbox-urile instalate se pot verifica


în MATLAB folosind comanda ver). Varianta din acest subcapitol presupune o flexibilitate
şi o uşurinţă sporită în efectuarea simulărilor. Pe lângă simulări, toolbox-ul de control are şi o
multitudine de funcţii dedicate analizei şi sintezei sistemelor automate – aceste funcţionalităţi
nu vor fi prezentate, deoarece nu fac obiectul studiului curent. Faţă de cazul din subcapitolul
VII.5, sunt uşor de manipulat modele fie de tip intrare-stare-ieşire sau de tip funcţie de
transfer, este posibilă conversia între aceste tipuri de modele, şi este mult mai facilă simularea
pentru diverse forme ale semnalului de intrare.
Pe lângă introducerea valorilor numerice şi trasarea graficelor, sunt doi paşi de bază în
efectuarea unei simulări folosind toolbox-ul amintit:
• definirea modelului;
• realizarea simulării.

Definirea modelului

În cazul unui model intrare-stare-ieşire, acesta se defineşte folosind funcţia ss (State-


Space). Funcţia returnează o structură ce conţine informaţiile necesare despre model.
Pentru exemplul circuitului RLC serie considerat mai sus, presupunem că valorile
numerice R,L,C şi condiţia iniţială X0 sunt deja definite în MATLAB, iar matricea A, vectorii
B, C_vect, scalarul D sunt creaţi. Atunci, modelul este creat cu comanda următoare (modelul
este denumit aici RLC_mod_st):
RLC_mod_st = ss(A,B,C_vect,D)

În cazul unui model de tip funcţie de transfer, în locul funcţiei ss se foloseşte funcţia
tf (Transfer Function). Argumentele funcţiei tf sunt doi vectori, primul conţinând
coeficienţii numărătorului (în ordine descrescătoare a puterilor lui s ), iar al doilea conţinând
coeficienţii numitorului (în ordine descrescătoare a puterilor lui s ). De exemplu, pentru
2s + 1
crearea în MATLAB a funcţiei de transfer G ( s ) = 3 (aici arbitrar aleasă) se foloseşte
s + 5s + 3
comanda:
model = tf([2 1],[1 0 5 3])

Conversia între cele două tipuri de model de mai sus este posibilă, folosind drept
argument al funcţiei ss modelul tip funcţie de transfer şi vice-versa. De exemplu, dacă dorim
să stocăm modelul de tip funcţie de transfer al circuitului RLC serie (care are deocamdată
model de stare), apelăm comanda:
RLC_mod_transfer = tf(RLC_mod_st)

104
Realizarea simulării dorite

Dacă se doreşte obţinerea rapidă a graficului ieşirii pentru cazul în care condiţia
iniţială este nulă, iar la intrare se aplică un semnal treaptă unitate (treaptă Heaviside), se
foloseşte comanda step, fără argumente de ieşire:
step(RLC_mod_st)

Se obţine graficul ieşirii (timpul şi pasul de eşantionare fiind automat aleşi), pentru o
intrare treaptă unitate (vezi rezultatul în Figura VII.2). În locul modelului de stare se poate
folosi modelul de tip funcţie de transfer.

Figura VII.2. Rezultatul simulării circuitului RLC serie pentru intrare e(t ) = 1 [V]

Dacă se doreşte simularea pentru o intrare constantă de valoare diferită de 1, şi un


control asupra valorilor ieşirii, se pun argumente de ieşire la funcţia step. În exemplul
următor, se obţine rezultatul simulării pentru intrare e(t ) = 5 [V] (se simulează pentru intrare
unitară, iar rezultatul returnat de funţia step se înmulţeşte cu 5, conform liniarităţii modelului).
Vectorul u_R conţine ieşirea, X conţine stările, aceste semnale fiind cunoscute la momentele
de timp din vectorul timp:
[u_R,timp,X] = step(RLC_mod_st);
u_R=u_R*5;
X=X*5;
plot(timp,u_R)
figure
subplot(211)
plot(timp,X(:,1))
subplot(212)
plot(timp,X(:,2))

105
Se obţine un grafic al ieşirii precum şi în subcapitolul VII.3. Graficele semnalelor de
stare sunt prezentate în Figura VII.3.

Figura VII.3. Evoluţia în timp a stărilor, pentru intrare e(t ) = 5 [V]

Funcţia lsim

În cazul în care se doreşte un control sporit asupra simulării se foloseşte funcţia lsim.
Aceasta permite specificarea unei intrări variabilă în timp, a unui vector de timp care
eşantionează intervalul dorit [ 0,tsim ] , a unei condiţii iniţiale nenule. În cazul folosirii funcţiei
lsim, trebuie construit în prealabil un vector de timp cu pas constant past (ales de exemplu
conform expresiei (VII.2)) şi un vector conţinând valorile intrării la acele momente de timp.
Presupunem că dorim să simulăm comportarea circuitului RLC serie în cazul unei
condiţii iniţiale uC (0) = 2 [V], iL (0) = 0 [A] (iniţial condensatorul încărcat), pentru o intrare
 2π 
e(t ) = 3sin  −3 t  [V] (sinus de amplitudine 3 şi perioadă 1 ms).
 10 
Durata de simulare o vom alege de tsim =8 [ms] (astfel încât să surprindem, pe lângă
regimul transzitoriu, o parte din regimul permanent şi suficiente pulsaţii ale acestuia). Pasul
de eşantionare impus de sistem trebuie să respecte (conform (VII.2)) past < 2 ⋅10−5 [s]. Acest
pas trebuie însă corelat şi cu forma semnalului de intrare (astfel încât semnalul de intrare să
nu fie denaturat datorită eşantionării în prea puţine puncte). Corelaţia pasului de eşantionare şi
a formei unui semnal depăşeşte scopul acestui studiu – de exemplu se pot vedea studii cu
privire la teorema eşantionării (Nyquist-Shannon), precum [Franklin et al., 2002]). În cazul de
faţă vom alege past = 10−5 [s] (intervalul de simulare va fi surprins în aprox. 800 puncte, ceea
ce nu reprezintă deloc o problemă d.p.d.v. al aspectelor computaţionale).

Programul pentru realizarea simulării propuse (având deja modelul RLC_mod_st


creat) poate fi de genul următor:

106
%modelul RLC_mod_st deja creat
X0=[2;0]; %conditii initiale
t_sim=8e-3; %timp simulare
pas_t=1e-5; %pas esantionare timp

t=0:pas_t:t_sim; %vector timp


e_t=3*sin(2*pi*t/1e-3); %valori intrare

[u_R,timp,X]=lsim(RLC_mod_st,e_t,t,X0); %simulare

figure;
subplot(211)
plot(timp,e_t,'LineWidth',2)
xlabel('timp [s]'); ylabel('intrarea e(t) [V]');
grid
subplot(212)
plot(timp,u_R,'LineWidth',2)
xlabel('timp [s]'); ylabel('iesirea u_R [V]')
grid

figure;
subplot(211)
plot(timp,X(:,1));
xlabel('timp [s]'); ylabel('u_C [V]'); title('Evolutia
starilor')
subplot(212)
plot(timp,X(:,2)); xlabel('timp [s]'); ylabel('i_L [A]');

Graficele intrării şi al ieşirii sunt prezentate în Figura VII.4, iar evoluţia stărilor în
Figura VII.5. În Figura VII.4 se observă că ieşirea tinde spre un regim permanent de aceeaşi
pulsaţie cu intrarea (aspect discutat în capitolul V). În Figura VII.5 se observă că starea uC (t )
porneşte din condiţia iniţială dorită (2 V), ambele stări tinzând spre comportări de regim
permanent.

Figura VII.4. Evoluţia ieşirii pentru o intrare sinusoidală,


simularea fiind obţinută cu funcţia lsim

107
Figura VII.5. Evoluţia stărilor pentru o intrare sinusoidală,
(simulare obţinută cu funcţia lsim)

Bineînţeles, orice manipulare a valorilor numerice obţinute în urma simulării cu


funcţia lsim este posibilă – în cazul anterior, vectorul timp conţine momentele de timp,
vectorii e_t şi u_R conţin valorile intrării, respectiv ieşirii la momentele din vectorul timp,
iar X este o matrice cu două coloane, fiecare coloană corespunzând unei stări.

VII.5. Simularea modelelor dinamice utilizând


mediul vizual „Simulink”

Simulink-ul este un subprogram al MATLAB-ului care oferă o modalitate eficientă de


a opera cu modele de tip diagramă (schemă) bloc. Astfel, un model al unui sistem fizic studiat
poate fi descris fie printr-un singur set de ecuaţii matematice (de ex. model intrare-stare-ieşire
în domeniu timp sau funcţie de transfer în domeniul complex) sau prin conexiuni între
subsisteme componente. Aceste conexiuni arată modul în care semnalele sunt procesate de
anumite subansamble (blocuri) ale sistemului studiat, fiecare din aceste blocuri fiind descris
de o funcţie de transfer sau de un model în domeniul timp.
Scheme bloc de acest tip au fost prezentate în capitolul VI prin prisma funcţiilor de
transfer. Este clar că astfel de diagrame pot arăta, în mod similar, şi conexiuni între
componente modelate în domeniul timp (prin ecuaţii diferenţiale). Schemele bloc oferă un
suport mai intuitiv din punct de vedere al procesării semnalelor şi al interacţiunii
subsistemelor componente în cadrul unui sistem.
Simulink-ul permite simularea unui sistem fie prin intermediul unui singur model
matematic al acestuia, fie prin intermediul unei sheme bloc ce arată conexiunile şi modelele
matematice ale unor subansamble. În cele ce urmează se presupune că Simulink-ul este
instalat în MATLAB (aspect verificabil folosind comanda ver). Prezentarea va avea în
vedere versiunea 7.11 (2010b) a MATLAB-ului şi versiunea 7.6 (2010b) a Simulink-ului, însă
ideile pot fi cu uşurinţă aplicate şi în cazul unor versiuni mai actuale.

108
Lansarea în execuţie a Simulink-ului se face fie scriind comanda simulink la
prompter-ul MATLAB-ului, fie apăsând pictograma din mediul din partea de sus a
ferestrei MATLAB. După încărcare, se va obţine fereastra de bază a Simulink-ului, prezentată
în Figura VII.6. În această fereastră sunt menţionate pachetele de blocuri (toolbox-urile)
instalate. Ne va interesa doar pachetul de bază (Simulink), celelalte toolbox-uri conţinând
elemente cu funcţionalitate specifică, dedicate anumitor domenii de studiu. Pachetul de bază
al Simulink-ului are blocurile grupate în mai multe rubrici (“Commonly Used Blocks”,
“Continuous” etc.). Deschiderea unei rubrici (prin dublu-click pe pictograma corespunzătoare
sau prin selectarea rubricii în meniul din partea dreaptă) permite vizualizarea blocurilor
componente.

crearea unui
model nou

blocuri de bază
ale Simulink-ului rubrici cu blocuri de
bază, grupate după
funcţionalitate

pachete adiţionale
cu blocuri specifice

Figura VII.6. Fereastra de bază a Simulink-ului,


având indicate câteva elemente

Pentru crearea unui nou model (planşă de lucru) Simulink, se apasă butonul indicat în
Figura VII.6, sau se foloseşte meniul „File -> New -> Model”. Fereastra nou deschisă
(modelul Simulink) permite crearea unei scheme bloc ce corespunde modelului dorit. Modelul
se poate salva, fişierul primind automat extensia “.mdl”.

Schema dorită se construieşte trăgând blocurile dorite din rubricile de bază ale
Simulink-ului. Din acest considerent, se recomandă poziţionarea facilă a ferestrei Simulink şi
a ferestrei ce conţine modelul în lucru (de ex. precum în Figura VII.7).

109
model Simulink în
care se construieşte
rubrica “Continuous”
schema dorită
selectată

Figura VII.7. Fereastra de bază a Simulink-ului şi un model (planşă)


în care se va construi schema bloc corespunzătoare modelului matematic.

Pentru exemplificare, presupunem că dorim să simulăm circuitul RLC serie (simulat în


subcapitolele anterioare prin metode de programare). Modelul de stare şi valorile numerice
sunt cele menţionate în subcapitolul VII.3. Presupunem că valorile numerice R, L, C sunt
definite în linia de comandă a MATLAB-ului (exprimate în sistem internaţional).

O variantă de simulare este să folosim blocul “State-Space” din Simulink. Acesta


corespunde unui model de stare (după cum sugerează numele şi pictograma sa). Primul pas
este să tragem blocul în modelul (planşa) Simulink (prin operaţie de “drag and drop”). Apoi,
trebuie setate valorile specifice în funcţie de modelul dorit. Pentru aceasta, se dă dublu-click
pe blocul din modelul Simulink (nu pe cel din fereastra de bază). Se introduc expresiile
matricei A, vectorilor B, C şi a constantei D corespunzătoare modelului (VII.3), precum şi
condiţia iniţială (nulă în cazul de faţă) – vezi Figura VII.8.

Figura VII.8. Setarea parametrilor blocului “State-Space”

110
Notă: Dacă se doreşte, în setările blocului pot fi introduse direct valorile numerice (caz
în care variabilele R, L, C nu mai trebuie neapărat să fie instanţiate în prealabil în linia de
comandă). Totuşi, recomandăm varianta prezentată mai sus, pentru a putea schimba cu
uşurinţă valorile unor componente (în linia de comandă) dacă este cazul.

După închiderea blocului ce conţine modelul sistemului, trebuie adăugată o sursă de


semnal la intrare. Sursele de semnal se găsesc în rubrica “Sources” a Simulink-ului. Având
nevoie de o intrare treaptă, putem alege fie blocul “Step”. După plasarea acestuia pe model, se
setează parametri doriţi:
- „Step time” – timpul la care se produce saltul în intrare – valoare 0;
- „Initial value” – valoare 0;
- „Final value” – valoare 5 (semnalul cauzal de la intrare basculează din valoarea 0
în valoarea 5, la timpul 0). Ceilalţi parametri rămân neschimbaţi.

Blocul de sursă trebuie conectat la modelul creat anterior. Pentru conectarea unor
blocuri, fie se ţine mouse-ul apăsat şi se conectează ieşirea unui bloc cu intrarea celuilalt, fie
se ţine apăsată tasta “Ctrl” şi se dă click pe primul bloc, apoi pe al doilea.

Trebuie inserată o modalitate de vizualizare a semnalului de la ieşirea modelului în


schema Simulink. Pentru aceasta, se foloseşte blocul “Scope” din rubrica “Sinks” a Simulink-
ului. Blocul scope permite vizualizarea grafică a unui semnal. Fereastra în care este afişat
semnalul se obţine dând dublu-click pe blocul “Scope”. Dacă se doreşte afişarea pe aceeaşi
fereastră a mai multor semnale, semnalele respective se grupează folosind un bloc de
multiplexare “Mux”, iar ieşirea acestui bloc se conectează la intrarea în “Scope”.

Schema obţinută până acum arată ca în Figura VII.9 (unde este deschisă şi fereastra
grafică corespunzătoare blocului “Scope”.

Figura VII.9. Schemă Simulink şi fereastra grafică


a blocului de vizualizare “Scope”

111
Acum trebuie doar setat timpul de simulare şi rulată simularea. Timpul de simulare se
setează în modelul Simulink creat, în partea de sus (valoarea iniţială fiind 10.0, exprimat în
secunde). Alegerea timpului de simulare a fost discutată în subcapitolul VII.2. În cazul de faţă
alegem un timp de simulare de 7 ms (introducem “0.007” sau “7e-3” în locul corespunzător
timpului de simulare). Rularea simulării se realizează apăsând butonul din modelul
Simulink, sau selectând meniul “Simulation -> Start”. În fereastra grafică a blocului “Scope”
se obţine graficul ieşirii; autoscalarea axelor acestui grafic se obţine apăsând butonul din
fereastra grafică. Figura VII.10 prezintă rezultatul simulării descrise.

timp de
simulare

rularea
simulării

autoscalarea
graficului
obţinut

Figura VII.10. Setarea timpului de simulare, rularea simulării şi scalarea graficului obţinut

Menţionăm că, în locul modelului descris prin blocul “State-Space” se pot folosi
descrieri diferite, în funcţie de modelul matematic de care dispunem. Astfel, se poate utiliza o
descriere folosind funcţia de transfer (cu blocul Simulink “Transfer Fcn” – funcţia specifică
introducându-se prin dublu-click pe blocul plasat în modelul Simulink), sau se pot construi
scheme (diagrame) bloc arâtând conexiuni între componentele sistemului.
În ultimul caz se pot folosi chiar şi blocuri ce corespund unor operaţii de bază, precum
adunare (“Sum”), integrare (“Integrator”), amplificare cu o constantă (“Gain”). Modalităţi de
construcţie a diagramelor bloc folosind astfel de blocuri de bază au fost prezentate în
subcapitolul IV.4. Drept exemplu, implementarea în Simulink a schemei bloc din Figura VI.7
ar permite simularea circuitului RLC serie (rezultatul numeric pentru ieşire fiind acelaşi ca şi
în cazul utilizării unei descrieri intrare-stare-ieşire, precum în figura VII.10). Utilizarea
schemei bloc în loc de modelul de stare sau de funcţia de transfer echivalentă permite
inspectarea altor semnale din sistem (de exemplu a stărilor), prin simpla conectarea a unui
“Scope” la fiecare semnal ce se doreşte investigat.

112
În încheierea acestui subcapitol, reamintim paşii principali pentru realizarea unei
simulări folosind mediul vizual Simulink:

• Crearea unui model nou Simulink (planşă/fereastră de lucru);


• Aducerea din Simulink a blocurilor necesare pentru construcţia modelului
matematic (de ex. des întâlnite sunt blocuri precum “State-Space”, “Transfer
Fcn”, “Sum”, “Integrator”, “Gain”, “Mux”;
• Construirea funcţionalităţii dorite prin setarea parametrilor fiecărui bloc şi
conectarea blocurilor; dacă este necesar, blocurile se pot roti (cu “Ctrl+R”), se
pot redenumi (dând click pe numele blocului) etc.;
• Introducerea unui bloc sursă, care generează forma dorită a semnalului de
intrare; după setarea parametrilor blocului sursă, acesta se conectează la
intrarea sistemului;
• Aducerea în schema creată a unui bloc de vizualizare “Scope” şi conectarea
acestuia la ieşirea sistemului. Dacă se doreşte inspectarea mai multor semnale
din sistem, se pot utiliza mai multe blocuri Scope, sau se pot cupla semnalele
printr-un “Mux”. Deschiderea ferestrei/ferestrelor grafice se face prin dublu-
click pe blocul/blocurile “Scope”;
• Setarea timpului de simulare şi rularea simulării. Graficele obţinute se pot
autoscala pentru încadrare corespunzătoare;
• Dacă se doreşte setarea unor parametri specifici de simulare (precum metodă
de integrare, alegerea pasului de integrare etc), se foloseşte meniul “Simulation
-> Configuration Parameters” din fereastra modelului Simulink. De exemplu,
dacă în urma simulării se obşin grafice nu foarte netede (din cauza unor paşi de
timp prea mari aleşi în timpul integrării), se poate impune o valoare suficient
de mică pentru pasul maxim, folosind “Max step size” din meniul “Solver” al
ferestrei de configurare a parametrilor.

VII.6. Probleme propuse

Problema 1.
Să se simuleze în Simulink sistemele descrise în Figura VII.11. Pentru obişnuirea cu
mediul Simulink, se pot inspecta şi semnale intermediare (de ex. intrare, ieşiri ale
sumatoarelor etc.).
Pentru fiecare sistem se specifică dacă ieşirea tinde spre o valoare de regim staţionar;
dacă da, se precizează durata aproximativă a regimului tranzitoriu şi valoarea de regim
staţionar atinsă (prin inspectarea graficelor). Rezultatele se pot compara cu cele din capitolul
VI, unde au fost studiate analitic aceleaşi sisteme, în exemple sau în cadrul problemelor
propuse.

113
1
s +1
u (t ) y(t )
+ 1

s+3
u (t ) sin(2t ), t ≥ 0
= 1
s+2
(a)

2
s +1
2
1
(t ) 5, t ≥ 0
u= s

3
s+2
(b)

u(t) 1 y(t)
2
s + 6s + 5
(t ) 2, t ≥ 0
u=
3

(c)
Figura VII.11. Structura sistemelor considerate la Problema 1

Problema 2.
Se consideră sistemul mecanic din figura următoare:
γ1
intrare
F(t)
m1
m2 ieşire
k v(t)
γ2
Modelul de stare al acestui sistem a fost construit în capitolul V (în cadrul problemelor
propuse) şi are expresia:

114
  0 0 1  0
 d  xk   
γ1 + γ 2 γ 2    xk   
1
  v1  =  0 −  v1 +   F
 dt  v   m1 m1   v   m1 
  2  k γ2 γ 2   2   0 
 − m m2
− 
m2 
  2
 x
 k
=v [ 0 1 0]  v1  + 0 ⋅ F
 v 
  2

Se consideră condiţii iniţiale nule şi următorul set de valori numerice (toate exprimate
în sistem internaţional): m1 = 30; m2 = 10; γ 1 = γ 2 = 1; k = 1; F = 20.

a) Să se simuleze modelul de mai sus în MATLAB, folosind funcţia lsim (atenţie


la stabilirea timpului de simulare şi a pasului de integrare).
b) Să se precizeze valoarea regimului staţionar al ieşirii şi timpul aproximativ de
atingere al acestuia (considerând de exemplu o eroare relativă de 1%). Explicaţi
valoarea de regim staţionar din punct de vedere fizic.
c) Se repetă simularea de la subpunctul (a) în Simulink.
d) Repetaţi subpunctele (a) şi (b) în cazul în care γ 2 = 10 (restul valorilor rămânând
neschimbate). Evaluaţi pulsaţia oscilaţiilor amortizate folosind graficul obţinut şi
comparaţi valoarea obţinută cu partea imaginară a valorilor proprii ale matricei A.

115
BIBLIOGRAFIE

W. Borutzky, 2010: Bond Graph Methodology, Development and Analysis of Multi-


disciplinary Dynamic System Models, Springer, London, ISBN: 978-1-84882-
881-0.
R.C. Dorf, R.H. Bishop, 2010: Modern Control Systems (12th Edition), Ed. Prentice
Hall, Upper Saddle River, NJ, ISBN: 978-0136024583.
G.F. Franklin, J.D. Powel, A. Emami-Naeini, 2002: Feedback Control of Dynamic
Systems, Ed. Prentice Hall, Upper Saddle River, NJ, ISBN: 9780130323934
M. Kloetzer, O. Păstrăvanu, 2012: Modelarea sistemelor fizice – îndrumar de
laborator, Iași.
T. Marcu, L. Mirea, 2006: Metode și tehnici de calcul numeric, Ed Politehnium, Iasi,
ISBN: 973-621-138-X.
O. Păstrăvanu, R. Ibănescu, 2001: Limbajul Bond-Graph în modelarea şi simularea
sistemelor fizico-tehnice, Ed. Gh. Asachi, Iași, ISBN: 9738292123.
M. Kloetzer, L. Mirea, O. Păstrăvanu, 2014: Sisteme liniare continue,
Ed. Politehnium, Iași.
T. Sauer, 2011: Numerical Analysis (2nd Edition), series Featured Titles for
Numerical Analysis, Ed. Pearson, Upper Saddle River, NJ, ISBN: 978-0-
32178-367-7
L.F. Shampine, 1994: Numerical Solution of Ordinary Differential Equations,
Chapman & Hall, New York.
M. Voicu, 2002: Introducere în automatică, ediţia a II-a, Ed. Polirom, Iaşi, ISBN:
973-681-111-5.
M. Voicu, 2008: Teoria sistemelor, Ed. Editura Academiei Române, București, ISBN:
973-27-1673-1.
The MathWorks, Inc., 2010: MATLAB 7.11 (2010b), Natick, MA.

116

S-ar putea să vă placă și