我有这个功能,
dn = fp(xn)+ an = Asin(2πkxn +φ)+ an
是高斯分布随机噪声,σ2= 1 p 表示自由参数值的特定选择, p = [A,k,φ]
我需要写两个函数:
(1) peval - 提供一组参数值,p和自变量的值x 并返回fp(x)和
(2) residuals - 提供参数值,数据集和自变量值数组xn并返回残差
这就是我现在所拥有的,但我不知道如何输入“an”,即高斯分布式随机噪声。这是我的猜测..
an = np.random.normal(0,1,100)
def peval(x, p):
#Evaluate the model at the points in x for model parameter values in p.
# return a numpy array containing the set of points y(x)
return p[1]*np.sin(2*(np.pi)*p[2]*x+p[3])+an
def residuals(p, y, x):
# Evaluate the function at for the particular parameter set p,
# find the and return residuals.
# p is the set of parameters
# y is the measured data set
# x is the independent variable.
return (y-peval(x,p))
我的数据看起来像这样:
0.0003 6.09073051353
0.0006 5.51270817927
0.0009 6.89123564432
0.0012 4.99645189114
0.0015 6.7032515641
0.0018 8.9916107534
提前感谢您的帮助。