importmatplotlib.pyplotaspltimportnumpyasnpimportscipyasspfromscipy.optimizeimportleastsqXi=np.array([0,20,50,100,150,200])Yi=np.array([280,256,229,175,134,112])deffunc(p...
import matplotlib.pyplot as plt
import numpy as np
import scipy as sp
from scipy.optimize import leastsq
Xi=np.array([0,20,50,100,150,200])
Yi=np.array([280,256,229,175,134,112])
def func(p,x):
k,b=p
return k*x+b
def error(p,x,y,s):
Print(s)
return func(p,x)-y
p0=[100,2]
s="Text the number of iteration"
Para=leastsq(error,p0,args=(Xi,Yi,s))
k,b=Para[0]
print("k=",k,"b=",b)
plt.figure(figsize=(200,300))
plt.scatter(Xi,Yi,color="red",label="Sample Point",linewidth=3)
x=np.linspace(0,10,1000)
y=k*x+b
plt.plot(x,y,color="orange",label="Fitting Line",linewidth=2)
plt.legend()
plt.show()
展开