Re: Mechanical Systems Question

*To*: mathgroup at smc.vnet.net*Subject*: [mg14874] Re: [mg14802] Mechanical Systems Question*From*: BobHanlon at aol.com*Date*: Mon, 23 Nov 1998 10:11:53 -0500*Sender*: owner-wri-mathgroup at wolfram.com

In a message dated 11/18/98 7:29:17 AM, Richard at coredump.demon.co.uk writes: >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 >decleration)? > 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)} Verifying, 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