Here's part of problem from a college physics text:
A time-dependent force F = (8.00 i - 4.00 t j) N (where t is in seconds) is applied to a 2.00-kg object initially at rest. (a) At what time will the object be moving with a speed of 15.0 m/s?
Here's one way to solve the problem using Reduce:
{
vx == Integrate[Fx/m, {t, 0, t}],
vy == Integrate[c*t/m, {t, 0, t}],
speed^2 == vx^2 + vy^2,
c != 0, speed != 0, Fx != 0
};
Reduce[%, {t, vx, vy}];
% /. {speed -> 15, Fx -> 8, c -> -4, m -> 2}
The output is:
(t == -5 I || t == 5 I || t == -3 || t == 3) && vx == 4 t &&
vy == -((t vx)/4)
The answer given in the book is t = 3.
In the set of equations passed to Reduce
, the Fx/m
comes from Fx = m * ax
and c*t/m
comes from c*t = m * ay
. Instead of doing that manual substitution, I'd like to pass those equations to Reduce
and have it do the right thing. I.e. something like:
{
Fx == m * ax,
c*t == m * ay,
vx == Integrate[ax, {t, 0, t}],
vy == Integrate[ay, {t, 0, t}],
speed^2 == vx^2 + vy^2,
c != 0, speed != 0, Fx != 0
};
Reduce[%, {t, vx, vy}];
% /. {speed -> 15, Fx -> 8, c -> -4, m -> 2}
Of course, that doesn't work because Integrate
doesn't know that ax
and ay
are in terms of t
.
Any suggestions on how to make something like this work?