Joshua Elkington
Harvard College
Hacking is doing something without any prior knowledge of the skills required to do the thing. A programmer is a hacker if they promise something in a certain language or a certain framework they have no idea how to use. But through the process of hacking, the programmer will learn the language and framework. Hacking at stuff is a way to gain skills and knowledge. However, there is a big possibility that bad habits can form. So it’s important to reach out to experts if you run into trouble. Don’t be afraid to enter the unknown and hack. Its OK to break things.
Joshua Elkington
Harvard College
Joshua Elkington Harvard College
Joshua Elkington Harvard College
The Lorenz attractor is a set of chaotic solutions to the system of ordinary differential equations called the Lorenz equations. The plot of the attractor resembles a butterfly.
Python code:
#Lorenz Attractor
#http://journals.ametsoc.org/doi/abs/10.1175/1520-0469%281963%29020%3C0130%3ADNF%3E2.0.CO%3B2
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def lorenz(x, y, z, s=10, r=28, b=2.667) :
x_dot = s*(y – x)
y_dot = r*x – y – x*z
z_dot = x*y – b*z
return x_dot, y_dot, z_dot
dt = 0.01
stepCnt = 10000
#initial values
xs = np.empty((stepCnt + 1,))
ys = np.empty((stepCnt + 1,))
zs = np.empty((stepCnt + 1,))
xs[0], ys[0], zs[0] = (0., 1., 1.05)
for i in range(stepCnt) :
#ODE system
x_dot, y_dot, z_dot = lorenz(xs[i], ys[i], zs[i])
xs[i + 1] = xs[i] + (x_dot * dt)
ys[i + 1] = ys[i] + (y_dot * dt)
zs[i + 1] = zs[i] + (z_dot * dt)
fig = plt.figure()
ax = fig.gca(projection=’3d’)
ax.plot(xs, ys, zs)
ax.set_xlabel(“X Axis”)
ax.set_ylabel(“Y Axis”)
ax.set_zlabel(“Z Axis”)
ax.set_title(“Lorenz Attractor”)
plt.show()
Joshua Elkington
Harvard College
Joshua Elkington Harvard College
Courtesy A new model for random X chromosome inactivation. Starmer J, Magnuson T. Joshua Elkington Harvard College