How do I get phase section of this equation?

1 view (last 30 days)
the equation is
y=dx/dt
dy/dt=-0.05y-sin(x)+0.7 cos(wt)
w is given 0.1, 0.2, 0.3... to 1.5
I can't set any equation as both equations are contataing both variables, and I want to get the graph of x and y

Accepted Answer

Ameer Hamza
Ameer Hamza on 25 Apr 2020
Edited: Ameer Hamza on 25 Apr 2020
Try this
W = 0.1:0.1:1.5;
odefun = @(t,X,w) [X(2); -0.05*X(2)-sin(X(1))+0.7*cos(w*t)];
t = 0:0.1:10;
ic = [0;0];
X_sol = cell(1,numel(W));
for i=1:numel(W)
[~, X_sol{i}] = ode45(@(t,X) odefun(t, X, W(i)), t, ic);
end
tiledlayout('flow')
for i=1:numel(X_sol)
nexttile
plot(X_sol{i}(:,1), X_sol{i}(:,2));
xlabel('x')
ylabel('y')
title(['w = ' num2str(W(i))]);
end
The tiledlayout will work for R2019b and onward. For older versions using the following lines to plot the figure
figure;
for i=1:numel(X_sol)
subplot(4,4,i);
plot(X_sol{i}(:,1), X_sol{i}(:,2));
xlabel('x')
ylabel('y')
title(['w = ' num2str(W(i))]);
end

More Answers (0)

Categories

Find more on Graphics 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!