MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Solving Underdamped Equation of motion

  • To: mathgroup at
  • Subject: [mg6490] Re: [mg6436] Solving Underdamped Equation of motion
  • From: Dean Johnson <johnson at>
  • Date: Mon, 24 Mar 1997 21:38:43 -0500 (EST)
  • Organization: WMU
  • Sender: owner-wri-mathgroup at

Cliggio wrote:

> I am trying to solve a differential equation. The equation is the equation
> of motion for a spring and dashpot. The solution is textbook. As an
> exercise I would like to obtain the same solution using Mathematica. The
> equation is:
> x''+ 2 z w x' + w^2 x = y''
> where y'', the forcing function, is just a variable here.
> When mathematica solves it. It gives me a solution in the form of e to
> some exponent. The form I want it in is in aCosb + cSind. I used the
> ExpToTrig function but it gives me the equation in the form of Cosh and
> Sinh. In order to get the output to produce what I want, I have to tell
> Mathematica z is less than one. This corresponds to an underdamped system.
> If I enter a value of z <1 and then do the ExpToTrig function I get the
> solution I want. However it is evaluated at z = to that value and does not
> give me the general solution. Does anyone know how I can get it to produce
> the general solution for z < 1. In other words to constrain it at that set
> of values?

> The command I enter is below:
> z has been replaced with zeta, and with omega
> DSolve[{X''[t]+2* \[Zeta] *\[Omega]*  X'[t]+\[Omega]^2*X[t]==-z},X[t],t]

You are stuck with an exponential solution having arbitrary coefficients
C[1] and C[2] with this invocation of DSolve.  However, you can examine
what the trignometric solution form might be (for zeta <1) by
eliminating one of the C[i] and manipulating:

% /. Sqrt[x_^2 - 1] ->I* Sqrt[1 - x^2]
RewriteExp[% /. C[2] -> C[1]]

You will then get this answer:
            z     2 C[1] Cos[t Sqrt[1 - \[Zeta] ] \[Omega]]
{{X[t] -> -(--) + ----------------------------}}
             2              -(-t \[Zeta] \[Omega])
            \[Omega]       E

In your case, it would be better to include initial conditions in your
DSolve, and then transform the exponential forms to trig forms using
something like ExpToSin and ComplexExpand.  If these don't get to the
form you want (and I just checked; they don't) then use my RewriteExp
which addresses this situation more specifically
[].  I also have a
couple papers on the subject.

-Dean Johnson

  • Prev by Date: How can I handle Operator Algebra ?
  • Next by Date: Charting the Stock Market with Mma.
  • Previous by thread: Solving Underdamped Equation of motion
  • Next by thread: Use a nicer Format for differences