我正在尝试将余弦平方曲线拟合到我使用来自 scipy optimise 的 curve_fit 的数据。但不幸的是,我得到了一条直线。希望有人能帮助我。
import pylab as plb
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from scipy import asarray as ar,exp
import numpy as np
x = ar(range(10))
y = ar([0,1,2,3,4,5,4,3,2,1])
def cosq(x,a,x0):
return a*(np.cos(np.pi*x*x0)**2)
popt,pcov = curve_fit(cosq,x,y,p0=[1,1])
plt.plot(x,y,'b+:',label='data')
plt.plot(x,cosq(x,*popt),'ro:',label='fit')
plt.legend()
plt.title('Blu Blah')
plt.xlabel('Blu')
plt.ylabel('Blah')
plt.show()
我得到下图,以直线拟合作为输出