Defining parameters in a function

2 visualizzazioni (ultimi 30 giorni)
Frank
Frank il 3 Lug 2011
  • Hi. I want to find the minimum of a function using parameters I've defined elsewhere. i.e.
a = 2; b = 3;
[x fval] = fminbnd('a*x^2+b',1,10)
How can this be done?

Risposte (1)

Paulo Silva
Paulo Silva il 3 Lug 2011
clf
a = 2; b = 3;
fun=@(x,a,b)a*x^2+b;
[x fval] = fminbnd(@(x) fun(x,a,b),1,10)
%lets see if the values are correct
ezplot('2*x^2+3')
hold on
plot(x,fval,'r*')
text(x,fval,'\leftarrow Minimum','FontSize',18')
Be aware that the interval [1 10] for x isn't a good choice like you can see in the figure, the value you get from fminbnd isn't the minimum of the function, change the interval to [-2 2] and you get the minimum of the function.

Categorie

Scopri di più su Modeling in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by