Ajuste de rectas
import numpy as np
import matplotlib.pyplot as plt
from random import*
N=5
x=np.zeros(N)
y=np.zeros(N)
for i in range(0,N):
x[i]=i
y[i]=i+(-1+2*random())
plt.grid()
plt.plot(x,y,'o')

f = np.polynomial.polynomial.polyfit(x, y, 1)
ym=np.zeros(N)
for i in range(0,N):
ym[i]=np.polynomial.polynomial.polyval(i, f)
plt.grid()
plt.plot(x,y,'o')
plt.plot(x,ym,'-r')

Ajustes de polinomios de segundo orden
import numpy as np
import matplotlib.pyplot as plt
from random import*
N=10
x=np.zeros(N)
y=np.zeros(N)
for i in range(0,N):
x[i]=i
y[i]=i*i+(-(i)+2*(i)*random())
plt.grid()
plt.plot(x,y,'o')

f2 = np.polynomial.polynomial.polyfit(x, y, 2)
y2=np.zeros(N)
for i in range(0,N):
y2[i]=np.polynomial.polynomial.polyval(i, f2)
plt.grid()
plt.plot(x,y,'o')
plt.plot(x,y2,'-r')
