440,096 Members | 1,568 Online Need help? Post your question and get tips & solutions from a community of 440,096 IT Pros & Developers. It's quick & easy.

# fminbound

 P: n/a Hello everyone: I'm new using scipy, so I'm sorry if any of my questions are silly. I'm trying to find the maxima, absolut and local, of a function, in order to fit an exponencial curve and get de exponecial argument. My function if the soluction of a couple equations system: def derivs3(x,t,gamma,omega,dl): d1 = omega*x - gamma *x d2 = dl*x - (gamma/2.)* x d3 = -omega *x - dl*x - (gamma/2.)* x + (omega/2.) return d1,d2,d3 def solucion(a,t,gamma, omega, dl): sol=odeint(derivs3,a,t,(gamma,omega,dl)) return sol The case I'm interesting in, the soluction have the form of a sin*exp, so I want to find the function that envolves it, a exponencial function. To do this, I can find the maximas, and fit them, so I use: def g4(t1): sol2=odes.solucion((0.5,0,0),t1,0.5,5,0) return sol2[:,0] x_max = optimize.fminbound(g4,0,2) To use fminbound, I need a function that returns only a single array, so I use de g4 function. I use (0,2) as bounds. The problem I have is that the return is: x_max 1.9999959949686341 That aren't the maximas in the interval. If I change the interval: x_max = optimize.fminbound(g4,0.1,4) x_max 3.9999945129622403 And so on. I don't know what I'm doing wrong, so if everyone can help, I'm going to be really happy. May 8 '07 #1 