Second Order Differential Equations
Mostrar comentarios más antiguos
I have seen all of the documentation of converting second order diffeq's to first order, but what if your equations are coupled...for instance:
y''[t] = 3x''[t] -4y[t];
x''[t] = 2y''[t] + 6x[t];
Respuestas (1)
You can rewrite that system with a constant mass matrix M. That is, the system above is equivalent to
M * d/dt[x1; x2; x3; x4] = [x2; x4; -4 x3; 6 x1]
where
M = [1 0 0 0; 0 0 1 0; 0 -3 0 1; 0 1 0 -2].
Use odeset to specify the mass matrix.
2 comentarios
Hi Community,
isn't it possible to rewrite the above differential equations, so they aren't coupled anymore in terms of the second derivative? I would do it as follows:
- Insert the 2nd eqn into the first, which gives: y''[t] = 3*(2y''[t] + 6x[t]) - 4y[t] and solve this for y''[t]:: y''[t] = -18/5 * x[t] + 4/5 y[t]
- Re-Insert this in the 2nd eqn from "Leila" above, which gives x''[t] = 2(-18/5 * x[t] + 4/5 * y[t]) + 6 * x[t] and solve for x''[t]:: x''[t] = 8/5 * y[t] - 6/5 * x[t]
- Now these two equations can be brought to State Space Representation and solved with ode45()
I tried to solve my problem this way and now I am unsure if that is even possible or do I have two use the mass matrix M in any case?
Best wishes, Helge
Torsten
el 20 de Feb. de 2015
Everything is all right with your way of solving the above system.
Best wishes
Torsten.
Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!