Project

second order Ordinary Differential Equation that describes the position of the ball w r t time

Aim :

To write a program that solves the following ODE. This ODE represents the equation of motion of a simple pendulum with damping

Program coding :

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
import math

#function that returns dz/dt
def model (theta,t,b,g,l,m):
theta1= theta[0]
theta2=theta[1]
dtheta1_dt = theta2
dtheta2_dt= -(b/m)*theta2-(g/l)*math.sin(theta1)
dtheta_dt = [dtheta1_dt,dtheta2_dt]
return dtheta_dt

b=0.02
g=9.81
l=1
m=0.1

#intial condition
theta_0 = [math.pi/2,0]

#time points
t= np.linspace(0,10,150)

#solve ODE

theta= odeint(model,theta_0,t,args=(b,g,l,m))

#plot results

plt.plot(t,theta[:,0],\'b-\',Label=r\'$\\frac{theta1}{dt}=\\theta2$\')
plt.plot(t,theta[:,1],\'r--\',Label=r\'$\\frac{theta2}{dt}=-\\frac{b}{m}\\theta_2-\\frac{g}{l}sin\\theta_1$\')
plt.ylabel(\'plot\')
plt.xlabel(\'time\')
plt.show()

Result:

\"\"

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.