我正在尝试使用fminbnd
找到函数的最大值。我使用了f(x) = x^2+2*x
这样的简单函数,所以要找到fminbnd(f,-10,10)
的最小值。要找到最大值,我只需fminbnd(-f,-10,10)
。
现在我有另外一个带有3个变量的函数,但我希望它们中的2个是常量:
f(Q,m,Fx) = (Fx^2*(m-1))/sqrt( (m*Fx^2-1)^2 + (Fx^2*(Fx^2-1)^2*(m-1)^2*Q^2) )
我目前正在使用ezplot(f(q,m,Fx), [0 8 0 3])
q
和m
常量值来绘制它。如果尝试使用fminbnd(-f(q,m,Fx),0,8)
获取最大值,则会给我一个错误。
如何找到此功能的最大值?
答案 0 :(得分:1)
您可以将函数定义为函数句柄,然后在 // click dropdown to show popup
$(".dropdown-select .select-toggle").click(function(){
if($(this).parent().find(".select-menu").hasClass("hide"))
{
$(this).parent().find(".select-menu").removeClass("hide");
$(this).parent().find(".select-menu").prev().addClass("shadow");
}
else
{
$(this).parent().find(".select-menu").addClass("hide");
$(this).parent().find(".select-menu").prev().removeClass("shadow");
}
});
和ezplot
的调用中使用匿名函数。这可以将您的问题减少到只有一个变量,因此可以适当地处理它并且不会产生任何错误。
fminbnd
给出以下结果: