MathGroup Archive 1998

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

Search the Archive

Re: Mechanical Systems Question

  • To: mathgroup at
  • Subject: [mg14874] Re: [mg14802] Mechanical Systems Question
  • From: BobHanlon at
  • Date: Mon, 23 Nov 1998 10:11:53 -0500
  • Sender: owner-wri-mathgroup at

In a message dated 11/18/98 7:29:17 AM, Richard at

>I am using Mechanical Systems and need help modelling motion where the
>velocity of a body is dependent on its distance from a set point.
>For example, I have a body moving in 1D which starts with a speed of 4
>m/s and is subject to a constant but unknown deceleration. The point at
>which the body comes to rest must be 25 m from the starting point.
>What is the best way to model this system (and calculate the

xv = DSolve[{v[t] == x'[t], v'[t] == -k, x[0] == 0, v[0] == v0}, {x[t],
v[t]}, t][[1]]

{x[t] -> 1/2*(-k*t^2 + 2*t*v0), v[t] -> -k*t + v0}

This is under-specified in that k is not eliminated.  However, if I add
an additional boundary condition at t = v0/k (the time to decelerate to
zero), I run into a problem

DSolve[{v[t] == x'[t], v'[t] == -k, x[0] == 0, v[0] == v0,  x[v0/k] ==
xf}, {x[t], v[t]}, t]


I can work around this as follows

decel = Solve[(x[t] /. xv /. t -> v0/k) == xf, k][[1]]

{k -> v0^2/(2*xf)}

soln = Flatten[{decel, xv /. decel}]

{k -> v0^2/(2*xf), x[t] -> 1/2*(2*t*v0 - (t^2*v0^2)/(2*xf)), 
  v[t] -> v0 - (t*v0^2)/(2*xf)}


soln /. {{t->0}, {t->2 xf/v0}} // Flatten // Union

{k -> v0^2/(2*xf), v[0] -> v0, v[(2*xf)/v0] -> 0, x[0] -> 0, 
  x[(2*xf)/v0] -> xf}

However, why doesn't DSolve handle the additional boundary condition?

Bob Hanlon

  • Prev by Date: Re: Evaluation Control
  • Next by Date: Re: Re: Exact value of Cos[Pi/17]
  • Previous by thread: Re: Mechanical Systems Question
  • Next by thread: Help_Pattern_Matching