Plotting the solution to a system of second order differential equations
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Aleem Andrew
am 3 Apr. 2020
Kommentiert: Aleem Andrew
am 3 Apr. 2020
I am having difficulty interpreting the plots generated by the following code. Is there a way I can generate a single plot instead of four plots, for example, the plot of θ(t) vs x(t)?
ode = @fun;
t = [0 10];
ic = [pi/3; 0; 0; 0]; % [θ θ' x x']
[t,x] = ode45(ode, t, ic);
plot(t,x);
xlabel('x(t)');
ylabel('θ(t)');
function dydx = fun(t,x)
L = 0.5; g = 9.81;
dydx = zeros(4,1);
dydx(1) = x(2);
dydx(2) = (4*sin(x(1))*(5*L*cos(x(1))*x(2)^2 + 6*g))/(L*(20*cos(x(1))^2 - 23));
dydx(3) = x(4);
dydx(4) = -(5*sin(x(1))*(23*L*x(2)^2 + 24*g*cos(x(1))))/(6*(20*cos(x(1))^2 - 23));
end
The code generates four plots, only one of which satisfies the initial conditions (θ = pi/3 and x = 0) while I do not understand what the other plots represent.
0 Kommentare
Akzeptierte Antwort
Birdman
am 3 Apr. 2020
Is there a way I can generate a single plot instead of four plots, for example, the plot of θ(t) vs x(t)?
Yes you can, with the following line:
plot(t,x(:,1))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!