Advertisement
Guest User

Untitled

a guest
May 29th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. %theta = [ 0.4 0.5 2.5 0.1];
  2. theta = [ 1.4 0.8 0.9 0.1 ];
  3.  
  4. B = [ theta(3) theta(4) ]; %% B i A procesa
  5. A = [ 1 theta(1) theta(2)];
  6.  
  7. % minimalni stupnjevi za slucaj s integralnim djelovanjem
  8. % n = 2
  9. % deg R, S, T = deg A = n
  10. % deg Am = n
  11. % deg Ao = n
  12.  
  13. s = tf('s');
  14. z=tf('z',1);
  15. %Am = s^2 + 2*s + 1;
  16. Am = s^2 / 1.8^2 + 2*0.6901/1.8*s+1;
  17. Am = c2d(Am,1,'matched')
  18.  
  19. Ao = z^2;
  20.  
  21. Az = Am*Ao
  22.  
  23. syms z
  24. Az_coefs = Az.num{1}
  25. syms r1 r2 s0 s1 s2
  26. A_pol = poly2sym(A,z)
  27. B_pol = poly2sym(B,z)
  28.  
  29. % u R ubacujemo integralno djelovanje
  30. R_pol = (r2 + r1*z)*(z-1);
  31. S_pol = s2 + s1*z + s0*z^2;
  32.  
  33. lijeva_strana = flip(coeffs(A_pol*R_pol + B_pol*S_pol,z))
  34.  
  35. % rijesi diofantsku jednadzbu
  36. rjesenje = solve(lijeva_strana-Az_coefs)
  37.  
  38. r1 = rjesenje.r1
  39. r2 = rjesenje.r2
  40.  
  41. s0 = rjesenje.s0
  42. s1 = rjesenje.s1
  43. s2 = rjesenje.s2
  44.  
  45. syms z
  46. Ao = z^2;
  47. T_pol = polyval(Am.num{1},1) / polyval(B, 1) * Ao
  48.  
  49. disp 'polinom R'
  50. R = vpa(expand(eval(R_pol)),4)
  51.  
  52. disp 'polinom S'
  53. S = vpa(expand(eval(S_pol)),4)
  54.  
  55. disp 'polinom T'
  56.  
  57. T = vpa(T_pol,4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement