我试图通过在fminbnd中取消我的函数的负数来找到最大值出现的x值。但是,我一直遇到错误。有人可以请更正我的语法或给出正确的语法来解决这个问题吗?这是一个例子:
>> func
func =
@(x)(x)^3+2*(x)^2
我试过
>> xmax = fminbnd('-func',1,3)
>> xmax = fminbnd('-func(x)',1,3)
>> xmax = fminbnd(-func,1,3)
和其他各种人,但我仍然得到一个错误。
由于
答案 0 :(得分:3)
尝试:
fminbnd(@(x) -func(x),1,3)
答案 1 :(得分:1)
最低:使用
fminbnd(func, 1, 3)
在此语法中,func
是function handle(正如您在示例中定义的那样)。
或者,您可以使用temporary function handle to an anonymous function直接在fminbnd
内定义该功能:
fminbnd(@(x)(x)^3+2*(x)^2, 1, 3)
对于最大值:直接在fminbnd
中定义临时函数:
fminbnd(@(x)-func(x), 1, 3)