Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function []=lid()
- choice=menu('Ce K alegeti? K/(s^3+4*s^2+3*s+5)','K=1','K=2','K=5','K=10'); %cream un meniu interactiv pentru fiecare k
- if choice==3
- sys1=tf(5,[1,4,3,5]); %k=5
- elseif choice==4
- sys1=tf(10,[1,4,3,5]); %k=10
- else
- sys1=tf(choice,[1,4,3,5]); %k=1 sau 2
- end
- impulse(sys1)%raspunsul la impuls
- figure;
- nyquist(sys1)% plotam nyquist // daca hodograful incercuieste punctul critic(-1,0) sistemul este instabil
- figure;
- margin(sys1)%facem bode si vedem rezervele
- figure;
- nichols(sys1)%facem nichols si putem observa ca daca graficul este deasupra axei 0, atunci sistemul inchis este instabil
- [Gm,Pm,Wcg,Wcp]=margin(sys1); %calculam rezervele de faaza si amplituitine
- if Gm >0 && Pm >0 || Wcg >Wcp %conditie de sistem stabil
- disp('Sistemul este stabil')
- fprintf('Rezerva de aplitutudine este la rad/s %f\n',Wcg)
- fprintf('Rezerva de faza este la rad/s %f\n',Wcp)
- elseif Gm>-0.01 && Gm<0.01 && Pm>-0.01 && Pm<0.01 ||abs(Wcg-Wcp)<0.01 %conditie de sistem asimptopic stabil
- disp('Sistemul este asimptopic stabil')
- elseif Gm<0 || Pm <0 || Wcp<Wcg %conditie de sistem instabil
- disp('Sistemul nu este stabil') %se poate vedea si eroarea in matlab
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement