Defining parameters in a function

  • 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?

回答 (1 件)

Paulo Silva
Paulo Silva 2011 年 7 月 3 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeModeling についてさらに検索

質問済み:

2011 年 7 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by