Solving Complex Coupled Differential Equations

11 visualizaciones (últimos 30 días)
Shivesh
Shivesh el 6 de Nov. de 2014
Comentada: Star Strider el 6 de Nov. de 2014
Hello,
My question is as follows. Say we have a set of coupled differential equations, such as
y'' = x' + y' + cos(y) and x'' = y'^2 + tan(y).
How would I go about implementing this with the regular ODE software? I understand how to solve coupled differential equations, and normal ODEs, but I've never had to deal with coupled differential equations with derivatives on both side.
Cheers

Respuesta aceptada

Star Strider
Star Strider el 6 de Nov. de 2014
These are relatively straightforward. To use the ODE solvers however, they have to use the same variable, that requires that you keep track of what is x and what is y:
couplode = @(t,y) [y(2); y(4)^2 + tan(y(3)); y(4); cos(y(3)) + y(2) + y(4)];
[t,y] = ode45(couplode, [0 0.49*pi], [1;1;1;1]*1E-8);
figure(1)
plot(t, y)
grid
str = {'$$ \dot{y} $$', '$$ y $$', '$$ \dot{x} $$', '$$ x $$'};
legend(str, 'Interpreter','latex', 'Location','NW')
produces this interesting plot:
  1 comentario
Mohammad Abouali
Mohammad Abouali el 6 de Nov. de 2014
why y and \dot{y} graph don't match? Clearly y is decreasing at some point so \dot{y} should be negative but it is always positive?!

Iniciar sesión para comentar.

Más respuestas (1)

Torsten
Torsten el 6 de Nov. de 2014
I guess the legend is wrong.
Shouldn't it read
str = {'$$ x $$', '$$ \dot{x} $$', '$$ y $$', '$$ \dot{y} $$'};
?
Best wishes
Torsten.
  1 comentario
Star Strider
Star Strider el 6 de Nov. de 2014
Correct. I reversed the legend accidentally after looking through the LaTeX documentation.

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by