By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,096 Members | 1,568 Online
Bytes IT Community
+ Ask a Question
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[2] - gamma *x[0]
d2 = dl*x[2] - (gamma/2.)* x[1]
d3 = -omega *x[0] - dl*x[1] - (gamma/2.)* x[2] + (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
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.