find all minima present in a user defined one variable function

hi, I want find all the minima of a one variable function defined by me f(x) = @(x)... inside the interval [x_l, x_r].
I searched on the net but I can't find any built in function.
Any help is appreciated.
Regards, Gianluca

2 Comments

There is no general solution to this problem, but there are solutions for certain kinds of problems. If you provide more detail, we might be able to help. Do you have the Symbolic Toolbox?
I'm searching all the minima of this function:
y = |A * (exp(1i.*ccr.*x).*(1-exp(1i.*ccr.*x).^(nzcr))./(1-exp(1i.*ccr.*x )) + exp(1i.*cv.*x ).*(1-exp(1i.*cv.*x ).^(nzv))./(1-exp(1i.*cv.*x )))|^2
to collect them in a vector min_vec. Then I reduce the least squares between min_vec and another vector, in order to find the optimal nzcr and nzv that give the minimum of my function in the right position.
ps I have the Symbolic toolbox.
Thanks

Answers (1)

It can be demonstrated without much difficulty that there is no general way to do that in any system that uses a finite representation for numbers.
sin(x*2*pi*K)) has a frequency of K cycles per integer; let K be more than the 2 to the power of the number of bits of precision used to store the numbers: by the Pigeon Hole principle more than one root will get "aliased" to the same finite number.

This question is closed.

Asked:

on 10 Jun 2011

Closed:

on 20 Aug 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!