fminbnd finding wrong minimum point for no reason, please help
Afficher commentaires plus anciens
f = @(x)(-(1.0/((x-0.3).^2+0.01)+1.0/((x-0.9).^2+0.04)));
x = fminbnd(f, -1, 2);
x
y=f(x);
y
x = -1:0.3:2
y = -(1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04))
plot(x,y)
here, minimum of the function should be smt between -50 and -60, but it finds -102.5014!! Why is that? please help.
Réponse acceptée
Plus de réponses (1)
Walter Roberson
le 19 Oct 2011
0 votes
As was indicated more than once in resposne to your previous question, you are trying to apply fminbnd() to a problem with multiple minima, but fminbnd() is not designed to handle such situations.
If you want to handle functions like the one above, you need a global minimizer.
Catégories
En savoir plus sur Modeling dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!