I have posted a similar question in another forum where the general consensus seems to suggest that it is not possible to symbolic solve a system of coupled second order differential equations with damping (dissipation) and driving forces.

However, I have found in many papers and books writing out analytical formula of the solutions to such coupled equations. So, it must be possible. I just do not know how.

Attached is the system I am trying to solve. Although solving this sort of equation with two masses, no damping (dissipation) and with only one driving force is simple enough, even by hand, it is impossible to do the same for a system with two different damping constants and two driving forces. I have been trying for two weeks now, but could not figure out the solution.

Of course, I could get the numeric solution, but I could not get the same result obtained from Eq. 5. So, I was wondering if someone could help me how to solve this analytically. Any solution to this problem would be of interest.

I am completely new to Mathematica, so any example worksheets on this sort of equation would be gratefully appreciated!

Coupled second order diff eqn


2 Answers 2


How about

eqns = {x1''[t] +  γ1 x1'[t] + ω^2 x1[t] - Ω^2 x2[t] == F/m Exp[-I ωs t],
  x2''[t] +  γ2 x2'[t] + ω^2 x2[t] - Ω^2 x1[t] == 0};

Substituting a forced solution

eqns2 = eqns /.(rule= {
   x1 ->  Function[t, A1 Exp[-I ωs t]],
   x2 ->  Function[t, A2 Exp[-I ωs t]]})

and solving for the amplitude

 sol= Solve[eqns2, {A1, A2}] // Flatten // FullSimplify

   {A1 -> (F (ω^2 + ωs (-ωs - I γ2)))/( m (-Ω^4 + (ω^2 + ωs(-ωs - I γ1))(ω^2 + ωs (-ωs-I γ2)))), 
    A2 -> (F Ω^2)/( m (-Ω^4 + (ω^2 + ωs (-ωs -  I γ1)) (ω^2 + ωs (-ωs - I γ2))))}

If you want to get the power,

F Exp[I ωs t] x1'[t] /. rule /. sol // FullSimplify

==> -(( I F^2 ωs  (-ω^2 + ωs (ωs + I γ2)))/( m (Ω^4 - (ω^2 + ωs (-ωs - 
          I γ1)) (ω^2 + ωs (-ωs - I γ2)))))
  • $\begingroup$ You probably want to use Exp[-I ωs t] in your solutions $\endgroup$ Commented May 2, 2014 at 19:48
  • $\begingroup$ @SimonWoods good point :-) Well let's see if OP picks on it :-) $\endgroup$
    – chris
    Commented May 2, 2014 at 19:50
  • $\begingroup$ Many thanks Chris, Simon Woods, really appreciated. Mathematica seems to work very efficiently. In Mathcad I need to write wrong codes and still could not get the analytical solution for x1(t). I have not tried in Mathematica yet, but in Mathcad a Fourier Transform did not give Eq. 5 (I enter Eq. 4 by hand as I was not able to solve it analytically). Could you please try this with Mathematica? Will it work? As I mentioned earlier, I am new to Mathematica, so it take me sometimes to figure out all the commands and syntacs. Newin $\endgroup$
    – user14097
    Commented May 3, 2014 at 13:21
  • $\begingroup$ I have added the power to my answer. $\endgroup$
    – chris
    Commented May 3, 2014 at 16:03
  • $\begingroup$ Many thanks Chris! Don't have access to the license today, but I will try soon. $\endgroup$
    – user14097
    Commented May 4, 2014 at 2:30

Another way:

ClearAll[x1, x2, t, γ1, γ2, Ω, ω, ωs, x10, x20]
eq1 = Hold[D[x1[t], {t, 2}]] + γ1 Hold[D[x1[t], t]] + ω^2 x1[t] - Ω^2 x2[t] == 
      F0/m Exp[-I ωs t];
eq2 = Hold[D[x2[t], {t, 2}]] + γ2 Hold[D[x2[t], t]] + ω^2 x2[t] - Ω^2 x1[t] == 0;
eq11 = Release[eq1 /. {x1[t] ->  N1 Exp[-I ωs t], x2[t] ->  N2 Exp[-I ωs t]}];
eq22 = Release[eq2 /. {x1[t] ->  N1 Exp[-I ωs t], x2[t] -> N2 Exp[-I ωs t]}];
sub = {N1 Exp[-I ωs t] -> x1[t], N2 Exp[-I ωs t] -> x2[t]};
Simplify@Solve[{eq11 /. sub, eq22 /. sub}, {x1[t], x2[t]}]

Mathematica graphics

Made it all Greek letters. Thanks to Halirutan's program and Simon letting me know about it.

  • $\begingroup$ @chris I know. I'd like to use Greek letters, but then when pasting here it becomes hard to read. I do not know how to paste Greek letters here as is as they becomes all \[ etc.... $\endgroup$
    – Nasser
    Commented May 2, 2014 at 19:58
  • 2
    $\begingroup$ @Nasser, you need Halirutan's awesome magic buttons $\endgroup$ Commented May 2, 2014 at 20:01
  • $\begingroup$ @SimonWoods thanks, did not know about this, will try it now to see if I can change it to use Greek letters. It will look better. $\endgroup$
    – Nasser
    Commented May 2, 2014 at 20:03
  • $\begingroup$ @SimonWoods I need it too! I typed all the greek symbols myself !@ $\endgroup$
    – chris
    Commented May 2, 2014 at 20:09
  • $\begingroup$ Many thanks Nasser! $\endgroup$
    – user14097
    Commented May 3, 2014 at 13:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.