How to plot phase plane in MATLAB?

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?
Had to pick some values to do the simulation.

Accedi per commentare.

Più risposte (1)

Elistin
Elistin il 24 Ott 2022

0 voti

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

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Richiesto:

il 19 Feb 2014

Risposto:

il 24 Ott 2022

Community Treasure Hunt

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

Start Hunting!

Translated by