I am working on the response of vibrational energy harvesters to a very abrupt forcing function with many high-frequency components. As you can see the peaks in the attached signal are very narrow and have high-frequency components. To accurately reproduce the forcing signal, ode45 needs to take very small time steps. But limiting the time steps via "MaxStep" option makes the simulation very very slow.
Are there any alternatives ?