Plotting third order differential equation using ode45

2 visualizaciones (últimos 30 días)
vaibhav gupta
vaibhav gupta el 6 de Dic. de 2020
Comentada: Ameer Hamza el 7 de Dic. de 2020
Hello
Could you please how to plot below third order differential equation using ODE45.
d3x/dt3 = +-1

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 6 de Dic. de 2020
Editada: Ameer Hamza el 6 de Dic. de 2020
You need to convert this 3-rd order ODE to 3 first order ODEs. Also due to +-1, you have two systems of ODEs. Try following code
odeFun = @(t,x,a) [x(2);
x(3);
a];
tspan = [0 10];
IC = [1; 0; 0];
ode45(@(t,x) odeFun(t,x,1), tspan, IC)
hold on
ode45(@(t,x) odeFun(t,x,-1), tspan, IC)
legend({'$x$', '$\dot{x}$', '$\ddot{x}$'}, 'Interpreter', 'latex', 'FontSize', 16, ...
'Location', 'best')
  2 comentarios
vaibhav gupta
vaibhav gupta el 6 de Dic. de 2020
Editada: vaibhav gupta el 6 de Dic. de 2020
Thank you! I just wanted to plot result of first ode. How can i supress rest? Also, i see that plot is continuing and not stopping at all. Shoudln't it be stopped rendering at some point of time?
Ameer Hamza
Ameer Hamza el 7 de Dic. de 2020
Try this
odeFun = @(t,x,a) [x(2);
x(3);
a];
tspan = [0 10];
IC = [1; 0; 0];
[t, y] = ode45(@(t,x) odeFun(t,x,1), tspan, IC);
plot(t, y(:,1))
hold on
[t, y] = ode45(@(t,x) odeFun(t,x,-1), tspan, IC);
plot(t, y(:,1))
legend({'$+1$', '$-1$'}, ...
'Interpreter', 'latex', ...
'FontSize', 16, ...
'Location', 'best')

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Ordinary Differential Equations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by