CS代考 RK45′

import numpy as np

Copyright By PowCoder代写 加微信 powcoder

from numpy import sin,cos,pi
import matplotlib.pyplot as plt
plt.style.use(‘fivethirtyeight’)

Homework #4¶
Problem 1¶

The pendulum bob of mass m, shown in the figure above, is suspended by an inextensible
string from the point p. This point is free to move along a straight horizontal line under
the action of the springs, each having a constant k. Assume that the mass is displaced
only slightly from the equilibrium position and released. Neglecting the mass of the
springs, show that the pendulum oscillates with a period of

$P=2\pi\sqrt{\frac{mg+2kr}{2kg}}$

use a first-order Taylor series approximation for $\sin\theta\approx\theta$ and $\cos\theta\approx 1$

Solve for $\theta(t)$ if m=0.1 kg, r=1 m, $\theta(0)$=pi/6 rad, and $\dot{\theta}(0)$=0 rad/s for

a. k=20 N/m

b. k=$\infty$ N/m

c. Plot the solutions of $\theta(t)$ for 2 periods on one figure

P=2*pi/np.sqrt(2*k*g/(2*k*l+m*g))

t=np.linspace(0,2*P);
# your work
# your new solutions, convert rad to deg with 180/pi
a_inf = t # create solution for k=infty
a_20 = t # create solution for k=20 N/m

plt.plot(t,a_inf)
plt.plot(t,a_20)
plt.xlabel(‘time (s)’)
plt.ylabel(‘angle (deg)’)

Text(0, 0.5, ‘angle (deg)’)

from scipy.linalg import *
from scipy.optimize import fsolve,root

from scipy.integrate import solve_ivp # import the ordinary differential equation integrator in Python

Problem 2¶

from IPython.display import YouTubeVideo
YouTubeVideo(‘eOvwiYRroso’)

The pendulum arm of mass m, shown in the figure above, is held in place by two springs. This point is free to move along a straight horizontal line under
the action of the springs, each having a constant k. Assume that the mass is displaced
only slightly from the equilibrium position and released. Neglecting the mass of the
springs, solve for the nonlinear equations of motion and use the solve_ivp to determine $\theta(t)$

Solve for $\theta(t)$ if m=1 kg, L=1 m, $\theta(0)$=pi/6 rad, and $\dot{\theta}(0)$=0 rad/s for

Plot the nonlinear solutions of $\theta(t)$ for 2 periods on one figure

def my_ode(t,r,):
“”” Help documentation for “my_ode”
input is time, t (s) and r=[position p (m), angle (rad), velocity p (m/s), angle velocity (rad/s)] and time
output is dr=[velocity p (m/s), angle velocity (rad/s), accel p (m/s/s), angle accel (rad/s/s)] at time, t
the ODE is defined by:

dr = f(t,r)”””
dr=np.zeros(np.size(r))
dr[0]=r[2]
dr[1]=r[3]
# your work here
# dr[2] =…
# dr[3] =…

P=2*pi/np.sqrt(2*k*g/(2*k*l+m*g))
r=solve_ivp(my_ode,[0,2*P],[0, pi/6,0,0]); # default = ‘RK45′
plt.plot(r.t,r.y[1]*180/pi,’o’,label=’nonlinear’) # <-------------- your new plot, convert rad to deg with 180/pi plt.legend(loc='center left', bbox_to_anchor=(1, 0.5)) plt.xlabel('time (s)') plt.ylabel('angle (deg)') Text(0, 0.5, 'angle (deg)') 程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com