
import numpy as np
import matplotlib.pyplot as plt
from scipy import linalg
x = np.arange(0, 2.00,0.01)
y = np.sin((x-2) * np.exp(-x**2)) ** 2
plt.plot(x, y)
plt.title("f(x) = [(sin(x-2))^2]*e^(-x^2)")
plt.xlabel("X")
plt.ylabel("Y")
plt.axis([0, 2.2, 0, 1.2])
plt.show()


import numpy as np
import matplotlib.pyplot as plt
from scipy import linalg
x = np.random.rand(20, 10)
b = np.random.rand(10)
z = np.random.normal(0, 0.06, 20)
y = x.dot(b) + z
apprx_b = np.dot(np.dot(np.linalg.inv(np.dot(x.T, x)), x.T), y)
plt.plot(b, 'ro', apprx_b, 'bx')
plt.legend(["Real", "estimate"])
plt.show()


import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
z = np.random.normal(size = 12000)
n, bins, patches = plt.hist(z, bins = 25, edgecolor = 'blue', color = 'green', density = True)
plt.plot(bins, stats.norm.pdf(bins, loc = 0, scale = 1.0))
plt.text(-3, .25, r'$\mu=0.0,\ \sigma=1.0$')
plt.show()