python - Minimize function with many parameters -
i want minimize function in order obtain parameters' value of : a,e,i,omega,om,tp.
i use "module" : docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html.
my function has 13 parameters:

i imported : from scipy.optimize import minimize. try minimize it.and error occurs:
would solve problem?
ps: started python 1 week ago may explain syntax of program, i'm willing improve myself.
from numpy import * import numpy np import scipy sp scipy.optimize import minimize import matplotlib.pyplot plt pylab import * os import chdir chdir("/users/benjaminjaillant/desktop") def chi_vlt(a,e,i,tp,omega,om,mbh,r0,vr_bh,alpha_bh,v_alp_bh,delta_bh,v_del_bh): return sum(((vr_etoile(t_vr_vlt*365*24*3600,a,e,i,tp,om,mbh,vr_bh)/1000)-vr_vlt)**2/vr_error_vlt**2) + sum(((alpha_etoile_ir(t_orbit_vlt*365*24*3600,a,e,i,tp,omega,om,mbh,alpha_bh,v_alp_bh,r0)*206264806.246)-ra_vlt)**2/ra_error_vlt**2) + sum(((delta_etoile_ir(t_orbit_vlt*365*24*3600,a,e,i,tp,omega,om,mbh,delta_bh,v_del_bh,r0)*206264806.246)-dec_vlt)**2/dec_error_vlt**2) x0 = [1.5e14,0.8,2.5,63.10e9,4,1,8.5e36,2.5e20,2000,1.3e-8,-10e-18,2e-9,1.5e-17] res = minimize(chi_vlt, x0 , method='nelder-mead',options={'xtol': 1e-4,'maxiter':50 ,'disp': true}) print res.message print res.x
i guess messing whole thing here.
your function scipy.optimize.minimize takes 2 required positional argument, fun , x0.
you need ndarray x0
in case fun chi_vlt requires 13 arguments, need pass using args=(tuple, containing, 13, items)
then able minimize fun.
Comments
Post a Comment