In Problem 3.1.4 of their book Ordinary Differential Equations [1], Carrier and Pearson present the following narrative:
A mathematically minded vandal wishes to break a steam radiator away from its foundations, but finds that when he applies steadily the greatest force of which he is capable ($100$ kg) the $2$-cm displacement of the top of the radiator is only one-tenth of that required for his purposes. He finds, however, that he can apply a force $f(t)$ according to the schedule $$ f(t) = (1-\cos(\omega t)) \times 50\hbox{ kg} $$ for any of a large range of values of $\omega$. The mass of the radiator is $50$ kg and its foundation resists its movement by a force proportional to its displacement. At what frequency and for how long must he exert the force $f(t)$ if he is to succeed?
Well, the vandal clearly has to find the natural frequency of the system and then pump it at that frequency to exploit resonance, just like pumping up a swing. To solve the problem, we note that the total force on the radiator is
$$ [(1-\cos(\omega t)) - d\,] \times 50\hbox{ kg}, $$
where $d(t)$ is the distance of the radiator from its rest position in centimeters. Since $50$ kg is also conveniently the mass of the radiator, Newton's law $F=ma$ gives us the equation $$ d'' + d = 1 - \cos(\omega t) $$ for the displacement as a function of $t$. From the $d'' + d$ terms we see that the natural frequency of this system is $1$, so the vandal should do his business at frequency $\omega = 1$.
Carrier and Pearson expect an analytic solution, which is not hard to determine; the amplitude will grow linearly with $t$. But here of course we will do it with Chebfun. We solve the ODE, and then solve the equation $d=20$ to find the breakaway time:
L = chebop(@(t,d) diff(d,2) + d - (1-cos(t)),[0 50]); L.lbc = @(d) [d-2; diff(d)]; LW = 'linewidth'; d = L\0; plot(d,LW,1.6), grid on xlabel('t (secs)'), ylabel('d (cm)'), axis([0 50 -30 30]) hold on, plot([0 50],[20 20],'--r',LW,2) r = roots(d-20); breakaway_time = r(1) plot(breakaway_time,d(breakaway_time),'.r','markersize',28) title(['Breakaway time = ' num2str(breakaway_time)],'fontsize',14)
breakaway_time = 42.015895525074392
So the vandal does his damage in 42 seconds. This is a very impressive young man, but I think he could apply his talents more constructively.
By the way, how close does the vandal come to achieving the breakaway condition $d=20$ one cycle earlier? Here's the answer:
max(d{35,40})
ans = 19.126234407727370
References
- G. E. Carrier and Carl. E. Pearson, Ordinary Differential Equations, Blaisdell, 1968.