How to plot phase plane in MATLAB?

85 Ansichten (letzte 30 Tage)
Alex
Alex am 19 Feb. 2014
Beantwortet: Elistin am 24 Okt. 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

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 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 Kommentare
Alex
Alex am 23 Feb. 2014
I wonder that why did you set A and B both are equal to 1?
Mischa Kim
Mischa Kim am 23 Feb. 2014
Had to pick some values to do the simulation.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Elistin
Elistin am 24 Okt. 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