Lagrangian Mechanics of a Triple Pendulum System

Educational Live Script applying Lagrangian mechanics to a system of physical pendulums to simulate quasi-periodic and chaotic motion.
7 Downloads
Updated 6 Nov 2025

View License

A double pendulum (one simple pendulum suspended from another) is well-known to exhibit quasiperiodic small-angle motions and chaotic large-angle motions. This educational Live script explores Lagrangian mechanics with a triple physical pendulum that exhibits chaotic motion. Variable parameters include a length scale, mass, and a moment of inertia per unit mass for each pendulum. Two visualization options are provided - equilateral triangles and, for fun, a hoop, cross-shape, and arrow, the components of symbols for Mars and Venus.
Symbolic methods are used to construct the Lagrangian and Euler equations of motion and to reduce the equations to a linear system for small-angle oscillations about equilibrium. The normal modes are found and illustrated. Numerical methods are employed to simulate and visualize large-angle motions and a suite of metrics is applied to classify these motions as periodic, quasi-periodic, or chaotic.
This Live Script may interest students and instructors of physics and requires familiarity with intermediate-level mechanics. The symbolic Lagrangian methods may be applied to similar systems. 'Try this' suggestions, coding 'Challenges' , hyperlinks, and references are included for exploration. Additional educational Live Scripts by the author are available here..

Cite As

Duncan Carlsmith (2025). Lagrangian Mechanics of a Triple Pendulum System (https://uk.mathworks.com/matlabcentral/fileexchange/182489-lagrangian-mechanics-of-a-triple-pendulum-system), MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0