Second Order Differential Equations

1 visualizzazione (ultimi 30 giorni)
Leila
Leila il 11 Lug 2014
Commentato: Torsten il 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];

Risposte (1)

Brian B
Brian B il 11 Lug 2014
Modificato: Brian B il 11 Lug 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 Commenti
Helge
Helge il 20 Feb 2015
Modificato: Helge il 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 il 20 Feb 2015
Everything is all right with your way of solving the above system.
Best wishes
Torsten.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by