Advertisement
Guest User

Vezbe 11.12

a guest
Dec 11th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 8.62 KB | None | 0 0
  1. >> F=[1 1; 4 -2]
  2.  
  3. F =
  4.  
  5.      1     1
  6.      4    -2
  7.  
  8. >> G=[1 -1;1 -1];
  9. >> H = eye(2)
  10.  
  11. H =
  12.  
  13.      1     0
  14.      0     1
  15.  
  16. >> D = 0;
  17. >> %slaganje matrica
  18. >> %generise matricu upravljivosti
  19. >> Co = ctrb(F,G)
  20.  
  21. Co =
  22.  
  23.      1    -1     2    -2
  24.      1    -1     2    -2
  25.  
  26. >> %da li je matrica istog reda kao i matrica F
  27. >> length(F)==rank(Co)
  28.  
  29. ans =
  30.  
  31.   logical
  32.  
  33.    0
  34.  
  35. >> %Nije isti rang matrice upravljivosti stoga...
  36. >> %ako je 0 onda je upravljivo, ako nije nula onda nije upravljivo
  37. >> %osmotrivost
  38. >> Ob = obsv(F,H)
  39.  
  40. Ob =
  41.  
  42.      1     0
  43.      0     1
  44.      1     1
  45.      4    -2
  46.  
  47. >> %da li je sistem osmotriv
  48. >> rank(Ob) == length(F)
  49.  
  50. ans =
  51.  
  52.   logical
  53.  
  54.    1
  55.  
  56. >> %ako je jedan onda je osmotrivo, ako je nula onda nije osmotrivo
  57. >> %ZA UPRAVLJIVOST AKO JE NULA NIJE UPRAVLJIV AKO JE JEDAN ONDA JESTE UPRAVLJIV
  58. >> kriterijum = length(F) - rank(Ob)
  59.  
  60. kriterijum =
  61.  
  62.      0
  63.  
  64. >> %tf(num,den) generise prenosnu funkciju, ss(F,G,H,D) generise sistem u prostoru stanja.
  65. >> %Y(s)=G(s)u(s) ima jedan ulaz i jedan izlaz
  66. >> %Ako je vektor vrste/kolone kod u, ima vise ulaza
  67. >> %Ako ima vise ulaza onda je vektor kolone
  68. >> %ako ima vise izlaza onda je vektor kolone
  69. >> %Ako ima vise ulaza onda je vektor vrste
  70. >> %poslednja dva komentara su tacna
  71. >> num1 = [2 0]
  72.  
  73. num1 =
  74.  
  75.      2     0
  76.  
  77. >> den1 = [4 1]
  78.  
  79. den1 =
  80.  
  81.      4     1
  82.  
  83. >> num2=3
  84.  
  85. num2 =
  86.  
  87.      3
  88.  
  89. >> den2=[5 1]
  90.  
  91. den2 =
  92.  
  93.      5     1
  94.  
  95. >> % tri kroz 5s + 1
  96. >> Gs1=tf(num1,den1)
  97.  
  98. Gs1 =
  99.  
  100.     2 s
  101.   -------
  102.   4 s + 1
  103.  
  104. Continuous-time transfer function.
  105.  
  106. >> Gs2=tf(num2,den2)
  107.  
  108. Gs2 =
  109.  
  110.      3
  111.   -------
  112.   5 s + 1
  113.  
  114. Continuous-time transfer function.
  115.  
  116. >> Gs = [Gs1 Gs2]
  117.  
  118. Gs =
  119.  
  120.   From input 1 to output:
  121.     2 s
  122.   -------
  123.   4 s + 1
  124.  
  125.   From input 2 to output:
  126.      3
  127.   -------
  128.   5 s + 1
  129.  
  130. Continuous-time transfer function.
  131.  
  132. >> %Nemam pojma sta se ovde desilo, ali dobro
  133. >> num3[1 1]
  134.  num3[1 1]
  135.      ↑
  136. Error: Unbalanced or unexpected parenthesis or bracket.
  137.  
  138. >> num3 = [1 1]
  139.  
  140. num3 =
  141.  
  142.      1     1
  143.  
  144. >> den3 = [1 2 2]
  145.  
  146. den3 =
  147.  
  148.      1     2     2
  149.  
  150. >> num4 = 1
  151.  
  152. num4 =
  153.  
  154.      1
  155.  
  156. >> den4 = [1 0]
  157.  
  158. den4 =
  159.  
  160.      1     0
  161.  
  162. >> Gs3 = tf(num3,den3)
  163.  
  164. Gs3 =
  165.  
  166.       s + 1
  167.   -------------
  168.   s^2 + 2 s + 2
  169.  
  170. Continuous-time transfer function.
  171.  
  172. >> Gs4 = tf(num4,den4)
  173.  
  174. Gs4 =
  175.  
  176.   1
  177.   -
  178.   s
  179.  
  180. Continuous-time transfer function.
  181.  
  182. >> Gs5 = [Gs3;Gs4]
  183.  
  184. Gs5 =
  185.  
  186.   From input to output...
  187.            s + 1
  188.    1:  -------------
  189.        s^2 + 2 s + 2
  190.  
  191.        1
  192.    2:  -
  193.        s
  194.  
  195. Continuous-time transfer function.
  196.  
  197. >> %tf(num,den,Ts) Ts je perioda odabiranja, mora da postoji kad generisemo funkciju u diskretnom vremenu
  198. >> num = [1 0.5]
  199.  
  200. num =
  201.  
  202.     1.0000    0.5000
  203.  
  204. >> den = [1 1.5 2]
  205.  
  206. den =
  207.  
  208.     1.0000    1.5000    2.0000
  209.  
  210. >> Gz = tf(num, den, 0.4)
  211.  
  212. Gz =
  213.  
  214.       z + 0.5
  215.   ---------------
  216.   z^2 + 1.5 z + 2
  217.  
  218. Sample time: 0.4 seconds
  219. Discrete-time transfer function.
  220.  
  221. >> %tf(num,den) = Gs
  222. >> s = tf('s')
  223.  
  224. s =
  225.  
  226.   s
  227.  
  228. Continuous-time transfer function.
  229.  
  230. >> Gs = (s+1)/(s^2 +2*s+2)
  231.  
  232. Gs =
  233.  
  234.       s + 1
  235.   -------------
  236.   s^2 + 2 s + 2
  237.  
  238. Continuous-time transfer function.
  239.  
  240. >> %s = tf('s') moze da generise prenosnu funkciju. Drugi nacin
  241. >> %ss(F,G,H,D) Model u prostoru stanja (?)
  242. >> F1 = [0 1; -4 -2]
  243.  
  244. F1 =
  245.  
  246.      0     1
  247.     -4    -2
  248.  
  249. >> G1 = [ 0; -2]
  250.  
  251. G1 =
  252.  
  253.      0
  254.     -2
  255.  
  256. >> H = [1 0]
  257.  
  258. H =
  259.  
  260.      1     0
  261.  
  262. >> D=0
  263.  
  264. D =
  265.  
  266.      0
  267.  
  268. >> H1 = [1 0]
  269.  
  270. H1 =
  271.  
  272.      1     0
  273.  
  274. >> D1 = 0
  275.  
  276. D1 =
  277.  
  278.      0
  279.  
  280. >> ss1 = ss(F1,G1,H1,D1)
  281.  
  282. ss1 =
  283.  
  284.   A =
  285.        x1  x2
  286.    x1   0   1
  287.    x2  -4  -2
  288.  
  289.   B =
  290.        u1
  291.    x1   0
  292.    x2  -2
  293.  
  294.   C =
  295.        x1  x2
  296.    y1   1   0
  297.  
  298.   D =
  299.        u1
  300.    y1   0
  301.  
  302. Continuous-time state-space model.
  303.  
  304. >> %matrica A = F1, B = G1, C = H1, D=D1
  305. >> ss1.B
  306.  
  307. ans =
  308.  
  309.      0
  310.     -2
  311.  
  312. >> %ss1.(A ili B ili C ili D)  da pristupis matricama F G H D, jer je ss1 struktura
  313. >> %Cetvrti zadatak
  314. >> F = [-1 0; 0 -1]
  315.  
  316. F =
  317.  
  318.     -1     0
  319.      0    -1
  320.  
  321. >> G = [1;0]
  322.  
  323. G =
  324.  
  325.      1
  326.      0
  327.  
  328. >> H=[1 0; 0 1]
  329.  
  330. H =
  331.  
  332.      1     0
  333.      0     1
  334.  
  335. >> D = 0
  336.  
  337. D =
  338.  
  339.      0
  340.  
  341. >> sys  = ss(F,G,H,D)
  342.  
  343. sys =
  344.  
  345.   A =
  346.        x1  x2
  347.    x1  -1   0
  348.    x2   0  -1
  349.  
  350.   B =
  351.        u1
  352.    x1   1
  353.    x2   0
  354.  
  355.   C =
  356.        x1  x2
  357.    y1   1   0
  358.    y2   0   1
  359.  
  360.   D =
  361.        u1
  362.    y1   0
  363.    y2   0
  364.  
  365. Continuous-time state-space model.
  366.  
  367. >> sys.b
  368.  
  369. ans =
  370.  
  371.      1
  372.      0
  373.  
  374. >> %sys je takodje struktura pa se matricama pristupa sys.(neka matrica)
  375. >> %ss2tf(sys) iz prostora stanja u prenosnu funkciju, tf2ss(sys) iz prenosne funkcije u prostor stanja, tf2zp(sys) da se dobiju nule i polovi, ss2zp(sys) iz prostora stanja u nule i polove
  376. >> %c2d iz kontinualnog vremena u diskretno, d2c je obrnuto
  377. >> %size prikazuje broj ulaza i broj izlaza sistema
  378. >> %Zadatak broj 5
  379. >> F =[-2 -1];
  380. >> F= [-2 -1; 1 -2];
  381. >> G=[1 1; 2 -1];
  382. >> H = [1 0];
  383. >> D = [0 1];
  384. >> sys = ss2tf(F,G,H,D,1) %ima peti parametar, koji ulaz sa kojim izlazom (1,2) ovaj primer konkretno
  385.  
  386. sys =
  387.  
  388.      0     1     0
  389.  
  390. >> sys = ss(F,G,H,D,1) % i ovde ima peti parametar
  391.  
  392. sys =
  393.  
  394.   A =
  395.        x1  x2
  396.    x1  -2  -1
  397.    x2   1  -2
  398.  
  399.   B =
  400.        u1  u2
  401.    x1   1   1
  402.    x2   2  -1
  403.  
  404.   C =
  405.        x1  x2
  406.    y1   1   0
  407.  
  408.   D =
  409.        u1  u2
  410.    y1   0   1
  411.  
  412. Sample time: 1 seconds
  413. Discrete-time state-space model.
  414.  
  415. >> tf(sys)
  416.  
  417. ans =
  418.  
  419.   From input 1 to output:
  420.         z
  421.   -------------
  422.   z^2 + 4 z + 5
  423.  
  424.   From input 2 to output:
  425.   z^2 + 5 z + 8
  426.   -------------
  427.   z^2 + 4 z + 5
  428.  
  429. Sample time: 1 seconds
  430. Discrete-time transfer function.
  431.  
  432. >> %ako hocemo objekat treba da uradimo tf od cega god
  433. >> %tf vraca objekat transferfunction
  434. >> %ako hocemo num i den koristimo ss2tf
  435. >> [num den] = ss2tf(F,G,H,D,1)
  436.  
  437. num =
  438.  
  439.      0     1     0
  440.  
  441.  
  442. den =
  443.  
  444.      1     4     5
  445.  
  446. >> %treba peti parametar
  447. >> [num den] = ss2tf(F,G,H,D,2)
  448.  
  449. num =
  450.  
  451.      1     5     8
  452.  
  453.  
  454. den =
  455.  
  456.      1     4     5
  457.  
  458. >> %vezana je za drugi ulaz
  459. >> %6 zadatak koristimo Mason
  460. >> edit zadatak1.net
  461. >> [num, den]= mason('zadatak1.net', 1,7)
  462.      1     1     2
  463.      2     2     3
  464.      3     3     4
  465.      4     4     5
  466.      5     5     6
  467.      6     6     7
  468.      7     2     4
  469.      8     2     5
  470.      9     6     3
  471.     10     6     4
  472.     11     6     5
  473.  
  474.     '(1)'    '(-3)'    '(1/z)'    '(1/z)'    '(1/z)'    '(1)'    '(2)'    '(1)'    '(-8)'    '(-12)'    '(-6)'
  475.  
  476.  
  477. -- Network Info --
  478. Net File   : zadatak1.net
  479. Start Node : 1
  480. Stop Node  : 7
  481.  
  482. ----- Paths -----
  483. P1 : 1 2 3 4 5 6
  484. P2 : 1 7 4 5 6
  485. P3 : 1 8 5 6
  486.  
  487. - Order 1 Loops -
  488. L11 : 3 4 5 9
  489. L12 : 4 5 10
  490. L13 : 5 11
  491.  
  492. The variables returned are strings describing
  493. the numerator and Denominator of the transfer equation.
  494. If you have the symbolic toolbox, use Denominator=sym(Denominator)
  495. and Numerator=sym(Numerator) to make these symbolic equations.
  496. You can now use simple(Numerator/Denominator) to boil the whole
  497. thing down. You could also use simple(Numerator) to simplify the
  498. Numerator on it' own.
  499.  
  500.  
  501. num =
  502.  
  503.     '((((1)*(-3)*(1/z)*(1/z)*(1/z)*(1)*(1)-0)+(1)*(2)*(1/z)*(1/z)*(1)*(1)-0)+(1)*(1)*(1/z)*(1)*(1)-0)'
  504.  
  505.  
  506. den =
  507.  
  508.     '1-((1/z)*(1/z)*(1/z)*(-8)+(1/z)*(1/z)*(-12)+(1/z)*(-6))'
  509.  
  510. >> num = sym(num);
  511. Warning: Support of character vectors that are not valid variable names or define a number will be removed in a
  512. future release. To create symbolic expressions, first create symbolic variables and then use operations on
  513. them.
  514. > In sym>convertExpression (line 1586)
  515.   In sym>convertChar (line 1491)
  516.   In sym>tomupad (line 1243)
  517.   In sym (line 199)
  518. >> den=sym(den);
  519. Warning: Support of character vectors that are not valid variable names or define a number will be removed in a
  520. future release. To create symbolic expressions, first create symbolic variables and then use operations on
  521. them.
  522. > In sym>convertExpression (line 1586)
  523.   In sym>convertChar (line 1491)
  524.   In sym>tomupad (line 1243)
  525.   In sym (line 199)
  526. >> Gs = simplify(num/den)
  527.  
  528. Gs =
  529.  
  530. (z^2 + 2*z - 3)/(z + 2)^3
  531.  
  532. >> %odrediti nule i polove prenosnih funkcija
  533. >> %solve bi koristili(?)
  534. >> %izdvajamo num i den i resimo jednacine sa solve
  535. >> %koristi se u sistem toolboxu
  536. >> %Odrediti i prikazati impulsivni odziv sistema
  537. >> %(odziv na dirakovu funkciju)
  538. >> %imamo Gz kako se dobija odzivni implus sistema (Z transformacija)
  539. >> %Upravljivost i osmotrivost sada radimo
  540. >> %kako se prelazi iz simbolickog toolboxa u (neki)toolbox
  541. >> num
  542.  
  543. num =
  544.  
  545. 1/z + 2/z^2 - 3/z^3
  546.  
  547. >> den
  548.  
  549. den =
  550.  
  551. 6/z + 12/z^2 + 8/z^3 + 1
  552.  
  553. >> [F,G,H] = tf2ss(sym2poly(num),sym2poly(den))
  554. Error using sym/sym2poly (line 29)
  555. Not a polynomial.
  556.  
  557. >> %slika
  558. >> %Co = ctrb(F,G)
  559. >> %proverimo da li je sistem upravljiv
  560. >>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement