How to add trajectory into a phase plane?
Show older comments
Hi, I have the code below of my function phase plane and it works fine. I want to add some trajectories into my phase plane, how am I able to do it?
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
It is my original phase plane

And I want my phase plane like this:

%
Accepted Answer
More Answers (2)
Sundas Mustafa
on 13 Mar 2015
1 vote
use Quiver command for phase portrait. educ.jmu.edu/~strawbem/Phase_how_to.pdf
Xiwen Yuan
on 5 Nov 2014
Edited: Xiwen Yuan
on 5 Nov 2014
Hey, i have another answer to replace the first function with the following
function my_phase()
IC = [1 1; 1 2;1 3;1 4];
hold on
for ii = 1:length(IC(:,1))
[~,X] = ode45(@EOM,[0 50],IC(ii,:));
u = X(:,1);
w = X(:,2);
plot(u,w,'r')
u = gradient(X(:,1));
v = gradient(X(:,2));
quiver(X(:,1),X(:,2),u,v);
end
xlabel('u')
ylabel('w')
grid
end

%
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!