我有两个函数和一组数据。这两个函数具有相同的 x 数据和相同的参数。我想通过最小二乘法获得最适合我的数据的参数。
参数为:ex,ey,ez。
X 数据为:RA、DE(如 3000 点)。
Y 数据为:dRA,dDE。
我试过这个,但我得到了一个错误的解决方案:
def residuals(p, dRA, dDE, RA, DEC):
ex,ey,ez = p
f1 = dRA-(ex*sin(DEC)*cos(RA)+ey*sin(DEC)*sin(RA)-ez*cos(DEC))
f2 = dDE-(-ex*sin(RA)+ey*cos(RA))
err = np.concatenate((f1,f2))
return err
from scipy.optimize import leastsq
p0 = [0, 0., 0.]
plsq_coord = leastsq(residuals, p0, args=(dRA, dDE, RA, DE))
print plsq_coord[0]
任何形式的帮助都会非常受欢迎