1. Noțiuni teoretice
1.1. GNU Octave / MATLAB
Numele Matlab este o prescurtare a cuvintelor “matrix laboratory”. Aceasta deoarece,
inițial programul a fost destinat pentru calculul cu matrici. Limbajul a evoluat si a devenit un
standard în universități când este vorba de cursuri introductive sau avansate de matematică
sau inginerie. Funcțiile specifice unui anumit domeniu sunt grupate în colecții de funcții sau
“toolboxes”.
MATLAB (MATrix LABoratory) este un pachet de programe de înalta performanță
dedicat calculului numeric și a reprezentărilor grafice. SIMULINK-ul este parte integrantă a
acestui pachet soft. Simulink permite modelarea, simularea și analiza dinamică a sistemelor.
GNU Octave reprezintă o alternativă la popularul mediu de programare MATLAB.
Sintaxele celor două programe sunt în mare parte identice, iar formatul fișierelor salvate este
același (fișiere cu extensia .m). Avantajul GNU Octave este că acesta este oferit în mod
gratuit sub licență publică. Un neajuns al acestui program este lipsa unui echivalent pentru
Simulink.
suma = 0;
for i=1:10
suma = suma + i;
a(i) = i;
end
suma = a
plot(a,'k*')
suma = 55
a = 1 2 3 4 5 6 7 8 9 10
x=2;
y=3;
z=x+y
pi #constanta pi
e #constanta e
x=[1 2 3]
y=[4 5 6]
Pentru a selecta un anumit element dintr-un vector se folosește comanda x(n), unde n
reprezintă numărul elementului. Numărătoarea elementelor vectorilor începe de la 1. Ca o
continuare a exemplului de mai sus avem:
Dacă pentru vectorii de dimensiuni reduse nu este nicio problemă ca elementele lor să
fie definite individual, pentru vectorii lungi cu zeci sau sute de elemente această definiție nu
mai este practică. Pentru aceștia există următorul mod de definire:
Pasul folosit pentru a defini în acest fel vectorii este implicit 1. Din acest motiv, dacă
pasul dorit este 1, acesta nu mai trebuie menționat la definirea variabilei.
Numărul implicit de elemente dintr-un vector astfel definit este 100. Prin urmare, dacă
se dorește definirea unui vector cu 100 de elemente, este suficient să se menționeze doar
primul și ultimul element din vector.
saveas(gcf,'Grafic.png')
Graficul salvat este prezentat mai jos (Figura 1). Locația implicită de salvare a
graficelor este C:\Users\Nume_utilizator. Graficele pot fi salvate ca .png, .jpg, .gif și .pdf.
Dacă dorim să reprezentăm mai multe curbe pe același grafic trebuie să ne folosim de
funcția hold on, care menține deschisă fereastra deja existentă cu graficul.
t=[0:0.1:10]; #definire vector timp
x=sin(t); #definirea functiei x(t)
y=cos(t); #definirea functiei x(t)
plot(t,x) #generarea unui grafic al functiei x(t)
title('Reprezentare grafica')
xlabel('Timp (s)')
ylabel('f(t)')
legend({'sin(t)','cos(t)'},'fontsize',14,'location','southwest')
Un alt tip de grafic, potrivit pentru reprezentarea datelor discrete, poate fi generat prin
comanda stem(x).
stem(v)
Grafic de generat cu funcția stem
Titlul graficului, textele axelor și legenda se definesc în același mod pentru graficele
stem(x), ca pentru cele plot (x).
d2U C d UC
- Se scriu ecuatiile de functionare ale circuitului: LC 2
+ RC +U C =U i ( t ) ; uC ( 0 ) =O
dt dt
- Se detrmina expresia functiei de transfer:
R
p
U ( p) R pRC L
H ( p )= 0 = = 2 =
U i ( p) 1 p LC + pRC +1 p2 + p R + 1
R+ pL+
pC L LC
R1=R, R2=100.
Stabilitatea sistemelor
A. Criteriul de stabilitate Nyquist este un criteriu frecvenţial care permite studiul stabilităţii
sistemului în circuit închis din Fig. 6 cu funcţia de transfer
x(t) y(t)
H(p)
-
2N
p
N0 (2)
2
unde: Np - reprezintă numărul polilor lui H(p) situaţi în semiplanul complex pozitiv;
N0 - reprezintă numărul polilor lui H(p) situaţi pe axa imaginară.
Un sistem automat este la limita de stabilitate dacă semihodograful trece prin punctul critic
(1,0) . Dacă nu sunt îndeplinite aceste condiţii sistemul este instabil.
Hodograful lui H(jω) se obţine în MATLAB cu comanda nyquist avand una dintre urmatoarele
sintaxe:
nyquist(sys)
nyquist(sys,w) nyquist(sys1,sys2,...,sysN)
nyquist(sys1,sys2,...,sysN,w)
[re,im,w] = nyquist(N,D)
[re,im] = nyquist(N,D,w)
Fig.
Hodograful
Nyquist