Here is my problem: In MATLAB, I am placing a ball inside of a potential energy well, I have control over what this potential energy well looks like (a parabola for example). I then drive the ball with a force function of my choice (sin(t) for example). I then look at the resulting motion of the ball over time. This is something that I can take the Fourier Transform of to determine the frequency content of the ball's motion within the well.
When I place the ball in the bottom of a parabolic potential well and drive it with sin(t), the FT reveals two peaks: one at the frequency I'm driving it, and one frequency that corresponds to the steepness of my parabola (the resonant frequency of my parabola). Even when I drive the ball with a sum of sine functions with different frequencies, I get n+1 peaks in my FT (if n is the number of distinct frequency sine functions I'm driving with). There is no harmonics and no sum frequency or difference frequency generation.
When I place the ball in the bottom of an asymmetric potential well (x^2/(x+1)) and I drive the ball with sin(t) I get all the harmonics of sin(t), all the harmonics of the resonant frequency of the potential, and all the sum and difference frequencies that can be made.
My question is: Why does jiggling a ball in an asymmetric well lead to the generation of sum and difference frequencies? I'm aware they fall out of the formula sin(a)sin(b)=1/2(cos(a-b)-cos(a+b)), but it's still unclear to me why an asymmetric potential would cause two sine waves to be 'multiplied'. I'm not looking for an explanation where the frequencies fall out of some formula, I'm really looking for a fundamental/'intuitive' explanation.