File Exchange

image thumbnail

Synchronizing metronomes

version (9.78 KB) by Guy Rouleau
The 5 pendulums, in a vectorized approach


Updated 01 Sep 2016

View License

I do not have the perfect solution, but I want to add little something in the challenge. Simulating that kind of coupled non-linear system seems to be tricky in Simulink®.
At first I thought this challenge was going to be easy, I assembled a SimMechanics model, clicked play… but the pendulums are not synchronizing, as mentioned by Parasar in his post.

Then I thought, let’s try with Simulink®. I implemented the equations provided and then face two choices:

- By default, the coupling of the equations results in an algebraic loop. I try to let the algebraic loop solver resolving the algebraic loop, and the results are similar to the ones from SiMemchanics™. It looks like the Simulink® algebraic loop solver is doing a job similar to the SimMechanics™ solver. I cannot explain the exact reason, my guess is that the algebraic loop solver removes the non-linearity that makes the pendulums synchronize in real life.

- My standard way to remove algebraic loops is to introduce a delay in the feedback path. In that case, the pendulums synchronize but the model becomes instable. The maximum sample time of the Simulink® solver must be adjusted to an appropriate value to obtain an acceptable tradeoff between synchronization and stability.

I implemented the model using a vector approach. It allows easily changing the number of pendulums and modifying the algorithm.

From what I understand, the pendulum equations are non-linear and it should not be required to add any nonlinear limits, like bump stops in a metronome.

I hope Seth will provide explanations on why no one has been able to obtain the synchronization using SimMechanics™.


Cite As

Guy Rouleau (2020). Synchronizing metronomes (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)


Updated license

Minor modifs for BSD licences

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux