Your code is all inside your function focaultPendulum . Inside that function, you call ode45 and tell ode45 that for each step, it should call focaultPendulum to get an answer. So it does that, and at the end of the focaultPendulum there is a call to ode45 that says call focaultPendulum to get the answer for the step. So it does that, and at the end of the focaultPendulum there is a call to ode45 that says call ....
As ode45 is always called unconditionally within focaultPendulum and it calls focaultPendulum unconditionally, this sequence only ends when MATLAB gives up because you have made too many recursions.
What you should be doing is having two routines, one of which only calculates one step, and the other of which sets up the initial conditions and calls ode45 telling it to call the other routine.