#exercise1
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,2,1000)
y = np.square(np.sin((x-2)*np.e**(0-x ** 2)))
plt.plot(x,y)
plt.show()
#exercise2
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import leastsq, minimize
def min(b0, X, y):
b0 = np.reshape(b0, (10, 1))
return np.linalg.norm(np.dot(X, b0) - y, ord=2)
raw = 20
col = 10
X = np.random.randint(1, 4, (raw, col)).reshape(raw,col)
b = np.random.randint(-3,3,(col,1))
z = np.random.normal(0,1,raw).reshape(raw,1)
y = X.dot(b)+z
print((X.dot(b)-y).shape)
b0 = np.zeros((10, 1))
temp = minimize(min, b0, args=(X, y))
b_ = temp.x
x1 = np.linspace(0, 9, 10)
p1 = plt.scatter(x1, b, marker='o', c=(0,0,1))
p2 = plt.scatter(x1, b_, marker='x', c=(1,0,0))
plt.legend([p1, p2], ['true coefficents', 'estimated parameters'],loc = 'best')
plt.show()
#exercise3
import numpy as np
import matplotlib.pyplot as plt
import seaborn
x = np.random.normal(0,100,10000)
seaborn.kdeplot(x,shade = True)
plt.hist(x, 25, histtype = 'bar' ,facecolor=(0,1,0), alpha=1, edgecolor = 'white',normed = 1)
plt.show()