2 つの関数と一連のデータがあります。どちらの関数も、同じ 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]
どんな種類の助けも大歓迎です