Coupled Pendulums Model

Model of two pendulums coupled by a spring

Examples

Basic Examples (2) 

Retrieve the model:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\)]
Out[1]=

The icon:

In[2]:=
ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "Icon"]
Out[2]=

Scope & Additional Elements (4) 

Available content elements:

In[3]:=
\!\(\*
TagBox[
RowBox[{"ResourceObject", "[", "\"\<Coupled Pendulums Model\>\"", "]"}],
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\)["ContentElements"]
Out[3]=

The available model types:

In[4]:=
ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "AvailableModelTypes"]
Out[4]=

The operating point:

In[5]:=
ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "OperatingPoint"]
Out[5]=

The parameters:

In[6]:=
ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "Parameters"]
Out[6]=

Visualizations (3) 

The numerical model:

In[7]:=
pend = ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\)] /. ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "Parameters"]
Out[7]=

Its state response to an initial displacement of the pendulums:

In[8]:=
sr = StateResponse[{pend, {-0.02, 0, 0.01, 0}}, 0, {t, 0, 10}]
Out[8]=

A parametric plot of each of the pendulum's position and angular velocity:

In[9]:=
Grid[{Table[
   ParametricPlot[sr[[i]], {t, 0, 10}, Sequence[
    PlotTheme -> "Web", AspectRatio -> Full, PlotRange -> All, Frame -> True, Axes -> False, ColorFunction -> (ColorData["GreenPinkTones"][#3]& )]], {i, {{1, 2}, {3, 4}}}]}, Spacings -> {3, 0}]
Out[9]=

Analysis (3) 

The system has two modes:

In[10]:=
pend = ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\)] /. ResourceData[\!\(\*
TagBox["\"\<Coupled Pendulums Model\>\"",
#& ,
BoxID -> "ResourceTag-Coupled Pendulums Model-Input",
AutoDelete->True]\), "Parameters"];
In[11]:=
es = Eigensystem[Normal[StateSpaceModel[pend]][[1]]];
ComplexListPlot[Partition[es[[1]], 2], Sequence[
 AspectRatio -> 1, AxesOrigin -> {0, 0}, PlotMarkers -> {"1", "2"}]]
Out[9]=

In the first mode the pendulums oscillate out of phase:

In[12]:=
or = OutputResponse[{pend, Total[es[[2, 1 ;; 2]]]}, 0, {t, 0, 14}];
Plot[or, {t, 0, 14}, PlotRange -> All]
Out[13]=

In the second mode the pendulums oscillate in phase:

In[14]:=
or = OutputResponse[{pend, Total[es[[2, 3 ;; 4]]]}, 0, {t, 0, 14}];
Plot[or, {t, 0, 14}, PlotRange -> All]
Out[15]=

Suba Thomas, "Coupled Pendulums Model" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

Publisher Information