Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
1931 views
ubuntu2004
Kernel: Python 3 (system-wide)
import numpy as np import matplotlib.pyplot as plt import math from scipy.integrate import odeint M=1 m=1 g=9.81 def Atwood(y,t,M,m,g): #theta'(t)=omega(t) #radius'(t)=Rho(t) #omega'(t)=(1/radius(t))(-g*sin(theta(t))-2(Rho(t)*omega(t)) #Rho'(t)=(1/(M+m))(m*radius(t)*(omega(t)^2)-M*g+m*g*cos(theta(t))) theta, omega, radius, Rho = y #dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)),Rho, (1/(M+m))*(m*radius*(omega^2)-M*g+m*g*(np.cos(theta)))] dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(M+m))*(m*radius*(omega**2)-M*g+m*g*(np.cos(theta)))] return dydt #y0=[theta, change in theta, radius, change in radius] y0 = [np.pi/2,0 ,1 ,0] #time points t = np.linspace(0,100,1000000) #Solving the ODE sul = odeint(Atwood, y0, t, args=(M,m,g)) plt.plot(sul[:,0], sul[:,1], 'r') plt.ylabel('Angular velocity') plt.xlabel('Angular displacement') plt.title('Fig 5.1 - Phase Plot') plt.grid() plt.show()
Image in a Jupyter notebook
import numpy as np import matplotlib.pyplot as plt import math from scipy.integrate import odeint M=6 m=1 g=9.81 def Atwood(y,t,M,m,g): #theta'(t)=omega(t) #radius'(t)=Rho(t) #omega'(t)=(1/radius(t))(-g*sin(theta(t))-2(Rho(t)*omega(t)) #Rho'(t)=(1/(M+m))(m*radius(t)*(omega(t)^2)-M*g+m*g*cos(theta(t))) theta, omega, radius, Rho = y #dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)),Rho, (1/(M+m))*(m*radius*(omega^2)-M*g+m*g*(np.cos(theta)))] dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(M+m))*(m*radius*(omega**2)-M*g+m*g*(np.cos(theta)))] return dydt #y0=[theta, change in theta, radius, change in radius] y0 = [np.pi/2,0 ,1 ,0] #time points t = np.linspace(0,100,1000000) #Solving the ODE sul = odeint(Atwood, y0, t, args=(M,m,g)) plt.plot(sul[:,0], sul[:,1], 'r') plt.ylabel('Angular velocity') plt.xlabel('Angular displacement') plt.title('Fig 5.2 - Phase Plot') plt.grid() plt.show()
Image in a Jupyter notebook
import numpy as np import matplotlib.pyplot as plt import math from scipy.integrate import odeint M=19 m=1 g=9.81 def Atwood(y,t,M,m,g): #theta'(t)=omega(t) #radius'(t)=Rho(t) #omega'(t)=(1/radius(t))(-g*sin(theta(t))-2(Rho(t)*omega(t)) #Rho'(t)=(1/(M+m))(m*radius(t)*(omega(t)^2)-M*g+m*g*cos(theta(t))) theta, omega, radius, Rho = y #dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)),Rho, (1/(M+m))*(m*radius*(omega^2)-M*g+m*g*(np.cos(theta)))] dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(M+m))*(m*radius*(omega**2)-M*g+m*g*(np.cos(theta)))] return dydt #y0=[theta, change in theta, radius, change in radius] y0 = [np.pi/2,0 ,1 ,0] #time points t = np.linspace(0,10,10000) #Solving the ODE sul = odeint(Atwood, y0, t, args=(M,m,g)) plt.plot(sul[:,0], sul[:,1], 'r') plt.ylabel('Angular velocity') plt.xlabel('Angular displacement') plt.title('Fig 5.3 - Phase Plot') plt.grid() plt.show()
Image in a Jupyter notebook
import numpy as np import matplotlib.pyplot as plt import math from scipy.integrate import odeint M=9 m=1 g=9.81 def Atwood(y,t,M,m,g): theta, omega, radius, Rho = y dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(M+m))*(m*radius*(omega**2)-M*g+m*g*(np.cos(theta)))] return dydt A=12 a=1 g=9.81 def Chaotic(y,t,A,a,g): theta, omega, radius, Rho = y dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(A+a))*(a*radius*(omega**2)-A*g+a*g*(np.cos(theta)))] return dydt B=14 b=1 g=9.81 def Chaotic2(y,t,B,b,g): theta, omega, radius, Rho = y dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(B+b))*(a*radius*(omega**2)-B*g+b*g*(np.cos(theta)))] return dydt y0 = [np.pi/2 ,0 ,1 ,0] t = np.linspace(0,100,1000000) sul = odeint(Atwood, y0, t, args=(M,m,g)) chaos=odeint(Chaotic, y0, t, args=(A,a,g)) chaos2=odeint(Chaotic2, y0, t, args=(B,b,g)) plt.plot(sul[:,0], sul[:,1],'g') plt.plot(chaos[:,0],chaos[:,1],'b') plt.plot(chaos2[:,0],chaos2[:,1],'y') plt.ylabel('Angular velocity') plt.xlabel('Angular displacement') plt.title('Fig 5.5 - Phase Plot of different systems showing Chaotic Motion') plt.grid() plt.show()
Image in a Jupyter notebook
import numpy as np import matplotlib.pyplot as plt import math from scipy.integrate import odeint M=2.4 m=1 g=9.81 def Atwood(y,t,M,m,g): theta, omega, radius, Rho = y #dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)),Rho, (1/(M+m))*(m*radius*(omega^2)-M*g+m*g*(np.cos(theta)))] dydt = [omega, (1/radius)*(-g*(np.sin(theta))-2*(Rho*omega)), Rho, (1/(M+m))*(m*radius*(omega**2)-M*g+m*g*(np.cos(theta)))] return dydt #y0=[theta, change in theta, radius, change in radius] y0 = [np.pi/2,0 ,1,0] #time points t = np.linspace(0,100,1000000) #Solving the ODE sul = odeint(Atwood, y0, t, args=(M,m,g)) plt.plot(sul[:,0], sul[:,1], 'r') plt.ylabel('Angular velocity') plt.xlabel('Angular displacement') plt.title('Fig 5.1 - Phase Plot') plt.grid() plt.show()
Image in a Jupyter notebook