Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. clc
  2. close all
  3. clear all
  4.  
  5. A =[ 0 1 0 0;
  6. -0.3421 0 6.592 0.031;
  7. 0 0 0 1;
  8. 18.898 0 -0.344 -1.713];
  9. B = [0; -0.0633; 0; 3.4960];
  10. C = eye(4);
  11. D = zeros(4,1);
  12. sys = ss(A, B, C, D);
  13.  
  14. binstr = {'NE', 'ANO'};
  15. fprintf('Riditelny: %s\n', binstr{(rank(A) == rank(ctrb(A, B))) + 1});
  16. fprintf('Pozorovatelny: %s\n', binstr{(rank(A) == rank(obsv(A, C))) + 1});
  17.  
  18. n = size(B, 1);
  19. Ai = [A zeros(n,1); -C(1, :) 0];
  20. Bi = [B; 0];
  21. Ci = [C zeros(n,1)];
  22. Br = [0; 0; 0; 0; 1];
  23. sysi = ss(Ai,Bi,Ci,D);
  24.  
  25. Ts = 0.01;
  26. sysid = c2d(sysi, Ts);
  27. disp(pole(sysid));
  28.  
  29. plplac = [0.95 0.9 0.85 0.8 0.75];
  30. K = place(sysid.A, sysid.B, plplac);
  31. Ki = K(n + 1);
  32. Kr = K(1 : n);
  33.  
  34. ritf = ss(Ai - Bi * K, Br, Ci, D);
  35. step(ritf);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement