Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc;
- global u mu;
- u = input('Budiaci signal (u): ');
- mu = input('Parameter mu: ');
- T = input('Pociatocny a koncovy cas [t0 t1]: ');
- PP = input('Pociatocne podmienky [* *]: ');
- 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');
- fprintf('(5) pre koniec \n');
- in = input('Zadajte graf pre vykreslenie: ');
- p = [1 -mu 1];
- roots_ = roots(p);
- while in ~= 5
- if(in == 1)
- figure('Name','Van der Polov oscilátor - Fázový portrét pre NDS');
- fp('vdp_nelin',T);
- [x1, x2] = meshgrid(-10:0.5:10, -10:0.5:10);
- x1der = x1;
- x2der = mu * (1 - x1^2) * x2 - x1 + u;
- quiver(x1, x2, x1der, x2der, 'k', 'LineWidth', 1.5)
- title('Van der Polov oscilátor - Nelinearny System', 'FontSize', 25);
- lines();
- elseif(in == 2)
- figure('Name','Van der Polov oscilátor - Fázový portrét pre 1X_s');
- fp('vdp_lin',T);
- [x1, x2] = meshgrid(-10:0.5:10, -10:0.5:10);
- x1der = x1;
- x2der = mu * (1 - x1^2) * x2 - x1 + u;
- quiver(x1, x2, x1der, x2der, 'k', 'LineWidth', 1.5)
- makeTitle(roots_(1,1),roots_(2,1));
- lines();
- elseif(in==3)
- figure('Name','Van der Polov oscilátor - casovy priebeh');
- [t,x]=ode45('vdp_nelin', T, [1 0]);
- [t_rk,x_rk]=runge_kutta(@vdp_nelin, T, [1 0]);
- makeSubPlot(t, x, t_rk, x_rk);
- elseif(in==4)
- figure('Name','Van der Polov oscilátor - casovy priebeh pre 1xs');
- [t,x]=ode45('vdp_lin', T, [1 0]);
- [t_rk,x_rk]=runge_kutta(@vdp_lin, T, [1 0]);
- makeSubPlot(t, x, t_rk, x_rk);
- else
- fprintf('Wrong input');
- end
- clc;
- 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');
- fprintf('(5) pre koniec \n');
- in = input('Zadajte graf pre vykreslenie: ');
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement