Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global u
- global mi step
- step = 0.01;
- u = input('Zvolte budiaci signal u: ');
- mi = input('Zvolte parameter mi: ');
- t0 = input('Zadajte pociatocny cas t0: ');
- t1 = input('Zadajte konecny cas t1: ');
- rTemp = roots([1 -2*mi 1]);
- s1 = rTemp(1,1);
- s2 = rTemp(2,1);
- result1 = @(t,x)[x(2); mi*(1 - x(1)*x(1))*x(2) - x(1)+u];
- result2 = @(t,x)[x(2); -x(1)+mi*x(2)+u];
- fprintf('(1) Fázový portrét pre NDS \n');
- fprintf('(2) Fázový portrét pre 1X_s \n');
- fprintf('(3) Casovy priebeh pre NDS \n');
- fprintf('(4) Casovy priebeh pre 1X_s \n');
- in = input('Zadajte graf pre vykreslenie: ');
- %f = figure;
- %tab = uitabgroup(f);
- %tab1 = uitab(tab, 'Title', 'Priebehy-nelinearne');
- %hax1 = axes('Parent', tab1);
- if(in == 3)
- [t,x]=ode45(result1, [t0 t1], [1 0]);
- [t_rk,x_rk]=rk4(result1, [0 20], [1 0], 0.01);
- subplot(2,1,1);
- plot(t, x);
- title('VanDerPol Nelineárny - ode45');
- legend('x1(t)','x2(t)');
- xlabel('t(s)');
- ylabel('x1(t) x2(t)');
- subplot(2,1,2);
- plot(t_rk, x_rk);
- title('VanDerPol Nelineárny - Runge Kutta');
- legend('x1(t)','x2(t)');
- xlabel('t(s)');
- ylabel('x1(t) x2(t)');
- elseif(in == 4)
- %tab2 = uitab(tab, 'Title', 'Priebehy-linearne');
- %hax2 = axes('Parent', tab2);
- [t,x]=ode45(result2, [t0 t1], [1 0]);
- [t_rk,x_rk]=rk4(result2, [0 20], [1 0], 0.01);
- subplot(2,1,1);
- plot(t, x);
- title('VanDerPol Lineárny - ode45');
- legend('x1(t)','x2(t)');
- xlabel('t(s)');
- ylabel('x1(t) x2(t)');
- subplot(2,1,2);
- plot(t_rk, x_rk);
- title('VanDerPol Lineárny - Runge Kutta');
- legend('x1(t)','x2(t)');
- xlabel('t(s)');
- ylabel('x1(t) x2(t)');
- elseif(in == 2)
- %tab3 = uitab(tab, 'Title', 'FP-Van Der Pol - Linearny');
- %hax3 = axes('Parent', tab3);
- fp(result2, [0 50], [-3 3], [-3 3], 10, 10);
- title('Van Der Pol - Linearny System');
- axis([-4 4 -4 4]);
- elseif(in == 1)
- %tab4 = uitab(tab, 'Title', 'FP-Van Der Pol - Nelinearny');
- %hax4 = axes('Parent', tab4);
- fp(result1, [0 50], [-3 3], [-3 3], 10, 10);
- title('Van Der Pol - Nelinearny System');
- else
- fprintf('Zly vstup'\n);
- %Fázovy portrét
- % reálne císla
- if (isreal(s1) == 1) && (isreal(s2) == 1)
- % nestabilný uzol
- if (s1 > 0) && (s2 > 0)
- title('Van Der Pol - Lineárny Systém - Nestabilný uzol');
- end
- % stabilný uzol
- if (s1 < 0) && (s2 < 0)
- title('Van Der Pol - Lineárny Systém - Stabilný uzol');
- end
- % sedlo
- if (s1 < 0) && (s2 > 0)
- title('Van Der Pol - Lineárny Systém - Sedlo');
- end
- % sedlo
- if (s1 > 0) && (s2 < 0)
- title('Van Der Pol - Lineárny Systém - Sedlo');
- end
- end
- % komplexné cisla
- if (isreal(s1) == 0) && (isreal(s2) == 0)
- % stabilné ohnisko
- if (real(s1) < 0) && (real(s2) < 0)
- title('Van Der Pol - Lineárny Systém - Stabilné ohnisko');
- end
- % nestabilné ohnisko
- if (real(s1) > 0) && (real(s2) > 0)
- title('Van Der Pol - Lineárny Systém - Nestabilné ohnisko');
- end
- % stred
- if (real(s1) == 0) && (real(s2) == 0)
- title('Van Der Pol - Lineárny Systém - Stred');
- end
- end°
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement