In [1]:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
In [8]:
data = np.array([[1,6],[2,5],[3,7],[4,10]])
x = data[:,0]
y = data[:,1]
In [14]:
plt.plot(x, y, 'ro', ms=10, clip_on=False)
plt.axis([0,5,4,11])
plt.xlabel('x', fontsize=20)
plt.ylabel('y', fontsize=20)
Out[14]:
<matplotlib.text.Text at 0x10603e160>
In [15]:
A = np.ones((4,2))
A[:,1] = x
In [24]:
c = np.linalg.solve(A.T.dot(A), A.T.dot(y))
In [29]:
t = np.linspace(0,5,100)
error = y -  (c[0] + x * c[1])
In [34]:
plt.plot(x, y, 'ro', ms=10, clip_on=False)
plt.plot(t, c[0] + t * c[1], 'b-', lw=3)
plt.axis([0,5,4,11])
plt.xlabel('x', fontsize=20)
plt.ylabel('y', fontsize=20)
Out[34]:
<matplotlib.text.Text at 0x106548908>
In [36]:
A = np.zeros((4,3))
A[:,0] = x**0
A[:,1] = x**1
A[:,2] = x**2
In [37]:
c = np.linalg.solve(A.T.dot(A), A.T.dot(y))
In [38]:
t = np.linspace(0,5,100)
error = y -  (c[0] + x * c[1])
In [39]:
plt.plot(x, y, 'ro', ms=10, clip_on=False)
plt.plot(t, c[0] + t * c[1] + t**2 * c[2], 'b-', lw=3)
plt.axis([0,5,4,11])
plt.xlabel('x', fontsize=20)
plt.ylabel('y', fontsize=20)
Out[39]:
<matplotlib.text.Text at 0x106c98898>
In [ ]: