Azzera filtri
Azzera filtri

How to plot phase plane in MATLAB?

19 visualizzazioni (ultimi 30 giorni)
Alex
Alex il 19 Feb 2014
Risposto: Elistin il 24 Ott 2022
Hi I have two equations here, and I wonder that how do you plot them as a phase plane.
du/dt = wu^2 - Bu dw/dt = A - w - wu^2
and A,B both are constants

Risposta accettata

Mischa Kim
Mischa Kim il 23 Feb 2014
Alex, assuming that you are talking about a u-w (position-velocity, sort of) phase plot, here you go. Essentially, you only need to solve the differential equations and then plot the result.
function my_phase()
[~,X] = ode45(@EOM,[0 50],[1 1]);
u = X(:,1);
w = X(:,2);
plot(u,w)
xlabel('u')
ylabel('w')
grid
end
function dX = EOM(t, y)
dX = zeros(2,1);
u = y(1);
w = y(2);
A = 1;
B = 1;
dX = [w*u^2 - B*u;...
A - w - w*u^2];
end
  2 Commenti
Alex
Alex il 23 Feb 2014
I wonder that why did you set A and B both are equal to 1?
Mischa Kim
Mischa Kim il 23 Feb 2014
Had to pick some values to do the simulation.

Accedi per commentare.

Più risposte (1)

Elistin
Elistin il 24 Ott 2022
fonction ma_phase()
[~,X] = ode45(@EOM,[0 50],[1 1]);
u = X(:,1);
w = X(:,2);
parcelle(u,w)
xlabel( 'u' )
ylabel( 'w' )
la grille
fin
fonction dX = EOM(t, y)
dX = zéros(2,1);
u = y(1);
w = y(2);
A = 1 ;
B = 1 ;
dX = [w*u^2 - B*u ; ...
A - w - w*u^2] ;
fin

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by