Documente Academic
Documente Profesional
Documente Cultură
INTRODUCERE ................................................................................................................................................... 3
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
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
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ă.
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.
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.
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.
Bucla for
Forma generală a unei bucle for este:
for variabila=start : pas : final
instrucţiuni
end
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)
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
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
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
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.
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ă).
0 , t < 0,
x(t ) = 1 c+ j∞ X ( s ) e st ds ,t≥0 , (II.2)
2π j ∫ c− j∞
22
II.3. Conexiuni între un semnal descris în domeniul timp
şi polii imaginii sale Laplace
• 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
( f ∗ g ) (t=) ∫ f (τ ) ⋅ g (t − τ ) dτ .
0
25
Tabelul II.1. Proprietăţi ale transformatei Laplace unilaterale
af (t ) + bg (t ) aF ( s ) + bG ( s ) Linearitate
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ţă
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.
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 ) .
Î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
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
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).
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
30
II.7. Calculul transformatei Laplace folosind MATLAB
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
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
Problema 1:
a) x(t ) =
1 − cos(t ); 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:
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:
Problema 4:
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)
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.
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.
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
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
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
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
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:
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.
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
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.
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ă).
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 →∞
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
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.
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 ).
Î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 intrareu. 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ă
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ă
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 →∞
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
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).
61
IV.10. Probleme propuse
Problema 1:
γ
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:
Problema 3:
63
Problema 4:
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:
{
x1 (t ) = a11 x1 (t ) + a12 x2 (t ) + b1u (t )
x2 (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).
67
V.4. Răspunsul analitic al modelelor de stare
Î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
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]).
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 →∞
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.
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
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)):
x1 (t ) = a11 x1 (t ) + a12 x2 (t ) + b1u (t )
x2 (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 )
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).
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) ).
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 )
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
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ă: =
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)
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.
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
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)
L {ay
(t )} L {u (t )} ⇒ a ⋅ L {=
= y (t )} U ( s ) (VI.3)
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)
( 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)
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
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.
U (s) Y (s)
G (s)
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)
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 )
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 )
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:
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)
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
U(s) 1 Y(s)
s
88
- Fiecare semnal de intrate pentru un integrator, xi (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 xi (t ) ;
- Se construieşte semnalul de ieşire conform expresiei acestuia, în funcţie de
semnalele de stare şi de intrare.
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 ) ):
x1 (t ) 1 x1 (t )
s
uR (t )
e(t )
x2 (t ) 1 x2 (t )
s
Conform modelului de stare, derivata x1 (t ) a primului semnal de stare are expresia:
x (t )
x1 (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 x1 (t ) :
89
1 x1 (t ) 1 x1 (t )
C s
uR (t )
e(t )
x2 (t ) 1 x2 (t )
s
Similar se construieşte derivata x2 (t ) , care are expresia (conform modelului de stare)
e(t ) − uC (t ) − RiL (t )
x2 (t ) = . Astfel, x2 (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 x1 (t ) 1 x1 (t )
C s
uR (t )
e(t ) 1
R
L
L
1 –– x2 (t ) 1 x2 (t )
+ s
L
90
1 x1 (t ) 1 x1 (t )
C s
uR (t )
e(t ) 1 R
R
L
L
1 –– x2 (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:
x1 (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ă:
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).
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
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 ) .
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
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).
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.
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
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.
102
%la momentul de timp Timp(i)
103
VII.4. Simularea modelelor dinamice utilizând
rutine din „Control System Toolbox”
Definirea modelului
Î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]
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.
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).
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
[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.
107
Figura VII.5. Evoluţia stărilor pentru o intrare sinusoidală,
(simulare obţinută cu funcţia lsim)
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
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ă
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.
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.
Schema obţinută până acum arată ca în Figura VII.9 (unde este deschisă şi fereastra
grafică corespunzătoare blocului “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:
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.
115
BIBLIOGRAFIE
116