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