Second Order Differential Equations

3 views (last 30 days)
Leila
Leila on 11 Jul 2014
Commented: Torsten on 20 Feb 2015
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];

Answers (1)

Brian B
Brian B on 11 Jul 2014
Edited: Brian B on 11 Jul 2014
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 Comments
Helge
Helge on 20 Feb 2015
Edited: Helge on 20 Feb 2015
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:
  1. 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]
  2. 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]
  3. 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
Torsten on 20 Feb 2015
Everything is all right with your way of solving the above system.
Best wishes
Torsten.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!