#!/usr/bin/env python # coding: utf-8 # In[1]: from resonance.linear_systems import SimplePendulumSystem # In[2]: sys = SimplePendulumSystem() # In[3]: sys.constants # In[4]: sys.coordinates # In[5]: sys.speeds # In[6]: sys.coordinates['angle'] # In[7]: sys.constants['pendulum_mass'] = 1.0 # kg sys.constants['pendulum_length'] = 1.0 # m sys.constants['acc_due_to_gravity'] = 9.81 # m/s**2 # In[8]: import numpy as np # In[9]: sys.coordinates['angle'] = np.deg2rad(10.0) # In[10]: sys.constants # In[11]: sys.coordinates # In[12]: def calc_x(pendulum_length, angle): return pendulum_length * np.sin(angle) # In[13]: def calc_y(pendulum_length, angle): return pendulum_length * np.cos(angle) # In[14]: sys.measurements # In[15]: sys.add_measurement('x', calc_x) # In[16]: sys.measurements # In[17]: sys.add_measurement('y', calc_y) # In[18]: sys.measurements # In[19]: sys.measurements['x'] # In[20]: sys.coordinates['angle'] = np.deg2rad(20.0) # In[21]: sys.measurements # In[22]: traj = sys.free_response(2.0) # In[23]: traj # In[24]: get_ipython().run_line_magic('matplotlib', 'widget') traj.plot(subplots=True) # In[25]: get_ipython().run_line_magic('pinfo', 'sys.free_response') # In[ ]: