FREQ = 0.713import numpy as npnp.random.seed(0)
t = np.linspace(0, 20, 2000)
x = 0.8*np.sin(2*np.pi*FREQ*t+1.2) + np.random.normal(size=len(t)) * 0.1
import pylab as pl
pl.plot(t, x)
from scipy.optimize import curve_fit
def func(t,a,b,c):
return a*np.sin(2*np.pi*b*t+c)
print curve_fit(func,t,x)[0]
感觉自己拟合函数用的没错啊 但拟合出来的数据和原始数据差了好多 求帮助 哪一步错了
t = np.linspace(0, 20, 2000)
x = 0.8*np.sin(2*np.pi*FREQ*t+1.2) + np.random.normal(size=len(t)) * 0.1
import pylab as pl
pl.plot(t, x)
from scipy.optimize import curve_fit
def func(t,a,b,c):
return a*np.sin(2*np.pi*b*t+c)
print curve_fit(func,t,x)[0]
感觉自己拟合函数用的没错啊 但拟合出来的数据和原始数据差了好多 求帮助 哪一步错了

