Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.21 KB | None | 0 0
  1. function []=lid()
  2. 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
  3. if choice==3
  4.     sys1=tf(5,[1,4,3,5]); %k=5
  5. elseif choice==4
  6.     sys1=tf(10,[1,4,3,5]); %k=10
  7. else
  8.     sys1=tf(choice,[1,4,3,5]); %k=1 sau 2
  9. end
  10. impulse(sys1)%raspunsul la impuls
  11. figure;
  12. nyquist(sys1)% plotam nyquist // daca hodograful incercuieste punctul critic(-1,0) sistemul este instabil
  13. figure;
  14. margin(sys1)%facem bode si vedem rezervele
  15. figure;
  16. nichols(sys1)%facem nichols si putem observa ca daca graficul este deasupra axei 0, atunci sistemul inchis este instabil
  17. [Gm,Pm,Wcg,Wcp]=margin(sys1); %calculam rezervele de faaza si amplituitine
  18. if Gm >0 && Pm >0 || Wcg >Wcp %conditie de sistem stabil
  19.     disp('Sistemul este stabil')
  20.     fprintf('Rezerva de aplitutudine este la rad/s %f\n',Wcg)
  21.     fprintf('Rezerva de faza este la rad/s %f\n',Wcp)
  22. elseif Gm>-0.01 && Gm<0.01 && Pm>-0.01 && Pm<0.01  ||abs(Wcg-Wcp)<0.01  %conditie de sistem asimptopic stabil
  23.     disp('Sistemul este asimptopic stabil')
  24. elseif Gm<0 || Pm <0 || Wcp<Wcg %conditie de sistem instabil
  25.     disp('Sistemul nu este stabil') %se poate vedea si eroarea in matlab
  26. end
  27. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement