Guest User

Untitled

a guest
Jul 13th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.11 KB | None | 0 0
  1. function main
  2.     disp '---------------------------------';
  3.  
  4.     function [ok] = myplot(num1, den1, desc1, num2, den2, desc2)
  5.         figure;
  6.  
  7.         subplot(1, 2, 1);
  8.         step(num1, den1);
  9.         hold on;
  10.         step(num2, den2);
  11.         hold off;
  12.         legend(desc1, desc2);
  13.  
  14.         subplot(1, 2, 2);
  15.         impulse(num1, den1);
  16.         hold on;
  17.         impulse(num2, den2);
  18.         hold off;
  19.         legend(desc1, desc2);
  20.     end
  21.  
  22.     % inercyjny I-go rzedu
  23.     k1 = 1; T1 = 2;
  24.     k2 = 3; T2 = 1;
  25.     num1 = [0, k1]; den1 = [T1, 1]; desc1 = ['k = ', num2str(k1), ', T = ', num2str(T1)];
  26.     num2 = [0, k2]; den2 = [T2, 1]; desc2 = ['k = ', num2str(k2), ', T = ', num2str(T2)];
  27.     myplot(num1, den1, desc1, num2, den2, desc2);
  28.  
  29.     % inercyjny II-go rzedu
  30.     k1 = 1; T11 = 2; T21 = 3;
  31.     k2 = 2; T12 = 1; T22 = 5;
  32.     num1 = [0, 0, k1]; den1 = [T11 * T21, T11 + T21, 1]; desc1 = ['k = ', num2str(k1), ', T1 = ', num2str(T11), ', T2 = ', num2str(T21)];
  33.     num2 = [0, 0, k2]; den2 = [T12 * T22, T12 + T22, 1]; desc2 = ['k = ', num2str(k2), ', T1 = ', num2str(T12), ', T2 = ', num2str(T22)];
  34.     myplot(num1, den1, desc1, num2, den2, desc2);
  35.  
  36.     % inercyjny II-go rzedu (oscylacyjny)
  37.     k1 = 1; T1 = 2; xi1 = 0.5;
  38.     k2 = 2; T2 = 1; xi2 = 1.5;
  39.     num1 = [0, 0, k1]; den1 = [T1^2, 2*xi1*T1, 1]; desc1 = ['k = ', num2str(k1), ', T = ', num2str(T1), ', \xi = ', num2str(xi1)];
  40.     num2 = [0, 0, k2]; den2 = [T2^2, 2*xi2*T2, 1]; desc2 = ['k = ', num2str(k2), ', T = ', num2str(T2), ', \xi = ', num2str(xi2)];
  41.     myplot(num1, den1, desc1, num2, den2, desc2);
  42.  
  43.     % calkujacy idealny
  44.     k1 = 1; Ti1 = 2;
  45.     k2 = 2; Ti2 = 1;
  46.     num1 = [0, k1]; den1 = [Ti1, 0]; desc1 = ['k = ', num2str(k1), ', Ti = ', num2str(Ti1)];
  47.     num2 = [0, k2]; den2 = [Ti2, 0]; desc2 = ['k = ', num2str(k2), ', Ti = ', num2str(Ti2)];
  48.     myplot(num1, den1, desc1, num2, den2, desc2);
  49.  
  50.     % calkujacy rzeczywisty
  51.     k1 = 1; Ti1 = 4; T1 = 2;
  52.     k2 = 2; Ti2 = 5; T2 = 3;
  53.     num1 = [0, 0, k1]; den1 = [Ti1 * T1, Ti1, 0]; desc1 = ['k = ', num2str(k1), ', Ti = ', num2str(Ti1), ', T = ', num2str(T1)];
  54.     num2 = [0, 0, k2]; den2 = [Ti2 * T2, Ti2, 0]; desc2 = ['k = ', num2str(k2), ', Ti = ', num2str(Ti2), ', T = ', num2str(T2)];
  55.     myplot(num1, den1, desc1, num2, den2, desc2);
  56.  
  57.     % różniczkujący idealny
  58.     %
  59.     % niemożliwy w ten sposób
  60.  
  61.     % różniczkujący rzeczywisty
  62.     Td1 = 2; T1 = 0.5;
  63.     Td2 = 3; T2 = 0.25;
  64.     num1 = [Td1, 0]; den1 = [T1, 1]; desc1 = ['Td = ', num2str(Td1), ', T = ', num2str(T1)];
  65.     num2 = [Td2, 0]; den2 = [T2, 1]; desc2 = ['Td = ', num2str(Td2), ', T = ', num2str(T2)];
  66.     myplot(num1, den1, desc1, num2, den2, desc2);
  67.  
  68.     % inercyjny I-go rzedu z opoznieniem
  69.     k1 = 3; T1 = 0.5; theta1 = 2; n1 = 5;
  70.     k2 = 2; T2 = 2;   theta2 = 5; n2 = 7;
  71.     num_i1 = [0, k1]; den_i1 = [T1, 1]; desc1 = ['k = ', num2str(k1), ', T = ', num2str(T1), ', \theta = ', num2str(theta1), ', n = ', num2str(n1)];
  72.     num_i2 = [0, k2]; den_i2 = [T2, 1]; desc2 = ['k = ', num2str(k2), ', T = ', num2str(T2), ', \theta = ', num2str(theta2), ', n = ', num2str(n2)];
  73.     [num_d1, den_d1] = pade(theta1, n1);
  74.     [num_d2, den_d2] = pade(theta2, n2);
  75.     [num1, den1] = series(num_d1, den_d1, num_i1, den_i1);
  76.     [num2, den2] = series(num_d2, den_d2, num_i2, den_i2);
  77.     myplot(num1, den1, desc1, num2, den2, desc2);
  78. end
Add Comment
Please, Sign In to add comment