Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. global u
  2. global mi step
  3. step = 0.01;
  4. u = input('Zvolte budiaci signal u: ');
  5. mi = input('Zvolte parameter mi: ');
  6. t0 = input('Zadajte pociatocny cas t0: ');
  7. t1 = input('Zadajte konecny cas t1: ');
  8. rTemp = roots([1 -2*mi 1]);
  9. s1 = rTemp(1,1);
  10. s2 = rTemp(2,1);
  11.  
  12. result1 = @(t,x)[x(2); mi*(1 - x(1)*x(1))*x(2) - x(1)+u];
  13. result2 = @(t,x)[x(2); -x(1)+mi*x(2)+u];
  14.  
  15. fprintf('(1) Fázový portrét pre NDS \n');
  16. fprintf('(2) Fázový portrét pre 1X_s \n');
  17. fprintf('(3) Casovy priebeh pre NDS \n');
  18. fprintf('(4) Casovy priebeh pre 1X_s \n');
  19.  
  20. in = input('Zadajte graf pre vykreslenie: ');
  21.  
  22.  
  23. %f = figure;
  24. %tab = uitabgroup(f);
  25.  
  26. %tab1 = uitab(tab, 'Title', 'Priebehy-nelinearne');
  27. %hax1 = axes('Parent', tab1);
  28.  
  29. if(in == 3)
  30.  
  31. [t,x]=ode45(result1, [t0 t1], [1 0]);
  32. [t_rk,x_rk]=rk4(result1, [0 20], [1 0], 0.01);
  33. subplot(2,1,1);
  34. plot(t, x);
  35. title('VanDerPol Nelineárny - ode45');
  36. legend('x1(t)','x2(t)');
  37. xlabel('t(s)');
  38. ylabel('x1(t) x2(t)');
  39. subplot(2,1,2);
  40. plot(t_rk, x_rk);
  41. title('VanDerPol Nelineárny - Runge Kutta');
  42. legend('x1(t)','x2(t)');
  43. xlabel('t(s)');
  44. ylabel('x1(t) x2(t)');
  45.  
  46. elseif(in == 4)
  47. %tab2 = uitab(tab, 'Title', 'Priebehy-linearne');
  48. %hax2 = axes('Parent', tab2);
  49. [t,x]=ode45(result2, [t0 t1], [1 0]);
  50. [t_rk,x_rk]=rk4(result2, [0 20], [1 0], 0.01);
  51. subplot(2,1,1);
  52. plot(t, x);
  53. title('VanDerPol Lineárny - ode45');
  54. legend('x1(t)','x2(t)');
  55. xlabel('t(s)');
  56. ylabel('x1(t) x2(t)');
  57. subplot(2,1,2);
  58. plot(t_rk, x_rk);
  59. title('VanDerPol Lineárny - Runge Kutta');
  60. legend('x1(t)','x2(t)');
  61. xlabel('t(s)');
  62. ylabel('x1(t) x2(t)');
  63.  
  64. elseif(in == 2)
  65. %tab3 = uitab(tab, 'Title', 'FP-Van Der Pol - Linearny');
  66. %hax3 = axes('Parent', tab3);
  67. fp(result2, [0 50], [-3 3], [-3 3], 10, 10);
  68. title('Van Der Pol - Linearny System');
  69. axis([-4 4 -4 4]);
  70. elseif(in == 1)
  71. %tab4 = uitab(tab, 'Title', 'FP-Van Der Pol - Nelinearny');
  72. %hax4 = axes('Parent', tab4);
  73. fp(result1, [0 50], [-3 3], [-3 3], 10, 10);
  74. title('Van Der Pol - Nelinearny System');
  75. else
  76. fprintf('Zly vstup'\n);
  77.  
  78. %Fázovy portrét
  79. % reálne císla
  80. if (isreal(s1) == 1) && (isreal(s2) == 1)
  81. % nestabilný uzol
  82. if (s1 > 0) && (s2 > 0)
  83. title('Van Der Pol - Lineárny Systém - Nestabilný uzol');
  84. end
  85.  
  86. % stabilný uzol
  87. if (s1 < 0) && (s2 < 0)
  88. title('Van Der Pol - Lineárny Systém - Stabilný uzol');
  89. end
  90.  
  91. % sedlo
  92. if (s1 < 0) && (s2 > 0)
  93. title('Van Der Pol - Lineárny Systém - Sedlo');
  94. end
  95.  
  96. % sedlo
  97. if (s1 > 0) && (s2 < 0)
  98. title('Van Der Pol - Lineárny Systém - Sedlo');
  99. end
  100. end
  101.  
  102. % komplexné cisla
  103. if (isreal(s1) == 0) && (isreal(s2) == 0)
  104. % stabilné ohnisko
  105. if (real(s1) < 0) && (real(s2) < 0)
  106. title('Van Der Pol - Lineárny Systém - Stabilné ohnisko');
  107. end
  108.  
  109. % nestabilné ohnisko
  110. if (real(s1) > 0) && (real(s2) > 0)
  111. title('Van Der Pol - Lineárny Systém - Nestabilné ohnisko');
  112. end
  113.  
  114. % stred
  115. if (real(s1) == 0) && (real(s2) == 0)
  116. title('Van Der Pol - Lineárny Systém - Stred');
  117. end
  118. end°
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement